Comment Microsoft est passé à côté de la faille d’Internet Explorer

Les développeurs du géant n’étaient pas assez entraînés et n’avaient pas les bons outils de tests. Une mea culpa exprimé par un haut responsable de Microsoft

Peu entraînés, des outils mal adaptés ou peu efficaces. Voilà les maux que cible sur son blog, Michael Howard, un haut responsable du service des programmes de sécurité du géant de Redmond. Une étude au vitriole du cycle de développement de la sécurité chez Microsoft qui explique pourquoi la firme a mis autant de temps pour repérer la dernière faille dans Explorer.

Michael Howard aussi connu pour avoir co-écrit l’ouvrage « Writing Secure Code » (Ecrire des codes de sécurité, ndr), explique donc que les manques relatifs au cas d’Internet Explorer sont représentatifs des méthodes vieillissantes de la firme.

La vulnérabilité n’a alors pas été découverte par les programmeurs de l’éditeur parce que la faille en question concerne des cas plutôt rares sur lesquels ils ne se penchent que très rarement. Ce domaine concerne ce qu’il s’appelle dans le jargon technique le TOCTOU pour Time-to-check Time-to-use. « Un domaine vers lequel les programmeurs sont peu incités à aller » constate Michael Howard.

Pour cause, ces failles sont en général très difficiles à déceler et les techniques de résolution de bugs TOCTOU liés à la mémoire sont très peu enseignées voire pas du tout étudiées par les programmeurs. Les outils de tests de Microsoft possèdent des « fuzzers », sortes d’outils automatiques qui collectent les données contenues dans des applications, des formats de fichiers ou dans des OS pour voir s’ils aboutissent ou pas. Mais la technique possède ses limites puisqu’elle n’a pas été capable de déceler la récente faille d’I.E. Michael Howard compatit : « En principe la méthode devrait pouvoir déceler la faille, sauf qu’il n’en a rien été« . En principe donc.

Dès lors, Howard a spéculé sur le fait que le problème avait pu être détecté par les pirates eux-mêmes armés de « fuzzer » modifiés qui leur ont permis d’avoir des résultats plus probants que ceux de Microsoft. Michael Howard conclut : « cette faille est un bon exemple de la maxime qui consiste à dire qu’un code n’est jamais à 100% sûr. Bien sûr, une autre leçon de tout cela est aussi de dire que nous devons travailler plus dur encore pour rendre nos applications plus sûres « .

Un mea culpa des plus didactiques puisque la faille d’Internet Explorer est présente sur toutes les versions du navigateur depuis sa première version, en novembre 1999.