Visible to the public Reactive Attestation: Automatic Detection and Reaction to Software Tampering Attacks

TitleReactive Attestation: Automatic Detection and Reaction to Software Tampering Attacks
Publication TypeConference Paper
Year of Publication2016
AuthorsViticchié, Alessio, Basile, Cataldo, Avancini, Andrea, Ceccato, Mariano, Abrath, Bert, Coppens, Bart
Conference NameProceedings of the 2016 ACM Workshop on Software PROtection
PublisherACM
Conference LocationNew York, NY, USA
ISBN Number978-1-4503-4576-7
Keywordsanti-tampering, attestation, code splitting, Metrics, pubcrawl, remote attestation, Resiliency, software attestation, software security, tamper detection, tamper reaction
Abstract

Anti-tampering is a form of software protection conceived to detect and avoid the execution of tampered programs. Tamper detection assesses programs' integrity with load or execution-time checks. Avoidance reacts to tampered programs by stopping or rendering them unusable. General purpose reactions (such as halting the execution) stand out like a lighthouse in the code and are quite easy to defeat by an attacker. More sophisticated reactions, which degrade the user experience or the quality of service, are less easy to locate and remove but are too tangled with the program's business logic, and are thus difficult to automate by a general purpose protection tool. In the present paper, we propose a novel approach to anti-tampering that (i) fully automatically applies to a target program, (ii) uses Remote Attestation for detection purposes and (iii) adopts a server-side reaction that is difficult to block by an attacker. By means of Client/Server Code Splitting, a crucial part of the program is removed from the client and executed on a remote trusted server in sync with the client. If a client program provides evidences of its integrity, the part moved to the server is executed. Otherwise, a server-side reaction logic may (temporarily or definitely) decide to stop serving it. Therefore, a tampered client application can not continue its execution. We assessed our automatic protection tool on a case study Android application. Experimental results show that all the original and tampered executions are correctly detected, reactions are promptly applied, and execution overhead is on an acceptable level.

URLhttp://doi.acm.org/10.1145/2995306.2995315
DOI10.1145/2995306.2995315
Citation Keyviticchie_reactive_2016