Es wird eingegeben, wie eine Selbstzerstörung des Systems mit einem bestimmten Kennwort ausgelöst werden soll

46

Wie konfiguriere ich mein System so, dass alle persönlichen Daten gelöscht werden, wenn ein bestimmtes Passwort eingegeben wird? Die Motivation dahinter ist das NSA-Zeug.

Ich stelle mir drei Hauptanwendungsfälle vor.

  1. Bei der Anmeldung führt die Eingabe eines vorgegebenen Passwortes zur Zerstörung der Benutzerdaten.
  2. Beim System aufwachen. Die Eingabe eines vorgegebenen Passworts löst die Zerstörung personenbezogener Daten aus.
  3. Die Eingabe eines privilegierten Befehls mit einem vorgegebenen Passwort löst die Zerstörung persönlicher Daten aus.

Ich kenne das sowas von

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

Sollte für die Datenvernichtung ausreichen. Ich weiß jedoch nicht, wie ich das durch ein bestimmtes Passwort auslösen lassen soll.

Bonuspunkte, wenn dann ein Login möglich ist, während die Daten gelöscht werden.

Josh
quelle
9
Wenn Sie diese Funktion wirklich nutzen möchten, sollten Sie Ihre Festplatte verschlüsseln. Dies liegt daran, dass Sie ohne Verschlüsselung die gesamte Festplatte überschreiben müssen. Bei Verschlüsselung müssen Sie jedoch nur den LUKS-Header (oder was auch immer) überschreiben.
Strugee
1
Es gibt ein pam_python-Modul, das wahrscheinlich die Implementierung des gewünschten Moduls erleichtern würde: ace-host.stuart.id.au/russell/files/pam_python
Replay
7
Wenn es die NSA ist, um die Sie sich Sorgen machen, dd if=/dev/urandom of=/dev/$HOMEwird das nicht viel nützen. Selbst wenn sie dumm genug sind, das Betriebssystem zu verwenden, anstatt die Festplatte zu entfernen und direkt zu lesen, gibt es forensische Wiederherstellungsfirmen, die Daten von einer Festplatte abrufen können, die überschrieben und physisch gebrannt wurde.
Hör auf, Monica am
2
# 1. Wenn die NSA wirklich hinter Ihnen her war, haben sie Ihre Daten bereits vor Wochen stillschweigend ausgefiltert. # 2. Durch die Verschlüsselung Ihrer Daten hat die NSA das rechtliche Recht, Ihre Daten für immer zu behalten oder, je nachdem, was zuerst eintritt, so lange es dauert, sie zu entschlüsseln. #3. Beweise für die Vernichtung von Beweismitteln reichen oft aus, damit das Gericht Sie auf etwas aufmerksam macht. Diese "sicheren Lösch" -Programme, die Ihr Laufwerk mit Nullen oder zufälligem Kauderwelsch füllen, sind ein Beweis dafür, dass Sie etwas zerstört haben, und das würde vor Gericht gebracht werden.
Ryan Ries
3
Es deckt nicht alle Ihre 3 Fälle ab, aber schauen Sie hier: kali.org/how-to/emergency-self-destruction-luks-kali
faker

Antworten:

26

Idee Nr. 1 - Verstecktes Betriebssystem

Als alternative Methode können Sie das "Hidden Operating System" von TrueCrypt verwenden . Auf diese Weise können Sie auf ein falsches alternatives Betriebssystem zugreifen, wenn ein bestimmtes Kennwort anstelle des primären Betriebssystems verwendet wird.

Auszug

Wenn Ihre Systempartition oder Ihr Systemlaufwerk mit TrueCrypt verschlüsselt ist, müssen Sie Ihr Pre-Boot-Authentifizierungskennwort im Bildschirm TrueCrypt Boot Loader eingeben, nachdem Sie den Computer eingeschaltet oder neu gestartet haben. Es kann vorkommen, dass Sie von jemandem gezwungen werden, das Betriebssystem zu entschlüsseln oder das Pre-Boot-Authentifizierungskennwort preiszugeben. Es gibt viele Situationen, in denen Sie dies nicht ablehnen können (z. B. wegen Erpressung). Mit TrueCrypt können Sie ein verstecktes Betriebssystem erstellen, dessen Existenz nicht nachgewiesen werden kann (vorausgesetzt, bestimmte Richtlinien werden befolgt - siehe unten). Daher müssen Sie das Kennwort für das versteckte Betriebssystem nicht entschlüsseln oder anzeigen.

Bruce Schneier befasst sich mit der Wirksamkeit dieser ( Deniable File Systems) . Sie sollten sie daher vor dem Eintauchen näher untersuchen.

Die ganze Idee von Deniable Encryption ist ein bisschen wie eine Dose Würmer, weshalb Vorsicht bei der Verwendung in bestimmten Situationen im Voraus gut durchdacht sein muss.

Idee 2 - Fügen Sie ein Skript zu / etc / passwd hinzu

Sie können alternative Skripte in den Eintrag eines Benutzers in der /etc/passwdDatei einfügen .

Beispiel

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

Sie können ein Benutzerkonto so einrichten, dass ein Skript ausgeführt /usr/local/etc/sdshellwird, mit dem überprüft wird, welches Kennwort angegeben wurde. Wenn es das magische Passwort ist, das den Löschvorgang auslöst, kann es diesen Prozess beginnen (im Hintergrund sogar) und entweder auf eine Shell fallen oder etwas anderes tun.

Wenn das angegebene Kennwort nicht dieses magische Kennwort ist, führen Sie beispielsweise eine normale Shell /bin/bashaus.

Quelle: 19.6.1 Integration von Einmalpasswörtern in Unix

slm
quelle
2
Idee 2 wird nicht funktionieren. Die Shell wird erst aufgerufen, wenn das richtige Passwort eingegeben wurde (wie in / etc / shadow konfiguriert). Selbst wenn es funktionieren würde, könnte das Skript nicht überprüfen, welches Kennwort zum Zeitpunkt der Anmeldung eingegeben wurde.
Fälscher
@faker - diese Methode ist genau das Richtige unter den Einmalkennwörtern unter Unix, also glaube ich, dass sie funktionieren wird. Es kann möglicherweise nicht direkt in das / etc / shadow-Kennwort des Systems integriert werden, kann jedoch verwendet werden.
SLM
@slm von der Seite, auf die Sie verlinkt haben: This puts two passwords on the account: the traditional account password followed by the one-time password.Sie können natürlich im Skript nach einem Zerstörungskennwort suchen, aber erst, nachdem Sie das richtige Kontokennwort eingegeben haben. Im Grunde haben Sie dann 3 Passwörter. Common Account Passwort, korrektes 2nd Step Passwort und selbstzerstörendes 2nd Step Passwort. Nicht sehr nett und ziemlich verdächtig ...
Fälscher
@faker: slm hat recht - ich würde dem Link nicht Schritt für Schritt folgen, aber es würde funktionieren. Es würde immer noch nur auf eine andere Shell oder ein anderes Skript verlinken. Ich sehe keinen Grund, warum es falsch ist.
Josh
@Josh es funktioniert, wenn Sie sich 3 Passwörter merken müssen, um in Ordnung zu sein. Sonst klappt es nicht.
Fälscher
16

Mein Ansatz hierfür wäre, die Selbstzerstörung in einem Pam-Modul auszulösen . Es gibt Mechanismen, um das Passwort mit einem Skript abzufangen, zu überprüfen, ob es das "spezielle" ist und den Selbstzerstörungsprozess zu starten.

Schreiben Sie eine Zeile in Ihre /etc/pam.d/common-autherste Zeile:

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

(oder zum Beispiel, /etc/pam.d/gdmwenn Sie nur mit Authentifizierung über arbeiten möchten gdm) expose_authtokbewirkt, dass das pam_exec.soModul das Kennwort über stdin an das aufgerufene Anmeldeskript übergibt /etc/security/suicide.sh. Dieses Skript würde mit root-Berechtigungen ausgeführt und beispielsweise so aussehen:

#!/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

Es würde auch funktionieren , wenn Sie das Passwort des "normalen" Benutzers ändern .

Chaos
quelle
8

Damit Sie wissen, ob jemand von der Regierung usw. Ihren Computer greift, kopieren Sie zuerst das Laufwerk Stück für Stück und arbeiten die Kopie ab. Das Gleiche geschieht immer dann, wenn jemand Computerforensik durchführt. Wenn Sie also während der Analyse eines Laufwerks Schaden anrichten, wird nur die Kopie beschädigt.

Nehmen wir also an, die große, schlechte NSA nimmt Ihren Computer und steckt Ihre Daumen in einen Schraubstock, damit Sie ihnen das Passwort mitteilen. Wenn Sie ihnen das falsche Passwort geben, wird es nur kopiert und nicht das Original. Jetzt wissen sie, dass Sie sich mit ihnen anlegen.

Daher ist die Verwendung eines Kill-Passworts nur dann effektiv, wenn Sie es ausführen, bevor jemand Ihr System in den Griff bekommt. Es würde Ihnen also nur eine komplizierte Möglichkeit geben, etwas auszuführen, das Sie als Alias ​​verwenden könnten.

Kennzeichen
quelle
6

Wenn Sie Ihre Daten wirklich zerstören möchten. Sie müssen zuerst sicherstellen, dass zu Beginn niemand eine Kopie Ihrer Daten (dh der gesamten Festplatte) erstellt. Dies ist jedoch auf Betriebssystemebene nicht möglich.

Die einzige Möglichkeit, um sicherzustellen, dass Ihre Daten nicht in falsche Hände geraten, ist die Verwendung der Kryptografie. Besonders Deniable Encryption wäre in Ihrem Fall das Richtige: Wenn Sie das richtige Passwort eingeben, werden Ihre persönlichen Daten angezeigt . Wenn Sie das andere Passwort eingeben, werden einige harmlose Daten angezeigt.

michas
quelle
Ich mache mir die größten Sorgen um das Szenario, in dem mich jemand zur Eingabe eines Passworts zwingt oder den Computer greift, sobald ich ein Passwort eingebe.
Josh
3
Wenn Sie jemand zur Eingabe eines Passworts zwingt, geben Sie einfach das "andere" Passwort ein, wodurch die harmlosen Daten freigeschaltet werden. - Sie können daher plausibel die Existenz der realen Daten leugnen. - Wenn ich es mit Ihren Daten ernst meine, lasse ich Sie Ihren Computer nicht berühren, sondern erst eine Kopie von allem anfertigen.
Michas
6

Wenn Sie wirklich in der Lage sein möchten, Ihre Daten zu zerstören, um sie vor der NSA zu schützen, benötigen Sie etwas mit Sprengstoff und Feuer, das das Metall in den Platten schmilzt, und Sie müssen in der Lage sein, es remote auszulösen.

Ich vermute, das ist nicht praktikabel.

Bill White
quelle
0

Nun, Sie könnten ein Skript haben, um das / home-Verzeichnis Ihres primären Benutzers zu verwerfen (sowie / var, / tmp und jeden anderen Ort, an dem Sie nur Augen haben), wenn Sie sich mit einem anderen Benutzernamen anmelden ... das Skript würde um beginnen loggen Sie sich ein und laden Sie dann automatisch etwas, das den Betrachter täuscht, indem Sie etwas vermeintlich Nützliches tun. Wenn es Ihr System zerstört, ohne den Betrachter zu täuschen, kann es passieren, dass er den Stecker zieht und Ihr bestmöglicher Plan nicht funktioniert. Das ermöglicht Ihnen auch ein Login, während dies läuft ... obwohl ich den TRASHME-Benutzer auf ein anderes Laufwerk stellen würde, da das Laufwerk, das verworfen wird, ziemlich ausgelastet ist und daher viel zu tun hat.

K7AAY
quelle
1
Nicht innerhalb der angegebenen Einschränkungen.
Josh
0

Eine sichere Festplatte oder ein Flash-Laufwerk ist ein Oxymoron. Die einzige Möglichkeit, Ihre Informationen zu schützen, besteht in der Verwendung eines virtuellen Betriebssystems, das im Arbeitsspeicher ausgeführt wird und beim Ausschalten verdunstet. Alle Daten, die auf externen Medien gespeichert werden müssen, können bei Bedarf ausgeblendet werden. Es gibt eine Reihe von "Live" -Linux-Distributionen, mit denen Sie genau das tun können. Mit relativ geringem Aufwand können Sie die CD oder DVD remastern und an Ihre Bedürfnisse anpassen. Bedenken Sie auch, dass ein Großteil Ihrer Verhaltensinformationen von Ihrem Browser weitergeleitet wird und dass Sie für jede Suche, die Ihrer Meinung nach gefährdet ist, einen sicheren Browser wie Tor verwenden sollten.

user55950
quelle
Nicht meine Bitte. Ich bin mir vollkommen bewusst, dass vollkommene Sicherheit unpraktisch ist. Ich verlange keine perfekte Lösung.
Josh
0

Wenn Sie die Sicherheit gewährleisten möchten, müssen Sie sich darüber im Klaren sein, dass es keine perfekte Sicherheit gibt und dass Sicherheit nur einen Kompromiss zwischen akzeptablen Werten darstellt, nachdem eine genaue Risikobewertung stattgefunden hat.

Zunächst einmal, warum etwas zerstören. Betrachten Sie zunächst die abnehmende Zugangserleichterung. Erstellen Sie einen Luftspalt. Kaufen Sie eine Schnäppchenbox für Online-Artikel und alles, was Sie von Ihrem Haupttransportkarton über Sneakernet dorthin senden möchten. Verwenden Sie eine gute Verschlüsselung wie Scrypt. Truecrypt und andere hatten ihren ehrwürdigen Tag.

Es gibt viele andere Strategien, die Sie anwenden können, da hier nicht genügend Platz vorhanden ist, und ehrlich gesagt habe ich nicht genug Zeit, um sie zu behandeln. Ich denke, Sie haben einen ganz neuen Lernpfad entdeckt.

David Crosswell
quelle
Nicht im angegebenen Kontext.
Josh
0

Kali Linux hat auch eine Methode dafür entwickelt, auf die ich hingewiesen und die in Phoronix vorgestellt wurde. Betrachtet man einen Teil des Codes, so gibt es eine Schwachstelle, durch die der Patch immer noch besiegt werden kann, aber es ist ein langer Weg, ein wirksames Selbstzerstörungskennwort zuzulassen. Als Hinweis: Die Schwachstelle ist eine Hardware-Besonderheit, die mit dem Herausnullen von Daten zusammenhängt. Tools von Herstellern können auf Null gesetzte Daten wiederherstellen. Das Überschreiben von Schlüsselpositionen auf einem Datenträger sollte mehrmals mit einem Zufallszahlengenerator erfolgen, um ein Verwürfeln der Daten zu gewährleisten.

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

Josh
quelle
0

Ja, Sie müssen die Oberfläche des Laufwerks zerstören. Eine Thermitgranate wird empfohlen (das haben sie uns beigebracht). Sie können Ihre eigene mit einem Feueranzünder (Magnesiumblock) und einer Zündquelle herstellen. Ziel ist es, ein Feuer der Klasse D zu erzeugen. Unmöglich zu löschen .

Brian Winn
quelle
Ich glaube nicht, dass OP von physischer Zerstörung sprach ...
don_crissti