Etude et analyse des attaques et des signatures d'attaques - Etude bibliographique des parades au DoS et DDoS - Etude des HoneyPots - Intégration des HoneyPots dans une architecture globale de protection
- Ecole Nationale Supérieure des Télécommunications Institut de la Francophonie. - Ping de la mort ...17. - Configuration Honeyd ...37. - Ce document est un rapport du stage que j’ai effectué du 1 er janvier 2004 au 30 juin 2004 dans le cadre de la scolarité 2003/2004 au Département Informatique et Réseau, ce stage est placé sous la direction de Monsieur le Professeur Ahmed Serhrouschni. - Ce stage s’inscrit dans le cadre de mon stage de fin d’étude pour valider mon diplôme de DEA à l’Institut de la Francophonie pour l’Informatique au Vietnam.. - Macintosh Ethload http://www.computercraft.com/nopro. - essaie d'entrer dans chaque machine cible en se faisant passer pour un utilisateur de la machine « attaquante. - Normalement, il y a un système de time-out associé à chaque connexion ouverte, donc les semi-connexions devraient expirer et le serveur victime récupérer de la place libre dans sa mémoire pour d'autres connexions. - L'IP spoofing et le SYN-flooding sont actuellement les deux principaux problèmes de la sécurité sur Internet.. - Une solution consiste à avoir une bonne gestion de la fenêtre d'anticipation TCP, et d'envoyer autant que faire se peut des messages ICMP de réduction de fenêtre.. - Si vous vous faites attaqués de la sorte, il y a de grandes chances pour que vous puissiez remonter à l'origine de l'attaque, identifiant par la même occasion l'identité de l'attaquant.. - Ping de la mort. - où xxx.xxx.xxx.xxx est l'adresse de la victime.. - On va voir ce problème dans le système d'exploitation Minix version 2.0.2. - Le code suivant est extrait dans le fichier ip_read.c de la fonction merge_frags() second_datasize=second_offset+second_datasize-(first_offset+first_datasize);. - On va voir le code suivant (extrait dans la fonction ip_glue() du fichier ip_fragment.c du noyau 2.0.23 de la ligne 361):. - Cela dépense de la mémoire de la victime, l'ordinateur peut être soit bloqué soit redémarré.. - On voie maintenant la partie principale dans cette fonction (dans le fichier ip_fragment.c à partir de la ligne 93 (fonction ip_frag_create. - De la version 2.1.89 à 2.2.3 du noyau, on a changé le code pour contre cette vulnérabilité. - Voir le code suivant (extrait dans la fonction ip_glue() du fichier ip_fragment.c du noyau 2.2.3 de la ligne 357):. - première fois de la boucle, count est nécessaire égal à qp->ihlen, la fonction dst_clone. - En effet dans les premiers temps, cette attaque restait assez compliquée et nécessitait de bonnes connaissances de la part des attaquants. - Ils vont par exemple se mettre à envoyer un maximum de paquets UDP sur des ports spécifiés de la machine cible. - Protocole de la communication entre Client/Agent : ICMP - L’attaque sur les protocoles : IP / TCP / UDP / ICMP. - TFN2K est silence, cad il ne fait pas de ACK de la commande il reçois. - Le but est d'identifier les agrégats responsables de la congestion et de les éliminer pour rétablir un trafic normal. - Une fois la signature (c'est-à-dire la propriété identifiante, le trait caractéristique de l'attaque) établie, le flux est comparée en temps réel dans le routeur le plus proche de la cible du DDoS. - elle permet également de décongestionner le coeur même du réseau, ce qui était impossible avec les techniques centrées sur la protection pure de la cible. - Risque: Toutes les technologies de la sécurité ont des risques. - Les activités des attaquants sont limitées au niveau de la simulation par l'honeypot. - Tous cela dépend du niveau de la simulation par l'honeypot. - Tous ses activités, de la session SSH encrypté vers email et téléchargement des fichiers, sont capturées sans aucune connaissance. - D'autre part, pour le but de la recherche, il est utilisé pour collectionner des informations. - Supposons que l’on veut créer deux machines Windows sur un réseau virtuel avec les adresses IP sont : 192.168.160.3 et 192.168.160.4. - bind 192.168.160.3 Windows #Créer 1 ère machine windows bind 192.168.160.4 Windows #Créer 2 ème machine windows. - Machine virtuelle 192.168.160.3/24. - Machine virtuelle 192.168.160.4/24 Machine host. - 192.168.160.1/24. - bind 192.168.160.3 Windows #Créer 1 ère machine windows. - bind 192.168.160.4 Windows #Créer 2 ème machine windows. - bind 192.168.160.100 Router #L’adresse du routeur. - route entry 192.168.160.100 network. - 192.168.160.0/16. - route 192.168.160.100 link 192.168.161.0/16 #Réseau accéder par routeur. - bind 192.168.161.11 Windows #Créer 3 ère machine windows. - Bind 192.168.161.12 Windows #Créer 4 ère machine windows. - Dans cette architecture, j’utilise celle précédente et ajoute une machine réelle ayant l’adresse IP 192.168.160.2/24 en ajoutant une seule ligne dans le fichier de. - bind 192.168.160.2 to ethernet. - Il y a un routeur dans le réseau et une machine réelle Windows. - bind 192.168.161.12 Windows #Créer 4 ère machine windows. - La machine host est une machine Linux Redhat 9.0 avec l’adresse IP : 192.168.160.1 dans laquelle on installe arpd et honeyd.. - Une autre machine, appelant machine de teste fonctionne sous Windows 98 sous forme d’une machine virtuelle Vmware avec l’adresse IP 192.168.160.2. - Arpd va détruire le système DHCP dans le même réseau. - C’est pourquoi je choix le réseau 192.168.x.x pour simuler le réseau virtuel.. - La machine hôte ne peut pas ping vers les machines virtuelles à cause de la technique de la commande Ping. - arpd 192.168.160.2-192.168.160.6 192.168.160.100 192.168.161.11- 192.168.161.12. - ./honeyd –f honeyd.conf.compl –a nmap.assoc –p nmap.prints –x xprobe2 –0 p0.os –l /var/log/honeyd.log 192.168.160.2-192.168.160.6 192.168.160.100 192.168.161.11-192.168.161.12. - Les adresses IP utilisées dans le scénario sont dans la table suivante. - 192.168.160.1 Machine host – réelle. - 192.168.160.2 Machine teste – réelle (machine VMWare) 192.168.160.3 Machine virtuelle – Windows Web 192.168.160.4 Machine virtuelle – Windows Web. - 192.168.160.5 Machine virtuelle – Linux Suse 7.0 Syslogd, web, ftp.... - 192.168.160.6 Machine virtuelle – Linux Suse 7.0 Syslogd, web, ftp.... - 192.168.160.100 Routeur Telnet. - Premièrement, les empreintes de la commande Ping. - Quand on lance la commande Ping de 192.168.160.2 (machine ou on teste) vers la machine 192.168.160.3, arpd sur la machine host (192.168.160.1) recevra une question « Qui a l'adresse IP 192.168.160.3. - Il va répondre: Machine 192.168.160.3 se situe sur l'adresse 00:50:56:c0:00:01.. - arpd[6304]: arpd_send: who-has 192.168.160.3 tell 192.168.160.1 arpd[6304]: arpd_send: who-has 192.168.160.3 tell 192.168.160.1 arpd[6304]: arp reply 192.168.160.3 is-at 00:50:56:c0:00:01. - Dès maintenant, arpd rédige la gestion du IP 192.168.160.3 à honeyd. - honeyd[9200]: Sending ICMP Echo Reply: 192.168.160.3 ->. - 192.168.160.2 honeyd[9200]: Sending ICMP Echo Reply: 192.168.160.3 ->. - 192.168.160.2. - 192.168.160.2 192.168.160.3: 8(0): 60 2004-05-20-21:34:18.0081 icmp(1. - 192.168.160.2 192.168.160.3: 8(0): 60 2004-05-20-21:34:19.0118 icmp(1. - 192.168.160.2 192.168.160.3: 8(0): 60. - Honeyd a déjà noté toutes les connexions vers la machine 192.168.160.5 (On peut la considérer comme le serveur de Web car sur cette machine honeyd simule un service de Web). - 2004-05-20-21:34:56.0695 tcp(6) S 192.168.160.2 2556 192.168.160.5 80 [Windows XP SP1]. - 2004-05-20-21:34:56.0773 tcp(6) S 192.168.160.2 2557 192.168.160.5 80 [Windows XP SP1]. - 2004-05-20-21:35:01.0739 tcp(6) S 192.168.160.2 2558 192.168.160.5 80 [Windows XP SP1]. - 2004-05-20-21:35:03.0078 tcp(6) S 192.168.160.2 2559 192.168.160.5 80 [Windows XP SP1]. - 2004-05-20-21:35:11.0735 tcp(6) E 192.168.160.2 2557 192.168.160.5 80: 247 657. - 2004-05-20-21:35:12.0503 tcp(6) E 192.168.160.2 2556 192.168.160.5 80: 248 658. - 2004-05-20-21:35:17.0414 tcp(6) E 192.168.160.2 2558 192.168.160.5 80: 251 661. - 2004-05-20-21:35:18.0344 tcp(6) E 192.168.160.2 2559 192.168.160.5 80: 249. - Quatre premières lignes nous montrent qu'il y a quatre requêtes de 192.168.160.2 au 192.168.160.5 sur le port 80 avec l’état « Start ». - Après une période de temps, la machine 192.168.160.2 ferme les connexions, on reçoit donc quatre messages dans le fichier log (indiquer par l’état « End »). - 2004-05-20-21:36:00.0834 tcp(6) S 192.168.160.2 2560 192.168.160.6 21 [Windows XP SP1]. - La machine cible a l'adresse 192.168.160.6. - Le message suivant est extrait dans le fichier honeyd.log qui montre l'empreinte de la commande « telnet ». - 2004-05-20-22:12:36.0278 tcp(6) S 192.168.160.2 3031 192.168.160.100 23 [Windows XP SP1]. - La machine cible a l'adresse 192.168.160.100. - honeyd[9816]: Connection request: tcp (192.168.160.2:3029. - La machine 192.168.160.2 envoie une requête au routeur (192.168.160.100) sur le port 23 pour demander d'établir une connexion. - En fin: On va lancer un scan sur la machine 192.168.160.5 pour trouver toutes les informations nécessaires: Les services, les ports ouverts, quel système d'exploitation utilisé.. - Grâce au superscan, on peut trouver le système d'exploitation sur la machine 192.168.160.5. - Les attaquants qui n'ont pas d'expérience se sont trompés facilement que la machine 192.168.160.5 est une machine réelle.. - Ainsi, lors de la défragmentation au niveau IP de la machine cible, le paquet de demande de connexion est reconstitué et passé à la couche TCP.. - Les figures 1 et 2 montrent les deux fragments et la figure 3 le paquet défragmenté au niveau de la machine cible. - Ainsi, lors de la défragmentation les données du deuxième fragment écrasent celles du premier à partir de la fin du 8ème octet (car le fragment offset est égal à 1). - Les figures 4 et 5 montrent les deux fragments et la figure 6 le paquet défragmenté au niveau de la machine cible. - http://www.honeynet.org/papers/. - http://www.epmhs.gr/honeynet/