journal article·2021Open access

SAPEM: Secure Attestation of Program Execution and Program Memory for IoT Applications

Nafisa Ahmed, Manar Abu Talib, Qassim Nasir

Computers, Materials & Continua· Volume 67· Issue 1

Abstract

Security is one of the major challenges that devices connected to the Internet of Things (IoT) face today. Remote attestation is used to measure these devices’ trustworthiness on the network by measuring the device platform’s integrity. Several software-based attestation mechanisms have been proposed, but none of them can detect runtime attacks. Although some researchers have attempted to tackle these attacks, the proposed techniques require additional secured hardware parts to be integrated with the attested devices to achieve their aim. These solutions are expensive and not suitable in many cases. This paper proposes a dual attestation process, SAPEM, with two phases: static and dynamic. The static attestation phase examines the program memory of the attested device. The dynamic program flow attestation examines the execution correctness of the application code. It can detect code injection and runtime attacks that hijack the control-flow, including data attacks that affect the program control-flow. The main aim is to minimize attestation overhead while maintaining our ability to detect the specified attacks. We validated SAPEM by implementing it on Raspberry Pi using its TrustZone extension. We attested it against the specified attacks and compared its performance with the related work in the literature. The results show that SAPEM significantly minimizes performance overhead while reliably detecting runtime attacks at the binary level.
Source: openalex_inverted_index · Quality: baseline

Research context

OpenAlex topics: Security and Verification in Computing · Advanced Malware Detection Techniques · Physical Unclonable Functions (PUFs) and Hardware Security

SciVX discovery tags are terminology-based. OpenAlex topics are source-provided classifications.

References (64)

Show source-provided references
1. Iot security & privacy: Threats and challenges
2. Things, trouble, trust: On building trust in IoT systems
3. Attestation in wireless sensor networks: A survey10.1145/2988546 ↗
4. DARPA: Device attestation resilient to physical attacks
5. Towards a low-cost remote memory attestation for the smart grid10.3390/s150820799 ↗
6. TPM-based remote attestation for Wireless Sensor Networks10.1109/TST.2016.7488742 ↗
7. A security framework for the analysis and design of software attestation
8. On the difficulty of software-based attestation of embedded devices
9. Practical analysis framework for software-based attestation scheme
10. D. Ray, “Defining and preventing code-injection attacks,” M.S. thesis, Department of Computer Science and Engineering, University of South Florida, Tampa, Florida, 2013.
11. Survey of return-oriented programming defense mechanisms10.1002/sec.1406 ↗
12. Jump-oriented programming: A new class of code-reuse attack
13. Non-control-data attacks are realistic threats
14. Data-oriented programming: On the expressiveness of non-control data attacks
15. AAoT: Lightweight attestation and authentication of low-resource things in IoT and CPS10.1016/j.comnet.2018.01.039 ↗
16. Fast encryption and authentication in a single cryptographic primitive
17. BLAKE2: Simpler, smaller, fast as MD5
18. A. Holdings, “ARM cortex-a series programmer’s guide for ARMv8-A-15.2–-dynamic voltage and frequency scaling,” 2015. [Online]. Available: https://developer.arm.com/documentation/den0024/a/preface.
19. Open-TEE–-An open virtual trusted execution environment
20. SWATT: Software-based attestation for embedded devices
21. Soft tamper-proofing via program integrity verification in wireless sensor networks10.1109/TMC.2005.44 ↗
22. Proactive code verification protocol in wireless sensor network
23. Software-based remote code attestation in wireless sensor network
24. Shaneck · European Workshop on Security in Ad-hoc and Sensor Networks · 2005 · 27
25. Short paper: Lightweight remote attestation using physical functions
26. Distributed software-based attestation for node compromise detection in sensor networks
27. Lightweight attestation scheme for wireless sensor network10.14257/ijsia.2014.8.2.03 ↗
28. A practical attestation protocol for autonomous embedded systems
29. A. Visintin, F. Toffalini, M. Conti and J. Zhou, “SAFEd: Self-attestation for networks of heterogeneous embedded devices. arXiv preprint arXiv: 1909.08168,2019.
30. New results for timing-based attestation
31. A remote attestation protocol with Trusted Platform Modules (TPMs) in wireless sensor networks10.1002/sec.1162 ↗
32. An execution infrastructure
33. TrustVisor: Efficient TCB reduction and attestation
34. TyTAN: Tiny trust anchor for tiny devices
35. Eldefrawy · Ndss · 2012 · 1
36. SANA: Secure and scalable aggregate network attestation
37. Toward secure and efficient attestation for highly dynamic swarms: Poster
38. OMAP: One-way memory attestation protocol for smart meters
39. VRASED: A verified hardware/software co-design for remote attestation
40. SIMPLE: A remote attestation approach for resource-constrained IoT devices
41. SCUBA: Secure code update by attestation in sensor networks
42. SAKE: Software attestation for key establishment in sensor networks10.1016/j.adhoc.2010.08.011 ↗
43. DataGuard: Dynamic data attestation in wireless sensor networks
44. Semantic remote attestation: A virtual machine directed approach to trusted computing
45. S. K. Nair, “Remote policy enforcement using java virtual machine,” Ph.D. thesis, VU University Amsterdam, 2010.
46. Remote attestation to dynamic system properties: Towards providing complete system integrity evidence
47. Dynamic integrity measurement and attestation: Towards defense against return-oriented programming attacks
48. Control behavior integrity for distributed cyber-physical systems
49. Orpheus: Enforcing cyber-physical execution semantics to defend against data-oriented attacks
50. C-FLAT: Control-flow attestation for embedded systems software
51. Program-flow attestation of IoT systems software
52. DO-RA: Data-oriented runtime attestation for IoT devices10.1016/j.cose.2020.101945 ↗
53. DIAT: Data integrity attestation for resilient collaboration of autonomous systems
54. Lo-fat: Low-overhead control flow attestation in hardware
55. Software and Control Flow Integrity Architecture Design
56. Litehax: Lightweight hardware-assisted attestation of program execution
57. Atrium: Runtime attestation resilient under memory attacks
58. Sok: Eternal war in memory
59. Code-pointer integrity
60. Almakhdhub · 2020
61. Enforcing forward-edge control-flow integrity in GCC & LLVM
62. Control flow integrity for COTS binaries
63. Enforcing unique code target property for control-flow integrity
64. SoK: Automated software diversity