← Últimos artigos
💻 computer science

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

Este artigo apresenta o Windows IOCTL Census, um banco de dados público e consultável contendo dezenas de milhões de linhas de códigos de controle decodificados e grafos de chamadas para 27.087 drivers assinados do Windows através de múltiplas arquiteturas, alcançado por meio de uma análise determinística e independente de arquitetura de representações intermediárias elevadas que escala para cobrir 80% do corpus de drivers sem execução simbólica.

Autores originais: Michael J. Bommarito

Publicado 2026-06-09
📖 5 min de leitura🧠 Leitura aprofundada

Autores originais: Michael J. Bommarito

Artigo original sob licença CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Esta é uma explicação gerada por IA do artigo abaixo. Não foi escrita nem endossada pelos autores. Para precisão técnica, consulte o artigo original. Ler aviso legal completo

Imagine o sistema operacional Windows como uma cidade enorme e movimentada. Nesta cidade, existem milhares de "estações de serviço" especializadas chamadas drivers. Esses drivers permitem que o computador converse com o hardware, como sua placa de vídeo, impressora ou adaptador Wi-Fi.

Para falar com essas estações, pessoas comuns (usuários sem privilégios) enviam "bilhetes" chamados códigos IOCTL. Pense neles como comandos específicos, como "Imprima esta página" ou "Mostre esta imagem".

O Problema: O Portão Destrancado

Normalmente, essas estações de serviço possuem seguranças. Mas, às vezes, um segurança está dormindo ou a estação tem uma fechadura quebrada. Se uma pessoa comum enviar um bilhete para uma estação com uma fechadura quebrada, ela pode conseguir entrar sorrateiramente na "sala de controle" (o kernel) e reescrever as regras da cidade. É assim que hackers assumem o controle de computadores.

Por muito tempo, pesquisadores de segurança tinham duas maneiras de encontrar essas fechaduras quebradas:

  1. O "Super-Scanner" (Execução Simbólica): Estes são como robôs de alta tecnologia que tentam percorrer cada porta em cada estação de serviço para ver se alguma está destrancada. Mas eles são lentos, confundem-se facilmente e só conseguem verificar a parte "moderna" da cidade (sistemas 64 bits). Eles desistem inteiramente dos edifícios mais antigos, de 32 bits, embora muitos edifícios perigosos vivam lá.
  2. A "Lista de Procurados" (Listas Curadas): Esta é uma lista de criminosos conhecidos. É precisa, mas inclui apenas os criminosos que já capturamos. Não ajuda você a encontrar os novos que estão se escondendo nas sombras.

A Lacuna: Ninguém tinha um mapa completo da cidade mostrando cada estação de serviço e cada tipo de bilhete, independentemente de o edifício ser antigo ou novo.

A Solução: O Censo de IOCTL do Windows

Os autores deste artigo construíram esse mapa que estava faltando. Eles o chamam de Windows IOCTL Census (Censo de IOCTL do Windows).

Em vez de tentar percorrer cada porta (o que é lento e propenso a erros), eles usaram uma abordagem diferente:

  • O "Tradutor" (Recuperação Determinística): Imagine um tradutor que consegue ler as plantas de um edifício em qualquer idioma (antigo de 32 bits ou novo de 64 bits) instantaneamente. Este tradutor não tenta "adivinhar" o que acontece se você apertar um botão; ele simplesmente lê a planta para ver exatamente quais botões existem e para onde eles levam.
  • O Resultado: Eles criaram um banco de dados massivo contendo 27.087 drivers. Eles mapearam 3,1 milhões de diferentes códigos de controle (bilhetes) e 8 milhões de funções internas.

Como Eles Tornaram Isso Útil (O Processo de Três Etapas)

Os autores não apenas despejaram os dados; eles os organizaram em um pipeline:

  1. Recuperar (O Criador de Mapas):
    Eles escanearam cada driver e extraíram as "rotinas de despacho". Pense nisso como identificar o saguão principal de cada estação de serviço e listar cada tipo de bilhete (código IOCTL) que pode ser usado ali. Eles fizeram isso para edifícios antigos e novos, cobrindo 80% de todos os drivers.

    • Vitória Chave: Eles encontraram os "edifícios antigos" (32 bits) que os Super-Scanners não conseguiam tocar.
  2. Enriquecer (O Avaliador de Risco):
    Nem todo bilhete é perigoso. Eles usaram uma IA inteligente (um LLM) para olhar apenas para os saguões mais suspeitos — aqueles com seguranças fracos (acesso permissivo) e fechaduras quebradas (entrada não verificada). A IA não adivinhou; ela olhou para os detalhes específicos da planta que o Criador de Mapas encontrou e deu uma "classificação de risco" (Crítico, Alto, Médio).

    • Vitória Chave: Eles não perderam tempo classificando estações seguras. Eles focaram apenas nas que pareciam perigosas.
  3. Classificar (A Lista de Prioridades):
    Finalmente, eles criaram uma lista pesquisável. Em vez de um pesquisador ter que adivinhar qual dos 27.000 drivers verificar primeiro, ele agora pode perguntar: "Mostre-me todos os drivers com um tipo de bilhete específico e perigoso", ou "Mostre-me as 100 estações mais arriscadas".

O Que Eles Descobriram

  • O Mapa é Real: Eles verificaram seu mapa contra vulnerabilidades conhecidas. Por exemplo, encontraram um driver perigoso conhecido (o driver de vídeo da NVIDIA) e viram que ele foi classificado muito alto em sua lista de perigo, provando que o sistema funciona.
  • A "Cidade Velha" está Cheia: Ao incluir os drivers de 32 bits, eles descobriram uma enorme parte da superfície de ataque que as ferramentas anteriores ignoravam.
  • Cruzamento de Dados: Eles compararam seu método de "leitura de plantas" com os robôs "Super-Scanner". Eles descobriram que, embora os robôs fossem bons em encontrar algumas coisas, eles perdiam muito dos edifícios mais antigos. O método de planta encontrou coisas que os robôs não podiam ver, e vice-versa.

O Que Eles Não Estão Reivindicando

  • Eles não encontraram todos os bugs: Eles encontraram o potencial para bugs (as portas destrancadas), mas não verificaram manualmente cada um deles para ver se realmente funcionava.
  • Eles não estão divulgando a "Lista de Execução": Eles divulgaram o mapa (a estrutura dos drivers) para que os pesquisadores possam fazer seu próprio trabalho. No entanto, mantiveram os "pontos perigosos" específicos (os locais exatos do código dos bugs) privados para evitar que agentes mal-intencionados usem o mapa para atacar computadores imediatamente.
  • Não é uma solução mágica: É uma ferramenta para ajudar pesquisadores a priorizar seu trabalho. Transforma um problema de "procurar uma agulha no palheiro" em um problema de "aqui está uma lista das agulhas mais prováveis".

A Conclusão

Os autores construíram um Google Maps para a Segurança de Drivers do Windows. Antes, os pesquisadores tinham que vagar sem rumo ou depender de uma lista curta de criminosos conhecidos. Agora, eles têm um banco de dados abrangente e pesquisável que mostra exatamente onde as portas estão, quais delas estão destrancadas e quais estão nas partes mais antigas e negligenciadas da cidade. Isso permite que foquem sua energia nos lugares que mais importam.

Afogado em artigos na sua área?

Receba digests diários dos artigos mais recentes que correspondam às suas palavras-chave de pesquisa — com resumos técnicos, no seu idioma.

Experimentar Digest →