• Votre panier est vide.

  • COMPTE

Une nouvelle attaque résistante au bruit sur les processeurs Intel et AMD rend les attaques basées sur Flush efficaces


Certains articles de veille peuvent faire l'objet de traduction automatique.


Les processeurs Intel et AMD modernes sont sensibles à une nouvelle forme d’attaque de canal secondaire qui rend les attaques de cache basées sur le flush résilientes au bruit du système, a révélé une étude récemment publiée partagée avec The Hacker News.

Les résultats sont tirés d’un article « DABANGG: Il est temps pour les attaques de cache basées sur Fearless Flush»publié par une paire de chercheurs, Biswabandan Panda et Anish Saxena, de l’Institut indien de technologie (IIT) Kanpur plus tôt cette semaine.

Surnommé « Dabangg« (signifiant intrépide), l’approche s’appuie sur la Rincer + recharger et Flush + Flush attaques, qui ont été exploitées auparavant par d’autres chercheurs pour fuir des données des processeurs Intel.

Cependant, la nouvelle variante vise à améliorer la précision de ces attaques même dans un système multicœur bruyant. Il fonctionne également de manière transparente avec les systèmes d’exploitation non Linux, comme macOS.

«Comme toutes les autres attaques de cache, les attaques de cache basées sur le vidage reposent sur l’étalonnage de la latence du cache», a déclaré Biswabandan Panda, professeur adjoint à l’IIT Kanpur, à The Hacker News. « Les attaques de synchronisation de cache de pointe ne sont pas efficaces dans le monde réel car la plupart d’entre elles fonctionnent dans un environnement hautement contrôlé. »

«Avec DABANGG, nous défendons les attaques de cache qui peuvent réussir dans le monde réel, résilientes au bruit du système et fonctionnent parfaitement même dans un environnement très bruyant», a-t-il ajouté.

Les attaques Flush + Reload et Flush + Flush fonctionnent en éliminant le ligne de mémoire (en utilisant l’instruction « clflush »), puis attendre que le processus victime accède à la ligne mémoire, puis recharger (ou purger) la ligne mémoire, en mesurant le temps nécessaire pour la charger.

DABANGG ressemble beaucoup aux attaques Flush + Reload et Flush + Flush en ce sens qu’il s’agit d’une attaque basée sur le flush, qui dépend de la différence de synchronisation d’exécution entre les accès mémoire mis en cache et non mis en cache. Mais contrairement aux deux derniers, DABANGG rend les seuils utilisés pour différencier un hit de cache d’une dynamique manquée.

Techniques de gestion de l’alimentation telles que la mise à l’échelle dynamique de la tension et de la fréquence (DVFS) dans les processeurs modernes permettent des changements de fréquence basés sur l’utilisation globale du processeur, les cœurs exécutant des processus gourmands en calcul fonctionnant à une fréquence plus élevée que ceux qui ne le font pas.

Cette différence de fréquence par cœur entraîne une latence d’exécution variable pour les instructions et rend les seuils choisis pour distinguer un succès de cache d’un échec inutile, ont déclaré les chercheurs.

« Nous rendons ces seuils dynamiques en fonction de la fréquence du processeur (qui est régulée de haut en bas en fonction des contrôleurs DVFS), ce qui rend les attaques basées sur le flush résilient au bruit du système », a déclaré le professeur Panda.

DABANGG affine les lacunes en capturant la distribution de fréquence du processeur dans la phase de pré-attaque et en utilisant un code lourd en calcul pour stabiliser la fréquence, avant de procéder à une attaque Flush + Reload ou Flush + Flush pour calculer la latence et vérifier un succès de cache.

La conséquence de ces attaques par canal secondaire est un moyen fiable d’écouter les entrées de l’utilisateur, d’extraire la clé privée AES, d’exfiltrer les données via un canal secret entre un processus malveillant et sa victime et d’effectuer une exécution spéculative de type Spectre pour accéder aux informations mises en cache.

Étant donné que DABANGG est également une attaque basée sur le vidage, elle peut être atténuée en utilisant les mêmes techniques que celles correspondant à Flush + Reload et Flush + Flush, à savoir, la modification de l’instruction clflush et la surveillance des échecs de cache ainsi que des modifications matérielles pour empêcher de telles attaques.

«Les attaques basées sur Flush doivent être conscientes de la fréquence du processeur pour une meilleure précision», a déclaré le professeur Panda. « D’une manière générale, si une attaque ne peut pas cibler efficacement l’accès d’une victime à moins que toutes les conditions ne soient contrôlées, cette attaque ne présente pas de risque réel. Nous pensons que ce n’est que le début pour pousser les attaques de cache dans le monde réel. , et cela déclenchera des attaques de cache meilleures et plus robustes à l’avenir. « 

Les chercheurs publieront le code source pour la preuve de concept sur Github après le 15 juin 2020.

Voir aussi :

décembre 1, 2020

Poster un commentaire

Please Login to comment

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

Culte du code | 2015-2022  (Vecteurs par Freepik, Parallax par fullvector)