 Also eines der großen Stolpersteine bei Computersicherheit ist die Benutzerfreundlichkeit und insbesondere wenn dann alles sicher aussieht, aber nicht wirklich sicher ist und wenn man dann auch noch ein System hat, einem Tritzsystem wie Windows, das BitLocker mitbringt und BitLocker sieht dann, dass das Gerät schon hartwärtsseitig Verschlüsselung unterstützt, dann verlässt sich auch BitLocker darauf, dass diese hartwärtschlüsselung sicher ist, auch wenn sie es nicht, ist unter Umständen. Okay, vielen Dank. Wer ist das für Bock? Ich bin ein Doktorand an der Radbau und University, neben Hengen. Und mein Fokus ist auf kryptografischen Systemen, die tatsächlich in der Realität eingesetzt werden. Und es geht auch, und ich schaue mir auch Passwortgeneratoren für WLAN-Router an. Und wenn meine Forschung für euch interessant ist, könnt ihr mich hier unter diesen Adressen auch erreichen. Ich möchte zunächst einmal mit ein paar Dank-Sagungen beginnen. Zum einen Philipp Güring, der mir bei den Samsung 840 Reverse-Engineering geholfen hat. Und ihr könnt auch sein Projekt anschauen. Und zunächst einmal, was ist eine selbstverschlüsselnde Festplatte? Und nun, das generelle Prinzip ist halt, dass man ein Originaltext hat, ein Algorithmus, und dann generiert man daraus den verschlüsselten Text, und dann speichert man das auf der Festplatte. Und das ganze funktioniert nicht mit einem Verschlüsselungsschlüssel. Und das ist natürlich die Art und Weise, wie das softwareseitig funktioniert, sodass man halt wirklich die Verschlüsselung in Software macht und dann auf die Hardware speichert. Und wenn man jetzt Hardware Verschlüsselung betrachtet, dann hat man halt den Klartext, und dieser Klartext wird ebenfalls mit einem Verschlüsselungsschrie verschlüsselt, aber das ganze passiert dann auf der Festplatte. Und das Ding ist natürlich, wenn jetzt der Benutzer kein Passwort vorgibt, oder kein Encryption-Kiev, also kein Verschlüsselungsschlüssel vorgibt, dann ist natürlich der Standard, der vom Gerät selber verwendet wird, der Verschlüsselungsschrie, und das kann ein Problem sein. Und das ganze ist natürlich relativ kompliziert. Was ist jetzt eigentlich ein sehr verschlüsselendes Gerät? Was beteiligt sich überhaupt daran, Sachen auf der Festplatte zu speichern? Es gibt sehr viele Systeme und Komponenten, die dann in der Hardware mit beeinflussen, wie die Daten gespeichert und auch eventuell verschlüsselt werden. Na ja, was ist jetzt die beste Möglichkeit, um Daten sicher zu speichern oder vor Spionage zu speichern, ist halt mit selbstverschüsselten Festplatten oder um genau zu sein selbstverschüsselten SSDs. Aber die Frage ist halt, wie inwieweit sollte man diesen Sachen dann tatsächlich auch trauen? Also, wenn man jetzt auch vor allen Dingen Software nimmt, wie BitLocker, die halt für Verschlüsselung von Daten zuständig ist, dann ist es auch so, dass BitLocker, wenn es mit der Festplatte redet und feststellt, okay, hey, die Festplatte bietet von sich aus eine Festplattenverschlüsselung an, dass es dann ebenfalls sagt, okay, ich muss selber nicht verschlüsseln, ich überlasse die Verschlüsselung der Festplatte. Auch wenn die Festplatte unter Umständen keine vernünftige Verschlüsselung durchführt. Und ja, das Problem ist natürlich auch dieses Bewusstsein überhaupt für dieses Problem, ist gar nicht mal so verbreitet. Und es ist ja auch wichtig zu berücksichtigen, dass Datenextraktion häufig auch dadurch zustande kommt, dass ein Eindringling es schafft, Zugriff zu haben auf den Computer, und zwar direkt, in dem man sich im gleichen Raum befindet. Und dann halt auch dazu fähig ist, Daten zu extrahieren. Und was natürlich jetzt wichtig zu berücksichtigen ist, wenn man jetzt Softwareverschlüsselung verwendet, dann ist das Problem natürlich, dass der Schlüssel für diese Verschlüsselung im Arbeitsspeicher liegt. Und dieser ist natürlich, auf diesen kann man natürlich zugreifen, wenn man als Angreifer im gleichen Raum ist, wie der Rechner, und dann der eigentliche Eigentümer des Computers nicht in der Nähe ist und den Angreifer nicht davon abhalten kann, auf den Arbeitsspeicher zuzugreifen. Und bei Hardwareverschlüsselung ist es halt, hatte man eigentlich theoretisch den Vorteil, dass der Schlüssel eigentlich nicht im Rahmen liegen sollte, aber in der Realität sieht es halt so aus, dass der Schlüssel doch im Arbeitsspeicher für Hardwareverschlüsselung gespeichert wird. Und dadurch hat man halt eine gute Möglichkeit verschenkt, die Verschlüsselungsschlüssel sich jetzt zu speichern. Und es gibt natürlich noch den Storage Controller, also den Speicherkontroller, wo man auch den Schlüssel speichern kann, aber auch der ist nicht sonderlich sicher, wenn es darum geht, ausgelesen zu werden. Man kann jetzt auch einfach ein Debugging-Device an die Platte anschließen und damit alle Daten auslesen. Also insbesondere halt den Verschlüsselungski und dadurch dann Zugriff auf die entschlüsselten Daten bekommen, wenn man den Schlüssel hat. Also es gibt halt sowohl Zwischensoftware als auch Hardware ähnlich gute Ausgangslagen, leider so, dass man halt sagen kann, Hardwareverschlüsselung ist leider nicht so viel stärker. Und die Frage ist natürlich, wie ist es jetzt, wenn der Maschine ausgeschaltet ist und der Angriff hat einen Zugriff auf eine abgeschlossene Maschine, dann kann man natürlich auch sagen, okay, man kann jetzt als Angreifer in Abwesenheit des Besitzers an die Maschine rangehen, eine Hintertür installieren und dann darauf warten, dass der Benutzer, wenn er den Rechner wieder startet, den Schlüssel auf der Maschine installiert. Dann gibt es natürlich noch die Situation, dass es gibt natürlich auch noch die Variante, dass ein Angreifer das Laufwerk stirbt oder dass die Maschine aus irgendeinem Grund als kompromittiert gilt. Das Ding ist, also man kann natürlich jetzt verschiedene Ansätze verwenden. Es gibt halt Ender Software Verschlüsselung, die natürlich dann jetzt sinnvoll ist, also die auch gut funktioniert, wenn die Maschine aus ist und wenn der Schlüssel deswegen auch nicht im Rahmen ist. Und es gibt natürlich jetzt auch die Hardware Verschlüsselung, aber das Ganze ist natürlich für uns als Nutzer wie eine Blackbox, es ist sehr schwer zu beurteilen, ob es sicher ist und es gibt halt auch einige Stolpersteine, was die richtige Verwendung angeht. Ich möchte jetzt mit euch über einige Standards sprechen. Es gibt zwei weitbereitete Standards. Es gibt das ATA und CCG OPAL. Man kann natürlich jetzt zwischen beiden wählen, das eine ist ein bisschen älter als das andere und CCG OPAL ist tatsächlich dafür entwickelt worden für Festplatten mit Hardware Verschlüsselung entwickelt worden. Wenn man jetzt ein System hat wie das hier, man hat jetzt ein Passwort, das Passwort wird gehascht mit einem Salz und dann hat man natürlich das Ergebnis des Hashings und dann vergleicht man natürlich das gehascht und gesoltete Passwort mit dem Wert, der dabei rauskommen sollte und dadurch entscheidet man, okay, sollte es jetzt eine Entschlüsselung geben. Und wie gesagt, diese Methode ist ein bisschen älter, also sie wurden nicht für entwickelt für selbstverschlüsselende Festplatten und es ist im Prinzip ein relativ simples System. Und jetzt, was jetzt nochmal das ATA angeht, es gibt zwei Passwörter, einmal das Benutzer Passwort und einmal das Meister Passwort, aber beide können nicht gesetzt werden und das initiale Meister Passwort ist bereits festgelegt vom Hersteller und das macht es natürlich schwierig für den Benutzer, Sachen zu ändern und auch das System tatsächlich abzusichern. Also so hätte ich das jetzt gemacht. Das Passwort hasht es und vergleicht es dann. Der Grund ist einfach, wenn man die Blattlöschen will, da braucht man nicht beide Passwörter. Das ist das System, das ist das System. Der Grund ist einfach, wenn man einfach die Blattlöschen will, da braucht man nicht beide Passwörter. TCG-Opal, das ist ein bisschen moderner und das ist eigentlich der Standard für diese Art der Festplattenverschlüsselung. Es gibt mehrere Partitionen und es gibt mehrere Passwörter und ein einziger Zugangsdaten kann eben verschiedene Bereiche entsperren und ein Bereich kann mehrere Zugangsdaten entsperren. Also sozusagen N zu N. Also wenn man jetzt beliebiges Passwort oder beliebiges Bereich hat, dann wenn euch jetzt vorstellt, wenn man das jetzt implementiert, dann ist es nicht überraschend, dass Leute da Probleme mit haben und Fehler machen. Und man kann natürlich auch einen Bereich neu generieren, unabhängig von anderen. Und das BitLocker verletzt sich da komplett drauf. Es benutzt nicht diesen Arterstandard, aber es nutzt rein diesen TCG-Opal-Standard. Es gibt natürlich viele Hindernisse. Der erste Stolperstein hier ist, das ist eigentlich der dümmste. Man hat also einen Passwort, der vom HostPC kommt und alles, was halt in der Platte kommt, wird halt mit einem Schlüssel verschlüsselt. Und in der Mitte ist der Blackbox, das genügt halt das eine mit dem anderen. Aber wir wissen nicht, wie das funktioniert. Wir wissen nicht mal, ob das irgendwie miteinander zusammenhängt. Also wenn nicht, dann alle Geheimnisse, die man braucht, gibt es eh schon auf der Platte. Und das passiert tatsächlich. Also der Stolperstein Nummer zwei ist, wenn man das jetzt naiv hier implementiert, dann nimmt man einen einzelnen Schlüssel, um alle Daten zu verschlüsseln und dann eben verschiedene Passworte um diesen Schlüssel zu verschlüsseln. Also das schwächste Passwort gibt Zugriff auf alles. Man kann das natürlich in der Software absichern, aber es ist nicht kryptographisch gesichert. Also halt mit If Statement sozusagen, wenn man die Firma dann modifiziert, kann man das umgehen. Und selbst in dem Fall hat BitLocker einen Bereich, der nicht geschützt ist, zum Beispiel die Partitions-Tabelle. Wenn man dieses Schema hat, dann braucht man gar kein Passwort, denn dieser Bereich muss natürlich entschüsselt werden. Also in dem Fall kommt man eben an den Schlüssel ran, an die Geheimnisse ran. Es gibt natürlich das Problem des Zufalls, man kann die Schlüssel nicht wirklich beeinflussen. Man muss sie halt irgendwie dazu bringen, neu generiert zu werden. Und man weiß halt nicht, ob der Zufall eben kompromittiert ist. Und dann gibt es hier noch Wear-Leveling. Es gibt Probleme mit Abnutzung. Also es ist auch wichtig, dass sichergestellt werden, dass der Flash Chip dann nicht zu sehr abgenutzt wird, weil es nur eine begrenzte Anzahl von Schreibvorgängen geben kann, weil die Festplatte halt auch altert. Und deswegen ist es auch wichtig, die Schreibzugriffe zu verteilen auf der Platte. Und deswegen gibt es halt auch Module, die dann halt logische Sektoren zu physikalischen Sektoren mapen. Und dadurch können halt auch Daten in verschiedenen Sektoren landen, anders als man es eigentlich geplant hatte. Und dann ist natürlich auch noch die Frage, der Schlüssel ist irgendwo drin, aber er ist natürlich jetzt nicht wirklich geschützt. Und wenn man halt Probleme hat mit der Abnutzung, dann hat man auch das Problem, dass alte Daten halt einfach drin bleiben, weil sie halt nicht mal überschrieben werden können. Und überschreiben ist einfach nicht mehr möglich, auch wenn es natürlich, also es ist wichtig, wenn man es richtig machen will. Und das gibt natürlich auch jetzt noch Sachen wie Energiespar-Modus, die jetzt ebenfalls die Sicherheit kompromettieren können. Und die Art und Weise, wie das dann definiert ist, kann halt beeinflussen, inwieweit der Schlüssel abgesichert ist. Das heißt halt auch, geheime Schlüssel können halt im Speicher liegen oder gespeichert werden, wenn und zwar in Bereichen, die halt nicht flüchtig sind. Und dann gibt es natürlich jetzt Probleme, die halt generell gültig sind, die auch Software betreffen. Also jetzt die Ableitung von Schlüsseln und so weiter und so fort. Und jetzt neben Kanale, es ist halt, es gibt eine Menge Probleme, die man berücksichtigen muss. Und wir versuchen halt, die Sachen möglichst klar oder strukturiert jetzt durchzuarbeiten. Das erste ist halt zunächst einmal das Image von der Firmware zu bekommen. Also jetzt das Programm, das die Festplatte kontrolliert. Wir versuchen es erstmal runterzuladen, was nicht so einfach ist, wie es scheint. Häufig gibt es halt auch noch zusätzliche Verschleierungen, wenn man jetzt das Firmware-Image runter lädt. Es ist halt echt nicht einfach damit umzugehen und dann zu rekonstruieren und dann halt auch im Endeffekt zu verstehen, wie die Festplatte sich verhält. Man muss halt sehr viel Low-Level-Vorgänge machen und sehr viel rumtricksen, um an die Sachen heranzukommen. Und wenn man jetzt den Schlüssel selber nicht hat, dann kann man auch nicht das Image selber entschlüsseln. Eine andere Strategie ist, die Firmware durch den Arbeitsspeicher mithilfe den J-Tech zu laden. Lass uns das genauer anschauen. Also der J-Tech ist ein, das Gerät, also die Festplatte deutlich stärker zu kontrollieren oder vollständig zu kontrollieren. Bei einigen Modellen ist es relativ einfacher, direkt darauf zuzugreifen, physikalisch. Bei anderen muss man ein bisschen mehr rumschauen, ob man es findet oder wie man darauf zugreift. Und wenn es nicht da ist oder wenn es nicht findet, dann kann es auch sein, dass es halt ausgeschaltet ist. Also wie fühlt man jetzt dann Code aus, der nicht signiert ist? Man kann natürlich jetzt auch, man kann Glück haben und es gibt halt bekannte Sicherheitslücken, die man nutzen kann. Einige Module haben auch Code in einem Speicherchip gespeichert, den man dann auch ändern könnte, um das Modul zu beeinflussen. Oder wenn man halt richtig hardcore sein will, kann man auch kriptografische Signaturechecks mit physikalischen Fehlern selber beeinflussen. Dann kommen wir natürlich dazu, wie wir jetzt die Firmen dann analysieren, wenn wir sie gekriegt haben. Also zunächst einmal muss man halt mit dem Image oder für das Image die Sektionen Information herausfinden. Das heißt auch, man muss jetzt für den Adressraum genau wissen, was ist wo und dann das Image in einen Disassembler laden, um herauszufinden, was die Firma macht. Und das ist jetzt auch wesentlich schwieriger, als es einfach nur zu sagen, weil es ist echt schwer, das zu verstehen. Man muss die Datenstrukturen verstehen, man muss halt wissen, ob es Verbellnis gibt und man muss viele Details verstehen und berücksichtigen. Und das Wichtigste ist halt diese RTR Dispatch-Table, sobald man die findet und die halt bei so ziemlich allen Herstellern vorhanden ist, dann hat man es auch deutlich leichter zu verstehen, wo was ist und wie man bestimmte Sachen anspricht. Man findet es in der Regel innerhalb von einem ein paar Tagen. Manchmal kann man auch interessante Obcodes finden, die dann halt für den Hersteller spezifisch sind. Dann möchte ich jetzt ein paar Pfeilbeispiele mir betrachten. Also wir haben den Marvel 800SS 9198 Controller uns angeschaut und er hat einen Dual-Core Prozessor mit einem propertären Design und es hat einen Crypto-Core Prozessor auf der Hardware, der jetzt nicht so mächtig ist oder sehr so schnell ist, aber er ist halt Teil davon. Dann gibt es halt noch die Firma Images, also die Software, die dann die Hardware kontrolliert, direkt auf dem Chip und diese Sachen sind halt startbare Iso-Images, die auch kryptographisch signiert sind, aber sie haben auch einen JTAC Debug, eine JTAC Debug-Schnittstelle, so dass man sie analysieren und modifizieren kann oder beeinflussen kann. Und was wir herausgefunden haben, ist, dass viele Passwörter halt gehasht sind, dann vergleicht werden und dann auch verworfen werden, wenn dann jetzt versteht, ob sie jetzt übereinstimmen oder nicht übereinstimmen mit dem gewünschten Passwort. Und eigentlich, allerdings wenn man jetzt diesen Vergleich auf der Hardware entfernt, dann hat man natürlich jetzt die gesamte Sicherheit ausgehebelt. Und bei TCG-Opal ist es halt genauso, da ist halt, man kann einfach diese Komponente auf der Hardware ausschalten oder ausknocken und dann hat man die Sachenumgang. Und es gibt halt noch einige weitere Möglichkeiten, die wir direkt bei der Hardware mitliefern. Und die kann man dann auch nutzen, um die Hardware zu beeinflussen, sodass man halt beliebige Daten dann auch in den Speicher von den Hardware-Komponenten reinschreiben kann. Ja, also es ist alles toll, wenn man es auf diese Art und Weise machen kann. Und der MX100 ist quasi der Nachfolger davon. Es ist ähnliche Controller, ähnliche Firmware, also gleiche Controller, ähnliche Firmware und es sind einige Löcher bekannt, also sich jetzt klicken. Allerdings beim MX300 haben sie sich doch nochmal ins Zeug gelegt und es ist halt ein neuer Controller und sie haben leider JTAC ausgeschaltet und sie haben den kompletten Sicherheitscode neu geschrieben. Aber die Herstellerbefehle sind immer noch da, aber man braucht kryptografische Signaturen, um sie zu aktivieren. Es gibt einige bekannte Pufferüberläufe, aber keine davon sind, soweit wir es wissen, nutzbar, um die Hardware zu manipulieren. So wie können wir jetzt es doch noch schaffen, Befehle auf diesen Geräten oder Komponenten auszuführen? Dafür haben wir uns den Startprozess angeschaut, wie dann halt die verschiedenen Komponenten einander laden und miteinander kommunizieren. Wenn man jetzt den NAD-End, also den NAND-Chip entfernt, dann kann man Sachen halt beeinflussen. Also lasst uns mal auf den SPI-Flash schauen und es befindet sich hier an dieser Stelle und wir haben dann ein Lesegerät an diese Stelle montiert oder angebracht. Und dann haben wir das Lesegerät angebracht, natürlich ein Backup angefertigt, damit wir halt Sachen wieder herstellen können. Und dann halt Code geschrieben, der diese Naturüberprüfung entfernt und dann die Sachen halt überschrieben mit unserem eigenen Code und danach konnte der Treiber dann beliebige Firmware akzeptieren. Und dadurch konnten wir dann auch beliebige Features wie Schreiben oder Lesen auf unsere Art und Weise implementieren, so dass wir alles machen konnten. Wir haben halt auch das Schlüssel-Ableitungsschema von der Hardware abgeleitet und das Passwort vom Benutzer oder von einer anderen Komponente von außen rein kommt, wird nur Benutzer mal einen bestimmten Schlüssel zu verschlüsseln und das anmerkungsübersetzt, das ich komme grad nicht mit. Aber am Endeffekt, am Ende steht dann der RDS-Key und sobald man diesen RDS-Key hat, hat man Zugriff auf alle geschützten Bereiche. Und allerdings sieht man auch, dass viele Sachen halt im Klartext gespeichert sind. Also man braucht halt wirklich ein Passwort. Man wird dann nicht einfach mehr Passwörter benutzen für verschiedene Bereiche, das ist kein Szenario. Aber wir haben es trotzdem in der Möglichkeit gefunden, dass wir umgehen. Also wir haben die Passwort-Protect-Schutzfunktion angeschaut. Von dem Namen her geht man an, dass die Funktion halt einfach an den Herrscher zeugt, aber es macht eigentlich mehr. Der Output hat wirklich den RDS-Key schon drin, der verschlüsselt ist mit dem Passwort. Aber man sollte die Ausgabe dieser Funktion eher einfach so rumwerfen. Wir haben so ein bisschen codeinitiiert in die Firma auf eine Funktion und wir haben halt die Verhaltensweise ein bisschen gegendert, sodass immer noch die originale Verhaltensweise drin ist. Aber es lockt einfach dann auch auf dieser Funktion mit, mit den Parametern. Was man kriegt, dann kriegt man dieser Lockdatei. Also einfach, der Passwort ist ein Nullpuffer und speichert ein RDS-Key in einer Tabelle und in ganz vielen anderen Slots wäre das auch aufgerufen. Und dieser RDS-Schlüssel ist dann an allen diesen Slots gespeichert aus einem 15. Und der encryption-Key ist ein Nullpuffer. Also eine Angriffstrategie ist, indem man die modifizierte Firma flasht, dann entwirft man eben ein bisschen Code, den Key, den Entschlüssel rausholt und führt den Code aus. Und dann haben wir den Schlüssel. Das ist aber noch nicht ganz am Ziel. Es gibt noch ein bisschen Zugangskontrollen, die man entfernen muss. Also gibt es eine Passwortverwerfizierungsfunktion, die eben in den hash überprüft, das muss man eben ausschalten. Und dann hat man einen kompletten Zugriff auf alle Bereiche. Jetzt machen wir einen kleinen Demo. So, es hat jetzt meinen Flash erkannt. Das ist hier auf meinem Schreibtisch. Das ist mein USB-Plaster, mein USB-SPI-Lesegerät. Und das ist die Crucial MX300. Und die ist natürlich verbunden. Das ist halt dieses JTAG-Gerät dazwischen, aber das ist einfach nur da, um die Spannung anzuzeigen. Ich habe hier ein kleines Cheat-Sheet. Was ich jetzt mache, ist, dass ich schon ein Backup davon gemacht habe. Das ist eine Makefile, die alles für mich macht. Sie patcht die Firmware. Und das USB-I-Flash-Image ist schon gepatched. Das ist das hier. Und jetzt flashe ich es aufs Gerät. Jetzt muss ich kurz mal ein Cheat-Sheet schauen. Jetzt flashe es gerade. Es braucht es ein bisschen. Zwischenzeit zeige ich euch ein Video, das ich früher schon mal gemacht habe. Das ist die BitLocker-Einrichtungsphase. Die ist die Festplatte verbunden fürs erste Mal. Das wird erkannt. Jetzt machen wir eine leere Partitions-Tabelle. Neues Volumen erstellen. Alles mit den Standard-Parametern. Dann machen wir BitLocker an. Das Passwort ist ASDF-ASDF. Man kann sehen, dass es keinen Dialog gibt. Möchten Sie die Hardware-Verschlüsselung? Was benutzt das einfach? Jetzt ist die Festplatte-Verschlüsselung aktiviert. Schauen wir mal, ob das Flaschen fertig ist. Das ist nicht der Bereich, den ich modifiziert habe. Das ist okay. Jetzt werde ich das hier abstecken. Das Lesegrä ist entfernen und das hier einstecken. Festplatte wurde erkannt. Das ist der Lesegrä. Das ist der Lesegrä. Das ist der Lesegrä. Das ist der Lesegrä. Oh, wow. Mein Kernel ist abgestürzt. Während der Laptop neu startet, bin ich das metaphorische Hühnchen. Das ist geschlachtet, um die Götter zu besänften. Hand an's Herz wäre, hatte schon mal ein Crash bei einer Präsentation, aber bitte die Hand heben. Von denen war es hardware-seitig und hardware-fehler, dass die Software dir abgestoßt ist. Jetzt kannst du weitergehen. Die SBI ist geflasht, sollte also beliebige Firmware-Images akzeptieren. Also machen das noch mal ein beliebiges modifiziertes Firmware-Image. Und jetzt flesche ich das noch mal, das ist der Befehl mit HD-Parm. Das ist der Befehl dazu. Ja, ich weiß was ich tue, bitte mach meine Platte kaputt. Ah, großartig. Das funktioniert nicht. Okay. Fertig. Okay. Okay. Yes. Okay, so jetzt, äh, ich muss ein Code kumpelieren. Cover, das ist schon fertig. Ich benutze mein Werkzeug Tinker, um das in den Speicher zu schreiben. Ach ja, lass uns mal kurz den RDS-Key auslesen. Also, alles neu? Oder nicht geladen? So, das ist einfach in den Adress-Bereich geschrieben. Ah, erfolgreich. Jetzt wenn wir es ausführen. Und dieser Sprung war erfolgreich. Und da ist der Schlüssel. So kryptografisch haben wir es ja gewonnen. Aber jetzt müssen wir natürlich noch die Platte entsperren. Dazu mache ich mal einen Befehl hier. Und wir machen einfach einen Detail, der eben 4-Bike groß ist und laden die auf die Platte hoch. Und jetzt soll es mir möglich sein, dass die Platte mit einem beliebigen Passwort zu entsperren. Oh, ja, right. Da ist sie. Das war, ja, so einigermaßen okay. Sie behaupten, das ist die beste Hardware-Verschlüsselung. Das belasse ich euch zu glauben, ob es wahr ist oder nicht. Es gibt natürlich auch die ATR-Sicherheitsfeatures. Standweise hat es dann leeres Passwort. Man muss es natürlich ändern. Oder diese Flag auf Maximum setzen für das MX300 ist es nicht hinreichend. Wenn man diese spezielle Firma hat, dann kann man das einfach auf Null setzen und dann auf High down to grain. Und dann kann man wieder mit einem leeren Passwort das machen. Das werde ich hier nicht vorführen. Jetzt machen wir mit der Samsung 840 EVO weiter. Das ist die erste Samsung, die den TECG OPAL-Standard umsetzt. Das sind 3 Cortex R4 auf 400 MHz, ziemlich stark. Die Firma-Images gehen durch den Magician oder ein bootbares ISO-Image. Und die sind kryptografisch unterschrieben. Das ist das Schema. Und jetzt bleiben wir von links kommt ein Passwort vom Benutzer. Wir nehmen halt ein Salt und eine Tabelle. Die Quedential-Tabelle gibt insgesamt 14 Zugänge. Man kann 14 Zugänge definieren. Das ist das erste Salt. Man macht einen Hash und werfen sie den Hash. Und wenn es passt, dann nehmen wir den zweiten Salt mit dem Schlüssel. Der Schlüssel, der entschlüsselt einen Eintrag in einer Tabelle. Die ist 14 x 9 Einträge groß. Für den Zugangsdaten gibt es einen Eingang für die neuen Bereiche, die möglich sind. Das sind diesen Eintrag. Und nutzt das, um diesen Eintrag zu entschlüsseln. Das gibt einen neuen Schlüssel, mit dem man einen Eintrag in dieser Plattenverschlüsselung stabelle entschlüsselt. Und das ist die OPAL Implementation. Sie nehmen also wirklich 60 K Blocks, um all diese Daten zu speichern. Und man hat alle die kriptografischen Erzungen in Features. Und hier wirklich Graduation an Samsung, sie haben es richtig hinbekommen. Für die ATA-Sicherheitsfeatures hängt dieser DEK wirklich nur vom Passwort nur in der Maximummodus ab. Das heißt, Passwort und Schlüssel sind nicht verknüpft. Und können einfach dann Passwortprüfungen entfernen. Und man kann machen, was man will. Diese 64 K Blob ist irgendwo gespeichert. Und das ist in diesem Abnutzungsspeicher gespeichert. Das heißt, man kann einfach einen Nand suchen und eventuell eine frühe Version finden. Oder vielleicht findet man auch Plain Text Key und das haben wir auch umgesetzt. Aber es ist unwahrscheinlich, dass man das finden wird. Aber wenn man das findet, dann ist man fertig. Und das betrifft natürlich sowohl ATA als auch TCG OPAL. Das ist in derselben Datenstruktur. Jetzt machen wir eine 850 weiter. Das ist der Nachfolge für die 840. Hat einen neuen Controller und andere Firmenabfosskation. Es passiert aber immer noch auf dem HostPC. Und das gibt aber hier dieses Dev Sleep. Das haben wir uns hier mal angeschaut. Das hatte die 840 noch nicht. Alles ist ein bisschen anders, aber es gibt ein paar Änderungen. Abgesehen von der Krypto-Implementierung. Es gibt also diese Schwachstellen. Seitdem diese Abnutzungsscheinung, das haben sie gefixt. Die T3 Portable, das ist eine tragbare Platte. Das ist ein ähnliches Verhalten. Das ist einfach mit einer USB-SATA-Konvertiere davor. Wir haben, es gibt eine T3-Spezifische Firmware, aber die gibt es nicht zum Downloaden. Es gibt eine Probe-Tiere, Sicherheitsbefehle, aber nichts Probe-Tiere. Und AS256 ist ein großer Teil von dem Marketing. Es gibt dieses Konfigurationstool. Es geht auch nur für Android, das ist eigentlich ziemlich cool. Und die Implementierung von diesen Probe-Tieren-Befählen basiert auf den ATA-Sicherheitsimplementieren. Das Masterpass war da immer feige. Hier gibt es keine kryptografischen, keine kryptogarische Verknüpfung. Man kann den Password-Check einfach entfernen. Und das werde ich hoffentlich davon auch wieder einen Demo vorführen. Virtualbox starten. Okay. Also. Es sagt, Sicherheit ist aktiviert. Ja, die Verbindung steht. Es ist noch nicht da. Wenn ich jetzt das mache und Sicherheit ist aktiviert. Jetzt deaktiviere ich es wieder. Und das ist falsch. Soweit so gut. Lass uns weitermachen. Moment. Das ist falsch. Moment. Natürlich habe ich jetzt einen Spickzettel. Okay, los gehts. Moment. Der Text ist verbunden. Moment noch. Okay, das sind die Kerne. Okay, habe alle Register von der Zettel. Okay, habe alle Register von der Zettel. Und lasst uns einen Haltepunkt für den Debacker an diese Adresse setzen. Und jetzt wähle ich ein beliebiges Password. Und wir kommen zu diesem Haltepunkt. Ich werde jetzt diese Kontrolle entfernen. Und auch den Haltepunkt. Und los gehts. Sicherheit entfernt. Applaus. Weiter. Das funktioniert. So. Okay, das Ding ist wirklich schwer zu knacken. Sehr beeindruckende Schutz. So, das Ding ist wirklich schwer zu knacken. Sehr beeindruckende Schutz. Ich hoffe, die Hülle löst das Problem besser oder schützt das Ganze besser als die Software oder die Fernwehr. Und dann haben wir noch, also was wir halt sagen können, ist, dass in diesem Fall der JTEC ausgeschaltet ist, aber es ist trotzdem immer noch auf die gleiche Art und Weise angreifbar. Und die meisten dieser Festplatten haben tatsächlich Lücken, die man ausnutzen kann, um die Sicherheit auszuhebeln. Und viele Sachen sind halt auch echt schlecht umgesetzt oder halt total überdesignt. Und die Sicherheitsziele, also die Ziele Sicherheit sind auch nicht wirklich klar definiert und es gibt auch keine Referenzimplementierung von diesen Sachen. Und es gibt einfach noch viel, viel, was man noch verbessern müsste und was von den Herstellern noch verbessern müssten. Und wenn es auch irgendwelche Fragen gibt, bin ich natürlich hier. Okay, wir haben Mikrofone, bitte stellt euch an. Wenn ihr Fragen habt, bitte haltet euch kurz. Und natürlich vielen Dank für diesen wundervollen Vortrag. Wir fangen mit dem Signalengel an, der Frank aus dem Internet entgegennimmt. Vielen Dank für den Vortrag. Ich hoffe, deine SDB-Pardition-Platte ist okay. Es gibt dann Probleme in den aktuellen Crucial-Platten? Also diese Platte habe ich mir im Speziellen nicht angeschaut, die MX-100-Platte nutzt einen anderen Controller und das Ganze ist auch von einem anderen Hersteller. Es ist nicht so einfach für mich, das jetzt zu übertragen oder zurück zu verfolgen. Großer Vortrag, kann ich ... Was, wenn ich jetzt ... anderes als BitLocker benutze, also ein anderes Betriebssystem, benutze ich dann die Hardware-Verschlüsselung? Also die Frage war, ob ich die Hardware-Verschlüsselung für BitLocker deaktivieren kann. Und was ist bei anderen Betriebssystemen? Man kann durch Gruppenregeln festlegen, dass BitLocker sowas nicht machen soll. Das ist halt die Hardware-Verschlüsselung nicht nehmen soll. Und andere Betriebssysteme, die kümmern sich nicht darum, was die Hardware-Verschlüsselung sagt. BitLocker ist nur die einzige Software, die die Hardware fragt, ob sie von sich aus schon verschlüsseln kann. Microphone Nr. 4, please. Was ist mit den neuen Samsung-Platten, wie die 960 oder 860? Hab ich mir noch nicht angeschaut. Ich hab mir die 950 schon mal angeschaut, die relativ neu ist, zu der anderen Platte ist. Sie haben Opal in den Sand gesetzt. Sie haben so vieles in den Sand gesetzt. Und sie unterstützen immer noch diese alten Standards. Aber es ist nicht sicher. Ich denke, es ist einfach nicht mehr interessant, sich das noch alles anzuschauen. Ich mach einfach nur den wissenschaftlichen Ansatz. Ich nehme ein paar Proben von verschiedenen Modellen. Das reicht mir dann eigentlich auch schon, um zu sehen, dass das alles kaputt ist. Und wir wollen die Proben, die wir haben, so genau und so präzise wie möglich zu machen. Wie schwierig wäre es, diese Sicherheitsfeatures korrekt zu implementieren auf diesen Festplatten. Und es ist vernünftig, dass man das an einem Open Source Ansatz machen könnte. Es gibt einige Projekte, die das versuchen, also Open Source Projekte, aber sie sind noch nicht weit gekommen. Das will zu selber nicht einsetzen momentan. Aber die Frage ist auch, warum willst du selbstverschüsselnde Artwerb? Software ist eigentlich viel besser für sowas. Und insbesondere, was die Performance, also die Geschwindigkeit der Verschlüssel angeht, macht es kein wesentlicher Unterschied. Und selbst Samsung hat mit Opal halt Anmerkungen, dass es übersetzt ist. Ich glaube, software-seitige Verschlüsselung gemacht. Und ich denke nicht, dass es halt Vorteile bringt, hardware-seitigste Verschlüsselung. Danke für die Forschung. Was ist mit deiner Kommunikation mit den Herstellern? Habt ihr responsible disclosure gemacht? Wir haben mit Samsung gesprochen und hatten ein Meeting. Sie waren echt ganz nett. Und wir haben auch Cruiser kontaktiert. Und sie sprechen mit uns. Sie waren jetzt nicht so glücklich, dass wir das gefunden haben. Aber sie waren trotzdem glücklich, dass wir zumindest Bescheid gesagt haben. Danke für den guten Vorteil. Hast du NVMe-Platten angeschaut? Und wenn ja, ist es an dieser Stelle besser geworden? Wir haben auf die 950 uns angeschaut. Und es ist im Prinzip das gleiche. Es ist ja nur, dass die Schnittstelle ist anders. Wir haben jetzt nicht in unserem finalen Forschungsreport mit Burgsticht gearbeitet. Aber es war einfach zu ähnlich. Wie regelmäßig sind so Firma-Updates? Kommen die über Windows Update? Oder kommen die ja nicht nur manuell abgedeht? Bei Samsung gibt es ein Programm namens Magician, das dann die Updates einspielt. Aber es wird definitiv nicht über Windows Updates übertragen. Aber alle bieten eine zentrale Verteilungsplattform an. Aber man muss halt erst mal von der Webseite das Magician runterladen. Auf den meisten SSDs gibt es eine Funktion, die komplett die Platte löscht. Wenn man eine Schlüssel löscht, haben sie sich jetzt angeschaut und versucht die Daten zu wiederherzustellen, nachdem die Platte gelöscht wurde. Ich habe es ja nicht genau angeschaut oder nicht genau genug. Die Frage ist natürlich auch, wie überschreibt man das dann? Also, wie schreibt man es dann mit zufälligen Daten und wo kommen die Daten eigentlich her dafür? Aber man hat halt auch die ganzen Tabellen und die ganzen Tabellen sind dann halt auch zerstört, wenn man das überschreibt. Es bringt dann nicht wirklich noch was, wenn man jetzt den Schlüssel hat. Vielen Dank für den klaren Vortrag. Ich arbeite an einem Forschungsinstitut, wo ich immer mehr und mehr Leute finde, die das fordern, diese selbst verschlossenen Festplatten für praktische Gründe, für Datenschutz. Und jetzt habe ich gerade erfahren, dass das Softwareverschlossung einfach viel besser ist. Was empfehlen Sie in einem praktischen Nutzungs-Szenario für die Ecosysteme, wie Apple, Linux und Windows, als eine Software-Lösung, die halt besser ist als ... Ich sage, wäre Kript, so kann ich empfehlen. Okay, thank you. Are there any more questions? No more questions from the internet? Oh, we have one question at microphone number two. Yes, thanks for your research. Vielen Dank für die Forschung. Als du erst gesagt hast, dass sie veröffentlicht hat an die Herstelle, haben Sie den jetzt verhoben? Also Samsung hat an der Stelle, wenn man ein internes Netzwerk, eine interne Platte verwendet, also Selbstverschlüsselung, dann sollte man doch lieber auf Software wechseln, aus Sicherheitsgründen. Und ... Und ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... Wir haben keine Zeit mehr. Vielen Dank, Oscar Mayer. Und ihr hört den Vortrag Self Encrypting Deception in der Dau...