2.2.4. Les Attaques par
Déni de Service
Le déni de service est une attaque visant à
rendre indisponible un service. Ceci peut s'effectuer de plusieurs
manières : par le biais d'une surcharge réseau, rendant ainsi la
machine totalement injoignable ; ou bien de manière applicative en
crashant l'application à distance. L'utilisation d'un buffer overflow
peut permettre de planter l'application à distance. Grâce à
quelques instructions malicieuses et suite à une erreur de
programmation, une personne mal intentionnée peut rendre indisponible un
service (serveur web, serveur de messagerie, ... etc). Nous avons :
· SYN Flooding : exploite la connexion en 3 phases de TCP
(Three Way Handshake : SYN / SYN-ACK / ACK). Le principe est de laisser un
grand nombre de connexions TCP en attente. Le pirate envoie de nombreuses
demandes de connexion (SYN), reçoit les SYN-ACK mais ne répond
jamais avec ACK. Les connexions en cours occupent des ressources
mémoire, ce qui va entraîner une saturation et l'effondrement du
système ;
· UDP Flooding : le trafic UDP est prioritaire sur TCP.
Le but est donc d'envoyer un grand nombre de paquets UDP, ce qui va occuper
toute la bande passante et ainsi rendre indisponible toutes les connexions TCP.
Exemple : faire une requête chargen (port 19 / service de
génération de caractères) à une machine en spoofant
l'adresse et le port source, pour rediriger vers echo (port 7 / service qui
répète la chaîne de caractères reçue) d'une
autre machine ;
· Packet Fragment : utilise une mauvaise gestion de la
défragmentation au niveau ICMP. Exemple: ping of death. La
quantité de données est supérieure à la taille
maximum d'un paquet IP. Et pour le remarque : pour rappel, nous avons vu que
les techniques d'attaque se basant sur la fragmentation des paquets peuvent
aussi être utilisées pour outrepasser un filtre IP ;
· Smurfling : le pirate fait des requêtes ICMP ECHO
à des adresses de broadcast en spoofant l'adresse source (en indiquant
l'adresse de la machine cible). Cette machine cible va recevoir un nombre
énorme de réponses, car toutes les machines vont lui
répondre, et ainsi utiliser toute sa bande passante ;
· Déni de service distribué : le but est
ici de reproduire une attaque normale à grande échelle. Pour ce
faire, le pirate va tenter de se rendre maître d'un nombre important de
machines. Grâce à des failles (buffer overflows, failles RPC4, ...
etc) il va pouvoir prendre le contrôle de machines à distance et
ainsi pouvoir les commander à sa guise. Une fois ceci effectué,
il ne reste plus qu'à donner l'ordre d'attaquer à toutes les
machines en même temps, de manière à ce que l'attaque soit
reproduite à des milliers d'exemplaires. Ainsi, une simple attaque comme
un SYN Flooding pourra rendre une machine ou un réseau totalement
inaccessible.
|