
O Google adicionou um novo recurso de segurança aos kernels mais recentes do Linux para dispositivos Android, para evitar ataques de reutilização de código que permitem que invasores realizem a execução de código arbitrário, explorando vulnerabilidades de seqüestro de fluxo de controle.
Em ataques de reutilização de código, os atacantes exploram erros de corrupção de memória (estouro de buffer, tipo confusão ou estouro de inteiro) para assumir os ponteiros de código armazenados na memória e redirecionar o código existente de forma a direcionar o fluxo de controle de sua escolha, resultando em uma ação mal-intencionada.
Como o Android tem muita atenuação para impedir a injeção direta de código em seu kernel, esse método de reutilização de código é particularmente popular entre os hackers para obter execução de código com o kernel devido ao grande número de ponteiros de função que ele usa.
Em uma tentativa de impedir esse ataque, o Google agora adicionou suporte para o Control Flow Integrity (CFI) do LLVM ao kernel do Android como uma medida para detectar comportamentos incomuns de invasores que tentam interferir ou modificar o fluxo de controle de um programa.
Basicamente, Control-Flow Integrity (CFI) é uma política de segurança que garante que a execução do software em tempo de execução deve seguir o caminho de um fluxo de controle (CFG) determinado pelo compilador no momento da compilação.
"A CFI tenta mitigar esses ataques adicionando verificações adicionais para confirmar que o fluxo de controle do kernel permanece dentro de um gráfico pré-computado", disse Sami Tolvanen, Engenheiro de Software da Equipe de Segurança do Android.
"Isso não impede que um invasor altere um ponteiro de função se um bug fornecer acesso de gravação a um, mas restringe significativamente os destinos de chamadas válidos, o que torna a exploração de um bug desse tipo mais difícil na prática."
As verificações extras adicionadas pelo CFI garantirão que os aplicativos ou programas com comportamento incomum sejam automaticamente cancelados.
Integridade de fluxo de controle adicionada ao Android Kernel 4.9 e 4.14
De acordo com o Google, o Google Pixel 3 lançado no início desta semana é o primeiro dispositivo Android a integrar o novo sistema de proteção de código do kernel.
No entanto, o suporte a CFI agora foi adicionado às versões 4.9 e 4.14 do kernel do Android , e o Google recomenda que todos os fornecedores de dispositivos Android ativem o recurso no kernel de seus novos dispositivos arm64 executando o Android 9 para proteção adicional contra vulnerabilidades do kernel.
"O CFI do LLVM protege as ramificações indiretas contra invasores que conseguem obter acesso a um ponteiro de função armazenado na memória do kernel", concluiu Tolvanen. "Isso torna um método comum de explorar o kernel mais difícil."
O Google também planeja proteger endereços de retorno de função de ataques semelhantes, adicionando LLVM '
FONTE:THEHACKERNEWS
Comentários
Postar um comentário