- Alerta de spoiler: "É possível."
- Tema: quando não há bugs, são necessários métodos criativos, e a injeção de falhas em hardware pode ser a solução. Isso inclui corrupção de dados de controle de software, glitch de energia, glitch de clock, pulso eletromagnético, laser etc.
- Injeção de falhas em hardware: normalmente exige equipamentos caros, mas um método barato é usar um acendedor piezoelétrico de churrasco combinado com um indutor como ferramenta de injeção de falhas eletromagnéticas (EMFI).
Alvo de teste
- Equipamento: notebook Samsung S3520, CPU Intel i3-2310M, 1GB de RAM DDR3.
- Objetivo: criar um exploit local de escalonamento de privilégios baseado em falhas de hardware.
- Método: injetar uma falha em um dos pinos DQ do barramento DDR para induzir erros de memória.
Exploit de bit flip no CPython
- Objetivo: criar um exploit de "escape da sandbox" no CPython.
- Estratégia: criar uma estrutura falsa de
bytearray dentro de um objeto bytes e induzir o CPython a fornecer uma referência a esse objeto falso.
Exploit de bit flip no Linux
- Objetivo: obter privilégios de root a partir de um usuário Linux sem privilégios.
- Conceitos-chave: cache de memória, memória virtual e tabelas de páginas, buffer de lookaside de tradução (TLB).
- Estratégia: mapear tabelas de páginas em memória acessível ao usuário para permitir acesso a memória física arbitrária.
Uso prático
- Aplicação: um LPE no Windows usando EMFI para ajudar gamers a retomar o controle de seus PCs.
- Possibilidade futura: possibilidade de implementar um exploit automatizado instalando um RP2040 em uma "gaming RAM".
Resumo do GN⁺
- Este artigo explica como explorar vulnerabilidades de segurança em software e hardware por meio de injeção de falhas em hardware de baixo custo.
- A injeção de falhas em hardware é possível mesmo sem equipamentos caros e mostra a possibilidade de atravessar diversas fronteiras de segurança.
- Este artigo ajuda a entender a interação entre hardware e software e pode ser útil para pesquisadores de segurança ou hackers.
- Um projeto com funcionalidade semelhante inclui técnicas de injeção de falhas em memória como o Rowhammer.
2 comentários
Isso me lembra de tirar o ignitor do isqueiro para levantar as moedas das máquinas de fliperama.
Comentários do Hacker News
Obter acesso root no Switch 2 foi a inspiração, e obter acesso root no Linux foi a POC. O objetivo era recuperar a posse do hardware sem quebrar o TPM nem o anti-cheat de ring 0 dos jogos
Com acesso físico, é possível regravar a BIOS ou instalar um backdoor em drivers. No entanto, se o disco estiver criptografado, esse tipo de hack não é possível
Alguém achou que o texto dizia que obtiveram acesso root em um isqueiro. Como o forno dos pais recebe atualizações de software regularmente, não duvidou que um isqueiro pudesse ser inteligente
Em "0x100_0000", o propósito do "_" não altera nada. Não afeta o valor numérico
Isso lembra exploits em gabinetes de arcade em Sydney nos anos 80 e 90. Era possível adicionar créditos ao jogo usando um acendedor piezoelétrico
Este é o tipo de conteúdo que se espera ver no HN. O talento de algumas pessoas é impressionante. Fico pensando quanto tempo leva para adquirir esse tipo de habilidade
Não é apenas um exploit divertido, mas também uma ótima mini-introdução a como funciona o cache da CPU. Fico me perguntando se alguém se lembra daquele site que explicava como os computadores funcionam, começando pelos portas lógicas
"Só é preciso um resistor de 15 ohms e um fio soldado ao DQ26. O fio funciona como uma antena, despejando interferência eletromagnética próxima diretamente no barramento de dados"
Eu o sigo no Mastodon, e esse post também é ótimo. Há um vídeo no Mastodon mostrando o acesso root