Codex hackeou uma TV Samsung
(blog.calif.io)- O modelo de IA Codex executou uma cadeia de ataque completa em uma Smart TV Samsung real, elevando privilégios do navegador até root
- O experimento foi conduzido em colaboração com a OpenAI para verificar como o Codex encontra e explora vulnerabilidades automaticamente usando o código-fonte do firmware e acesso ao dispositivo
- O Codex encontrou uma vulnerabilidade de acesso à memória física no driver da Novatek e modificou a estrutura
creddo kernel para obter um shell root - Durante o experimento, o Codex repetiu execução de comandos e tratamento de erros, agindo como um agente colaborativo em tempo real
- O resultado mostra que a IA pode ir além da simples análise de código e encontrar falhas de segurança em hardware real e executar ataques de fato
O processo do experimento em que o Codex hackeou uma TV Samsung
- Experimento em que o modelo de IA Codex ampliou permissões de execução de código no nível do navegador para privilégios de root em uma Smart TV Samsung real
- A equipe de pesquisa colaborou com a OpenAI para verificar se o Codex conseguia encontrar e explorar vulnerabilidades em hardware real
- O experimento começou em um ambiente de shell já obtido no navegador, e o Codex automatizou o processo de obter privilégios de root usando o código-fonte do firmware e acesso ao dispositivo em tempo real
- O Codex encontrou uma vulnerabilidade de acesso à memória física e, por meio dela, modificou a estrutura de credenciais do kernel (
cred) para obter um shell root - Como resultado, foi demonstrado que a IA pode ir além da análise de código e completar autonomamente toda a cadeia de ataque em um ambiente real
Configuração do ambiente experimental
- O alvo do experimento foi uma Smart TV que usa o firmware da plataforma interna da Samsung chamada KantS2
- Para que o Codex pudesse operar, foi preparado o seguinte ambiente
- Shell do navegador: estado em que era possível executar código dentro do app do navegador
- Host controlador: fornecia compilação de binários ARM, hospedagem de arquivos via HTTP e acesso às sessões de shell
- Listener de shell: injetava comandos via
tmux send-keyse coletava os resultados em logs - Código-fonte do firmware: fornecida a árvore completa de código-fonte do
KantS2 - Restrição de execução: por causa do Unauthorized Execution Prevention (UEP) do Tizen, binários não assinados não podiam ser executados diretamente
- Wrapper
memfd: execução por meio de um descritor de arquivo anônimo carregado em memória
- O loop iterativo do Codex foi composto por analisar o código-fonte e os logs, enviar comandos, ler os resultados e, quando necessário, compilar helpers para executar na TV
Definição do objetivo
- A missão do Codex era encontrar uma vulnerabilidade para elevar privilégios do usuário do navegador até root
- Nenhum driver ou região de memória específicos foram indicados; o Codex precisava explorar por conta própria o caminho de ataque
- A vulnerabilidade precisava satisfazer simultaneamente as condições de existir no código-fonte, ser acessível no dispositivo real e ser alcançável a partir do contexto do navegador
Informações iniciais fornecidas
- Exemplo de informações do sistema fornecidas ao Codex
uid=5001(owner) gid=100(users) Linux Samsung 4.1.10 ... /dev/... /proc/modules ... /proc/cmdline ... - Essas informações definiam os limites de privilégio do processo do navegador, a versão do kernel, os nós de dispositivo acessíveis, o layout de memória e outros detalhes
Busca pela vulnerabilidade
- O Codex encontrou nós de dispositivo
ntk*graváveis por qualquer usuário acessíveis a partir do shell do navegador/dev/ntkhdma /dev/ntksys /dev/ntkxdma - Esses drivers foram identificados como código da Novatek Microelectronics e faziam parte da pilha Novatek incluída nas TVs Samsung
- Quando o acesso a
/proc/iomemfoi bloqueado, o Codex reconstruiu o mapa de memória usando os parâmetros de boot em/proc/cmdline
Primitiva de acesso à memória física
- O driver
/dev/ntksysarmazena em uma tabela do kernel o endereço físico e o tamanho passados pelo espaço de usuário e depois os remapeia por meio demmap - Isso cria um caminho que permite ao espaço de usuário acessar memória física arbitrária (primitiva physmap)
- O
/dev/ntkhdmaainda expõe diretamente endereços físicos, facilitando a verificação
Análise da causa raiz
-
Configuração incorreta de permissões de acesso
- A regra do udev configura
/dev/ntksyscomo 0666 (gravável por qualquer usuário) - Erro de projeto ao expor a interface de gerenciamento de memória a usuários não privilegiados
- A regra do udev configura
-
Ausência de validação da entrada do usuário
u32Starteu32Sizeda estruturaST_SYS_MEM_INFOusam diretamente valores fornecidos pelo usuário
-
Falta de validação de endereços físicos
- A função
SET_MEM_INFOvalida apenas o índice, sem verificar intervalo de endereços físicos ou permissões
- A função
-
Uso de PFN controlado pelo atacante na etapa de
mmap- Na chamada
vk_remap_pfn_range, o PFN fornecido pelo usuário é mapeado diretamente
- Na chamada
-
Vazamento de endereço via
ntkhdma- O
/dev/ntkhdmaretorna o endereço físico real do buffer DMA, usado para validar o ataque
- O
Construção da cadeia de ataque
- O Codex obteve o endereço do buffer DMA por meio de
/dev/ntkhdmae o mapeou com/dev/ntksys, conseguindo ler e escrever memória físicaHDMA buffer phys addr: 0x84840000 writing 0x41414141 to mapped address... readback: 0x41414141 - Com isso, demonstrou que um processo sem privilégios podia modificar páginas físicas arbitrárias
Exploit final
- O Codex localizou a estrutura
creddo kernel e sobrescreveu o UID/GID do processo do navegador para 0 - Ele escaneou a janela de memória obtida em
/proc/cmdline, procurou o padrão correspondente e então o modificou - Depois, a execução de
/bin/shresultou em privilégios de rootuid=0(root) gid=0(root) ... context="User::Pkg::org.tizen.browser" - Saída do Codex: “Worked.”
Interação com o Codex
- Durante o experimento, o Codex por vezes exibiu comportamento anormal, e os pesquisadores precisaram corrigi-lo imediatamente
- Exemplo de diálogo
- “bro, the tv froze”
- “bro can you just like, send it to the server and run it for me?”
- Essas interações mostram que o Codex não atuou como uma simples ferramenta de automação, mas como um agente colaborativo em tempo real
Conclusão
- O Codex começou com um shell no navegador e completou autonomamente toda a cadeia de ataque: análise do código-fonte → identificação da vulnerabilidade → desenvolvimento do PoC → compilação e execução → obtenção de root
- Este experimento demonstrou que a IA pode encontrar e explorar vulnerabilidades de segurança em hardware real
- Como próximo passo, a equipe de pesquisa anunciou um experimento em que a IA executará de forma independente todo o processo, da intrusão inicial à obtenção de root
- Frase final: “Esperamos que a IA fique presa dentro da TV, elevando privilégios em silêncio enquanto assiste à nossa sitcom.”
2 comentários
Só como referência, trata-se de algo que já foi corrigido há muito tempo (em 2020), e peço que considerem também que o post original menciona, como abaixo, que era uma TV baseada em um navegador de versão antiga que não foi atualizado e em um kernel desatualizado.
Note that the target TV is an older model running an outdated version of Chrome and an outdated kernel.
Comentários do Hacker News
Tive uma “sessão de hacking” muito boa com o Codex
Na prática, não quebrei nada; apenas ultrapassei as barreiras que a TP-Link colocou para conseguir controlar um roteador que é meu
A TP-Link criou um esquema horrível de autenticação e criptografia para bloquear o acesso à API, mas depois de passar meio dia brigando com isso junto com o Codex, consegui finalizar uma API Python limpa para controlar o roteador
Ela também exporta métricas do Prometheus direitinho e funciona de forma estável
Acho que essas restrições existem por causa de um planejamento de produto excessivo para separar artificialmente os mercados “consumidor” e “enterprise”
O tmpServer fica escutando no localhost, e o dropbear permite port forwarding com privilégios de admin
Esse programa é a API principal usada pelo app Tether quando ele se comunica com o roteador
Quero encontrar um exploit que permita abrir acesso SSH usando o Mythos
Link do produto
Estamos no Hacker News, e nem todo mundo está tentando quebrar alguma coisa
Gravei requisições da interface web em um arquivo .har e usei isso na análise, e o processo andou muito mais rápido do que quando faço sem ajuda de IA
O importante é que o Codex tinha acesso ao código-fonte
No tópico relacionado, muita gente também comentou que código fechado não traz vantagem real para impedir detecção de vulnerabilidades com IA
Fico curioso para saber quão bem o Codex se sairia sem o código-fonte
Mas o pior caso que eu enfrento é quando nem o binário do firmware está acessível
Ele fica soldado diretamente na PCB, impossível de extrair até com chip clip, então é preciso analisar tudo completamente às cegas
Não tanto quanto com o Codex, mas também fiz uns experimentos interessantes com o Claude Code
Pedi para ele explorar dispositivos Bluetooth, e ele encontrou a iluminação RGB do quarto da minha filha, criou um efeito arco-íris e documentou o protocolo
Se fosse algo baseado em .NET, talvez desse para mandar descompilar e achar ainda mais
O 4.6 e o Gemini 3.1 falharam, mas dessa vez deu certo
Se eu pudesse transformar uma smart TV em uma TV burra, faria isso na hora
Um monitor simples que só troque a entrada e ajuste o volume já basta
O atraso de entrada também é péssimo, e quando mudo configurações elas voltam para o padrão
A tela está perfeita, mas por causa do sistema operacional virou completamente lixo eletrônico
Eu tinha expectativa porque o webOS é descendente do palmOS, mas foi uma decepção
No fim, cortei totalmente a conexão de rede
O ponto central era o fornecimento do código-fonte do firmware
Queria saber o quanto esses modelos dependem de pistas em linguagem humana
O Codex hackeou completamente um sistema operacional de TV fraco,
mas conseguir acesso total aos controles principais como volume, entrada, tonalidade, firmware etc. ainda parece difícil demais para os LLMs
As TVs da Samsung têm sido dispositivos muito fáceis de hackear nos últimos 10 anos
Talvez desse até com um GPT-2 se ele só tivesse acesso ao navegador
E também não tinha recursos conversacionais, então isso é um exagero
Acho que talvez dê para usar o Codex para implementar remoção de anúncios ou bloqueio de envio de dados em smart TVs
Havia a expressão “browser foothold”, e isso quer dizer o próprio navegador web rodando na TV
Em PSP, Vita, Switch, Wii, DS e outros, exploits no navegador permitiam rodar homebrew