Siarhei/stock.adobe.com
Scan de vulnérabilités : l’essentiel sur Snyk
La startup Snyk fait des émules auprès des fournisseurs cloud et des éditeurs avec ses capacités d’analyse et de correction automatique de vulnérabilités dans les applications cloud natives. Cet article brosse le portrait de ses solutions.
Snyk est un éditeur spécialisé dans l’analyse de vulnérabilités dans le code des fichiers de configurations d’infrastructure en passant par celui présent dans les conteneurs et dans les paquets applicatifs. Fondée en 2015, la licorne revendique aujourd’hui une large communauté de 2,2 millions d’utilisateurs.
Pour ce faire, Snyk propose en premier lieu une plateforme cloud, mais la société a divisé son offre en quatre produits : Snyk Open Source, Snyk Code, Snyk Container et Snyk Infrastructure as Code. Dans la plateforme, ils sont tous réunis.
Ces logiciels peuvent détecter les paquets contenant des vulnérabilités et disposent d’une capacité d’autoremédiation. « Depuis le début, nous avons investi pour aider les développeurs à corriger automatiquement les problèmes et nous sommes très heureux que l’industrie suive notre trajectoire » vante Guy Podjarny, président et fondateur de Snyk.
Quatre outils de détection et d’autoremédiation
Snyk Open Source est consacré à la recherche de ces problèmes dans les librairies ouvertes employées par les développeurs. L’outil doit permettre de scanner des paquets (Gradle, Maven, npm, etc.) et des langages de programmation (JavaScript, Java, .NET, Python, Golang, Swift et Objective-C via CocoaPods). Il s’intègre par le biais du CLI de l’éditeur dans un flux Git (GitHub, GitLab, Azure Repos, Atlassian Bitbucket). Une fois lancé, le logiciel détecte les vulnérabilités, les classe par degré de sensibilité et permet de corriger automatiquement les erreurs de sécurité connues. Cette fonctionnalité peut être incorporée dans le cycle de pull requests, afin de s’appliquer au code envoyé dans les dépôts.
Snyk Open Source examine également la licence du projet utilisé afin de s’assurer de l’absence de code propriétaire dans un paquet et de lister les licences employées par les développeurs.
Snyk Code, lui, sert à scanner le code maison des développeurs à la recherche de brèches potentielles. L’analyse statique doit repérer une mauvaise configuration du processus d’authentification ou des occurrences de cross-site scripting, des failles de sécurité permettant d’injecter du contenu dans une page Web. Snyk Code supporte Java, JavaScript et TypeScript et plusieurs frameworks associés (React, Vue.js, Express, Apache Camel, Struts, Spring MVC et JDBC, Jakarta XML Services). L’éditeur promet d’ajouter la prise en charge de C++, Python et PHP.
Le « moteur d’IA », a. k. a les algorithmes employés par Snyk, détecte les mots de passe inscrits en dur, le code non utilisé (dead code), les inférences de type pour les langages dotés de types dynamiques, les plages de valeurs, les flux de données dans les applications, le recours aux API, les flux de contrôle, ou encore les dépassements de mémoire tampon, la présence de null via une analyse point à point.
Quant à Snyk Container, il permet de tester les images Docker et les registres associés au moment de leur création et après. Le programme peut être intégré dans les CLI, les SCM, les outils CI, les registres de conteneurs et Kubernetes. L’outil recherche les possibles failles dans les gestionnaires de paquets (npm, pip, RubyGems), dans les paquets des OS pkg, rpm et apk, dans les logiciels non gérés (OpenJDK, Node.js), et les paquets associés à des manifestes. Il est compatible avec différents OS basés sur Linux (Alpine, Amazon, Debian, Red Hat, SUSE, CentOS, Oracle).
Snyk Infrastructure as Code, lui, analyse les vulnérabilités et les corrige dans les fichiers de configuration JSON et YAML Kubernetes, Helm et Terraform. Ici, un moteur de règles permet de configurer la sensibilité des détections au sein des dépôts Git suivant les paramètres décidés par les administrateurs.
La base de données Intel de Snyk, son atout principal
Mais Snyk est plus connu pour tenir à jour une base de données propriétaire nommée Snyk Intel Vulnerability DB. Celle-ci compile des informations issues des CVE, des NVD et d’autres ressources. L’éditeur prétend surtout avoir mis en place des systèmes de détection de menace en s’appuyant sur les boards Jira, les dépôts GitHub et les espaces communautaires populaires pour reporter des failles inédites.
« Historiquement, les vulnérabilités ont été suivies à travers les bases de données NVD et CVE. Cela ne fonctionne malheureusement pas pour les composants open source. Les mainteneurs des projets corrigent généralement la vulnérabilité, le disent dans les notes de mise à jour, et cela disparaît en quelque sorte dans l’éther de GitHub », juge Guy Podjarny.
« C’est parce qu’ils n’ont pas la connaissance ou la motivation, ou le temps de les signaler comme des CVE. Notre système de renseignement sur les menaces écoute l’activité open source, l’activité de recherche à travers des douzaines de sources différentes, et nous identifions les vulnérabilités candidates, qui sont ensuite transmises à nos analystes qui décident si elles sont réelles ou non, les ajoutent, les enrichissent avec des informations telles que l’existence d’un exploit dans la nature, la gravité et des données supplémentaires et les intègrent dans notre base de données », ajoute-t-il. Les spécialistes de la supervision APM comme New Relic, Datadog, Dynatrace, mais aussi AWS, Docker, Rapid7, Red Hat/IBM, Trend Micro et AWS l’emploient comme source d’information pour leur propre système de détection.
La gestion des licences open source, un risque comme les autres
Et même si ses logiciels, certes accessibles gratuitement sous certaines conditions, sont en grande partie propriétaires, Snyk entend faire profiter de ses services la communauté open source. Il tient plusieurs initiatives en la matière, la première étant la correction des failles trouvées dans les projets. « Les membres de la communauté nous informent d’une vulnérabilité qu’ils ont vue ou qu’ils pensent avoir vue et nous travaillons avec le responsable du logiciel libre pour l’aider à la corriger », affirme Guy Podjarny. Par ailleurs, Snyk contribue à l’OWASP, aux groupes de cybersécurité de la fondation Node et est un partenaire sécurité de la fondation Linux.
L’éditeur a également un autre service gratuit en bêta nommé Snyk Advisor qui aide à trier le bon grain de l’ivraie des paquets open source npm et Pypi (Advisor prendra également en charge les paquets Maven, Go, RubyGems, NuGet). Un score combine la popularité, la maintenabilité, la sécurité et le degré d’activité de la communauté afin d’évaluer la pertinence d’un paquet open source. Snyk s’appuie en partie sur le standard SPDX et adapte à sa manière le mantra du projet open source Clearlydefined mené par Microsoft.
Guy PodjarnyPrésident et fondateur de Snyk
« Notre travail consiste à tenir les développeurs informés des failles de sécurité dans les paquets qu’ils utilisent, mais nous pensons que les problèmes de licence, ainsi que d’autres difficultés liées à la santé des paquets, comme les packages non entretenus ou périmés, font également partie de ce que les développeurs veulent connaître », estime le président de Snyk. « Aussi, nous constatons que dans de nombreuses organisations, la gestion de l’open source inclut à la fois la sécurité et le risque juridique dans le même panier ».
Si la startup défend sa volonté d’aider tous les programmeurs avec un forfait gratuit généreux (les tests effectués sur les projets open source sont gratuits), elle réserve les fonctionnalités les plus avancées à ses clients abonnés aux services Pro et Enterprise.
Cette approche semble séduire les investisseurs. Le 10 mars 2021, l’éditeur basé à Boston a annoncé une levée de fonds de 300 millions de dollars en séries E conduite par Accel et Tiger Global avec Alkeon Capital Management, Atlassian Ventures, Franklin Templeton, Geodesic Capital, Sands Capital Ventures et Temasek. Les investisseurs existants Coatue GV (ex-Google Ventures), Salesforce Ventures, Stripes, Addition, Boldstart Ventures, Canaan Partners et BlackRock sont également de la partie. Au total, l’entreprise a levé 470 millions de dollars, ce qui porte sa valorisation à 4,7 milliards de dollars. Ping Li, partenaire chez Accel, et Michael Scarpelli, Chief Finance Officer de Snowflake, prennent place au conseil d’administration de Snyk.
Guy Podjarny assure que la société souhaite poursuivre le développement de ses logiciels, étendre son empreinte en Asie Pacifique et au Japon. En Europe, Deliveroo, Pearson, Ocado, Asos, Revolut et Helvetia sont clients de Snyk. En France, Voodoo et BlaBlaCar emploient ses outils. La startup prévoit par ailleurs de gonfler son écosystème de partenaires et de revendeurs dans la région.