Rootkit FlipSwitch explora syscalls Linux

há 1 semana 13

Pesquisadores identificaram uma nova técnica de rootkit chamada FlipSwitch que consegue contornar as defesas recentes do kernel Linux ao inserir hooks diretamente no código compilado do despachante de syscalls. A técnica surgiu após a mudança introduzida no kernel 6.9, que trocou a tabela tradicional syscall_table por um dispatch em switch dentro da função x64_syscall, encerrando vetores antigos de sobrescrita de ponteiros e abrindo uma nova superfície de ataque explorada pelo FlipSwitch.

Leia também
Polícia de SC prende hacker acusado de invasões
Como o Google usa I.A. para migrar seu próprio código

O rootkit localiza o ponto de chamada correspondente ao syscall alvo no código bruto de x64_syscall, desabilita temporariamente a proteção de escrita em memória do CPU ao limpar o bit WP do registrador CR0, e reescreve o deslocamento relativo da instrução call para desviar execução a um callback malicioso. Após a execução do callback, o código original é restaurado e as proteções são reativadas, reduzindo vestígios forenses. A infiltração inicial usa um carregador em duas fases camuflado num módulo legítimo que obtém endereços de símbolos via kprobe e kallsyms_lookup_name.

Para persistência, o carregador remove seus próprios artefatos após aplicar o patch, deixando apenas a instrução alterada na memória até a remoção do módulo ou o reboot do sistema. Essa abordagem evita alterações em estruturas de dados públicas do kernel, tornando detectáveis apenas anomalias em execução de syscalls ou integridade do código em memória. Pesquisadores alertam que ambientes em infraestrutura crítica e nuvem podem ser particularmente afetados por ataques que restaurem chamadas de sistema sem alterar metadados do kernel.

Como medidas urgentes de mitigação, recomenda-se monitoramento avançado de integridade de memória e de código executável em kernel, reforço de políticas de carregamento de módulos incluindo assinatura obrigatória e controle estrito de quem pode inserir módulos, e caça a indicadores de kprobe e alterações em x64_syscall. Ferramentas de EDR/EDR para kernel e verificações periódicas de hashes do código em memória ajudam a detectar esse tipo de manipulação sofisticada.

Ler artigo completo