¿Cómo medir la integridad del sistema operativo (Linux)?

2

Estoy trabajando en un proyecto que requiere la medición de integridad del sistema operativo (Linux). Una forma de hacerlo es usar IMA, pero no estoy seguro de si encaja en el siguiente escenario.

El escenario del proyecto es algo así:

El sistema se inicia y la medición se realiza mediante un método de confianza. Así se llenan los PCR 0-7. Luego se carga el sistema operativo (linux). Entonces tengo un software llamado "Checker". El propósito de este software es verificar si algo está modificado en el sistema o no. Lo que estoy pensando es que almacenaré los valores de PCR para el "verificador". Una vez que el sistema se reinicia y los nuevos valores se extienden al PCRS, los valores de PCR existentes (almacenados) se comparan con los nuevos valores de PCR.

Una cosa que hice fue usar una función de verificación de archivos en trusted-grub para garantizar la integridad de mi software "checker", ya que solo será un archivo ejecutable.

El problema es que ahora quiero medir el sistema operativo (preferiblemente Linux) y extender la medición a un PCR. Pero no estoy recibiendo ninguna pista de cómo hacerlo. Sería genial si pudiera obtener algún comentario sobre cómo resolver este problema.

    
pregunta user3130920 23.12.2013 - 23:42
fuente

1 respuesta

1

Trusted-grub proporciona esta capacidad.

Los PCR 0-7 se llenan si tiene un BIOS compatible con TPM. Trusted-grub llenará los PCR 8-14 con grub config, options, kernel, module hashes - vea 2.4 Sección de medidas .

Esto es lo que parecen los PCR sin un cargador de arranque compatible con TPM:

    # cat /sys/devices/pnp0/00:09/pcrs 
    PCR-00: A8 5A 84 B7 38 FC C0 CF 3A 44 7A 5A A7 03 83 0B BE E7 BD D9 
    PCR-01: 11 40 C1 7D 0D 25 51 9E 28 53 A5 22 B7 1F 12 24 47 91 15 CB 
    PCR-02: A3 82 9A 64 61 85 2C C1 43 ED 75 83 48 35 90 4F 07 A9 D5 2C 
    PCR-03: B2 A8 3B 0E BF 2F 83 78 29 9A 5B 2B DF C3 1E A9 55 AD 72 36 
    PCR-04: 78 93 CF 58 0E E1 A3 8F DA 6F E0 3B C9 53 76 28 12 93 EF 82 
    PCR-05: 72 A7 A9 6C 96 39 38 52 D5 9B D9 12 39 75 86 44 3E 20 10 2F 
    PCR-06: 92 20 EB AC 21 CE BA 8A C0 AB 92 0E D0 27 E4 F8 91 C9 03 EE 
    PCR-07: B2 A8 3B 04 BF 2F 83 74 29 9A 5B 4B DF C3 1E A9 55 AD 72 36 
    PCR-08: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
    PCR-09: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
    PCR-10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
    PCR-11: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
    PCR-12: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
    PCR-13: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
    PCR-14: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
    PCR-15: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
    PCR-16: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
    PCR-17: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 
    PCR-18: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 
    PCR-19: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 
    PCR-20: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 
    PCR-21: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 
    PCR-22: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 
    PCR-23: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

Como puede ver, la PCR 0-7 está llena, pero de la PCR 8 a la 15 está vacía a menos que un cargador de arranque compatible con TPM (por ejemplo, trusted-grub) los extienda (aún se reinician a 0). Si no tienes esos PCR completos, hay algún problema con tu configuración de grub de confianza.

Otra forma sería usar TXT para cargar un sistema operativo confiable. En cuyo caso, los PCR 17-23 se rellenarán con las mediciones del sistema operativo confiable. Actualmente, como no se usa TXT, los PCR se llenan con 1s (f). Solo se restablecen una vez que se inicia TXT. Consulte tboot de Intel.

    
respondido por el northox 18.02.2014 - 22:33
fuente

Lea otras preguntas en las etiquetas