Si on devait établir une échelle de valeur des outils liés à la
sécurité des systèmes d'information, les exploits dits "0day" auraient
sans nul doute une place de choix. Ce terme anglais (dont la
traduction littérale est 0jour), désigne une catégorie particulière
d'outils d'exploitation de vulnérabilités : ceux qui permettent de
compromettre des systèmes à jour. Plusieurs raisons possibles à cela :
l'éditeur est au courant de la faille mais n'a pas encore publié de
correctif : l'éditeur n'est pas au courant de la faille, cette
dernière n'étant partagée que par un nombre restreint de
personnes. Toujours est-il que dans une telle situation, les systèmes
et réseaux comprenant le composant vulnérable sont exposés.
À cause de cela, les 0days sont très recherchés, aussi bien par les
pirates que par les professionnels de la sécurité, qui y trouvent un
moyen efficace de réaliser avec succès un test d'intrusion. Mais
comment mettre la main sur ces exploits si particuliers ? C'est
évidemment là que réside l'essence du problème. Certains envisagent
les pots de miel comme une solution, en attendant de capturer les
paquets d'un exploit pour une vulnérabilité non répertoriée ; mais le
taux de réussite est relativement faible. D'autres tentent de les
échanger, contre des ressources diverses, de l'argent (oui, ça
s'appelle les payer), d'autres 0days (le serpent se mord la queue). De
mon point de vue - qui rejoint je pense celui de bon nombre d'autres -
la meilleure façon d'avoir un 0day reste encore de chercher des
failles soi-même.
Au travers de 6 failles trouvées dans 3 services différents de
systèmes d'exploitation Windows (non publiées à l'époque de l'écriture
de ce document), je dresserai le tableau de la naissance d'exploits
0day, et de leur vie jusqu'à la publication des correctifs de
sécurité, signifiant leur mort. Je m'attarderai sur les détails
techniques de la découverte des failles, de l'implémentation des
outils d'exploitation, tout en décrivant les procédures
organisationnelles adoptées pour communiquer avec Microsoft et publier
les avis de sécurité.
Biographie
Ingénieur en Télécommunications et Réseaux, Kostya Kortchinsky a travaillé
pour le Ministère de la Défense durant une année pour ensuite rejoindre le
CERT RENATER dont il est maintenant responsable. Passionné de technique,
il s'intéresse au reverse engineering, à la cryptographie, à la recherche de
vulnérabilités, au développement d'exploits. Il est membre du French
Honeynet Project, écrit des articles dans MISC ainsi que dans la revue
sécurité du CNRS.