|
|
Une compromission via le bus PCI et l’aide d’un processeur FPGA
Par Ludovic Blin,
secuobs.com
Le 08/06/2009
Résumé : Lors d’une présentation qui a eu lieu lors du SSTIC 2009, deux chercheurs ont démontré la possibilité de compromettre un système via l’insertion d’une carte au format PC Card basée sur un processeur FPGA. - Lire l'article
Il est à prévoir que les techniques de compromission de systèmes tireront de plus en plus parti de possibilités encore peu utilisées actuellement. Ainsi, ces dernières années plusieurs chercheurs ont démontré la possibilité d’injecter un rootkit dans une carte graphique ( lien ), une carte réseau ( lien ), ou encore le BIOS ( lien - lien ). Il s’est également révélé possible de compromettre un système via un périphérique firewire ( lien - lien ) .
Lors du SSTIC 2009 (Symposium sur la sécurité des technologies de l’information et de la communication), qui avait lieu à Rennes, Christophe Devine et Guillaume Vissian, de la société Thales Security Systems, ont démontré la possibilité de contrôler la mémoire centrale d’un système à partir d’une carte au format PC CARD, contenant un FPGA programmé à cet effet.
Concrètement, en présence de l’invite d’authentification d’un poste utilisateur, il est possible d’insérer la carte, puis de la retirer, pour ensuite taper n’importe quel mot de passe pour pouvoir s’authentifier. Notons que cette technique peut être utile pour un technicien de maintenance dans le cas courant d’un mot de passe oublié par un utilisateur.
Pour réaliser ce tour de force de rapidité et de simplicité, les chercheurs ont utilisé un circuit FPGA (Field Programmable Gate Array – processeur configurable) qu’ils ont programmé pour qu’il puisse modifier certains octets dans la mémoire du système hôte. En effet, grâce à la technologie du Bus Mastering, un périphérique PCI (ou PC CARD) peut accéder et modifier le contenu de la mémoire centrale, sans contrôle d’accès.
Il est donc possible à partir de ce point d’envisager différentes charges utiles, comme par exemple le contournement des dispositifs d’authentification, l’insertion d’un rookit de manière silencieuse, ou encore le dump de la mémoire de manière à pouvoir recueillir d’éventuelles preuves d’une intrusion « tout en mémoire ». Cette dernière possibilité est d’ailleurs offerte par certains produits commerciaux utilisant une technologie similaire.
Les chercheurs ont implémenté un jeu d’instruction réduit (RISC), en tirant parti du langage de programmation VHDL (VHSIC Hardware Description Language) utilisé par le FPGA. Le processeur ainsi créé contient par ailleurs une mémoire de 36Ko contenant notamment le code à injecter dans le système hôte, ainsi que les offsets correspondants aux différents systèmes ciblés. Lors de l’insertion de la carte, la fonction MsvpPasswordValidate (Windows) est patchée en mémoire de manière à toujours renvoyer une valeur positive, quelque soit le mot de passe (remplacement d’un JNZ par des NOP).
Il peut donc être utile, en particulier dans le cas de postes particulièrement sensibles, de rendre inutilisable les ports PCMCIA, ainsi que firewire, de manière logicielle (gestionnaire de périphérique sous windows ou module yenta_socket sous linux) ou bien physique. Certains processeurs récents, dotés des extensions de virtualisation, disposent aussi dune IOMMU (input/output memory management unit ) permettant de filtrer les accès à la mémoire par les périphériques.
- Article suivant : Fuzzgrind, un fuzzer intelligent et automatique
- Article précédent : ARPFreeze facilite la protection de Microsoft Windows contre l'ARP Poisonning et les Man in the Middle
- Article suivant dans la catégorie Failles : Récupérer l'historique Web du navigateur d'une victime sans recourir à du code Javascript
- Article précédent dans la catégorie Failles : Le SkypeSkrayping pour rediriger et écouter des appels Skype, surveiller la messagerie vocale et former un Botnet VoIP
| Mini-Tagwall des articles publiés sur SecuObs : | | | | sécurité, exploit, windows, microsoft, réseau, attaque, vulnérabilité, outil, système, audit, virus, internet, données, présentation, linux, metasploit, protocol, bluetooth, vista, shell, scanner, réseaux, rootkit, paquet, trames, source, conférence, téléphone, wishmaster, noyau, engineering, mobile, sysun, https, téléphones, mémoire, patch, intel, botnet, libre, rapport, scapy, reverse, contourner, securitech |
| Mini-Tagwall de l'annuaire video : | | | | vmware, security, virus, biometric, windows, lockpicking, password, metasploit, botnet, tutorial, crypt, attack, linux, network, iphone, server, exploit, wimax, conficker, virtu, virtual, engineering, cisco, reverse, ettercap, wireshark, hacker, firewall, knoppix, arduino, internet, rootkit, wireless, source, brucon, backtrack, openbsd, systm, overflow, openssh, conference, buffer, access, remote, defcon |
| Mini-Tagwall des articles de la revue de presse : | | | | security, microsoft, windows, hacker, attack, network, vulnerability, google, exploit, malware, internet, remote, iphone, server, inject, patch, apple, twitter, mobile, virus, ebook, facebook, vulnérabilité, crypt, source, linux, password, intel, research, virtual, phish, access, tutorial, trojan, social, privacy, firefox, adobe, overflow, office, cisco, conficker, botnet, pirate, sécurité |
| Mini-Tagwall des Tweets de la revue Twitter : | | | | security, linux, botnet, attack, metasploit, cisco, defcon, phish, exploit, google, inject, server, firewall, network, twitter, vmware, windows, microsoft, compliance, vulnerability, python, engineering, source, kernel, crypt, social, overflow, nessus, crack, hacker, virus, iphone, patch, virtual, javascript, malware, conficker, pentest, research, email, password, adobe, apache, proxy, backtrack |
|
|
|
|
|