Les attaques sur la couche liaison de données
Au sein de la couche liaison de données, la sécurité des réseaux fait face à un défi fondamental: l’absence de vérification intrinsèque de l’identité. Cette lacune permet à des individus malveillants d’exploiter la confiance basique accordée aux adresses MAC, supposées être uniques et attribuées de manière fiable à des dispositifs réseaux. En réalité, le système ne prévoit pas de contrôle formel permettant de certifier que l’adresse MAC source correspond bien au dispositif qui a envoyé le paquet de données.
Cette vulnérabilité ouvre la porte à une série d’attaques où un assaillant peut altérer l’adresse MAC source d’un paquet de données, permettant ainsi de se faire passer pour un autre appareil sur le réseau. Ces types de menaces, qui exploitent la flexibilité des adresses MAC, sont la fondation de diverses attaques au sein de cette couche. L’usurpation d’adresse MAC (appelée MAC spoofing), par exemple, peut conduire à de nombreuses attaques.
Cette problématique de sécurité doit être abordée avec la mentalité que les attaques réseau sont inévitables. Ce n’est pas une question de “si” elles vont se produire, mais de “quand”. En tenant compte de cette perspective, il faut renforcer la préparation et la résilience des infrastructures réseau contre ces incidents. La sécurité repose sur l’anticipation de telles failles et la mise en place de mesures proactives pour les contrer, telles que l’utilisation de sécurités basées sur l’authentification, afin de garantir que les dispositifs sur le réseau soient réellement ceux qu’ils prétendent être.
Il est donc impératif pour tout ingénieur système de reconnaître cette vulnérabilité intrinsèque de la couche liaison de données et d’adopter une approche de sécurité en couches qui ne dépend pas uniquement de la fiabilité présumée des adresses MAC ou d’autres attributs supposés être fiables à ce niveau. La préparation à de telles menaces, associée à une veille technologique et à des mises à jour de sécurité continues, est la meilleure défense contre les attaques qui cherchent à exploiter les faiblesses structurelles des réseaux informatiques.
La tempête de broadcast
L’attaque par déni de service utilisant des broadcasts au niveau de la couche liaison de données exploite les mécanismes de diffusion inhérents à ce niveau pour submerger un réseau. Un broadcast est typiquement destiné à tous les dispositifs d’un même segment de réseau local où les trames sont adressés à l’adresse MAC de broadcast FF:FF:FF:FF:FF:FF, ce qui indique que tous les hôtes du réseau local doivent traiter le paquet.
Dans une attaque de déni de service par broadcast, un attaquant envoie un grand nombre de trames en broadcast dans le but de saturer le réseau. Un exemple spécifique de cette méthode est l’attaque de type “tempête de broadcast”, où l’accumulation de ces trames de broadcast crée un orage de trafic qui réduit significativement les performances du réseau, voire entraîner son arrêt total. Les commutateurs et les hôtes consomment des ressources CPU pour traiter le flot incessant de requêtes, conduisant à un état où les services légitimes ne peuvent plus fonctionner normalement.
Contrairement à un broadcast L3, qui peut être contrôlé par des mécanismes de routage et de filtrage à la couche réseau, les broadcasts L2 sont plus difficiles à limiter car ils fonctionnent au sein du même domaine de broadcast et sont considérés comme légitimes au niveau local. Les attaques de déni de service par broadcast L2 sont particulièrement dangereuses car elles utilisent des adresses légitimes et des mécanismes nécessaires pour le fonctionnement normal du réseau. Cette technique d’attaque nécessite moins de bande passante de la part de l’attaquant par rapport à l’impact provoqué sur le réseau cible, car la nature même du broadcast amplifie le trafic à travers le réseau.
Pour se défendre contre de telles attaques, il est possible de mettre en place des politiques de sécurité telles que le contrôle de tempête de broadcast (configurable au niveau des switch), qui limite le nombre de paquets de broadcast pouvant traverser un réseau en un temps donné. De plus, des stratégies comme la segmentation du réseau par VLAN peuvent réduire l’impact potentiel d’une telle attaque en limitant sa portée à un seul segment du réseau.
L’ARP Poisoning
L’ARP Poisoning, également connu sous le nom de ARP Spoofing, est une technique d’attaque sur la couche liaison de données qui permet à un attaquant de détourner le trafic réseau en envoyant de fausses réponses ARP à un hôte sur le réseau. L’ARP est utilisé pour associer les adresses IP aux adresses MAC correspondantes, mais ne prévoit pas de mécanisme d’authentification pour vérifier l’identité de l’expéditeur. Il est donc vulnérable aux abus.
Dans une attaque ARP Poisoning, l’attaquant envoie de fausses réponses ARP à la victime, prétendant avoir l’adresse MAC correspondant à l’adresse IP d’un autre hôte du réseau, souvent la passerelle par défaut. Cela incite la victime à envoyer le trafic destiné à cet hôte vers l’attaquant. Par exemple, si l’attaquant réussit à associer son adresse MAC avec l’adresse IP de la passerelle, tout le trafic entre la victime et la passerelle sera redirigé vers l’attaquant. Les attaques ARP Poisoning peuvent être particulièrement nuisibles dans des environnements où des informations sensibles sont échangées sur le réseau. Elles peuvent mener à des pertes de données, à des fuites d’informations confidentielles, et à un manque général de confiance dans l’intégrité du réseau.
Une fois que l’attaquant reçoit les paquets, il peut choisir de les transférer au vrai destinataire ou de les bloquer, réalisant ainsi un déni de service. En outre, pendant que les paquets transitent par la machine de l’attaquant, celui-ci peut les inspecter, capturant ainsi des informations sensibles telles que des mots de passe et des identifiants de session. Il peut également les altérer avant de les passer au destinataire prévu, ce qui constitue une attaque de type Man-in-the-Middle.
Pour se défendre contre l’ARP Poisoning, les administrateurs réseau peuvent recourir à différentes stratégies et outils. Ils peuvent implémenter des solutions de sécurité réseau qui inspectent et filtrent le trafic ARP pour détecter et bloquer les réponses ARP non sollicitées ou malicieuses. Ils peuvent aussi utiliser des protocoles de sécurisation des échanges sur le réseau, comme le protocole DHCP Snooping, qui associe une adresse IP à une adresse MAC et à un port physique. De plus, la segmentation du réseau (avec des VLAN) peut limiter le rayon d’action d’une attaque ARP Poisoning à un segment du réseau, minimisant ainsi son impact potentiel.
Le VLAN Hijacking
Le VLAN hijacking est une attaque réseau qui cible la configuration des VLANs sur les switches. Cette attaque exploite le protocole IEEE 802.1Q (également connu sous le nom de dot1q) qui est utilisé pour implémenter le marquage des VLANs sur les trames Ethernet. Dans un scénario typique de hijacking, un attaquant injecte des trames Ethernet encapsulées avec un tag dot1Q dans le trafic réseau. Cela nécessite que l’attaquant ait un accès direct au réseau ou qu’il ait compromis un hôte au sein du réseau qui peut envoyer ces trames.
Le processus d’encapsulation inclut un tag VLAN spécifique dans l’en-tête de la trame, qui indique au switch que la trame doit être routée à travers un VLAN particulier. Lorsque le switch reçoit une trame avec un tag VLAN, il l’accepte et l’achemine conformément aux règles de ce VLAN. Si un attaquant parvient à injecter des trames avec un tag VLAN qui n’est normalement pas accessible depuis sa position dans le réseau, il peut détourner le trafic ou accéder à un VLAN qui devrait être isolé et sécurisé.
Le but de l’attaque est de s’y introduire sans autorisation dans un VLAN, et de communiquer comme si l’attaquant était un membre légitime de ce VLAN. L’attaquant peut alors éventuellement intercepter ou manipuler des données sensibles échangées entre des hôtes au sein de ce VLAN ou encore lancer d’autres types d’attaques.
Pour se protéger contre le VLAN hijacking, les administrateurs réseau peuvent mettre en œuvre plusieurs mesures de sécurité. Parmi celles-ci figurent :
- La désactivation de l’auto-négociation des VLANs sur les ports qui n’ont pas besoin de cette fonctionnalité, ou la limitation de cette négociation aux seuls appareils administrativement autorisés.
- L’application de listes de contrôle d’accès pour filtrer le trafic non autorisé à travers les VLANs.
- La sécurisation des ports de switch en associant spécifiquement chaque port à un VLAN et en empêchant l’ajout de tags 802.1Q non autorisés.
- L’utilisation de fonctionnalités de sécurité comme le Dynamic ARP Inspection et le DHCP Snooping pour valider l’intégrité du trafic ARP et DHCP respectivement, ce qui peut aider à prévenir les tentatives d’usurpation VLAN.
Manipulation du STP
La manipulation du Spanning Tree Protocol est une forme d’attaque de réseau ciblant la couche de liaison de données qui peut aboutir à des changements indésirables dans la topologie du réseau. Le protocole Spanning Tree est utilisé pour prévenir les boucles de réseau dans les architectures LAN avec des ponts et des commutateurs. Il fonctionne en désactivant certains chemins dans le réseau pour s’assurer qu’il n’y ait qu’un seul chemin actif entre deux points du réseau. Cependant, la nature ouverte de STP le rend vulnérable à des attaques intentionnelles.
Dans une attaque, un attaquant avec accès au réseau peut envoyer des BPDU conçus de manière malicieuse pour se faire passer pour un switch racine. Ceci peut entraîner un recalcul de l’arbre du spanning tree et potentiellement aboutir à ce que l’attaquant positionne un faux switch malveillant comme racine. Cela permet à l’attaquant de contrôler le flux du trafic, l’orientant à travers les nœuds qu’il contrôle. L’impact d’une telle attaque peut aller d’une simple interruption de service, où le trafic est mal acheminé, à une position d’écoute où l’attaquant peut intercepter et potentiellement modifier les données en transit.
En orientant le trafic à travers un commutateur contrôlé, l’attaquant peut causer une saturation des liens, créant des goulots d’étranglement qui ralentissent le réseau, ou pire, provoquer une défaillance totale d’une partie du réseau en désactivant les chemins normalement utilisés pour le trafic de données. Cette situation peut non seulement compromettre la performance et la stabilité du réseau, mais aussi permettre à l’attaquant d’exécuter des attaques de type Man-in-the-Middle pour intercepter, altérer ou bloquer le trafic.
Pour se protéger contre ces attaques, les administrateurs de réseau peuvent configurer des paramètres de sécurité STP, tels que BPDU Guard, qui bloque les ports recevant des BPDU inattendus, ou Root Guard, qui empêche l’adoption d’un commutateur inconnu comme pont racine. Il est important de mettre en place une architecture réseau solide avec une surveillance active et des mesures de sécurité appropriées pour détecter et prévenir les manipulations de STP.