Data Flow Diagram (DFD)
devsecopsDéfinition
Un Data Flow Diagram (DFD) ou Diagramme de Flux de Données est une représentation graphique montrant comment les données circulent à travers un système informatique — les sources d'entrée, les processus de traitement, les stockages de données, et les sorties. En cybersécurité et DevSecOps, les DFDs sont l'outil fondamental sur lequel s'appuient les méthodologies de threat modeling (STRIDE, PASTA, LINDDUN) pour identifier systématiquement les points de vulnérabilité potentiels dans une architecture. Un DFD en threat modeling utilise quatre éléments de notation standardisés. Les Processus (cercles ou rectangles arrondis) représentent les composants qui transforment ou traitent les données : une API endpoint, un microservice, une Lambda function. Les Flux de données (flèches) représentent les mouvements de données entre composants : une requête HTTP, un message dans une queue, une écriture en base de données. Les Stockages (rectangles à doubles bordures) représentent les données au repos : une base de données, un bucket S3, un cache Redis. Les Entités externes (rectangles simples) représentent les acteurs hors du périmètre de contrôle : utilisateurs, systèmes partenaires, services tiers. Les Trust Boundaries (frontières de confiance), représentées par des lignes pointillées, délimitent les zones de confiance différente au sein du système : la frontière Internet/Application, la frontière Application/Base de données, la frontière entre microservices avec des privilèges différents. Dans STRIDE, chaque flux de données traversant une Trust Boundary est un candidat pour les menaces de Spoofing, Tampering, Repudiation, Information Disclosure, Denial of Service, et Elevation of Privilege. La décomposition hiérarchique des DFDs (DFD niveau 0 "contexte", niveau 1 "processus principaux", niveau 2 "détails") permet d'adapter le niveau de détail de l'analyse au contexte : un DFD niveau 0 suffit pour une revue rapide, un DFD niveau 2 est nécessaire pour une analyse STRIDE complète d'un composant complexe. Des outils comme OWASP Threat Dragon, Microsoft Threat Modeling Tool, ou IriusRisk facilitent la création de DFDs et automatisent partiellement l'identification des menaces STRIDE associées.
Notation et éléments d'un DFD de sécurité
La notation DFD pour le threat modeling utilise : cercles (processus, ex : "API Auth Service"), rectangles à double bordure (data stores, ex : "MySQL users DB"), rectangles simples (external entities, ex : "Browser client"), flèches étiquetées (data flows, ex : "JWT token", "SQL query"), et lignes pointillées (trust boundaries, ex : "Internet/DMZ boundary"). Chaque flux traversant une trust boundary est l'objet d'une analyse STRIDE systématique. Les éléments sont numérotés pour faciliter le référencement dans les rapports de threat modeling.
DFD et analyse STRIDE systématique
La méthode STRIDE s'applique à chaque élément du DFD selon un tableau de correspondance : les Processus sont vulnérables à S(poofing), R(epudiation), D(enial of service), E(levation of privilege) ; les Flux sont vulnérables à T(ampering), I(nformation disclosure), D(enial of service) ; les Data Stores sont vulnérables à T(ampering), R(epudiation), I(nformation disclosure) ; les External Entities sont vulnérables à S(poofing), R(epudiation). Cette grille systématique garantit qu'aucune menace commune n'est oubliée.
Outils et intégration dans le processus DevSecOps
OWASP Threat Dragon (open source, Electron + web) permet de créer des DFDs collaboratifs avec identification automatique des menaces STRIDE. Microsoft Threat Modeling Tool (gratuit, Windows) génère des rapports de menaces depuis les DFDs. IriusRisk (commercial) intègre threat modeling dans les sprints agiles avec génération de Security Requirements et countermeasures. Le DFD d'une nouvelle fonctionnalité est idéalement créé lors du sprint de design, mis à jour à chaque changement architectural, et archivé dans le dépôt Git avec le code correspondant.
Ce terme vous interpelle ?
Nos experts interviennent sur toutes les thématiques de ce glossaire — pentest, conformité NIS 2 / ISO 27001, forensics, sécurité IA. Réponse sous 24h, devis gratuit et sans engagement.