Ce projet consiste à développer une base de données relationnelle pour une entreprise spécialisée en cybersécurité, afin de gérer les risques de sécurité associés aux composants IoT (Internet of Things). La base intègre des données sur :
- Dispositifs IoT (composants) avec leurs caractéristiques techniques et classification selon leurs contraintes de ressources.
- Protocoles de communication IoT utilisés par ces dispositifs.
- Les vulnérabilités (CVE), faiblesses (CWE), et événements de menace (CAPEC) liés à ces dispositifs.
- Des modèles de scénarios d'attaque combinant CAPEC et CWE.
- Des implémentations réelles associant CAPEC aux CVE, illustrant concrètement les exploitations possibles.
- Les domaines d’attaque concernés et les mécanismes de mitigation disponibles.
L'entreprise souhaite une base de données claire et complète pour :
-
Gérer les composants IoT, leurs vulnérabilités, faiblesses et menaces.
-
Illustrer les scénarios d’attaque et leurs implémentations réelles.
-
Réaliser des analyses spécifiques via des requêtes SQL afin d'identifier, par exemple :
- Les composants IoT ayant le plus grand nombre de CVE non mitigées.
- Le protocole courte portée le plus associé aux scénarios d'attaque.
- Les CAPEC les plus fréquents dans les scénarios réels liés à des vulnérabilités critiques.
- Identifiant unique, nom, fabricant.
- Spécifications techniques : RAM, puissance CPU, consommation énergétique.
- Classification des contraintes : très contraints, moyennement contraints, non contraints.
- Identifiant, nom, version (identifiant + version unique).
- Type de chiffrement, débit, fréquence, bande passante.
- Classification par portée : courte portée (≤ 100 m), longue portée (> 100 m).
- Identifiant unique (ex. CVE-2025-88588), description, date, sévérité, score CVSS.
- Statut de mitigation, référence externe.
- Association avec plusieurs composants IoT et une faiblesse CWE.
- Identifiant unique (ex. CWE-20), nom, description.
- Relations entre CWE (PeerOf, MemberOf, ParentOf, etc.).
- Associations à plusieurs plateformes applicables (ex. langage de programmation).
- Identifiant unique (ex. CAPEC-94), nom, description.
- Niveau de compétence requis, ressources nécessaires.
- Associations à plusieurs CWE et CVE.
- Modèles CAPEC-CWE avec identifiant unique et description.
- Implémentations réelles CAPEC-CVE avec description, probabilité, sévérité, statut exploit.
- Associés à un ou plusieurs domaines d’attaque (Logiciel, Matériel, etc.).
- Mécanismes de mitigation avec identifiant et description.
Le projet inclut des requêtes SQL pour répondre à des besoins métiers, notamment :
-
Composants IoT avec le plus grand nombre de CVE non mitigées Identifier les dispositifs IoT exposés aux vulnérabilités critiques sans solution de mitigation.
-
Protocole courte portée associé au plus grand nombre de scénarios d’attaque Trouver le protocole IoT courte portée le plus vulnérable en termes de scénarios d’attaque.
-
Top 3 des événements de menace (CAPEC) les plus fréquents dans les scénarios réels associés à des CVE critiques (CVSS > 8) Prioriser les menaces les plus courantes dans les cas d’exploitation critique.
TABLE.sql: script de création des tables, clés primaires, contraintes et relations.DATA.sql: script d’insertion des données d’exemple permettant les tests et démonstrations.INTERROGATION.sql: requêtes SQL correspondant aux interrogations demandées dans le sujet.DELETE.sql: script de suppression complète des tables et nettoyage de la base.
- Installer PostgreSQL.
- Exécuter dans l’ordre :
TABLE.sqlpour créer la structure.DATA.sqlpour insérer les données.
- Lancer les requêtes d’analyse avec
INTERROGATION.sql. - Pour supprimer la base, exécuter
DELETE.sql.
- Système de gestion de base de données : PostgreSQL
- Langage : SQL, Python
Ce rendu vise à adopter une approche hybride : relationnel + objets JSON dans les colonnes des tables.
modelisation_orientee_document.json: script JSON démontrant la structure avec des données d’exemple.create_tables.sql: script de création des tables.insert_data.sql: script d’insertion des données d’exemple.
Ce projet est conçu pour un usage académique en cybersécurité IoT. Les contributions sont les bienvenues pour améliorer le modèle, optimiser les requêtes ou enrichir les données.
Pour toute question ou suggestion, merci de contacter l’auteur du projet.