← Últimos artículos
💻 computer science

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

Este artículo presenta el Windows IOCTL Census, una base de datos pública y consultable que contiene decenas de millones de filas de códigos de control decodificados y grafos de llamadas para 27.087 controladores de Windows firmados a través de múltiples arquitecturas, logrado mediante un análisis determinista y neutral a la arquitectura de representaciones intermedias elevadas que escala para cubrir el 80% del corpus de controladores sin ejecución simbólica.

Autores originales: Michael J. Bommarito

Publicado 2026-06-09
📖 5 min de lectura🧠 Análisis profundo

Autores originales: Michael J. Bommarito

Artículo original bajo licencia CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Esta es una explicación generada por IA del artículo a continuación. No ha sido escrita ni avalada por los autores. Para mayor precisión técnica, consulte el artículo original. Leer descargo de responsabilidad completo

Imagina el sistema operativo Windows como una ciudad enorme y bulliciosa. En esta ciudad, hay miles de "estaciones de servicio" especializadas llamadas drivers (controladores). Estos conductores permiten que la computadora hable con el hardware, como tu tarjeta gráfica, impresora o adaptador Wi-Fi.

Para hablar con estas estaciones, las personas comunes (usuarios sin privilegios) envían "tickets" llamados códigos IOCTL. Piensa en ellos como comandos específicos como "Imprimir esta página" o "Mostrar esta imagen".

El Problema: La Puerta Sin Cerrar

Normalmente, estas estaciones de servicio tienen guardias de seguridad. Pero a veces, un guardia está dormido, o la estación tiene una cerradura rota. Si una persona común envía un ticket a una estación con una cerradura rota, podría infiltrarse en la "sala de control" (el kernel) y reescribir las reglas de la ciudad. Así es como los hackers toman el control de las computadoras.

Durante mucho tiempo, los investigadores de seguridad tenían dos formas de encontrar estas cerraduras rotas:

  1. El "Súper Escáner" (Ejecución Simbólica): Estos son como robots de alta tecnología que intentan caminar por cada puerta de cada estación de servicio para ver si alguna está abierta. Pero son lentos, se confunden fácilmente y solo pueden revisar la parte "moderna" de la ciudad (sistemas de 64 bits). Se rinden por completo ante los edificios más antiguos de 32 bits, a pesar de que muchos edificios peligrosos viven allí.
  2. La "Lista de Buscados" (Listas Curadas): Esta es una lista de criminales conocidos. Es precisa, pero solo incluye a los criminales que ya hemos atrapado. No ayuda a encontrar a los nuevos que se esconden en las sombras.

La Brecha: Nadie tenía un mapa completo de la ciudad que mostrara cada estación de servicio y cada tipo de ticket, sin importar si el edificio era viejo o nuevo.

La Solución: El Censo de IOCTL de Windows

Los autores de este artículo construyeron ese mapa faltante. Lo llaman el Windows IOCTL Census.

En lugar de intentar caminar por cada puerta (lo cual es lento y propenso a errores), utilizaron un enfoque diferente:

  • El "Traductor" (Recuperación Determinista): Imagina un traductor que puede leer los planos de un edificio en cualquier idioma (antiguo de 32 bits o nuevo de 64 bits) al instante. Este traductor no intenta "adivinar" qué pasa si presionas un botón; simplemente lee el plano para ver exactamente qué botones existen y hacia dónde conducen.
  • El Resultado: Crearon una base de datos masiva que contiene 27,087 drivers. Mapearon 3.1 millones de códigos de control (tickets) diferentes y 8 millones de funciones internas.

Cómo lo Hicieron Útil (El Proceso de Tres Pasos)

Los autores no solo volcaron los datos; los organizaron en un flujo de trabajo:

  1. Recuperar (El Creador de Mapas):
    Escanearon cada driver y extrajeron las "rutas de despacho" (dispatch routines). Piensa en esto como identificar el vestíbulo principal de cada estación de servicio y listar cada tipo de ticket (código IOCTL) que se puede usar allí. Hicieron esto tanto para edificios viejos como nuevos, cubriendo el 80% de todos los drivers.

    • Victoria Clave: Encontraron los "edificios viejos" (32 bits) que los Súper Escáneres no podían tocar.
  2. Enriquecer (El Evaluador de Riesgos):
    No todos los tickets son peligrosos. Utilizaron una IA inteligente (un LLM) para mirar solo los vestíbulos más sospechosos: aquellos con guardias de seguridad débiles (acceso permisivo) y cerraduras rotas (entrada no verificada). La IA no adivinó; miró los detalles específicos del plano que el Creador de Mapas encontró y otorgó una "calificación de riesgo" (Crítico, Alto, Medio).

    • Victoria Clave: No perdieron el tiempo calificando estaciones seguras. Se enfocaron solo en las que parecían peligrosas.
  3. Clasificar (La Lista de Prioridades):
    Finalmente, crearon una lista de búsqueda. En lugar de que un investigador tenga que adivinar cuál de los 27,000 drivers revisar primero, ahora puede preguntar: "Muéstrame todos los drivers con un tipo de ticket específico que sea peligroso", o "Muéstrame las 100 estaciones más riesgosas".

Lo Que Encontraron

  • El Mapa es Real: Verificaron su mapa contra vulnerabilidades conocidas. Por ejemplo, encontraron un driver peligroso conocido (el driver de pantalla de NVIDIA) y vieron que estaba clasificado muy alto en su lista de peligro, demostrando que el sistema funciona.
  • La "Ciudad Vieja" está Llena: Al incluir los drivers de 32 bits, descubrieron una enorme parte de la superficie de ataque que las herramientas anteriores ignoraban.
  • Contrasteo: Compararon su método de "lectura de planos" con los robots del "Súper Escáner". Encontraron que, aunque los robots eran buenos encontrando algunas cosas, pasaron por alto muchas de las estructuras más antiguas. El método de los planos encontró cosas que los robots no pudieron ver, y viceversa.

Lo Que No Están Reclamando

  • No encontraron todos los errores (bugs): Encontraron el potencial de errores (las puertas sin cerrar), pero no verificaron manualmente cada uno de ellos para ver si realmente funcionaba.
  • No están publicando la "Lista de Ejecución": Publicaron el mapa (la estructura de los drivers) para que los investigadores puedan hacer su propio trabajo. Sin embargo, mantuvieron privados los "puntos peligrosos" específicos (las ubicaciones exactas de código de los errores) para evitar que los actores malintencionados usen el mapa para atacar computadoras de inmediato.
  • No es una solución máica: Es una herramienta para ayudar a los investigadores a priorizar su trabajo. Convierte un problema de buscar una aguja en un pajar en un problema de "aquí hay una lista de las agujas más probables".

La Conclusión

Los autores construyeron un Google Maps para la Seguridad de los Drivers de Windows. Antes, los investigadores tenían que deambular sin rumbo o depender de una lista corta de criminales ya conocidos. Ahora, tienen una base de datos exhaustiva y de búsqueda que les muestra exactamente dónde están las puertas, cuáles están sin cerrar y cuáles se encuentran en las partes más antiguas y descuidadas de la ciudad. Esto les permite concentrar su energía en los lugares que más importan.

¿Ahogado en artículos de tu campo?

Recibe resúmenes diarios de los artículos más novedosos que coincidan con tus palabras clave de investigación — con resúmenes técnicos, en tu idioma.

Probar Digest →