20/02/2019

ClusterFuzz, une infrastructure de test publiée par Google

logo google

Google a rendu disponible en open source ClusterFuzz. La spécificité de la solution permet de créer une infrastructure de test à données aléatoires capable de fonctionner sur plus de 25 000 cœurs.

Les tests à données aléatoires

Les techniques tests de logiciels à données aléatoires, autrement appelées fuzzing consistent à injecter des données aléatoires dans les entrées d’un programme. Les cas d’échec de test permettent notamment de détecter des bogues de corruption de mémoire. Particulièrement critiques pour la sécurité logicielle, ces derniers sont plus difficiles à détecter avec des stratégies de tests plus classiques.

Depuis la fin de l’année2016, Google encourage les développeurs à utiliser les techniques de fuzzing, avec le lancement d’OSS-Fuzz. La firme de Mountain View annonçant qu’une centaine de problèmes de sécurité et de stabilité avait été découverte dans le navigateur Chrome grâce à cet outil. L’originalité de la solution reposait alors sur la combinaison de techniques de fuzzing moderne et d’exécution répartie évolutive.

En 2017, la solution gagnait en célérité grâce à un ensemble de robots automatisés gérant OSS-Fuzz. Google annonçait alors pouvoir traiter 10 milliards d’entrées de tests par jour, donnant lieu à la découverte de 1000 failles dans une cinquantaine de projets open source, dont 264 liées à des faiblesses de sécurité potentielles.

Figure 1 : types d’anomalies découvertes par OSS-Fuzz sur 47 projets Open Source

Figure 1 : types d’anomalies découvertes par OSS-Fuzz sur 47 projets Open Source

ClusterFuzz disponible en open source

Il y a quelques jours, Google a annoncé la disponibilité de ClusterFuzz en OpenSource, un service issu du projet OSS-Fuzz. La solution se donne pour objectif d’assurer la sécurité et la stabilité des programmes développés dans des langages non sécurisés tel que C ou C ++. Par ce qu’une stratégie de Fuzzing doit être menée en continue et à grande échelle pour être efficace, la firme fournit à Chrome les fonctionnalités permettant la mise en place d’une infrastructure de Fuzzing sur plus de 25 000 cœurs.

Figure 2

ClusterFuzz est donc maintenant open source et accessible à tous après huit années de développement. La solution vise une intégration transparente dans le flux de travail (cf. figure 2). Elle fournit une automatisation de bout en bout, de la détection au triage en passant par la gestion des rapports. Selon Google, ClusterFuzz est souvent capable de détecter les bogues quelques heures après leur introduction et de vérifier le correctif en un jour.

Après avoir détecté plus de 16 000 bogues dans Chrome et plus de 11 000 bogues dans plus de 160 projets open source intégrés à OSS-Fuzz, ClusterFuzz partie intégrante du processus de développement de Chrome et de nombreux autres projets open source.

Source : opensource.googleblog.com

Actualités