GitHub de Microsoft annonce l'acquisition de Semmle,
un outil d’analyse de code qui permet de détecter des failles de sécurité potentielles

GitHub de Microsoft a annoncé avoir fait l’acquisition de Semmle, un outil d’analyse de code permettant aux développeurs et aux chercheurs en sécurité de découvrir les vulnérabilités potentielles de leur code. Semmle simplifie considérablement les tests de sécurité et offre un langage de requête qui permet aux chercheurs de tester leur code à l’aide du moteur d’analyse du service. Au fil du temps, l’équipe GitHub prévoit d’intégrer étroitement Semmle dans le flux de travail GitHub.

GitHub n'a pas révélé le prix de l'acquisition, mais Semmle, qui avait été initialement créée à partir d’un projet de recherche de l’université d’Oxford, a officiellement été lancée l'année dernière avec un tour de table de série B de 21 millions de dollars dirigé par Accel. Au total, la société a collecté 31 millions de dollars avant cette acquisition.

Le petit mot de Semmle

Oege de Moor, fondateur et PDG de la société, a commenté cette acquisition en ces termes :

« Au début de Semmle en 2006, nous avons eu l’idée de faire des requêtes sur le code source comme sur n’importe quel autre type de données. À l'époque, il semblait impossible d'appliquer cette idée en profondeur et à grande échelle, et les gens nous l'ont dit en termes clairs. Cependant, grâce à notre équipe formidable, notre vision du "code en tant que données" est devenue un produit utilisé par Google, Uber, Microsoft et de nombreux projets open source pour améliorer la sécurité. Au cours de la dernière année seulement, nous avons doublé le nombre de clients et multiplié par dix l'utilisation du code source libre.

« En rejoignant GitHub, nous franchissons une nouvelle étape dans la modification du développement des logiciels, permettant à chaque développeur de bénéficier de l'expertise des plus grands chercheurs en sécurité du monde. Je ne peux pas imaginer une reconnaissance plus appropriée du travail acharné de notre équipe, ni une meilleure occasion de réaliser le plein potentiel de la vision et de la technologie ».

Nom : sem.png
Affichages : 1094
Taille : 107,3 Ko

Plus loin, il précise que :

« Chez Semmle, nous visons à sécuriser les logiciels, ensemble. Les chercheurs en sécurité découvrent et étudient de nouvelles vulnérabilités pour diagnostiquer les conditions qui ont rendu le code vulnérable. Ils expriment ces conditions sous forme de simples requêtes sur le code. Ces requêtes peuvent être partagées et affinées, ce qui facilite la collaboration et élimine toute une classe de vulnérabilités. Les développeurs voient les résultats de ces requêtes directement dans les revues de code, s'assurant ainsi qu'une fois le diagnostic posé, un nouveau type de vulnérabilité est éradiqué à jamais. Les développeurs travaillent avec des chercheurs en sécurité pour affiner les requêtes, créant ainsi un cycle vertueux d’analyses toujours plus approfondies et de corrections de vulnérabilités. En conséquence, les consommateurs d’open source disposent de structures plus sûres et dignes de confiance.

« Tout cela se passe aujourd'hui, mais à une échelle modeste. Une véritable adoption signifie que chaque CVE est livré avec une requête Semmle. Toutes ces requêtes sont partagées en open source, continuellement affinées et étendues par la communauté. Chaque engagement sur chaque projet open source est analysé avec cet ensemble de requêtes regroupées. Ensemble, les responsables de la maintenance et les chercheurs en sécurité rendent l'ensemble de l'écosystème beaucoup plus sûr qu'auparavant.

« Le foyer naturel de cette vision est GitHub. GitHub est le seul endroit où la communauté se réunit, où les experts en sécurité et les mainteneurs open source collaborent et où les utilisateurs de logiciels open source trouvent leurs bases. Les récentes mesures prises par GitHub pour sécuriser l’écosystème (avec les avis de sécurité du responsable, les correctifs de sécurité automatisés, la numérisation de jetons et de nombreuses autres avancées en matière de développement sécurisé) font toutes partie du même puzzle. La vision et la technologie de Semmle sont embrassés par GitHub ».

En somme, ce que Semmle fait actuellement sur une petite échelle pourra passer à l’étape supérieure avec l’arrivée de la technologie sur le site de partage de code GitHub qui, en août 2019, hébergeait 100 millions de référentiels pour une communauté de 40 millions de personnes.

Semmle a deux produits d’analyse automatique, QL et LGTM, l’un pour trouver toutes les variantes des vulnérabilités pour les supprimer avant qu’elles n’engendrent des problèmes, et l’autre pour examiner à la loupe chaque soumission de code (commit) afin d’identifier de façon précoce les failles zero-day avant la mise en production du logiciel. Si l'adoption de ces outils progresse largement, on peut imaginer que chaque faille décrite sur la liste CVE des vulnérabilités connues soit un jour assortie d’une requête Semmle, imagine Oege de Moor.

Nom : semmle.png
Affichages : 1052
Taille : 60,5 Ko

Le petit mot de GitHub

Du côté de GitHub, c'est son PDG Nat Friedman qui s'est chargé de commenter cette acquisition :

« Le progrès humain dépend de la communauté open source. L’un des plus gros problèmes auxquels les développeurs sont confrontés aujourd’hui est de savoir comment créer et utiliser l’open source de manière sécurisée et fiable. Et chez GitHub, nous avons une opportunité et une responsabilité uniques de fournir les outils, les meilleures pratiques et l’infrastructure nécessaires pour sécuriser le développement de logiciels.

« Nous annonçons aujourd'hui un grand pas en avant dans la sécurisation de la chaîne logistique open source: nous accueillons Semmle sur GitHub.

« Le moteur d’analyse de code sémantique révolutionnaire de Semmle permet aux développeurs d’écrire des requêtes qui identifient les modèles de code dans de grandes bases de code et de rechercher des vulnérabilités et leurs variantes. Des équipes de sécurité d'Uber, de la NASA, de Microsoft et de Google ont fait confiance à Semmle et ont permis de détecter des milliers de vulnérabilités dans certaines des plus grandes bases de code du monde, ainsi que plus de 100 CVE dans des projets open source à ce jour.

« Les chercheurs en sécurité utilisent Semmle pour trouver rapidement des vulnérabilités dans le code avec de simples requêtes déclaratives. Ces équipes partagent ensuite leurs requêtes avec la communauté Semmle pour améliorer la sécurité du code dans d'autres bases de code. La sécurité des logiciels est un effort de la communauté. Aucune entreprise ne peut trouver toutes les vulnérabilités ou sécuriser la chaîne logistique open source derrière le code de chacun. L’approche de Semmle axée sur la communauté pour identifier et prévenir les vulnérabilités de sécurité est la meilleure voie à suivre ».

Sur la plateforme LGTM.com, accessible en ligne, plus de 39 millions de commits soumis par plus de 700 000 développeurs ont été analysés pour 135 821 projets open source. On peut se connecter sur LGTM à partir de GitHub, mais aussi de GitLab, de Bitcucket ou d’un compte Google. Concernant les produits, Oege de Moor assure :

« Il n’y aura pas de rupture pour les clients existants des produits Semmle. GitHub et Semmle sont profondément attachés à la sécurisation de l'écosystème open source et, dans le cadre de cet engagement, LGTM.com restera disponible gratuitement pour les référentiels publics et l'open source. Nous poursuivrons également notre recherche sur la sécurité open source, qui a permis à ce jour de générer 107 CVE dans des projets prestigieux tels que UBoot, Apache Struts, le noyau Linux, Memcached, VLC et le XNU d’Apple. Bien sûr, il existe des possibilités incroyables pour lesquelles une intégration plus poussée avec la gamme de produits existante de GitHub apportera une valeur ajoutée supplémentaire ».

Dans le cadre de cette mission globale, GitHub a également annoncé être désormais une Common Vulnerabilities and Exposures (CVE) Numbering Authority. Grâce à cela, les responsables seront désormais en mesure de signaler les vulnérabilités à partir de leurs référentiels et GitHub se chargera de l'attribution d'identifiants et de l'ajout des problèmes à la National Vulnerability Database (NVD). Idéalement, cela devrait signifier que les développeurs divulgueront davantage de vulnérabilités (processus qui est considérablement simplifié) et que les autres utilisateurs de ce code recevront des alertes plus tôt.

Sources : GitHub, Semmle

Et vous ?

Aviez-vous déjà entendu parler de Semmle ?
Avez-vous déjà utilisé un de ses produits ? Qu'en avez-vous pensé ?
Que pensez-vous de cette acquisition ?

Voir aussi :

GitHub met progressivement à jour son fork de Rails chaque semaine et s'appuie désormais entièrement sur la dernière version Rails 6.0
GitHub confirme avoir bloqué les développeurs en Iran, en Syrie et en Crimée le blocage s'étend désormais au Cuba et à la Corée du Nord
GitHub bloque les utilisateurs de Crimée et d'Iran à cause des sanctions US, l'open source doit-il souffrir de la politique de Trump ?
GitHub supprime de sa plateforme les versions open source de DeepNude, l'application qui crée des images de femmes nues en quelques secondes