Interview: Hacker Witold Waligóra über Seitenkanalangriffe

Wir haben beim Hacker Witold Waligóra nachgehakt, was man mit Seitenkanalattacken erreichen kann und wie man sich dagegen schützt.

In Pocket speichern vorlesen Druckansicht 5 Kommentare lesen
Selective,Focus,smartphone,On,Hand,Businessman,Is,Working,On,Laptop.,Stock

(Bild: Shutterstock.com; 19 STUDIO)

Lesezeit: 12 Min.

Abgesehen von Hackern, die Sicherheitslücken im Code mit Tools clever ausnutzen, um in ein geschütztes System einzudringen, gibt es noch eine andere, kleinere Welt von Hackern, die sich der Hardware gewidmet haben. In gut ausgerüsteten Laboren friemeln diese an Chips, beobachten ihr Oszilloskop und berechnen mit komplexen mathematischen Modellen kryptografische Schlüssel wie die von AES aus erfassten Daten. Diese bestehen nicht aus Nullen und Einsen des Datenstroms, sondern aus Seitenkanälen wie etwa Erhitzungen des Chips.

Auch wenn solche Angriffsvektoren häufig theoretischer Natur sind, zeigen Seitenkanalangriffe wie Rowhammer, dass diese genauso viel Schaden anrichten können wie klassische Softwareangriffe. Auf der Hacker-Konferenz Nullcon sprachen wir mit dem Sicherheitsexperten Witold Waligóra über Seitenkanalangriffe und wollten wissen, weshalb Unternehmen wenig gegen diese Art von Angriffen unternehmen.

c’t: Was versteht man unter einem Seitenkanal?

Witold Waligóra: Seitenkanäle sind physikalische Nebeneffekte von Berechnungen. Wenn Sie Ihr Programm auf einem Chip laufen lassen, erzeugt der Nebeneffekte wie Hitze oder Geräusche. Man kann aber auch aus dem Stromverbrauch und der Länge der Berechnungen einiges ableiten. Je nach Algorithmus fallen Berechnungen kürzer oder länger aus. Das sind Dinge, die nicht durch die Programmiersprache bestimmt werden. Sie heißen Seitenkanäle, weil sie maschinennah passieren.

c’t: Welche Gerätschaften braucht man, um einen Seitenkanalangriff auszuführen?

Waligóra: Das hängt stark von dem Seitenkanal ab. Eine häufig genutzte Methode besteht darin, den Energieverbrauch des Chips aufzuzeichnen: Dazu misst man die anliegende Spannung über einen gewissen Zeitraum – das nennt sich Power Analysis. Üblicherweise erledigt man so etwas mit einem Speicheroszilloskop. In manchen Fällen kann man auch die elektromagnetische Abstrahlung messen und Schlüsse daraus ziehen. Das erfordert aber ein größeres Setup.

Witold Waligóra arbeitet seit vielen Jahren im Bereich Seitenkanalangriffe und ist Gründer der Firma CloudVA, die sich mit der Sicherheit von IoT- und Embedded-Systemen befasst.

(Bild: wid, c’t)

c’t: Müssen Seitenkanalangriffe immer direkt am Chip ausgeführt werden oder geht sowas auch aus der Ferne?

Waligóra: Die Power Analyse führt man direkt am Chip aus, Timing-Attacken dagegen können Angreifer aus der Ferne abwickeln. Wenn Sie zum Beispiel einen FPGA-Chip haben, ist es manchmal möglich, diesen von außerhalb umzuprogrammieren und den Strom im Chip über ein Oszilloskop selbst zu messen. Das ist zwar wirklich raffiniert und ein seltener und spezieller Anwendungsfall, kommt aber durchaus vor. In der Regel benötigt man für einen Seitenkanalangriff aber direkten Zugriff auf das Gerät.

c’t: Welche Daten können Sie denn aus dem Energieverbrauch ablesen?

Waligóra: Zum Beispiel kann man damit Schlüssel auslesen. Das geht etwa mit CMOS-Chips, der derzeit am weitesten verbreitete Bauweise. Ein solcher CMOS-Chip verbraucht Strom, wenn er seinen Zustand ändert. Wenn also ein Transistor seinen Zustand ändert und eine 1 in eine 0 wechselt oder umgekehrt, dann verbraucht er mehr Strom. Solche Zustandsänderungen erkennt man in den Energieverbrauchsmessungen, die man Spuren nennt. Misst man genau genug, während im Chip gerade eine kryptografische Berechnung stattfindet, ist der Schlüssel beziehungsweise Fragmente davon in den Spuren sichtbar. Aber man braucht bisweilen sehr viele Einzelmessungen, um den gesamten Schlüssel wiederherzustellen, bis wirklich verifiziert ist, was eine 0 und was eine 1 ist, da es beim Messen sehr feine Spannungsunterschiede gibt.

c’t: Wie finden Sie einen Schlüssel in den Spuren? Berechnen Sie ihn?

Waligóra: Da ist sehr viel Mathematik im Spiel. Einer der gebräuchlichsten Angriffe für die Power Analyse ist die Pearson-Korrelation, mit der man den verborgenen Wert allein aus der Spur ermitteln kann. Die Energieaufnahme hängt nämlich mit der Anzahl der veränderten Bits zusammen. Ich muss also nur herausbekommen, wie viele Bits sich geändert haben – das berechne ich mit dem sogenannten Hamming-Gewicht. Dafür gibt es ein komplexes mathematisches Modell, das bei genügend Stichproben den ursprünglichen Wert herausfinden kann. Aber das Schöne daran ist: Weil fast jeder Chip den gleichen Prozess durchläuft und das gleiche Hamming-Gewicht erzeugt, sind die Angriffe bemerkenswert leicht übertragbar, sobald man den Low-Level-Kram, wie etwa den, das Oszilloskop mit dem Gerät zu verbinden, hinter sich gelassen hat.

c’t: Gibt es auch aggressivere Formen von Seitenkanalangriffen?

Waligóra: Es gibt sogenannte aktive Seitenkanalangriffe. Anstatt nur Energieverbrauchsmessungen aufzuzeichnen, können wir Störungen im Chip erzeugen. Diese nennen wir Glitches, wobei eine der einfachsten Möglichkeiten das Clock Glitching ist. Es handelt sich, vereinfacht gesagt, um eine örtlich begrenzte Übertaktung, bei der der Chip schneller getaktet wird als er sich eigentlich stabilisieren kann – so entstehen messbare Fehler. Es gibt einen berühmten Angriff auf das kryptografische Verfahren AES in der neunten und zehnten Runde, bei der man ein Byte eines Zwischenzustands von AES umdreht, was zu einer teilweisen Wiederherstellung des Schlüssels führt. Wiederholt man das an mehreren Stellen, lässt sich der ganze Schlüssel berechnen.

AES - Wissenschaftliche Paper und Demos:

Eine andere Form sind Power-Glitching-Angriffe: Wenn zum Beispiel der Chip mit 3,3 Volt läuft, kann man die Spannung auf etwa 2,8 Volt senken. Für manche Chips ist das zu wenig und sie fangen an, herumzuspinnen. Was sie dann tun, kann man messen. Eine äußerst invasive Möglichkeit wäre eine Injektion durch Laser, das erfordert aber eine Entkapselung des Chips und etwas Chemie. Im Vergleich zu den anderen Methoden ist diese sehr kostspielig. Es gibt auch elektromagnetische Störungsinjektionen, bei denen man eine große Spule einsetzt und den Zustand des Chips durch Induktion ändert. Diese Methode ist aber überhaupt nicht präzise, denn es ist gar nicht so leicht zu steuern, wie viel Strom exakt man in Teile des Chips einleitet. Da besteht natürlich das Risiko, den Chip zu beschädigen oder ihn sogar zu zerstören. Als würde man einen Hammer nehmen und auf einen Chip schlagen.

c’t: Zu Beginn sprachen Sie auch über Hitze und Geräusche als mögliche Seitenkanalangriffe. Was können Sie damit anstellen?

Waligóra: Hitze wirkt sich nur sehr träge in Chips aus, es dauert also eine Weile, bis sich eine Masse merklich erwärmt. Wenn sich zum Beispiel die anliegende Spannung sehr schnell ändert, holt die Wärme nur langsam auf. Änderungen sind zwar leicht wahrzunehmen, aber sehr schwer interpretierbar. Dagegen eignet sich Hitze gut dazu, um Glitches zu erzeugen, weil sie den Chip destabilisiert.

c’t: Und was ist mit Geräuschen?

Waligóra: Geräusche oder auch Audio auszunutzen ist ein bisschen interessanter. Wenn man zum Beispiel Strom aus dem Kondensator entnimmt, wird etwas Wärme erzeugt, und das führt zu Ausdehnung. Wenn man den Kondensator also zyklisch lädt und entlädt, schrumpft er und dehnt sich wieder aus und so weiter. Das ist im Grunde eine Vibration, und die erzeugt unglaublich leise Geräusche, die man mit einem Mikrofon messen kann. Die Autoren einiger wissenschaftlicher Paper behaupten sogar, dass sie dies aus der Ferne tun können.

c’t: Wie funktioniert ein Audio-Angriff aus der Ferne?

Waligóra: Es gibt einen theoretischen Angriff, bei dem sich jemand über Google Hangout mit einem Mikrofon verbunden hat und einen Screenshot über den Tonkanal gemacht hat. Das funktioniert, weil der Bildschirm eine Pixelreihe nach der anderen ein Bild anzeigt, von oben links nach unten rechts, Zeile für Zeile. Und Monitore enthalten ebenfalls Kondensatoren, die schrumpfen und sich ausdehnen. Wenn man mit einem Mikrofon nach diesen Kondensatoren lauscht, kann man herausfinden, ob ein Pixel hell oder dunkel ist. Das ist ein Beispiel für einen ziemlich genialen Soundangriff, auch wenn er in der Praxis wirklich schwer zu realisieren ist.

c’t: Wie sieht es mit Verschlüsselungs-Techniken allgemein aus? Sind diese gegen Seitenkanalangriffe geschützt?

Waligóra: Seit vielen Jahren wird Entwicklern gesagt, man solle niemals seine eigenen Verschlüsselungen schreiben. Also benutzt so ziemlich jeder den gleichen Code, manchmal sogar die gleiche Bibliothek. Es gibt drei große Implementierungen von AES, die schätzungsweise mehr als 90 Prozent des Marktes abdecken. Das sind mbed TLS, tinyTLS, und wolfSSL. Diese Bibliotheken bestehen natürlich nicht nur aus AES, sie beherrschen auch Verfahren wie RSA, DES und andere, die ebenfalls alle angreifbar sind. Unter Laborbedingungen können wir AES als Software in etwa 12 Sekunden bei einem Gerätebudget von unter 1000 Euro knacken. AES in Hardware ohne Sicherheitselemente erfordert dagegen einige Minuten und ein Setup von ungefähr 5000 Euro.

In unserer Firma CloudVA haben wir erfolgreich Verschlüsselungen wie DES, AES, RSA, DSA, ECDSA, ChaCha20-Poly1305 angegriffen und arbeiten jetzt sogar schon an ein paar Post-Quantum-Verfahren, die noch nicht einmal Standards sind. Kein mir bekanntes Verfahren ist gegen Seitenkanalangriffe vollends sicher, aber es gibt Implementierungen, die sehr schwer zu knacken sind. Typischerweise findet man diese in CC EAL5+ zertifizierten Lösungen.

"Es gibt einen Punkt, an dem man aufhören muss, sich abzusichern, sonst kommt das Produkt nie auf den Markt – oder schlimmer noch, es wird zu teuer."

c’t: Wie verbreitet sind solche Angriffe?

Waligóra: Ich glaube, dass das Bewusstsein für Seitenkanalangriffe und ihre praktische Anwendung sehr gering ist, weil die Leute denken, dass es sich dabei um Raketenwissenschaft handelt. Bis zu einem gewissen Grad stimmt das auch, aber es ist viel einfacher als das. Wenn man eine Angriffsmöglichkeit findet, kann man sie für fast jede Bibliothek anwenden, die man für Verschlüsselungen benutzt. Wie ich gerade schon sagte, decken die drei größten fast alles ab.

c’t: Warum unternehmen große Hersteller nichts gegen solche Angriffe, vor allem wenn bekannt ist, dass vergleichsweise wenige, aber ähnliche Angriffe schon zum Erfolg führen?

Waligóra: Für AES haben wir zum Beispiel eine mathematische Implementierung im Haus, die den Schlüssel in der Spur nicht verrät, aber sie ist zehnmal langsamer als die native Implementierung ohne Schutz. Natürlich können Unternehmen für ihre Hardware lieber ein sicheres Element verwenden, das über Gegenmaßnahmen für diese Angriffe verfügt, aber solche Chips sind weitaus teurer als die ohne Schutz. Wenn man also ein kleines Gerät in Massenproduktion herstellt, ist es keine gute Geschäftsentscheidung, die teureren Chips zu wählen. Außerdem bedeutet "sicher" in der Regel "langsamer". Wenn man also auf eine möglichst hohe Leistung zielt, sind die Gegenmaßnahmen eher hinderlich.

Auf der Hackerkonferenz Nullcon präsentierte Witold Waligóra seine Idee, wie man Seitenkanal-Regressionstests im Entwicklungsprozess unterbringen kann.

(Bild: Https://www.youtube.com/watch?v=EzEuToLoXVg)

c’t: Das klingt, als würden Unternehmen das Risiko für Seitenkanalangriffe begründet als niedrig einstufen und mit Recht hoffen, dass nichts Schlimmes passiert.

Waligóra: Das ist nur eine mögliche Rechnung. Es gibt einen Punkt, an dem man aufhören muss, sich abzusichern, sonst kommt das Produkt nie auf den Markt – oder schlimmer noch, es wird zu teuer. Also ja, es ist ein Risiko, und ich würde sagen, die Unternehmen sollten ein bisschen mehr darauf achten, als sie es derzeit tun, aber das ist nur meine Meinung.

Das ist auch der Grund, warum ich an Seitenkanälen arbeite. Was Softwareangriffe angeht, hat jeder Sicherheitsbeauftragte Tools, um Buffer Overflows und andere Dinge zu erkennen. Aber niemand kümmert sich wirklich um Seitenkanäle. Deshalb versuche ich, die Leute darauf aufmerksam zu machen. Derzeit stellen wir als Teil des ESCAPE-Projekts eine Menge Szenarien aus wissenschaftlichen Papers über Seitenkanalangriffe nach und haben sogar einen kleinen Preis ausgeschrieben: Wer eine noch nicht replizierte Seitenkanalveröffentlichung nachweist, bekommt von uns ein T-Shirt. (lacht)

Remote:

Remote Seitenkanalangriff über Google Hangout

Remote Timing Attack

c’t – Europas größtes IT- und Tech-Magazin

Alle 14 Tage präsentiert Ihnen Deutschlands größte IT-Redaktion aktuelle Tipps, kritische Berichte, aufwendige Tests und tiefgehende Reportagen zu IT-Sicherheit & Datenschutz, Hardware, Software- und App-Entwicklungen, Smart Home und vielem mehr. Unabhängiger Journalismus ist bei c't das A und O.

(wid)