Manipulación de portátiles y cargador de arranque

0

Intento descubrir hasta qué punto puedo proteger mi computadora portátil del acceso físico y los intentos de manipulación.

Configuración: ThinkPad con instalación de Linux

Lo que he hecho hasta ahora:

  • cifrado de disco usando cryptsetup para todo excepto / boot
  • el ingreso al menú de configuración de UEFI está protegido por la contraseña del supervisor
  • todos los dispositivos de arranque están deshabilitados excepto el SSD primario con instalación de Linux
  • La detección de sabotaje de la cubierta inferior está habilitada

Debido al cifrado del disco, no es posible acceder a los datos sin alterar el dispositivo para detectar la contraseña. Implantar un keylogger de hardware debería ser muy difícil debido a la detección de sabotaje de la cubierta inferior de Lenovo, que me advierte cuando se quitó la cubierta. No es posible iniciar un sistema en vivo para modificar la partición no encriptada / de inicio porque todos los demás dispositivos de inicio están deshabilitados. Cambiar la configuración respectiva en UEFI no es posible debido a la contraseña del supervisor.

Pero el atacante puede iniciar el sistema hasta que aparezca el gestor de arranque de grub. ¿Grub ofrece alguna posibilidad de manipular la partición no encriptada / de arranque?

    
pregunta firefexx 15.03.2015 - 13:40
fuente

2 respuestas

0

Recomiendo bloquear GRUB y quitar el acceso a la shell de GRUB.

Manual de GRUB: Autenticación y autorización (Archivado aquí .)

  

De forma predeterminada, cualquier persona con acceso físico a la consola puede acceder a la interfaz del cargador de arranque: cualquiera puede seleccionar y editar cualquier entrada del menú, y cualquier persona puede obtener acceso directo al indicador de shell de GRUB. Para la mayoría de los sistemas, esto es razonable ya que cualquier persona con acceso físico directo tiene una variedad de otras formas de obtener acceso completo, y requerir la autenticación en el nivel del cargador de arranque solo serviría para dificultar la recuperación de sistemas rotos.

De lo contrario, alguien podría acceder al shell de GRUB y simplemente usar el comando "chainloader" para iniciar el registro de inicio de la partición de otra partición (posiblemente fuera de una unidad USB).

Entrada de ArchWiki en GRUB (Archivado aquí .)

  

El entorno de shell de comandos de GRUB se puede usar para arrancar sistemas operativos. Un escenario común puede ser iniciar Windows / Linux almacenado en una unidad / partición a través de un encadenamiento.

No he probado nada de esto. Pero suena bastante peligroso.

    
respondido por el StackzOfZtuff 16.03.2015 - 10:01
fuente
0

GRUB en sí no te permite modificar / boot, pero sí te permite iniciar en un shell de rescate en el initramfs sin cifrar en / boot, que sí.

Aunque GRUB en sí mismo no proporciona mucha capacidad para manipular /boot , le permitirá iniciar en modo de usuario único con un shell de rescate. Su /boot contiene el gestor de arranque, junto con su kernel, y el initramfs (sistema de archivos RAM inicial). El initramfs contiene varias herramientas necesarias para el arranque, así como herramientas útiles en un entorno de rescate, como busybox para proporcionar una alternativa liviana a los núcleos básicos de GNU, y una cáscara como la ceniza. Un atacante simplemente usaría GRUB para iniciar un shell de rescate en su initramfs, lo cual es posible usualmente agregando init=/bin/sh a la opción kernel / linux. Esto anula el script de inicio predeterminado ( /init ) y en su lugar le dice a initramfs que le dé un shell interactivo. A partir de ahí, podría montar /boot y modificarlo al contenido de su corazón. Esto es completamente posible porque todo lo que necesita es herramientas de edición (el initramfs contiene todos los coreutils útiles, así como editores de texto como ed y vi), y las herramientas necesitan desempaquetar y volver a empaquetar el initramfs (cpio, que es como tar, y herramienta de compresión como xz o gzip).

Si quisiera atacar tu computadora portátil, el proceso se vería un poco como este:

  1. Arranque en un shell de GRUB, configure manualmente el kernel y el initramfs, y agregue init=/bin/sh

  2. Crea /mnt/boot y monta la partición de inicio sin cifrar en ella.

  3. Descifre los initramfs y descomprímalos con cpio en un directorio temporal.

  4. Modifique la secuencia de comandos de inicio para hacer cosas malas, como agregar una puerta trasera a su sistema de archivos raíz después de descifrarlo.

  5. Vuelva a empaquetar el initramfs con cpio y vuelva a comprimirlo.

  6. Sobrescriba los archivos de inicio antiguos con el troyano, apáguelo y váyase.

respondido por el forest 05.04.2016 - 03:28
fuente

Lea otras preguntas en las etiquetas