Fuite de données via le bus en anneau du processeur Intel

Une équipe de chercheurs de l'Université de l'Illinois a développé une nouvelle technique d'attaque par canal secondaire qui manipule les fuites d'informations via l'interconnexion en anneau des processeurs Intel. L'attaque vous permet de mettre en évidence les informations d'utilisation de la mémoire dans une autre application et de suivre les informations de synchronisation des frappes. Les chercheurs ont publié des outils permettant d'effectuer des mesures associées et plusieurs prototypes d'exploits.

Trois exploits ont été proposés qui permettront :

  • Récupérez des bits individuels de clés de chiffrement lors de l'utilisation d'implémentations RSA et EdDSA vulnérables aux attaques par canal secondaire (si les délais de calcul dépendent des données en cours de traitement). Par exemple, la fuite de bits individuels contenant des informations sur le vecteur d'initialisation (nonce) d'EdDSA suffit à utiliser des attaques pour récupérer séquentiellement l'intégralité de la clé privée. L’attaque est difficile à mettre en œuvre dans la pratique et peut être menée avec un grand nombre de réserves. Par exemple, un fonctionnement réussi est affiché lorsque SMT (HyperThreading) est désactivé et que le cache LLC est segmenté entre les cœurs de processeur.
  • Définissez les paramètres concernant les délais entre les frappes. Les délais dépendent de la position des touches et permettent, grâce à une analyse statistique, de recréer les données saisies au clavier avec une certaine probabilité (par exemple, la plupart des gens tapent généralement « s » après « a » beaucoup plus rapidement que « g » après « s »).
  • Organisez un canal de communication caché pour transférer des données entre les processus à une vitesse d'environ 4 mégabits par seconde, qui n'utilise pas de mémoire partagée, de cache de processeur, de ressources et de structures de processeur spécifiques au cœur du processeur. Il est à noter que la méthode proposée pour créer un canal secret est très difficile à bloquer avec les méthodes de protection existantes contre les attaques par canal secondaire.

Les exploits ne nécessitent pas de privilèges élevés et peuvent être utilisés par des utilisateurs ordinaires non privilégiés. Il est à noter que l'attaque pourrait potentiellement être adaptée pour organiser des fuites de données entre machines virtuelles, mais cette question dépassait le cadre de l'étude et les tests des systèmes de virtualisation n'ont pas été effectués. Le code proposé a été testé sur un processeur Intel i7-9700 sous Ubuntu 16.04. En général, la méthode d'attaque a été testée sur les processeurs de bureau de la famille Intel Coffee Lake et Skylake, et est également potentiellement applicable aux processeurs de serveur Xeon de la famille Broadwell.

La technologie Ring Interconnect est apparue dans les processeurs basés sur la microarchitecture Sandy Bridge et se compose de plusieurs bus en boucle utilisés pour connecter les cœurs informatiques et graphiques, un pont serveur et un cache. L'essence de la méthode d'attaque est qu'en raison de la limitation de la bande passante du bus en anneau, les opérations de mémoire dans un processus retardent l'accès à la mémoire d'un autre processus. En identifiant les détails de mise en œuvre grâce à l'ingénierie inverse, un attaquant peut générer une charge qui entraîne des retards d'accès à la mémoire dans un autre processus et utiliser ces retards comme canal secondaire pour obtenir des informations.

Les attaques sur les bus internes du CPU sont entravées par le manque d'informations sur l'architecture et les modes de fonctionnement du bus, ainsi que par un niveau de bruit élevé, qui rend difficile l'isolement des données utiles. Il a été possible de comprendre les principes de fonctionnement du bus grâce à l'ingénierie inverse des protocoles utilisés lors de la transmission des données via le bus. Un modèle de classification des données basé sur des méthodes d'apprentissage automatique a été utilisé pour séparer les informations utiles du bruit. Le modèle proposé a permis d'organiser le suivi des délais lors des calculs dans un processus spécifique, dans des conditions où plusieurs processus accèdent simultanément à la mémoire et où une certaine partie des données est renvoyée des caches du processeur.

De plus, on peut noter l'identification de traces d'utilisation d'un exploit pour la première variante de la vulnérabilité Spectre (CVE-2017-5753) lors d'attaques sur les systèmes Linux. L'exploit utilise une fuite d'informations de canal secondaire pour trouver un superbloc en mémoire, déterminer l'inode du fichier /etc/shadow et calculer l'adresse de la page mémoire pour récupérer le fichier du cache disque.

Source: opennet.ru

Ajouter un commentaire