Angriffe auf Bypass-Kanäle: Jetzt werden nicht nur PCs, sondern auch Smartphones angegriffen (analytische Überprüfung)

Obwohl mobile Geräte immer mehr nachgefragt werden und Angriffe auf Cache-Speicher-Bypass-Kanäle (im Folgenden als Cache-Angriffe bezeichnet) eine leistungsstarke Methode sind, um die moderne Mikroprozessorelektronik zu knacken, gab es bis 2016 nur wenige Veröffentlichungen zur Anwendbarkeit dieser Angriffe auf Smartphones . Darüber hinaus beschränkten sich diese frühen Veröffentlichungen auf die Berücksichtigung von Angriffen auf die AES-Tabelle und berührten nicht modernere Methoden für internukleare Angriffe: Prime + Probe [6], Flush + Reload [6], Evict + Reload [7], Flush + Flush [8], Rowhammer [ 9]. Darüber hinaus wurde bis 2016 angenommen, dass interne Cache-Angriffe nur auf Intel- und AMD-Plattformen ausgeführt werden konnten, kürzlich jedoch auch für ARM-Plattformen (auf Smartphones und anderen Mobilgeräten). [6]


In den letzten Jahren hat das Interesse von Cybersicherheitsexperten an Cache-Angriffen auf Smartphones stark zugenommen. Dieser Artikel ist eine analytische Übersicht über die wichtigsten Entdeckungen in diesem Bereich für den Zeitraum von 2015 bis 2017.


- Geschichte der Bypass-Kanäle
- Warum Cache-Angriffe auf ARM so einzigartig sind
- Verschiedene Cache-Angriffe
- - Räumung + Zeit
- - Prime + Probe
- - Spülen + Nachladen
- - Räumung + Nachladen
- - Spülen + Spülen
- - AnC
- Rowhammer-Effekt
- Deduplizierung des Systemspeichers
- Pseudoisolation des Kernels des Betriebssystems
- Versteckte interne und Interprozessor-Kanäle



Bei Cache-Angriffen auf AES-Tabellen wird die anfällige Implementierung von AES-Tabellen weiterhin als De-facto-Standard verwendet, obwohl seit einiger Zeit bekannt ist, dass diese Angriffe möglich sind. auch in modernen eingebetteten Kryptogeräten wie SIM-Karten. Beispielsweise verwenden 3G / 4G-Netzwerke den AES-Authentifizierungsalgorithmus MILENAGE. Sein Kompromiss ermöglicht es Ihnen, USIM-Karten zu klonen und Gespräche zu belauschen. T.O. Cache-Angriffe auf Bypass-Kanäle sind sowohl für SIM-Karten (für den Zugriff auf das 2G-Netzwerk) als auch für USIM-Karten (für den Zugriff auf 3G / 4G-Netzwerke) relevant. Im Jahr 2015 wurde der „Differential Power Attack“ (DPA) beschrieben - ein Angriff, bei dem Verschlüsselungsschlüssel (vom MILENAGE-Algorithmus verwendet) und andere Geheimnisse der USIM-Karte in nur wenigen Minuten wiederhergestellt werden. [3]



Geschichte der Bypass-Kanäle


  • Da die Software immer komplexer wird und die Anzahl der erweiterten Softwareschutzfunktionen zunimmt, wird das Hacken des Systems auf Hardwareebene, insbesondere die Verwendung von Cache-Angriffen über Bypass-Kanäle, zu einer zunehmend attraktiven Alternative. Diese Angriffe basieren auf Schwachstellen in der Prozessor-Speicher-Architektur. [4]
  • 1985 wurde die Technologie zum Lesen von Informationen von Videodisplays eingeführt - durch Messung der von ihnen induzierten elektromagnetischen Interferenz [10]. Basierend auf dieser Technologie wurde 2014 ein Keylogger entwickelt, der auf einem Smartphone und einer Radioantenne basiert. [12]
  • 1996 wurde gezeigt, dass durch sorgfältige Messung des Zeitaufwands für Operationen mit privaten Schlüsseln verschiedene kryptografische Systeme wie die DES-Verschlüsselung gehackt werden können. Im Jahr 2016 wurde erstmals der Angriff auf Bypass-Kanäle auf einem Verschlüsselungsgerät mit fortschrittlicher elliptischer Kryptographie demonstriert. Während des Angriffs wurde der geheime Entschlüsselungsschlüssel vom Zielgerät in einem anderen Raum extrahiert. [13]
  • 1997 wurde die "Differential Distortion Method" (DFA) eingeführt - ein Angriff, bei dem verschiedene Modelle von Mikroausfällen sowie verschiedene Methoden der Kryptoanalyse verwendet werden. um geheime Einstellungen von Smartcards und anderen Geräten wiederherzustellen, die vor unbefugtem Zugriff geschützt sind. [11] Wenn Sie physischen Zugriff auf das Gerät haben, können Sie die Versorgungsspannung und die Frequenz des Taktsignals ändern. oder Umgebungsbedingungen (Temperatur usw.) - um eine Fehlfunktion der Smartcard zu verursachen. Darüber hinaus können Fehlfunktionen der Geräte ausgelöst werden - auch allein durch Software-Eingriffe. und daher kann es im Fernzugriffsmodus durchgeführt werden.
  • Im Jahr 2014 wurde ein Angriff auf Cache-Bypässe demonstriert. Bei diesem Angriff werden Informationslecks verwendet, die durch die unterschiedliche Zugriffszeit auf die Daten verursacht werden, je nachdem, ob sie sich im Cache befinden oder nicht. also Dieser Angriff macht deutlich, mit welchen Daten der untersuchte Code kürzlich gearbeitet hat. Während dieses Angriffs wurde eine vollständige Wiederherstellung der AES-Schlüssel demonstriert. [9] Wenig später, im Jahr 2015, wurde gezeigt, dass Cache-Bypass-Kanäle nicht nur zum Angriff auf kryptografische Systeme, sondern auch zum Sammeln von Informationen über Tastenanschläge verwendet werden können. [14]
  • Im Jahr 2014 wurde gezeigt, dass der Zugriff auf dieselbe Speicherzelle mit einer hohen Frequenz eine spontane Bitumschaltung in DRAM-Chips hervorrufen kann (Rowhammer-Effekt). [9] Da DRAM auf die kleinste Größe skaliert, ist es nicht einfach, elektrische Interferenzen zwischen einzelnen Zellen zu verhindern. Deshalb führt die Aktivierung einer bestimmten Zeile aus dem Speicher zu einer Verzerrung der Daten in benachbarten Zeilen.
  • Im Jahr 2015 wurde gezeigt, dass der Rowhammer-Effekt verwendet werden kann, um die Berechtigungen für den Superuser zu erhöhen. [15] Im selben Jahr wurde gezeigt, dass eine spontane Bitumschaltung auch durch auf die Website hochgeladenen Java-Code ausgelöst werden kann. [7] Dieses Szenario wurde ursprünglich nur für Intel- und AMD-Systeme mit DDR3- und DDR4-Modulen implementiert. [16, 17] 2016 wurde dieser Angriff jedoch auch auf ARM-Plattformen demonstriert. [1] Im selben Jahr wurde gezeigt, dass Cache-Angriffe auch zur Überwachung der Cache-Aktivität in TrustZone verwendet werden können. [1]
  • Im Jahr 2016 wurde ein „Reverse Engineering“ für die DRAM-Adressierungsfunktionen durchgeführt, die üblicherweise in modernen Smartphones verwendet werden. Infolgedessen wurden zusätzliche Möglichkeiten zum Umschalten von Bits entdeckt, die für die Implementierung auf Millionen von Android-Geräten verfügbar sind, ohne dass im privilegierten Modus gearbeitet werden muss. [1]
  • 2016 wurde erstmals der Angriff auf die letzte Ebene des ARM-Prozessor-Cache demonstriert. Dieser Angriff kann für interne und Interprozess-Cache-Angriffe auf Bypass-Kanäle implementiert werden. [1]


Warum Cache-Angriffe auf ARM so einzigartig sind


  • Angriffsmethoden wie Flush + Reload und Flush + Flush - Verwenden Sie die nicht privilegierte Anweisung zum Zurücksetzen von x86-Clflush, um eine Datenzeile aus dem Cache zu entfernen. Mit Ausnahme von ARMv8-A-Prozessoren verfügen ARM-Plattformen jedoch nicht über Anweisungen zum Zurücksetzen des Cache. Daher wurde 2016 eine indirekte Cache-Extrusionsmethode unter Verwendung des Rowhammer-Effekts vorgeschlagen. [1]
  • Um einen erfolgreichen Cache-Angriff durchzuführen, werden Informationen wie die genaue Zykluszeit für den Zugriff auf eine Speicherzelle benötigt. Frühe Cache-Angriffe verwendeten für diese Zwecke Systemleistungsindikatoren. Diese Methode ist jedoch ineffizient, da diese Zähler auf ARM-Prozessoren nur im privilegierten Modus verfügbar sind. Im Jahr 2016 wurden jedoch drei alternative Synchronisationsquellen vorgeschlagen, einschließlich der im nicht privilegierten Modus verfügbaren. [1] Eine davon ist der Start eines parallelen Synchronisationsstroms, der eine globale Variable kontinuierlich inkrementiert. Durch Lesen des Werts dieser Variablen kann ein Angreifer die Zykluszeit für den Zugriff auf eine Speicherzelle messen.
  • Darüber hinaus ist die sogenannte. Pseudozufällige Substitutionsrichtlinie, wodurch das Verdrängen des Caches weniger vorhersehbar ist als bei Intel- und AMD-Prozessoren. Trotzdem wurde 2016 ein effektiver Cache-Angriff auch unter solch lauten Bedingungen demonstriert - für drei Smartphones: „OnePlus One“ (verwendet „Snapdragon 801 SoC“ mit „Krait 400“ -Prozessor der ARMv7-A-Architektur), „Alcatel One Touch Pop 2 “(verwendet„ Snapdragon 410 SoC “mit„ CortexA53 “-Prozessor der ARMv8-A-Architektur),„ Samsung Galaxy S6 “(verwendet„ Samsung Exynos 7 Octa 7420 SoC “mit zwei Prozessorclustern„ ARMv8-A “). [1]


Verschiedene Cache-Angriffe


  • Im Allgemeinen kann ein Cache-Angriff auf Bypass-Kanäle in drei Stufen unterteilt werden: 1) Identifizierung des mikroarchitektonischen Signals, das aus dem "undichten" elektronischen System "sickert"; Typische Beispiele für solche leckenden mikroarchitektonischen Signale sind der Stromverbrauch und die elektromagnetische Strahlung von integrierten Schaltkreisen. [2, 3]; 2) Überwachung und Analyse dieses Signals während des Systembetriebs; 3) die Identifizierung von Musterunterschieden mikroarchitektonisches Signal. [2]
  • Räumung + Zeit. Die Grundidee besteht darin, zu bestimmen, auf welche Cache-Sets das Opferprogramm zugreift. Algorithmus: 1) Messung der Ausführungszeit des Opferprogramms; 2) einen bestimmten Teil des Caches verschieben; 3) Messen Sie die Ausführungszeit des Opferprogramms erneut. Anhand der Zeitdifferenz zwischen den beiden Dimensionen können Sie bestimmen, wie viel Zeit ein bestimmter Teil des Caches zur Laufzeit vom Opfer verwendet wurde. Im Jahr 2010 wurde eine leistungsstarke Art von Angriff auf der Basis von Evict + Time demonstriert - gegen AES auf OpenSSL; ohne offene und verschlüsselte Texte. [18, 19]
  • Prime + Probe. Mit dieser Methode kann ein Angreifer - wie mit der vorherigen - bestimmen, auf welche Cache-Sets das Opferprogramm zugreift. Algorithmus: 1) Füllen Sie einen bestimmten Teil des Caches; 2) Übertragung der Kontrolle auf das Opferprogramm; 3) Bestimmen Sie, welcher Teil des vollständigen Caches noch zu uns gehört. Dies kann durch Messen der Zugriffszeit auf die Adressen erfolgen, mit denen der Angreifer in der ersten Stufe den Cache gefüllt hat. T.O. Wenn das Opferprogramm Adressen verwendet, die denselben Bereichen des Caches zugeordnet sind wie der Angreifer, werden die Daten des Angreifers aus dem Cache entfernt. und ein Angreifer kann dies in der dritten Stufe verfolgen. In [19] wurde ein Angriff mit diesem Mechanismus demonstriert - auf OpenSSL AES und Linux dm-crypt. Im Jahr 2015 [20] wurde gezeigt, wie Sie mit Prime + Probe den verdeckten Kanal zwischen Kern und Maschine einbinden und dann ElGamal in GnuPG angreifen können. Im selben Jahr wurde ein erfolgreicher Angriff auf die Implementierung von OpenSSL AES in der Cloud demonstriert. [21]
  • Spülen + Nachladen. Im Jahr 2011 [22] wurde gezeigt, wie Clflush verwendet werden kann, um AES anzugreifen. Clflush wird verwendet, um eine verfolgte Speicherzelle aus dem Cache zu verschieben. Anschließend wird überprüft, ob diese Zelle erneut in den Cache geladen wurde, nachdem das Opferprogramm eine kleine Anzahl von Anweisungen ausgeführt hat. Algorithmus: 1) Projizieren Sie eine Binärdatei (z. B. ein gemeinsam genutztes Objekt) in ihren Adressraum (unter Verwendung eines geeigneten Systemaufrufs wie mmap). 2) Extrudieren der Cache-Zeile (Code oder Daten) aus dem Cache; 3) Übertragung der Kontrolle auf das Opferprogramm; 4) Überprüfen Sie, ob diese Cache-Zeile (aus Abschnitt 2) vom Opferprogramm geladen wurde (diese Überprüfung erfolgt durch Messen der Zugriffszeit auf die Speicherzelle). Im Jahr 2014 wurde die vollständige Wiederherstellung des geheimen AES-Schlüssels in der virtuellen VMWare-Maschine durch einen Flush + Reload-Cache-Angriff demonstriert. [23] Im selben Jahr wurde mit demselben Angriff die Wiederherstellung des geheimen Schlüssels des OpenSSL-Algorithmus ECDSA (digitaler Signaturalgorithmus basierend auf elliptischen Kurven) demonstriert. [24] Im Jahr 2015 wurde durch den Flush + Reload-Angriff der Systemmechanismus der „Speicher-Deduplizierung“ gefährdet. Infolgedessen besteht die Möglichkeit einer nicht autorisierten Kommunikation zwischen virtuellen Maschinen, die auf einer gemeinsamen physischen Maschine ausgeführt werden. [25] Im selben Jahr wurde gezeigt, wie mit Flush + Reload Informationen darüber abgerufen werden können, welche kryptografischen Bibliotheken von verschiedenen virtuellen Maschinen verwendet werden, die auf einer gemeinsamen physischen Maschine ausgeführt werden. [26] Im Jahr 2015 wurde auch gezeigt, dass die Flush + Reload-Methode nicht nur kryptografische Systeme angreift, sondern auch für einen Keylogger verwendet werden kann. [14]
  • Räumung + Nachladen. Es wurde 2015 eingeführt [14]. Verwendet Flush + Reload für die Extrusion - anstelle von Extrusionsanweisungen. Obwohl dieser Angriff für x86 nicht sinnvoll ist (da clflush keine Berechtigungen benötigt), ist er für ARM-Prozessoren sehr relevant (da eine solche Anweisung nur im privilegierten Modus verfügbar ist). Das Wesentliche bei Evict + Reload ist, dass wir den Cache mit einer großen Anzahl miteinander verbundener Adressen füllen, um die gewünschte Zelle aus dem Cache herauszudrücken. Infolgedessen entscheidet der für das Verdrängen verantwortliche Mechanismus, die benötigte Cache-Zelle herauszudrücken. Darüber hinaus wurde 2016 gezeigt, dass eine effiziente und schnelle Präventivstrategie mithilfe von in JavaScript geschriebenen Applets eine spontane Bitumschaltung in benachbarten Zeilen von DRAM-Modulen (aufgrund des Mehrfachzugriffs auf dieselbe Speicherleitung) initiieren kann. [24] So. Cache-Angriffe hängen nicht mehr von privilegierten Anweisungen zum Leeren des Cache wie clflush ab.
  • Spülen + Spülen. Attacks Flush + Reload und Prime + Probe verursachen zahlreiche Cache-Zugriffe, deren Dauer gemessen werden kann (über Systemleistungsindikatoren). Der 2015 eingeführte Flush + Flush-Angriff basiert genau auf diesen Beobachtungen. [8] Der Angriff ist fast der gleiche wie Flush + Reload. Ein binäres oder geteiltes Dateiobjekt wird dem Adressraum des Angreifers zugeordnet. Die Speicherzelle wird aus dem Cache gezwungen und die Steuerung wird an das Opferprogramm übertragen. Anstelle der Neustartphase, in der auf die beobachtete Zelle zugegriffen wird, wird sie jedoch erneut ersetzt. ohne Fehler zu verursachen, im Vergleich zu Flush + Reload oder Prime + Probe. T.O. Es ist leicht zu erkennen, ob ein Speicherort zwischengespeichert ist oder nicht.
  • AnC. Dies ist eine neuere Modifikation des 2017 eingeführten Cache-Angriffs „Evict + Time“. [4] Ein charakteristisches Merkmal von AnC ist, dass dieser Cache-Angriff auf der Analyse von zwischengespeicherten Seitentabellen beruht, die in den meisten modernen Prozessoren (Intel, AMD, ARM) verwendet werden. [4] Das Herzstück eines jeden Prozessors ist heute eine "Speicherverwaltungseinheit" (MMU), die die Verwaltung des verfügbaren physischen Speichers vereinfacht - durch ihre Virtualisierung. zur späteren Verwendung durch mehrere Prozesse. Die MMU verwendet die Datenstruktur "Seitentabelle", um virtuelle und physische Speicherzellen abzubilden. Seitentabellen sind ein attraktives Ziel für Hardware-Angriffe. Zum Beispiel das spontane Umschalten von nur einem Bit (verursacht durch den Rowhammer-Effekt) in der "Seitentabelle" - es kann für den Angreifer ausreichend sein, die Kontrolle über die physische Adresse des Speichers zu erlangen, auf den er keinen Zugriff erhalten soll; und dies kann ausreichen, um Superuser-Berechtigungen zu erlangen. [4]


Rowhammer-Effekt


  • Ein separater DRAM-Chip hat eine geringe Kapazität und daher sind mehrere Mikroschaltungen auf einer Platine miteinander verbunden - um die sogenannte zu bilden DRAM-Serie. Ein DRAM-Speichermodul kann eine oder mehrere DRAM-Zeilen enthalten. Ein DRAM-Chip besteht aus einer zweidimensionalen Anordnung von Zellen. Jede DRAM-Zelle ist ein Kondensator; 0 und 1 sind der geladene oder entladene Zustand des Kondensators. Jede Zelle im Gitter ist über Kabel mit einer benachbarten Zelle verbunden. Wenn eine Zelle aktiviert ist, wird die Spannung sowohl an ihren Kondensator als auch an alle anderen Kondensatoren derselben Reihe angelegt. Da Speicherzellen im Zuge des technologischen Fortschritts immer kleiner und näher beieinander werden, wirkt sich die durch die Aktivierung einer Speicherleitung verursachte Interferenz sehr häufig auf die Kondensatorladungen benachbarter Leitungen aus. 2014 wurde gezeigt [9], dass ein häufiger Zugriff auf dieselbe DRAM-Speicherzelle zum Rowhammer-Effekt führt - spontanes Bit-Switching. Dieser Effekt kann verwendet werden, um die Berechtigungen zu erhöhen (z. B. um die Sicherheits-Sandbox zu verlassen [15]). Es kann unter anderem durch die Ausführung von nicht privilegiertem JavaScript-Code auf der Website implementiert werden.
  • Um eine bestimmte Speicherzelle zu „verstopfen“, muss ein Angreifer zwei Adressen in derselben DRAM-Bank finden - jedoch in unterschiedlichen Leitungen. Bestimmte Adressbits werden verwendet, um die Leitung, den Kanal und die Bank des Speicherorts auszuwählen. Wie die Abtastfunktion funktioniert, ist jedoch nicht dokumentiert. Daher wurde 2015 [27] ein Mechanismus zur vollständigen Automatisierung des Reverse Engineering der entsprechenden Funktion eingeführt. unter Verwendung der Tatsache, dass "String-Konflikte" zu einer Verlängerung der Zugriffszeit auf den Speicher führen. Der Ansatz besteht im Wesentlichen darin, nach Adressen zu suchen, die derselben DRAM-Bank zugeordnet sind, jedoch in einer anderen Zeile. durch wiederholtes Messen der Zugriffszeit auf zwei zufällige Adressen. Bei einigen Adresspaaren ist die Zugriffszeit länger als bei anderen. Dies bedeutet, dass sie zu verschiedenen Leitungen gehören, jedoch zur selben Bank. Dann werden diese Adressen in Gruppen mit demselben Kanal, derselben Leitung und derselben Bank gruppiert. Diese identifizierten Adressen werden dann verwendet, um die Adressierungsfunktion zu rekonstruieren - indem alle linearen Funktionen erzeugt und auf alle Adressen aus einer willkürlich ausgewählten Teilmenge angewendet werden. T.O. Da der Suchraum klein ist, ist Brute Force Brute Force hier sehr effektiv. [1]
  • Die ersten Implementierungen von Angriffen mit dem Rowhammer-Effekt beruhten entweder auf probabilistischen Methoden (aufgrund derer ein ungeplanter Systemabsturz während des Angriffs auftreten könnte); oder spezielle Speicherverwaltungsfunktionen: Speicher-Deduplizierung, MMU-Paravirtualisierung, Pagemap-Schnittstelle. Solche Funktionen auf modernen Geräten sind jedoch entweder überhaupt nicht verfügbar oder aus Sicherheitsgründen deaktiviert. [30]
  • Daher wurde 2016 der Drammer-Angriff eingeführt - frei von den aufgeführten Nachteilen und Einschränkungen. Es stützt sich nur auf die aktuellen Funktionen moderner Betriebssysteme, die ohne Superuser-Rechte verfügbar sind. Insbesondere das vorhersehbare Verhalten des Teilsystems bei der Verteilung des physischen Speichers. Diese Vorhersagbarkeit wird verwendet, um die Verteilung des physischen Speichers (in dem vertrauliche Daten verarbeitet werden, z. B. Tabellen mit Speicherseiten) an einem anfälligen Ort des vom Angreifer ausgewählten physischen Speichers zu erreichen. Die entsprechende Technik zum "Massieren des Gedächtnisses" wurde Phys Feng Shui genannt. Um die Funktionsfähigkeit des Drammer-Angriffs zu demonstrieren, wird eine Exploit-Implementierung bereitgestellt, die den Zugriff auf das Stammverzeichnis eines Android-Geräts ermöglicht. Dieser Exploit kann von jeder Anwendung ohne besondere Erlaubnis gestartet werden. und ohne eine Software-Schwachstelle auszunutzen. [30]
  • T.O. Drammer , Rowhammer ( Intel AMD), ( ARM-); , . [30]
  • 2016 « » Flip Feng Shui (FFS) – Rowhammer, ; ; . FFS , Ubuntu/Debian. [31]
  • 2017 , MLC NAND -, SSD-, – , Rowhammer. . – . [5]



  • - ; . , ; . [1]
  • ( ) – , , . ( – , ). , – , . – . [1]
  • – ; Windows 8.1 10. – , « ». – . , , . , « », , . , , , . [35]
  • 2016 , – . . -, , , – ; (, 64- ). -, , , , . -, , , - – . [35]
  • , JavaScript- Microsoft Edge – . ; . , - ngnix , , : , . [35]
  • T.O. . , , . [35]



  • ASLR ( ) ( ) . «» , . , « » , . , ASLR – - . [33]
  • 2016 ASLR 32- 64- Linux, « ». , , – . . T.O. ASLR . [33]
  • ASLR – , , .. «- » (ROP). , , , , . . [37]
  • 2017 KAISER, , . , , – , . [37] , KAISER BTB ( ), 2016 . [36]
  • 2016 (BTB). BTB- 30 . -, BTB, – . , 30- , – . , , . BTB- . , Intel Skylake (Intel Skylake i7-6700K), . . [36]
  • 2017 , , - . [34]



  • . - – , . , . [29]
  • - - – ; Flush+Reload, Evict+Reload Flush+Flush. - . «» « ». Android , , – ; (. [28]). T.O. .
  • , - . – . , - , , , . [1] ; ; « » « », ; . - TCP .
  • 2017 , SSH, (45 /); . SSH-, , , telnet-. [29]
  • 2015 , . – ( , ), . . [32]
  • , . . -, ; , ; .. , . -, ( ). [32]
  • , , (16 ). , « » Intel Xeon ( 8 ) 12,5/. 5 4 . [32]
  • 2015 , . , , – . [32]
  • 2016 Android, 250 , - . [1]

1. Moritz Lipp, Daniel Gruss. ARMageddon: Cache-Angriffe auf mobile Geräte // Ablauf des 25. USENIX-Sicherheitssymposiums. 2016. pp. 549-564.
2. Robert Callan. Eine praktische Methode zur Messung des Seitenkanalsignals, das dem Angreifer für Ereignisse auf Befehlsebene zur Verfügung steht // 47. Internationales IEEE / ACM-Symposium für Mikroarchitektur (MICRO), Seiten 242-254, Dezember 2014.
3. Junrong Liu. Kleine Änderungen helfen nicht: Differential Power Analysis von MILENAGE-Implementierungen in 3G / 4G USIM-Karten. BlackHat 2015.
4. Herbert Bos, Ben Gras. Reverse Engineering Hardware-Seitentabellen-Caches mit Seitenkanalangriffen auf die MMU . 2017.
5. Yu Cai, Saugata Ghose. Sicherheitslücken in der MLC-NAND-Flash-Speicherprogrammierung: Experimentelle Analyse, Exploits und Schadensbegrenzungstechniken // 23. IEEE-Symposium für Hochleistungscomputerarchitektur, Industriesitzung, Februar 2017.
6. Falkner Katrina. Flush + Reload: Ein hochauflösender, rauscharmer L3-Cache-Seitenkanalangriff // Ablauf des 23. USENIX-Sicherheitssymposiums. 2014. pp. 719-732.
7. Gruss Daniel, Maurice Clementine M angard, Stefan. Rowhammer.js: Ein durch Remote-Software induzierter Fehlerangriff in JavaScript . 2016.
8. Gruss Daniel, Wagner Klaus. Flush + Flush: Ein verstohlener Cache-Angriff der letzten Stufe . 2015.
9. Kim Yoongu, Daly Ross. Umblättern von Bits im Speicher, ohne auf sie zuzugreifen: Eine experimentelle Studie zu DRAM-Störungsfehlern // Fortsetzung des 41. jährlichen internationalen Symposiums für Computerarchitektur. Piscataway, NJ, USA: IEEE Press, 2012 (ISCA '14).
10. Eck Wim. Elektromagnetische Strahlung von Videoanzeigegeräten: Abhörgefahr? // Computer und Sicherheit. Nein, nein. 4, 1985. pp. 269-286.
11. Biham Eli, Shamir Adi. Differenzielle Fehleranalyse des Kryptosystems mit geheimen Schlüsseln // Fortschritte in der Kryptologie - CRYPTO '97 Bd. 1294.
12. Callan Robert, Zajic Alenka. Eine praktische Methode zur Messung des Seitenkanalsignals, das dem Angreifer für Ereignisse auf Befehlsebene zur Verfügung steht // Verfahren des 47. jährlichen IEEE / ACM International Symposium on Microarchitecture. 2014. pp. 242–254.
13. Genkin Daniel. ECDH-Schlüsselextraktion über elektromagnetische Angriffe mit geringer Bandbreite auf PCs // Cryptology ePrint Archive, Report 2016/129.
14. Gruss Daniel. Angriffe auf Cache-Vorlagen: Automatisieren von Angriffen auf inklusive Caches der letzten Ebene // Ablauf des 24. USENIX-Sicherheitssymposiums. 2015. pp. 897–912.
15. Seaborn Mark. Ausnutzen des DRAM-Rowhammer-Fehlers, um Kernel-Berechtigungen zu erhalten . 2015.
16. Gruss Daniel. Rowhammer Bitflips auf Skylake mit DDR4 . 2016.
17. Lanteigne Mark. Wie Rowhammer verwendet werden kann, um Schwachstellen in Computerhardware auszunutzen . 2016.
18. Osvik Dag, Shamir Adi. Cache-Angriffe und Gegenmaßnahmen: der Fall von AES // Topics in Cryptology. 2005. pp. 1-20.
19. Tromer Eran, Osvik Dag. Effiziente Cache-Angriffe auf AES und Gegenmaßnahmen // Journal of Cryptology. 23 (1), 2010. pp. 37-71.
20. Liu Fangfei, Yarom, Yuval. Cache-Seitenkanalangriffe der letzten Ebene sind praktisch // Verfahren des IEEE-Symposiums für Sicherheit und Datenschutz Bd. 2015. pp. 605-622.
21. Eisenbarth Thomas. Ein gemeinsamer Cache-Angriff, der kernübergreifend funktioniert und VM-Sandboxing trotzt - und seine Anwendung auf das AES // IEEE-Symposium für Sicherheit und Datenschutz. 2015.
22. Gullasch David, Bangerter Endre. Cache-Spiele - Bringen Sie zugriffsbasierte Cache-Angriffe auf AES zum Üben // Verfahren des IEEE-Symposiums für Sicherheit und Datenschutz. 2011. pp. 490-505.
23. Irazoqui Gorka, Inci Mehmet. Warte eine Minute! Ein schneller, VM -übergreifender Angriff auf AES // Lecture Notes in Computer Science Bd. 2014. pp. 299-319.
24. Yarom Yuval, Benger Naomi. Wiederherstellen von OpenSSL ECDSA-Nonces mithilfe des Flush + Reload-Cache Seitenkanalangriff // Cryptology ePrint Archive, Report 2014/140 (2014).
25. Gulmezoglu Berk, Inci Mehmet. Ein schnellerer und realistischerer Flush + Reload-Angriff auf AES // Vorträge des 6. internationalen Workshops zu konstruktiver Seitenkanalanalyse und sicherem Design. 2015. pp. 111-126.
26. Irazoqui Gorka, Inc. Mehmet. Kennen Sie Ihren Nachbarn: Erkennung von Kryptobibliotheken in der Cloud // Verfahren der Technologien zur Verbesserung der Privatsphäre. 2015. pp. 25-40.
27. Pessl Peter, Gruss Daniel. Reverse Engineering Intel DRAM-Adressierung und -Nutzung . 2015.
28. Marforio Claudio, Ritzdorf Hubert. Analyse der Kommunikation zwischen kolludierenden Anwendungen auf modernen Smartphones // Proceedings of the 28. Annual Computer Security Applications Conference. 2012. pp. 51-60.
29. Clementine Maurice, Manuel Webe. Hallo von der anderen Seite: SSH über robuste Cache-verdeckte Kanäle in der Cloud . 2017.
30. Victor van der Veen, Lindorfer. Drammer: Deterministische Rowhammer-Angriffe auf mobile Plattformen // Bericht der ACM SIGSAC-Konferenz 2016 über Computer- und Kommunikationssicherheit. 2016. pp. 1675-1689.
31. Kaveh Razavi, Ben Gras. Flip Feng Shui: Eine Nadel in den Software-Stack hämmern // Ablauf des 25. USENIX-Sicherheitssymposiums. 2016. pp. 1-18.
32. Ramya Jayaram Masti, Devendra Rai. Thermal Covert Channels auf Multi-Core-Plattformen // Vorträge des 24. USENIX Security Symposium. 2015. pp. 865-880.
33. Angelos Oikonomopoulos. Löcher in das Verstecken von Informationen stecken // Proceedings des 25. USENIX Security Symposium. 2016. pp. 121-138.
34. Koen Koning. Keine Notwendigkeit zu verstecken: Schutz sicherer Regionen auf Rohstoffhardware // Tagungsband der Zwölften Europäischen Konferenz über Computersysteme. 2017. pp. 437-452.
35. Erik Bosman. Dedup Est Machina: Speicher-Deduplizierung als Advanced Exploitation Vector // Proceedings des IEEE-Symposiums für Sicherheit und Datenschutz. 2016. pp. 987-1004.
36. Evtyushkin, D., Ponomarev, D. Über ASLR springen: Zweigprädiktoren angreifen, um ASLR zu umgehen // Proceedings of the 49. International Symposium on Microarchitecture. 2016. pp. 1-13.
37. Daniel Gruss, Moritz Lipp. KASLR ist tot: Es lebe KASLR . 2017.

Source: https://habr.com/ru/post/de455310/


All Articles