Ícone do site Blog do Edivaldo – Informações e Notícias sobre Linux

LKRG, um módulo de segurança contra ataques e violações no Kernel

E foi lançado o LKRG 0.8, um módulo de segurança contra ataques e violações no Kernel. Conheça melhor esse módulo e as novidades dessa versão.

O projeto Openwall lançou o lançamento do módulo do kernel LKRG 0.8 (Linux Kernel Runtime Guard), projetado para detectar e bloquear ataques e violações da integridade das estruturas do kernel.

O módulo é adequado tanto para organizar a proteção contra explorações conhecidas no kernel do Linux (por exemplo, em situações em que é problemático atualizar o kernel no sistema) quanto para opor explorações a vulnerabilidades desconhecidas.

LKRG, um módulo de segurança contra ataques e violações no Kernel – lançado o LKRG 0.8

LKRG, um módulo de segurança contra ataques e violações no Kernel

Nesta nova versão, o posicionamento do projeto LKRG foi alterado, que agora não é dividido em subsistemas separados para verificar a integridade e determinar o uso de explorações, mas é apresentado como um produto completo para identificar ataques e várias violações de integridade;

Quanto à compatibilidade, nesta nova versão, podemos descobrir que ele é compatível com os kernels do Linux 5.3 a 5.7, bem como com os kernels compilados com otimizações agressivas do GCC, sem as opções CONFIG_USB e CONFIG_STACKTRACE ou com a opção CONFIG_UNWINDER_ORC, bem como com núcleos onde não há funções interceptadas pelo LKRG, se você puder prescindir.

Além do suporte experimental para plataformas ARM de 32 bits (testado no Raspberry Pi 3 Modelo B), foi adicionado, enquanto no suporte anterior disponível para o AArch64 (ARM64), ele é complementado pela compatibilidade com o Raspberry Pi 4.

Por outro lado, novos ganchos foram adicionados, incluindo um manipulador de chamadas “hook()” para identificar melhor vulnerabilidades que manipulam “recursos”, em vez de identificadores de processo.

Nos sistemas x86-64, o bit SMAP (Supervisory Mode Access Prevention), projetado para bloquear o acesso aos dados no espaço do usuário a partir do código privilegiado executado no nível do kernel, é verificado e aplicado. A proteção SMEP (Supervisor Mode Execution Prevention) foi implementada anteriormente.

A escalabilidade do banco de dados de rastreamento de processos foi aumentada: em vez de uma única árvore RB protegida por um spinlock, uma tabela de hash de 512 árvores RB está envolvida, protegida por 512 bloqueios de leitura e gravação, respectivamente;

Um modo padrão é implementado e ativado, no qual a verificação da integridade dos identificadores de processo geralmente é realizada apenas para a tarefa atual e, opcionalmente, para as tarefas ativadas (ativar). Para outras tarefas que estão em estado suspenso ou que funcionam sem uma chamada de API do kernel controlada por LKRG, a verificação é feita com menos frequência.

Além disso, o arquivo da unidade systemd foi reprojetado para carregar o módulo LKRG em um estágio inicial de carregamento (a opção de linha de comando do kernel pode ser usada para desativar o módulo);

Durante a compilação, algumas das configurações obrigatórias do kernel CONFIG_* foram verificadas para gerar mensagens de erro significativas em vez de falhas pouco claras.

Das outras mudanças que se destacam nesta nova versão:

Se você quiser saber mais sobre isso, verifique os detalhes nesse endereço.

O que está sendo falado no blog

Blog do Edivaldo – Informações e Notícias sobre Linux

Ir para o topo