Le défi : éliminer les goulots d’étranglement générés par le traitement manuel des vulnérabilités du code open source
Natera suivait de nombreuses pratiques de sécurité, mais ses procédures imposaient aux développeurs de vérifier des pages et des pages de faux positifs. Pour prospérer, l’entreprise doit pouvoir générer rapidement des informations à partir de ses données. Elle a donc lancé une refonte de ses pratiques afin d’automatiser la sécurité des applications et l’assurance qualité au sein du cycle du développement logiciel (SDLC). Pour atteindre cet objectif, elle avait besoin de nouveaux outils assurant la découverte et la gestion des vulnérabilités dans son code open source, son code interne, son infrastructure et ses conteneurs. Avec une équipe de plus de 200 développeurs travaillant sur différents projets, Natera devait déployer une approche DevSecOps complète, que ses différentes équipes pourraient adopter sans difficulté.
« Nous étions sur des revues de code manuelles. Nous recevions une pull request et essayions d’affecter des ressources aux problèmes. La sécurité nous ralentissait », explique Charlotte Townsley, la directrice de la sécurité de Natera. « Je voulais faire en sorte de normaliser la sécurité. La sécurité devait être intégrée dans la conception et adoptée par les ingénieurs tout au long du cycle du développement logiciel. Il nous fallait donc muscler la collaboration, la sensibilisation à la sécurité, les compétences et les outils. Ce changement de cap allait générer beaucoup de valeur pour l’entreprise. »
La solution : déployer la sécurité sur l’ensemble du processus de développement des applications
Dans sa quête d’une solution, Natera s’est penchée sur plusieurs produits, parmi lesquels Snyk, SonarQube, Blackduck et Veracode. Son évaluation a montré que la plateforme de sécurité des applications natives du cloud de Snyk était le produit le plus axé sur les développeurs, le plus utile et le plus facile à mettre en œuvre, et permettait une adoption transparente et une intégration rapide. En effet, elle permet aux développeurs de prendre la responsabilité de la sécurité pour l’ensemble de leur application, du code aux dépendances open source en passant par les conteneurs et l’infrastructure cloud.
« Nous avons choisi Snyk pour sa cohérence avec le fonctionnement et les objectifs de notre entreprise », détaille Charlotte Townsley. « C’est un produit bien pensé, facile à utiliser et qui ne pose aucun problème aux ingénieurs. La suite a été pensée pour examiner les dépendances, le code personnalisé, les conteneurs et l’infrastructure en tant que code. Elle prend tout en compte. »
Snyk Code permet de corriger les vulnérabilités dès le début du développement
Natera voulait s’assurer que toute son équipe de développement se sentirait responsable de la sécurité. Pour concrétiser cette vision, elle avait besoin de tests de sécurité des applications statiques pour mettre au jour les vulnérabilités le plus tôt possible dans le workflow. Natera a remarqué que les outils SAST de la concurrence étaient handicapés par des analyses trop longues et une précision insuffisante. A contrario, Snyk Code est pensé pour suggérer des correctifs efficaces et exploitables à mesure que les développeurs rédigent leur code dans leur interface native, avant le déploiement.
« Nous n’avons pas hésité longtemps. Nous avons examiné plusieurs autres outils, mais aucun n’offrait le même type d'analyse, en tout cas pas avant le déploiement ou le pré-déploiement. Snyk était incomparable. »
Intégration à l’IDE pour une sécurité du code open source et personnalisé
Avec le plugin de Snyk avec l’IDE IntelliJ de JetBrains, l’équipe de sécurité de Natera a pu intégrer la sécurité en toute transparence dans ses workflows de développement. Snyk analyse nativement les dépôts des développeurs au sein de leur environnement préféré pour détecter les vulnérabilités du code source de leur application et des dépendances Java open source. En analysant et validant le code à mesure qu’ils l’écrivent, les développeurs sont en mesure de repérer les problèmes rapidement pour les corriger efficacement, au plus tôt et par eux-mêmes.
« Je voulais que chacun voie la sécurité comme une partenaire, un assistant de travail utile », explique Charlotte Townsley. « La détection précoce dans le cycle de vie reflète parfaitement cette vision. D’abord avec l’implémentation dans l'IDE, puis avec l’intégration aux référentiels. Cela nous aide à mieux cerner le contexte des failles de sécurité dans nos dépendances, et donc à prendre des décisions éclairées. »
Snyk Container permet aux développeurs de corriger sans délai des vulnérabilités critiques
Comme Natera utilise des composants applicatifs conteneurisés, l’équipe de développement dispose de nombreuses images de conteneur en production. Les vulnérabilités touchant les conteneurs peuvent mettre en péril la conformité aux réglementations de santé. L’équipe de sécurité voulait donc empêcher les développeurs d’utiliser certaines images dans le registre. Dans cette optique, elle a choisi Snyk Container pour bloquer les images indésirables et corriger les vulnérabilités des conteneurs déjà approuvés.
« J’ai vraiment apprécié que l’analyse des conteneurs puisse s’effectuer avant la mise en production », affirme Charlotte Townsley. « Personne ne prêtait attention aux vulnérabilités des conteneurs, cela a été une prise de conscience pour l’organisation. Nous disposons à présent d’une meilleure connaissance de ces vulnérabilités et d’une automatisation plus performante. En outre, cela correspond mieux à l’état d’esprit d’amélioration de la qualité que les équipes d’ingénieurs ont dans leurs pratiques CI/CD. »
Snyk IaC donne plus de visibilité sur les dépôts
L’infrastructure en tant que code formait la dernière pièce du puzzle DevSecOps de Natera. Natera fournit et protège des données en lien avec des résultats ADN et s’appuie sur plusieurs configurations d’infrastructure pour ses applications. Snyk IaC permet aux développeurs de sécuriser leurs configurations et d’intégrer les meilleures pratiques dans leurs workflows. Cette approche de déploiement des produits Snyk suit l’objectif de Natera, qui souhaite intégrer les bases de sécurité dans tout son cycle de développement.
« Nous voulions assurer une couverture complète pour détecter les problèmes pouvant aboutir à des vulnérabilités d’infrastructure dans l’environnement d’exécution », explique Charlotte Townsley. « Ces problèmes n’étaient jusque-là même pas examinés manuellement. Snyk nous a permis de bénéficier d’une visibilité sur les différents dépôts IaC.»
L’impact : examen de l’ensemble des vulnérabilités de sécurité
Natera a pu déployer des processus et politiques de sécurité qui limitent au maximum les interruptions du travail des développeurs. Snyk s’intègre à son processus de développement et permet de hiérarchiser les vulnérabilités pour accélérer la correction. Natera bénéficie désormais d’une visibilité complète et produit des logiciels de meilleure qualité, sans avoir dû sacrifier les délais de commercialisation des fonctions innovantes que ses clients attendent.
« Snyk a eu un impact important sur notre entreprise. Nos processus précédents n’avaient vraiment rien à voir. Le fait de disposer d’un outil capable d’examiner l’ensemble des vulnérabilités possibles dans notre code personnalisé, nos dépendances, nos conteneurs et notre IaC est totalement inédit pour nous. »
Mise en conformité du code sans friction
Depuis le déploiement de la plateforme Snyk, Natera est capable de faire le lien entre les informations recueillies et des politiques de sécurité spécifiques, et prouver de manière irréfutable sa recherche active de violations potentielles. Cette piste d’audit est essentielle pour assurer sa conformité aux réglementations applicables au secteur de la santé, ainsi qu’aux lois sur la confidentialité de type FDA, HIPAA et SOC 2.
« Nous avons tous été impressionnés par la capacité de Snyk Code à répondre aux exigences de qualité de la FDA », se réjouit Charlotte Townsley. « Nous avons des ambassadeurs très actifs, qui trouvent la solution très facile à utiliser et bien plus rapide. Plus important encore, à la différence de nombreux outils qui génèrent des pages et des pages de faux positifs, Snyk va vite et signale de vrais problèmes. »
Automatisation pour supprimer toutes les vulnérabilités des applications
Natera a déployé Snyk pour l’ensemble de son équipe, mais s’est concentrée sur la formation de 40 ambassadeurs de la sécurité qui mènent ses efforts. L’entreprise compte former les autres membres de l’équipe rapidement. Avec Snyk, ces ambassadeurs et l’équipe de sécurité ont pu mettre en place une approche de la sécurité centrée sur le développement sans ralentir le déploiement. Les outils automatisés de la plateforme détectent les vulnérabilités de sécurité avant la fusion du code, de sorte que les équipes techniques de Natera savent que la sécurité du code a été validée avant que l’application n’arrive dans un environnement de pré-déploiement ou de production.
« Nous avons fait de Snyk un processus que nous comptons bien automatiser », révèle Charlotte Townsley. « Nous voulons bloquer totalement les vulnérabilités. Nous voulons faire en sorte de passer sur une approche 100 % DevSecOps. Bientôt, nous aurons finalisé les derniers détails et nous arriverons sur des processus parfaitement adaptés, bien différents des processus manuels et incohérents dont nous disposions avant Snyk. »