open search menuopen langage menutoggle menu
Actualités t3://page?uid=116

Penser la sécurité des applications sur l'ensemble de leur cycle de vie via le DevSecOps

La prolifération des cyberattaques, toujours plus sophistiquées, a motivé tous les secteurs d’activités à adopter et adapter continuellement leurs politiques de sécurité informatiques. Dans le cas précis de la sécurité applicative, un jalon supplémentaire analysant les vulnérabilités des produits finis, est généralement instauré à la clôture des cycles de développement.

Cette approche qui attend le retour des équipes spécialisées en sécurité, crée souvent des goulots d’étranglement et engendre un coût croissant de la correction des vulnérabilités.

Une étude du NIST et de Ponemon Institute (1) démontre que plus une faille de sécurité est détectée tard dans le cycle de vie de l’application, plus il est coûteux de la corriger, avec un écart de pratiquement 1 à 100 entre la phase de développement et la correction en phase de maintenance. Ainsi, l’impact global sur le time-to-market et la cherté de l’approche de conformité classique pourrait contraindre les systèmes d’informations à négliger la sécurité applicative au profit de la rapidité de déploiement. 

En effet, et en dépit des rapports alarmants sur les cyberattaques qui se succèdent, les chiffres sur les vulnérabilités applicatives ne semblent pas en amélioration.  Selon le Hacker Report 2021, les hackers éthiques de HackerOne (2), plateforme de Bug Bounty internationale, ont signalé 50 000 vulnérabilités en 2020, un chiffre en augmentation de 63 % par rapport à 2019. 

L’étude annuelle sur 130’000 applications actives scannées " State of Software Security 2021" de Veracode (3) n’est guère plus optimiste que les précédentes années : 76% des applications souffrent de défauts de sécurité dont 24% présentant des failles critiques.  

Finalement et selon Bugcrowd (4) , le constat est similaire. Les vulnérabilités de type Cross-site Scripting (XSS) demeurent une menace majeure pour les applications web, permettant aux attaquants de dérober des informations personnelles. Les injections SQL dues aux mauvaises configurations, ont augmenté de 310 % sur S1 2021. 

Dès lors, comment garantir la protection des applications sans nuire aux exigences de qualité, de la maitrise des coûts et de la rapidité des déploiements ? 

DevOps, DevSecOps ou encore Security by design sont des termes de plus en plus cités lorsqu’on évoque aujourd’hui l’ingénierie logicielle ou les cycles de vie de développement d'applications modernes. 

Avec le DevOps, les équipes en charge du développement applicatif et celles veillant sur les opérations s’étaient déjà rapprochées depuis quelques années. Il a été possible de mettre en œuvre des cycles d’intégration continue s’appuyant fortement sur l’automatisation pour répondre aux besoins de l’agilité.  

Dans l’optique du DevSecOps, le développement et les opérations doivent apprendre à travailler avec les acteurs en charge de la sécurité suivant une approche intégrée et ce en activant les mêmes piliers du DevOps : Organisationnel, culturel et technologique. 

Les questions relatives à la sécurité sont à adresser dès l’entame, voire en amont d’un projet ou d’un nouveau cycle de développement, au moment même de la conception de l’architecture applicative. On parle de security by design qui vise à minimiser les retours en arrière. On peut, grâce à ces concepts, mieux appréhender les aspects liés au risque cyber et surtout, mettre sur pied un cycle automatisé, itératif et réutilisable réduisant les goulots d’étranglements.  

D’une manière générale, la mise sur pied du DevSecOps repose sur plusieurs leviers : 

  • Le durcissement des pipelines : Déployer et maintenir les outils de sécurité adaptés aux équipes de développement. Ces outils sont capables d'identifier le code vulnérable au fur et à mesure de son écriture. La production et l’analyse du code s’effectuent par petits morceaux pour faciliter la détection des non-conformités plus rapidement et le plus tôt possible, 

  • La gestion de la configuration – Infra as code : Améliorer la gestion de l’infrastructure applicative en automatisant les configurations des systèmes (provisionnement basé sur les images, gestion des ports, activation des protocoles, configuration des paramètres de groupe de sécurité). Cette technique facilite la mise en place du parc applicatif et automatise sa mise à niveau en adéquation avec les évolutions des mesures de conformité. 

  • La formation à la sécurité : Investir dans la formation des développeurs et des opérations sur la sécurité des applications entraînerait des avantages à long terme dans la mise en place d'une culture DevSecOps. 

  • Le Sponsorship fort : Un engagement fort des directions est incontournable dans la mise en route du DevSecOps. L’implication du management adresse les obstacles dus à la différence des objectifs et de la culture des équipes concernées. 

  • La définition du point de départ, l’avancement par petits pas : A l’instar du DevOps, le DevSecOps est une approche itérative, laissant le temps à la culture d’évoluer sereinement et continuellement. Pour aider les entreprises à amorcer la transformation, une équipe de sécurité IT, composée par des experts Google, Salesforce, Slack et Okta, ont publié en OCTOBRE 2022, une checklist « Minimum Viable Secure Product » (MVSP). Il s’agit d’une base de référence énumérant les exigences de sécurité minimales et acceptables pour les développements de logiciels. Cette base met en évidence quelques techniques DevSecOps dont le déclenchement systématique des scans de vulnérabilités, la protection des données et la sécurisation des sauvegardes. 

L’introduction de la sécurité « à priori » et non plus « à posteriori » a donné naissance au DevSecOps au milieu de la décennie précédente. Depuis, l’approche connait une adoption croissante. Selon Gartner, la taille du marché évaluée à 1,5 milliards de dollars en 2019, dépassera les 6 milliards en 2023 concernant les outils liés à ce domaine.  

Mais, il est important de souligner que le concept nécessite bien plus que des outils et de l’automatisation. Mettre l’accent sur l’aspect technologique est nécessaire mais pas suffisant. Il est primordial d’édifier un contexte vertueux qui alimente la culture DevSecOps en favorisant le partage des bonnes pratiques et des enjeux entre les équipes concernées. Il faudra s’assurer que ce contexte soit continuellement nourri et placé au centre des programmes de transformation de la sécurité.  

 

Références :  

(1) NIST : La National Institute of Standards and Technology, est une agence du département du Commerce des États-Unis. Elle a développé le NIST CYBERSECURITY FRAMEWORK, aidant les organisations à mieux comprendre et améliorer leurs gestions des risques de cybersécurité 

Ponemon Institute :  fondé en 2002 par le Dr Larry Ponemon. Basé dans le Michigan, Ponemon Institute est considéré comme le centre de recherche prééminent dédié à la politique de confidentialité, de la protection des données et de la sécurité de l’information. 

(2) HackerOne est une plate-forme de coordination des vulnérabilités et de primes de bogues qui met en relation les entreprises avec des testeurs d' intrusion et des chercheurs en cybersécurité. En mai 2020, le réseau de HackerOne avait payé 100 millions de dollars en primes. 

(3) Veracode est une société de sécurité des applications basée à Burlington, Massachusetts. Fondée en 2006, la société fournit une solution de sécurité des applications SaaS qui intègre l'analyse des applications dans les pipelines de développement. 

(4) Bugcrowd est une plateforme de sécurité participative. Fondée en 2011, elle est l'une des plus grandes sociétés de divulgation de bugs et de vulnérabilités sur Internet. Bugcrowd a une liste notable de clients, notamment Tesla , Atlassian , Fitbit , Square , Mastercard, Ebay et Amazon.