Sorry, you need to enable JavaScript to visit this website.

Image CAPTCHA
Saisir les caractères affichés dans l'image.

A backdoor in the firmware

A backdoor in the firmware
2008-12-042013-02-11sécurité des réseauxfr
<!-- /* Style Definitions */ p.MsoNormal, li.MsoNormal,...
Publié le 4 Décembre 2008 par Brice Renaud dans sécurité des réseaux

Il est toujours important de se tenir au courant des recherches en cours dans le domaine de la sécurité et l’un des endroits parfait pour y parvenir est la conférence du SANS Institute. Tous les sujets dont on entend parler dans  les différentes mailling lists nous sont présentés par différents chercheurs avec à la clef de nombreuses démonstrations. Mais de temps en temps, certains sujets impressionnent plus que d’autres et c’est précisément l’objet de ce post. Je viens d’assister à la présentation (en exclusivité mondiale s’il vous plait) des travaux d’Arrigo Triulzi intitulés « A backdoor in the firmware ».

Je pense que l’intitulé de la conférence vous donne une bonne idée du sujet couvert mais le plus impressionnant reste à venir. Arrigo a mis au point un firmware « hacké » pour carte réseau Broadcom (mais on peut imaginer le même scénario sur la plupart des cartes réseau du marché) qui lui permet d’exécuter un certain nombre d’actions lorsque la carte réseau reçoit un « magic packet » avec le type IP 0xbeef (quel humour).Cette carte réseau étant connectée sur le bus PCI de la machine, elle a la possibilité d’accéder à la mémoire de la machine, de communiquer avec d’autres périphériques, … sans que le système d’exploitation et donc un quelconque anti-virus puisse s’en apercevoir. La belle affaire me direz-vous, une carte réseau a des capacités de calcul et de mémoire très limitées et ne peut donc pas faire grand-chose. Mais Arrigo a poussé le concept beaucoup plus loin puisque grâce à Vista et son bureau « Aéro » qui nécessite que la moindre machine portable ait maintenant un processeur graphique (GPU) digne d’une formule 1, il a trouvé une autre source de puissance de calcul et de mémoire qui échappe au contrôle du système d’exploitation: la carte graphique. Il a donc « hacké » cette fois le firmware d’une carte graphique pour lui fournir la puissance et la mémoire dont il avait besoin.

Je pense que vous commencez à comprendre le scénario :

  1. l’attaquant envoie un « magic packet » à la carte réseau de la machine infectée
  2. à la réception de ce paquet, celle-ci communique avec la carté graphique via le bus PCI
  3. la carte graphique lance une sorte de mini serveur SSH et communique via la carte réseau infectée
  4. l’attaquant prend ainsi le contrôle de la machine distante

Le mini serveur SSH en question est déjà fonctionnel et s’appelle « nicssh ». Il permet de faire des choses diverses et variées comme rebooter la machine à distance, lire la mémoire de la machine (qui contient le mot de passe de votre volume TrueCrypt chiffré par exemple), … et tout ça sans passer par le CPU de la machine et donc de manière complètement indétectable. Autant dire que les choses commencent à faire peur…

Se pose maintenant le problème de l’infection de la machine cible. Pour être capable de prendre le contrôle de cette machine, il faut être capable de mettre à jour le firmware de la machine en question. Connaissant la propension de nombreux utilisateurs à cliquer sur tous les mails qu’ils reçoivent, je pense que ce n’est pas un réel problème. Cependant, sur tout système d’exploitation moderne qui se respecte, les comptes utilisateurs ont de moins en moins de droits alors qu’installer un nouveau firmware nécessite des droits administrateurs. Le problème est donc réglé me direz-vous ?

Et bien non, c’était sans compter sur la ténacité d’Arrigo qui a découvert une autre porte d’entrée. Afin d’optimiser les temps de production des machines et des composants sur les chaines de production, les constructeurs de carte réseau ont ajouté à leurs chipset une fonctionnalité très intéressante. Lorsqu’une mise à jour du firmware d’une carte réseau est annoncée par son constructeur, les fabricants de PC se doivent de livrer des machines globalement à jour. Ainsi, pour éviter aux fabricants de démarrer les 500 machines déjà produites avec un lecteur de disquette connecté pour mettre à jour le firmware de la carte réseau, les constructeurs de chipsets offrent la possibilité de le faire par le port Ethernet. Pour que la carte se mette à jour, il suffit donc lui envoyer un paquet particulier qui est un paquet UDP et donc routable (cette attaque ne se cantonne ainsi pas au LAN de l’entreprise)!

La boucle est donc bouclée puisque nous avons maintenant un « ultimate rootkit » capable de s’installer à distance sur une machine et de s’exécuter sur celle-ci sans utiliser à un seul instant le CPU de la machine et donc en fermant toute possibilité pour le système d’exploitation de le détecter. La chose fait froid dans le dos.

Arrigo ne s’est pas arrêté là et a imaginé une autre attaque elle aussi fort sympathique: actuellement, la majorité du marché de la sécurité est constituée d’appliances qui sont pour la plupart des PC utilisés en temps qu’IDS/IPS ou en tant que firewall. Dans ce contexte, une attaque possible serait d’envoyer le paquet de mise à jour à la carte réseau et d’upgrader son firmware à distance. Ceci étant fait et partant du principe que la machine a au moins deux cartes réseau, cette première carte infectée envoie sur le bus PCI le paquet de mise à jour de la seconde carte qui se met elle aussi à jour avec un firmware infecté. L’attaquant contrôlant alors les deux cartes réseau, il lui est possible de faire passer des paquets d’une carte à l’autre via le bus PCI en évitant le logiciel de filtrage installé sur la machine, que ce soit un firewall ou un IPS. La encore, on frise le cauchemar.

La seule bonne nouvelle dans tout ça est que bien évidemment, le proof of concept qui a été développé est très dépendant du hardware présent sur la machine attaquée. Il faut donc développer un firmware par modèle de carte réseau attaqué. Cependant, à bien y réfléchir, les constructeurs de chipsets réseau se comptent sur les doigts d’une main.

Je ne sais pas pour vous, mais moi j’ai maintenant l’œil rivé sur la LED d’activité de la carte réseau de mon portable…

 

5 Commentaires

  • 16 Décembre 2008
    2008-12-16
    par
    Sur le sujet de VMware escape et firmware viruses j'avait donné une présentation à Genève en octobre 2007:

    http://www.alchemistowl.org/arrigo/Papers/VMware-escape-and-firmware-vir...

    C'était la première sortie du Project Maux et personnes l'avait remarqué ;-)

    Pour le mini-keylogger: ce n'est pas vraiment la même chose...

    Arrigo
  • 15 Décembre 2008
    2008-12-16
    par
    @Sylvain: c'était partie de ma présentation... comment sortir d'une VM en passant par le firmware.
  • 15 Décembre 2008
    2008-12-16
    par
    Ce n'est pas le type IP 0xbeef, c'est le IPID...

    http://www.alchemistowl.org/arrigo/Papers/Arrigo-Triulzi-PACSEC08-Projec...

    Arrigo

    Désolé pour l'erreur, j'espère que je n'ai pas trop déformé le reste. En tout cas, merci pour le lien !!
    Brice RENAUD.
  • 5 Décembre 2008
    2008-12-16
    par
    Sylvain
    Les systèmes virtualités se développent en entreprise. Ne pourrait on pas penser à une modification du firmware à partir d'un système invité ? Passant ainsi les mécanismes d'isolation de l'hyperviseur mais permettant d'avoir accès à tous les systèmes du serveur concerné.
  • 5 Décembre 2008
    2008-12-16
    par
    Florent
    Ce qui est bien dans les attaques qui dépendent du hardware c'est que seuls les gouvernements et les grandes administrations en seront les cibles... (vive le scada)

    En ce qui concerne l'exploitation des ports PCI (et mini-PCI) il existe déjà du matériel qui fait ça : http://www.keyghost.com/PCI-MPCI-Keylogger.htm

    Bref la "révolution" c'est la mise à jour du firmware à distance. Processus sans doute bien connu chez les constructeurs.
    http://www.patentstorm.us/patents/6930785.html

    La vraie performance ici est de savoir développer des firmwares. Compétence probablement répandue en Chine (le pays des constructeurs) et chez certains geeks un peu partout (Die Hard 4 :).

    Bref les chinois ont les compétences, la motivation et le mobile.

    On dirait donc qu'il s'agit plus d'un cri d'alarme sur l'accumulation de failles laissées béantes depuis des années par le biais d'un scénario catastrophe (Die Hard 4 encore :).

Ajouter un commentaire

comments

  • Les adresses de pages web et de courriels sont transformées en liens automatiquement.
  • Les lignes et les paragraphes vont à la ligne automatiquement.
  • Tags HTML autorisés : <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd> <br>

Plain text

  • Aucune balise HTML autorisée.
  • Les adresses de pages web et de courriels sont transformées en liens automatiquement.
  • Les lignes et les paragraphes vont à la ligne automatiquement.

Email HTML

  • Les lignes et les paragraphes vont à la ligne automatiquement.
  • Les adresses de pages web et de courriels sont transformées en liens automatiquement.
Image CAPTCHA
Saisir les caractères affichés dans l'image.
Changer d'affichage