www.wikidata.de-de.nina.az
Eine Seitenkanalattacke englisch side channel attack korrekter ubersetzt aber unublich Nebenkanal Angriff auch Seitenkanalangriff bezeichnet eine kryptoanalytische Methode die die physische Implementierung eines Kryptosystems in einem Gerat Chipkarte Security Token Hardware Sicherheitsmodul etc oder in einer Software ausnutzt Dabei wird nicht das kryptographische Verfahren selbst sondern nur eine bestimmte Implementierung angegriffen d h andere Implementierungen des Verfahrens sind von dem Angriff nicht betroffen Das Prinzip beruht darauf ein kryptographisches Gerat bei der Ausfuhrung der kryptologischen Algorithmen zu beobachten und Korrelationen zwischen den beobachteten Daten und dem verwendeten Schlussel zu finden Diese charakteristische Information kann durch die Analyse der Laufzeit des Algorithmus des Energieverbrauchs des Prozessors wahrend der Berechnungen oder der elektromagnetischen Ausstrahlung gewonnen werden Aktive invasive Angriffe bestehen darin in das Gerat einzugreifen und Fehler bei der Ausfuhrung des kryptologischen Algorithmus einzubringen Um dies zu verhindern ist eine Seitenkanalanalyse daher Bestandteil der Schwachstellenanalyse in der Common Criteria Zertifizierung von Chipkarten und ahnlichen Geraten 1 Inhaltsverzeichnis 1 Beispiele fur Seitenkanale 1 1 Rechenzeitangriff Timing Attack 1 2 Gemeinsame Speichernutzung 1 3 Simple Power Analysis SPA 1 4 Differential Power Analysis DPA 1 5 Bug Attacks 1 6 Elektromagnetische Abstrahlung 1 7 Schallanalyse 2 Beispiele fur aktive Angriffe 2 1 Reaktion auf falsche Eingaben 2 2 Glitch Attacke 2 3 Differenzielle Fehleranalyse DFA 3 Gegenmassnahmen 4 Literatur 5 EinzelnachweiseBeispiele fur Seitenkanale BearbeitenRechenzeitangriff Timing Attack Bearbeiten Die von Paul C Kocher 1996 entdeckten Timing Attacks messen die Rechenzeit des implementierten kryptographischen Verfahrens fur verschiedene in der Regel vom Angreifer gewahlte Eingaben Kryptosysteme benotigen leicht unterschiedliche Ausfuhrzeiten um unterschiedliche Eingaben zu verarbeiten Diese Charakteristiken bei der Performance sind sowohl vom Schlussel als auch von den Eingabedaten Klar oder Chiffretexte abhangig Durch die Laufzeitanalyse kann der Schlussel nach und nach rekonstruiert werden Timing Attacks sind sowohl gegen Chipkarten als auch gegen Software Implementierungen veroffentlicht worden 2 Gemeinsame Speichernutzung Bearbeiten Wenn sich Prozesse auf einem Rechner Speicherbereiche teilen konnen sie aus der Nutzung des Speichers durch den anderen Prozess auf die durchgefuhrten Operationen schliessen Typische Beispiele 2005 Ein entsprechender Angriff gegen OpenSSL nutzte die gemeinsame Nutzung des Level 1 Cache beim Hyper Threading des Pentium 4 aus 3 2015 Rowhammer 2017 Meltdown 2018 SpectreSimple Power Analysis SPA Bearbeiten Simple Power Analysis ist eine Methode bei der der Energieverbrauch eines Mikroprozessors wahrend kryptographischer Berechnungen direkt aufgezeichnet wird Der Energieverbrauch variiert abhangig von den jeweils ausgefuhrten Mikroprozessorbefehlen Er gibt somit Aufschluss uber die ausgefuhrten Operationen sowie uber den Schlussel Eine Spur ist eine Menge von Energieverbrauchsmessungen die von einer kryptologischen Operation erhalten wurden Der Vergleich von Spuren entdeckt Muster wie etwa DES Runden oder RSA Operationen Unterschiede in den Spuren liefern Ruckschlusse auf den Schlussel Differential Power Analysis DPA Bearbeiten Differential Power Analysis vergleicht Spuren indem sie zusatzlich zur SPA Technik statistische Methoden einsetzt Bug Attacks Bearbeiten Ein Bug Angriff nutzt fehlerhaft implementierte Funktionen in Mikroprozessoren aus etwa Pentium FDIV Bug 4 Elektromagnetische Abstrahlung Bearbeiten Die von einem Rechner oder Gerat bei Berechnungen erzeugten elektromagnetischen Felder lassen sich oft noch in einiger Entfernung messen und erlauben ebenfalls Ruckschlusse auf die durchgefuhrten Operationen Diese Angriffe sind als Van Eck Phreaking oder TEMPEST bekannt Schallanalyse Bearbeiten Eine Analyse der Betriebsgerausche eines Computers mithilfe gunstiger Mikrophone kann zur Extraktion von RSA Schlusseln verwendet werden 5 Nadeldrucker erzeugen Gerausche die Ruckschlusse auf die gedruckten Zeichen zulassen Nach einer Lernphase und Kenntnis des Kontexts ist eine Texterkennung besser als 70 erreichbar 6 Beispiele fur aktive Angriffe BearbeitenReaktion auf falsche Eingaben Bearbeiten Manche kryptographische Implementierungen reagieren auf falsche Eingaben unterschiedlich abhangig davon an welcher Stelle der Verarbeitung ein Fehler auftritt Die Art der Reaktionen liefert einem Angreifer daher bereits Informationen uber den verwendeten geheimen Schlussel Ein solcher Angriff wurde gegen weit verbreitete Implementierungen von SSL veroffentlicht 7 Glitch Attacke Bearbeiten Glitch Attack ist eine Methode um einen Kryptoprozessor zu kompromittieren indem man die Ausfuhrung von Maschinenbefehlen unterbricht Fur den Fall dass Prozessoren nach In order Logik arbeiten wird das Programm strikt nach Programmreihenfolge abgearbeitet Haben die Prozessorschaltkreise nun nicht genugend Zeit die Befehle abzuarbeiten kann das zu unterschiedlichem Verhalten fuhren Dies wird durch das gezielte kurzfristige Abschalten der Spannungsversorgung voltage glitch oder Einfugen eines Taktpulses clock glitch erreicht Dadurch konnen Befehle falsch geladen ungultige Daten weitergereicht oder Instruktionen ubersprungen werden Das genaue Verhalten hangt vom exakten Timing ab 8 Ein Angriff kann wie folgt aussehen Genau in dem Augenblick in dem eine Vergleichs oder Sprunganweisung ausgefuhrt wird wird eine Storung eingefugt die die Befehlsausfuhrung verandert Um den Zeitpunkt zu finden beobachtet der Angreifer externe Signale die bei der Programmausfuhrung geschaltet werden Auf diese Weise konnte man eine kritische Authentifizierungsroutine umgehen Mit dieser Methode wurde bei der Xbox 360 der Bootloader ausgetrickst wodurch beliebiger Code geladen werden konnte Ziel des Angriffs war es XeLL ausfuhren zu konnen 9 Differenzielle Fehleranalyse DFA Bearbeiten Hauptartikel Differenzielle Fehleranalyse Die DFA ist eine Methode eine kryptographische Einheit zu untersuchen indem man ihr Fehler zufugt Das wird meistens durch Veranderung der Spannung Manipulation der Systemuhr oder Strahlung erzeugt Der Eingriff kann zu vier Ergebnissen fuhren kein Effekt falsche Resultate was ausgenutzt werden kann keine Antwort physische Zerstorung Bei diesem Angriff wird derselbe Klartext der unbekannt sein kann zweimal verschlusselt einmal unter regularen Bedingungen und einmal unter Testbedingungen Die beiden Chiffretexte werden dann verglichen Bitdifferenzen liefern Ruckschlusse auf das RSA Signaturschema Gegenmassnahmen BearbeitenGegenmassnahmen wirken spezifisch gegen eine oder mehrere Angriffsformen Sensoren die Veranderungen der Betriebsspannung oder des Takts wahrnehmen konnen den Computer veranlassen sich gezielt auszuschalten geheimes Schlusselmaterial aus dem Speicher zu loschen oder andere Verteidigungsmassnahmen durchfuhren Zur Glattung des Stromverbrauchs konnen zusatzlich Kondensatoren in die Schaltung eingefugt werden Dadurch wird die Analyse des zeitlich exakten fein aufgelosten Stromverbrauchs erschwert dabei mussen die Kondensatoren so verbaut sein dass ein Angreifer sie nicht aus der Schaltung entfernen kann Durch Generierung des ausgefuhrten Maschinencodes anhand spezieller Verfahren wird erreicht dass die Code Ausfuhrung unabhangig von den verarbeiteten Daten stets dieselbe Laufzeit benotigt Dazu wird die Menge der nutzbaren Maschinenbefehle stark eingeschrankt Befehle die nicht verwendet werden sind zum Beispiel bedingte Sprungbefehle da die angesprungenen Codestucke ublicherweise unterschiedliche Laufzeiten haben oder Divisionen da die Ausfuhrungszeit von den konkreten Zahlen abhangt Fur den Fall dass bedingte Sprunge doch notwendig sind mussen die beiden moglichen Ausfuhrungspfade mit redundantem Code aufgefullt werden damit sie gleich lange laufen Physikalische Abschirmung gegen elektromagnetische Abstrahlungen zum Beispiel bei Monitoren Die eigentliche Aufgabe des ausgefuhrten Codes kann durch zusatzliche nutzlose Codestucke verschleiert werden Code Obfuscation Dadurch wird dem Angreifer die Analyse erschwert sie wird jedoch nicht unmoglich gemacht Auf Mikrochips konnen mit derselben Idee zusatzliche Gatter eingebaut werden die keine physikalische Funktion haben Gatter Obfuscation Insbesondere im Hochfrequenzbereich gibt es Komponenten etwa kleine Metallansammlungen die auf den ersten Blick nutzlos erscheinen jedoch als kleine Kondensatoren dienen und dadurch die Gesamtschaltung beeinflussen Das Beobachten von physikalischen Signalen kann verschleiert werden indem zusatzliches Signalrauschen erzeugt wird Literatur BearbeitenNational Computer Security Center A Guide to understanding Covert Channels Paul Kocher Timing Attacks on Implementations of Diffie Hellman RSA DSS and Other Systems Proc Int Cryptol Conf Volume 1109 of Lecture Notes in Computer Science Springer 1996 p 104 113 ISBN 3 540 61512 1 Paul Kocher Joshua Jaffe Benjamin Jun Differential Power Analysis PDF 217 kB Volume 1666 of Lecture Notes in Computer Science Springer 1999 p 388 397 Einzelnachweise Bearbeiten Das OFIT Trendsonar der IT Sicherheit Seitenkanalanalyse Fraunhofer FOKUS Kompetenzzentrum Offentliche IT April 2016 abgerufen am 20 Mai 2016 Patrick Brauch Sicherheitslucke bei SSL Bibiliotheken In heise de 20 Februar 2003 abgerufen am 3 Februar 2024 Andreas Stiller Lauschangriff Sicherheitsrisiko Hyper Threading In c t Band 13 Nr 14 2005 S 48 heise de abgerufen am 13 Juni 2019 Eli Biham Yaniv Carmeli Adi Shamir Bug Attacks CRYPTO 2008 LNCS 5157 S 221 240 Springer 2008 RSA Key Extraction via Low Bandwidth Acoustic Cryptanalysis Backes et al Acoustic Side Channel Attacks on Printers Memento vom 8 Mai 2012 im Internet Archive PDF 827 kB PDF bei eprint iacr org Embedded Security 101 Abgerufen am 31 August 2020 englisch gligli The Xbox 360 reset glitch hack August 2011 abgerufen am 21 Februar 2012 englisch We found that by sending a tiny reset pulse to the processor while it is slowed down does not reset it but instead changes the way the code runs Abgerufen von https de wikipedia org w index php title Seitenkanalattacke amp oldid 241815999 Differential Power Analysis DPA