IMA4 2016/2017 P33 : Différence entre versions
(→Présentation du projet) |
(→Fichiers Rendus) |
||
Ligne 170 : | Ligne 170 : | ||
[[Fichier:Plandemesures.pdf]] | [[Fichier:Plandemesures.pdf]] | ||
+ | |||
+ | [[Fichier:Rapport_Projet33.jpg]] |
Version du 11 mai 2017 à 20:18
Sommaire
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:
Sous-fonction 1:
Effectuer la communication entre les modules LoRa:
Pour etablir la communication on utilisera deux Arduino qui serviront à controler l’emission et la reception des données ainsi que les messages à transmettre.
Sous-fonction 2: on récupère le signal avec un analyseur de spectre pour pouvoir “décoder” le paquet LoRa.
Sous-fonction 3:
A partir du paquet “décodé” , écrire un autre paquet pour l’envoyer à un récepteur LoRa . Pour l’interception , en fonction de la trame que recoit les modules LoRa , on décidera la méthode avec laquelle on intercepte la communication afin d’envoyer des trames “ecrites à la main”.
Calendrier prévisionnel
Liste des tâches à effectuer
Tâche 1: Etablir la communication entre deux modules LoRa.
Tâche 2 :Visualiser sur l'analyseur de spectre le signal émis .
Tâche 3: .Prise en main du format du protocole LoRa
Tâche 4 : Ecrire un paquet LoRa et le faire accepter par un 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 | 4h | 6h | 8h | 8h | 8h | 8h | 8h | 8h |
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
Semaine 3
-Découverte du Feather
-Etude sur le protocole LoRa et distinction entre Réseau (LoRaWAN) et le protocole LoRa.
Semaine 4
Tache 1 réalisée:
- Installation des librairies Adafruit (Sur deux machines pour emission/Reception)
- Test des codes Emission/Réception proposés par la datasheet.
- Communication réalisée entre deux modules LoRa .
Emission
Réception
Semaine 5
Après avoir effectué la communication entre deux modules LoRa , on ajoute un troisième module comme étant récepteur pour voir les changement dus à la présence d'un ou d'autres récepteurs.
On remarque que le RSSI (Received Signal Strength Indication) ne change quasiment pas (entre |21| et |19|) . On peut conclure que la présence de plusieurs récepteurs n'affecte pas la puissance du signal transmis .
1ere séance de mesures :
On réalise la communication LoRa entre les modules et on visualise le signal transmis avec une antenne PATCH connectée à un analyseur de spectre .
On mesure pour la fréquence 434MHz:
le rapport signal sur bruit SNR
le rapport SNR donne une valeur de : 13 dBm
La puissance du signal est égale à 13 dBm . Ce résulat est identique à la puissance définit par défaut .
Semaine 6
Modification des codes d'émission et de réception : Envoyer des 1 ou des 0 au lieu du message "Hello word" ; Répondre par ce qu'on reçoit (Ping-pong)
(voir codes : fichier rendus).
Semaine 7 et 8
Plan de mesures (voir fichiers rendus en bas de la page).
Semaine 9 et 10
Mesures :
Pour visualiser le signal dans l'air , j'ai utilisé une antenne patch , en mettant tantot le module d'emission tantot le module de reception sur cette dernière .
Sur un oscilloscope 1GHz , j'ai pu visualisé les signaux suivants :
Commentaires : Le signal d'émission visualisé en haut (c1) est la trame qu'on reçoit ; celui d'en-bas (F1) n'est qu'un zoom qui nous permet de voir la forme de ce signal.
On remarque qu'on a signal modulé en QPSK d'où le saut de phase . Cette forme ne correspond pas à la modulation LoRa qui est en chirp Spread Spectrum (CSS) (Cf. datasheet AN1200.22 LoRa™ Modulation) .
Le cas était aussi pour le signal de reception , mais qui est modulé en AM .
Cette "déformation" des signaux est due à l'utilisation de l'antenne patch (800MHz) qui n'est pas adapté à notre antenne (434MHz).