Usando el comando (dd if = / dev / mmcblk0p1 | sha1sum) mientras se ejecuta desde initramfs

1

Tengo un proyecto de código abierto de frambuesa pi abierto en el siguiente enlace: www.privatekeyvault.com

He proporcionado un método para instalar el cifrado de disco completo LUKS como se muestra a continuación: enlace

Estoy tratando de mitigar contra una Maid en el ataque central explicada a continuación: enlace

La preocupación es que alguien podría instalar un keylogger de malware en la partición de inicio y recopilar la contraseña al iniciar sesión en la partición cifrada mientras aún se ejecuta initramfs

Una vez iniciada la sesión en mi partición cifrada, puedo ejecutar el siguiente comando para ver el sha1sum de la partición de inicio: dd if = / dev / mmcblk0p1 | sha1sum

Lo comparo con un sha1sum previamente grabado para ver si la partición de inicio ha cambiado. Nunca debería cambiar.

Quiero obtener el sha1sum de la partición de inicio antes de iniciar sesión en la partición cifrada. En otras palabras, antes de proporcionar mi contraseña. Esto es mientras todavía estoy ejecutando bajo initramfs. Entiendo que esto es una locura porque cualquiera que instale un keylogger también podría instalar un programa falso sha1sum, por lo que quizás sea mejor ejecutar el comando sha1sum después de iniciar sesión en la partición cifrada donde no es posible cambiar el programa sha1sum. Aun así, tengo curiosidad por si es posible hacerlo.

El desafío es que cuando se ejecuta el comando (df), / dev / mmcblk0p1 no aparece, por lo que mi comando (dd if = / dev / mmcblk0p1 | sha1sum) no funcionará.

¿Alguna idea de cómo referirse a la partición de inicio mientras está en initramfs?

También, ¿alguna otra idea sobre cómo verificar si alguien ha manipulado la partición de inicio antes de iniciar sesión en la partición cifrada?

Gracias por la ayuda.

    
pregunta John Shearing 12.12.2018 - 07:07
fuente

2 respuestas

0

La técnica que estás describiendo no será capaz de mitigar los ataques de las sirvientas malvadas. Como usted dice, un gestor de arranque malicioso podría simplemente reemplazar cualquier código de comprobación de hash que use. En lugar de intentar piratearlo de todos modos, debe considerar el TPM basado en arranque medido . Hay varias técnicas para hacer esto:

  • AEM : probablemente la mejor técnica y la más fácil uso, desde Qubes OS.

  • Heads : una técnica más nueva optimizada para las cargas útiles de Coreboot para verificar el BIOS y el cargador de arranque.

  • MARK * - Para x86 sistemas, pero probablemente se pueden modificar para que funcionen para Raspberry Pi.

* El enlace parece estar inactivo en este momento. La página se ha archivado aquí .

    
respondido por el forest 12.12.2018 - 07:19
fuente
0

La verificación desde el interior del sistema potencialmente comprometido no tiene sentido. Si falta un programa en initramfs, puede agregarlo manualmente a través de los scripts de gancho de initramfs. Pero solo ejecutar sha1sum /dev/mmcblk0p1 debería hacer el truco y trabajar fuera de la caja. Puede obtener una lista de las particiones ejecutando blkid . Sin embargo, como raspberrys normalmente arranca desde tarjetas SD, la mejor solución sería llevarlo siempre contigo. O verifique la suma de comprobación en otro sistema.

    
respondido por el weaselwords 12.12.2018 - 10:21
fuente

Lea otras preguntas en las etiquetas