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

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

Pour s'assurer qu'il était possible de bloquer des paquets entrants et sortants, il nous fallait simuler un réseau d'objets connectés. Mais nous ne disposons pas des objets spécifiques qui ont servi aux laboratoires pour enregistrer les fichiers pcap et encore moins des logiciels qui ont permis d'extraire les attributs.

Nous nous sommes donc servis des paquets que nous avions déjà afin de les rejouer sur deux machines virtuelles créées sur VirtualBox sur un système Ubuntu afin de simuler un réseau d'objets connectés.

Sur une machine virtuelle considérée comme la passerelle, était installé le code permettant de charger les paquets en file d'attente et d'émettre des verdicts. Nous précisons qu'il faut avoir des droits administrateurs et avoir accès au kernel via un gestionnaire, quelque chose de très difficile avec Windows. Pour chaque paquet qu'il recevait, il émettait son verdict en se basant sur les prédictions du modèle.

Un premier test a été de ne créer que deux machines virtuelles. Une passerelle et une machine dans un réseau privé. Le but était de simplement pouvoir observer la fonctionnalité de filtre sur la passerelle.

Le rôle de l'autre machine virtuelle était très simple : permettre de simuler un trafic d'objets connectés en rejouant les paquets contenus dans les fichiers pcap dont nous disposions. Il se contentait d'envoyer ces paquets à la machine virtuelle passerelle.

Ci-dessus vous pouvez voir les deux figures qui présentent la configuration des deux machines virtuelles.

L'adresse IP utilisée est le 10.42.0.0 avec le masque 255.255.255.0.

Figure 37 : Configuration des interfaces du gateway

Figure 38 : Configuration des interfaces d'une autre machine sur le réseau interne

Nous avons mis les deux machines virtuelles dans un réseau interne pour qu'ils puissent communiquer mais sans internet!

Ensuite nous nous sommes servis des prédictions de l'algorithme et du fichier pcap correspondant pour émettre un statut (trafic bénin ou pas) pour pouvoir bloquer ou accepter les paquets joués.

La figure ci-dessous nous montre ce qu'on pouvait observer sur les deux machines.

Figure 39 : envoie, réception et détection des paquets malveillants

La figure ci-dessus nous montre les paquets envoyés depuis une machine du réseau interne (la machine sandra@sandra-virtualBox) et reçu sur la machine qui nous sert de gateway (laroche@laroche-VirtualBox). En fonction des prédictions, le paquet donc est refusé ou accepté !

La passerelle est capable de refuser ou d'accepter un paquet.

Un deuxième test a cette fois-ci consisté à créer deux sous réseau. Un réseau privé qui représente notre réseau domotique qu'on doit protéger, un réseau public qui représente internet et notre passerelle qui va filtrer le trafic, chacun représenté par une machine virtuelle.

La passerelle est la limite entre ces deux réseaux. Notre but est de filtrer les paquets d'un réseau vers un autre et donc de constater sur une autre machine que les paquets ont bel et bien été filtrés.

La configuration réseau est simple :

Tableau 8 : Configuration des machines du réseau

 

Adresse

Réseau

Masque

Passerelle

Machine 1

10.42.1.2

Privé/interne

255.255.255.0

10.42.1.1

Machine 2 

2.42.0.2

Public/internet

255.255.255.0

2.42.0.1

Machine 3

10.42.1.1

2.42.0.1

passerelle

255.255.255.0

/

Figure 40 : Configuration IP des deux machines de 2 réseaux différents

Sur la figure ci-dessus, nous observons la configuration de la machine externe machineun@machineun-VirtualBox avec l'adresse 2.42.0.2 et celle de la machine interne sandra@sandra-VirtualBox.

Ensuite nous avons configuré une machine comme étant le routeur pour qu'il puisse effectuer le filtrage entre les deux réseaux. Notre passerelle possède 2 cartes réseaux. Une carte connectée au réseau interne et l'autre au réseau externe. Nous avons configuré les deux cartes avec les adresses que vous pouvez retrouver dans le tableau précédent. Dans les deux cas nous avons des adresses statiques de classes A.

La figure ci-dessous montre notre configuration IP.

Ensuite nous avons configuré le routage sur notre passerelle. Nous avons activé « net.ipv4.ip_forward=1 » dans le fichier /etc/sysctl.conf. Ensuite ajouter une règle de routage « iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE » pour activer le NAT sur l'interface connecté au réseau externe eth0. Enfin nous avons automatisé le montage de nos règles à l'activation de notre interface eth0. A chaque fois que notre interface sera activée, les règles iptables se réappliquerons. Nous enregistrons nos règles iptables dans le fichier /etc/iptables_rules.save. Ensuite dans le fichier /etc/network/interfaces on ajoute la ligne « post-up iptables-restore < /etc/iptables_rules.save ». Et enfin nous avons rechargé nos interfaces. Je précise que nous avons ajouté notre passerelle comme route par défaut pour les 2 machines des 2 réseaux différents.

Nous pouvons observer sur les figures ci-dessus que de simples ping d'un réseau à l'autre fonctionnent parfaitement.

Figure 41 : Ping entre les 2 machines de 2 réseaux différents

Ensuite il s'agissait de faire fonctionner le filtre c'est-à-dire envoyer juste quelques paquets.

Nous avons envoyé un lot de 20 paquets sur lesquels juste 10 était malveillants et regarder de l'autre côté nos deux paquets bénins reçus.

Donc nous avons pris un fichier pcap et envoyé juste 20 paquets. Utiliser les prédictions et s'assurer que la passerelle filtre correctement. Ici le trafic est généré depuis le réseau interne.

Figure 42 : Envoi et réception des paquets de part et d'autre du réseau

Sur la figure ci-dessus, La machine sandra dans le réseau interne est l'émetteur. Il suffit de regarder les détails du paquet envoyé au niveau des champs src et dst. Et machineun est le destinataire des paquets et renifle les paquets qu'il reçoit en ne filtrant et affichant que ceux qui viennent de l'adresse 10.42.1.2. Nous l'avons fait pour éviter d'afficher pleins de paquets de source divers,les paquets ARP, les requêtes icmp, etc.

Nous pouvons observer que sur la machine sandra-Virtual-Box, 20 paquets ont été envoyés et de l'autre côté 9 paquets ont été reçus ! C'est parce que la passerelle a bloqué les paquets que le filtre a décidé comme étant malveillant.

Figure 43 : Filtrage du trafic

Cette figure nous montre les paquets acceptés et rejetés par le filtre. Lorsqu'un paquet est détecté comme étant malveillant, il est rejeté.

Nous avons aussi vérifié qu'on pouvait filtrer les paquets provenant de l'extérieur.

Figure 44 : la machine interne renifle les paquets qu'elle reçoit

La machine sandra est cette fois-ci le destinataire et renifle les paquets. Le même nombre de paquets ont été envoyés avec le même nombre de paquets malveillants et bénins. Les résultats sont les mêmes que ceux obtenus lorsque machineun était le destinataire.

Ceci prouve qu'il est effectivement possible de filtrer le trafic venant de l'extérieur et celui venant de l'intérieur.

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








"Nous voulons explorer la bonté contrée énorme où tout se tait"   Appolinaire