Mein System wird mit Full Disk Encryption verschlüsselt, dh alles außer / boot wird mit dmcrypt / luks verschlüsselt. Ich bin besorgt über Kaltstart-Angriffe , bei denen Forscher gezeigt haben , dass Inhalte für etwa 5 Minuten extrahiert werden können .
Können Sie bitte Anweisungen geben zu:
- wie man kexec in den allerletzten Schritten des Herunterfahrens / Neustarts in einen neuen Kernel auslöst
- Wie erstelle ich diesen Kernel, der den ganzen RAM abwischt?
Kannst du mir bitte erklären, wie man dasselbe auf Ubuntu macht?
Wie erkennt man das Herunterfahren? Wie starte ich den RAM Wipe? Der RAM sollte gelöscht werden, wenn der Benutzer auf "Herunterfahren" klickt oder wenn er ein "Panik-Skript" startet.
Danke für deine Bemühungen!
Vorherige Arbeit:
- Tails RAM Wipe Einführung
- Weitere Informationen zur Implementierung von Tails RAM Wipe
- Liberte Linux RAM Wipe Einführung
- Weitere Implementierungsdetails zur Implementierung von Liberte Linux RAM Wipe
- memtest löscht nicht alles
- Testen Sie, ob RAM Wipe funktioniert
- Mailinglistendiskussion beenden
- Eine weitere Diskussion über die Mailingliste von Tails
- Kernel-Fehlerbericht
Wenn Sie möchten, dass das Feature Wirklichkeit wird, stimmen Sie über Ubuntu Brainstorm ab!
security
memory
encryption
James Mitch
quelle
quelle
Antworten:
Wenn Sie keinen alten Arbeitsspeicher wie DDR2, 512 MB oder 1024 MB verwenden, sollten Sie sich keine Sorgen um CBA machen.
Sehen Sie sich hier die Originalrecherche an (PDF).
Wenn Sie es sorgfältig lesen, werden Sie feststellen, dass nur DDR2 und ältere für diesen Angriff anfällig sind. DDR3 verliert zu schnell die Spannung, um die Demontage und das Einfrieren des Computergehäuses zu ermöglichen. Ziehen Sie einfach den Stecker, bevor Sie die Tür öffnen.
Außerdem wird in diesem Dokument bestätigt, dass DDR3 nicht für eine CBA anfällig ist. Wenn Sie sich selbst schützen möchten, weil Sie über DDR2-RAM verfügen, aktivieren Sie im BIOS Folgendes:
und machen Sie dasselbe wie bei DDR3, aber nachdem Sie den Stecker gezogen haben, schließen Sie ihn wieder an. Ihr Computer startet sich selbst und wischt den RAM, indem Sie ihn überprüfen. Wenn der Löschvorgang nicht effizient genug ist, lädt der Startvorgang das System erneut in den Arbeitsspeicher. Es wird viel zu schnell gehen, um CBA zuzulassen.
Über den in den Kommentaren angegebenen Link :
Auch wenn Sie die Versuchsergebnisse überprüfen, werden Sie feststellen, dass sie die AES-Schlüssel nur in System 2 und 6 erfolgreich extrahiert haben und es sich um Warmstart-Angriffe handelte, wenn Sie sich die Spezifikationen von System 2 ansehen - 1024 MB RAM 533 MHz - das ist alt Zeug. Das andere System - System 6 mit 256 RAM / 128 RAM - ist meines Erachtens selbsterklärend.
Genau aus diesem Grund lauteten ihre Schlussfolgerungen:
Eigentlich glaube ich, dass Sie, wenn Sie sehr, sehr wichtige Daten haben, nicht nur Full Drive Encryption verwenden sollten, sondern diese auch in einer separaten verschlüsselten Datei aufbewahren sollten. Verschlüsselung mit Kaskadenalgorithmen und einem anderen Passwort als bei der Festplattenverschlüsselung. Sie möchten den PC sicher herunterfahren? Hier ist es:
Für Windows:
Für Linux:
Durch das Löschen des Caches wird sichergestellt, dass nach dem Herunterfahren keine anfälligen Daten im RAM verbleiben. Wenn jemand einen Kaltstart-Angriff durchführt, hat er bestenfalls Zugriff auf Ihr System. Sie haben keine Daten in einer separat verschlüsselten Datei gespeichert.
quelle
Peter AH Peterson von der UCLA hat eine Proof-of-Concept-Technologie geschrieben und die Theorie für den sicheren Betrieb Ihres Systems mit verschlüsseltem RAM entwickelt. Die Lösung wurde ausdrücklich entwickelt, um Kaltstartangriffe zu verhindern. Der Name seiner Zeitung ist Cryptkeeper. Ich weiß nicht, ob er die Software zum Download bereitstellt oder ob es möglich ist, sie von der UCLA zu lizenzieren. Es ist jedoch anscheinend zumindest im Prinzip möglich, ein Kryptosystem für RAM zu entwerfen, das sicher ist, selbst wenn der gesamte Inhalt des RAM offenbart wird.
Die gemessene Auswirkung dieser Lösung auf die Leistung liegt zwischen einem Overhead von 9% und einer Verlangsamung um den Faktor 9 , je nachdem, wie "pathologisch" das Szenario ist. Der Wert von 9% gilt zwar für das Surfen im Internet mit Firefox, es wurde jedoch nicht angegeben, welcher Anwendungsfall die Leistung um den Faktor 9 verlangsamen würde.
Petersons Lösung "löscht" nicht den Arbeitsspeicher, wie Sie vorschlagen. Vielmehr wird ein "sicherer Mechanismus zum Verbergen von Schlüsseln" verwendet, um zu verhindern, dass der Entschlüsselungsschlüssel nur aufgrund des Erlangens des RAM-Inhalts offenbart wird. Ich bin mir über die Details der Implementierung nicht sicher, gehe aber davon aus, dass dies in dem Papier erläutert wird.
Das Papier wurde 2010 veröffentlicht.
Es kann auf der ieeexplore-Website von IEEE erworben werden. Es kann auch kostenlos als PDF direkt von der Website einer anderen Person heruntergeladen werden. Es ist oben in den Google-Suchergebnissen für "Cryptkeeper RAM" ... aber ich bin nicht sicher, wie lange dieses Ergebnis dort oben bleiben wird.
Ich war versucht, dies als Kommentar und nicht als Antwort zu verstehen, da diese Lösung den Arbeitsspeicher nicht "löscht", wie Sie es gewünscht haben. Ich glaube jedoch, dass wenn Petersons Forschung technisch korrekt ist, dies denselben praktischen Effekt - oder möglicherweise sogar einen "besseren" Effekt - hat als das Löschen des Arbeitsspeichers. Der Grund dafür ist, dass ein erfahrener physischer Angreifer den Versuch Ihres Systemprogramms, den Arbeitsspeicher zu löschen, wahrscheinlich unterbrechen könnte, wenn er einen solchen Vorgang erwartet, z Komplett. Petersons Lösung ist sicherer, da sie nicht auf einem erforderlichen Zeitfenster basiert, in dem der Computer weiterhin Anweisungen ausführen darf, um den Löschvorgang abzuschließen. Stattdessen ist die Erinnerung konstant geschützt, auch wenn die CPU selbst augenblicklich durch eine unglaubliche technologische Leistung getötet wird, bevor Sie überhaupt die Chance haben, auf den Angreifer zu reagieren.
Und mit "unglaublicher Technikleistung" meine ich so etwas wie Stuxnet.
quelle
Ich würde mir vorstellen, dass memtest86 ziemlich gut darin ist, RAM zu löschen . Ich wollte das schon immer mal ausprobieren, habe es aber nicht getan. Wenn ich es versuche, werde ich es aktualisieren.
Lesen Sie die
kexec
Manpage . Und versuchen Sie es nicht mitkexec
der ISO-Datei, sondern entpacken Sie die ISO-Datei und sichern Sie sich die bootfähige Binärdatei. Auf der oben genannten memtest86-Site können Sie einfach die Binärdatei herunterladen.Sie müssen einen
kexec
Befehl verwenden, um das zu laden, in das Sie zuerst booten.Ich denke, Sie können Folgendes tun:
kexec -l {path-to-memtest86-bootable-binary} --append=console=ttyS0,115200n8
und wenn Sie bereit sind, den Abzug zu betätigen:
kexec -e
Ich denke (könnte aber falsch liegen), dass das
--append=console=ttyS0,115200n8
memtest86 über die serielle Schnittstelle funktioniert. Wenn Sie also eine haben, können Sie überprüfen, ob sie funktioniert, auch wenn sie bei der Videoausgabe nicht angezeigt wird. Dies ist eine Möglichkeit, da memtest86 keine Videoinitialisierung durchführt. Es ist wahrscheinlich eine gute Idee, laufende Instanzen von X zu töten.Das Debian-
kexec-tools
Paket (auch unter Ubuntu verfügbar) bindet dies in die Shutdown-Skripte ein. Wenn Sie es bearbeiten/etc/default/kexec
, können Sie den Shutdown-Prozess so konfigurieren, dass erkexec
als letztes aufgerufen wird, anstatt neu zu starten. Das heißt, wenn Sie an einem sauberen Herunterfahren interessiert sind.Im Notfall
sync; kexec -e
würde ein funktionieren.Es ist jedoch möglich, dass einige Chipsätze nach ihrer Initialisierung zu Abstürzen führen, wenn bestimmte Speicherbereiche angesprochen werden. Ich weiß nicht, wie das in der Praxis funktionieren würde.
Ein guter Kompromiss, wenn
kexec
dies nicht funktioniert, ist die Installation von memtest86 auf Ihrem Bootloader, die Speicherung als Standard-Boot-Element und eine Verzögerung von 1 Sekunde bis zur automatischen Auswahl (oder keine Verzögerung und das Aufrufen des Memus mit einem Tastendruck). Dies kann dazu führen, dass Sie von einem "Fresh-Boot" -Zustand ziemlich schnell, aber nicht sofort in memtest86 gelangen.Beachten Sie, dass dies nicht den Video-RAM berücksichtigt. Eine Lösung hierfür besteht darin, den Video-RAM als Blockgerät einzurichten und
/dev/random
für einige Iterationen auf dem Blockgerät auszugeben .quelle
Dies ist eine alte Frage, aber ich denke, ich kann dazu beitragen. Wie bereits erwähnt, ist eine softwarebasierte Speicherlöschung nicht die beste Lösung, da die Stromversorgung plötzlich unterbrochen werden kann und die Löschsoftware nicht ausgeführt wird.
Ich kann mir das beste Szenario vorstellen, um das Problem zu veranschaulichen: Sie führen zu Hause illegale Geschäfte auf Ihrem Computer aus. Eines Tages verschwindet die elektrische Energie plötzlich, und dann stürmt ein FBI-Trupp die Tür Ihres Hauses, verhaftet Sie und ein Nerd-Techniker öffnet schnell das Gehäuse Ihres Computers und verwendet ein kaltes Gas, um den Speicherzustand einzufrieren und etwas zu kaufen Zeit für einen Kaltstart-Angriff.
Der beste Weg, um dieses Problem zu lösen, besteht darin, das Computergehäuse sicherer zu machen, indem das Öffnen erschwert wird (wie bei einem Tresor), oder den Speicher zu zerstören, indem die Platine mit einem batteriebetriebenen Widerstand erhitzt wird, der durch einen Sabotageversuch gezündet wird Schalter in der Tasche. Einige Sekunden bei hohen Temperaturen können die Daten zerstören oder sogar die Chips zerstören, was in dieser Situation kein großes Problem darstellt.
quelle
Das Problem ist, wenn Ihr Computer ausgeführt wird und der Bildschirm gesperrt ist. Zu diesem Zeitpunkt ist der AES-Schlüssel im RAM gespeichert und der Benutzer ist nicht am Computer. Ein Eindringling kann das Computergehäuse öffnen und die RAM-Module entfernen, während sie mit Strom versorgt werden, und sie in einem separaten Gerät ablegen, das ihren Inhalt liest. Es ist nicht erforderlich, das System herunterzufahren oder die Module vor dem Extrahieren einzufrieren. RAM ist nicht vertrauenswürdig, um den AES-Schlüssel zu halten, aber der Cache des Prozessors ist wie die Lösung mit dem Namen TRESOR. Leider erfordert dies einen alten Linux-Kernel und fortgeschrittene Kenntnisse im Patchen und Kompilieren des Kernels.
quelle
Entschuldigung, aber Sie sind paranoid. Erstens, wie andere Benutzer angedeutet haben, funktioniert der Kaltstart-Angriff anscheinend nur auf älterer Hardware.
Wenn Sie immer noch der Meinung sind, dass es sich um eine Bedrohung handelt, ist das Löschen nicht die Lösung.
Der Kaltstart-Angriff beinhaltet:
Wenn es jemandem gelingt, den Kaltstart durchzuführen, hat Ihr Scheibenwischer offensichtlich nicht die Möglichkeit zu rennen. Es macht also keinen Sinn, einen zu installieren.
Dies ist der Hauptfall des Angriffs. Nehmen wir nun an, dass der Angreifer den laufenden Server nicht selbst neu starten möchte (z. B. weil dies einen Überwachungsalarm auslösen würde), sondern darauf wartet, dass der Angriff innerhalb von 5 Minuten nach einem sauberen Herunterfahren ausgeführt wird. In diesem Fall:
truecrypt /wipecache
löscht, bevor der Rest des Arbeitsspeichers gelöscht wird (z. B. von mnmnc erwähnt), kann die Arbeit des Angreifers erschweren. Immer noch:Wenn Sie sich also wirklich Sorgen über diesen Angriff machen, empfehle ich Ihnen, bei jedem Herunterfahren Kung-Fu zu lernen und 5 Minuten neben der Maschine Wache zu halten. Oder vielleicht ein Boot-Passwort in Ihrem BIOS verwenden? Beide vorgeschlagenen Maßnahmen müssen nicht zu 100% wirksam sein: Angreifer können Sie dennoch schlagen und das BIOS-Kennwort mit technischen Mitteln aus Ihrem MB lesen. Sie müssen sie nur um 5 Minuten verzögern, damit das Angriffszeitfenster abläuft.
Wenn Sie sich Sorgen machen, dass jemand die ganze Leistung aus der Ferne erbringt, haben Sie es bereits schwer.
quelle