skip to main content
10.1145/3240765.3240821guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
research-article

LiteHAX: Lightweight Hardware-Assisted Attestation of Program Execution

Published:05 November 2018Publication History

ABSTRACT

Unlike traditional processors, embedded Internet of Things (IoT) devices lack resources to incorporate protection against modern sophisticated attacks resulting in critical consequences. Remote attestation (RA) is a security service to establish trust in the integrity of a remote device. While conventional RA is static and limited to detecting malicious modification to software binaries at load-time, recent research has made progress towards runtime attestation, such as attesting the control flow of an executing program. However, existing control-flow attestation schemes are inefficient and vulnerable to sophisticated data-oriented programming (DOP) attacks subvert these schemes and keep the control flow of the code intact. In this paper, we present LiteHAX, an efficient hardware-assisted remote attestation scheme for RISC-based embedded devices that enables detecting both control-flow attacks as well as DOP attacks. LiteHAX continuously tracks both the control-flow and data-flow events of a program executing on a remote device and reports them to a trusted verifying party. We implemented and evaluated LiteHAX on a RISC-V System-on-Chip (SoC) and show that it has minimal performance and area overhead.

References

  1. [1].Abadi M. et al. Control-Flow Integrity: Principles, Implementations, and Applications. ACM TISSEC, 2009.Google ScholarGoogle Scholar
  2. [2].Abera T. et al. C-FLAT: Control-Flow Attestation for Embedded Systems Software. In ACM CCS, 2016.Google ScholarGoogle Scholar
  3. [3].Ambrosin M. et al. SANA: Secure and Scalable Aggregate Network Attestation. In ACM CCS, 2016.Google ScholarGoogle Scholar
  4. [4].Asokan N. et al. SEDA: Scalable Embedded Device Attestation. In ACM CCS, 2015.Google ScholarGoogle Scholar
  5. [5].Bhatkar S. et al. Data Space Randomization. In DIMVA, 2008.Google ScholarGoogle Scholar
  6. [6].Cadar C. et al. Data Randomization. Technical report, 2008.Google ScholarGoogle Scholar
  7. [7].Castro M. et al. Securing Software by Enforcing Data-flow Integrity. In OSDI, 2006.Google ScholarGoogle Scholar
  8. [8].Chen S. et al. Non-Control-Data Attacks Are Realistic Threats. In USENIX, 2005.Google ScholarGoogle Scholar
  9. [9].Cohen F.B.. Operating System Protection through Program Evolution. Computer & Security, 1993.Google ScholarGoogle Scholar
  10. [10].Dessouky G. et al. LO-FAT: Low-Overhead Control Flow ATtestation in Hardware. In DAC, 2017.Google ScholarGoogle Scholar
  11. [11].Devietti J. et al. Hardbound: Architectural Support for Spatial Safety of the C Programming Language. In ASPLOS, 2008.Google ScholarGoogle Scholar
  12. [12].Eldefrawy K. et al. SMART: Secure and Minimal Architecture for (Establishing a Dynamic) Root of Trust. In NDSS, 2012.Google ScholarGoogle Scholar
  13. [13]. H. et al. Data-Oriented Programming: On the Expressiveness of Non-Control Data Attacks. In IEEE S&P, 2016.Google ScholarGoogle Scholar
  14. [14].Evans C.. Advancing exploitation: a scriptless Oday exploit against linux desktops, 2016.Google ScholarGoogle Scholar
  15. [15].Gardner R. et al. Detecting Code Alteration by Creating a Temporary Memory Bottleneck. IEEE TIFS, 2009.Google ScholarGoogle Scholar
  16. [16].Hewlett-Packard. Data Execution Prevention, 2006.Google ScholarGoogle Scholar
  17. [17].Hovav S. et al. On the Effectiveness of Address-space Randomization. In ACM CCS, 2004.Google ScholarGoogle Scholar
  18. [18].Intel. Control-flow Enforcement Technology Preview, 2016.Google ScholarGoogle Scholar
  19. [19].Koeberl P. et al. TrustLite: A Security Architecture for Tiny Embedded Devices. In EuroSys, 2014.Google ScholarGoogle Scholar
  20. [20].Kornau T.. Return Oriented Programming for the ARM Architecture. Master's thesis, Ruhr-University Bochum, 2009.Google ScholarGoogle Scholar
  21. [21].Kovah X. et al. New Results for Timing-Based Attestation. In IEEE S&P, 2012.Google ScholarGoogle Scholar
  22. [22].Kuznetsov V. et al. Code-pointer Integrity. In OSDI, 2014.Google ScholarGoogle Scholar
  23. [23].Larsen P. et al. SoK: Automated Software Diversity. In IEEE S&P, 2014.Google ScholarGoogle Scholar
  24. [24].Li Y. et al. VIPER: Verifying the Integrity of Peripherals' Firmware. In ACM CCS, 2011.Google ScholarGoogle Scholar
  25. [25].Nagarakatte S. et al. SoftBound: Highly Compatible and Complete Spatial Memory Safety for C. In PLDI, 2009.Google ScholarGoogle Scholar
  26. [26].Nyman T. et al. HardScope: Thwarting DOP with Hardware-assisted Run-time Scope Enforcement. CoRR, 2017.Google ScholarGoogle Scholar
  27. [27].Seshadri A. et al. SWATT: Software-based Attestation for Embedded Devices. In IEEE S&P, 2004.Google ScholarGoogle Scholar
  28. [28].Shacham H.. The Geometry of Innocent Flesh on the Bone: Return-into-libc Without Function Calls (on the x86). In ACM CCS, 2007.Google ScholarGoogle Scholar
  29. [29].Song C. et al. HDFI: Hardware-Assisted Data-Flow Isolation. In IEEE S & P, 2016.Google ScholarGoogle Scholar
  30. [30].Szekeres L. el al. SoK: Eternal War in Memory. In IEEE S& P, 2013.Google ScholarGoogle Scholar
  31. [31].Trusted Computing Group (TCG). Website. http://www.trustedcomputinggroup.org, 2015.Google ScholarGoogle Scholar
  32. [32].Wurster G. et al. A Generic Attack on Checksumming-based Software Tamper Resistance. In IEEE S&P, 2005.Google ScholarGoogle Scholar
  33. [33].Zeitouni S. et al. ATRIUM: Runtime Attestation Resilient Under Memory Attacks. In ICCAD, 2017.Google ScholarGoogle Scholar

Index Terms

  1. LiteHAX: Lightweight Hardware-Assisted Attestation of Program Execution
        Index terms have been assigned to the content through auto-classification.

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in
        • Published in

          cover image Guide Proceedings
          2018 IEEE/ACM International Conference on Computer-Aided Design (ICCAD)
          Nov 2018
          939 pages

          Copyright © 2018

          Publisher

          IEEE Press

          Publication History

          • Published: 5 November 2018

          Permissions

          Request permissions about this article.

          Request Permissions

          Qualifiers

          • research-article