Manomissione del laptop e boot loader

0

Cerco di scoprire fino a che punto posso proteggere il mio laptop da accessi fisici e tentativi di manomissione.

Installazione: ThinkPad con installazione Linux

Quello che ho fatto finora:

  • crittografia del disco usando cryptsetup per tutto tranne / boot
  • entrare nel menu di configurazione UEFI è protetto dalla password del supervisore
  • tutti i dispositivi di avvio sono disabilitati tranne SSD primario con installazione Linux
  • Rilevazione manomissione coperchio inferiore è abilitato

A causa della crittografia del disco, non è possibile accedere ai dati senza manomettere il dispositivo per annusare la password. L'installazione di un keylogger hardware dovrebbe essere molto difficile a causa del rilevamento di manomissione del coperchio inferiore di Lenovo, che mi avverte quando il coperchio è stato rimosso. L'avvio di un sistema live per modificare la partizione di boot / non crittografata non è possibile perché tutti gli altri dispositivi di avvio sono disabilitati. La modifica delle rispettive impostazioni in UEFI non è possibile a causa della password del supervisore.

Ma l'attaccante è in grado di avviare il sistema fino a quando appare il grub bootloader. Grub offre qualche possibilità di manomettere la partizione di boot / non crittografata?

    
posta firefexx 15.03.2015 - 13:40
fonte

2 risposte

0

Raccomando di bloccare GRUB e portare via l'accesso alla shell di GRUB.

Manuale di GRUB: Autenticazione e autorizzazione (Archiviato qui .)

By default, the boot loader interface is accessible to anyone with physical access to the console: anyone can select and edit any menu entry, and anyone can get direct access to a GRUB shell prompt. For most systems, this is reasonable since anyone with direct physical access has a variety of other ways to gain full access, and requiring authentication at the boot loader level would only serve to make it difficult to recover broken systems.

Altrimenti qualcuno potrebbe accedere alla shell di GRUB e usare semplicemente il comando "chainloader" per eseguire l'avvio nel record di avvio della partizione di un'altra partizione (probabilmente fuori da un'unità USB).

Voce ArchWiki su GRUB (Archiviato qui .)

The GRUB's command shell environment can be used to boot operating systems. A common scenario may be to boot Windows / Linux stored on a drive/partition via chainloading.

Non ho provato nulla di tutto ciò. Ma suona abbastanza pericoloso.

    
risposta data 16.03.2015 - 10:01
fonte
0

GRUB non ti permette di modificare / avviare, ma ti permette di avviare in una shell di salvataggio in initramfs non crittografato in / boot, cosa che fa.

Sebbene GRUB non fornisca molta capacità di manomettere /boot , ti permetterà di avviare in modalità utente singolo con una shell di salvataggio. Il tuo /boot contiene il bootloader, insieme al tuo kernel e l'initramfs (filesystem RAM iniziale). Initramfs contiene vari strumenti necessari per l'avvio, oltre a strumenti utili in un ambiente di ripristino, come busybox per fornire un'alternativa leggera ai coreutils GNU e una shell come ash. Un utente malintenzionato dovrebbe semplicemente utilizzare GRUB per eseguire l'avvio in una shell di ripristino nel proprio initramfs, che è possibile in genere aggiungendo init=/bin/sh all'opzione kernel / linux. Questo sovrascrive lo script di inizializzazione predefinito ( /init ) e invece dice a initramfs di darti una shell interattiva. Da lì, potrebbe montare /boot e modificarlo a suo piacimento. Questo è completamente possibile perché tutto ciò di cui ha bisogno sono gli strumenti di modifica (l'initramfs contiene tutti gli utili coreutils, così come gli editor di testo come ed e vi), e gli strumenti devono decomprimere e reimballare l'initramfs (cpio, che è come tar, e un strumento di compressione come xz o gzip).

Se volessi attaccare il tuo laptop, il processo sarebbe un po 'come questo:

  1. Avviare in una shell GRUB, impostare manualmente il kernel e initramfs e aggiungere init=/bin/sh

  2. Crea /mnt/boot e monta la partizione di avvio non crittografata.

  3. Decrittografa initramfs e decomprimilo con cpio in una directory temporanea.

  4. Modifica lo script di init per fare cose cattive, come aggiungere una backdoor al tuo filesystem di root dopo la decifrazione.

  5. Reimballare initramfs con cpio e ricomprimerlo.

  6. Sovrascrivi il vecchio initramfs con il trojan, spegni e vai via.

risposta data 05.04.2016 - 03:28
fonte

Leggi altre domande sui tag