FERRAMENTAS LINUX: O Kernel Linux começa a reforçar a capacidade de gravar em MSRs de CPU a partir do espaço do usuário

sexta-feira, 26 de junho de 2020

O Kernel Linux começa a reforçar a capacidade de gravar em MSRs de CPU a partir do espaço do usuário



Confira !



O kernel Linux 5.9 está programado para começar a introduzir novas restrições ao permitir gravações em registros específicos do modelo da CPU (MSRs) a partir do espaço do usuário.

Por meio do driver MSR do kernel x86 do Linux, é permitida a gravação em registros arbitrários específicos do modelo a partir do espaço do usuário - desde que você tenha permissões de root. Mas mesmo com a exigência de acesso root, há implicações de segurança e outros problemas ao permitir que qualquer MSR da CPU seja gravado no espaço do usuário sem a intervenção do kernel via / dev / cpu / [CPU-number] / msr .

Borislav Petkov do SUSE adicionou suporte ao driver MSR x86 para iniciar a filtragem de gravações MSR. Petkov reforçou com o envio  "Ter acesso irrestrito a todos os MSRs em um sistema é e sempre foi um desastre esperando para acontecer. Pense em MSRs de contador de desempenho, MSRs com bits fixos ou bloqueados, MSRs fazendo alterações importantes no sistema, como microcódigo de carregamento, MTRRs, configuração PAT, contador TSC, MSRs de atenuação de segurança, etc. Isso também destrói todo o armazenamento em cache do kernel dos valores MSR para desempenho, como mostrou o caso recente de MSR_AMD64_LS_CFG. Outro exemplo é escrever MSRs por engano, simplesmente digitando o endereço errado. Os congelamentos do sistema foram experimentados dessa maneira. Em geral, cutucar MSRs sob os pés do kernel é uma péssima idéia. "

O novo comportamento padrão iniciado no Kernel Linux 5.9 será registrar mensagens no dmesgsempre que uma gravação MSR do espaço do usuário acontece com uma notificação "gravar em MSR não reconhecida".

Mas essa infraestrutura de filtragem MSR também adiciona a capacidade de bloquear gravações MSR do espaço do usuário. Por fim, eles provavelmente farão a transição para isso como o padrão posteriormente, para garantir que as gravações MSR do espaço do usuário não ocorram. Esse comportamento agora pode ser alternado através do parâmetro msr.allow_writes = kernel module com on / off / default. Caso casos de uso legítimos apareçam onde as gravações em MSRs do espaço do usuário ainda sejam desejadas, elas podem adicionar a infraestrutura para conceder / negar seletivamente o acesso a MSRs específicas e garantir que elas sejam higienizadas pelo kernel.


Até a próxima !!

Nenhum comentário:

Postar um comentário