Peut-on encore faire confiance aux cartes réseau ?

Lors de la conférence internationale CanSecWest à Vancouver, des membres de l’ANSSI ont présenté une méthode permettant à un attaquant de prendre le contrôle à distance d’un contrôleur réseau.

Publié le 24 Mars 2010 Mis à jour le 24 Mars 2010

Le 24 mars 2010, à l'occasion de la conférence internationale CanSecWest à Vancouver, des membres de l’ANSSI ont présenté une méthode permettant à un attaquant de prendre le contrôle à distance d’un contrôleur réseau particulier. Le présent communiqué propose un résumé synthétique des résultats et vise à répondre à un certain nombre de questions qu’il est légitime de se poser sur le sujet traité lors de cette présentation.

1. Résumé

Le titre retenu pour la présentation était “Can you still trust your network card?” (« Peut-on encore faire confiance aux cartes réseau ? »). Des ingénieurs de l’ANSSI ont découvert une vulnérabilité dans une famille de contrôleurs réseau et ont démontré que cette vulnérabilité était exploitable par un attaquant pour exécuter du code arbitraire à l’intérieur de la carte réseau elle même. L’attaque peut se faire depuis le réseau, simplement en adressant quelques paquets bien choisis à la machine de la victime. Une fois la carte réseau compromise, l’attaquant peut réaliser des attaques de type « homme du milieu » sur les connexions réseau de sa victime, accéder aux clefs cryptographiques et aux secrets stockés en mémoire, ou injecter un code malveillant dans la mémoire de la machine (voir le § 2). La présentation comprenait une description de la vulnérabilité découverte et une démonstration mettant en œuvre une preuve de concept développée pour l’occasion. Les outils utilisés pour la démonstration, les codes et paquets réseau utilisés pour la preuve de concept n’ont pas été fournis lors de la présentation, et ne seront par ailleurs jamais mis à la disposition du public. Les transparents de la présentation sont disponibles ici.

2. Une attaque à distance sans authentification sur une carte réseau ! Est-ce aussi dangereux que cela en a l’air ?

Une telle attaque informatique (attaque à distance ne nécessitant aucune authentification) est pratiquement la plus efficace que l’on puisse imaginer. Un attaquant à distance, localisé virtuellement n’importe où sur le réseau peut utiliser une telle vulnérabilité pour prendre le contrôle d’une carte réseau à distance et :

  • intercepter tout le trafic réseau de la victime et le transférer à une machine sous contrôle de l’attaquant ;
  • effectuer une attaque active « par le milieu » sur toutes les connexions réseau non authentifiées de la victime (protocoles ARP et DNS notamment) et rediriger toute connexion vers une machine sous contrôle d’un attaquant ;
  • éteindre, démarrer ou redémarrer la machine à distance.

De plus si aucune technologie de type I/OMMU n’est utilisée (voir ci-dessous), l’attaquant peut obtenir un accès complet à la mémoire de la machine de la victime et prendre le contrôle total de cette machine. Cependant, l’attaque présentée ne s’applique qu’à un modèle précis de contrôleur réseau (Broadcom NetXtreme) et seulement si une fonction d’administration à distance (dénommée ASF, Alert Standard Format) est activée et configurée (elle n’est pas activée par défaut). D’après les distributeurs contactés, cette fonctionnalité est extrêmement peu utilisée. En conséquence, cette vulnérabilité n’aura en pratique qu’un impact très limité. Un correctif a par ailleurs été émis pour corriger le problème (voir le § 5).

3. Une preuve de concept a-t-elle été développée?

Oui. Une démonstration a été réalisée pendant la conférence CanSecWest. Elle visait à montrer comment un attaquant pouvait complètement compromettre une machine (sous Linux pour la démonstration mais d’autres systèmes sont également vulnérables). Comme indiqué ci-dessus, les outils utilisés pour cette preuve de concept ne seront jamais rendus publics.

4. Comment puis-je déterminer si ma machine est vulnérable ?

Toute machine utilisant un contrôleur Broadcom NetXtreme avec la technologie ASF activée et configurée est a priori vulnérable. Les utilisateurs de telles machines devraient appliquer les correctifs officiels (voir le § 6). Tous les autres modèles de cartes réseau ne sont pas concernés par cette vulnérabilité. Les machines mettant en œuvre des composants Broadcom NetXtreme sur lesquelles ASF n’a jamais été configuré (ceci nécessite l’exécution de l’utilitaire Broadcom «ASF configuration tool ») ne sont pas non plus vulnérables. En conséquence, dans la majeure partie des cas, si l’utilisateur n’a jamais entendu parler de la fonction ASF, sa machine ne sera pas vulnérable. Pour plus de détails, le lecteur est invité à se reporter à l'avis du CERT-FR : CERTA-2010-AVI-121

5. Comment puis-je protéger ma machine contre une attaque exploitant cette vulnérabilité ?

Si votre ordinateur est vulnérable à cette attaque, vous devez au choix par ordre de préférence :

  • appliquer le correctif fourni par le distributeur (voir le § 6) ;
  • désactiver ASF. Cela doit être effectué en utilisant l’utilitaire utilisé lors de l’activation d’ASF (en général « Broadcom Configuration tool »). Le changement des réglages du BIOS n’est ici pas suffisant ;
  • configurer les pare-feux réseau pour ne pas autoriser les connexions entrantes sur les ports UDP liés à ASF (UDP 623 et UDP 664).

On peut noter que certains rares systèmes d’exploitation tentent de désactiver ASF au démarrage de la machine. D'un autre côté, certains systèmes d’exploitation ou moniteurs de machines virtuelles peuvent utiliser des technologies de type Intel VT-d ou AMD I/O MMU qui permettent de limiter l'impact pratique de la vulnérabilité.

6. Où puis-je trouver le correctif ?

Les correctifs sont distribués par les assembleurs de machine via les mises à jour de pilotes des cartes réseau. Ces mises à jour sont téléchargeables via les sites internet des différents assembleurs. - HP: http://h20000.www2.hp.com/bizsupport/TechSupport/Document.jsp?objectID=…

7. Quel est l’intérêt d’effectuer une telle présentation dans une conférence internationale ?

Notre but est d’attirer l’attention du plus grand nombre d'experts du domaine sur les problèmes liés aux vulnérabilités du matériel que l’on ne peut aujourd’hui plus ignorer. Nous pensons que ce type de publication peut avoir un impact significatif en amenant les concepteurs de matériel à réanalyser leurs codes embarqués, pour rechercher des vulnérabilités similaires et augmenter ainsi de facto le niveau de sécurité global des systèmes informatiques. Jusqu’ici, seuls quelques très rares projets de recherche ont abordé la question de la sécurité des cartes réseau.

8. Qui pourrait être capable de mettre en œuvre une telle attaque ?

Mettre en œuvre une attaque telle que celle que nous décrivons dans la présentation nécessite :

  • d’identifier une faille dans le code embarqué dans un contrôleur réseau ;
  • de connaître suffisamment le mode de fonctionnement du contrôleur ;
  • de développer des outils spécifiques et de comprendre comment la vulnérabilité peut être exploitable ;
  • de construire des paquets permettant la mise en œuvre de l’attaque et de rendre l’exploitation suffisamment stable pour être utilisée en pratique (architectures sous-jacentes non standards ou exotiques).

L’ANSSI ne s’attend pas à ce que de nombreuses attaques de ce type soient mises en œuvre dans les mois qui viennent mais ses ingénieurs ont montré que ce type d’attaque était aujourd’hui totalement réalisable.

9. Y a-t-il d’autres risques lies aux vulnérabilités du matériel ?

Les composants matériels (processeurs, chipsets, cartes graphiques, cartes réseau, contrôleurs USB et périphériques) exécutent généralement du code embarqué (firmware). Des vulnérabilités dans les firmwares bas niveau peuvent être exploitées par des attaquants à des fins d’escalade de privilège ou pour pérenniser la compromission d’une machine.

10. Que fait l'État français pour améliorer cette situation ?

L’ANSSI a participé à de nombreuses conférences scientifiques au cours desquelles elle a attiré l’attention des scientifiques et des industriels du domaine sur ce type de problème. Elle est également en contact avec plusieurs industriels en charge du développement de composants matériels et leur explique pourquoi il est impératif qu’ils prennent en compte les considérations de sécurité dans les choix industriels qu’ils effectuent, en particulier pour ce qui concerne le développement de logiciels embarqués -----

A propos du travail de l’ANSSI dans le domaine de l’informatique de confiance

La plupart des publications de l’ANSSI dans le domaine de l’informatique de confiance sont disponibles sur ce site.

Contact

communication (at) ssi.gouv.fr