Seitenkanalangriff verstehen und verhindern – 5 Beispiele

Seitenkanalangriff verstehen

Du möchtest verstehen, was ein Seitenkanalangriff ist?

Ich erkläre Dir anhand konkrete Beispiele die Angriffe und wie Du diese effektiv verhindern kannst.

Starten wir!

Was ist ein Seitenkanalangriff?

Bei einer Seitenkanalattacke versucht der Angreifer an Informationen zu gelangen, ohne das eigentliche System anzugreifen oder zu manipulieren.

Mitlesen oder in den Computer einzudringen!
Mitlesen oder in den Computer einzudringen!

Der Angreifer möchte z. B. bei einer Verschlüsslung der Nachricht herausfinden, welcher Schlüssel der Nutzer verwendet hat.

Wenn der Angreifer den korrekten Schlüssel berechnet hat, kann der Angreifer mit dem umgekehrten Algorithmus jede Nachricht mitlesen.

5 Angriffe Beispiele – konkret erklärt!

Es gibt nicht „die eine“ Attacke, sondern einen Strauß an verschiedenen Methoden. Die Forscher überwachen dabei die Umgebung des Prozessors sehr genau, ohne in den Schaltkreis physisch einzudringen oder auf Software Seite Exploits auszunutzen.

#1 Energiesparen oder Stromfresser – Strommessung

Stell Dir vor, Du möchtest mehrere Nachrichten mit dem gleichen geheimen Schlüssel verschlüsseln. Der Angreifer kann nicht Signale abfangen, Register auslesen oder den Schlüssel beim Laden detektieren.

Stattdessen führt dieser eine exakte und hochauflösende Strommessung durch.

Was verbraucht Dein Computer?
Was verbraucht Dein Computer?

Ein ungeschützter Algorithmus zeigt ein vorhersehbares Verhalten für jede Eingabe. Je nach Schlüssel verbraucht der Prozessor zu bestimmten Zeiten unterschiedlich viel Watt.

Wenn das Opfer den gleichen Schlüssel ohne Modifikation immer wieder verwendet, dann kann der Angreifer Muster erkennen und diese Muster mit bekannten Schlüsseln vergleichen. Mit genügend Versuchen kann der Angreifer die Schlüssel rekonstruieren. Die 0 und 1 des Schlüssels kannst Du aus einem Power Analysis Diagramm ablesen.

Der Akkuverbrauch sagt etwas über die Verschlüsselung aus
Der Akkuverbrauch sagt etwas über die Verschlüsselung aus

#2 Schnecke oder Falke – Zeitmessung

Eine weitere Methode, um den Schüssel zu rekonstruieren, ist eine exakte Zeitmessung der Ausführungszeit.

Der Angreifer betrachtet die CPU als eine Blackbox. Das Opfer gibt den Klartext und den Schlüssel ein und die Blackbox erstellt daraus den verschlüsselten Text. Leider arbeiten die Algorithmen immer gleich. Der Angreifer versucht mit vielen Versuchen aus der Differenz der Berechnungszeiten den Schlüssel zu rekonstruieren.

#3 Hard Rock oder Klassik – Akkustik

Was macht ein Computer für Geräusche?

Die Kondensatoren geben einen Laut von sich, wenn diese sich entladen. Diese Geräusche kann ein Mikrofon auffangen. Ein Programm überträgt den gemessenen Schall auf ein Diagramm. Die Zusammenhänge zwischen dem Schlüssel und den akustischen Signalen sind mit dieser Methode besser sichtbar.

Dieser Angriff gilt im Jahr 2024 als ein theoretischer Gedanke, welche bisher kein Forscher praktikabel umsetzen konnte.

#4 Lang lebe der Bug – Fehleranalyse

Welche Software hat keine Fehler?

Keine!

Jede Software weist Fehler auf, welche ein Angreifer untersuchen kann. Er sendet verschiedene Eingaben an die Software. Absichtlich provozierte Fehlerfälle helfen dabei die Blackbox CPU besser zu verstehen und Probleme zu finden.

Wo ist der Bug?
Wo ist der Bug?

Der Pentium-FDIV-Bug ist ein Beispiel von einem Fehler in der Prozessor-Hardware. Der Bug verursachte eine Ungenauigkeit bei der Berechnung von Dezimalzahlen (Gleitkomma). Solche Fehler helfen dabei den Schlüssel zu finden.

#5 Eiszapfen am PC – Datenerhaltung

Wolltest Du nicht schon immer mal Deinen Computer in den Kühlschrank legen?

Genau das haben Forscher gemacht!

Das Ziel der Angreifer ist es, den Schlüssel der Festplattenverschlüsselung aus dem Hauptspeicher zu extrahieren. Der Hauptspeicher ist ein flüchtiger Speicher, welchen Du nach dem Ausschalten nicht mehr auslesen kannst. Die Ladungen im Hauptspeicher verlieren in wenigen Sekunden danach ihren Ladezustand komplett.

RAM einfach auslesen?
RAM einfach auslesen?

Die Forscher verlangsamen die Entladung mit etwas flüssigen Stickstoff und vielen Versuchen, um den RAM-Riegel auszubauen und in einem anderen Computer auszulesen.

Wenn Dein Computer aufgeschraubt und mit Eiszapfen übersät ist, dann weißt Du jetzt was passiert ist.

Deep-Learning Analyse

Die künstliche Intelligenz hilft dabei Seitenkanalattacken durchzuführen. Weil die Auflösung der Sensoren begrenzt ist, kann eine konkrete Analyse nicht immer stattfinden und braucht viele Versuche. Ein neuronales Netzwerk hilft dieses Problem zu umgehen.

Neuronale Netzwerke rechnen nicht nach einer festgelegten Programmierung, die abstrahiert in Code geschrieben ist, sondern verwendet Wahrscheinlichkeiten und Gewichte.

Das Netz braucht viele Verschlüsselungsbeispiele, um aus den gemessenen Parametern den Schlüssel zu bestimmen. Die Netze erreichen eine hohe Treffer-Quote, wenn die Trainingsdaten hochauflösend und bereinigt sind. Sind die Trainingsdaten Müll, produziert das Netz noch mehr Müll.

Wie kann ich einen Seitenkanalangriff verhindern?

Seitenkanalattacken gehören zu den unzuverlässigen und sehr experimentellen Angriffen auf die Informationssicherheit.

Forscher konnten den einen oder anderen Schlüssel mit der Beobachtung der Umgebung eines Prozessors extrahieren. Trotzdem darfst Du diese Anleitung nicht als ein Patentrezept verstehen.

Die Industrie ist sich den Angriffen bewusst und erschwert die Angriffe mit den folgenden Methoden:

Hin und Her – Zufall einbauen

Ein oder zwei Iterationen mehr an der einen oder andern Stelle führen bei einer externen Messung zu Abweichungen.

Der Programmierer muss einige Zufallskomponenten einbauen, wie z. B. „sinnlose kleine“ Schleifen, welche den Stromverbrauch an zufälligen Stellen erhöht. Der Verwender sollte den Schlüssel bei jeder Verwendung mit einem Modifikator, den Salt, verwenden.

Im RAM müssen die Daten nicht nach Prozessen sortiert sein, sondern die CPU schreibt Inhalte an zufälligen Orten in den RAM. So kann der Hacker nicht einfach den RAM Zelle für Zelle auslesen.

Dicke Panzerung – Verkapselungen

Elektromagenstiche Abschirmungen bringen ein Plus an Sicherheit mit sich. Der Angreifer hat es schwerer überhaupt sinnvolle Signale zu empfangen.

Eine effektive Verblombung bei den Komponenten (Verlötet, Verklebt) führt dazu, dass ein Angreifer nur mit einer unendlichen Geduld die Komponenten ausbauen kann. Statt eine massiven Verblombung nutzt ein Sicherheits-USB eine Selbstzerstörung, sobald die Außenhülle zerbohrt wird.

Ist es korrekt? – Automatisches Testing

Eine gute Software ist getestete Software.

Der Hersteller kann Softwaretests mit Unittests, Integrationstests oder Regessionstests. Eine CI /CD Pipeline automatisiert den Vorgang vollständig.

Unit Tests in Laravel
Unit Tests in Laravel

Der Hersteller muss bei jeder signifikanten Veränderung die Software von vorne bis hinten neu testen. Eine Funktion im Code braucht z. B. 10 Testfälle und Funktionen, welche die Pipeline bei jeden Codeänderung (Commit) überprüft.

Altmodische Sicherheit ist das beste – Physikalisch

Die meisten Seitenkanalangriffe brauchen einen physischen Zugriff.

Wenn Du den Raum mit dem Computer mit Sicherheitstüren, angeklebten Fenstern, Selbstschussanlagen, Teasern, Videoüberwachung und Alarmanlage schützt, dann verhinderst Du jeden Seitenkanalangriff.

Jedes guter Serverschrank lässt sich nur mit einem physischen Schlüssel öffnen und ist so massiv gebaut, dass ein Schraubenzieher nicht ausreicht.

Bitte, vergesse die Kingston-Lock-Schlösser für Notebooks. Diese machen Euren Computer nicht sicher gegen Diebstahl. Mit etwas Gewalt kannst auch Du das Schloss mit einem kleinen Gehäuseschaden von der Kette befreien. Notebooks kommen in den Safe oder in den Rucksack.


Jeden Monat teile ich mit Mitgliedern
4 neue praxisnahe Tutorials (je 1000+ Wörter).


Trage Deine Mail, damit Du
Deine Coding + Hacking Skills erweitern kannst!

Die Webseite nutzt nur technisch notwendige Cookies.