Pesquisadores do MIT desenvolveram uma nova classe de ataque de execução especulativa que contorna as defesas existentes contra a famosa vulnerabilidade Spectre v2. Batizado de TONTOU, o método explora uma brecha fundamental na segurança de processadores modernos da Intel e AMD, reabrindo um debate que a indústria acreditava estar sob controle.

O ataque, detalhado em uma reportagem do The Register, mina a premissa central das mitigações atuais: a de que o intervalo de tempo entre a "neutralização" de segurança do processador e o uso de seu código protegido é seguro. A pesquisa de Daniël Trujillo e Mengjia Yan, do Laboratório de Ciência da Computação e Inteligência Artificial do MIT (CSAIL), demonstra que essa janela não é inviolável, representando um desafio arquitetônico persistente.

O tempo contra o chip

As defesas contra ataques como o Spectre, como a eIBRS da Intel e a Safe RET da AMD, funcionam "limpando" o estado do preditor de ramificação (branch predictor) do processador antes da execução de código sensível. Essa higienização visa impedir que um agente malicioso influencie o caminho especulativo que a CPU toma, evitando o vazamento de dados.

O ataque TONTOU — um acrônimo para "Time-of-Neutralization to Time-of-Use" (Do Tempo de Neutralização ao Tempo de Uso) — invalida essa proteção. Ele utiliza uma técnica chamada "injeção de interrupção": um programa sem privilégios agenda interrupções de temporizador de alta frequência, na esperança de que uma delas ocorra precisamente na minúscula janela de tempo após a limpeza, mas antes da execução. Se bem-sucedida, essa interrupção desvia o fluxo de controle, permitindo que o atacante "reenvenene" o preditor de ramificação e engane a CPU para que ela vaze dados do kernel por meio de um canal lateral.

Praticidade e pragmatismo

Embora complexo, o ataque se provou prático. Os pesquisadores construíram um exploit completo para processadores AMD Zen 2, conseguindo quebrar a randomização do espaço de endereçamento do kernel (KASLR) do Linux e vazar o hash da senha de root em metade das tentativas. Cada tentativa levou cerca de 18 minutos, um tempo viável em ambientes de nuvem multi-tenant, onde um contêiner poderia atacar o kernel compartilhado.

A reação da indústria expõe um dilema. A AMD se comprometeu a desenvolver patches de kernel para mitigar o problema. A Intel, por sua vez, embora tenha concedido um prêmio do seu programa de bug bounty, afirmou que não desenvolverá novas mitigações, argumentando que a exploração no mundo real é improvável. A Arm classificou o método como "vazamento passivo", contra o qual não se protege ativamente.

O surgimento do TONTOU é um lembrete sóbrio de que vulnerabilidades de execução especulativa são um problema de design, não um simples bug a ser corrigido. A divergência nas respostas dos fabricantes sinaliza que a indústria ainda não tem um consenso sobre a profundidade necessária das defesas, deixando o cálculo de risco para provedores de nuvem e seus clientes.

Com reportagem de Brazil Valley

Source · The Register