Haben Sie schonmal mit einem mulmigen Gefühl ihre persönlichen Daten auf einer Website eingegeben? Nur 4,6 % aller Deutschen halten das Internet für sehr sicher, wenn es um ihre persönlichen Daten geht [1]. Verschiedene Datenleaks und auch Beiträge auf diesem Blog zeigen: Nicht zu Unrecht. Vertrauenswürdigkeit ist essenziell für technische Lösungen in einer vernetzten Welt. Für elektronische Geräte heißt das u. a., dass ein Angreifender in der Nähe des Geräts keine sensiblen Daten entwenden kann.
Vertrauenswürdigkeit von elektronischen Geräten
Hat ein Angreifer physischen Zugang zu einem Gerät, ist er nicht auf Software-Angriffe beschränkt. Zusätzlich kann er die zugrunde liegende Hardware angreifen und Schwachstellen ausnutzen. Ein Beispiel für solche Angriffe sind passive Seitenkanalangriffe. Dabei wird die Stromaufnahme oder die elektromagnetische Abstrahlung eines Geräts gemessen, um Rückschlüsse auf die geheimen Daten zu ziehen, die ein Gerät verarbeitet. Auch sogenannte Fehlerangriffe, bei denen gezielt physikalische Störeffekte erzeugt werden, stellen eine Gefahr für Geräte dar. Zum Beispiel kann ein Chip durch kurzzeitige Störungen im Clock- oder Spannungssignal, sogenannte Glitches, zu einem fehlerhaften Verhalten gezwungen werden. Darüber hinaus können für Fehlerangriffe auch zielgerichtete Laser- oder elektromagnetische Impulse verwendet werden, um Sicherheitsmaßnahmen auszuhebeln oder statistische Angriffe auf geheime Daten zu ermöglichen.
In den Common Criteria (CC) Protection Profiles (PP) sind Schutzklassen gegenüber dieser Art von Angriffen festgelegt. Sie beinhalten Informationen darüber, ob ein Gerät einen effektiven Schutz gegen Angreifende mit einer gegebenen Menge an Wissen, Zeit und Equipment bietet. Die praktische Laboruntersuchung wird von zertifizierten Testlaboren vorgenommen. Die Erstellung des finalen Prüfberichts, der dem zuständigen Zertifizierer übermittelt wird, ist allerdings oft nur der Abschluss einer langen Reihe an Labortests. Vorab-Untersuchungen in gesicherten Umgebungen wie dem Hardware Security Labor des Fraunhofer AISEC ermöglichen es, Schwachstellen früh und kosteneffizient aufzudecken. Für Produkthersteller ist dieser Prozess ein zweischneidiges Schwert. Zum einen haben sie ein großes Interesse daran, dass ihre Produkte gründlich getestet werden, zum anderen wollen sie ihre Produkte möglichst schnell auf den Markt bringen. Die Studie »Security Evaluation of Hardware Design Synthesis«, die das Fraunhofer AISEC im Auftrag des BSI erstellt hat, beschäftigt sich in diesem Spannungsfeld mit einem essenziellen Schritt in der Entwicklung eines Microchips: der »Frontend Synthese«. Die Frontend Synthese ist der erste Schritt der Chipentwicklung, bei dem eine allgemeine technische Beschreibung in technologieabhängige Bauteile eines Chips übersetzt wird.
Chipentwicklung – ein komplexer Prozess
Die Entwicklung moderner Chips ist ein komplexer Prozess und startet üblicherweise mit einem Konzept, in dem die benötigten Komponenten, zum Beispiel ein Microcontroller und seine Peripherie, festgelegt werden. Anschließend erfolgt eine Beschreibung auf dem sogenannten »Register Transfer Level” (RTL), wo in »Hardware Description Languages« (HDL) die Funktionalität des integrierten Schaltkreises von einem Takt zum nächsten detailliert spezifiziert wird. Es folgt ein erster Syntheseschritt aller ausgewählten Komponenten, der oft auch als »Frontend-Synthese« oder »RTL-Synthese« bezeichnet wird. Dabei wird die funktionale Beschreibung auf RTL-Ebene in eine technologieabhängige Netzliste umgewandelt, die nur noch elementare logische Gatter wie z. B. NAND und XOR enthält. Diese Gatter sind in einem »Process Design Kit« (PDK) definiert. Für jeden Prozess, in dem ein Chiphersteller Fertigung anbietet, gibt es ein PDK, in dem die Standardzellen und andere Design-Regeln festgelegt sind. Die verschiedenen Schritte der Synthese erfolgen mit dedizierter »Electronic Design Automation« (EDA) Software, die die Schaltung z. B. im Hinblick auf Größe oder maximale Frequenz optimiert und gleichzeitig eine korrekte Funktion sicherstellt. Von der Netzliste ausgehend entsteht während des Backend-Designs das sogenannte »Tape-Out«, das alle Informationen beinhaltet, die von der Foundry zur Fertigung des integrierten Schaltkreises benötigt werden.
Die Studie »Security Evaluation of Hardware Design Synthesis«, die das Fraunhofer AISEC im Auftrag des BSI erstellt hat, befasst sich mit der Frontend- bzw. RTL-Synthese. Dieser Entwicklungsschritt ist essenziell für die Härtung eines Chips gegen Seitenkanal- und Fehlerangriffe, die oft bereits auf RTL-Ebene erfolgen.
Vulnerabilität der Hardware Design-Synthesis
Zur Absicherung von Hardware können Seitenkanalangriffe beispielsweise durch »Masking« erschwert oder unterbunden werden. Dabei wird die geheime Information auf mehrere Datenstrukturen, sogenannte Shares, aufgeteilt, die der Schaltkreis verarbeitet. Für sogenanntes »Masking zweiter Ordnung« wird ein Share zufällig gewählt. Der zweite Share bildet sich aus dem ersten Share und den geheimen Daten. Die beiden Shares können nun so verarbeitet werden, dass in der ersten statistischen Ordnung (Durchschnitt) eines physikalischen Seitenkanals (z. B. elektromagnetische Abstrahlung) keine Abhängigkeit zu den verarbeiteten Daten besteht. Das gewünschte Ergebnis der Berechnung kann abschließend durch Rekombination der Shares erhalten werden. Maßnahmen gegen Fehlerangriffe beruhen oft auf redundanten Schaltkreisen, die fehlerhafte Werte erkennen. Andere Formen der Redundanz, z. B. durch zeitliche Wiederholung oder kodierte Daten, können ebenfalls eingesetzt werden.
Während Forschende im Bereich der Hardware-Security oft einen guten Überblick über Hardware-Angriffe und Gegenmaßnahmen haben, fehlt eine Studie, darüber wie sich Gegenmaßnahmen in komplexe Design-Abläufe integrieren lassen. Die Studie »Security Evaluation of Hardware Design Synthesis« setzt hier an und zeigt auf, wie die Effektivität von Sicherheitsmaßnahmen gegenüber Fehlerangriffen durch Hardware-Synthese beeinträchtigt wird. Wir beleuchten, dass unter gewissen Umständen Netzlisten, die von Synthese-Tools erzeugt wurden, nur bedingte Resilienz gegen Hardware-Angriffe aufweisen. Die erstellte Studie nimmt die Perspektive von Hardware-Designern ein und geht darauf ein, was während der Hardware-Synthese zu beachten ist. Sie führt Methoden an, mit denen potenzielle Schwachstellen früh erkannt werden können.
Potenziell fatales Re-timing
Betrachtet wird das Masking-Verfahren als Gegenmaßnahme zu Seitenkanalangriffen. Aus der aktuellen Forschung führen wir das robuste »Probing Model« ein. Dieses Modell ermöglicht es, die formale Korrektheit einer Masking-Implementierung zu verifizieren. Die Robustheit des Modells bezieht physikalische Effekte wie unterschiedliche Signallaufzeiten ein. Das Modell nimmt einen Angreifenden an, der mit limitierten Informationen (sogenannten Probes) versucht, geheime Informationen zu rekombinieren. Solche Information kann zum einen im Zustand eines digitalen Signals (1 oder 0) stecken, aber auch durch Schaltvorgänge, die beispielsweise durch unterschiedliche Signallaufzeiten verursacht werden, entstehen.
Wir zeigen eine detaillierte Fallstudie an einer maskierten AES S-box und betrachten die »Re-timing-Optimierung«, die während der Synthese eine potenziell fatale Modifikation für maskierte Implementierungen darstellt. Wir demonstrieren, auf welche Weise Re-timing zu ungewollten Seitenkanal-Leaks führt. Wir stellen Open Source Verifikationstools aus aktueller Forschung vor, die solche Effekte auch ohne Laboruntersuchungen erkennen können. Die Studie geht auf methodische Ansätze ein, mit denen maskierte Implementierungen aus wenigen elementaren Modulen zusammengebaut werden können. Zudem analysieren wir die Optimierungen im Synthese Tool yosys, welches Open Source zur Verfügung steht und Einblicke in die Hardware-Synthese zulässt.
Härtung nach der Hardware-Synthese kaum effektiv
Die Effektivität von Maßnahmen gegen Fehlerangriffe nach der Hardware-Synthese muss ebenfalls kritisch betrachtet werden. Die Härtung gegenüber Fehlerangriffen steht im Konflikt mit den Optimierungen durch die Synthese-Tools. Letztere optimieren die Schaltkreise so, dass möglichst wenig Zellen platziert werden müssen, um die Fertigungskosten gering zu halten. Dabei werden redundante Strukturen entfernt. In unserer Studie verwenden wir das Verifikationstool SYNFI. Damit kann getestet werden, wie viele Bit-Fehler ein durch Redundanz geschütztes Modul erkennt. Die BSI-Studie beinhaltet Fallstudien, in denen verschiedene Optimierungsstrategien, der Einfluss der Standardzellen des PDKs und der Einfluss von Timing Optimierungen untersucht werden. So kann z. B. beobachtet werden, dass mit dem Anstieg der Zielfrequenz des Schaltkreises die Effektivität der Gegenmaßnahmen sprunghaft abnimmt. Dieses Verhalten scheint durch parallele Strukturen zur Optimierung kritischer Pfade und des »Fan-outs« verursacht werden. Für kommerzielle Tools können allerdings nur schwer konkrete Effekte benannt und auf atomare Optimierungsschritte zurückgeführt werden.
Weitere sicherheitskritische Schritte im Chip-Design-Prozess
Auch in anderen Schritten des Chip-Designs ergeben sich potenzielle Herausforderungen für die Sicherheit. Unsere Studie liefert hierzu erste Anhaltspunkte und zeigt, dass auch identische RTL-Implementierungen in Abhängigkeit der RTL-Synthese zu unterschiedlich resilienten Chips führen können. Demnach kann die Sicherheit eines Chips nicht ausschließlich aus einer RTL-Beschreibung bewertet werden. Nur eine Laboranalyse des tatsächlichen Produkts kann abschließend zeigen, ob Schwachstellen existieren oder ein Gerät ausreichend gehärtet ist. Die gute Nachricht für Hersteller von Produkten ist: Es existieren bereits Verifikationsansätze, mit denen potenzielle Schwachstellen, die durch RTL-Synthese entstehen, früh und automatisiert erkannt werden können. Damit diese in der Breite anwendbar sind, müssen jedoch die kommerzielle EDA-Software offener sowie transparenter und die Verifikationsansätze praktikabler werden.
Bibliografie
[1] Deutschland sicher im Netz – Sicherheitsindex 2024, ARIX Research, Juni 2024
Autoren
Felix Oberhansl
Felix Oberhansl arbeitet seit 2022 als wissenschaftlicher Mitarbeiter am Fraunhofer AISEC. In seiner Forschung beschäftigt er sich mit vertrauenswürdiger Elektronik. Dazu betrachtet er physikalische Angriffe über Seitenkanäle und Fehlerinjektion und die Entwicklung sicherer Hardware.
Kontakt: felix.oberhansl@aisec.fraunhofer.de
Tobias Stelzer
Tobias Stelzer ist seit 2023 wissenschaftlicher Mitarbeiter am Fraunhofer AISEC und forscht an effizienten Hardware-Implementierungen für Kryptografie.
Kontakt: tobias.stelzer@aisec.fraunhofer.de
Marc Schink
Marc Schink forscht in der Abteilung Hardware Security am Fraunhofer AISEC. Sein Schwerpunkt liegt auf der Entdeckung von Schwachstellen in Hard- und Software. Dabei hat er bereits mehrere Schwachstellen-Meldungsverfahren zu Produkten namhafter nationaler und internationaler Hersteller durchgeführt.