Ist Ihr verschlüsselter USB-Stick tatsächlich sicher?

14 Aug 2017

Wie können Sie sich vergewissern, dass der „sichere“ USB-Stick, den Sie nutzen, auch tatsächlich sicher ist und die Daten, die Sie darauf speichern, nicht entwendet werden können? Das ist genau die Frage, auf die Google’s Sicherheitsforscher Ellie Bursztein, Jean-Michel Picod und Rémi Audebert in ihrem Vortrag „Attacking encrypted USB keys the hard(ware) way“ auf der kürzlichen Black Hat USA 2017 eingegangen sind.

Forschern zufolge befolgen die Hersteller sicherer USB-Sticks momentan die Zertifizierungsnorm FIPS 140, die vom NIST (Nationales Institut für Standards und Technologie) für alle Arten von Kryptografiemodulen, sowohl Hardware als auch Software, entwickelt wurde. Diese Zertifizierung umfasst kryptografische Sicherheitsvorkehrungen sowie Validierungsprozesse.

Zertifizierung sollte immer auf dem neuesten Stand gehalten werden, da ans Licht gebrachte Informationen dabei helfen können, mögliche Probleme aufzudecken. Ausreichend ist das allerdings nicht, da nicht jeder mögliche Angriffsvektor von der FIPS 140 abgedeckt wird. Und wie Sie unten sehen können, bestehen einige verschlüsselte USB-Speichermedien zwar die Zertifizierungsprüfung, sind aber noch immer anfällig für Attacken – manchmal sogar für die einfachsten.

Deshalb schlagen Forscher vor, neue Prüfungsmethoden zu entwickeln; insbesondere, um die Sicherheit der verschlüsselten USB-Speichermedien beurteilen zu können. Zunächst gliedern Forscher Sicherheitsprobleme in drei Kategorien auf:

  • Schwachstellen: Probleme, die weitere Hacking-Prozesse vereinfachen;
  • Single-drive Break: Schwachstellen, die es einem Angreifer erlauben, ein bestimmtes Speichermedium zu hacken;
  • Full Break: Schwachstellen, durch die ein Angreifer Zugriff auf Informationen aller Speichermedien des gleichen Modells erlangen kann.

Zudem sind besondere Kompetenzen und Ressourcen notwendig, um bestimmte Schwachstellen ausnutzen zu können. Einige dieser Schwachstellen können sogar für unerfahrene Angreifer nützlich sein; für wieder andere müssen dem Übeltäter zahlreiche Mittel zur Verfügung stehen. Hierbei handelt es sich meist um staatlich geförderte Hacker. Aufgrund dessen kann der Gefährlichkeitsgrad in 3 Kategorien eingeteilt werden:

  • Zufällig: Zugänglich für einen opportunistischen Angreifer mit minimalen Ressourcen – im Grunde handelt es sich auf diesem Level um Personen, die einen USB-Stick eventuell gefunden oder gestohlen haben und Interesse an den Informationen zeigen, die dieser (möglicherweise) enthalten könnte;
  • Professionell: Zugänglich für Angreifer mit Ressourcen, auch wenn diese begrenzt sind. Angreifer auf diesem Level sind meist daran interessiert umfangreiche Informationen zu sammeln;
  • Staatlich gefördert: Angreifer mit zahlreichen Ressourcen. Für gewöhnlich sind solche Angreifer hinter speziellen Daten und Schlüsseln her, die es wert sind einen derartigen Aufwand zu betreiben.

Eine weitere Klassifizierung der Bedrohungen, spezifisch für USB-Speichermedien, erfordert die Aufteilung möglicher Angriffsvektoren in mehrere Gruppen, abhängig von der Komponente des Gerätes: Design und Herstellungsmerkmale, Faktorauthentifizierung, USB/Kryptocontroller, Verschlüsselungsalgorithmus und Flashspeicher. Werfen wir einen kurzen Blick auf diese Kategorien.

Design und Herstellung

In erster Linie muss ein verschlüsselter USB-Stick so designt und hergestellt werden, dass er ein bestimmtes Schutzniveau definiert. Vorab wäre es für ein verschlüsseltes Gerät empfehlenswert, manipulationssicher zu sein – es sollten Indikatoren zu sehen sein, die darauf hinweisen, das jemand an dem USB-Stick, der Ihre wertvollen Daten enthält, zu schaffen war.

Je einfacher es ist, Zugang zu elektronischen Komponenten zu erlangen, desto einfacher ist es für einen Angreifer die Hardware zu untersuchen und die ein oder andere Schwachstelle des Gerätes zu finden. Um dem vorzubeugen, sollte die Leiterplatte mit Epoxidharz isoliert werden.

Hier bewährt es sich echte Epoxide zu nutzen und keinen willkürlichen Ersatz: Forscher haben herausgefunden, dass Hersteller in einigen Fällen angeben Epoxidharze zu nutzen, in Wirklichkeit handelt es sich hierbei allerdings um weniger robuste Polymer. Infolgedessen kann die Beschichtung ganz einfach mit Aceton entfernt werden und so vollständigen Zugriff auf die Hardware gewähren.

Wenn die Angreifer beim Hacken der Hardware erst einmal Zugriff zur Elektronik haben, schauen sie zuerst nach der Kennzeichnung der einzelnen Teile, um so Handbücher und genauere Angaben zu finden und die weiteren Möglichkeiten einer Attacke festzulegen. Wenn Modellnamen, Seriennummern, usw. sorgfältig von den Chips entfernt werden, finden sich Angreifer vor einer simplen Blackbox wieder – sie müssen deutlich komplexere Nachforschungen betreiben, um herauszufinden, welche Hacks tatsächlich angewendet werden können.

Selbst wenn Hersteller oftmals versuchen Markierungen vom Chip zu entfernen, scheitern sie dabei oft kläglich.

Firmware durch eine optimierte Version zu ersetzen, die es dem Angreifer erlaubt, den Schutz zu umgehen ist harte Arbeit. Trotzdem ist es möglich, dass kompetente Hacker mit zahlreichen Ressourcen diesen Weg einschlagen. Das Schlimme daran: diese Art von Angriff kann nach Belieben wiederholt werden. Sobald Angreifer Firmware erst einmal rekonstruiert haben und herausfinden, wie die nötigen Optimierungen gemacht werden müssen, können sie jedes Speichermedium eines selben Modells hacken.

TEMPEST ist eine Attacke, die dem Angreifer durch die elektromagnetischen Emissionen des Gerätes erlaubt, die Vorgänge innerhalb eines Gerätes auszuspähen. Diese Attacke ist sehr komplex und kommt wahrscheinlich nicht besonders oft vor und viel weniger betrifft sie reguläre Personen und Unternehmen. Trotzdem: jeder der sichergehen möchte, dass seine Geheimnisse gut vor staatlich geförderten Hackern geschützt sind, sollte USB-Speichermedien verwenden, die mit Kupferfolie bestückt sind: ein sehr zuverlässiger und vergleichbar kostengünstiger Schutz vor TEMPEST.

Nicht jeder Hacker würde so weit gehen und einen USB-Stick fälschen. Aber um noch einmal klar zu sein: staatlich geförderte Angreifer wären dazu problemlos im Stande. Wenn Sie Ihre Geheimnisse also vor Spionage auf hohem Niveau schützen wollen, würden Sie es vermutlich bevorzugen, wenn Ihre USB-Sticks so designt werden, dass Sie vor derartigen Fälschungen geschützt sind.

Input

Ein weiteres Problem liegt beim Schutzniveau des Teiles, das legitime User authentifiziert und ein Gerät entsperrt. Zunächst ist es um einiges einfacher die Authentifizierung zu hacken als den Flashspeicher oder Verschlüsselungsalgorithmus. Hinzu kommt, dass es eine gute Chance gibt, dass die Hersteller einige Fehler bei der Entwicklung des Authentifizierungsmechanismus gemacht haben. Deshalb ist die Authentifizierung vermutlich der offensichtlichste Angriffspunkt eines jeden Hackers.

Es gibt 4 Möglichkeiten einen User zu authentifizieren: mit dem Gebrauch eines PIN-Pads, einem kabellosen Button, einem Fingerabdruck, oder mit der Verwendung der Software-PIN-Eingabe.

Der erste Fehler, den ein Hersteller machen kann, ist es den PIN auf der Software zu speichern. Selbst ein unerfahrener Angreifer kann herausfinden, wie der PIN entwendet werden kann und nebenbei nicht nur ein bestimmtes Gerät, sondern jedes Gerät des gleichen Modells hacken. In einigen Fällen kann die Software Schwachstellen haben, die von Replay-Attacken ausgenutzt werden können – das war der Fall mit mehreren FIPS-zertifizierten Geräten, die 2009 von deutschen Forschern der SySS untersucht worden sind.

PIN-Eingabepads könnten simplen Exploits zum Opfer fallen: Bestimmte Knöpfe können Verschleißerscheinungen zeigen und somit Kombinationen enthüllen, die genutzt werden können, um das Gerät zu entsperren.

Bei kabellosen Badges ist es noch schlimmer: Sie können mit einem simplen Gerät geklont werden. Mit einem geklonten Badge kann jeder Angreifer einen USB-Stick in Rekordzeit entsperren. Spuren werden dabei nicht hinterlassen und somit auch kein Hinweis darauf, dass eine andere Person Zugriff auf das Gerät hatte.

Forscher präsentierten 4 Methoden in ihrem Vortrag auf der Black Hat:

Fingerabdrücke scheinen zwar ein starker Authentifizierungsfaktor zu sein, in Wirklichkeit sind sie von „perfekt“ aber relativ weit entfernt. Es gibt viele Möglichkeiten Fingerabdrücke zu klonen und einige davon verlangen noch nicht einmal physischen Kontakt – Angreifer können relativ gute Fotos von Fingerabdrücken mit einer DSLR-Kamera erhalten und einen Dummie mit einem standardmäßigen Tintenstrahldrucker und leitfähiger Tinte erstellen. Das Schlimme daran? Ihre Fingerabdrücke können Sie nicht ändern – Fingerabdrücke sind keine Passwörter.

Zudem ist es eigentlich gar nicht notwendig, dass Angreifer Fingerabdrücke fälschen. In einigen Fällen können Geräte mit Fingerabdruck-Schutz viel einfacher entsperrt werden. Das haben Forscher bewiesen.

Wie sich herausgestellt hat, ist mindestens eines der mit Fingerabdruck geschützten USB-Modelle, die Bursztein und seine Kollegen untersucht haben, anfällig für Replay-Angriffe. Wenn der Sensor dieses Laufwerks einen legitimen Fingerabdruck scannt, wird einfach ein Kommando zum Laufwerkcontroller geschickt, das Gerät zu entsperren.

Ein weiterer Fehler, den dieser Hersteller gemacht hat, war es einen funktionstüchtigen Debug-Port auf der Leiterplatte zu hinterlassen. Mit diesem Port konnten die Forscher den Entsperrungsbefehl abfangen, wiederholen und somit jedes Laufwerk desselben Modells entsperren.

Diese Hacks scheinen zwar sehr komplex zu sein, aber: ein kompetenter Angreifer wird solche Tricks nutzen, um sich Zugang zu Ihren Dateien zu verschaffen. Und wenn Sie Ihre Geheimnisse vor noch einfallsreicheren, staatlich geförderten Angreifern schützen wollen, sollten Sie definitiv alle oben genannten Schwachstellen bedenken.

Controller

Betrachten wir den USB/Kryptocontroller eines Gerätes. Zuerst müssen sie sicherstellen, dass es nicht durch eine Brute-Force-Attacke angegriffen werden kann. Geräte, die zum Beispiel kabellose Markierungen nutzen sind ebenfalls anfällig für Brute-Force-Attacken.

Um vor Brute-Force geschützt zu sein, muss sich ein Gerät nach einer bestimmten Anzahl von fehlgeschlagenen Authentifizierungsversuchen selbst „zerstören“. Dabei werden idealerweise der Kodierungsschlüssel und die auf dem Flashspeicher enthaltenden Informationen sicher gelöscht.

Es ist auch nicht verkehrt sicherzustellen, dass sich das Gerät automatisch selber sperrt, wenn es von dem USB-Port entfernt, eine bestimmte Inaktivitätsdauer überschritten oder ein USB-Reset durchgeführt wird.

Zudem muss sichergestellt werden, dass Passwörter, PIN-Nummern oder Kodierungsschlüssel nicht von einem Controller verlangt werden können. Das scheint zwar offensichtlich, aber genau diesen Fall fanden Bursztein, Picod und Audebert während ihrer Forschung auf einem Gerät vor. Sie konnten das Masterpasswort einer der Controller anfordern mit dem sie ganz einfach einen neuen User erstellen konnten und Zugang zu allen auf dem Laufwerk gespeicherten Dateien erlangen konnten.

Diese Attacke erlaubt es sogar nicht so erfahrenen Hackern mit minimalen Ressourcen jedes Laufwerk dieses Modells zu entsperren.

Verschlüsselung

Verschlüsselung ist offensichtlich eine der Grundvoraussetzungen eines sicheren USB-Datenträgers. Die guten Neuigkeiten sind, dass es sehr unwahrscheinlich ist, dass ein Angreifer ohne die ausreichenden Mittel versuchen würde, diesen Angriffsvektor zu nutzen. Zudem verwenden moderne Geräte meist sehr ausgereifte Verschlüsselungsalgorithmen, die schwer zu knacken sind – auch wenn sie nicht besonders gut implementiert worden sind.

Die schlechte Nachricht: Es ist ziemlich schwer sicherzustellen, dass ein Gerätehersteller Verschlüsselung richtig umgesetzt hat.

Um wirklich sicher zu sein, müssen USB-Speichermedien mit AES (Advance Encryption Standard) oder neueren Verschlüsselungsstandards genutzt werden und das ist leider nicht immer der Fall. Während ihrer Untersuchung, sind Bursztein und seine Kollegen auf mehrere Geräte gestoßen, die alte Verschlüsselungstechniken wie RC4 und RSA-512 nutzten. Diese Verschlüsselungssysteme wurden als anfällig nachgewiesen.

Andere Aspekte beinhalten die zufällige Generierung von Kodierungsschlüsseln, den Gebrauch eines sicheren Zufallsgenerators für die Schlüssel- und Initialisierungsvektoren, den Gebrauch eines Sicherheitsalgorithmus für die Verschlüsselungsverbindung, usw. Das betrifft allerdings vor allem diejenigen, die sich vor Spionage auf staatlicher Ebene schützen wollen.

Speicherung

Die letzte Kategorie möglicher Angriffsvektoren ist die direkte Lesung des Flashspeichers. Es scheint kompliziert: ein Angreifer muss vorsichtig den Speicherchip der Leiterplatte entnehmen und ihn dann mit einem Lesegerät verbinden. In einigen Fällen machen Hersteller ihnen diesen Part aber deutlich einfacher, indem sie eine Mikro-SD-Karte anstatt eines gelöteten Chips nutzen.

Der nächste Schritt, dem Flash-Speicherchip die Informationen zu entnehmen, ist tatsächlich um einiges schwieriger. Auf Hardware-Ebene, speichert Flash keine Daten in Form netter und vorteilhafter Dateien. Deshalb muss ein Angreifer einiges tun, um einem Flash-Speicher etwas brauchbares zu entwenden.

Trotzdem kann der Hersteller ernsthafte Fehler machen, zum Beispiel einen PIN-Code als einfachen Text auf dem Speicherchip speichern. Andere mögliche gefährdende Maßnahmen beinhalten die Speicherung des Kodierungsschlüssels, des PINs oder des Signierungsschlüssels der Firmware auf dem Speicherungschip – diese Bedenken sind allerdings hauptsächlich für diejenigen relevant, die von Spionage auf hohem Niveau gefährdet sind.

Wie Bursztein und seine Kollegen betonen, haben sie gerade damit angefangen dieses Puzzleteil zu untersuchen und wollen dafür mit anderen Forschern zusammenarbeiten. Das Gleiche gilt für das Projekt im Ganzen: Sie laden jeden dazu ein dabei zu helfen eine großartige Prüfungsmethodik zu entwickeln, um USB-Laufwerke zu sichern und in diesem Rahmen so viele Modelle wie möglich zu testen.

Was können wir in der Zwischenzeit tun, um unsere Informationen, die auf „sicheren“ USB-Datenträgern gespeichert sind, zu schützen? Die beste Methode ist es, unsere Daten selber zu verschlüsseln bevor wir sie dem Speichermedium anvertrauen.

Unsere Kaspersky Endpoint Security für Unternehmen zum Beispiel kann Informationen mit dem AES-256 Algorithmus verschlüsseln. Wenn Sie vertrauliche Informationen weiterleiten müssen, können Sie diese ganz einfach in passwortgeschützte, verschlüsselte, selbstextrahierende Pakete packen. Dank des speziellen portablen Modus für Verschlüsselung auf Dateiebene, können Dateien sogar auf Computern gelesen werden, die nicht über Kaspersky Sicherheitsprodukte verfügen.