Warning: Parameter 1 to wp_default_scripts() expected to be a reference, value given in /customers/5/4/c/nesquiikz.com/httpd.www/wp-includes/plugin.php on line 600 Warning: Parameter 1 to wp_default_styles() expected to be a reference, value given in /customers/5/4/c/nesquiikz.com/httpd.www/wp-includes/plugin.php on line 600 Attaque DDos | Hacker Informatique Warning: Cannot assign an empty string to a string offset in /customers/5/4/c/nesquiikz.com/httpd.www/wp-includes/class.wp-scripts.php on line 447

Attaque DDos

 

 

 

Sommaire

 

  1. Introduction et quelques questions/réponses
  1. Le processus de connexion au server
  1. Les différentes attaques DDos

                                      A – Attaque SYN Flood

                                      B – Attaque UDP Flood

                                      C – Chargen Denial Of Service

                                      D – MITM (Man In The Middle)

                                      E – SMURF (Attaque par rebond) 

                                      F – HTTP Flood 

  1. Conclusion

 

 

 

 

 

 1. Introduction et quelques questions/réponses

 

 

Qu’est-ce qu’une attaque par déni de service ?

Une attaque par déni de service est une attaque informatique utilisant le réseau pour tenter de rendre un serveur, un service ou une infrastructure indisponibles ou hors service. Cette attaque s’effectue en surchargeant la bande passante du serveur, ou en accaparant ses ressources jusqu’à épuisement voir même en exploitant certaines failles de sécurité.

 

Qu’est-ce que le déni de service ?

Le déni de service désigne l’état « indisponible » d’un système informatique. Cet état peut être atteins pour de multiples raisons : surcharge du réseau (congestion du réseau), surcharge d’une machine, crash (bug/anomalie) d’une machine, machine hors service. 

 

Quels-sont les effets de cette attaque ?

Lors d’une attaque DDoS, une multitude de requêtes sont envoyées simultanément, depuis de multiples points du Net. L’intensité et le nombre de ses attaques finissent par rendre le service instable, ou pire, indisponible.

 

Tout d’abord, il faut savoir qu’il existe une multitude d’attaque de type DDos, c’est-àdire que ceux sont des attaques qui résident sur le principe de surcharge/inondation d’un réseau ou d’une machine.

Voici quelques attaques qui dérivent de l’attaque DDos : SYN Flood Spoofed, SYN Flood, UDP Flood, UDP Flood Spoofed, Smurfing, Packet Fragment.

 

Sachez maintenant que tout ordinateur connecté à un réseau informatique est potentiellement vulnérable à une attaque. 

Une « attaque » est l’exploitation d’une faille d’un système informatique (système d’exploitation, logiciel ou bien même de l’utilisateur) à des fins non connues par l’exploitant du système et généralement préjudiciables. 

Sur internet des attaques ont lieu en permanence, à raison de plusieurs attaques par minute sur chaque machine connectée. 

Ces attaques sont pour la plupart lancées automatiquement à partir de machines infectées (par des virus, chevaux de Troie, vers, etc.), à l’insu de leur propriétaire. 

Plus rarement il s’agit de l’action de pirates informatiques. Afin de contrer ces attaques il est indispensable de connaître les principaux types d’attaques afin de mettre en œuvre des dispositions préventives. 

 

Les motivations des attaques peuvent être de différentes sortes : 

  • obtenir un accès au système ;
  • voler des informations, tels que des secrets industriels ou des propriétés intellectuelles ;
  • glaner des informations personnelles sur un utilisateur ;
  • récupérer des données bancaires ;
  • s’informer sur l’organisation (entreprise de l’utilisateur, etc.) ;
  • troubler le bon fonctionnement d’un service ;
  • utiliser le système de l’utilisateur comme « rebond » pour une attaque ;
  • utiliser les ressources du système de l’utilisateur, notamment lorsque le réseau sur lequel il est situé possède une bande passante élevée

 

 

 

 2. Le processus de connexion au server

 

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 :

syn

 

 

 

Premièrement, vous devez comprendre à quel moment cet échange s’effectue, un exemple sera votre meilleur allié J :

Alors, tout d’abord lorsque vous aller sur internet et que vous allez sur le site  www.google.fr par exemple, pendant le chargement de la page, plusieurs étapes se réalisent pendant ce court instant. 

La première c’est l’établissement de la connexion au server (qui se traduit par le schéma ci-dessus) c’est-à-dire que le client va envoyer un message au server contenant le drapeau « SYN » (un champ du paquet/message qui sera envoyé), ce drapeau sert simplement à demander une connexion à un server (en l’occurrence www.google.fr) une fois ce message envoyé, si le server (Google) reçoit ce paquet de données (le message) si va analyser le paquet et voir qu’il contient le drapeau « SYN » donc il va en déduire qu’une machine tente de se connecter à lui, donc pour continuer le processus d’établissement de la connexion, il va répondre en nous envoyant un paquet de données (un message) avec les drapeaux « SYN » et « ACK », le drapeau « ACK » est en quelque sorte un accusé de réception, donc dans cette réponse le server nous accuse la réception de notre requête, à ce moment le server se met dans un état que nous nommerons « état de semi-connexion », c’est-à-dire qu’il se met en attente de la réponse du client à son message qui doit être normalement un accusé de réception. 

Lorsque le client reçoit alors le paquet du server avec les drapeaux « SYN » et « ACK », le client comprend que le server à bien reçut sa demande et qu’il est temps de renvoyer un dernier paquet au server pour lui confirmer la connexion, donc le PC du client enverra un paquet avec le drapeau « ACK » pour confirmer le message reçut. 

Le server va alors réceptionner ce message avec le drapeau « ACK » et va donc terminer et établir la connexion. 

A partir de ce moment la connexion avec Google est établie et Google se met à nous envoyer les données concernant la page à nous afficher (en l’occurrence le contenu d’affichage de la page Google).  

 

D’une manière un peu plus pédagogique, voici un autre schéma qu’il vous sera plus facile à comprendre :

 

 

 

3. Les différentes attaques DDos

 

A – Attaque SYN Flood

 

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.

 

Comprenons ensemble en image :

Prenons l’exemple de 5 utilisateurs qui tente de se connecter à un server.

Le server reçoit donc 5 SYN et les places dans sa table de demande de connexion.

ATTENTION : un server a toujours une table de demande de connexion à taille limité.

 

 

Dans cet exemple nous prenons un tableau à 4 emplacements. Donc le 5ème ne peut être placé, il est alors ignoré.

 

Dans un 2ème temps, le serveur va vérifier les utilisateurs présent dans sa table « demande de connexion » et va leur renvoyer un « ACK+SYN » pour continuer le processus de connexion.

Le serveur envoi donc un « ACK+SYN » aux 4 utilisateurs présent dans sa table.

 

 

Les utilisateurs qui reçoivent un « ACK+SYN » répondent « ACK » au serveur et alors le serveur ayant reçu les « ACK », établi enfin la connexion.

Alors les utilisateurs sont transférés de la table « demande de connexion » à la table « connexions établies ». Cela génère automatiquement de la place dans le tableau « demande de connexion » laissant ainsi la possibilité au d’autre utilisateur de se connecter.

Vous l’aurez compris pendant ce temps l’utilisateur n’a pas de page qui s’affiche sur son écran car le serveur ne répond pas.

 

 

 

Puis après quelques secondes :

 

 

 

L’utilisateur 5 peut demander à se connecter.

Voilà pour cette attaque. Il est donc très facile de créer un programme sur une machine qui envoi en continu des « SYN » à un serveur pour remplir sa table de « demande de connexion » et le rendre indisponible pour les autres utilisateurs.

 

 

B – UDP Flood

 

Rappel :

Le protocole UDP (User Datagram Protocole) est un protocole qui permet la transmission de données entre deux machines définies par une adresse IP et un port. La particularité de ce protocole est qu’il ne demande pas de connexion pour envoyer les données

 

L’attaque UDP Flood :

Le principe de cette attaque est d’envoyer  plein de données aléatoire à une cible de façon à surcharger le réseau en vue de le rendre H.S ou de perturber le trafic. La transmission de grande quantité de données se facilite grâce au principe du protocole qui ne demande au serveur de se connecter.

 

 

 

Sur ce schéma, on représente la machine cible et la machine attaquante. La machine attaquante va envoyer des données via la machine cible via le protocole UDP. La transmission sera perturbée par des programmes qui enverront des données inutiles. Le réseau est donc surcharger et le trafic de données est donc fortement perturbé.

 

 

 

 

Ce schéma représente les conditions de circulations des données sur le port 80. On peut voir que le flux entrant est surchargé de données. Parmi toutes ces données, on a énormément de données malintentionnées et le reste représente les données certifiées. On est dans un système d’ »embouteillage » et la livraison des données ne sera pas bonne.

Il existe des programmes qui émettent en continu des données en UDP à une cible pour lui donner l’état de déni de service. 

Lorsque l’on est flooder sur le port 80, les réponses vérifiées de l’extérieur mettront beaucoup plus de temps à nous parvenir, ce qui est interprété pour notre machine par l’absence du service souhaité.

Le port Echo est un protocole qui se situe sur le port 7 et qui utilise le protocole TCP ou UDP. Le principe de ce protocole est de renvoyé les données reçus à la source.

Le port Chargen est un protocole qui se situe sur le port 19. Lors, d’une transmission en UDP ou en TCP, le port Chargen va envoyer un nombre aléatoire de caractères.  

 

 

C – Chargen Denial Of Service

 

1. Rappel

Cette attaque utilise les ports Chargen (19) et Echo (7), chacun ayant une caractéristique bien précise qui rend l’attaque efficace.

Le port Echo est un port qui va simplement renvoyer la même information qu’il a reçu. Par exemple, si on envoie « Bonjour » sur ce port, on va recevoir « Bonjour » également. C’est ce port qui est généralement utilisé lorsqu’on veut connaitre le temps de réponse entre notre ordinateur et une autre machine.

Quant au port Chargen, il reprend la caractéristique du port Echo, à la différence près qu’il va rajouter des données aléatoire. Par exemple, si on envoie « Bonjour », le port va renvoyer « Bonjour » suivit d’une longue liste de caractère généré aléatoirement.

2. Fonctionnement

Connaissant les propriétés des deux ports, on peut maintenant voir comment fonctionne l’attaque. 

Quand on envoie une information sur internet (un fichier, un message…), un paquet de donnée circule sur le réseau. Ce paquet contient des informations essentielles, telles que les données, l’expéditeur (l’adresse IP et son numéro de port source) et le destinataire (IP et numéro de port de destination). 

Pour atteindre sa cible, l’attaquant va envoyer ses paquets vers un PC dit « Esclave » qui va servir d’intermédiaire entre l’attaquant et sa victime. Pour cela, il va envoyer un paquet vers le PC Esclave, dont les informations auront été modifiées : 

  • Le destinataire est le PC Esclave, sur son port Chargen
  • L’expéditeur est le PC Victime, venant du port Echo

Le PC Esclave va donc recevoir ce paquet sur son port Echo.  

 

 

Il va donc renvoyer la même information à l’expéditeur inscrit dans ce paquet, ce qui correspond dans notre cas ici au PC Victime vers son port 19. 

 

 

 

Le PC Victime va donc recevoir ce paquet sur son port Chargen. Il va donc renvoyer automatiquement l’information, suivit d’une chaîne de caractère de taille aléatoire à l’expéditeur inscrit dans le paquet :

 

 

 

Le PC reçoit à nouveau le même paquet que celui envoyé par l’attaquant. L’opération va donc se répéter encore une fois. Le paquet va donc faire une boucle en permanence entre le PC Esclave et celui de la victime jusqu’à ce que le réseau sature. On retrouve bien une des caractéristiques d’une attaque DDOS.

 

 

D – MITM (Man In The Middle)

 

 

Connaissez-vous le concept de l’usurpation d’identité dans la vie de tous les jours ? Je vais supposer que non. 

 

Alors supposons que vous ayez laissé traîner votre permis de conduire dans des endroits où une crapule passait dans le coin par hasard, il va récupérer les données de votre carte d’identité et va prendre votre identité lorsqu’il recevra des amendes ou des convocations, pour faire bref  la crapule va se caché derrière votre nom . Eh bien, le « man in the middle » et plus particulièrement « l’arp poisonning » qui est une des pratiques du MITM.

            Alors le concept de l’arp poisoning est hyper simple : chaque membre du réseau a une table ARP comportant les adresses IP et adresse MAC des autres membres du réseau. Lorsque un des ordinateurs souhaite envoyer des paquets à un autre ordinateur il va au serveur et lui demande « Quelle est l’adresse MAC de cette adresse IP ?», le serveur lui répond, enfin la table ARP est complète. 

Or lorsque nous somme dans le cas de l’ARP poisonning l’ordinateur pirate envoi un programme qui met à jour en continue les table ARP de tous les ordinateurs avec son adresse MAC liée à toutes les adresse IP mais la table ARP du pirate reste inchangé car du coup lorsque les informations vont lui être parvenue il va devoir les renvoyer avec ou sans modifications préalable à la bonne adresse. 

Pour faire bref absolument toutes les transactions passent par lui d’où le surnom de LOUIS XIV. J

 

 

 

Pour mieux comprendre prenons l’exemple de l’image ci-dessus.

 

Ordinateur 1 est un utilisateur. Routeur est la Box internet.

  • On voit que Ordinateur 1 envoie un message à la box de manière direct car sa table ARP lui montre le chemin.
  • Le Pirate va alors envoyer en continu des requêtes ARP de façon modifier les tables ARP de Ordinateur 1 et de la box de façon à ce qu’en ces derniers envoie un message, ce message passe par lui.

 

Voici l’image qui en résulte :

 

 

 

Vous aurez maintenant compris à quoi correspond le mot pirate J  

 

E – SMURF (Attaque par rebond)

 

Lors d’une attaque, le pirate garde toujours à l’esprit le risque de se faire repérer, c’est la raison pour laquelle les pirates privilégient habituellement les attaques par rebond (par opposition aux attaques directes), consistant à attaquer une machine par l’intermédiaire d’une autre machine, afin de masquer les traces permettant de remonter à lui (telle que son adresse IP) et dans le but d’utiliser les ressources de la machine servant de rebond.

 

Cela montre l’intérêt de protéger son réseau ou son ordinateur personnel, il est possible de se retrouver « complice » d’une attaque et en cas de plainte de la victime, la première personne interrogée sera le propriétaire de la machine ayant servi de rebond.

 

Avec le développement des réseaux sans fils, ce type de scénario risque de devenir de plus en plus courant car lorsque le réseau sans fil est mal sécurisé, un pirate situé à proximité peut l’utiliser pour lancer des attaques !

1) Le hacker envoie des requêtes ICMP via un routeur en usurpant son identité.

2) Une requête ICMP envoyé à une cible, oblige la cible à répondre à son envoyeur un accusé de réception.

3) Avant d’envoyer sa requîte, le pirate va mettre l’identité de sa victime en champs source.

4) Le routeur transmet la demande à toutes les machines qui répondent tous ensemble à la victime du pirate.

5) Cela attaque la victime et s’amplifie en fonction du nombre de machines intermédiaires.

 

 

 

 

 

F – HTTP Flood

 

Le http FLOOD a pour but d’attaquer un site web ou une application.

Les attaques flood HTTP sont des attaques volumétriques, elles utilisent ce qu’on appelle le BOTNET : il s’agit de mettre en commun plusieurs machines distinctes parfois très nombreuses, ce qui rend l’activité souhaitée plus efficace (puisqu’on a la possibilité d’utiliser beaucoup de ressources) mais également plus difficile à stopper…

HTTP FLOOD n’a  pas besoin d’utiliser des paquets malformés, des techniques d’usurpation ou de réflexion, et nécessitent moins de bande passante que les autres attaques pour mettre hors service le site ou le serveur ciblé.

En revanche, ils demandent plus de compréhension en profondeur sur le site ou l’application ciblée, et chaque attaque doivent être spécialement conçue pour être efficace. Cela rend les attaques flood HTTP significativement plus difficiles à détecter et à bloquer.

DESCRIPTION DE LATTAQUE :

Lorsqu’un client HTTP comme un navigateur web «parle» à une application ou d’un serveur, il envoie une requête HTTP – généralement l’un des deux types de demandes : GET ou POST.

Une requête GET est une requête statique, qui est utilisée pour récupérer, contenu statique standard comme des images tandis que les demandes POST, requête dynamique sont utilisés pour accéder aux ressources générées dynamiquement 

L’attaque est plus efficace quand chaque requête demandera au serveur ou à l ‘’application de lui transmettre le maximum de ressource. Ainsi, l’attaquant cherchera généralement à inonder le serveur ou l’application avec de multiples demandes où chaque demande consommera le plus de ressource possible.

Pour cette raison, les attaques flood HTTP  utilisant les requêtes POST ont tendance à être le plus efficace car elles consomment + de ressources du point de vue de l’attaquant ; les requêtes POST peuvent inclure des paramètres qui déclenchent un traitement complexe côté serveur. D’autre part, les attaques basées sur HTTP GET sont plus simples à créer, et peuvent plus efficacement à l’échelle dans le cas d’un Botnet.

 

Les attaques flood HTTP sont très difficiles à différencier au sein de la circulation, car ils utilisent des requêtes URL standard.

Par conséquent, de nos jours le plus grand défi pour les serveurs et les applications est de réussir à contrer ces attaques afin de sécuriser leurs ressources. 

De plus la détection basée sur la fréquence traditionnelle est inefficace pour détecter les attaques flood HTTP, puisque le volume de trafic des inondations HTTP est souvent sous les seuils de détection.

 

Voici un exemple de HTTP GET Flood :

 

Voici ce qui en résulte :

 

 

 

 

Voilà tout J C’est tout aussi simple, les clients consomment trop de ressources du server. Le server est alors dans l’incapacité de répondre aux requêtes de d’autres utilisateurs.

 

 

 

G – ICMP Flood

 

ICMP Flood : « Attaque d’un serveur par saturation d’envoi d’une multitude de paquets ICMP echo-request »

Ce type d’attaques concerne les serveurs et non pas les ordinateurs clients.

Le principe de cette attaque de type DoS – Déni de Service – Denial of Service est de créer des connexions vers la cible très rapidement, plus rapidement que la cible ne peut les traiter.

La méthode consiste en l’envoi d’une multitude de paquets « ICMP echo-request », une requête très courte et très courante faite à un serveur, (en modifiant l’adresse source de chaque paquet). La machine cible est saturée par cette multitude de petits paquets de 64ko ou inférieur et ne peut plus répondre aux demandes de connexions car l’ensemble de la bande passante est utilisée.

 

Cet type d’attaque ne réussit que si l’attaquant a plus de bande passante que sa victime (par exemple, un hacker avec une connexion Internet qui transmet 20 millions de bits par seconde et une victime avec une connexion Internet de 10 millions de bits par seconde).

Pour réduire les effets d’un Ping flood, un serveur peut utiliser un pare-feu pour détruire les requêtes Ping en tout temps ou lorsque le nombre de requêtes est anormalement élevés.

La destruction des requêtes Ping entraîne évidemment une non-réponse à ces requêtes par le serveur auquel les requêtes étaient destinées. Cette absence de réponse a deux avantages :

  • une réduction de l’utilisation de la bande passante ;
  • une plus grande difficulté pour l’attaquant de mesurer l’efficacité de son attaque.

 

 

 

 4. CONCLUSION

 

Pour conclure, les attaques de types DDos sont de plus en plus utilisés par les hackers car elles exploitent des failles sur un réseau ou système informatique. 

Le hacker tente d’utiliser une attaque Ddos lorsqu’il souhaite rendre hors service sa cible. 

Vous l’aurez compris il existe une multitude de type d’attaque dérivant du Ddos. Il n’existe pas de meilleur attaque ou plus puissante,… 

Il faut examiner sa cible et choisir l’attaque la plus adéquate. Si la cible à un port ECHO fermé, il ne sert à rien d’utiliser les attaques ICMP Flood, SMURF, Chargen Denial Of Service,…

De même pour l’attaque SYN Flood, il existe de nos jours des solutions comme TCP Cookies contre cette attaque mais cette solution n’est pas fiable malheureusement et elle n’est pas à notre programme.

Chaque jour de nouvelles failles sont trouvées dans des réseaux informatiques, il ne tiens qu’à nous d’établir des règles de sécurité.

 

Translate »