Come proteggere il mio laptop in modo che non sia possibile l'hacking mediante accesso fisico?


73

Prima ho fatto un casino con il mio sistema, sono stato accolto con una schermata nera quando ho avviato Ubuntu. Quando ho avviato il mio laptop, ho selezionato l'opzione di ripristino dal menu di grub e ho scelto il fallback sul terminale di root . Ho visto che ero in grado di utilizzare il comando Aggiungi utente, con esso probabilmente avrei potuto usare per creare un utente privilegiato sulla mia macchina.

Non è un problema di sicurezza?

Uno avrebbe potuto rubare il mio laptop e all'avvio ha scelto il recupero e aggiunto un altro utente, sono confuso allora. Compresi i miei dati.

Vieni a pensarci bene, anche se in qualche modo rimuovi quella voce, si potrebbe avviare da un live-CD, metterlo chrootin funzione e quindi aggiungere un altro utente, con i giusti privilegi che gli permettono di vedere tutti i miei dati.

Se imposto che il BIOS si avvii solo sul mio HD, senza USB, CD / DVD, avvio di rete e imposto una password del BIOS, non importerebbe, perché avresti ancora quella voce di avvio di recupero di grub.

Sono abbastanza sicuro che qualcuno dalla Cina, la Russia, non possa hackerare il mio Ubuntu Trusty Tahr, dalla rete, perché è sicuro in quel modo. Ma, se uno ha accesso fisico alla mia - tua - macchina, allora, beh, ecco perché sto facendo questa domanda. Come posso proteggere la mia macchina in modo tale che l'hacking attraverso l'accesso fisico non sia possibile?


Riportare un errore:


35
Crittografia completa del disco e glitternailpolish per le tue viti. Chi non lo fa al giorno d'oggi?
mondjunge,

2
@ByteCommander è possibile aggiungere utenti root. Aggiungi un altro utente con uid 0 a / etc / password. Ho appena aggiunto Fred fred:x:0:0:fred,,,:/home/fred:/bin/bashe ora se eseguo l'accesso come Fred e corro whoami, ottengoroot
Josef

3
@ByteCommander dovrebbero essere. Gli strumenti per gestire account come adduserecc. Non ti consentono di farlo di solito, ma solo di modificare le /etc/passwdopere. Essere un hacker significa ignorare ciò che dovresti fare;)
Josef,

3
@ blade19899 Il tuo nuovo bug verrà sicuramente rifiutato. Confronta questo esistente: bugs.launchpad.net/ubuntu/+bug/283662
Byte Commander

4
@ blade19899 Il mio punto più ampio è che devi pensare in termini di rischi e compromessi, non assoluti. Non ho idea di chi tu sia o dove vivi ma una rapina in casa che porta a qualcuno che utilizza in modo efficace i tuoi dati (invece di cercare di scaricare l'hardware), il davanzale sembra un po 'inverosimile e forse meno preoccupante del tempo, denaro o persino perdita di dati che potrebbe derivare dalla mancanza di opzioni di recupero efficaci. Ecco perché avere un terminale root fallback è una buona cosa. Ma ovviamente questo non vuol dire che non dovresti esaminare la crittografia dell'intero disco.
Rilassato il

Risposte:


86

La mia ipotesi è che solo la crittografia completa del disco utilizzando un algoritmo forte e, soprattutto, una buona password sia l'unica cosa in grado di proteggere i dati memorizzati localmente. Questo ti dà probabilmente una sicurezza del 99,99%. Fare riferimento a una delle tante guide su come eseguire questa operazione.


Oltre a ciò, NON è possibile proteggere la macchina da un hacker esperto con accesso fisico.

  • Password utente / account:
    è facile creare un nuovo utente amministratore se si avvia in modalità di ripristino, come descritto, perché si ottiene una shell di root senza che vengano richieste password in questo modo.
    Potrebbe sembrare un problema di sicurezza accidentale, ma è destinato a casi di recupero (chi l'avrebbe mai pensato?) In cui, ad esempio, hai perso la password dell'amministratore o hai incasinato il sudocomando o altre cose vitali.

  • password di root:
    Ubuntu non ha impostato alcuna password dell'utente root per impostazione predefinita. Tuttavia, è possibile impostarne uno e verrà richiesto se si avvia in modalità di ripristino. Sembra abbastanza sicuro, ma alla fine non è ancora una soluzione sicura. Puoi ancora aggiungere il parametro del kernel single init=/bin/bashtramite GRUB prima di avviare Ubuntu che lo avvia in modalità utente singolo, che in realtà è anche una shell root senza password.

  • Protezione del menu di GRUB con una password:
    è possibile proteggere le voci del menu di GRUB in modo che siano accessibili solo dopo l'autenticazione, ovvero è possibile negare l'avvio della modalità di ripristino senza password. Questo impedisce anche di manipolare i parametri del kernel. Per ulteriori informazioni, consultare il sito Grub2 / Password su help.ubuntu.com . Questo può essere bypassato solo se si avvia da un supporto esterno o si collega l'HDD direttamente a un altro computer.

  • Disabilitare l'avvio da supporti esterni nel BIOS:
    è possibile impostare l'ordine di avvio e di solito escludere i dispositivi dall'avvio in molte versioni correnti di BIOS / UEFI. Tuttavia, tali impostazioni non sono protette, poiché tutti possono accedere al menu di configurazione. Devi impostare una password anche qui, ma ...

  • Password del BIOS: in
    genere è possibile ignorare anche le password del BIOS. Esistono diversi metodi:

    • Ripristinare la memoria CMOS (dove sono memorizzate le impostazioni del BIOS) aprendo il case del computer e rimuovendo fisicamente la batteria CMOS o impostando temporaneamente un jumper "Clear CMOS".
    • Ripristina le impostazioni del BIOS con una combinazione di tasti di servizio. La maggior parte dei produttori di schede madri descrive le combinazioni di tasti nei loro manuali di servizio per ripristinare le impostazioni del BIOS incasinate ai valori predefiniti, inclusa la password. Un esempio potrebbe essere quello di tenere premuto ScreenUpdurante l'accensione, che, se ricordo bene, ha sbloccato una scheda madre Acer con BIOS AMI una volta per me dopo aver incasinato le mie impostazioni di overclocking.
    • Ultimo ma non meno importante, ci sono un set di password BIOS predefinite che sembrano funzionare sempre, indipendentemente dalla password set reale. Non l'ho provato, ma questo sito ne offre un elenco, classificato per produttore.
      Grazie a Rinzwind per queste informazioni e link!
  • Blocca il case del computer / nega l'accesso fisico alla scheda madre e al disco rigido:
    anche se tutto il resto fallisce, un ladro di dati può comunque aprire il tuo laptop / computer, estrarre l'HDD e collegarlo al suo computer. Montarlo e accedere a tutti i file non crittografati è un gioco da ragazzi. Devi metterlo in una custodia chiusa in modo sicuro in cui puoi essere sicuro che nessuno è in grado di aprire il computer. Questo tuttavia è impossibile per i laptop e difficile per i desktop. Forse potresti pensare di possedere un film d'azione come un dispositivo autodistruggente che fa esplodere alcuni esplosivi all'interno se qualcuno tenta di aprirlo? ;-) Ma assicurati che non dovrai mai aprirlo da solo per manutenzione!

  • Crittografia completa del disco:
    so di aver consigliato questo metodo come sicuro, ma non è sicuro al 100% se perdi il laptop mentre è acceso. Esiste un cosiddetto "attacco di avvio a freddo" che consente all'autore dell'attacco di leggere le chiavi di crittografia dalla RAM dopo aver ripristinato la macchina in esecuzione. Questo scarica il sistema, ma non scarica il contenuto della RAM del tempo senza alimentazione è abbastanza breve.
    Grazie a Ko per il suo commento su questo attacco!
    Citerò anche il suo secondo commento qui:

    Questo è un vecchio video, ma spiega bene il concetto: "Per non ricordare: attacchi di avvio a freddo su chiavi di crittografia" su YouTube ; se è stata impostata una password BIOS, l'utente malintenzionato può comunque rimuovere la batteria CMOS mentre il laptop è ancora acceso per consentire l'avvio dell'unità personalizzata senza perdere alcun secondo cruciale; questo è più spaventoso al giorno d'oggi a causa degli SSD, poiché un SSD personalizzato sarà probabilmente in grado di scaricare anche 8 GB in meno di 1 minuto, considerando una velocità di scrittura di ~ 150 MB / s

    Domanda correlata, ma ancora senza risposta su come prevenire gli attacchi di avvio a freddo: come abilitare Ubuntu (utilizzando la crittografia del disco completo) per chiamare LUKSsupend prima di dormire / sospendere nella RAM?


Per concludere: attualmente nulla protegge davvero il tuo laptop dall'essere utilizzato da qualcuno con accesso fisico e intenzioni dannose. Puoi crittografare completamente tutti i tuoi dati solo se sei abbastanza paranoico da rischiare di perdere tutto dimenticando la password o un arresto anomalo. Quindi la crittografia rende i backup ancora più importanti di quanto non siano già. Tuttavia, dovrebbero anche essere crittografati e collocati in un posto molto sicuro.
O semplicemente non regalare il tuo laptop e spero che non lo perderai mai. ;-)

Se ti preoccupi meno dei tuoi dati ma di più dell'hardware, potresti voler acquistare e installare un mittente GPS nel tuo caso, ma questo è solo per le persone paranoiche reali o gli agenti federali.


7
E ancora la crittografia del disco completo non ti salverebbe dagli attacchi di avvio a freddo, se il tuo laptop viene rubato mentre è acceso!
kos,

14
Inoltre, dopo che il tuo laptop è rimasto fuori dal tuo controllo per un certo periodo di tempo, non ci si può più aspettare che sia al sicuro. Ora potrebbe registrare la password di pre-avvio, ad esempio.
Josef,

1
Crittografare i tuoi dati non dovrebbe aumentare il rischio di perderli, perché hai i backup, giusto? I dati memorizzati solo una volta non sono molto meglio dei dati inesistenti. Soprattutto gli SSD tendono a fallire all'improvviso senza la possibilità di ottenere qualcosa da loro.
Josef,

3
Questo è un vecchio video, ma spiega bene il concetto: youtube.com/watch?v=JDaicPIgn9U ; se è stata impostata una password BIOS, l'utente malintenzionato può comunque rimuovere la batteria CMOS mentre il laptop è ancora acceso per consentire l'avvio dell'unità personalizzata senza perdere alcun secondo cruciale; questo è più spaventoso al giorno d'oggi a causa degli SSD, poiché un SSD personalizzato sarà probabilmente in grado di scaricare anche 8 GB in meno di 1 minuto, considerando una velocità di scrittura di ~ 150 MB / s
kos

2
@ByteCommander ma il tuo SSD può fallire allo stesso modo e tutti i tuoi dati vengono persi. Certo, se tendi a dimenticare le password (beh, scrivile e mettile nella tua cassaforte, allora) la probabilità di perdere tutti i tuoi dati potrebbe aumentare con la crittografia, ma non è come se i tuoi dati siano super sicuri a meno che non osi crittografarli . Non "rischi tutto dimenticando la password o un arresto anomalo", lo fai non avendo i backup.
Josef,

11

Il laptop più sicuro è quello senza dati. È possibile configurare il proprio ambiente cloud privato e quindi non archiviare nulla di importante a livello locale.

Oppure estrarre il disco rigido e fonderlo con la termite. Mentre questo tecnicamente risponde alla domanda, potrebbe non essere il più pratico poiché non sarai più in grado di utilizzare il tuo laptop. Ma nemmeno quegli hacker sempre nebulosi.

Escludendo queste opzioni, crittografa due volte il disco rigido e richiede una chiavetta USB da collegare per decrittografarlo. La chiavetta USB contiene un set di chiavi di decrittazione e il BIOS contiene l'altro set, ovviamente protetto da password. Combinalo con una routine di autodistruzione automatica dei dati se la chiavetta USB non è collegata durante l'avvio / riprendi dalla sospensione. Porta sempre con te la chiavetta USB sulla tua persona. Questa combinazione accade anche con XKCD # 538 .

XKCD # 538


7
La routine di autodistruzione automatica sarà sicuramente una piacevole sorpresa quando la chiavetta USB accumula polvere sui cuscinetti di contatto.
Dmitry Grigoryev il

10

Crittografa il tuo disco. In questo modo il tuo sistema e i tuoi dati saranno al sicuro in caso di furto del tuo laptop. Altrimenti:

  • La password del BIOS non aiuta: il ladro può estrarre facilmente il disco dal tuo computer e metterlo su un altro PC per avviarlo.
  • Neanche la tua password utente / root sarà di aiuto: il ladro può facilmente montare il disco come spiegato sopra e accedere a tutti i tuoi dati.

Ti consiglierei di avere una partizione LUKS in cui è possibile impostare un LVM. È possibile lasciare la partizione di avvio non crittografata in modo da inserire la password una sola volta. Ciò significa che il tuo sistema potrebbe essere più facilmente compromesso se manomesso (rubato e restituito a te senza che te ne accorga), ma questo è un caso molto raro e, a meno che tu non pensi di essere seguito dall'NSA, da un governo o da qualche tipo di mafia, non dovresti preoccuparti di questo.

Il tuo programma di installazione di Ubuntu dovrebbe darti la possibilità di installare con LUKS + LVM in un modo molto semplice e automatizzato. Non sto ripubblicando i dettagli qui, poiché su Internet è già disponibile molta documentazione. :-)


Se possibile, potresti fornire una risposta più dettagliata. Come puoi vedere dalla mia domanda, non sono un appassionato di sicurezza.
blade19899,

votato per i punti elenco, ma nota che la crittografia dell'intero disco non è l'unico modo, né è necessario se limiti i tuoi file sensibili a /home/yourName- come dovresti! - quindi impilare questa cartella con un driver di crittografia a livello di file (come quello che ho citato nell'OP e che non invierà nuovamente spam), un'alternativa molto praticabile. Non sono preoccupato per le persone che vedono tutte le cose noiose /usr, ecc.
underscore_d

1
@underscore_d: Sono davvero preoccupato per altre cose all'esterno /home(compresi i dati personali e professionali in altre partizioni), quindi è più facile per me crittografare tutto, ma immagino che ogni utente abbia le proprie esigenze :-). Tuttavia, l'utilizzo ecryptfsnon è la migliore decisione in termini di prestazioni. Puoi trovare alcuni benchmark qui . Assicurati di leggere le pagine 2-5dell'articolo per i risultati effettivi (la pagina 1è solo un'introduzione).
Peque,

Molto vero, grazie per il link / benchmark. Non ho ancora raggiunto alcun limite alle prestazioni, ma forse dopo lo farò. Inoltre, mi sono reso conto che probabilmente dovrò iniziare a pensare a crittografare cose come /var/log, /var/www(sorgente), e /tmp, quindi forse la crittografia dell'intero disco inizierà a sembrare più sensata!
underscore_d

@underscore_d: sì, e poi inizi a pensare /etce ad altre directory di alto livello ... Alla fine la crittografia del disco completo è una soluzione semplice e veloce che ti farà dormire come un bambino ogni notte. ^^
Peque,

5

Ci sono un paio di soluzioni hardware degne di nota.

In primo luogo, alcuni laptop, come alcuni laptop aziendali Lenovo, sono dotati di un interruttore di rilevamento manomissioni che rileva l'apertura della custodia. Su Lenovo questa funzione deve essere attivata nel BIOS e deve essere impostata una password amministratore. Se viene rilevata una manomissione, il laptop (credo) si spegnerà immediatamente, all'avvio visualizzerà un avviso e richiederà la password dell'amministratore e l'adattatore CA appropriato per procedere. Alcuni rilevatori di manomissioni emettono anche un allarme acustico e possono essere configurati per inviare un'e-mail.

Il rilevamento di manomissioni non impedisce realmente la manomissione (ma può rendere più difficile il furto di dati dalla RAM - e il rilevamento di manomissioni può "bloccare" il dispositivo se rileva qualcosa di veramente pericoloso come il tentativo di rimuovere la batteria CMOS). Il vantaggio principale è che qualcuno non può manomettere segretamente l'hardware senza che tu lo sappia - se hai impostato una forte sicurezza del software come la crittografia completa del disco, la manomissione segreta dell'hardware è sicuramente uno dei restanti vettori di attacco.

Un'altra sicurezza fisica è che alcuni laptop possono essere bloccati su un dock. Se il dock è saldamente montato su un tavolo (tramite viti che saranno sotto il laptop) e il laptop sarà tenuto bloccato sul dock quando non in uso, allora fornisce un ulteriore livello di protezione fisica. Naturalmente questo non fermerà un determinato ladro, ma sicuramente rende più difficile rubare il laptop da casa o dall'azienda, e mentre è bloccato è ancora perfettamente utilizzabile (e puoi collegare periferiche, Ethernet e così via al dock).

Naturalmente, queste caratteristiche fisiche non sono utili per proteggere un laptop che non li possiede. Ma se sei attento alla sicurezza, potrebbe essere utile prenderli in considerazione al momento dell'acquisto di un laptop.


2

Oltre a crittografare il tuo disco (non ci riuscirai): - SELinux e TRESOR. Entrambi induriscono il kernel Linux e cercano di rendere difficile per gli aggressori leggere le cose dalla memoria.

Mentre ci sei: ora entriamo nel territorio non solo della paura dei malvagi ragazzi casuali che vogliono le informazioni sulla tua carta di debito (non lo fanno) ma spesso abbastanza di agenzie di intelligence. In tal caso, vuoi fare di più:

  • Prova a eliminare tutto il codice sorgente chiuso (anche il firmware) dal PC. Questo include UEFI / BIOS!
  • Utilizzare tianocore / coreboot come nuovo UEFI / BIOS
  • Usa SecureBoot con le tue chiavi.

Ci sono molte altre cose che puoi fare ma quelle dovrebbero dare una quantità ragionevole di cose con cui devono fare il solletico.

E non dimenticare di: xkcd ;-)


Questi suggerimenti non sono utili. Né SELinux né TRESOR fermano qualcuno con accesso fisico. Non sono progettati per questo modello di minaccia. Forniranno un falso senso di sicurezza. PS L'eliminazione del codice sorgente chiuso non è completamente correlata alla protezione da parte di persone con accesso fisico.
DW

1
@DW "TRESOR (acronimo ricorsivo per" TRESOR esegue la crittografia in modo sicuro all'esterno della RAM ") è una patch del kernel Linux che fornisce una crittografia basata solo sulla CPU per difendersi dagli attacchi di avvio a freddo", quindi TRESOR sicuramente aiuta in tali scenari. Ma questo è solo un punto secondario. Ho scritto "Inoltre" poiché queste cose non faranno davvero nulla se non si crittografa il disco (in uno scenario di accesso fisico). Tuttavia, quando aumenti la sicurezza fisica, non dovresti dimenticare che l'attaccante può ancora avviare e fare anche un attacco digitale (ad esempio sfruttando i bug).
larkey,

@DW È piuttosto schifoso se il tuo PC è ben crittografato ma è soggetto a escalation di privilegi. Ecco perché - se si sta per proteggere il sistema da un lato fisico - si dovrebbe anche fare un po 'di rafforzamento dal lato software. Ho dichiarato esplicitamente che hanno indurito il kernel Linux e dovrebbero essere completati . Lo stesso vale per il software a sorgente chiuso. Il tuo disco potrebbe essere ben crittografato ma se c'è un keylogger back-door nell'UEFI non ti aiuterà contro le agenzie di intelligence.
larkey,

Se si utilizza la crittografia del disco completo e non si lascia il computer in esecuzione incustodito, gli attacchi all'escalation dei privilegi sono irrilevanti, in quanto l'attaccante non conosce la password di decrittazione. (L'uso corretto della crittografia del disco completo richiede l'arresto / ibernazione quando incustodito.) Se si utilizza la crittografia del disco completo e si lascia il computer incustodito, la crittografia del disco completo può essere ignorata da un numero qualsiasi di metodi, ad esempio il collegamento di una USB chiave hardware - anche se si utilizza TRESOR, SELinux, ecc. Ancora una volta, quelli non sono progettati per questo modello di minaccia. Questa risposta non sembra riflettere un'attenta analisi di sicurezza.
DW

1
Con la dicitura "prova a", qualunque cosa si qualifichi, la crittografia rot13 può provare a garantire che un exploit non possa assumere il controllo del sistema. Non riuscirà a meritare un maledetto, ma posso descriverlo come un tentativo. Il mio punto è che le difese che stai individuando non sono efficaci per fermare questa classe di attacchi. SELinux / TRESOR non interrompe l'avvio a freddo. Per analizzare la sicurezza, devi iniziare con un modello di minaccia e analizzare le difese contro quel modello di minaccia specifico. La sicurezza non è il processo di aspersione su un elenco infinito di restrizioni aggiuntive che sembrano buone. C'è un po 'di scienza ad esso.
DW

2

Poiché hai modificato un po 'la domanda, ecco la mia risposta alla parte modificata:

Come posso proteggere la mia macchina in modo tale che l'hacking attraverso l'accesso fisico non sia possibile?

Risposta: non puoi

Esistono molti sistemi hardware e software avanzati come il rilevamento di manomissioni , la crittografia ecc., Ma tutto arriva a questo:

Puoi proteggere i tuoi dati, ma non puoi proteggere il tuo hardware una volta che qualcuno ha avuto accesso ad essi. E se continui a utilizzare qualsiasi hardware dopo che qualcun altro ha avuto accesso, stai mettendo in pericolo i tuoi dati!

Utilizzare un notebook sicuro con rilevazione di manomissione che cancella la RAM quando qualcuno tenta di aprirla, utilizzare la crittografia dell'intero disco, archiviare i backup dei dati crittografati in posizioni diverse. Quindi rendi il più difficile possibile ottenere l'accesso fisico al tuo hardware. Ma se ritieni che qualcuno abbia avuto accesso al tuo hardware, cancellalo e buttalo via.

La prossima domanda che dovresti porre è: come posso acquisire nuovo hardware che non è stato manomesso.


1

Utilizzare una password ATA per l'HDD / SSD

Ciò impedirà l'uso del disco senza la password . Ciò significa che non è possibile eseguire l'avvio senza la password perché non è possibile accedere all'MBR o all'ESP senza la password. E se il disco viene utilizzato all'interno di un'altra macchina, la password è ancora richiesta.

Quindi, puoi usare una cosiddetta password ATA utente per il tuo HDD / SSD. Questo di solito è impostato all'interno del BIOS (ma questa non è una password del BIOS).

Per maggiore sicurezza, è possibile impostare anche una password ATA principale sul disco. Per disabilitare l'uso della password del produttore.

Puoi farlo anche sul cli con hdparm.

Prestare particolare attenzione perché è possibile perdere tutti i dati se si perde la password.

http://www.admin-magazine.com/Archive/2014/19/Using-the-ATA-security-features-of-modern-hard-disks-and-SSDs

Nota: qui ci sono anche punti deboli in quanto ci sono software che pretendono di recuperare la password ATA o addirittura pretendono di rimuoverla. Quindi non è nemmeno sicuro al 100%.

Nota: la password ATA non viene necessariamente fornita con FED (Full Disk Encryption)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.