Ce bug est-il une faille de sécurité ?

Par:
fredericmazue

ven, 16/09/2011 - 12:04

La start-up française Toucan System (http://www.toucan-system.com) vient de publier, sous licence libre Apache 2.0, le code source d'un outil open source présenté en avant-première lors de la dernière conférence Black Hat à Las Vegas. Pour le moins original : pmcma, pour Post Memory Corruption Memory Analysis, propose de déterminer si un bug donné dans un logiciel est une faille de sécurité... en tentant de l'exploiter !

Tous les bugs ne sont pas des vulnérabilités : pour se faire, un bug doit présenter un impact en terme de sécurité pour le système. La grande majorité des bugs sur les systèmes d'exploitation modernes sont de type "écriture invalide en mémoire". « Pmcma est capable de déterminer si une écriture en mémoire peut être transformée en exécution de code arbitraire, c'est à dire en un Exploit. L'outil est également capable de déterminer le type de faille déclenché, ainsi que la probabilité d'exploitation », détaille Jonathan Brossard, Chercheur en sécurité émérite et co-fondateur de Toucan System.

L'originalité de l'outil est d'automatiser ces analyses pointues par un débuggeur d'un type entièrement nouveau. Celui-ci force le programme analysé à se répliquer autant de fois que nécessaire en mémoire pour effectuer une analyse exhaustive, là ou les débuggeurs classiques ne permettent d'effectuer qu'une seule analyse à la fois.

« Cette innovation concerne à la fois les développeurs désireux de se concentrer sur les bugs les plus graves d'un point de vue sécurité, les hackers experts qui vont grâce à pmcma gagner un temps considérable en reverse engineering, mais aussi les utilisateurs finaux qui vont désormais pouvoir effectuer facilement de bien meilleurs rapports des bugs qu'ils rencontrent, et ainsi permettre aux développeurs de les corriger en un temps record », explique encore Nicolas Massaviol, Directeur technique et co-fondateur de Toucan System.

L'outil fonctionne actuellement sous les systèmes d'exploitation GNU/Linux et Android, munis de microprocesseurs Intel 32 ou 64 bits.

Des versions Mac OSX et BSD sont prévues d'ici la fin de l'année.