Malicious modification of software continues to raise concerns; thus, many countermeasures against these threats have been proposed such as obfuscation and tamper resistance techniques that can be combined to create tamper-resistant software. The methods for responding to tampering are an important consideration in tamper-resistant software design. Many tamper response mechanisms deliberately cause the application to crash; however, this response has negative impacts on the developers and users. An alternative approach is to detect and fix malicious changes. However, this approach cannot deter an attacker from attempting to continuously modify target software. This study presents robust tamper-resistant software techniques to mitigate tampering and reverse engineering attacks. The tamper-resistant software is based on an existing control flow flattening scheme and includes extensions for tamper detection and flexibility. Furthermore, the authors introduce a dynamic key in their two-stage tamper response scheme that considers both software stability and continuous attack. When tampering is detected, the proposed two-stage tamper response first produces a warning level response such as self-healing or programme termination. Next, if an attacker continuously attempts to bypass the warning level response, a self-destructive tamper response is triggered, as the result of an incorrectly computed dynamic key.
ASJC Scopus subject areas
- Computer Graphics and Computer-Aided Design