DEEPSEC 2019 – Nachlese zum großen IT-Sicherheit Event

Auch dieses Jahr fand im November die große In-Depth Security Konferenz DEEPSEC 2019 in der Imperial Riding School Vienna im Wien statt. Rund 300 Teilnehmer und zahlreiche Sponsoren und Fachredner trafen sich vom 26. bis 29. November 2019 zum Training und Erfahrungsaustausch.

Mit 54 hochkarätigen Sessions in drei großzügigen Seminarräumen bot das Event für alle Interessentengruppen wie Security Officers, Security Professionals and Produkthersteller, IT Entscheider, Berater und Ersteller von Richtlinien, Security-/Network-/Firewall-Admins, Hackers and Software Developers umfassende Einblicke in aktuelle und zukünftige Security Konzepte aber auch Bedrohungen.

Besonders hat mich der DEEPSEC Vortrag von Michael Walser von der SEMATICON AG mit dem Titel „Demystifying Hardware Security Modules – How to Protect Keys in Hardware“ interessiert über den Vortrag ich hier im Detail berichten möchte.

Michael Walser, CTO der SEMATICON AG

Die Sematicon AG beschäftigt sich neben Remote-Management für Industriesteuerungen mit angewandter Kryptographie im IIoT Bereich. Michael Walser ist als CTO verantwortlich für die Technologische Ausrichtung des Produkt- und Schulungsportfolios.

Demystifying Hardware Security Modules – How to Protect Keys in Hardware

Demystifying HSMs
Demystifying HSMs

Der schwungvolle Einstieg in den DEEPSEC Vortrag gelang Michael mit der Frage was genau ein HSM ist, wobei der festhält, dass es wichtig ist kryptographische Ressourcen nicht zu teilen und seine Schüssel bestmöglich zu schützen. Warum? Das zeigt er kurze Zeit später.

Anmerkung: Allen seine Angriffen basieren nicht auf der kryptographischen Stärke der Verschlüsselungsmethode, siehe hierzu meinen Artikel Sind Krypto-Algorithmen wie AES knackbar?

Kryptographische Schlüssel sind möglichst zufällige Werte, die für die Verschlüsselung von Daten genutzt werden können. Hier hebt er hervor, dass gute Zufallszahlen nicht von der Funktion rand() oder dem Linux Device /dev/random kommen, sondern es spezielle Hardware erfordert solche Zahlen zu erzeugen.

Hardware Security Module – oder kurz HSM genannt – gibt es in unterschiedlichen Formen für die vielen Anwendungsfälle:

  1. Als Smartcard oder Crypto-Token
  2. Als Secure Element
  3. als Datacenter HSM
HSM Modelle
HSM Modelle

Ein HSM unterstützt eine wichtige Funktion, nämlich die Separierung von Schlüssel für verschiedene Applikationen. Hier werden geschützte Container oder auch Partitionen erstellt wo die getrennten Applikationen ihre Schlüssel ablegen können. Wichtig ist, dass der authentisierte Zugriff einer Applikation keine Schlüssel einer anderen Applikation sehen bzw. nutzen kann. Die Anzahl der separierten Bereiche ist in der Regel sehr stark limitiert, oft sind das nur wenige Container bzw. Partitionen pro HSM.

Schlüssel werden in einem HSM nicht gespeichert, sondern sind dort speziell verwahrt und gibt eine hochsichere Schlüsselseparierung für die Schlüssel. Die Schlüssel kann man nicht wie Dateien öffnen und einfach lesen, sondern es gibt Schnittstellen über diese Software mit den Schlüsseln arbeiten kann. Zu den wichtigsten Schnittstellen zählen:

  1. PKCS#11 (Unix, Linux, Windows per SO oder DLL)
  2. CryptoAPI (Windows)
  3. Minidriver oder KSP (Windows)
  4. Java (Unix, Linux, Windows oft ein Wrapper für PKCS#11)

Meine Schlüssel sind geschützt … ich benötige kein HSM …

Den Tag eines Sicherheitsverantwortlichen oder IT-Administrators zu ruinieren ist nur eine Frage von rd. 5 KByte!

Bei einer typischen Windows 2016 CA mit den Standard Einstellungen des Betriebssystems basiert die Microsoft CA auf dem Microsoft Software Base CSP. Die CA wird in den Standardeinstellungen mit einem 4096 Bit RSA-Schlüssel mit SHA256-Hash erstellt. Es gibt nur einen Root-CA Schlüssel und im Enterprise CA Modus ist es mit der AD Domäne verbunden.

DEEPSEC Hack #1 – einen exportgeschützten CA Schlüssel kopieren

Michael Walser zeigt in seinem moderierten 5 Minuten Video wie man:

  1. Das Root CA Zertifikat (mit dem öffentlichen Schlüssel) sichern kann
  2. wie man von einem entfernten oder dem lokalen Server aus dem Computer Account den Root CA Zertifikat (privaten Schlüssel + öffentlichen Schlüssel) sichern kann
  3. wie man das Root CA Zertifikat mit dem privaten Schlüssel löschen kann
  4. wie man das zuvor gesicherte Root CA Zertifikat mit erhöhten Sicherheitseinstellungen, nämlich dem Export-Schutz für den privaten Schlüssel wieder importieren kann
  5. UND… wie man im Anschluss trotzdem mit dem Hacker Tool mimikatz das vermeintlich exportgeschützte Root CA Zertifikat mit dem privaten RSA 4096 Schlüssel in wenigen Sekunden stehlen kann.

DEEPSEC Hack #2 – ein gefälschtes Userzertifikat für die Domainanmeldung nutzen

Das zuvor geklaute CA Zertifikat mit dem privaten Schlüssel lässt sich hervorragend missbrauchen. Mit einem kleinen Windows Command Line Batch (modernen wäre natürlich ein PowerShell Script) erstellt er in wenigen Sekunden zwei Microsoft virtuelle Smartcards (VSC) wo er mit dem CA Zertifikat jeweils selbsterstellte Benutzerzertifikate für die Domainenanmeldung signiert. Der Benutzerprinzipalname (UPN) im Zertifikat muss, mit dem in der Domaine gespeicherten UPN übereinstimmen.

Nach dem Logoff von Windows, sieht man beim Windows-Logon dann unter „Sign-in options“ (englisches Windows) bzw. „Anmeldeoptionen“ (deutsches Windows) zwei neue Optionen für die Anmeldung mit virtuellen Smartcards.

Die gefälschten Zertifikate werden von der Domaine sofort den zugehörigen Benutzerkennungen zugeordnet und der Angreifer kann alle Datenzugriffe des nun gehackten Benutzeraccounts nutzen.

Nicht gezeigt hat Michael Walser, ob man so auch einen Domain-Administrator fälschen kann, aber ich denke das auch das möglich ist.

Ghost CA – die Gefahren eines verlorenen CA Schlüssels

Eine parallele CA eines Angreifers nennt er Ghost CA und diese CA ist äußerst gefährlich.

Leider erfahren Domain Administratoren nur in den seltensten Fällen von einer Ghost CA und dass ein CA Schlüssel gestohlen wurde. Aber auch wenn der Administrator es erfährt, er kann nahezu nichts gehen den Hack machen, da es keine Revokations-Liste für die Root CA gibt. Der Administrator kann nur die gesamte CA neu aufsetzen und versuchen alle Trusts der alten CA aus allen Teilen des Netzwerkes zu löschen. Bei einer Enterprise Umgebung eines Konzernes eine unglaublich schwierige Aufgabe.

Die Lösung: ein Hardware Security Modul (HSM)

Um sich vor dem Diebstahl von privaten Schlüsseln – in dem oberen Fall den privaten Root CA Schlüssel – zu schützen, empfiehlt Michael Walser in seinem DEEPSEC 2019 Vortrag die Nutzung von Hardware Security Modulen und lädt die Besucher ein sich die HSMs der Hersteller nCipher (vormals Thales nShield) und Thales / Gemalto / SafeNet auf seinem DEEPSEC Stand anzusehen.

Beyond IT: Smart* kann gehackt werden und wurde schon gehackt!

In zahlreichen Berichten wie beispielsweise den von Wired, sind die TSA-Schlüssel die Behörden das Öffnen von Gepäckstücken ermöglichen, bereits vor einigen Jahren geleaket und können heute im 3D Drucker einfach nachgedruckt werden. Genauso sind auch Zahlreiche vorverteilte Krypto-Schlüssel von Smart Bulps ebenfalls geleaked.

TSA Schlüssel aus dem 3D Drucker
TSA Schlüssel aus dem 3D Drucker

DEEPSEC Hack #3 – einen geschützten AES Schlüssel aus einem Microcontroller extrahieren

Aber, wie kommt man an solche Schlüssel ran? Ein Microprozessor rechnet natürlich mit den Krypto-Schlüsseln und verbraucht damit Strom. Dieser charakteristische Stromverbrauch kann über den VCC Pin des Microprozessors über einen vorgeschalteten kleinen Ohmwiederstand gemessen werden. Hierzu benötigt man ein Speicheroszilloskop um wenige Hundert Euro.

Microcontroller - Stromverbrauch bei AES Krypto-Operationen
Microcontroller – Stromverbrauch bei AES Krypto-Operationen

Durch das Messen des Stromverbrauchen der wichtigen Krypto-Operationen Count, Multiply Divide werden diese Operationen genau erkannt und korreliert. Diese Korrelierung ergibt dann rd. 20 Millionen Möglichkeiten bei einem AES-128 Schlüssel. Diese 20 Millionen lassen sich mit einer Methode die sich Partitional Guessing Entropy (PGE) nennt auf einen richtigen AES Schlüssel zurückrechnen. Der ganze Vorgang dauert nur 21 Sekunden…

Dein Appell für diese Microprozessor Demo lautet: „Denke immer über Security bevor Du eine Produktentwicklung startest“.

Zum Abschluss präsentiert er wie er an einem Nachmittag den Verschlüsselungsschlüssel einer verschlüsselten Firmware extrahiert hat. Den Exploit hat er bereits an den Hardware Hersteller gemeldet, leider jedoch ganz ohne Rückmeldung des Herstellers.

Leider wollte er nicht verraten um welches gängige Consumer Produkt, wie z.B. einen DSL Router, WLAN Access Point, NAS Appliance, oder um welchen Hersteller es sich handelt. Ich denke mal in ein paar Wochen lesen wir davon schon in Heise.de. 🙂

Mit seiner Firma Sematicon AG in München erarbeitet er sichere Krypto-Konzepte immer unter dem Motto „Keys in Hardware!“.

Wie? Das präsentierte er auf seinem Stand auf der DEEPSEC 2019.

Michael Walser ist auf Xing und LinkedIn zu finden und natürlich kann man ihn gerne über seine Webseite https://www.sematicon.com/ kontaktieren.