Close
  • Français
  • English

03/06/2013Le “0day” est-il la cyberbombe ? [Par Nicolas Ruff, EADS]

“0day” est un terme qui ne quitte plus l’actualité de la sécurité informatique, au moins depuis le virus Stuxnet “et ses quatre 0day”.

Qu’est-ce qu’un 0day ? Il s’agit d’une faille de sécurité dans un logiciel, dont l’éditeur lui-même n’a pas encore connaissance, mais qui est d’ores et déjà exploitée “dans la nature” pour pirater des systèmes. Et le moins que l’on puisse dire, c’est que les exemples abondent ces derniers mois: presque toutes les failles corrigées dans Java, Adobe Reader et Flash Player ont été découvertes lors d’attaques ciblées.

Le “0day” suscite les pires fantasmes, le paroxysme du délire interprétatif ayant probablement été atteint l’année dernière avec les articles du magazine Forbes sur le marché des 0day[1] et la société française VUPEN[2], repris ensuite par les lobbyistes de l’EFF.

Il est indéniable qu’il existe un marché très structuré autour de la recherche, de la monétisation et de l’exploitation des failles de sécurité (qui sont trois activités bien distinctes): il suffit de visiter le site BugCrowd pour s’en convaincre[3]. Des foires aux vulnérabilités sont même organisées, comme les concours PWN2OWN[4] et PWNIUM[5] (sous l’égide de Google).

La faute à qui ? Probablement aux éditeurs logiciels, qui non contents de produire du code de qualité exécrable et peu testé, ont traité pendant longtemps avec condescendance les chercheurs bénévoles, allant parfois jusqu’à entamer des actions en justice contre ces derniers. Las du manque de considération qu’on leur accordait, ces chercheurs se sont retrouvés dans le mouvement “No More Free Bugs”[6] et n’ont désormais plus aucun scrupule à vendre au plus offrant. La sécurité des logiciels ne s’en est pas trouvée améliorée, mais au moins les chercheurs peuvent-ils vivre de leur art aujourd’hui – dans l’anonymat et la sécurité juridique la plus complète.

Malheureusement, après avoir pratiqué le test d’intrusion pendant plus de 10 ans, j’ai acquis la conviction que le rôle du 0day dans l’arsenal numérique est largement surestimé. Beaucoup trop de systèmes et de réseaux sont vulnérables à des attaques autrement moins sophistiquées, telles que des failles de sécurité connues et corrigées par l’éditeur (seul 5% du parc installé est à jour d’une version non vulnérable de Java[7]) … ou des mots de passe triviaux. Cet avis est d’ailleurs partagé par l’ANSSI, dont la communication s’articule autour des principes élémentaires d’hygiène informatique.

L’écosystème du développement logiciel (absence de formation sérieuse en sécurité chez les développeurs, réduction des coûts, réutilisation de code, absence d’information fiable sur Internet, langages et bibliothèques de programmation peu sûrs par conception, absence de responsabilité quelconque côté éditeur, méthodes “agiles” et cycles de développement courts, culture du patch, etc.) concourt à un seul résultat : les logiciels contiennent des bogues. Et ils en contiendront toujours, car il s’en ajoute autant qu’il s’en corrige. Une stratégie de sécurité efficace doit prendre en compte cette contrainte, plutôt que de compter sur le produit de sécurité magique qui empêchera les logiciels d’avoir des bogues (ou les attaquants de les trouver).

________

Sources :

[1] http://www.forbes.com/sites/andygreenberg/2012/03/23/shopping-for-zero-days-an-price-list-for-hackers-secret-software-exploits/
[2] http://www.forbes.com/sites/andygreenberg/2012/03/21/meet-the-hackers-who-sell-spies-the-tools-to-crack-your-pc-and-get-paid-six-figure-fees/
[3] http://bugcrowd.com/list-of-bug-bounty-programs/
[4] http://fr.wikipedia.org/wiki/Pwn2Own
[5] http://www.chromium.org/Home/chromium-security/pwnium-2
[6] http://trailofbits.wordpress.com/2009/03/22/no-more-free-bugs/
[7] http://community.websense.com/blogs/securitylabs/archive/2013/03/25/how-are-java-attacks-getting-through.aspx