Le défi : les vulnérabilités open source créaient un goulot d’étranglement lié aux contrôles de sécurité manuels
Natera avait mis en place de nombreuses pratiques de sécurité, mais les développeurs devaient passer manuellement au crible des pages de faux positifs. La capacité à obtenir rapidement des informations fondées sur les données est essentielle à la réussite de l’entreprise. Natera cherchait donc à adopter de nouvelles pratiques de sécurité pour automatiser la sécurité des applications et l’assurance qualité tout au long du cycle de vie du développement logiciel (SDLC). Il lui fallait de nouveaux outils pour détecter et gérer les vulnérabilités dans son code open source, son code personnalisé, son infrastructure et ses conteneurs. Avec plus de 200 développeurs travaillant sur plusieurs projets, Natera avait besoin d’une approche DevSecOps complète, facile à déployer dans toutes les équipes.
« Nous effectuions des contrôles manuels. Nous recevions la pull request, puis nous essayions d’affecter des personnes aux problèmes. La sécurité était un véritable goulot d’étranglement », explique Charlotte Townsley, directrice de l’ingénierie de la sécurité chez Natera. « Je voulais renforcer et normaliser notre préparation en matière de sécurité. Nous avions besoin d’une sécurité pensée dès la conception et adoptée par l’ensemble des équipes d’ingénierie tout au long du SDLC. Il nous fallait donc améliorer la collaboration, la sensibilisation, les compétences et les outils. Cela apporterait beaucoup de valeur à l’entreprise. »
La solution : intégrer la sécurité à l’ensemble du processus de développement des applications
Dans sa recherche d’une solution, Natera a évalué plusieurs produits, dont Snyk, SonarQube, Blackduck et Veracode. L’évaluation a montré que la plateforme de sécurité des applications cloud native de Snyk était la plus adaptée aux développeurs, la plus utile et la plus concrète, permettant une adoption fluide et une intégration rapide. La plateforme permet aux développeurs de prendre en charge la sécurité de l’application dans son ensemble, du code et de l’open source aux conteneurs et à l’infrastructure cloud.
« Nous avons choisi Snyk parce que la solution correspond à notre organisation et à nos objectifs », explique Townsley. « Elle est bien conçue, facile à utiliser et simple à prendre en main pour l’équipe d’ingénierie. La suite est bien pensée pour analyser les dépendances, le code personnalisé, les conteneurs et l’infrastructure as code. Tout y est. »
Snyk Code permet de corriger les vulnérabilités dès les premières étapes du développement
Natera souhaitait que toute l’équipe de développement puisse prendre en charge la sécurité. Pour concrétiser cette vision, il fallait mettre en place des tests statiques de sécurité des applications (SAST) afin de sensibiliser les équipes aux vulnérabilités le plus tôt possible dans le workflow. Natera a constaté que les autres outils SAST étaient limités par des analyses longues et peu précises. Snyk Code, en revanche, fournit des recommandations efficaces et concrètes pour corriger les vulnérabilités pendant que les développeurs écrivent du code dans leur environnement habituel, avant le déploiement.
« La décision a été facile à prendre. Nous avons examiné quelques autres outils, mais je n’ai rien trouvé qui nous offre le même type d’analyse sans attendre le déploiement ou la phase de pré-déploiement. Je n’ai tout simplement rien trouvé de comparable. »
Intégrer la sécurité du code personnalisé et open source à l’IDE
Grâce au plug-in Snyk pour l’IDE JetBrains IntelliJ, l’équipe de sécurité de Natera a pu intégrer facilement la sécurité aux workflows d’ingénierie. Directement dans l’environnement de prédilection des développeurs, Snyk analyse les dépôts de l’équipe d’ingénierie afin de détecter les vulnérabilités dans le code source des applications et les dépendances open source Java. En analysant et en validant leur code au fur et à mesure qu’ils l’écrivent, les développeurs repèrent les problèmes dès le début du processus de build et peuvent les corriger eux-mêmes rapidement et efficacement.
« Je veux que tout le monde considère la sécurité comme un partenaire qui lui donne les moyens d’agir », explique Townsley. « Et l’intégrer tôt dans le cycle de vie permet vraiment d’y parvenir. Nous commençons donc par la mise en place dans l’IDE, puis nous intégrons la solution aux dépôts. Cela nous aide à comprendre le contexte des vulnérabilités de sécurité dans nos dépendances et à prendre des décisions éclairées. »
Snyk Container a permis aux développeurs de corriger immédiatement les vulnérabilités critiques
Natera s’appuyant sur des composants d’application conteneurisés, son équipe d’ingénierie utilise de nombreuses images de conteneurs en production. Les vulnérabilités des conteneurs pouvaient compromettre la conformité aux réglementations du secteur de la santé. L’équipe de sécurité souhaitait donc empêcher les développeurs d’utiliser certaines images du registre. Elle a choisi Snyk Container pour bloquer les images indésirables et corriger les vulnérabilités dans les conteneurs approuvés.
« J’étais vraiment ravie de pouvoir analyser les conteneurs avant leur exécution en production », explique Townsley. « Les vulnérabilités des conteneurs n’attiraient pas l’attention, et cela a été une véritable révélation pour l’entreprise. La solution renforce réellement la sensibilisation à ces vulnérabilités et permet d’automatiser davantage. Elle s’inscrit mieux dans la démarche d’amélioration de la qualité que les équipes d’ingénierie appliquent à leurs pratiques CI/CD. »
Snyk IaC offre une meilleure visibilité sur les dépôts
L’infrastructure as code était la dernière pièce du puzzle DevSecOps de Natera. Pour fournir et protéger les informations issues des résultats ADN, Natera s’appuie sur plusieurs configurations d’infrastructure pour prendre en charge ses applications. Snyk IaC permet aux développeurs de sécuriser leurs configurations et d’intégrer les bonnes pratiques à leurs workflows. Le déploiement progressif des produits Snyk répondait à l’objectif de Natera : intégrer les fondements de la sécurité à l’ensemble du cycle de développement.
« Nous voulions une couverture complète pour repérer les problèmes susceptibles d’entraîner des vulnérabilités dans l’infrastructure à l’exécution », explique Townsley. « Ces éléments ne faisaient même pas l’objet de contrôles manuels. Snyk nous a donc permis d’avoir une excellente visibilité sur tous nos dépôts IaC. »
Les résultats : examiner l’ensemble des vulnérabilités de sécurité
Natera a pu mettre en place des processus et des politiques de sécurité qui perturbent le moins possible le travail des développeurs. Snyk s’intègre au processus de build et aide à prioriser les vulnérabilités pour accélérer leur correction. Natera bénéficie ainsi d’une visibilité complète et d’une meilleure qualité logicielle, sans retarder la mise sur le marché des fonctionnalités innovantes attendues par ses clients.
« Snyk a eu un impact considérable sur notre entreprise. Avant, nous ne faisions rien de comparable. Disposer d’un outil qui couvre tout l’éventail des vulnérabilités de sécurité dans notre code personnalisé, nos dépendances, nos conteneurs et notre IaC, c’est comme découvrir un buffet auquel personne ici n’avait jamais goûté. »
Assurer la conformité du code sans friction
Depuis le déploiement de la plateforme Snyk, Natera peut désormais relier les informations collectées à des politiques de sécurité précises et disposer de preuves irréfutables des analyses effectuées pour détecter d’éventuelles violations. Cette piste d’audit est essentielle pour maintenir la conformité aux réglementations du secteur de la santé et aux lois sur la confidentialité des données, notamment celles de la FDA, HIPAA et SOC 2.
« Nous avons tous été impressionnés par la capacité de Snyk Code à répondre aux exigences du système qualité de la FDA », explique Townsley. « Nous avons des ambassadeurs très engagés qui trouvent la solution facile à utiliser et beaucoup plus rapide. Surtout, contrairement à d’autres outils qui génèrent des pages de faux positifs, Snyk va vite et met en évidence de vrais problèmes. »
Automatiser pour éliminer complètement les vulnérabilités des applications
Natera a déployé Snyk auprès de toute l’équipe et se concentre sur l’accompagnement de 40 ambassadeurs de la sécurité qui pilotent ces efforts et formeront bientôt les autres membres de l’équipe. Avec Snyk, les ambassadeurs et l’équipe de sécurité de Natera ont adopté une approche de la sécurité centrée sur l’ingénierie, sans ralentir les déploiements. Les outils automatisés de la plateforme détectent les vulnérabilités avant la fusion du code, afin que les équipes d’ingénierie de Natera sachent que la sécurité a été validée avant que l’application n’atteigne les environnements de préproduction ou de production.
« Nous avons intégré Snyk à nos processus et nous évoluons vers l’automatisation », explique Townsley. « Nous nous dirigeons vers le blocage systématique des vulnérabilités. Nous voulons parvenir à faire du DevSecOps partout. Bientôt, nous aurons ajusté les paramètres pour que la solution fonctionne très bien pour nous, au lieu de recourir aux processus incohérents et manuels que nous utilisions avant Snyk. »
