Présentation de l'outil
IoT Inspector Client est une solution open-source conçue pour intercepter, analyser et visualiser le trafic réseau généré par les objets connectés (IoT) au sein d'un environnement domestique ou professionnel. Cet outil opère de manière passive, ne nécessitant aucune modification de l'infrastructure réseau ni l'ajout de matériel spécifique. Une fois déployé, il fournit une visibilité immédiate sur les comportements des appareils.
Les fonctionnalités principales incluent :
- L'identification des entités (entreprises, serveurs, pays) avec lesquelles les appareils IoT communiquent.
- La quantification des volumes de données échangés (upload et download).
- La détection et l'identification des équipements non autorisés ou inconnus sur le réseau local.
Configuration de l'environnement
Le déploiement de l'application repose sur Python et Git. Assurez-vous que ces dépendances sont correctement installées sur votre système hôte avant de poursuivre.
Installation sous macOS et Linux
Exécutez les commandes suivantes dans votre terminal pour cloner le dépôt et configurer un environnement virtuel isolé :
git clone https://github.com/nyu-mlab/iot-inspector-client.git iot-monitor
cd iot-monitor
python3 -m venv .venv
source .venv/bin/activate
pip install --upgrade pip
pip install -r requirements-general.txt
Installation sous Windows
Sous Windows, la procédure est similaire mais utilise les exécutables et chemins spécifiques au système :
git clone https://github.com/nyu-mlab/iot-inspector-client.git iot-monitor
cd iot-monitor
python -m venv .venv
.venv\Scripts\activate
pip install --upgrade pip
pip install -r requirements-general.txt
Note : Si vous utilisez une version récente de Python (3.10 ou supérieure), le fichier requirements-general.txt est recommandé pour éviter les conflits de dépendances.
Exécution de l'application
Une fois l'environnement configuré, vous pouvez lancer l'interface de surveillance.
Démarrage sous macOS et Linux
source .venv/bin/activate
cd ui
bash ./start.bash
Démarrage sous Windows
Important : Le terminal (Invite de commandes ou PowerShell) doit être exécuté avec les privilèges d'administrateur pour permettre la capture des paquets réseau au niveau de la carte d'interface.
.venv\Scripts\activate
cd ui
streamlit run Device_List.py --server.port 8502 --browser.gatherUsageStats false --server.headless true --server.baseUrlPath "iot_dashboard"
Cas d'usage et stratégies de surveillance
- Audit de télémétrie : Surveillez en continu les schémas de communication de vos appareils domotiques pour détecter les exfiltrations de données ou les connexions anormales vers des serveurs distants.
- Évaluation de la confidentialité : Analysez la volumétrie des échanges pour identifier les capteurs ou assistants vocaux qui transmettent des flux audio/vidéo continus, potentiellement au détriment de la vie privée.
- Sécurisation du périmètre : Effectuez des balayages réguliers pour repérer les équipements connectés non autorisés (shadow IoT) qui pourraient servir de point d'entrée pour des attaques latérales.
Architecture et composants associés
L'écosystème IoT Inspector s'appuie sur plusieurs modules complémentaires pour les déploiements à grande échelle :
- IoT Inspector Server : Backend centralisé dédié à l'agrégation, au stockage et à l'analyse approfondie des métadonnées réseau collectées par les clients.
- IoT Inspector Web : Interface utilisateur basée sur le web permettant de consulter les tableaux de bord et les alertes à distance, sans accéder directement à la machine exécutant le client.