Dtection d'attaqus SYNFLOODING en langage C

snipermod84 Messages postés 9 Date d'inscription mercredi 7 mai 2008 Statut Membre Dernière intervention 12 juin 2008 - 9 mai 2008 à 11:32
cs_Telepathmaster Messages postés 46 Date d'inscription vendredi 31 octobre 2003 Statut Membre Dernière intervention 7 août 2008 - 9 mai 2008 à 14:50
bonjour chers amis. pourriez vous m'aider à écrire un programme en langage C pour la detection d'attaque  SYN FLOODING ssur un réseau informatique en langage C.Comment dois je m'y prendre.

Pourriez vous m'aider aussi à écrire un programme pour l'application des reseaux de neurones à la detection d'intrusions sur ls systèmes informatiques. Aidez moi sil vous plait c'est très très urgent

1 réponse

cs_Telepathmaster Messages postés 46 Date d'inscription vendredi 31 octobre 2003 Statut Membre Dernière intervention 7 août 2008
9 mai 2008 à 14:50
Bonjour,

Il faudrait que tu donnes un peu plus de précisions, à savoir, question en premier lieu cruciale : sur quel OS ? Syn Flood distribué (utilisant des decoys) ou venant d'un seul host ?

Par exemple, sous Linux, la détection de syn flood est assez simple : il suffit d'analyser de façon régulière /proc/net/tcp et d'analyser la proportion de sockets positionné à SYN_RECV (Cf. man netstat).
Sous Windows, c'est déjà plus compliqué, il faut au moins intégrer du sniffing (http://www.tcpdump.org/pcap.htm). Et dresser des statistiques. Cette solution est aussi retenue sous Linux si tu veux réellement faire un système de détection des intrusions complet et non seulement une détection de syn flood.
Maintenant, la méthode bête et méchante : pour chaque paquet SYN reçu tu créé une structure lambda, pour chaque ACK tu la supprime. Ensuite, régulièrement, tu supprimes les SYN dont la durée de timeout a été dépassée. Si le nombre de SYN n'ayant pas abouti dépasse un certain seuil prédéfini, PAF.
L'intégration de l'IA se fait à ce niveau précis. Comment fixer un seuil évolutif, en fonction des demandes d'un réseau non connu à l'avance ?
En général, une période appellée "échantillonage" est lancée en premier lieu, dressant des statistiques sur la circulation, les pics de circulation, etc.. Notamment, on peut chercher pendant par exemple 2 jours le nombre maximum de connexion en attente active de confirmation sur le réseau et fixer le seuil de détection à 200% de ce maximum (ce qui est peu, on s'en rend vite compte à l'utilisation).

On peut donc avoir par exemple une entité de sniffing, une entité d'intégration à des statistiques, une entité qui recherche les SYN et les ACK, et une entité qui vérifie périodiquement la proportion de SYN et qui les compare aux stats.

Il faut savoir que l'application de l'IA en sécurité informatique est typiquement de type statistique.

Bonne chance,
0
Rejoignez-nous