Disattiva la compatibilità della tastiera USB su MacBook

7

Sono preoccupato che i dispositivi USB siano fisicamente collegati al mio laptop MacBook quando sto per sbloccare il mio computer o mentre il mio computer è sbloccato.

Il mio modello di minaccia coinvolge un utente malintenzionato che è disposto a spendere circa $ 200 per ottenere l'accesso al mio laptop, in particolare il mio account utente o root. Pertanto, non sono possibili attacchi fisici sofisticati come complicate modifiche dell'hardware o sostituzione fisica del laptop.

Ma mi piacerebbe essere in grado di:

  1. Lascia il computer incustodito ma bloccato per alcuni minuti mentre utilizzo il bagno in un bar.

  2. Dispositivi di archiviazione USB esterni plug-in senza dover eseguire l'avvio in una VM isolata o utilizzare un account utente ospite. Essere in grado di ricaricare il mio telefono dalla porta USB utilizzando un cavo non affidabile ed essere ancora in grado di utilizzare il mio computer dal mio account utente allo stesso tempo. Essere in grado di usare monitor esterni non fidati tramite USB.

  3. Evita di dover toccare fisicamente le porte USB per assicurarti che non sia collegato a nulla di nefasto prima di digitare il login.

L'attacco di cui sono preoccupato è ovviamente BadUSB o dispositivi USB progettati su misura che possono agire come tastiere (e possono essere prodotti per meno di $ 200). Questi dispositivi potrebbero essere collegati mentre lascio il mio portatile incustodito, e può essere troppo piccolo (si pensi alle dimensioni ubikey) per essere notato immediatamente. Oppure potrebbero essere collegati da una persona seduta accanto a me quando mostro loro qualcosa sullo schermo.

Utilizzo già pratiche opsec di base, tra cui FDE, una password del firmware, una password dell'account utente che cambia spesso, blocco sempre il mio computer quando sono via, nessun riutilizzo della password, esecuzione solo dei binari, mi fido, ecc.

La soluzione che sto pensando sarebbe sulla falsariga di dover "autorizzare" i nuovi dispositivi USB quando sono collegati; e dovrei essere in grado di visualizzare il loro tipo (ad esempio tastiera VS fotocamera VS microfono VS cavo di ricarica VS dispositivo di archiviazione). Se autorizzo un dispositivo USB ed è scollegato e ricollegato, dovrei avere la possibilità di autorizzarlo nuovamente o di non autorizzarlo, e non dovrebbe essere in grado di agire fino a quando non prendo la decisione. E se un dispositivo tenta di registrarsi di nuovo come un tipo diverso, dovrebbe essere bloccato fino all'autorizzazione.

Conosci un sistema che mi consente di farlo? Grazie!

    
posta dionyziz 08.04.2015 - 14:45
fonte

3 risposte

1

Suppongo che tu voglia utilizzare una sola porta USB alla volta (potresti usare un hub per questa porta nei pochi casi in cui hai bisogno di più porte) e intendi mantenere questo macbook fino a quando non viene messo fuori servizio. (ad esempio, non importa se alcune porte USB vengono distrutte).

Quindi suggerirei di riempire tutte le porte USB tranne una con la colla di Expoxy. La porta che selezioni di essere aperta sarebbe idealmente facilmente visibile o accessibile in modo da poter rilevare successivamente manomissioni su questa porta USB aperta.

Quindi usi un blocco USB. Esistono numerosi blocchi USB disponibili, alcuni hanno una chiave "generale" che si adatta a tutti i blocchi USB, altri hanno una chiave con codice colore che si adatta solo ai lucchetti USB dello stesso colore, e altri hanno una chiave completamente unica.

Se lo desideri, puoi acquistare uno di quei fermacavi per laptop con una chiave e un "tounge" USB che si blocca nella porta USB, quindi modificare il dispositivo per rimuovere il cavo di blocco, lasciando solo il "lucchetto". In questo modo si blocca il "lucchetto" nella porta USB aperta, e quindi non può essere rimosso senza la chiave o usando la forza, e l'uso della forza distruggerebbe anche la porta USB e lasciare prove evidenti che la manipolazione è stata efficace.

Se usi raramente le tue porte USB, solo occasionalmente, potresti persino usare uno di quei "sigilli USB" numerati in serie, che è un piccolo dispositivo di plastica che inserisci nella porta USB aperta (che non selezioni per l'expoxy) ) e si blocca in modo permanente. Per rimuovere il sigillo, il sigillo deve essere distrutto e quindi il sigillo in plastica non può essere riutilizzato. Ogni sigillo ha quindi un numero di serie, che controlli su una fonte sicura (ad esempio, una carta nel portafoglio che indossi su te stesso in qualsiasi momento) quando vuoi "andare al sicuro".

    
risposta data 10.04.2015 - 01:56
fonte
1

Se sei preoccupato per BadUSB e attacchi simili, dovrai semplicemente ricorrere al controllo di tutte le porte ogni volta che torni dopo aver lasciato il computer incustodito. Prendi nota, tuttavia, che anche questo non ti protegge da BadUSB.

BadUSB significa che posso prendere un normale componente USB, far scattare il firmware personalizzato e distruggerlo. Questo può essere fatto in tempi relativamente brevi, a condizione che il chipset USB sul dispositivo in questione sia noto in anticipo. Un utente malintenzionato può afferrare il dongle WiFi, collegarlo con BadUSB e rimetterlo nel computer. BadUSB è anche peggio: un utente malintenzionato può eseguire il flashing del firmware personalizzato su un dispositivo, infettare il computer, quindi da lì in definitiva infettare tutti dispositivi USB collegati al computer in qualsiasi momento, a patto che BadUSB persiste.

La migliore soluzione per BadUSB sarebbe un hub di sorta che svolge le seguenti attività:

  1. Lo stesso hub dovrebbe never consentire il flashing del firmware, o almeno richiedere che tutti i firmware siano firmati crittograficamente.
  2. L'hub dovrebbe mantenere un elenco di autorizzazioni per tutti i dispositivi ad esso collegati. Quando si collega un dispositivo, l'hub dovrebbe notificare al computer che è stato collegato un dispositivo USB che descrive se stesso come un mouse.
    • Se richiede mai di essere una tastiera, ecc., dovresti ricevere una notifica.
  3. Nessun firmware lampeggiante attraverso dovrebbe essere consentito all'hub. Questo protegge i tuoi dispositivi dall'essere BadUSB'd.

BadUSB è cattivo. Detto abbastanza.

Si noti che almeno alcuni sistemi operativi contengono una lista nera di alcuni dispositivi USB noti come dispositivi pwnage. Questo non è abbastanza buono, tuttavia, un "id" USB è una cosa debole e facilmente rimediabile: la tua fotocamera Logitech potrebbe identificarsi come una tastiera Apple.

    
risposta data 09.06.2015 - 06:29
fonte
1

Ho scritto una soluzione parziale alle tue esigenze che condivido.

Voglio solo abilitare l'USB in occasione eccezionale. Sono in esecuzione un computer su cui non è possibile utilizzare l'uso di una chiave USB.

Ho scritto uno script di shell usb che sta solo attivando le estensioni richieste per abilitare la visibilità della memoria di massa USB quando ne ho bisogno. Ecco l'uomo:

Usage: usb [on|off|]

Per abilitare la memoria di massa USB:

usb on

per disabilitare la memoria di massa USB:

usb off

per verificare se la memoria di massa USB può essere riconosciuta o meno:

usb

Questo script di shell si basa su:

kextstat
kextunload

Questo mi consente di utilizzare la porta USB per ricaricare un iPhone, ma non mi protegge da un attacco di BadUSB.

    
risposta data 09.08.2015 - 01:49
fonte

Leggi altre domande sui tag