Integrity Measurement Architecture

The Integrity Measurement Architecture is an enhancement of Linux by a TPM-based Linux Security Module that is currently being developed by IBM research in close collaboration with various product groups and the IBM Linux Technology Center. Its main goal is to generate verifiable representative information about the software stack running on a Linux system. This information can be used by remote parties to determine the integrity of the execution environment. The project consists of three building blocks:

  1. Integrity Measurement Architecture LSM. We instrumented the Linux kernel to trigger a measurement for each executable, library, or kernel module loaded into the run-time before they affect the system. Our measurement consists of computing a SHA1 hash value of the file representing the executable content. We store all measurements since the booting of the system in a kernel-held measurement list. A measure library call allows applications to independently measure sensitive input before consuming it (e.g. configuration or script files). First experiments show that this solution accumulates about 400-600 measurements on a Redhat system running X-windows and Gnome Desktop, and about 400 measurements on a Redhat system running an Apache web server and Jakarta Tomcat servlet machine. We have compiled some examples:
    • a complete annotated measurement list of an IBM Thinkpad T40 including boot and post-boot measurements.
    • the XML Schema describing the structure of the attestation response.
    • an exemplary attestation Request and Response: The real response will include the measurement values and ordinal numbers only. We have added some more information (status and file name) for demonstration purposes.

  2. TPM-based Attestation. We use a Trusted Platform Module (TPM) to securely maintain an integrity value over the measurement list residing in the kernel. Consequently, each new measurement added to a kernel-held measurement list, is also extended into a protected hardware Platform Configuration Register (PCR) of a TPM security chip attached to the system. Therefore, this PCR always contains an aggregate of the current measurement list. When retrieved remotely, this aggregate (integrity value) is signed by the TPM hardware. A remote party can now validate the integrity of the measurement list by comparing the signed integrity value and a locally computed aggregate of this measurement list. Thus, compromised systems can manipulate the kernel-held measurement list, but they cannot adjust the TPM-protected aggregate to fit the manipulated measurement list. Cheating systems are thus recognized when validating the measurement list against the signed aggregate of the measurement list.

  3. Determination of System Properties. Taking advantage of the validated measurement list to reason about the security properties of a system's runtime is the central point of our current research.
Currently, we experiment measuring the information flow on SELinux systems to reason about isolation properties of a system. For this purpose, we modified tcgLinux to run as an LSM kernel module stacked on top of SELinux. We also envision to extend our attestation method to integrate virtualization technology and partition the attestation space of a system using the information flow policies enforced therein. Here is an overview of our most recent papers related to this project (please request copies by e-mail):

Trent Jaeger, Reiner Sailer, Umesh Shankar. PRIMA: Policy-Reduced Integrity Measurement Architecture. ACM Symposium on Access Control Models and Technologies (SACMAT), California, June, 2006 (accepted for publication).

Reiner Sailer, Xiaolan Zhang, Trent Jaeger, Leendert van Doorn. Design and Implementation of a TCG-based Integrity Measurement Architecture. 13th Usenix Security Symposium, San Diego, California, August, 2004. (Final Paper on Usenix Server, Presentation Slides PDF. This publication constitutes a heavily revised version of IBM Research Report 23064)

Reiner Sailer, Leendert van Doorn, James P. Ward: The Role of TPM in Enterprise Security. Datenschutz und Datensicherheit (DuD), September, 2004. (also IBM Research Report 23363)

Reiner Sailer, Trent Jaeger, Xiaolan Zhang, Leendert van Doorn: Attestation-based Policy Enforcement for Remote Access. 11th ACM Conference on Computer and Communications Security (CCS) 2004, Washington, October, 2004. (Final Paper in ACM Electronic Library. Presentation Slides PDF. This publication constitutes a heavily revised version of IBM Research Report 23205)

The Trusted Computing Group has posted a good overview of the TCG Architecture and TPM, which explains basic functions of the TPM and the idea behind them.






Last updated 23 Jun 2008