Projeto Openwall lançamento do módulo do núcleo (Linux Kernel Runtime Guard), que fornece a detecção de alterações não autorizadas no núcleo em funcionamento (verificação de integridade) ou tentativas de alteração dos privilégios dos processos do usuário (detecção de exploração). O módulo é adequado tanto para a proteção contra exploits já conhecidos para o núcleo Linux (por exemplo, em situações onde é difícil atualizar o núcleo) quanto para enfrentar exploits de vulnerabilidades ainda desconhecidas. É possível ler sobre as particularidades do LKRG em .
Entre as mudanças na nova versão:
- Foi realizado um refatoração de código para garantir suporte a várias arquiteturas de CPU. O suporte inicial para a arquitetura ARM64 foi adicionado;
- Compatibilidade garantida com núcleos Linux 5.1 e 5.2, bem como com núcleos compilados sem a inclusão das opções CONFIG_DYNAMIC_DEBUG durante a compilação do núcleo,
CONFIG_ACPI e CONFIG_STACKTRACE, e com núcleos compilados com a opção CONFIG_STATIC_USERMODEHELPER. Adicionado suporte experimental para núcleos do projeto grsecurity; - A lógica de inicialização foi significativamente alterada;
- No subsistema de verificação de integridade, o auto-hash (self-hashing) foi reativado e um estado de corrida foi eliminado no mecanismo de rótulos de transição (*_JUMP_LABEL), o que levava a bloqueios mútuos durante a inicialização simultânea com eventos de carregamento ou descarregamento de outros módulos;
- No código de detecção de exploração, novos sysctl lkrg.smep_panic (ativado por padrão) e lkrg.umh_lock (desativado por padrão) foram adicionados, além de verificações adicionais do bit SMEP/WP, a lógica de rastreamento de novas tarefas no sistema foi alterada, a lógica interna de sincronização com os recursos das tarefas foi revisada, e suporte ao OverlayFS foi adicionado, sendo o Ubuntu Apport colocado na lista branca.
Fonte: opennet.ru
