Publications

Publications

Type of Publication: Article in Collected Edition

C-FLAT: Control-Flow Attestation for Embedded Systems Software

Author(s):
Abera, Tigist; Asokan, Nadarajah; Davi, Lucas; Ekberg, Jan-Erik; Nyman, Thomas; Paverd, Andrew; Sadeghi, Ahmad-Reza; Tsudik, Gene
Title of Anthology:
Proc. of 23rd ACM Conference on Computer and Communications Security (CCS)
Publication Date:
2016
Digital Object Identifier (DOI):
doi:10.1145/2976749.2978358
Link to complete version:
https://dl.acm.org/authorize?N28655
Citation:
LABEL-FOR-eidrisexport

Abstract

Remote attestation is a crucial security service particularly relevant to increasingly popular IoT (and other embedded) devices. It allows a trusted party (verifier) to learn the state of a remote, and potentially malware-infected, device (prover). Most existing approaches are static in nature and only check whether benign software is initially loaded on the prover. However, they are vulnerable to runtime attacks that hijack the application's control or data flow, e.g., via return-oriented programming or data-oriented exploits. As a concrete step towards more comprehensive runtime remote attestation, we present the design and implementation of Control-FLow ATtestation (C-FLAT) that enables remote attestation of an application's control-flow path, without requiring the source code. We describe a full prototype implementation of C-FLAT on Raspberry Pi using its ARM TrustZone hardware security extensions. We evaluate C-FLAT's performance using a real-world embedded (cyber-physical) application, and demonstrate its efficacy against control-flow hijacking attacks.