Detecting Software Theft in Embedded Systems: A Side-Channel Approach

Georg T. Becker, Daehyun Strobel, Christof Paar, Wayne Burleson
2012 IEEE Transactions on Information Forensics and Security  
Source code plagiarism has become a serious problem for the industry. Although there exist many software solutions for comparing source codes, they are often not practical in the embedded environment. Today's microcontrollers have frequently implemented a memory read protection that prevents a verifier from reading out the necessary source code. In this paper, we present three verification methods to detect software plagiarism in embedded software without knowing the implemented source code.
more » ... three approaches make use of side-channel information that is obtained during the execution of the suspicious code. The first method is passive, i.e., no previous modification of the original code is required. It determines the Hamming weights of the executed instructions of the suspicious device and uses string matching algorithms for comparisons with a reference implementation. In contrast, the second method inserts additional code fragments as a watermark that can be identified in the power consumption of the executed source code. As a third method, we present how this watermark can be extended by using a signature that serves as a proof-ofownership. We show that particularly the last two approaches are very robust against code-transformation attacks.
doi:10.1109/tifs.2012.2191964 fatcat:koo26zx5hnbgdmguwhmnxpgeg4