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.
- Android Open Source Project. 2020. Implementing Dm-Verity. https://source.android.com/security/verifiedboot/dm-verityGoogle Scholar
- 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 ScholarCross Ref
- ARM Limited. 2019. mbed TLS. https://tls.mbed.org/Google Scholar
- 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 Scholar
- Olaf Bergmann. 2010. libcoap: A C implementation of the Constrained Application Protocol (RFC 7252). https://github.com/Fraunhofer-SIT/charraGoogle Scholar
- 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 Scholar
- 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 Scholar
- 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 ScholarDigital Library
- Carsten Bormann and Paul Hoffman. 2020. Concise Binary Object Representation (CBOR). RFC 8949. RFC Editor. https://tools.ietf.org/html/rfc8949Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Michael Eckel. 2019. CHARRA: CHAllenge-Response based Remote Attestation with TPM 2.0. https://github.com/Fraunhofer-SIT/charraGoogle Scholar
- 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 Scholar
- Fredrik Strömberg. 2019. System Transparency. Mullvad VPN AB. https://mullvad.net/media/system-transparency-rev5.pdfGoogle Scholar
- 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 Scholar
- Paul Kissinger and Peter Hüwe. 2020. LetsTrust TPM. https://letstrust.de/Google Scholar
- 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 Scholar
- Laurence Lundblade. 2018. QCBOR: an implementation of nearly everything in RFC8949. https://github.com/laurencelundblade/QCBORGoogle Scholar
- 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 Scholar
- 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 Scholar
- OpenJDK Community. 2018. OpenJDK JDK11. https://github.com/AdoptOpenJDK/openjdk-jdk11Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Reiner Sailer, Xiaolan Zhang, Trent Jaeger, and Leendert van Doorn. 2004. Design and Implementation of a TCG-based Integrity Measurement Architecture.223–238.Google Scholar
- 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 Scholar
- Trusted Computing Group 2016. Trusted Platform Module Library - Part 1: Architecture (family 2.0, level 00, revision 01.38ed.). Trusted Computing Group.Google Scholar
- Trusted Computing Group. 2018. TCG Guidance for Securing Network Equipment Using TCG Technology. https://trustedcomputinggroup.org/resource/tcg-guidance-securing-network-equipment/Google Scholar
- Trusted Computing Group. 2019. TCG TSS 2.0 Overview and Common Structures Specification.Google Scholar
- 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 Scholar
- Mimi Zohar and Dmitry Kasatkin. 2018. Integrity Measurement Architecture (IMA). https://sourceforge.net/p/linux-ima/wiki/Home/Google Scholar
- 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 Scholar
Recommendations
Subverting Linux' integrity measurement architecture
ARES '20: Proceedings of the 15th International Conference on Availability, Reliability and SecurityIntegrity is a key protection objective in the context of system security. This holds for both hardware and software. Since hardware cannot be changed after its manufacturing process, the manufacturer must be trusted to build it properly. However, it is ...
A Privacy-Preserving Integrity Measurement Architecture
ISECS '10: Proceedings of the 2010 Third International Symposium on Electronic Commerce and SecurityTCG’s Trusted Platform Modules provide the functionality of remote attestation, which based on the integrity of software components in a specific platform configuration. Integrity Measurement Architecture(IMA) is the accredited remote attestation ...
Comments