Atheris, l’arme secrète de Google pour traquer les bugs dans le code Python

Spread the love
Atheris, l'arme secrète de Google pour traquer les bugs dans le code Python

Avec Atheris, les équipes de Google viennent de mettre au point un nouvel utilitaire basé sur le fuzzing automatisé dans le but de traquer toutes les failles de sécurité ou vulnérabilités dans un code Python, avant que celles-ci ne soient exploitées. Ce nouvel outil devrait permettre aux développeurs de parfaire le langage de programmation Python sur lequel le géant américain compte beaucoup.

Celui-ci se base sur le fuzzing, une technique qui fonctionne en surchargeant une application logicielle de grandes quantités de données aléatoires et en analysant sa sortie pour détecter les anomalies et les plantages afin de donner l’occasion aux développeurs de trouver des indices concernant la présence et l’emplacement d’éventuelles failles dans le code de cette application. Au fil des ans, les chercheurs en sécurité de Google ont été parmi les plus grands promoteurs de l’utilisation des outils de fuzzing pour découvrir non seulement des bugs banals, mais aussi des vulnérabilités dangereuses potentiellement exploitables par des cyberattaquants.

Depuis 2013, les chercheurs en sécurité de Google ont créé, puis mis en ligne, plusieurs outils de brouillage, dont OSS-Fuzz, Syzkaller, ClusterFuzz, Fuzzilli et BrokenType. Mais tous ces outils n’avaient jusque-là été créés que pour découvrir des vulnérabilités dans les applications C ou C++.

publicité

Un outil largement disponible

Atheris se trouve donc être la réponse de Google à la popularité croissante du langage de programmation Python, désormais classé 3e dans l’index TIOBE de novembre 2020, qui classe les langages de programmation les plus populaires au monde. Développé en interne chez Google lors d’un hackaton en octobre dernier, Atheris supporte le code Python fuzzing écrit en Python 2.7 et Python 3.3+, mais aussi les extensions natives créées avec CPython.

La direction de Google précise toutefois qu’Atheris fonctionne mieux avec du code en Python 3.8 et plus, où les nouvelles fonctionnalités ajoutées au langage de programmation Python peuvent aider Atheris à trouver encore plus de vulnérabilités que dans le code écrit en Python plus ancien. A noter que le code d’Atheris est d’ores et déjà disponible sur GitHub, et le fuzzer est également disponible sur PyPI, le dépôt de paquets Python.

Et ce n’est pas fini. Le géant américain indique en effet qu’il prévoit d’ajouter le support des tests de fuzz d’Atheris sur OSS-Fuzz, une plateforme hébergée qui permet aux développeurs de fuzzer les projets open source pour les failles de sécurité. Si cette plateforme ne prenait jusqu’à maintenant en charge que le fuzzing destinés aux langages C et C++, elle se penche désormais sur un panel plus large qui comprend Python et a permis de trouver des milliers de failles au fil des ans. En juin 2020, OSS-Fuzz avait trouvé plus de 20 000 bugs dans 300 projets open source.

Source : ZDNet.com

Leave a Reply