Lançamento do módulo LKRG 0.9.0 para proteger contra a exploração de vulnerabilidades no kernel do Linux

O projeto Openwall publicou o lançamento do módulo kernel LKRG 0.9.0 (Linux Kernel Runtime Guard), projetado para detectar e bloquear ataques e violações da integridade das estruturas do kernel. Por exemplo, o módulo pode proteger contra alterações não autorizadas no kernel em execução e tentativas de alterar as permissões dos processos do usuário (detectando o uso de explorações). O módulo é adequado tanto para organizar a proteção contra explorações de vulnerabilidades já conhecidas do kernel Linux (por exemplo, em situações em que é difícil atualizar o kernel no sistema) quanto para combater explorações de vulnerabilidades ainda desconhecidas. O código do projeto é distribuído sob a licença GPLv2.

Entre as mudanças na nova versão:

  • A compatibilidade é fornecida com kernels Linux de 5.8 a 5.12, bem como com kernels estáveis ​​5.4.87 e posteriores (incluindo inovações de kernels 5.8 e posteriores) e com kernels de versões RHEL até 8.4, mantendo o suporte para todas as versões anteriormente suportadas do kernels, como os kernels do RHEL 7;
  • Adicionada a capacidade de construir o LKRG não apenas como um módulo externo, mas também como parte da árvore do kernel Linux, incluindo sua inclusão na imagem do kernel;
  • Adicionado suporte para muitas configurações adicionais de kernel e sistema;
  • Corrigidos vários erros e deficiências significativas no LKRG;
  • A implementação de alguns componentes do LKRG foi significativamente simplificada;
  • Mudanças foram feitas para simplificar ainda mais o suporte e a depuração do LKRG;
  • Para testar o LKRG, foi adicionada integração com out-of-tree e mkosi;
  • O repositório do projeto foi movido do BitBucket para o GitHub e a integração contínua foi adicionada usando GitHub Actions e mkosi, incluindo a verificação da construção e carregamento do LKRG nos kernels de lançamento do Ubuntu, bem como nas compilações diárias dos kernels principais mais recentes fornecidos pelo Projeto Ubuntu.

Vários desenvolvedores que não estavam envolvidos anteriormente no projeto fizeram contribuições diretas para esta versão do LKRG (por meio de pull requests no GitHub). Em particular, Boris Lukashev adicionou a capacidade de construir como parte da árvore do kernel Linux, e Vitaly Chikunov do ALT Linux adicionou integração com mkosi e GitHub Actions.

No geral, apesar das adições significativas, o número de linhas de código LKRG foi ligeiramente reduzido pela segunda vez consecutiva (também foi reduzido anteriormente entre as versões 0.8 e 0.8.1).

No momento, o pacote LKRG no Arch Linux já foi atualizado para a versão 0.9.0, e vários outros pacotes usam versões git recentes do LKRG e provavelmente serão atualizados para a versão 0.9.0 e posteriores em breve.

Além disso, podemos observar uma publicação recente dos desenvolvedores do Aurora OS (modificação russa do Sailfish OS) sobre o possível fortalecimento do LKRG usando ARM TrustZone.

Para mais informações sobre o LKRG, veja o anúncio da versão 0.8 e a discussão que ocorreu então.

Fonte: opennet.ru

Adicionar um comentário