← Nieuwste papers
💻 computer science

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

Dit artikel introduceert de Windows IOCTL Census, een publieke, doorvraagbare database met tientallen miljoenen rijen aan gedecodeerde controlecodes en call-grafieken voor 27.087 ondertekende Windows-drivers over meerdere architecturen, gerealiseerd door middel van een deterministische, architectuur-neutrale analyse van gelifte intermediate representaties die schaalt naar 80% van de driver-corpus zonder symbolische executie.

Oorspronkelijke auteurs: Michael J. Bommarito

Gepubliceerd 2026-06-09
📖 5 min leestijd🧠 Diepgaand

Oorspronkelijke auteurs: Michael J. Bommarito

Oorspronkelijk artikel gelicentieerd onder CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dit is een AI-gegenereerde uitleg van het onderstaande artikel. Het is niet geschreven of goedgekeurd door de auteurs. Raadpleeg het oorspronkelijke artikel voor technische nauwkeurigheid. Lees de volledige disclaimer

Stel je het Windows-besturingssysteem voor als een enorme, bruisende stad. In deze stad zijn er duizenden gespecialiseerde "serviceposten" genaamd drivers. Deze drivers stellen de computer in staat om te communiceren met hardware zoals je videokaart, printer of Wi-Fi-adapter.

Om met deze posten te praten, sturen gewone mensen (onbevoegde gebruikers) "tickets" genaamd IOCTL-codes. Dit zijn specifieke commando's zoals "Print deze pagina" of "Toon deze afbeelding."

Het Probleem: De Onbeheerde Poort

Normaal gesproken hebben deze serviceposten beveiligingsbewakers. Maar soms slaapt een bewaker, of heeft een station een kapot slot. Als een gewone persoon dan een ticket stuurt naar een station met een kapot slot, kunnen ze misschien de "controlekamer" (de kernel) binnensluipen en de regels van de stad herschrijven. Dit is hoe hackers computers overnemen.

Lange tijd hadden beveiligingsonderzoekers twee manieren om deze kapotte sloten te vinden:

  1. De "Super-Scanner" (Symbolische Executie): Dit zijn hoogtechnologische robots die proberen door elke deur in elke servicepost te lopen om te zien of er ergens een slot onbeheerd is. Maar ze zijn traag, raken gemakkelijk in de war en kunnen alleen het "moderne" deel van de stad controleren (64-bits systemen). Ze geven de oudere, 32-bits gebouwen volledig op, ook al bevinden zich daar juist veel gevaarlijke plekken.
  2. De "Gezochte Lijst" (Gecureerde Lijsten): Dit is een lijst van bekende boefjes. Het is accuraat, maar het bevat alleen de criminelen die we al hebben gepakt. Het helpt niet bij het vinden van de nieuwe boeven die in de schaduwen verschuilen.

De Kloof: Niemand had een volledige kaart van de stad die elke servicepost en elk type ticket liet zien, ongeacht of het gebouw oud of nieuw was.

De Oplossing: De Windows IOCTL Census

De auteurs van dit paper bouwden die ontbrekende kaart. Ze noemen het de Windows IOCTL Census.

In plaats van te proberen door elke deur te lopen (wat traag en foutgevoelig is), gebruikten ze een andere aanpak:

  • De "Vertaler" (Deterministische Reconstructie): Stel je een vertaler voor die de blauwdrukken van een gebouw in elke taal (oud 32-bit of nieuw 64-bit) direct kan lezen. Deze vertaler probeert niet te "raden" wat er gebeurt als je op een knop drukt; hij leest simpelweg de blauwdruk om precies te zien welke knoppen bestaan en waar ze naartoe leiden.
  • Het Resultaat: Ze creëerden een enorme database met 27.087 drivers. Ze brachten 3,1 miljoen verschillende controlecodes (tickets) en 8 miljoen interne functies in kaart.

Hoe Ze Het Nuttig Maakten (Het Drie-Stappenproces)

De auteurs hebben de data niet zomaar gedumpt; ze hebben het georganiseerd in een pijplijn:

  1. Reconstructie (De Kaartmaker):
    Ze scanden elke driver en extraheerden de "dispatch routines". Denk hierbij aan het identificeren van de hoofdlobby van elke servicepost en het opsommen van elk type ticket (IOCTL-code) dat daar gebruikt kan worden. Ze deden dit voor zowel oude als nieuwe gebouwen, waarmee ze 80% van alle drivers dekten.

    • Belangrijke Winst: Ze vonden de "oude gebouwen" (32-bit) die de Super-Scanners niet konden bereiken.
  2. Verrijking (De Risico-Assessor):
    Niet elk ticket is gevaarlijk. Ze gebruikten een slimme AI (een LLM) om alleen naar de meest verdachte lobby's te kijken: die met zwakke beveiligingsbewakers (permissieve toegang) en kapotte sloten (ongecontroleerde input). De AI gokte niet; hij keek naar de specifieke details van de blauwdruk die de Kaartmaker had gevonden en gaf een "risicocijfer" (Kritiek, Hoog, Medium).

    • Belangrijke Winst: Ze verspillden geen tijd aan het beoordelen van veilige stations. Ze richtten zich alleen op de stations die er gevaarlijk uitzagen.
  3. Rangschikking (De Prioriteitenlijst):
    Ten slotte maakten ze een doorzoekbare lijst. In plaats van dat een onderzoeker zelf moet raden welke van de 27.000 drivers hij eerst moet controleren, kan hij nu vragen: "Toon me alle drivers met een specifiek gevaarlijk type ticket," of "Toont me de top 100 meest risicovolle stations."

Wat Ze Hebben Gevonden

  • De Kaart is Echt: Ze hebben hun kaart geverifieerd tegen bekende kwetsbaarheden. Zo vonden ze een bekende gevaarlijke driver (de NVIDIA display driver) en zagen ze dat deze erg hoog op hun gevarenlijst stond, wat bewees dat het systeem werkt.
  • De "Oude Stad" is Vol: Door de 32-bit drivers op te nemen, legden ze een enorme hoeveelheid van het aanvalsoppervlak bloot dat eerdere tools negeerden.
  • Cross-Checking: Ze vergeleken hun "blauwdruk-leesmethode" met de "Super-Scanner" robots. Ze ontdekten dat hoewel de robots goed waren in het vinden van sommige dingen, ze veel misten in de oudere gebouwen. De blauwdruk-methode vond zaken die de robots niet konden zien, en andersom.

Wat Ze Niet Beweren

  • Ze hebben niet elke bug gevonden: Ze vonden de potentie voor bugs (de onbeheerde deuren), maar ze hebben niet elke enkele door hen gevonden locatie handmatig geverifieerd om te zien of deze daadwerkelijk werkt.
  • Ze geven de "Kill List" niet vrij: Ze geven de kaart (de structuur van de drivers) vrij zodat onderzoekers hun eigen werk kunnen doen. Echter, ze hielden de specifieke "gevaarlijke plekken" (de exacte code-locaties van de bugs) privé om te voorkomen dat kwaadwillenden de kaart direct kunnen gebruiken om computers aan te vallen.
  • Het is geen wondermiddel: Het is een hulpmiddel om onderzoekers te helpen prioriteren. Het verandert een "zoek de naald in de hooiberg"-probleem in een "hier is een lijst van de meest waarschijnlijke naalden"-probleem.

De Kernboodschap

De auteurs hebben een Google Maps voor Windows Driver Security gebouwd. Voorheen moesten onderzoekers doelloos ronddwalen of vertrouwen op een korte lijst van bekende boeven. Nu hebben ze een uitgebreide, doorzoekbare database die hen precies laat zien waar de deuren zijn, welke ervan onbeheerd zijn en welke zich in de oudste, meest verwaarloosde delen van de stad bevinden. Hierdoor kunnen ze hun energie richten op de plekken die er het meest toe doen.

Verdrinkt u in papers in uw vakgebied?

Ontvang dagelijkse digests van de nieuwste papers die bij uw onderzoekswoorden passen — met technische samenvattingen, in uw taal.

Probeer Digest →