Guardando o kernel contra mudanças não autorizadas.
O pessoal da OpenWall pediu assistência para criar um módulo de segurança para assistir os kernels do Linux por atividades suspeitas.
Na explicação da empresa , o Linux Kernel Runtime Guard (LKRG) é descrito como um módulo que "tenta postar-detectar e, esperamos, prontamente responder a modificações não autorizadas para o kernel Linux (verificação de integridade) em execução ou para credenciais (como IDs de usuário) dos processos em execução (detecção de exploração) ".
Desenvolvido por Adam Zabrocki ( @ adam_pi3 ) e agora defendido pela OpenWall, o primeiro corte do código desembarcou na semana passada.
É imperfeito por enquanto e o OpenWall admite: "Enquanto o LKRG derrota muitas vulnerabilidades pré-existentes das vulnerabilidades do kernel do Linux e provavelmente irá derrotar muitas explorações futuras (inclusive de vulnerabilidades desconhecidas) que não tentam, especificamente, ignorar a LKRG, é passível de design (embora, às vezes, à custa de façanhas mais complicadas e / ou menos confiáveis) ".Announcing our most controversial project ever: Linux Kernel Runtime Guard is an LKM that post-detects kernel exploits https://t.co/ncZibh0MZn— Openwall (@Openwall) 29 de janeiro de 2018
O wiki do LKRG explica que funciona calculando hashes de regiões, seções e estruturas de kernel importantes contra os "hashes de banco de dados interno".
Idealmente, o LKRG deve ser executado em um sistema de limpeza conhecida (isto é, depois que uma nova instalação foi inicializada); Ele cria seu banco de dados confiável de hashes contra esse ambiente, e usa esses hashes para observar mudanças.
Como este é um primeiro corte do LKRG (como é, é a versão 0.0), existe uma lista importante de tarefas. Atualmente, ele cobre dados críticos de CPU / núcleo para arquiteturas x86 e amd64; a .textseção Linux Kernel (as notas dizem "isso abrange quase o kernel completo do Linux, como as tabelas syscall, todos os procedimentos, todas as funções, todos os manipuladores de IRQ, etc."), a tabela de exceção do kernel do Linux, a .rodataseção de somente leitura , os mapeamentos IOMMU I / O e os módulos carregados.
OpenWall disse que o LKRG foi testado em vários cenários e, ao mesmo tempo, observa os tipos de limitações que se aplicam:
"Nos nossos testes em núcleos de distro vulneráveis, o LKRG detectou com sucesso algumas explorações pré-existentes do CVE-2014-9322 (BadIRET), CVE-2017-5123 (waitid (2) missing access_ok), CVE-2017-6074 (use-after- livre no protocolo DCCP). No entanto, não seria esperado detectar exploits do CVE-2016-5195 (Dirty COW), uma vez que aqueles direcionam diretamente o espaço do usuário, mesmo que através do kernel "
Zabrocki também possui um Patreon para o projeto.
Fonte
Até a próxima!!
Nenhum comentário:
Postar um comentário