← Latest papers
💻 computer science

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

This paper introduces the Windows IOCTL Census, a public, queryable database containing tens of millions of rows of decoded control codes and call graphs for 27,087 signed Windows drivers across multiple architectures, achieved through a deterministic, architecture-neutral analysis of lifted intermediate representations that scales to cover 80% of the driver corpus without symbolic execution.

Original authors: Michael J. Bommarito

Published 2026-06-09
📖 5 min read🧠 Deep dive

Original authors: Michael J. Bommarito

Original paper licensed under CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). This is an AI-generated explanation of the paper below. It is not written or endorsed by the authors. For technical accuracy, refer to the original paper. Read full disclaimer

Imagine the Windows operating system as a massive, bustling city. In this city, there are thousands of specialized "service stations" called drivers. These drivers allow the computer to talk to hardware like your graphics card, printer, or Wi-Fi adapter.

To talk to these stations, regular people (unprivileged users) send them "tickets" called IOCTL codes. Think of these as specific commands like "Print this page" or "Show this image."

The Problem: The Unlocked Gate

Usually, these service stations have security guards. But sometimes, a guard is asleep, or the station has a broken lock. If a regular person sends a ticket to a station with a broken lock, they might be able to sneak into the "control room" (the kernel) and rewrite the city's rules. This is how hackers take over computers.

For a long time, security researchers had two ways to find these broken locks:

  1. The "Super-Scanner" (Symbolic Execution): These are like high-tech robots that try to walk through every single door in every service station to see if any are unlocked. But they are slow, get confused easily, and can only check the "modern" part of the city (64-bit systems). They give up entirely on the older, 32-bit buildings, even though many dangerous ones live there.
  2. The "Wanted List" (Curated Lists): This is a list of known bad guys. It's accurate, but it only includes the criminals we already caught. It doesn't help you find the new ones hiding in the shadows.

The Gap: No one had a complete map of the city showing every service station and every ticket type, regardless of whether the building was old or new.

The Solution: The Windows IOCTL Census

The authors of this paper built that missing map. They call it the Windows IOCTL Census.

Instead of trying to walk through every door (which is slow and error-prone), they used a different approach:

  • The "Translator" (Deterministic Recovery): Imagine a translator who can read the blueprints of a building in any language (old 32-bit or new 64-bit) instantly. This translator doesn't try to "guess" what happens if you push a button; it simply reads the blueprint to see exactly which buttons exist and where they lead.
  • The Result: They created a massive database containing 27,087 drivers. They mapped out 3.1 million different control codes (tickets) and 8 million internal functions.

How They Made It Useful (The Three-Step Process)

The authors didn't just dump the data; they organized it into a pipeline:

  1. Recover (The Map Maker):
    They scanned every driver and extracted the "dispatch routines." Think of this as identifying the main lobby of every service station and listing every ticket type (IOCTL code) that can be used there. They did this for both old and new buildings, covering 80% of all drivers.

    • Key Win: They found the "old buildings" (32-bit) that the Super-Scanners couldn't touch.
  2. Enrich (The Risk Assessor):
    Not every ticket is dangerous. They used a smart AI (an LLM) to look only at the most suspicious lobbies—those with weak security guards (permissive access) and broken locks (unchecked input). The AI didn't guess; it looked at the specific blueprint details the Map Maker found and gave a "risk rating" (Critical, High, Medium).

    • Key Win: They didn't waste time rating safe stations. They focused only on the ones that looked dangerous.
  3. Rank (The Priority List):
    Finally, they created a searchable list. Instead of a researcher having to guess which of 27,000 drivers to check first, they can now ask: "Show me all drivers with a specific dangerous ticket type," or "Show me the top 100 most risky stations."

What They Found

  • The Map is Real: They verified their map against known vulnerabilities. For example, they found a known dangerous driver (the NVIDIA display driver) and saw it ranked very high on their danger list, proving the system works.
  • The "Old City" is Full: By including the 32-bit drivers, they uncovered a huge chunk of the attack surface that previous tools ignored.
  • Cross-Checking: They compared their "blueprint reading" method with the "Super-Scanner" robots. They found that while the robots were good at finding some things, they missed a lot of the older buildings. The blueprint method found things the robots couldn't see, and vice versa.

What They Are Not Claiming

  • They didn't find every bug: They found the potential for bugs (the unlocked doors), but they didn't manually verify every single one to see if it actually works.
  • They aren't releasing the "Kill List": They released the map (the structure of the drivers) so researchers can do their own work. However, they kept the specific "dangerous spots" (the exact code locations of the bugs) private to prevent bad actors from using the map to attack computers immediately.
  • It's not a magic fix: It's a tool to help researchers prioritize their work. It turns a needle-in-a-haystack problem into a "here is a list of the most likely needles" problem.

The Bottom Line

The authors built a Google Maps for Windows Driver Security. Before, researchers had to wander aimlessly or rely on a short list of known bad guys. Now, they have a comprehensive, searchable database that shows them exactly where the doors are, which ones are unlocked, and which ones are in the oldest, most neglected parts of the city. This allows them to focus their energy on the places that matter most.

Drowning in papers in your field?

Get daily digests of the most novel papers matching your research keywords — with technical summaries, in your language.

Try Digest →