skip to main content
10.1145/2593069.2596656acmotherconferencesArticle/Chapter ViewAbstractPublication PagesdacConference Proceedingsconference-collections
research-article

Hardware-Assisted Fine-Grained Control-Flow Integrity: Towards Efficient Protection of Embedded Systems Against Software Exploitation

Authors Info & Claims
Published:01 June 2014Publication History

ABSTRACT

Embedded systems have become pervasive and are built into a vast number of devices such as sensors, vehicles, mobile and wearable devices. However, due to resource constraints, they fail to provide sufficient security, and are particularly vulnerable to runtime attacks (code injection and ROP). Previous works have proposed the enforcement of control-flow integrity (CFI) as a general defense against runtime attacks. However, existing solutions either suffer from performance overhead or only enforce coarse-grain CFI policies that a sophisticated adversary can undermine. In this paper, we tackle these limitations and present the design of novel security hardware mechanisms to enable fine-grained CFI checks. Our CFI proposal is based on a state model and a per-function CFI label approach. In particular, our CFI policies ensure that function returns can only transfer control to active call sides (i.e., return landing pads of functions currently executing). Further, we restrict indirect calls to target the beginning of a function, and lastly, deploy behavioral heuristics for indirect jumps.

References

  1. M. Abadi, M. Budiu, U. Erlingsson, and J. Ligatti. Control-flow integrity: Principles, implementations, and applications. ACM Trans. Inf. Syst. Secur., 13(1), 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. P. Akritidis, C. Cadar, C. Raiciu, M. Costa, and M. Castro. Preventing memory error exploits with WIT. In IEEE Symposium on Security and Privacy, S&P '08, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Aleph One. Smashing the stack for fun and profit. Phrack Magazine, 49(14), 1996.Google ScholarGoogle Scholar
  4. M. Budiu, U. Erlingsson, and M. Abadi. Architectural support for software-based protection. In Workshop on Architectural and System Support for Improving Software Dependability, ASID '06, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. S. Checkoway, L. Davi, A. Dmitrienko, A.-R. Sadeghi, H. Shacham, and M. Winandy. Return-oriented programming without returns. In ACM Conference on Computer and Communications Security, CCS '10, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. L. Davi, A. Dmitrienko, M. Egele, T. Fischer, T. Holz, R. Hund, S. Nürnberger, and A.-R. Sadeghi. MoCFI: A framework to mitigate control-flow attacks on smartphones. In Network and Distributed System Security Symposium, NDSS '12, 2012.Google ScholarGoogle Scholar
  7. J. DeMott. Bypassing EMET 4.1. http://labs.bromium.com/2014/02/24/bypassing-emet-4-1/, 2014.Google ScholarGoogle Scholar
  8. E. Göktas, E. Athanasopoulos, H. Bos, and G. Portokalidis. Out of control: Overcoming control-flow integrity. In IEEE Symposium on Security and Privacy, S&P '14, 2014.Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. T. H. Jannik Pewny. Control-flow restrictor: Compiler-based CFI for iOS. In Annual Computer Security Applications Conference, ACSAC '13, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. A. K. Kanuparthi, J. Rajendran, M. Zahran, and R. Karri. Dynamic sequence checking of programs to detect code reuse attacks. Technical report, 2013. http://isis.poly.edu/~arun/tvlsi.pdf.Google ScholarGoogle Scholar
  11. P. Kocher, R. Lee, G. McGraw, and A. Raghunathan. Security as a new dimension in embedded system design. In Annual Design Automation Conference, DAC '04, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. V. Pappas, M. Polychronakis, and A. D. Keromytis. Transparent ROP exploit mitigation using indirect branch tracing. In USENIX conference on Security, SSYM'13, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. J. Pincus and B. Baker. Beyond stack smashing: Recent advances in exploiting buffer overruns. IEEE Security and Privacy, 2(4), July 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. J. Rattner. Extreme scale computing. ISCA Keynote, 2012.Google ScholarGoogle Scholar
  15. S. Ravi, A. Raghunathan, P. Kocher, and S. Hattangady. Security in embedded systems: Design challenges. ACM Trans. Embed. Comput. Syst., 3(3), Aug. 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. H. Shacham. The geometry of innocent flesh on the bone: Return-into-libc without function calls (on the x86). In ACM Conf. on Computer and Communications Security, CCS '07, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. K. Z. Snow, F. Monrose, L. Davi, A. Dmitrienko, C. Liebchen, and A.-R. Sadeghi. Just-in-time code reuse: On the effectiveness of fine-grained address space layout randomization. In IEEE Symposium on Security and Privacy, S&P '13, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Y. Xia, Y. Liu, H. Chen, and B. Zang. CFIMon: Detecting violation of control flow integrity using performance counters. In Annual IEEE/IFIP International Conference on Dependable Systems and Networks, DSN '12, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. M. Zhang and R. Sekar. Control flow integrity for COTS binaries. In USENIX conference on Security, SSYM'13, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. T. Zhang, X. Zhuang, S. Pande, and W. Lee. Anomalous path detection with hardware support. In Proceedings of the 2005 International Conference on Compilers, Architectures and Synthesis for Embedded Systems, CASES '05, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  1. Hardware-Assisted Fine-Grained Control-Flow Integrity: Towards Efficient Protection of Embedded Systems Against Software Exploitation

    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 ACM Other conferences
      DAC '14: Proceedings of the 51st Annual Design Automation Conference
      June 2014
      1249 pages
      ISBN:9781450327305
      DOI:10.1145/2593069

      Copyright © 2014 Owner/Author

      Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for third-party components of this work must be honored. For all other uses, contact the Owner/Author.

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 1 June 2014

      Check for updates

      Qualifiers

      • research-article
      • Research
      • Refereed limited

      Acceptance Rates

      Overall Acceptance Rate1,770of5,499submissions,32%

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader