IMA3/IMA4 2020/2022 P6

De Wiki de Projets IMA
Révision datée du 29 octobre 2021 à 11:21 par Sdouteau (discussion | contributions) (Partie réseau)

Présentation

Contexte

De nos jours, de plus en plus d’appareils électroniques ont besoin d’une connexion internet pour fonctionner. En outre, la majeure partie de nos données sont conservées sur le cloud et transitent par le biais d’internet. Il est donc nécessaire pour des grandes entreprises ou même des particuliers de pouvoir sécuriser ces données et ces appareils. Le réseau doit être protégé de toutes attaques malveillantes. Une manière de sécuriser le réseau est de détecter qui peut être un utilisateur malveillant, c'est que nous allons faire dans ce projet.

Description

Pour identifier les utilisateurs suspects voir malveillant, nous allons écouter le réseau et au travers des différents paquets échangés essayer de détecter les tentatives de connexions suspectes. La récupération des données du paquet suspect nous permet d'identifier la machine et permettrait d'isoler ou de bannir cette utilisateur du réseau mais ce n'est pas dans le cadre du projet. Pour écouter le réseau nous utilisons Wireshark, l'écoute génère un fichier avec l'extension .pcap que nous allons traiter en Python. Le fichier est .pcap est la liste des paquets écoutés. Avec python, nous allons analyser ces listes de paquets avec TensorFlow un outil open source d'apprentissage automatique et la bibliothèque Keras permettant d'interagir avec les algorithmes de langages d'apprentissage profond. L'objectif est d'analyser les différents paquets pour en identifier les comportements suspects. Cependant, nous devons définir ce qu'est un comportement suspect en analysant les différents protocoles wifi.

Réalisation du projet

Partie réseau

En ce qui concerne, la partie réseau nous devons récupérer un fichier .pcap à partir de commandes Wireshark pour ensuite l'analyser avec les différents outils python. Pour utiliser Wireshark dans un terminal nous utilisons Dumpcap.

Concernant l'analyse du fichier pcap (donc des paquets utilisés), nous pourrons utiliser la librairie scapy qui va nous permettre de récupérer les données utiles de chaque paquet pour notre surveillance.

Liste des commandes utilisées:
-f
Permet de capturer seulement certain types de paquets. Par exemple -f arp permet de capturer seulement les paquets ARP
-I
Met la carte en mode routeur et nous permet de capturer tous les paquets 802.11 circulant sur le réseau
-P
Permet d'obtenir un fichier d'extension pcap à la place d'un fichier pcapng.

En analysant les différents trames Wifi, nous serons capable de récupérer l'adresse de MAC la machine émettant le paquet, l'adresse mac de la balise relayant ce paquet et l'adresse mac de la machine devant recevoir ce paquet.

Partie Machine learning

Un des critères pouvant nous permettre de déterminer si un utilisateur est suspect ou non est si nous le voyons souvent sur le réseau ou non. Un utlisateur que nous voyons tous les jours et émettant des paquets tous les jours n'est pas suspect contrairement à un utilisateur émettant un nombres très important de paquets lors de sa première connexion.

Avancé du projet

Séance 1

Lors de cette séance nous avons du redéfinir les objectifs de notre projet pour repartir sur de bonnes bases. Les travaux que nous avons fait lors du semestre précédent sont à abandonner. Nous devons comme expliquer précédemment récupérer les paquets avec un fichier .pcap et ensuite les analyser pour trouver les comportements suspects avec un différents outils comme Tensorflow. Nous allons devoir définir ce qui est un comportement suspect et ce qui ne l'est pas. Nous nous sommes répartis les tâches. Théo et Tristan vont travailler sur l'analyse des données en Python et Simon et Valentin vont travailler sur la récupération des données grâce à Wireshark et ses différents fonctionnalités.

Séance 2

Lors de cette séance, nous devons continuer notre formation sur les différents outils pour l'analyse des données et nous devons continuer à améliorer la récupération des données en réfléchissant sur quelles données des vont nous être utiles pour déterminer le comportement des utilisateurs. Valentin et Simon se sont concentrés sur la capture de paquets avec l'utilitaire dumpcap. Ils ont notamment pu capturer des paquets de protocole Wi-Fi.

Séance 3

Le but de cette séance pour Valentin et Simon est de comprendre la structure d'un paquet Wi-Fi afin de déduire certains comportements suspects. Ils continuent aussi leurs recherches sur l'analyse automatique des paquets afin qu'ils soient traités par la suite par l'algorithme de machine learning.