Após anos de inúmeras revisões, discussões e reescritas de códigos, Linus Torvalds aprovou no último sábado um novo recurso de segurança para o kernel Linux, chamado “lockdown”. Assim, com ele, o Linux obtém recurso de ‘bloqueio’ do kernel.
O novo recurso será enviado como um LSM (Linux Security Module) na ramificação do kernel 5.4 do Linux, a ser lançada em breve, onde será desativada por padrão. Portanto, o uso será opcional devido ao risco de quebrar os sistemas existentes.
Colocando uma trava na conta raiz
A função principal do novo recurso será fortalecer a divisão entre os processos do usuário e o código do kernel. Assim, isso deve impedir que até a conta raiz interaja com o código do kernel.
Quando ativado, o novo recurso de “bloqueio” restringe algumas funcionalidades do kernel, mesmo para o usuário root, dificultando o comprometimento do restante do sistema operacional pelas contas raiz.
O módulo de bloqueio visa permitir que os kernels sejam bloqueados no início do processo de inicialização, disse Matthew Garrett, engenheiro do Google que propôs o recurso há alguns anos.
Quando ativado, várias partes da funcionalidade do kernel são restritas, disse Linus Torvalds, criador do kernel do Linux e quem colocou o selo final de aprovação no módulo ontem.
Isso inclui restringir o acesso aos recursos do kernel que podem permitir a execução arbitrária de código via código fornecido pelos processos da terra do usuário; impedindo processos de escrever ou ler / dev/mem e /dev/kmem memory;; bloquear o acesso à abertura /dev/port para impedir o acesso bruto à porta; imposição de assinaturas de módulos do kernel; e muitos outros, detalhados aqui.
Dois modos de bloqueio
O novo módulo suportará dois modos de bloqueio. São eles: “integridade” e “confidencialidade”. Cada um é único e restringe o acesso a diferentes funcionalidades do kernel.
Então, se definido como integridade, os recursos do kernel que permitem que o usuário modifique o kernel em execução são desativados, disse Torvalds.
Porém, se definido como confidencialidade, os recursos do kernel que permitem que recursos do usuário extraia informações confidenciais do kernel também são desativados.
Do mesmo modo, se necessário, outros modos de bloqueio também podem ser adicionados. Porém, isso exigirá um patch externo, no LSM de bloqueio.
Linux obtém recurso de ‘bloqueio’ do kernel depois de quase 10 anos
O trabalho no recurso de bloqueio do kernel começou no início de 2010 e foi liderado pelo engenheiro do Google, Matthew Garrett.
A idéia por trás do recurso de bloqueio do kernel era criar um mecanismo de segurança para impedir que usuários com permissões elevadas – até mesmo a conta “raiz” – adulterassem o código do kernel.
Naquela época, mesmo que os sistemas Linux empregassem mecanismos de inicialização seguros, ainda havia maneiras de o malware abusar de drivers, contas raiz e contas de usuário com privilégios especiais elevados para violar o código do kernel. Assim, ao fazê-lo, poderiam obter persistência na inicialização e posição permanente nos sistemas infectados.
Muitos especialistas em segurança pediram ao longo dos anos que o kernel Linux suportasse uma maneira mais potente de restringir a conta raiz e melhorar a segurança do kernel.
A principal oposição veio de Torvalds, que foi um dos críticos mais fervorosos, especialmente em seus primeiros dias.
Como resultado, muitas distros do Linux, como a Red Hat, desenvolveram seus próprios patches do kernel Linux. Fizeram isto para adicionar um recurso de bloqueio no topo do kernel da linha principal. No entanto, as duas partes alcançaram um nível intermediário em 2018 e o trabalho avançou no recurso de bloqueio este ano.
A maioria das distribuições convencionais carrega variantes desse conjunto de patches há muitos anos. Então, há valor em fornecer um que não atenda a todos os requisitos de distribuição, mas nos aproxima muito de não exigir patches externos, disse Torvalds.
Os aplicativos que dependem de acesso básico ao hardware ou ao kernel podem parar de funcionar como resultado. Portanto, isso não deve ser ativado sem a avaliação apropriada prévia.
As notícias de que um módulo de bloqueio do kernel foi finalmente aprovado foram recebidas positivamente nas comunidades Linux e de cibersegurança.
Fonte: ZDNet