In this article
Mettre en place des politiques de sécurité des applications au service d’un développement sécurisé
Qu’est-ce qu’une politique de sécurité des applications ?
Une politique de sécurité des applications définit les limites acceptables en matière de sécurité et de protection dans lesquelles les développeurs d’applications et les équipes de sécurité peuvent travailler lors de la création de logiciels, souvent en s’appuyant sur des solutions de sécurité des applications dotées de fonctionnalités de gestion des politiques. Lorsqu’une politique de sécurité logicielle définit automatiquement et systématiquement ces limites avant le début du travail, elle fournit des informations essentielles à l’efficacité du processus de développement des applications.
Aucune politique de sécurité des applications ne convient à toutes les organisations. Les politiques AppSec doivent être adaptées à la taille et au modèle économique de votre organisation. Il est donc nécessaire d’élaborer des politiques efficaces qui respectent les bonnes pratiques établies en matière de sécurité des applications, tout en définissant des niveaux de protection adaptés contre les vulnérabilités et en déterminant quelles applications tierces et quels composants open source utiliser. Outre les préférences de l’organisation, vous devez suivre de près des normes telles que l’OWASP Top 10.
Même en tenant compte de tous ces facteurs, il peut être difficile d’établir des politiques AppSec qui concilient efficacement protection et performance. Les informations présentées ici vous aideront à établir des politiques de sécurité d’entreprise qui réduisent les vulnérabilités et permettent aux développeurs de continuer à publier des logiciels innovants.
Pourquoi une politique de sécurité des applications est-elle importante ?
Le développement logiciel a changé. Les déploiements rapides sont devenus la norme, et de nombreuses équipes DevOps s’appuient largement sur le code open source pour mener à bien leurs projets. Ce nouvel environnement de déploiement découle en grande partie de la mise en place de processus CI/CD au sein des entreprises, en particulier des grandes entreprises.
Dans cet environnement d’entreprise au rythme effréné, une simple erreur de configuration peut être à l’origine de vulnérabilités. Le rapport de Snyk sur l’état de la sécurité des applications cloud native a révélé que les deux principales causes d’incidents de sécurité étaient les erreurs de configuration (45 %) et les vulnérabilités connues non corrigées (38 %).

Une étude récente a révélé que, sur 85 000 applications analysées, 83 % contenaient au moins une faille de sécurité. Parmi celles-ci, 20 % présentaient une vulnérabilité grave. Même si toutes ces vulnérabilités ne représentent pas un risque majeur pour la sécurité, les pirates continuent d’affiner leurs attaques et de trouver des moyens ingénieux de pénétrer dans les logiciels.
Les politiques de sécurité des applications définissent des limites qui contribuent à prévenir les vulnérabilités.
Le coût des vulnérabilités
En 2017, Equifax utilisait une version obsolète de la bibliothèque Java Apache Struts, ce qui a permis à des intrus de pénétrer dans son système. Cette attaque tristement célèbre a exposé les données personnelles de 143 millions d’utilisateurs et entraîné un recours collectif qu’Equifax a réglé pour 380,5 millions de dollars.
Si le cas d’Equifax est un exemple extrême d’exploitation de vulnérabilité, toute faille de sécurité a des conséquences néfastes pour l’entreprise. Nombre d’entre elles ne se remettent jamais d’incidents de sécurité dévastateurs. C’est pourquoi les politiques de sécurité des applications sont essentielles, en particulier pour les entreprises qui traitent des données hautement sensibles (par exemple, les institutions financières, les organismes publics et les entreprises du secteur de la santé).
En créant des politiques de sécurité des applications, les entreprises commencent à mettre en place un programme AppSec qui définit la manière dont les développeurs peuvent traiter les vulnérabilités de façon proactive à chaque étape du cycle de vie du développement logiciel (SDLC). Toutefois, sans réflexion approfondie ni intégration aux processus, ces politiques peuvent être source de frustration.
Intégrer la « conformité en tant que code » à votre politique AppSec
Les entreprises adoptent des pratiques DevOps pour accélérer le développement et gagner en agilité. Les programmes AppSec doivent soutenir ces objectifs en élaborant des politiques de sécurité des applications qui concilient protection et performance, afin de maintenir le rythme de développement.
Des politiques de sécurité des applications inefficaces font perdre un temps précieux aux développeurs, qui doivent réécrire du code, et submergent les équipes de sécurité d’alertes, de notifications et de tickets de correction. Au final, ces politiques ralentissent le développement et exposent les entreprises à des risques accrus. À l’inverse, des programmes de sécurité des applications efficaces peuvent être mis en œuvre sans perturber les flux de travail DevOps et tout en donnant plus de moyens aux développeurs. Ces cadres efficaces intègrent des politiques sous forme de code au cycle de vie du développement logiciel (SDLC), favorisant ainsi le développement continu.
Qu’est-ce que la conformité en tant que code ?
La conformité en tant que code (ou Policy as Code) automatise les processus de sécurité à l’aide d’outils efficaces intégrés à DevOps. Elle réduit les risques d’erreur humaine en éliminant les étapes manuelles et chronophages. Ces outils de sécurité automatisés, régis par la politique de sécurité des applications, font partie intégrante du processus de développement.
Pendant la phase de build, par exemple, les développeurs peuvent utiliser des outils d’analyse automatisés qui détectent les vulnérabilités connues et les corrigent avant le déploiement. Après le déploiement, des outils de surveillance automatisés peuvent signaler aux équipes AppSec tout nouveau risque détecté en production. Pour mettre en œuvre une approche de conformité en tant que code, les politiques de sécurité des applications doivent préciser les outils à inclure ainsi que les types de vulnérabilités et de risques à corriger.
Les politiques de conformité en tant que code, ou de conformité pilotée par les tests, sont utilisées par de grandes entreprises du logiciel comme Google, pour faciliter le processus de build et garantir la poursuite de l’innovation dans un environnement sécurisé. Ces processus garantissent :
Des rapports normalisés et de la transparence
Des explications en cas d’échec
L’indépendance des tests de contrôle
Une intégration facile aux processus CI/CD
Lancez-vous dans les compétitions Capture The Flag
Apprenez à résoudre des défis Capture The Flag en regardant à la demande notre atelier virtuel d’initiation.
7 éléments d’une politique de sécurité des applications efficace
Aucune politique ne pouvant convenir à toutes les entreprises, il est essentiel que les politiques AppSec définissent clairement les outils, les contrôles et les systèmes requis en matière de sécurité. Ainsi, la sécurité couvre à la fois la technologie et les processus, et les relie de manière transparente.
Les entreprises doivent également prendre en compte les éléments suivants pour établir des politiques de sécurité des applications efficaces.
Historique des menaces - Déterminez quelles menaces et vulnérabilités ont eu les conséquences les plus graves dans votre environnement technologique. Cela vous permettra de définir un socle de référence.
Priorisation des vulnérabilités - La politique doit définir des critères communs pour distinguer les risques élevés, moyens et faibles. Vous pourrez ainsi déterminer quelles vulnérabilités doivent être traitées et lesquelles doivent être signalées pour examen.
Correction et atténuation - Étroitement liées à la priorisation des vulnérabilités, elles apportent des précisions supplémentaires. Qui détermine les vulnérabilités à corriger ? À quel moment du processus de développement faut-il corriger une vulnérabilité ? Certains risques sont-ils acceptables ?
Processus - Les politiques de sécurité des applications doivent définir le processus d’application des mesures de sécurité au code applicatif. Par exemple, votre entreprise utilisera-t-elle le SAST et le DAST ?
Rôles et responsabilités- La politique doit préciser qui est responsable de la sécurité des applications et à quelles étapes du SDLC.
Outils spécifiques - La plupart des entreprises utilisent des outils d’automatisation de la sécurité ; la politique doit préciser quels outils seront employés et à quelle étape du SDLC.
Surveillance - Les vulnérabilités des applications sont souvent découvertes et exploitées après la mise en production du code. Une politique efficace définit la manière dont les applications déployées seront surveillées et s’appuie sur les priorités définies ci-dessus pour déterminer les mesures correctives.
Des politiques efficaces pour un développement efficace
Une politique de sécurité des applications claire établit un cadre qui donne aux équipes AppSec et aux développeurs les outils et les limites dont ils ont besoin pour avoir confiance dans leurs logiciels et leurs processus. Une sécurité des applications robuste n’est ni une réflexion après coup ni un outil ajouté à la hâte. C’est un processus bien conçu, qui accompagne le rythme de votre organisation et inspire confiance à vos clients. Les politiques de sécurité des applications définissent la manière dont votre organisation développe du code de qualité.