WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Conception de filtre d'un réseau d'objets connectés par apprentissage profond


par Sandra Rochelle NYABENG MINEME
SUP'PTIC - Ingénieur de sécurité des réseaux et des systemes 2015
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

4.2. Implémentation du modèle de détection de trafic malveillant

Nous avons à ce niveau vérifié qu'on pouvait bel et bien bloquer un paquet au niveau du kernel en fonction des prédictions du modèle.

Pour ce faire, notre programme doit :

? Ouvrir une file d'attente 

? se lier à une famille de réseau ( AF_PACKET pour IPv4) 

? fournir une fonction de rappel, qui sera automatiquement appelée lors de la réception d'un paquet. 

? Renvoyer un verdict avec le rappel en fonction des prédictions

? Créer la file d'attente, en fournissant le numéro de file d'attente qui doit correspondre aux --queue-num grâce à iptables 

? Lancez une boucle en attendant les événements. Le programme devrait également fournir un moyen propre de quitter la boucle

Nous nous sommes servis de Netfilter [38]. Netfilter fournit un mécanisme pour faire passer des paquets hors de la pile pour la mise en file d'attente dans l'espace utilisateur, puis pour les recevoir de nouveau dans le noyau avec un verdict spécifiant quoi faire avec les paquets (comme ACCEPT ou DROP). Ces paquets peuvent également être modifiés dans l'espace utilisateur avant d'être réinjectés dans le noyau.

Un module de noyau appelé gestionnaire de files d'attente peut s'inscrire auprès de Netfilter pour effectuer les mécanismes de transmission de paquets vers et depuis l'espace utilisateur.

Nfqueue est un petit wrapper autour de libnetfilter_queue. NFQUEUE permet d'envoyer des paquets pour des files d'attente séparées et spécifiques. La file d'attente est identifiée par un id de 16 bits. Une fois nfqueue chargé, les paquets IP peuvent être sélectionnés avec iptables et mis en file d'attente pour le traitement de l'espace utilisateur via la cible QUEUE.

libnetfilter_queue est une bibliothèque de l'espace utilisateur qui fournit un API aux paquets qui ont été placés en file d'attente par le filtre de paquet du kernel. Il a remplacé le vieux ip_queue / libipq. Il utilise nfqueue [39].

L'option --queue-num spécifie quelle file d'attente utilisé et vers où envoyer les données. Si cette option n'est pas placée, la file d'attente par défaut sera à 0. Le chiffre de la file d'attente est un entier non signé de 16 bits, ce qui veut dire qu'elle peut prendre n'importe quelle valeur comprise entre 0 et 65535.

Les cibles (les verdicts) les plus classiques sont :

? NF_ACCEPT: continuez la traversée normalement.

? NF_DROP: abandonnez le paquet; ne continuez pas la traversée.

? NF_STOLEN: J'ai repris le paquet; ne continuez pas la traversée.

? NF_QUEUE: mettez le paquet en file d'attente (généralement pour la gestion de l'espace utilisateur).

? NF_REPEAT: rappelez, réinjecter le à la file d'attente

Ces cibles permettent d'envoyer le paquet en espace utilisateur pour qu'une application puisse effectuer sa propre analyse et décider du verdict. Cependant avant toute chose nous devons rediriger le trafic qui passe par la passerelle vers la file d'attente.

A moins de nous même programmer notre propre module qui communique avec le kernel pour pouvoir mettre en place notre filtre, nous nous sommes servis de celui-ci pour pouvoir émettre un verdict sur un paquet en fonction du résultat de la prédiction. De cette façon, nous accélérons le traitement des paquets dans la file d'attente du pare-feu.

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Ceux qui vivent sont ceux qui luttent"   Victor Hugo