Fuite d'information dans les pilotes des cartes réseau Ethernet
Date : 23 Juin 2005
Le CERT/CC a publié récemment une note (VU#412115) sur une vulnérabilité dans les pilotes ("drivers") des cartes réseau Ethernet.
Contexte
La norme Ethernet (IEEE 802.3 – niveau "liaison de données") spécifie, entre autres, la taille maximale et minimale du champ des données de la trame Ethernet :
- 1500 octets au maximum – c'est le MTU (Maximum Transfert Unit)
- 46 octets au minimum.
Ainsi, si le paquet IP devant être encapsulé dans la trame Ethernet fait moins de 46 octets (paquet ICMP par exemple), le pilote de la carte réseau doit compléter l'espace "données" de la trame Ethernet afin d'atteindre une taille de 46 octets. La RFC 1042 spécifie que ce "bourrage" doit être effectué avec des "0" (zéros).
Description du problème
Certains pilotes de cartes réseau pour compléter les paquets IP de taille inférieure à 46 octets n'utilisent pas des "0", mais ré-utilisent des données contenues dans les tampons ("buffers") mémoire affectés aux opérations de transmission. Ainsi, le "bourrage" peut s'effectuer à partir de données précédemment envoyées. Dès lors, le système recevant un paquet construit de cette façon pourra recevoir des données appartenant à d'autres communications ou, dans des cas particuliers, des données provenant de la mémoire du système ayant émis le paquet.
La nature des données trouvées dans ce type de paquet dépend étroitement de l'implémentation des piles protocolaires et des pilotes des cartes réseau. Ainsi la fuite d'information peut provenir :
- des tampons alloués dynamiquement par le système
- Ces derniers peuvent ainsi contenir dans certains cas (s'ils ne sont pas initialisés) des données du système. Cependant, ce cas ne permet pas d'avoir accès à des information vraiment significatives.
- des tampons alloués statiquement par le pilote de la carte réseau
- Ces derniers peuvent ainsi contenir des données d'autres communications réseau.
- des tampons physiques situés sur la carte réseau
- Ces derniers peuvent ainsi contenir des données d'autres communications réseau.
Cependant, le risque principal est similaire, mais dans une bien moindre mesure, à l'écoute passive sur un brin Ethernet par une personne malicieuse. Cette technique peut cependant "pallier" les impossibilités d'écouter des environnements commutés (VLAN).
Mais la quantité et la qualité de l'information peuventt ne pas s'avérer réellement pertinentes pour être exploitées.
A ce jour, seuls deux éditeurs de cartes réseau ont reconnu que certains de leurs pilotes de cartes réseau étaient vulnérables :
- Intel :
- Network Appliance :
Nota : les éditeurs suivants ont par contre indiqué que leurs solutions n'étaient pas vulnérables :
- Apple
- Cisco
- Clavister
- F5 Networks
- Hitachi
- IBM
- Microsoft
- National Semiconductor Corporation
- NEC Corporation
Pour plus d'information
- Note du CERT/CC : http://www.kb.cert.org/vuls/id/412115
- Document de @stake : http://www.atstake.com/research/advisories/2003/atstake_etherleak_report.pdf
- RFC 1042 : http://www.ietf.org/rfc/rfc1042.txt