- MIT CSAIL desenvolveu o Fractal, um kernel criado do zero para entender melhor o funcionamento de processadores, já revelando comportamento novo no Apple M1.
- Fractal bootstraps diretamente no hardware, sem sistema operacional intermediário, permitindo experiments com privilégios de kernel dentro do mesmo espaço de memória, reduzindo ruído de fundo.
- No M1, a proteção CSV2 impede que código de usuário direcione a execução especulativa do kernel na fase de previsão de ramos indiretos, mas há fetch do alvo no cache antes da proteção entrar em ação.
- A equipe também encontrou Phantom speculation no Apple Silicon, com fetches bem-sucedidos entre privilégios diferentes e espaços de memória, ainda que a fase de execução seja bloqueada.
- O Fractal é infraestrutra de pesquisa ampla (x86_64, ARM64, RISC-V), com mais de 31 mil linhas de código e ferramentas familiares; Apple participou da revisão, e o projeto recebeu apoio de NSF, AFOSR e ACE, sendo apresentado no IEEE Symposium on Security and Privacy.
Fractal é um kernel desenvolvido no MIT para estudar como chips realmente operam. A equipe da CSAIL criou um sistema que funciona direto no hardware, oferecendo visão mais clara do funcionamento interno de processadores e já revelou comportamento desconhecido no M1 da Apple. O objetivo é entender melhor estruturas como preditores de ramificação e caches.
Ao contrário de experimentos em macOS ou Linux, que misturam configurações, Fractal boota no modo bare metal e executa experimentos com privilégio único, reduzindo ruídos. O conceito central é a concorrência de múltimos privilégios, com uma nova construção chamada thread de kernel externo. Isso permite medir em uma mesma área de memória ações de usuário e do kernel.
O que foi encontrado no M1
A Apple utiliza uma variação ARM chamada CSV2, que deveria impedir que código em nível de usuário influencie a predição especulativa do kernel. Fractal confirmou que a proteção funciona na fase de execução de predição indireta, mas o carregamento inicial de alvos acontece antes da proteção, gerando canal lateral observável.
Também houve evidência de Phantom, uma classe de erro de predição já demonstrada em AMD e Intel. No M1, Phantoms podem ocorrer entre níveis de privilégio e espaços de endereço, ainda que a execução esteja bloqueada. Além disso, um experimento separando evidenciou que o treinamento cruzado do preditor de ramos não possui isolamento de privilégio em nenhuma core, desmontando estudo anterior.
Desenho técnico e propósito
Fractal funciona com x86_64, ARM64 e RISC-V, reunindo mais de 31 mil linhas de código. O kernel oferece chamadas POSIX, biblioteca C e portas de ferramentas como vim, GCC e dash, facilitando a migração de código de experimentos existentes.
A equipe reportou os resultados à Apple, que analisou o Fractal em parceria com os pesquisadores. A ideia de longo prazo é tornar Fractal uma infraestrutura de pesquisa de microarquitetura, semelhante a ferramentas como QEMU, promovendo maior confiabilidade e reduced noise nos experimentos.
Equipe e apoio
Liderado por Joseph Ravichandran, doutorando do MIT, o projeto envolveu Mengjia Yan, professora associada do EECS, e contou com financiamento parcial da NSF, DoD e outras entidades. Os resultados foram apresentados no IEEE Symposium on Security and Privacy, em San Francisco.
Entre na conversa da comunidade