IMA5 2019/2020 P20 : Différence entre versions
(→Réalisation du Projet) |
|||
Ligne 57 : | Ligne 57 : | ||
=Réalisation du Projet= | =Réalisation du Projet= | ||
− | ==Récupération du code d'une carte Arduino Uno | + | ==Récupération du code d'une carte Arduino Uno== |
==Récupération de données utilisateur d'un objet connecté== | ==Récupération de données utilisateur d'un objet connecté== | ||
==Reverse engineering sur l'application mobile associée à l'objet== | ==Reverse engineering sur l'application mobile associée à l'objet== |
Version du 24 septembre 2019 à 11:59
Présentation générale
Description
Les objets connectés commencent à se démocratiser dans les habitations (thermostats connectés, caméras connectés, serrures connectées, ...) et dans l'industrie (remontée de données, supervision, ...). Le marché de l'IOT (Internet Of Things) est très concurrentiel et les produits doivent être mis sur le marché rapidement à bas coût. Les problématiques de sécurités sont donc très souvent délaissées. De plus, les faibles performances et les tailles de mémoires limitées empêchent d’implémenter les méthodes classiques du monde Internet (anti-virus, pare-feux, mise à jour, certificats ,...).
Ce projet propose de concevoir et réaliser les briques de base d'une plateforme d'évaluation de la sécurité d'objets connectés :
- Une partie logicielle permettant la récupération de code embarqué, la décompilation, la compilation, ...
- Une partie matérielle permettant d'accéder aux données d'un objet (récupération du firmware) et l'injection de signaux ;
- Une éventuelle base de données permettant de sauvegarder les résultats et les failles trouvées.
Objectifs
Dans un premier temps, l'objectif sera d'être capable de récupérer les données utilisateur d'un objet connecté puis son firmware dans le but d'y trouver de potentielles failles de sécurité. Le code source de l'application mobile associée à l'objet pouvant lui aussi être source de failles de sécurité, sera de même à analyser.
Dans un second temps, le but ultime de ce projet serait d'automatiser une partie de ce processus et de le rendre utilisable pour un grand nombre d'objets connectés divers et variés.
Préparation du projet
Cahier des charges
Choix techniques : matériel et logiciel
Pour la partie matérielle, ce projet nécessite :
- Un objet connecté à exploiter à définir avec les encadrants
- Du matériel permettant de connecter un ordinateur à l'objet via USB, JTAG, UART, JPIO, I2C ou SPI à voir selon le matériel déjà disponible
Pour la partie logicielle, de nombreux outils pourraient être utiles à ce projet et seront à investiguer :
- Ghidra
- IDA
- Radare2
- Binwalk
- Apktool
- dex2jar
Liste des tâches à effectuer
Ce projet se découpe en 4 tâches principales :
- Récupération des données utilisateur de l'objet
- Récupération du firmware de l'objet et analyse dans le but de trouver des failles de sécurité
- Analyse du code source de l'application mobile associée à l'objet dans le but de trouver des failles de sécurité
- Automatisation d'une partie des trois premières tâches