mercredi 2 mars 2011

Retour sur l'USB

Je rebondis sur la remarque de Newsoft pour faire une petite rétrospective de l'USB et de ses failles. Tout d'abord, l'USB, c'est un protocole de communication présent aussi bien sur les ordinateurs que les smartphones, les consoles de jeux, etc.. Et les failles, elles, pleuvent intéressons nous tout d'abord à linux:

Commençons par une faille driver. La carte son USB caiaq sous linux. Le driver copie le nom du périphérique dans une structure de 80 caractères max avec un strcpy. Et paf l'overflow. http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-0712. Le correctif? Un strlcpy:
- strcpy(dev->pcm->name, dev->product_name);
+ strlcpy(dev->pcm->name, dev->product_name, sizeof(dev->pcm->name));

L'utilisation de strcpy est encore aujourd'hui une réalité..

Sur le périphérique le plus couramment utilisé, c'est à dire la clé USB en mass-storage, le tableau n'est pas plus propre (et je ne parle même pas d'autorun).
En effet, le montage d'un disque va lancer la détection de celui-ci, des partitions, des systèmes de fichiers, etc... Tout cela réalisé en bas niveau. Et que se passe t'il lorsqu'un attaquant branche une clé spécialement préparée?
Le noyau plante (à minima). La raison: "The kernel automatically evaluates partition tables of storage devices. Note that this happens independently of whether auto-mounting is enabled
or not". Il s'agit de tables de partitions Mac et LDM.
Si je prends le noyau debian, on observe qu'a peu près tous les systèmes de partitions sont disponibles, entre autre:
~/debian$ grep LDM_PARTITION boot/config-2.6.32-5-686
CONFIG_LDM_PARTITION=y

Donc si vous avez une debian, changez le noyau.

Et des failles liées à l'USB, on en trouve pleins d'autres dès qu'on cherche un peu. Je vais finir par coller les prises USB de mon laptop pour gagner en sécurité :-)

Enfin, on a encore une nouvelle norme, ThunderBolt qui est disponible sur les Macs. D'emblée en lisant wikipedia une partie sécurité prévient: "Since Thunderbolt extends the PCI Express bus, which is the main expansion bus in current systems, it allows very low-level access to the system. PCI devices need to have unlimited access to memory, and can thus compromise security. The same is true about other expansion bus standards such as PC Card, ExpressCard and FireWire. Also, compromised video display devices such as video projectors and monitors have thus become a security concern when connected to a Thunderbolt port."

On imagine du coup facilement les risques:
-"Monsieur le commercial, branchez donc votre machine sur notre rétro projecteur 'thunderbolt TM' afin qu'on puisse voir votre présentation (et qu'on en profite pour siphonner votre disque dur du même coup)"

Aucun commentaire:

Enregistrer un commentaire