Attaques sur les canaux de contournement: désormais non seulement les PC mais aussi les smartphones sont attaqués (revue analytique)

Bien que les appareils mobiles soient de plus en plus demandés, et les attaques sur les canaux de contournement de la mémoire cache (ci-après dénommées attaques de cache) sont un moyen puissant de casser l'électronique moderne des microprocesseurs, jusqu'en 2016, il n'y avait que quelques publications sur l'applicabilité de ces attaques aux smartphones . De plus, ces premières publications se limitaient à considérer les attaques sur la table AES et n'abordaient pas les méthodes plus modernes d'attaques internucléaires: Prime + Probe [6], Flush + Reload [6], Evict + Reload [7], Flush + Flush [8], Rowhammer [ 9]. De plus, jusqu'en 2016, on pensait que les attaques de cache internucléaire ne pouvaient être effectuées que sur les plates-formes Intel et AMD, mais récemment, elles ont également été effectuées pour les plates-formes ARM (sur les smartphones et autres appareils mobiles). [6]


Ces dernières années, les experts en cybersécurité ont suscité un regain d'intérêt - pour mettre en cache les attaques sur les smartphones. Cet article est une revue analytique des principales découvertes dans ce domaine pour la période 2015-2017.


- Historique des canaux de contournement
- Pourquoi les attaques de cache sur ARM sont si uniques
- Variétés d'attaques de cache
- - Expulser + Temps
- - Prime + sonde
- - Flush + Reload
- - Expulser + recharger
- - Flush + Flush
- - AnC
- Effet Rowhammer
- Déduplication de la mémoire système
- Pseudo-isolation du noyau du système d'exploitation
- Canaux cachés internucléaires et interprocesseurs



Quant aux attaques de cache sur les tables AES, bien que l'on sache depuis longtemps que ces attaques sont possibles , l'implémentation vulnérable des tables AES est toujours utilisée comme standard de facto; y compris dans les appareils de cryptographie intégrés modernes, tels que les cartes SIM. Par exemple, les réseaux 3G / 4G utilisent l'algorithme d'authentification AES MILENAGE. Son compromis vous permet de cloner des cartes USIM et d'écouter les conversations. T.O. Les attaques de cache sur les canaux de contournement sont pertinentes pour les cartes SIM (utilisées pour accéder au réseau 2G) et les cartes USIM (utilisées pour accéder aux réseaux 3G / 4G). En 2015, «l'attaque de puissance différentielle» (DPA) a été décrite - une attaque qui récupère les clés de chiffrement (utilisées par l'algorithme MILENAGE) et d'autres secrets de carte USIM en quelques minutes seulement. [3]



Historique des canaux de contournement


  • À mesure que la complexité du logiciel augmente et que le nombre de protections logicielles avancées augmente, le piratage du système au niveau matériel, en particulier l'utilisation d'attaques de cache sur les canaux de contournement, devient une alternative de plus en plus intéressante. Ces attaques sont basées sur des vulnérabilités trouvées dans l'architecture mémoire-processeur. [4]
  • En 1985, la technologie de lecture des informations des écrans vidéo a été introduite - en mesurant les interférences électromagnétiques induites par eux [10]. Basé sur cette technologie, un enregistreur de frappe a été développé en 2014 - construit sur la base d'un smartphone et d'une antenne radio. [12]
  • En 1996, il a été démontré qu'en mesurant soigneusement le temps passé à effectuer des opérations avec des clés privées, divers systèmes cryptographiques, tels que le chiffrement DES, peuvent être piratés. En 2016, l'attaque des canaux de contournement sur un dispositif de cryptage utilisant la cryptographie elliptique avancée a été démontrée pour la première fois; lors de l'attaque, la clé de déchiffrement secrète a été extraite de l'appareil cible situé dans une autre pièce. [13]
  • En 1997, la «méthode de distorsion différentielle» (DFA) a été introduite - une attaque qui utilise divers modèles de micro-défaillances, ainsi que diverses méthodes de cryptanalyse; pour restaurer les paramètres secrets des cartes à puce et autres appareils protégés contre tout accès non autorisé. [11] Ayant un accès physique à l'appareil, vous pouvez modifier la tension d'alimentation, la fréquence du signal d'horloge; ou les conditions environnementales (température, etc.) - pour provoquer un dysfonctionnement de la carte à puce. De plus, des dysfonctionnements de l'équipement peuvent être déclenchés - même par une intervention logicielle seule; et donc cela peut être fait en mode d'accès à distance.
  • En 2014, une attaque contre les contournements de cache a été démontrée; cette attaque utilise des fuites d'informations causées par la différence de temps d'accès aux données, selon qu'elles se trouvent ou non dans le cache; ainsi cette attaque indique clairement sur quelles données le code sous enquête a récemment opéré. Au cours de cette attaque, une récupération complète des clés AES a été démontrée. [9] Un peu plus tard, en 2015, il a été démontré que les canaux de contournement du cache peuvent être utilisés non seulement pour attaquer les systèmes cryptographiques, mais également pour collecter des informations sur les frappes. [14]
  • En 2014, il a été démontré que l'accès à la même cellule mémoire à haute fréquence peut provoquer une commutation de bits spontanée dans les puces DRAM (effet Rowhammer). [9] Parce que la DRAM évolue jusqu'à la plus petite taille, il n'est pas facile d'empêcher les interférences électriques entre les cellules individuelles. C'est pourquoi l'activation d'une certaine ligne de la mémoire entraîne une distorsion des données dans les lignes adjacentes.
  • En 2015, il a été démontré que l'effet Rowhammer peut être utilisé pour élever des privilèges au superutilisateur. [15] La même année, il a été démontré que la commutation spontanée de bits peut être déclenchée même par du code Java téléchargé sur le site Web. [7] Initialement, ce scénario a été mis en œuvre uniquement pour les systèmes Intel et AMD utilisant des modules DDR3 et DDR4. [16, 17] Cependant, en 2016, cette attaque a également été démontrée sur les plateformes ARM. [1] La même année, il a été démontré que les attaques de cache peuvent également être utilisées pour surveiller l'activité du cache dans TrustZone. [1]
  • En 2016, une «reverse engineering» a été réalisée pour les fonctions d'adressage DRAM couramment utilisées dans les smartphones modernes. En conséquence, des moyens supplémentaires de commutation des bits ont été découverts qui sont disponibles pour la mise en œuvre sur des millions d'appareils Android, sans avoir besoin de travailler en mode privilégié. [1]
  • En 2016, l'attaque sur le dernier niveau du cache du processeur ARM a été démontrée pour la première fois. Cette attaque peut être implémentée pour les attaques de cache internucléaire et interprocessus sur les canaux de contournement. [1]


Pourquoi les attaques de cache sur ARM sont si uniques


  • Méthodes d'attaque telles que Flush + Reload et Flush + Flush - utilisez l'instruction de réinitialisation clflush x86 non privilégiée pour supprimer une ligne de données du cache. Cependant, à l'exception des processeurs ARMv8-A, les plates-formes ARM n'ont pas d'instructions de réinitialisation de cache non privilégiées; Par conséquent, en 2016, une méthode d'extrusion de cache indirecte a été proposée en utilisant l'effet Rowhammer. [1]
  • Pour mener une attaque de cache réussie, des informations telles que le temps de cycle exact d'accès à une cellule de mémoire sont nécessaires. Les premières attaques de cache utilisaient des compteurs de performances système à ces fins, mais cette méthode est inefficace, car ces compteurs sur les processeurs ARM ne sont disponibles qu'en mode privilégié. Cependant, en 2016, trois sources alternatives de synchronisation ont été proposées, dont celles disponibles en mode non privilégié. [1] L'un d'eux est le lancement d'un flux de synchronisation parallèle, qui incrémente en continu une variable globale. En lisant la valeur de cette variable, un attaquant peut mesurer le temps de cycle d'accès à une cellule mémoire.
  • En outre, le soi-disant. politique de substitution pseudo-aléatoire, à la suite de laquelle l'éviction du cache est moins prévisible que dans les processeurs Intel et AMD. Néanmoins, en 2016, une attaque de cache efficace a été démontrée même dans des conditions aussi bruyantes - pour trois smartphones: «OnePlus One» (utilise «Snapdragon 801 SoC» avec le processeur «Krait 400» de l'architecture ARMv7-A), «Alcatel One Touch Pop 2 »(utilise« Snapdragon 410 SoC »avec une architecture de processeur« CortexA53 »ARMv8-A),« Samsung Galaxy S6 »(utilise« Samsung Exynos 7 Octa 7420 SoC »avec deux grappes de processeurs« ARMv8-A »). [1]


Variétés d'attaques de cache


  • En général, une attaque de cache sur des canaux de contournement peut être divisée en trois étapes: 1) identification du signal microarchitectural «s'infiltrant» du système électronique «qui fuit»; Des exemples typiques de tels signaux microarchitecturaux qui fuient sont la consommation d'énergie et le rayonnement électromagnétique des circuits intégrés. [2, 3]; 2) surveillance et analyse de ce signal pendant le fonctionnement du système; 3) l'identification des différences de motifs signal microarchitectural. [2]
  • Expulser + temps. L'idée de base est de déterminer à quels ensembles de cache le programme victime accède. Algorithme: 1) mesurer le temps d'exécution du programme victime; 2) déplacer une certaine partie du cache; 3) mesurer à nouveau le temps d'exécution du programme d'aide aux victimes. En utilisant la différence de temps entre les deux dimensions, vous pouvez déterminer combien de temps une certaine partie du cache a été utilisée par la victime au moment de l'exécution. En 2010, un type d'attaque puissant basé sur Evict + Time a été démontré - contre AES sur OpenSSL; sans avoir besoin de textes ouverts et cryptés. [18, 19]
  • Prime + Probe. Cette méthode - comme la précédente - permet à un attaquant de déterminer à quels ensembles de cache le programme victime accède. Algorithme: 1) remplir une certaine partie du cache; 2) transférer le contrôle au programme d'aide aux victimes; 3) déterminer quelle partie du cache complet nous appartient toujours. Cela peut être fait en mesurant le temps d'accès aux adresses utilisées par l'attaquant pour remplir le cache lors de la première étape. T.O. si le programme victime utilise des adresses mappées sur les mêmes zones du cache que l'attaquant, il forcera les données de l'attaquant à sortir du cache; et un attaquant peut suivre cela dans la troisième étape. Dans [19], une attaque utilisant ce mécanisme a été démontrée - sur OpenSSL AES et Linux dm-crypt. En 2015 [20], il a été démontré comment, en utilisant Prime + Probe, vous pouvez monter le canal secret internucléaire et inter-machine, puis attaquer ElGamal dans GnuPG. La même année, une attaque réussie contre l'implémentation d'OpenSSL AES dans le cloud a été démontrée. [21]
  • Rincer + recharger. En 2011 [22], il a été montré comment clflush peut être utilisé pour attaquer AES. Clflush est utilisé pour pousser une cellule de mémoire suivie hors du cache; suivi de vérifier si cette cellule a été rechargée dans le cache après que le programme victime a exécuté un petit nombre d'instructions. Algorithme: 1) Projetez un binaire (par exemple, un objet partagé) dans son espace d'adressage (en utilisant un appel système approprié, tel que mmap); 2) extruder la ligne de cache (code ou données) du cache; 3) transférer le contrôle au programme d'aide aux victimes; 4) vérifier si cette ligne de cache (de l'article 2) a été chargée par le programme victime (cette vérification est effectuée en mesurant le temps d'accès à la cellule mémoire). En 2014, la restauration complète de la clé secrète AES dans la machine virtuelle VMWare a été démontrée par une attaque de cache Flush + Reload. [23] La même année, en utilisant la même attaque, la restauration de la clé secrète de l'algorithme OpenSSL ECDSA (algorithme de signature numérique basé sur des courbes elliptiques) a été démontrée. [24] En 2015, par l'attaque Flush + Reload, le mécanisme système de «déduplication de la mémoire» a été compromis; en conséquence, la possibilité de communication non autorisée entre des machines virtuelles s'exécutant sur une machine physique commune. [25] La même année, il a été démontré comment utiliser Flush + Reload pour obtenir des informations sur les bibliothèques cryptographiques utilisées par diverses machines virtuelles fonctionnant sur une machine physique commune. [26] En 2015, il a également été démontré qu'en plus d'attaquer les systèmes cryptographiques, la méthode Flush + Reload peut également être utilisée pour un enregistreur de frappe. [14]
  • Expulser + recharger. Il a été introduit en 2015 [14]. Utilise Flush + Reload pour l'extrusion - au lieu des instructions d'extrusion. Bien que cette attaque n'a pas de sens pour x86 (car clflush n'a pas besoin de privilèges), elle est très pertinente pour les processeurs ARM (car une telle instruction n'est disponible qu'en mode privilégié). L'essence d'Evict + Reload est que pour extraire la cellule souhaitée du cache, nous remplissons le cache avec un grand nombre d'adresses interconnectées, à la suite de quoi le mécanisme responsable de l'éviction décide de presser la cellule de cache dont nous avons besoin. De plus, en 2016, il a été démontré qu'une stratégie préventive efficace et rapide peut initier une commutation de bits spontanée dans des rangées adjacentes de modules DRAM (à la suite d'un accès multiple à la même ligne de mémoire) à l'aide d'applets écrites en JavaScript. [24] Ainsi les attaques de cache ne dépendent plus des instructions de vidage de cache privilégiées comme clflush.
  • Flush + Flush. Les attaques Flush + Reload et Prime + Probe provoquent de nombreux accès au cache, dont la durée peut être mesurée (via les compteurs de performances du système). L'attaque Flush + Flush, introduite en 2015, est précisément basée sur ces observations. [8] L'attaque est presque la même que Flush + Reload. Un objet fichier binaire ou fractionné est mappé à l'espace d'adressage de l'attaquant. La cellule mémoire est forcée hors du cache et le contrôle est transféré au programme victime. Cependant, au lieu de l'étape de redémarrage, où la cellule que nous observons est accessible, elle est à nouveau supplantée; sans provoquer de ratés, en comparaison avec Flush + Reload ou Prime + Probe. T.O. Il est facile de savoir si un emplacement mémoire est mis en cache ou non.
  • AnC. Il s'agit d'une nouvelle modification de l'attaque de cache «Evict + Time», introduite en 2017. [4] Une caractéristique distinctive d'AnC est que cette attaque de cache repose sur l'analyse des tables de pages mises en cache, qui sont utilisées dans la plupart des processeurs modernes (Intel, AMD, ARM). [4] Aujourd'hui, au cœur de tout processeur se trouve une «unité de gestion de la mémoire» (MMU), qui simplifie la gestion de la mémoire physique disponible - grâce à sa virtualisation; pour une utilisation ultérieure par plusieurs processus. La MMU utilise la structure de données «table de pages» pour mapper les cellules de mémoire virtuelle et physique. Page Tables est une cible attrayante pour les attaques matérielles. Par exemple, la commutation spontanée d'un seul bit (causée par l'effet Rowhammer) dans le «tableau des pages» - il peut être suffisant pour l'attaquant de contrôler l'adresse physique de la mémoire à laquelle il ne devrait pas avoir accès; et cela peut être suffisant pour obtenir des privilèges de superutilisateur. [4]


Effet Rowhammer


  • Une puce DRAM séparée a une petite capacité, et donc plusieurs microcircuits sont connectés ensemble sur une seule carte - afin de former ce que l'on appelle Série DRAM. Un module de mémoire DRAM peut contenir une ou plusieurs lignes DRAM. Une puce DRAM se compose d'un réseau bidimensionnel de cellules. Chaque cellule DRAM est un condensateur; 0 et 1 sont l'état chargé ou déchargé du condensateur. Chaque cellule de la grille est connectée à une cellule voisine par fil. Si une cellule est activée, la tension est appliquée à la fois à son condensateur et à tous les autres condensateurs de la même ligne. Comme les cellules de mémoire deviennent de plus en plus petites et plus proches les unes des autres au fur et à mesure des progrès technologiques, les interférences causées par l'activation d'une ligne de mémoire affectent très souvent les charges de condensateur des lignes adjacentes. En 2014, il a été démontré [9] qu'un accès fréquent à la même cellule de mémoire DRAM conduit à l'effet Rowhammer - commutation de bits spontanée. Cet effet peut être utilisé pour augmenter les privilèges (par exemple, pour quitter le sandbox de sécurité [15]); il peut être mis en œuvre, entre autres, à la suite de l'exécution de code JavaScript non privilégié situé sur le site Web.
  • Pour «obstruer» une cellule de mémoire spécifique, un attaquant doit trouver deux adresses dans la même banque de DRAM - mais sur des lignes différentes. Certains bits d'adresse sont utilisés pour sélectionner la ligne, le canal et la banque de l'emplacement mémoire. Cependant, le fonctionnement de la fonction d'échantillonnage n'est pas documenté. Par conséquent, en 2015 [27], un mécanisme a été introduit pour l'automatisation complète de la rétro-ingénierie de la fonction correspondante; en utilisant le fait que les "conflits de chaînes" entraînent une augmentation du temps d'accès à la mémoire. L'essence de l'approche utilisée est de rechercher des adresses qui sont mappées à la même banque DRAM, mais sur une ligne différente; en mesurant à plusieurs reprises le temps d'accès à deux adresses aléatoires. Pour certaines paires d'adresses, le temps d'accès est plus long que pour d'autres - cela signifie qu'elles appartiennent à des lignes différentes, mais à la même banque. Ces adresses sont ensuite regroupées en ensembles ayant le même canal, la même ligne et la même banque. Ces adresses identifiées sont ensuite utilisées pour reconstruire la fonction d'adressage - en générant toutes les fonctions linéaires et en les appliquant à toutes les adresses d'un sous-ensemble sélectionné arbitrairement. T.O. puisque l'espace de recherche est petit, la force brute de force brute est très efficace ici. [1]
  • Les premières implémentations d'attaques utilisant l'effet Rowhammer reposaient soit sur des méthodes probabilistes (en raison desquelles un crash système imprévu pouvait se produire pendant l'attaque); ou fonctions de gestion de mémoire spécialisées: déduplication de la mémoire, paravirtualisation MMU, interface pagemap. Cependant, ces fonctions sur les appareils modernes ne sont pas du tout disponibles ou sont désactivées pour des raisons de sécurité. [30]
  • Par conséquent, en 2016, l'attaque Drammer a été introduite - sans les inconvénients et limitations répertoriés. Il repose uniquement sur les capacités actuelles des systèmes d'exploitation modernes, qui sont disponibles sans droits de superutilisateur. En particulier, le comportement prévisible du sous-système de distribution de la mémoire physique. Cette prévisibilité est utilisée pour réaliser la répartition de la mémoire physique (dans laquelle les données sensibles seront traitées, telles que des tables de pages mémoire) dans un emplacement vulnérable de la mémoire physique choisi par l'attaquant. La technique correspondante de «massage de la mémoire» s'appelait Phys Feng Shui. Pour démontrer l'opérabilité de l'attaque Drammer, une implémentation d'exploit est fournie qui donne accès au répertoire racine d'un appareil Android. Cet exploit peut être lancé par n'importe quelle application sans autorisation spéciale; et sans exploiter aucune vulnérabilité logicielle. [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]
  • En 2016, une nouvelle implémentation de la chaîne cachée sur Android a été introduite, qui fonctionne 250 fois plus rapidement que toutes les autres implémentations précédemment proposées. [1]

Bibliographie

1. Moritz Lipp, Daniel Gruss. ARMageddon: Cache Attacks on Mobile Devices // Actes du 25e symposium sur la sécurité USENIX. 2016. pp. 549-564.
2. Robert Callan. Une méthodologie pratique pour mesurer le signal du canal latéral à la disposition de l'attaquant pour des événements de niveau instruction // 47e Symposium international annuel IEEE / ACM sur la microarchitecture (MICRO), pages 242-254, décembre 2014.
3. Junrong Liu. Les petits ajustements n'aident pas: analyse de la puissance différentielle des implémentations MILENAGE dans les cartes USIM 3G / 4G. BlackHat 2015.
4. Herbert Bos, Ben Gras. Reverse Engineering Hardware Page Table Caches Using Side-Channel Attacks on the MMU . 2017.
5. Yu Cai, Saugata Ghose. Vulnerabilities in MLC NAND Flash Memory Programming: Experimental Analysis, Exploits, and Mitigation Techniques // 23rd IEEE Symposium on High Performance Computer Architecture, Industrial session, février 2017.
6. Falkner Katrina. Flush + Reload: A High Resolution, Low Noise, L3 Cache Side-Channel Attack // Actes du 23e USENIX Security Symposium. 2014. pp. 719-732.
7. Gruss Daniel, Maurice Clementine M angard, Stefan. Rowhammer.js: une attaque par faute induite par logiciel à distance en JavaScript . 2016.
8. Gruss Daniel, Wagner Klaus. Flush + Flush: une attaque de cache de dernier niveau plus furtive . 2015.
9. Kim Yoongu, Daly Ross. Retourner des bits en mémoire sans y avoir accès: une étude expérimentale des erreurs de perturbation DRAM // Compte rendu du 41e Symposium international annuel sur l'architecture informatique. Piscataway, NJ, États-Unis: IEEE Press, 2012 (ISCA '14).
10. Eck Wim. Rayonnement électromagnétique émis par les afficheurs vidéo: un risque d'écoute? // Ordinateurs et sécurité. Non. 4, 1985. pp. 269-286.
11. Biham Eli, Shamir Adi. Analyse différentielle des défauts du système de cryptographie à clé secrète // Advances in Cryptology - CRYPTO '97 Bd. 1294.
12. Callan Robert, Zajic Alenka. Une méthodologie pratique pour mesurer le signal du canal latéral à la disposition de l'attaquant pour des événements de niveau instruction // Actes du 47e Symposium international annuel IEEE / ACM sur la microarchitecture. 2014. pp. 242–254.
13. Genkin Daniel. Extraction de clés ECDH via des attaques électromagnétiques à faible bande passante sur PC // Cryptology ePrint Archive, Report 2016/129.
14. Gruss Daniel. Attaques de modèle de cache: automatisation des attaques sur les caches de dernier niveau inclusifs // Actes du 24e symposium sur la sécurité USENIX. 2015. pp. 897–912.
15. Seaborn Mark. Exploiter le bug DRAM rowhammer pour obtenir les privilèges du noyau . 2015.
16. Gruss Daniel. Rowhammer bitflips sur Skylake avec DDR4 . 2016.
17. Marque Lanteigne. Comment Rowhammer pourrait être utilisé pour exploiter les faiblesses Les faiblesses du matériel informatique . 2016.
18. Osvik Dag, Shamir Adi. Attaques de cache et contre-mesures: le cas d'AES // Topics in Cryptology. 2005. pp. 1-20.
19. Tromer Eran, Osvik Dag. Attaques de cache efficaces sur AES et contre-mesures // Journal of Cryptology. 23 (1), 2010. pp. 37-71.
20. Liu Fangfei, Yarom, Yuval. Les attaques de canal latéral de cache de dernier niveau sont pratiques // Actes du Symposium IEEE sur la sécurité et la confidentialité Bd. 2015. pp. 605-622.
21. Eisenbarth Thomas. Une attaque de cache partagé qui fonctionne sur tous les cœurs et défie le sandboxing VM - et son application à AES // IEEE Symposium on Security and Privacy. 2015.
22. Gullasch David, Bangerter Endre. Jeux de cache - Mettre en pratique les attaques de cache basées sur l'accès sur AES // Actes du Symposium IEEE sur la sécurité et la confidentialité. 2011. pp. 490-505.
23. Irazoqui Gorka, Inci Mehmet. Attends une minute! Une attaque rapide et multi-VM sur AES // Notes de cours en informatique Bd. 2014. pp. 299-319.
24. Yarom Yuval, Benger Naomi. Récupération des nonces OpenSSL ECDSA à l'aide de l'attaque Flush + Reload Cache Side-channel // Cryptology ePrint Archive, Report 2014/140 (2014).
25. Gulmezoglu Berk, Inci Mehmet. Une attaque Flush + Reload plus rapide et plus réaliste sur AES // Actes du 6e atelier international sur l'analyse constructive des canaux latéraux et la conception sécurisée. 2015. pp. 111-126.
26. Irazoqui Gorka, Inc. Mehmet. Know Thy Neighbour: Crypto Library Detection in Cloud // Proceedings of the Privacy Enhancing Technologies. 2015. pp. 25-40.
27. Pessl Peter, Gruss Daniel. Reverse Engineering Intel DRAM Addressing and Exploitation . 2015.
28. Marforio Claudio, Ritzdorf Hubert. Analyse de la communication entre les applications complices sur les smartphones modernes // Actes de la 28e conférence annuelle des applications de sécurité informatique. 2012. pp. 51-60.
29. Clementine Maurice, Manuel Webe. Bonjour de l'autre côté: SSH sur des canaux secrets de cache robuste dans le cloud . 2017.
30. Victor van der Veen, Lindorfer. Drammer: Attaques déterministes de Rowhammer sur les plates-formes mobiles // Actes de la conférence ACM SIGSAC 2016 sur la sécurité informatique et des communications. 2016. pp. 1675-1689.
31. Kaveh Razavi, Ben Gras. Flip Feng Shui: Marteler une aiguille dans la pile logicielle // Actes du 25e USENIX Security Symposium. 2016. pp. 1-18.
32. Ramya Jayaram Masti, Devendra Rai. Thermal Covert Channels on Multi-core Platforms // Actes du 24e USENIX Security Symposium. 2015. pp. 865-880.
33. Angelos Oikonomopoulos. Percer des trous dans la dissimulation d'informations // Actes du 25e symposium sur la sécurité USENIX. 2016. pp. 121-138.
34. Koen Koning. Pas besoin de se cacher: protéger les régions sûres sur le matériel de base // Actes de la douzième conférence européenne sur les systèmes informatiques. 2017. pp. 437-452.
35. Erik Bosman. Dedup Est Machina: la déduplication de la mémoire en tant que vecteur d'exploitation avancée // Actes du Symposium de l'IEEE sur la sécurité et la confidentialité. 2016. pp. 987-1004.
36. Evtyushkin, D., Ponomarev, D. Sauter par-dessus l'ASLR: attaquer les prédicteurs de branche pour contourner l'ASLR // Actes du 49e Symposium international sur la microarchitecture. 2016. pp. 1-13.
37. Daniel Gruss, Moritz Lipp. KASLR est mort: vive KASLR . 2017.

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


All Articles