Come inserire un sistema di autodistruzione con una determinata password viene inserito


46

Come configuro il mio sistema per distruggere tutti i dati personali quando viene inserita una determinata password? La motivazione dietro questo è roba della NSA.

Immagino che ci siano tre casi d'uso principali.

  1. All'accesso, l'inserimento di una password predeterminata provoca la distruzione dei dati dell'utente.
  2. Al risveglio del sistema. l'immissione di una password predeterminata provoca la distruzione di dati personali.
  3. L'immissione di qualsiasi comando privilegiato con una password predeterminata provoca la distruzione dei dati personali.

So che qualcosa del genere

dd if=/dev/urandom of=/dev/$HOME

Dovrebbe essere adeguato per la distruzione dei dati. Tuttavia, non so come attivarlo con una determinata password.

Punti bonus se consente quindi un accesso mentre i dati vengono eliminati.


9
se vuoi davvero farlo funzionare, allora dovresti crittografare il tuo disco rigido. questo perché senza crittografia dovrai sovrascrivere l'intero disco rigido, ma con la crittografia, dovrai solo sovrascrivere l'intestazione LUKS (o qualsiasi altra cosa).
Strugee,

1
Esiste un modulo pam_python, che probabilmente renderebbe più semplice l'implementazione di ciò che desideri: ace-host.stuart.id.au/russell/files/pam_python
replay

7
Se è la NSA di cui ti preoccupi, dd if=/dev/urandom of=/dev/$HOMEnon farà molto bene. Anche supponendo che siano abbastanza stupidi da utilizzare il sistema operativo invece di rimuovere il disco e leggerlo direttamente, ci sono società di recupero forense che possono ottenere dati da un disco che è stato sovrascritto e masterizzato fisicamente.
Smetti di fare del male a Monica il

2
# 1. Se l'NSA ti stava davvero cercando, hanno già silenziosamente esfiltrato i tuoi dati settimane fa. # 2. La crittografia dei dati conferisce alla NSA il diritto legale di conservare i dati per sempre, o per quanto tempo ci vuole per decrittografarli, a seconda di quale evento si verifichi per primo. # 3. La prova della distruzione delle prove è spesso sufficiente per il tribunale per ottenere qualcosa. Quei programmi di "cancellazione sicura" che riempiono il tuo disco di zero o di incomprensioni casuali sono la prova che hai distrutto qualcosa e che sarebbe stato portato in tribunale.
Ryan Ries

3
Non copre tutti i 3 casi, ma date un'occhiata qui: kali.org/how-to/emergency-self-destruction-luks-kali
falsario

Risposte:


26

Idea n. 1 - Sistema operativo nascosto

Come metodo alternativo è possibile utilizzare il "Sistema operativo nascosto" di TrueCrypt . Ciò consente di accedere a un sistema operativo alternativo falso quando viene utilizzata una determinata password, anziché il sistema operativo principale.

estratto

Se la partizione di sistema o l'unità di sistema sono crittografati utilizzando TrueCrypt, è necessario immettere la password di autenticazione pre-avvio nella schermata Caricatore di avvio TrueCrypt dopo aver acceso o riavviato il computer. Può succedere che qualcuno sia costretto a decifrare il sistema operativo o a rivelare la password di autenticazione pre-avvio. Ci sono molte situazioni in cui non puoi rifiutare di farlo (ad esempio, a causa di estorsioni). TrueCrypt ti consente di creare un sistema operativo nascosto la cui esistenza dovrebbe essere impossibile da dimostrare (a condizione che vengano seguite alcune linee guida - vedi sotto). Pertanto, non sarà necessario decrittografare o rivelare la password per il sistema operativo nascosto.

Bruce Schneier copre l'efficacia dell'utilizzo di questi ( Deniable File Systems , quindi potresti voler approfondire ulteriormente prima di immergerti.

L'intera idea di Deniable Encryption è un po 'una lattina di worm, quindi è necessario pensare in anticipo a usarla in determinate situazioni.

Idea n. 2 - Aggiungi uno script a / etc / passwd

È possibile inserire script alternativi nella voce di un utente nel /etc/passwdfile.

Esempio

# /etc/passwd
tla:TcHypr3FOlhAg:237:20:Ted L. Abel:/u/tla:/usr/local/etc/sdshell

È possibile configurare un account utente in modo che esegua uno script come quello /usr/local/etc/sdshellche controllerà per vedere quale password è stata fornita. Se è la password magica che attiva la cancellazione, potrebbe iniziare questo processo (anche in background) e cadere in una shell o fare qualcos'altro.

Se la password fornita non è questa password magica /bin/bash, ad esempio , continuare a eseguire una shell normale .

Fonte: 19.6.1 Integrazione di password monouso con Unix


2
L'idea n. 2 non funzionerà. La shell verrà chiamata solo dopo aver inserito la password corretta (come configurato in / etc / shadow). Anche se funzionasse, non ci sarebbe modo per lo script di verificare quale password è stata inserita al momento dell'accesso.
falso

@faker - questo metodo è uscito dalle password una tantum in unix, quindi credo che funzionerà. Potrebbe non integrarsi direttamente con la password / etc / shadow del sistema, ma è praticabile.
slm

@slm dalla pagina a cui ti sei collegato: This puts two passwords on the account: the traditional account password followed by the one-time password.puoi ovviamente controllare nello script la password di distruzione, ma solo dopo aver inserito la password dell'account corretta. In sostanza hai quindi 3 password. Password dell'account comune, password del secondo passaggio corretta e password del secondo passaggio autodistruggente. Non molto carino e abbastanza sospettoso ...
falso

@faker: slm ha ragione - non seguirei il collegamento passo dopo passo, ma funzionerebbe. Rimarrebbe comunque collegato a una shell o uno script diverso. Non vedo alcun motivo per cui sia errato.
Josh

@Josh funziona se si considera di dover ricordare 3 password per essere OK. Altrimenti non funziona.
falso

16

Il mio approccio per questo sarebbe innescare l'autodistruzione in un modulo pam . Esistono meccanismi per catturare la password con uno script, verificare se è quella "speciale" e avviare il processo di autodistruzione.

Scrivi una riga nella /etc/pam.d/common-authprima riga come questa:

auth    optional        pam_exec.so debug expose_authtok /etc/security/suicide.sh

(o, ad esempio, /etc/pam.d/gdmse si desidera solo che funzioni con l'autenticazione tramite gdm) expose_authtok, il pam_exec.somodulo consegna la password tramite stdin allo script di accesso chiamato /etc/security/suicide.sh. Questo script verrebbe eseguito con i privilegi di root e ad esempio sarebbe simile al seguente:

#!/bin/bash
# read the users password from stdin (pam_exec.so gives the provided password 
# if invoked with expose_authtok)
read password

# if its an authentication and it's the user "user" and the special password
if [ "$PAM_TYPE" == "auth" ] && [ "$PAM_USER" == "user" ] && [ "$password" == "magic" ]; then
  # do whatever you want in the background and the authentication could continue
  # normally as though nothing had happened
  exit 0
else
  exit 0
fi

Funzionerebbe anche se si cambia la password dell'utente "normale".


8

Solo così sai se qualcuno del governo ecc. Afferra il tuo computer la prima cosa che faranno è copiare il bit del disco per bit e lavorare fuori dalla copia. La stessa cosa viene fatta ogni volta che qualcuno fa la forense del computer, quindi se si danneggia durante l'analisi di un'unità si danneggia solo la copia.

Quindi diciamo che la grande cattiva NSA prende il tuo computer e mette i pollici in un vizio per farti dire la password. Quando si dà loro la password sbagliata, sarà solo per copiare e non l'originale. Ora sanno che stai scherzando con loro.

Quindi, qualsiasi uso di una parola di kill pass sarebbe efficace solo se lo avessi eseguito prima che qualcuno riuscisse a bloccare il sistema. Quindi tutto ciò che farebbe sarebbe darti un modo complicato di eseguire qualcosa che potresti alias.


6

Se vuoi davvero distruggere i tuoi dati. Devi prima assicurarti che nessuno faccia una copia dei tuoi dati (cioè l'intero disco) all'inizio. Ma questo non è possibile a livello di sistema operativo.

L'unico modo per assicurarsi che i dati non finiscano in mani sbagliate è utilizzare la crittografia. Soprattutto la crittografia negabile sarebbe la cosa giusta nel tuo caso: se si digita la password corretta, vengono visualizzati i dati personali. Se si digita l'altra password vengono visualizzati alcuni dati innocui.


Sono più preoccupato per lo scenario in cui qualcuno mi costringe a inserire una password o afferra il computer una volta inserita una password.
Josh,

3
Se qualcuno ti costringe a inserire una password, inserisci semplicemente la "altra" password, che sblocca i dati innocui. - Pertanto è plausibile negare l'esistenza dei dati reali. - Se sono seriamente intenzionato a ottenere i tuoi dati, non ti lascerò toccare il tuo computer, ma prima farò una copia di tutto.
michas,

6

Se vuoi davvero essere in grado di distruggere i tuoi dati, per proteggerli dall'NSA, hai bisogno di qualcosa con esplosivi e fuoco che scioglierà il metallo nei piatti del disco e devi essere in grado di attivarlo da remoto.

Sospetto che non sia pratico.


0

Bene, potresti avere uno script per eliminare la directory principale / home dell'utente (così come / var, / tmp e ovunque tu abbia dati solo per gli occhi) se accedi con un nome utente diverso ... lo script inizierà da accedi e poi carica automaticamente qualcosa che inganna lo spettatore facendo qualcosa di putativamente utile. Se distrugge il tuo sistema senza ingannare lo spettatore, potrebbero semplicemente staccare la spina e quindi impedire al tuo piano meglio predisposto di funzionare. Ciò ti consente anche di accedere mentre questo è in corso ... anche se metterei l'utente TRASHME su un'unità diversa per l'unità che verrà spazzata sarà piuttosto occupata e quindi ficcanaso.


1
Non nei limiti indicati.
Josh,

0

Un disco rigido sicuro, o unità flash per quella materia, è un ossimoro. L'unico modo per proteggere le tue informazioni è utilizzare un sistema operativo virtuale che viene eseguito in memoria ed evapora quando si spegne l'alimentazione, con tutti i dati che devono essere salvati su supporti esterni che è possibile nascondere se lo si desidera. Ci sono un certo numero di distribuzioni Linux "Live" là fuori che ti permettono di fare proprio questo. Con relativamente poco sforzo, puoi rimasterizzare il CD o il DVD e personalizzarlo in base alle tue esigenze. Inoltre, tieni presente che gran parte delle tue informazioni comportamentali vengono trasmesse dal tuo browser e, per qualsiasi ricerca che ritieni compromettente, dovresti utilizzare un browser sicuro come Tor.


Non è la mia richiesta. Sono perfettamente consapevole che la sicurezza perfetta non è pratica. Non sto chiedendo una soluzione perfetta.
Josh

0

Se si desidera mantenere le cose sicure, capire che non esiste una sicurezza perfetta e che la sicurezza non è altro che un compromesso tra gli accettabili dopo aver effettuato un'accurata valutazione del rischio.

Per cominciare, perché distruggere qualcosa. Primo sguardo alla facilità di accesso decrescente. Crea un vuoto d'aria. Acquista una scatola di bcheaap per materiale on-line e tutto ciò che desideri inviare dal tuo contenitore principale trasportandolo lì tramite sneakernet. Usa una buona crittografia, come Scrypt. Truecrypt e altri hanno avuto la loro venerabile giornata.

Ci sono molte altre strategie che puoi adottare, con spazio non sufficiente per affrontarle qui, e francamente non ho abbastanza tempo per affrontarle. Penso che tu abbia scoperto un percorso di apprendimento completamente nuovo.


Non nel contesto dichiarato.
Josh

0

Come mi è stato fatto notare e presentato su Phoronix, Kali Linux ha creato anche un metodo per farlo. Osservando parte del codice, esiste una debolezza che consentirà comunque di sconfiggere la patch, ma è molto utile per consentire una password di autodistruzione efficace. Come nota, il punto debole è una particolarità dell'hardware correlata all'azzeramento dei dati: gli strumenti del produttore possono recuperare i dati azzerati e la sovrascrittura delle posizioni chiave su un supporto dovrebbe essere eseguita più volte con un generatore di numeri casuali per garantire la confusione dei dati.

Link qui: http://www.kali.org/how-to/emergency-self-destruction-luks-kali/


0

Sì, devi distruggere la superficie dell'unità. Si consiglia una granata a base di termite (questo è ciò che ci hanno insegnato) Puoi crearne uno tuo con un avviatore (blocco di magnesio) e una fonte di accensione ... l'obiettivo è quello di creare un fuoco di classe D ... impossibile da spegnere .


Non credo che OP stesse parlando della distruzione fisica ...
don_crissti,
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.