skip to main content
10.1145/3465481.3470018acmotherconferencesArticle/Chapter ViewAbstractPublication PagesaresConference Proceedingsconference-collections
research-article

Userspace Software Integrity Measurement

Published:17 August 2021Publication History

ABSTRACT

Todays computing systems are more interconnected and sophisticated than ever before. Especially in healthcare 4.0, services and infrastructures rely on cyber-physical systemss (CPSess) and Internet of Things (IoT) devices. This adds to the complexity of these highly connected systems and their manageability. Even worse, the variety of emerging cyber attacks is becoming more severe and sophisticated, making healthcare one of the most important sectors with major security risks. The development of appropriate countermeasures constitutes one of the most complex and difficult challenges in cyber security research. Research areas include, among others, anomaly detection, network security, multi-layer event detection, cyber resiliency, and integrity protection.

Securing the integrity of software running on a device is a desirable protection goal in the context of systems security. With a Trusted Platform Module (TPM), measured boot, and remote attestation there exist technologies to ensure that a system has booted up correctly and runs only authentic software. The Linux Integrity Measurement Architecture (IMA) extends these principles into the operating systems (OSes), measuring native binaries before they are loaded. However, interpreted language files, such as Java classes and Python scripts, are not considered executables and are not measured as such. Contemporary OSess ship with many of these and it is vital to consider them as security-critical as native binaries.

In this paper, we introduce Userspace Software Integrity Measurement (USIM) for the Linux OSes. Userspace Software Integrity Measurement (USIM) enables interpreters to measure, log, and irrevocably anchor critical events in the TPM. We develop a software library in C which provides TPM-based measurement functionality as well as the USIM service, which provides concurrent access handling to the TPM based event logging. Further, we develop and implement a concept to realize highly frequent event logging on the slow TPM. We integrate this library into the Java Virtual Machine (JVM) to measure Java classes and show that it can be easily integrated into other interpreters. With performance measurements we demonstrate that our contribution is feasible and that overhead is negligible.

References

  1. Android Open Source Project. 2020. Implementing Dm-Verity. https://source.android.com/security/verifiedboot/dm-verityGoogle ScholarGoogle Scholar
  2. W.A. Arbaugh, D.J. Farber, and J.M. Smith. 1997. A Secure and Reliable Bootstrap Architecture. In Proceedings. 1997 IEEE Symposium on Security and Privacy (Cat. No.97CB36097). 65–71. https://doi.org/10.1109/SECPRI.1997.601317Google ScholarGoogle ScholarCross RefCross Ref
  3. ARM Limited. 2019. mbed TLS. https://tls.mbed.org/Google ScholarGoogle Scholar
  4. Marty Hernandez Avedon, Duncan Mackenzie, Andres Mariano Gorzelany, Tina Burden, and Nick Schonning. 2018. Secure the Windows 10 Boot Process. https://docs.microsoft.com/en-us/windows/security/information-protection/secure-the-windows-10-boot-processGoogle ScholarGoogle Scholar
  5. Olaf Bergmann. 2010. libcoap: A C implementation of the Constrained Application Protocol (RFC 7252). https://github.com/Fraunhofer-SIT/charraGoogle ScholarGoogle Scholar
  6. Henk Birkholz and Michael Eckel. 2020. Reference Interaction Models for Remote Attestation Procedures. Internet-Draftdraft-birkholz-rats-reference-interaction-model-02. Internet Engineering Task Force. https://datatracker.ietf.org/doc/draft-birkholz-rats-reference-interaction-model/ Work in Progress.Google ScholarGoogle Scholar
  7. Henk Birkholz, Christoph Vigano, and Carsten Bormann. 2019. Concise Data Definition Language (CDDL): A Notational Convention to Express Concise Binary Object Representation (CBOR) and JSON Data Structures. RFC 8610. RFC Editor. https://tools.ietf.org/html/rfc8610Google ScholarGoogle Scholar
  8. Felix Bohling, Tobias Mueller, Michael Eckel, and Jens Lindemann. 2020. Subverting Linux’ Integrity Measurement Architecture. In Proceedings of the 15th International Conference on Availability, Reliability and Security (Virtual Event, Ireland) (ARES ’20). Association for Computing Machinery, New York, NY, USA, Article 27, 10 pages. https://doi.org/10.1145/3407023.3407058Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Carsten Bormann and Paul Hoffman. 2020. Concise Binary Object Representation (CBOR). RFC 8949. RFC Editor. https://tools.ietf.org/html/rfc8949Google ScholarGoogle Scholar
  10. Marco De Benedictis and Antonio Lioy. 2019. Integrity verification of Docker containers for a lightweight cloud environment. Future Generation Computer Systems 97 (02 2019). https://doi.org/10.1016/j.future.2019.02.026Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Joan.G. Dyer, Mark Lindemann, Ronald Perez, Reiner Sailer, Leendert van Doorn, and Sean W. Smith. 2001. Building the IBM 4758 Secure Coprocessor. Computer 34, 10 (Oct. 2001), 57–66. https://doi.org/10.1109/2.955100Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Michael Eckel. 2019. CHARRA: CHAllenge-Response based Remote Attestation with TPM 2.0. https://github.com/Fraunhofer-SIT/charraGoogle ScholarGoogle Scholar
  13. Michael Eckel, Andreas Fuchs, Jürgen Repp, and Markus Springer. 2020. Secure Attestation of Virtualized Environments. In ICT Systems Security and Privacy Protection, Marko Hölbl, Kai Rannenberg, and Tatjana Welzer (Eds.). Springer International Publishing, Cham, 203–216.Google ScholarGoogle Scholar
  14. Fredrik Strömberg. 2019. System Transparency. Mullvad VPN AB. https://mullvad.net/media/system-transparency-rev5.pdfGoogle ScholarGoogle Scholar
  15. Obaid Khalid, Carsten Rolfes, and Andreas Ibing. 2013. On Implementing Trusted Boot for Embedded Systems. In 2013 IEEE International Symposium on Hardware-Oriented Security and Trust (HOST). IEEE, Austin, TX, USA, 75–80. https://doi.org/10.1109/HST.2013.6581569Google ScholarGoogle Scholar
  16. Paul Kissinger and Peter Hüwe. 2020. LetsTrust TPM. https://letstrust.de/Google ScholarGoogle Scholar
  17. H. Lauer and N. Kuntze. 2016. Hypervisor-based Attestation of Virtual Environments. In The 13th IEEE International Conference on Advanced and Trusted Computing (Toulouse, France).Google ScholarGoogle Scholar
  18. Laurence Lundblade. 2018. QCBOR: an implementation of nearly everything in RFC8949. https://github.com/laurencelundblade/QCBORGoogle ScholarGoogle Scholar
  19. Wu Luo, Qingni Shen, Yutang Xia, and Zhonghai Wu. 2019. Container-IMA: A privacy-preserving Integrity Measurement Architecture for Containers. In 22nd International Symposium on Research in Attacks, Intrusions and Defenses (RAID 2019). USENIX Association, Chaoyang District, Beijing, 487–500. https://www.usenix.org/system/files/raid2019-luo.pdfGoogle ScholarGoogle Scholar
  20. Magnus Nyström, Martin Nicholes, and Vincent J Zimmer. 2011. UEFI Networking and Pre-Os Security. Intel Technology Journal 15, 1 (2011), 80–102. https://www.intel.com/content/dam/www/public/us/en/documents/research/2011-vol15-iss-1-intel-technology-journal.pdfGoogle ScholarGoogle Scholar
  21. OpenJDK Community. 2018. OpenJDK JDK11. https://github.com/AdoptOpenJDK/openjdk-jdk11Google ScholarGoogle Scholar
  22. Andre Rein. 2017. DRIVE: Dynamic Runtime Integrity Verification and Evaluation. In Proceedings of the 2017 ACM on Asia Conference on Computer and Communications Security (Abu Dhabi, United Arab Emirates) (ASIA CCS ’17). Association for Computing Machinery, New York, NY, USA, 728–742. https://doi.org/10.1145/3052973.3052975Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Reiner Sailer, Trent Jaeger, Xiaolan Zhang, and Leendert van Doorn. 2004. Attestation-Based Policy Enforcement for Remote Access. In Proceedings of the 11th ACM Conference on Computer and Communications Security - CCS ’04. ACM Press, Washington DC, USA, 308. https://doi.org/10.1145/1030083.1030125Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Reiner Sailer, Xiaolan Zhang, Trent Jaeger, and Leendert van Doorn. 2004. Design and Implementation of a TCG-Based Integrity Measurement Architecture. In Proceedings of the 13th Conference on USENIX Security Symposium(SSYM’04, Vol. 13). USENIX Association, San Diego, CA, USA, 16. https://www.usenix.org/conference/13th-usenix-security-symposium/design-and-implementation-tcg-based-integrity-measurementGoogle ScholarGoogle ScholarDigital LibraryDigital Library
  25. Reiner Sailer, Xiaolan Zhang, Trent Jaeger, and Leendert van Doorn. 2004. Design and Implementation of a TCG-based Integrity Measurement Architecture.223–238.Google ScholarGoogle Scholar
  26. Zach Shelby, Klaus Hartke, and Carsten Bormann. 2014. The Constrained Application Protocol (CoAP). RFC 7252. RFC Editor. 1–112 pages. http://www.rfc-editor.org/rfc/rfc17252.txtGoogle ScholarGoogle Scholar
  27. Trusted Computing Group 2016. Trusted Platform Module Library - Part 1: Architecture (family 2.0, level 00, revision 01.38ed.). Trusted Computing Group.Google ScholarGoogle Scholar
  28. Trusted Computing Group. 2018. TCG Guidance for Securing Network Equipment Using TCG Technology. https://trustedcomputinggroup.org/resource/tcg-guidance-securing-network-equipment/Google ScholarGoogle Scholar
  29. Trusted Computing Group. 2019. TCG TSS 2.0 Overview and Common Structures Specification.Google ScholarGoogle Scholar
  30. J. Douglas Tygar and Bennet Yee. 1991. Dyad: A System for Using Physically Secure Coprocessors. Proceedings of the Joint Harvard-MIT Workshop on Technological Strategies for the Protection of Intellectual Property in the Network Multimedia Environment (May 1991). https://www.cni.org/resources/historical-resources/technological-strategies-for-protecting-intellectual-property-in-the-networked-multimedia-environment/dyad-a-system-for-using-physically-secure-coprocessorsGoogle ScholarGoogle Scholar
  31. Mimi Zohar and Dmitry Kasatkin. 2018. Integrity Measurement Architecture (IMA). https://sourceforge.net/p/linux-ima/wiki/Home/Google ScholarGoogle Scholar
  32. Mimi Zohar, David Safford, and Reiner Sailer. 2009. Using IMA for Integrity Measurement and Attestation. https://blog.linuxplumbersconf.org/2009/slides/David-Stafford-IMA_LPC.pdfGoogle ScholarGoogle Scholar

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
    ARES '21: Proceedings of the 16th International Conference on Availability, Reliability and Security
    August 2021
    1447 pages
    ISBN:9781450390514
    DOI:10.1145/3465481

    Copyright © 2021 ACM

    Permission to make digital or hard copies of all or part 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 components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    • Published: 17 August 2021

    Permissions

    Request permissions about this article.

    Request Permissions

    Check for updates

    Qualifiers

    • research-article
    • Research
    • Refereed limited

    Acceptance Rates

    Overall Acceptance Rate228of451submissions,51%
  • Article Metrics

    • Downloads (Last 12 months)63
    • Downloads (Last 6 weeks)10

    Other Metrics

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

HTML Format

View this article in HTML Format .

View HTML Format