Loading AI tools
cyber attaque De Wikipédia, l'encyclopédie libre
Une attaque par déni de service (abr. DoS attack pour Denial of Service attack en anglais) est une attaque informatique ayant pour but de rendre indisponible un service, d'empêcher les utilisateurs légitimes d'un service de l'utiliser. À l’heure actuelle la grande majorité de ces attaques se font à partir de plusieurs sources, on parle alors d'attaque par déni de service distribuée (abr. DDoS attack pour Distributed Denial of Service attack).
Il peut s'agir de :
L'attaque par déni de service peut ainsi bloquer un serveur de fichiers, rendre impossible l'accès à un serveur web ou empêcher la distribution de courriel dans une entreprise.
L'attaquant n'a pas forcément besoin de matériel sophistiqué. Ainsi, certaines attaques DoS peuvent être exécutées avec des ressources limitées contre un réseau de taille plus importante et plus moderne. On appelle parfois ce type d'attaque « attaque asymétrique » en raison de la différence de ressources entre les protagonistes.
Les attaques en déni de service se sont modifiées au cours du temps (voir historique).
Les attaques par déni de service ont vu le jour dans les années 1980. Les DDoS (ou attaques DoS Distribuées) seraient plus récentes : la première attaque DDoS connue a eu lieu en [1] : un outil appelé « Trinoo DDO » (décrit ci-dessous) a été déployé dans au moins 227 systèmes, dont 114 étaient sur Internet, pour inonder les serveurs de l'université du Minnesota. À la suite de cette attaque, l'accès internet de l'université est resté bloqué pendant plus de deux jours.
La première attaque DDoS médiatisée dans la presse grand public a eu lieu en , causée par Michael Calce, mieux connu sous le nom de Mafiaboy. Le , Yahoo! a été victime d'une attaque DDoS qui a rendu son portail Internet inaccessible pendant trois heures. Le , Amazon.com, Buy.com, CNN et eBay ont été touchés par des attaques DDoS qui ont provoqué soit l'arrêt, soit un fort ralentissement de leur fonctionnement. Le , E-Trade et ZDNet ont à leur tour été victimes d’attaques DDoS.
Les analystes estiment que durant les trois heures d'inaccessibilité, Yahoo! a subi une perte sur le commerce électronique et les recettes publicitaires s'élevant à environ 500 000 dollars. Selon Amazon.com, son attaque a entraîné une perte de 600 000 dollars sur dix heures. Au cours de l'attaque, eBay.com est passé de 100 % de disponibilité à 9,4 % ; CNN.com est passé au-dessous de 5 % du volume normal ; Zdnet.com et ETrade.com étaient, eux, pratiquement inaccessibles. Schwab.com, le site en ligne du courtier Charles Schwab, a également été touché, mais il a refusé de donner des chiffres exacts sur ses pertes. On peut seulement supposer que, dans une société qui fait 2 milliards de dollars par semaine sur les métiers en ligne, la perte n’a pas été négligeable. Michael Calce, qui a piraté Amazon.com, Yahoo!, CNN et Ebay, fut condamné à huit mois dans un centre de détention pour jeunes (il n'avait que 15 ans au moment des faits).
En , un certain virus Code Red infecte quelques milliers de systèmes, et une seconde version, intitulée Code Red II, installe un agent DDoS. Les rumeurs prétendent qu'il devait lancer une attaque contre la Maison-Blanche. Dans un contexte politique de crise, le gouvernement américain annonce que des mesures de sécurité vont être prises. Mais dès l'été 2002, c'est au tour d'Internet de subir une attaque DDoS à l'encontre de ses treize serveurs racines. Ces serveurs sont les points clés du système d'aiguillage de l'Internet, appelé Domain Name System (DNS). Cette attaque ne durera qu'une heure mais aurait pu paralyser l'ensemble du réseau Internet. L'incident est pris au sérieux par les experts qui affirment renforcer à l'avenir la sécurité de leurs machines.
La première version de Slapper, apparue à la mi-, a contaminé plus de 13 000 serveurs Linux en deux semaines. Slapper exploite une faille de sécurité présente dans le module OpenSSL1, et véhicule un agent DDoS. Celui-ci est détecté et stoppé à temps.
Malgré tout, le lundi , une nouvelle attaque DOS bloque neuf des treize serveurs clefs, rendant leurs ressources inaccessibles pendant trois heures. Une partie des entreprises et organismes gérant ces serveurs clés réagit et décide de revoir leurs dispositifs de sécurité. Le FBI a ouvert une enquête, mais localiser le ou les auteurs de l'attaque s'annonce difficile.
Peu de temps après, des serveurs de bases de données Microsoft SQL Server, mal configurés, sont infectés par le ver SQL Slammer. Ce dernier transporte un agent DDoS qui lance une attaque le contre Internet. Cette fois-ci, seuls quatre des treize serveurs racines ont été affectés. Malgré la virulence de l'attaque, la performance globale du réseau a été à peine réduite de 15 %.
Le 25 août 2024, le serveur Minemen Club, bien connu dans la communauté Minecraft, a été la cible d’une attaque DDoS massive. Cette attaque a atteint un taux énorme de 3,15 milliards de paquets par seconde, établissant ainsi un nouveau record mondial[2]. L’attaque, qui a duré un peu plus d’une heure, a principalement été orchestrée depuis la Russie, le Vietnam et la Corée du Sud. Le serveur n'a globalement eu de dégâts grâce à leur protection anti DDoS[3].
Les premières attaques n'étaient perpétrées que par un seul « attaquant » ; rapidement, des attaques plus évoluées sont apparues, impliquant une multitude d'attaquants. On parle alors de DDoS (distributed denial of service attack). Certains pirates informatiques se sont spécialisés dans la « levée » d’armées de « zombies » qu’ils peuvent ensuite louer à d’autres personnes ou groupes malveillants pour attaquer une cible particulière. Avec la forte augmentation du nombre d’échanges commerciaux sur Internet, le nombre de chantages au déni de service a très fortement progressé[4].
On appelle « attaque par déni de service » toutes les actions ayant pour résultat la mise hors ligne d'un serveur. Techniquement, couper la connexion entre un serveur et un client, dans un but malfaisant, peut être considéré comme une attaque par déni de service. Dans les faits, les attaques par déni de service sont opérées en saturant la bande passante d'un serveur défini.
Une des attaques les plus courantes consistait à envoyer un paquet ICMP de plus de 65 535 octets. Au-dessus de cette limite, les piles IP ne savaient pas gérer le paquet proprement, ce qui entraînait des erreurs de fragmentation UDP, ou encore les paquets TCP contenant des « flags » illégaux ou incompatibles.
Les piles actuelles résistent à ce type d’attaques. Néanmoins, les délais de traitement de ce genre de paquets restent plus longs que ceux nécessaires pour traiter les paquets légitimes. Ainsi, il devient commun voire trivial de générer une consommation excessive de processeur (CPU) par la simple émission de plusieurs centaines de milliers d’anomalies par seconde, ce qu’un outil tel que hping3 permet en une unique ligne de commande…
ex. : [root@localhost root]# hping3 -SARFU -L 0 -M 0 -p. 80 www.cible.com—flood
Avec l'arrivée du haut débit et l'augmentation de la puissance des ordinateurs personnels, le potentiel d'attaque a été décuplé, mettant en évidence la faiblesse des installations développées il y a plusieurs années. Cette augmentation permet à quasiment toutes les anomalies d’être à l’origine d’un déni de service, pourvu qu’elles soient générées à un rythme suffisamment important.
Par exemple :
Une attaque SYN Flood est une attaque visant à provoquer un déni de service en émettant un nombre important de demandes de synchronisation TCP incomplète avec un serveur.
Quand un système (client) tente d'établir une connexion TCP vers un système offrant un service (serveur), le client et le serveur échangent une séquence de messages.
Le système client commence par envoyer un message SYN au serveur. Le serveur reconnaît ensuite le message en envoyant un SYN-ACK message au client. Le client finit alors d’établir la connexion en répondant par un message ACK. La connexion entre le client et le serveur est alors ouverte, et le service de données spécifiques peut être échangé entre le client et le serveur. Voici une vue de ce flux de messages :
Client Serveur ------ ------- SYN --------- → ← --------- SYN-ACK ACK --------- →
Le risque d'abus se pose à l'endroit où le système de serveur a envoyé un accusé de réception (SYN-ACK) au client, mais ne reçoit pas le message ACK. Le serveur construit dans sa mémoire système une structure de données décrivant toutes les connexions. Cette structure de données est de taille finie, et elle peut être débordée en créant intentionnellement trop de connexions partiellement ouvertes.
Créer des connexions semi-ouvertes s’accomplit facilement avec l'IP spoofing. Le système de l'agresseur envoie des messages SYN à la machine victime ; ceux-ci semblent être légitimes, mais font référence à un système client incapable de répondre au message SYN-ACK. Cela signifie que le message ACK final ne sera jamais envoyé au serveur victime.
Normalement il y a un délai d'attente associé à une connexion entrante, les semi-connexions ouvertes vont expirer et le serveur victime pourra gérer l’attaque. Toutefois, le système agresseur peut simplement continuer à envoyer des paquets IP falsifiés demandant de nouvelles connexions, plus rapides que le serveur victime.
Dans la plupart des cas, la victime aura des difficultés à accepter toute nouvelle connexion réseau entrante. Dans ces cas, l'attaque n'affecte pas les connexions entrantes, ni la possibilité d'établir des connexions réseau sortant. Toutefois, le système peut saturer la mémoire, ce qui provoque un crash rendant le système inopérant.
Ce déni de service exploite le mode non connecté du protocole UDP. Il crée une UDP Packet Storm (génération d’une grande quantité de paquets UDP) soit à destination d’une machine soit entre deux machines. Une telle attaque entre deux machines entraîne une congestion du réseau ainsi qu’une saturation des ressources des deux hôtes victimes. La congestion est plus importante du fait que le trafic UDP est prioritaire sur le trafic TCP. En effet, le protocole TCP possède un mécanisme de contrôle de congestion, dans le cas où l’acquittement d’un paquet arrive après un long délai, ce mécanisme adapte la fréquence d’émission des paquets TCP et le débit diminue. Le protocole UDP ne possède pas ce mécanisme. Au bout d’un certain temps, le trafic UDP occupe donc toute la bande passante, ne laissant qu’une infime partie au trafic TCP.
L’exemple le plus connu d’UDP Flooding est la « Chargen Denial of Service Attack ». La mise en pratique de cette attaque est simple, il suffit de faire communiquer le service chargen d’une machine avec le service echo d’une autre. Le premier génère des caractères, tandis que le second se contente de réémettre les données qu’il reçoit. Il suffit alors à l’attaquant d’envoyer des paquets UDP sur le port 19 (chargen) à une des victimes en usurpant l'adresse IP et le port source de l’autre. Dans ce cas, le port source est le port UDP 7 (echo). L’UDP Flooding entraîne une saturation de la bande passante entre les deux machines, il peut donc neutraliser complètement un réseau.
Les dénis de service de type Packet Fragment utilisent des faiblesses dans l'implémentation de certaines piles TCP/IP au niveau de la défragmentation IP (ré-assemblage des fragments IP).
Une attaque connue utilisant ce principe est Teardrop. L'offset de fragmentation du second fragment est inférieur à la taille du premier ainsi que l'offset plus la taille du second. Cela revient à dire que le deuxième fragment est contenu dans le premier (overlapping). Lors de la défragmentation, certains systèmes ne gèrent pas cette exception et cela entraîne un déni de service. Il existe des variantes de cette attaque : bonk, boink et newtear. Le déni de service Ping of Death exploite une mauvaise gestion de la défragmentation au niveau ICMP, en envoyant une quantité de données supérieure à la taille maximum d’un paquet IP. Ces différents dénis de services aboutissent à un crash de la machine cible.
Cette attaque utilise le protocole ICMP. Quand un ping (message ICMP ECHO) est envoyé à une adresse de broadcast, celui-ci est démultiplié et envoyé à chacune des machines du réseau. Le principe de l’attaque est de truquer les paquets ICMP ECHO REQUEST envoyés en mettant comme adresse IP source celle de la cible. L’attaquant envoie un flux continu de ping vers l’adresse de broadcast d’un réseau et toutes les machines répondent alors par un message ICMP ECHO REPLY en direction de la cible. Le flux est alors multiplié par le nombre d’hôtes composant le réseau. Dans ce cas tout le réseau cible subit le déni de service, car l’énorme quantité de trafic générée par cette attaque entraîne une congestion du réseau.
Lors d’une requête ARP, l’attaquant peut répondre en associant la route de sortie à une adresse MAC inexistante. De cette manière, les paquets envoyés sont alors perdus dans le réseau. Et le réseau perd son accès à internet.
Compte tenu des performances actuelles des serveurs et de la généralisation des techniques de répartition de charge et de haute disponibilité, il est quasiment impossible de provoquer un déni de service simple comme décrit dans les sections précédentes. Il est donc souvent nécessaire de trouver un moyen d’appliquer un effet multiplicateur à l’attaque initiale.
Le principe est d'utiliser plusieurs sources (daemons) pour l’attaque et des maîtres (masters) qui les contrôlent.
L’attaquant utilise des maîtres pour contrôler plus facilement les sources. En effet, il a besoin de se connecter (en TCP) aux maîtres pour configurer et préparer l’attaque. Les maîtres se contentent d’envoyer des commandes aux sources en UDP, ce qui permet de ne pas avoir à se connecter manuellement à chaque source. La source de l’attaque serait détectée plus facilement et sa mise en place beaucoup plus longue. Chaque daemon et master discutent en échangeant des messages spécifiques selon l’outil utilisé. Ces communications peuvent même être chiffrées et/ou authentifiées. Pour installer les daemons et les masters, l’attaquant peut utiliser des failles connues (buffer overflow sur des services RPC, FTP ou autres).
L’attaque en elle-même est un SYN Flooding, UDP Flooding ou autre Smurf Attack. Le résultat d’un déni de service est donc de rendre un réseau inaccessible.
Logiciel | Types d'attaques |
---|---|
Trinoo (en) | UDP flooding |
Tribe Flood Network (en) (TFN) et TFN2k | UDP/TCP/TCP SYN flooding, Smurf |
Stacheldraht (en) | UDP/TCP/TCP SYN flooding, Smurf |
Schaft | UDP/TCP/ICMP flooding |
MStreamT | TCP ACK flooding |
LOIC (Low Orbit Ion Cannon) | TCP/UDP/HTTP |
HOIC (High Orbit Ion Cannon) (version plus évoluée de LOIC) | TCP/UDP/HTTP |
WebLoic (LOIC pour Android) | TCP/UDP/HTTP |
L’inconvénient dans ce cas est la nécessité de travailler en deux temps :
À la deuxième étape le paquet de commande peut être bloqué par un outil de détection ou de filtrage. Par conséquent l’évolution consiste à automatiser le lancement des commandes dès la corruption des systèmes relais. Cette technique a été implémentée par CodeRed dont l’objectif était de faire connecter les serveurs corrompus au site Web de la maison blanche à une date précise.
Dans le même ordre d’idées les DDoS basées sur les canaux IRC comme canaux de communication. L’objectif est ici non plus d’établir une connexion directe entre le maître et les zombies, mais d’utiliser un serveur IRC (ou plutôt un canal) comme relais. Cette méthode, initiée en juillet et août 2001 par Knight et Kaiten, présente de nombreux avantages :
Les attaques par déni de service non distribuées peuvent être contrées en identifiant l'adresse IP de la machine émettant les attaques et en la bannissant au niveau du pare-feu ou du serveur. Les paquets IP provenant de la machine hostile sont dès lors rejetés sans être traités empêchant que le service du serveur ne soit saturé et ne se retrouve donc hors-ligne.
Les attaques par déni de service distribuées sont plus difficiles à contrer. Le principe même de l'attaque par déni de service distribuée est de diminuer les possibilités de stopper l'attaque. Celle-ci émanant de nombreuses machines hostiles aux adresses différentes, bloquer les adresses IP limite l'attaque mais ne l'arrête pas. Thomas Longstaff de l'université Carnegie-Mellon explique à ce sujet que : « En réalité, la prévention doit plus porter sur le renforcement du niveau de sécurité des machines connectées au réseau [pour éviter qu'une machine puisse être compromise] que sur la protection des machines cibles [les serveurs Web] »[5].
Une architecture répartie, composée de plusieurs serveurs offrant le même service gérés de sorte que chaque client ne soit pris en charge que par l'un d'entre eux, permet de répartir les points d'accès aux services et offre, en situation d'attaque, un mode dégradé (ralentissement) souvent acceptable.
Selon les attaques il est également possible de mettre un serveur tampon qui filtre et nettoie le trafic. Ce serveur, « cleaning center » permet en cas d'attaques de faire en sorte que les requêtes malveillantes ne touchent pas le serveur visé[6],[7].
L'utilisation de SYN cookies est également une solution envisageable pour éviter les attaques de type SYN flood, mais cette approche ne permet pas d'éviter la saturation de la bande passante du réseau.
Un article de recherche a révélé que la coopération internationale sur la convention sur la cybercriminalité réduit les attaques par déni de service si les pays s'engagent à la coopération internationale[8].
Le retour aux conditions normales après une attaque peut exiger une intervention humaine, car certains logiciels ne retrouvent pas un fonctionnement normal après une attaque de ce type.
Les attaques par déni de service sont souvent effectuées par des personnes peu expérimentées comme les lamers et les script kiddies. Elles sont aussi abondamment utilisées par des acteurs plus expérimentés, sous une forme délictueuse ou de défense (par exemple à l'encontre de sites eux-mêmes hostiles ou menant des activités réputées illégales ou illégitimes).
Un cas particulier d'attaque par déni de service est le Social Denial of Service (SDoS). C'est une sorte d'effet Slashdot dans lequel l'afflux de requêtes provient en partie de badauds venant observer les effets d'un déni de service annoncé[9]. Les acteurs sont alors une multitude d'internautes bien réels, agissant de façon simultanée et stimulée.
Depuis quelques années, l'attaque par déni de service distribuée est utilisée à des fins de chantage auprès d'entreprises dont l'activité commerciale repose sur la disponibilité de leur site web. Ces fraudes sont habituellement le fait d'organisations criminelles (mafieuses) et non de pirates isolés.
Il arrive fréquemment qu'une attaque par déni de service soit financée par une entreprise concurrente de l'entreprise ciblée dans le but de récupérer des parts de marché et de lui faire perdre de l'argent. Financer une attaque par déni de service distribuée contre un concurrent peut être rentable, notamment contre une entreprise qui n'a pas implémenté de mesure de mitigation. En 2015, 12% des entreprises ayant répondu à un sondage de Kaspersky pensent avoir été victimes d'une attaque par déni de service provenant de leur concurrence[10].
L'attaque par déni de service est également utilisée dans un but politique et antisystème, on parle alors d'hacktivisme. Des communautés partageant des valeurs communes à travers internet comme les Anonymous peuvent réunir beaucoup de personnes et s'organiser pour lancer des attaques contre les plus grosses compagnies. Ce fut le cas par exemple lors de l'attaque contre les sociétés Visa et Mastercard dans le cadre de la campagne Operation Payback orchestrée par les Anonymous.
Ce type d'attaque est également fréquemment rencontré sur les réseaux en ligne de jeux vidéo, comme Xbox Live (Microsoft) ou PlayStation Network (Sony). Les joueurs à l'origine de ces attaques peuvent agir par représailles ou tout simplement décider d'ennuyer des joueurs au hasard. Microsoft a publié un article détaillé à propos de ces attaques sur son site[11].
Le procédé suivi par les auteurs de ces attaques est simple et accessible à tous. Dans un premier temps, l'auteur utilise un logiciel comme Wireshark ou Cain & Abel qui lui permet de trouver les adresses IP des joueurs avec lesquels il est connecté. Ensuite, il utilise un outil sur son PC ou un service en ligne pour lancer l'attaque sur une adresse IP.
Les attaquants des serveurs internet au moyen d'attaques par déni de service sont depuis quelques années poursuivis par la justice de divers pays. Trois cas majeurs ont eu lieu. Le premier en août 2005. Jasmine Singh, 17 ans, a été condamné à cinq ans de prison à la suite d'une attaque par déni de service distribué à l'encontre de Jersey-Joe.com et Distant Replays commanditée par un concurrent des deux sites[12].
En France, l'attaque par déni de service est punie pénalement à l'article 323-2 du Code Pénal : « Le fait d'entraver ou de fausser le fonctionnement d'un système de traitement automatisé de données est puni de cinq ans d'emprisonnement et de 75 000 euros d'amende »[13].
Depuis novembre 2006, avec le vote du Police and Justice Act (PJA), les attaques par déni de service distribué sont un délit passible de dix ans de prison. Proposer des outils permettant de lancer des attaques DDoS est passible de deux ans de prison ferme[12]. En avril 2017, un jeune pirate monétisant des attaques DDos a été condamné à deux ans de prison ferme[14].
En 2008 la cour de Balakovo, la région de Saratov, a condamné trois pirates informatiques à huit ans de prison à la suite d'un chantage envers des sites de jeux en ligne. Les internautes demandaient plusieurs dizaines de milliers de dollars pour ne pas faire subir aux sites des attaques par déni de service distribué[12].
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.