IMA4 2016/2017 P33

De Wiki d'activités IMA
Révision datée du 2 février 2017 à 20:17 par Onaanaa (discussion | contributions) (Choix techniques : matériel et logiciel)

Présentation du projet

Contexte

Les objets connectés se font une place dans le quotidien et se déploient de plus en plus mais en ce qui concerne leur sécurité, il apparaît que les fabricants ont souvent négligé la sécurité des technologies et de les protéger contre les cyberattaques. Afin de tester la sécurité des réseaux utilisés dans les objets connectés, nous étudierons le fonctionnement de ces protocoles. Dans le cadre de ce projet nous nous intéresserons aux protocoles LoRa et SigFox.

Objectif

L'objectif est donc de réaliser l'écoute de trame d'un réseau sans-fil (LoRa et SigFox) en capturant des trames afin de comprendre le fonctionnement de ces protocoles, et déterminer le format des trames ainsi que des méthodes d'attaque du réseau. C'est ce qu'on appelle l'ingénierie inverse.

Description du projet

Pour comprendre le fonctionnement du protocole, nous mettrons en place une maquette contenant des émetteurs et récepteurs afin d'écouter les trames dans le réseau. Une fois la maquette prête, nous mettrons en place une méthode d'écoute des trames et des captures de trames par un analyseur de spectre pour ensuite décoder ces trames. Pour tester les attaques de type man in the middle, ie introduire des trames dans le réseau, nous allons créer des trames et les faire accepter par le réseau.

Choix techniques : matériel et logiciel

Fonction principale:

Ingénierie inverse : Pouvoir injecter des trames “écrites à la main” entre l'émetteur/récepteur LoRa.

Sous-fonction 1:


Effectuer la communication entre les deux modules LoRa (SX1276MB1MAS Semtech).

On utilisera deux cartes Arduino afin de créer un système émission/réception.

LoRa utilise des noeuds (Nodes) et des passerelles (Gateways), qui communiquent avec un serveur (ici un serveur Web) . Donc on aura besoin aussi de deux raspberry Pi . Projet 1.png

Projet 2.png

Pour l’interception , on utilisera un module LoRa similaire aux précédents +une carte Arduino et une Raspberry Pi.

Récupérer le signal du 3eme module LoRa avec un analyseur de spectre et pouvoir “décoder” le paquet LoRa.

Pour mesurer les signaux provenant des modules LoRa,en utilisant la modulation LoRa , on se réfère au guide de mesure (LoRaTM and FCC Part 15.247: Measurement Guidance) .


Dans ce guide , on trouve trois systèmes (Systems Employing Digital Modulation , Systems Employing Frequency Hopping Spread Spectrum , Hybrid Mode Operation), en fonction du mode choisi , on suivra les étapes de mesure .

Sous-fonction 3:

A partir du paquet “décodé” , écrire un autre paquet pour l’envoyer à un récepteur LoRa .

Éventuellement , le paquet “écrit” , sera similaire au paquet “décodé” dans la sous-fonction 2 , tout en changeant les données de messages .


A partir du serveur Web , on envoie les trames “écrites” sur 3 eme modules LoRa.

Projet 3.png

Calendrier prévisionnel

Liste des tâches à effectuer

Tâche 1: Etablir un programme Arduino qui permet la communication entre deux modules LoRa.
Tâche 2 :Installer un serveur web sur la Raspberry Pi .
Tâche 3:Visualiser le signal provenant du 3eme module LoRa su l’analyseur de spectre.
Tâche 4 : A partir du signal visualisé, ecrire le paquet reçu lors de l’interception .
Tâche 5: Prise en main du format du protocole LoRa.
Tâche 6: Ecrire un paquet à envoyer à travers le serveur web en passant par le 3ème module LoRa.

Calendrier

Feuille d'heures

Tâche Prélude Heures S1 Heures S2 Heures S3 Heures S4 Heures S5 Heures S6 Heures S7 Heures S8 Heures S9 Heures S10 Total
Définition cahier des charges 4h 6h 6h

Avancement du Projet

Semaine 1

Définition du cahier des charges et prise en main du protocole LoRa

Semaine 2

Suite du cahier des charges

Fichiers Rendus