Le travail de sécurité open source n’est pas « spécial »
(sethmlarson.dev)Résumé essentiel
- Démystifier la sécurité : le texte critique le « sécuritarisme d’exception », qui traite le travail de sécurité comme un domaine à part, et souligne qu’il faut l’aborder dans le cadre normal de l’ingénierie.
- Intégrer la gestion des risques : les incidents de sécurité sont définis non comme des catastrophes quasi magiques, mais comme un type de « risque opérationnel », au même titre qu’une baisse de disponibilité (Availability) ou de performance (Performance) d’un système.
- Orientation pratique : il est proposé de traiter la dette de sécurité (Security Debt) comme la dette technique, et de mettre en place des garde-fous permettant aux équipes d’ingénierie de résoudre les problèmes de manière autonome, sans intervention d’une équipe sécurité spécialisée.
Analyse approfondie
1. Les problèmes du sécuritarisme d’exception (Security Exceptionalism)
Dans de nombreuses organisations, la sécurité est considérée comme un « domaine spécial, difficile à comprendre et que seule une poignée d’experts peut traiter ». Cette vision isole les équipes sécurité du processus d’ingénierie et produit notamment les effets indésirables suivants.
- Travail en silo : les responsables sécurité deviennent un goulot d’étranglement du workflow, ou imposent uniquement la conformité réglementaire sans comprendre le contexte de développement.
- Transfert de responsabilité : face à la question « mon code est-il sûr ? », les développeurs ne peuvent pas y répondre eux-mêmes et finissent par dépendre uniquement de l’approbation de l’équipe sécurité.
2. Redéfinir la sécurité comme un problème d’ingénierie
Le texte affirme qu’il faut voir la sécurité non comme une compétence spéciale, mais comme un sous-ensemble de la qualité logicielle et de la fiabilité.
- Les vulnérabilités comme des bugs : la corruption mémoire (Memory Corruption) ou les injections (Injection) sont, avant d’être la cible d’attaques particulières, des défauts de conception liés à un échec de validation des entrées.
- Introduire des métriques opérationnelles : la sécurité doit être pilotée non par la « conformité », mais avec des métriques opérationnelles comme le
MTTD(temps moyen de détection) et leMTTR(temps moyen de rétablissement).
3. La solution : abstraction et garde-fous (Paved Road)
L’essentiel n’est pas que des experts sécurité effectuent chaque revue de code, mais de créer un environnement dans lequel il est « difficile de se tromper » pour les ingénieurs.
- Paramètres par défaut sûrs : appliquer par défaut, au niveau du framework, des protections comme la prévention du XSS afin de réduire la charge cognitive des développeurs.
- Outils en self-service : intégrer l’analyse statique (SAST) et le scan des dépendances dans le pipeline CI/CD afin qu’ils aient un effet immédiat sur le cycle de développement.
Comparatif des concepts clés
| Catégorie | Sécurité traditionnelle (Special) | Sécurité fondée sur l’ingénierie (Not Special) |
|---|---|---|
| Objectif | Blocage parfait et conformité réglementaire | Atténuation des risques et résilience du système |
| Responsable | Équipe sécurité centralisée | Ensemble des équipes d’ingénierie distribuées |
| Outils | Scanners externes, contrôles manuels | Tests automatisés, analyse statique, abstractions de bibliothèques |
| Réponse à l’échec | Enquête sur incident et mise en cause | Amélioration du système via un post-mortem |
Aucun commentaire pour le moment.