LKRG 0.9.4 chega com suporte para OpenRC, Linux 5.15.40+ e mais

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

O LKRG é embalado como um módulo de kernel carregável que tenta detectar alterações não autorizadas em um kernel em execução (verificação de integridade) ou alterações nas permissões dos processos do usuário (detecção de vulnerabilidade).

A verificação de integridade é realizada com base em uma comparação de hashes computados para as áreas de memória mais importantes e estruturas de dados do kernel (IDT (Interrupt Description Table), MSR, tabelas de chamadas do sistema, todos os procedimentos e funções, manipuladores de interrupção, listas de módulos carregados, conteúdo da seção .text de módulos, atributos de processo, etc.).

O procedimento de verificação é ativado periodicamente por meio de um temporizador e quando vários eventos do kernel ocorrem (por exemplo, quando as chamadas de sistema setuid, setreuid, fork, exit, execve, do_init_module, etc. são executadas).

Sobre o Linux Kernel Runtime Guard

A detecção do possível uso de exploits e o bloqueio de ataques são realizados no estágio anterior ao kernel fornecer acesso aos recursos (por exemplo, antes de abrir um arquivo), mas após o processo ter recebido permissões não autorizadas (por exemplo, alterar o UID ) .

Quando o comportamento não autorizado dos processos é detectado, eles são encerrados à força, o que é suficiente para bloquear muitas explorações. Como o projeto está em fase de desenvolvimento e as otimizações ainda não foram feitas, os custos operacionais gerais do módulo são de aproximadamente 6.5%, mas no futuro está previsto reduzir significativamente esse valor.

O módulo é adequado tanto para organizar a proteção contra exploits já conhecidos para o kernel Linux para combater explorações de vulnerabilidades ainda desconhecidas, se não utilizarem medidas especiais para contornar o LKRG.

Os autores não excluem a presença de erros no código LKRG e possíveis falsos positivos, portanto, os usuários são convidados a comparar os riscos de possíveis erros no LKRG com os benefícios do método de proteção proposto.

Das propriedades positivas do LKRG, nota-se que o mecanismo de proteção é feito na forma de um módulo carregável, e não um patch de kernel, o que permite que ele seja usado com kernels de distribuição regular.

Principais novos recursos do LKRG 0.9.4

Nesta nova versão do módulo que se apresenta, destaca-se que adicionado suporte para o sistema de inicialização OpenRC, além de adicionar instruções de instalação usando DMMS.

Outra mudança que se destaca nesta nova versão é que fornece compatibilidade com kernels LTS do Linux 5.15.40+.

Além disso, destaca-se também que o design da saída da mensagem para o log foi redesenhado para simplificar a análise automatizada e facilitar a percepção durante a análise manual e que as mensagens LKRG possuem suas próprias categorias de log, o que facilita a separação das o resto das mensagens do kernel.

Por outro lado, também é mencionado que mudou o nome do módulo do kernel de p_lkrg para lkrg e que a versão antiga do LKRG 0.9.3 ainda é funcional nas versões mais recentes do kernel (5.19-rc* até agora). No entanto, para compatibilidade de longo prazo com Kernels 5.15.40+, não é assim que algumas alterações feitas na versão 0.9.4 devem ser aplicadas.

Também é mencionado que algumas mudanças estão sendo consideradas relacionado (mas provavelmente diferente) para inclusão na autodefesa do LKRG, por exemplo, sua configuração de tempo de execução está em uma página de memória que é mantida somente leitura na maioria das vezes, entre outras melhorias.

Finalmente se você estiver interessado em saber mais sobre isso, você pode verificar os detalhes no link a seguir

Em particular, o módulo foi testado com o kernel RHEL, OpenVZ/Virtuozzo e Ubuntu. No futuro será possível organizar o processo de construção com compatibilidade binária para diferentes distribuições populares.


Seja o primeiro a comentar

Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.