← Derniers articles
💻 computer science

The Windows IOCTL Census: A Corpus-Scale, Multi-Architecture Database of the Driver Control-Code Surface

Cet article présente le Windows IOCTL Census, une base de données publique et interrogeable contenant des dizaines de millions de lignes de codes de contrôle décodés et de graphes d'appels pour 27 087 pilotes Windows signés à travers plusieurs architectures, réalisé grâce à une analyse déterministe et indépendante de l'architecture de représentations intermédiaires levées qui s'étend pour couvrir 80 % du corpus de pilotes sans exécution symbolique.

Auteurs originaux : Michael J. Bommarito

Publié 2026-06-09
📖 6 min de lecture🧠 Analyse approfondie

Auteurs originaux : Michael J. Bommarito

Article original sous licence CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Ceci est une explication générée par l'IA de l'article ci-dessous. Elle n'a pas été rédigée ni approuvée par les auteurs. Pour une précision technique, consultez l'article original. Lire la clause de non-responsabilité complète

Imaginez le système d'exploitation Windows comme une ville immense et bouillonnante. Dans cette ville, il existe des milliers de « stations de service » spécialisées appelées pilotes (drivers). Ces pilotes permettent à l'ordinateur de communiquer avec le matériel, comme votre carte graphique, votre imprimante ou votre adaptateur Wi-Fi.

Pour parler à ces stations, les gens ordinaires (utilisateurs non privilégiés) envoient des « tickets » appelés codes IOCTL. Considérez cela comme des commandes spécifiques telles que « Imprimez cette page » ou « Affichez cette image ».

Le Problème : La Porte Non Verrouillée

Habituellement, ces stations de service ont des gardes de sécurité. Mais parfois, un garde s'endort, ou une station possède une serrure cassée. Si une personne ordinaire envoie un ticket à une station dont la serrure est cassée, elle pourrait réussir à s'introduire dans la « salle de contrôle » (le noyau/kernel) et réécrire les règles de la ville. C'est ainsi que les pirates prennent le contrôle des ordinateurs.

Pendant longtemps, les chercheurs en sécurité avaient deux moyens de trouver ces serrures cassées :

  1. Le « Super-Scanner » (Exécution symbolique) : Ce sont des robots de haute technologie qui essaient de parcourir chaque porte de chaque station de service pour voir si certaines sont déverrouillées. Mais ils sont lents, se perdent facilement et ne peuvent vérifier que la partie « moderne » de la ville (systèmes 64 bits). Ils abandonnent complètement les bâtiments plus anciens, les systèmes 32 bits, même si beaucoup de bâtiments dangereux se trouvent là-bas.
  2. La « Liste de Recherche » (Listes curatées) : Il s'agit d'une liste de criminels connus. Elle est précise, mais elle ne contient que les criminels que nous avons déjà attrapés. Elle n'aide pas à trouver les nouveaux qui se cachent dans l'ombre.

La Lacune : Personne ne possédait de carte complète de la ville montrant chaque station de service et chaque type de ticket, qu'il s'agisse de vieux ou de nouveaux bâtiments.

La Solution : Le Recensement des IOCTL de Windows

Les auteurs de cet article ont construit cette carte manquante. Ils l'appellent le Windows IOCTL Census.

Au lieu d'essayer de franchir chaque porte (ce qui est lent et sujet aux erreurs), ils ont utilisé une approche différente :

  • Le « Traducteur » (Récupération déterministe) : Imaginez un traducteur capable de lire les plans d'un bâtiment dans n'importe quelle langue (ancien 32 bits ou nouveau 64 bits) instantanément. Ce traducteur ne cherche pas à « deviner » ce qui se passe si l'on appuie sur un bouton ; il lit simplement le plan pour voir exactement quels boutons existent et où ils mènent.
  • Le Résultat : Ils ont créé une base de données massive contenant 27 087 pilotes. Ils ont cartographié 3,1 millions de codes de contrôle différents (tickets) et 8 millions de fonctions internes.

Comment ils l'ont rendu utile (Le processus en trois étapes)

Les auteurs n'ont pas seulement déversé les données ; ils les ont organisées en un pipeline :

  1. Récupérer (Le Cartographe) :
    Ils ont scanné chaque pilote et extrait les « routines de dispatch ». Considérez cela comme l'identification du hall d'entrée principal de chaque station de service et la liste de chaque type de ticket (code IOCTL) utilisable. Ils ont fait cela pour les anciens et les nouveaux bâtiments, couvrant 80 % de tous les pilotes.

    • Victoire clé : Ils ont trouvé les « vieux bâtiments » (32 bits) que les Super-Scanners ne pouvaient pas toucher.
  2. Enrichir (L'Évaluateur de Risques) :
    Tous les tickets ne sont pas dangereux. Ils ont utilisé une IA intelligente (un LLM) pour examiner uniquement les halls les plus suspects — ceux ayant des gardes de sécurité faibles (accès permissif) et des serrures cassées (entrées non vérifiées). L'IA ne devinait pas ; elle regardait les détails spécifiques du plan que le Cartographe avait trouvés et attribuait une « note de risque » (Critique, Élevé, Moyen).

    • Victoire clé : Ils n'ont pas perdu de temps à évaluer les stations sûres. Ils se sont concentrés uniquement sur celles qui semblaient dangereuses.
  3. Classer (La Liste de Priorité) :
    Enfin, ils ont créé une liste consultable. Au lieu qu'un chercheur doive deviner quels pilotes parmi les 27 000 vérifier en premier, il peut désormais demander : « Montrez-moi tous les pilotes avec un type de ticket spécifique et dangereux », ou « Montrez-moi les 100 stations les plus risquées ».

Ce qu'ils ont découvert

  • La Carte est Réelle : Ils ont vérifié leur carte par rapport à des vulnérabilités connues. Par exemple, ils ont trouvé un pilote dangereux connu (le pilote d'affichage NVIDIA) et ont constaté qu'il était classé très haut sur leur liste de danger, prouvant que le système fonctionne.
  • La « Vieille Ville » est Pleine : En incluant les pilotes 32 bits, ils ont découvert une énorme partie de la surface d'attaque que les outils précédents ignoraient.
  • Contre-vérification : Ils ont comparé leur méthode de « lecture de plans » avec les robots « Super-Scanner ». Ils ont constaté que si les robots étaient bons pour trouver certaines choses, ils en manquaient beaucoup dans les bâtiments plus anciens. La méthode des plans a trouvé des choses que les robots ne pouvaient pas voir, et vice versa.

Ce qu'ils ne prétendent PAS

  • Ils n'ont pas trouvé tous les bugs : Ils ont trouvé le potentiel de bugs (les portes déverrouillées), mais ils n'ont pas vérifié manuellement chaque un par un pour voir s'ils fonctionnent réellement.
  • Ils ne publient pas la « Liste d'Exécution » : Ils ont publié la carte (la structure des pilotes) pour que les chercheurs puissent faire leur propre travail. Cependant, ils ont gardé privés les « points dangereux spécifiques » (les emplacements exacts du code des bugs) pour éviter que des acteurs malveillants n'utilisent la carte pour attaquer les ordinateurs immédiatement.
  • Ce n'est pas une solution miracle : C'est un outil pour aider les chercheurs à prioriser leur travail. Cela transforme un problème d'aiguille dans une botte de foin en un problème de « voici une liste des aiguilles les plus probables ».

L'essentiel

Les auteurs ont construit un Google Maps pour la sécurité des pilotes Windows. Auparavant, les chercheurs devaient errer sans but ou compter sur une courte liste de criminels déjà connus. Désormais, ils disposent d'une base de données complète et consultable qui montre exactement où se trouvent les portes, lesquelles sont déverrouillées, et lesquelles se trouvent dans les parties les plus anciennes et les plus négligées de la ville. Cela leur permet de concentrer leur énergie là où cela compte le plus.

Noyé(e) sous les articles dans votre domaine ?

Recevez des digests quotidiens des articles les plus récents correspondant à vos mots-clés de recherche — avec des résumés techniques, dans votre langue.

Essayer Digest →