Donnerstag, 18. Dezember 2014

Seitenkanal-Attacken und andere Probleme

Wie verhindert man Seitenkanal-Attacken?

Angreifer, die sich die Kommunikation zwischen zwei Beteiligten belauschen, klinken sich in den Datenstrom ein. Man kennt eine solche Vorgehensweise von Art Man-in-the-Middle-Attacken, eine Seitenkanal-Attacke hat jedoch meist das Ziel an geheime Daten, insbesondere das kryptografische "Geheimnis" zu kommen. Die Basis jeder Kryptografie ist die verwendete Logik zur Verschlüsselung sowie das Verschlüsselungsgeheimnis, das die Logik verwendet, um aus normalen Inhalten verschlüsselte Inhalte zu machen. Je nach Verschlüsselungsverfahren wird das Geheimnis unterschiedlich übertragen (idealerweise selten, gar nicht oder nur in Teilen wie bei etablierten Verfahren wie beim Diffie-Hellman-Schlüsselaustausch).

Seitenkanalangriffe zielen darauf ab, die Leitungen zu belauschen, um hinter das Geheimnis zu kommen, um die Inhalte entschlüsseln zu können.
Angriffe dieser Art gibt es auf viele unterschiedliche Wege. Jüngst wurde nachgewiesen, dass das GSM-Netz im UMTS-Standard (verschlüsselt mittels symmetrischen SS7) mittels Seitenkanal-Angriff geknackt werden kann.
Auch das belauschen der Kommunikation auf der Leiterplatine (z.B. einem Mainboard) gilt als Seitenkanal-Attacke, in der meist mittels Kontakt(-Angriff) der Kanal belauscht wird, um hinter die Systemlogik zu kommen.

Wie schützt man sich vor Seitenkanal-Attacken? 

Alles, was über die Leitung geht, ist in Form von Strom-Impulsen messbar. Daher sollte der Stromfluss von außen nicht zu verräterisch sein, idealerweise konstant. Dies erreicht man durch Power Consumption Balancing, indem man durch nutzlose mathematische Operationen für jede wirklich stattfindende Aktion eine Gleichverteilung erreicht.
Um dies zu erreichen gibt es mehrere Wege, die meist zusammen verwendet werden, etwa die Reduktion der Signalhöhe und das Hinzufügen von Rauschen. Letzteres ist durch ständige und zufällige Generation von Werten machbar, die einen ständigen Fluss von Informationen vortäuschen, die den Lauscher in jedem Falle stark verwirren und das Reverse Engineering erschweren.

Eine weitere Maßnahme ist es, das jeweilige Gerät bzw. die entsprechenden Leitungen und Schnittstellen zu vergießen bzw. mit tamper protection zu versehen (z.B. Bohrschutzfolie). Frauenhofer AISEC hat PEP entwickelt, was eine Art Folie darstellt, die entsprechenden Schutz bietet. Meist sorgen entsprechende Aufbruchversuche dieser Verschlussmaßnahmen dazu, dass die Daten auf den jeweiligen Bausteinen gelöscht werden und damit unbrauchbar werden.
Belauscht werden können Übertragungen allerdings auch ohne direkten Kontakt, indem nur die Abstrahlung der Leitungen gemessen wird.

Die kryptografische Sicherheit durch den verwendeten Algorithmus ist ebenfalls eine Schutzmaßnahme, dessen Höhe sich bestimmen lässt und dem Angreifer das Errechnen des Geheimnisses bzw. Schlüssels erschwert.

Fazit

Einen 100%igen Schutz für Seitenkanal-Attacken gibt es nicht, es sei denn man hat unbegrenzt finanzielle Ressourcen zur Verfügung und verschweißt das kryptografisch geschützte Gerät vollständig in eine Art Panzerschrank. Tatsächlich sind viele TPMs, HSMs und andere insbesondere kryptografisch gestützte Systeme wie Co-Prozessoren so eine Art Panzerschrank (orientiert an dem US-Standard FIPS Level 1-4).
Nur größere Komponenten derart zu verschließen ist unwirtschaftlich. Hier bleibt nur der Mittelweg zwischen einem sinnvollen Maß an physikalischem Schutz, sinnvoller Programmierung (z.B. unter Beachtung von Power Consumption Balancing) und für die Situation passend gewählter Kryptografie.



Trusted Boot

Wie man von Beginn an Sicherheit herstellt

Viele Geräte, die heutzutage im Umlauf sind, besitzen typische Eigenschaften eines PCs: Sie besitzen einen oder mehrere Prozessoren, Arbeitsspeicher, einen Speicher, der nicht flüchtig ist usw. Sie alle durchlaufen beim Start einen Boot-Vorgang, der die Initialisierung und richtige Ansprache der verbauten Komponenten übernimmt.
Die meisten Angriffe auf Geräte aller Art begründen sich darin, Daten zu sammeln bzw. abzugreifen. Eher seltener geht es um die Vernichtung oder das Unbrauchbar machen der jeweiligen Geräte, wobei dies im Bereich der Sabotage gerade in der Industrie an Bedeutung gewinnt.
Die Daten vieler Smartphones beispielsweise lassen sich heute verschlüsseln, so dass der Zugriff auf die Daten selbst je nach verwendeter Verschlüsselung ziemlich geschützt sind.
Ein typisches Angriffsszenario in diesem Fall ist der Zugang über den Boot-Mechanismus, in den sich der Hacker ein klingt, um so Zugriff auf den den beim Booten entschlüsselten Datenträger zu erlangen.

Ein möglicher Schutz des Boot-Vorgangs stellt ein Secure-Boot-Prozess dar, dessen Basis (Turaya – Die offene Trusted-Computing-Sicherheitsplattform) schon etwas länger zurück liegt, dessen Standard sich aber Schritt für Schritt etabliert. Heute ist ein TPM-basierter Boot-Prozess bereits verbreitet (der meist genutzt Standard ist UEFI). Der von Microsoft entwickelte Standard und der TPM-unterstützte Measured Boot-Prozess gelten als guter Ansatz, den Boot-Prozess abzusichern, wenngleich auch hier immer wieder Wege gefunden werden, Angriffe erfolgreich durchzuführen. Die TCG arbeitet kontinuierlich an der Verbesserung der TPM-Architekturen als zentraler Vertrauensanker im sicheren Boot-Prozess. Heute werden bereits viele PC-Mainboards mit einem TPM ausgeliefert. Neben einem gesicherten Boot-Prozess, kann ein TPM auch zur Festplattenver- und entschlüsselung verwendet werden. Mittels TSS (Trusted Software Stack) sind TPMs auch in gewissem Maße programmierbar bzw. in der Lage per API Standardfunktionen zur Verfügung zu stellen.