O Linux introduziu um novo recurso lá atrás no kernel 6.10 para fortalecer a segurança do Trusted Platform Module (TPM). A funcionalidade implementou criptografia e proteção de integridade no barramento TPM, visando impedir ataques como interceptação de dados (TPM sniffing). Contudo, problemas de desempenho relatados levaram ao desenvolvimento de uma solução para desativar essa proteção quando necessário.
Problema identificado
A Proteção de Integridade de Registro de Configuração da Plataforma (PCR), introduzida como parte das operações internas do TPM, gerou um impacto significativo no desempenho de sistemas que utilizam a arquitetura de medição de integridade (IMA). Essa funcionalidade exige múltiplas operações PCR Extend, que se tornaram um gargalo devido à implementação de sessões HMAC para proteção de integridade.
Solução apresentada
Para mitigar esse problema, foi introduzido um novo parâmetro de linha de comando no driver do TPM no kernel 6.12. O parâmetro tpm.disable_pcr_integrity=
permite desativar a proteção de integridade para operações PCR Extend, reduzindo assim o impacto sobre o desempenho.
Como funciona
O commit responsável pela mudança explica:
- A sessão HMAC foi inicialmente criada para proteger operações no barramento TPM contra acesso físico não autorizado ou intercepção de dados.
- Com a introdução do parâmetro, administradores podem desativar a proteção de integridade especificamente para o comando TPM2_PCR_Extend, mantendo as operações mais ágeis em ambientes protegidos por outras formas de segurança física.
O parâmetro é configurado por meio de uma entrada no kernel com a seguinte sintaxe:
tpm.disable_pcr_integrity=[HW,TPM]
Desativa a proteção de integridade dos registros PCR durante operações TPM2_PCR_Extend. Recomendado apenas em ambientes com proteção física alternativa.
Além disso, o código foi ajustado para diferenciar cenários onde a proteção HMAC é necessária e aqueles onde ela pode ser dispensada. Esse ajuste é particularmente útil em sistemas que exigem alta performance para tarefas que envolvem o TPM.
Benefícios e cenários de aplicação
Essa mudança beneficia:
- Ambientes com alta carga do IMA: Desativar a proteção de integridade pode melhorar o desempenho onde o TPM é amplamente utilizado.
- Infraestruturas fisicamente seguras: Data centers e outras instalações que dispõem de controle de acesso podem sacrificar um pouco da proteção do TPM em troca de maior eficiência.
Informações para iniciantes
Se você não está familiarizado com termos como TPM ou IMA, aqui está uma explicação simples:
- TPM (Trusted Platform Module): Um componente de hardware usado para melhorar a segurança do computador, armazenando informações confidenciais como chaves criptográficas.
- IMA (Integrity Measurement Architecture): Uma tecnologia que verifica a integridade do sistema para garantir que ele não foi alterado por software malicioso.
- PCR Extend: Um processo no TPM que atualiza registros de integridade com novos valores para rastrear mudanças no sistema.
Implementação técnica
O driver do TPM foi atualizado para suportar essa configuração, ajustando as chamadas relacionadas ao comando PCR Extend para ignorar sessões HMAC quando o parâmetro está habilitado. No commit, destacam-se as seguintes alterações:
- Introdução de uma variável para controlar a desativação da integridade.
- Ajustes nas funções do driver para adicionar flexibilidade nas operações relacionadas ao PCR Extend.
- Documentação clara no kernel para que administradores entendam o impacto e os usos apropriados da nova funcionalidade.
Essas mudanças refletem uma abordagem pragmática para equilibrar segurança e desempenho em ambientes variados.
Conclusão
A nova opção de desativar a proteção de integridade PCR no Linux 6.12 é uma solução pragmática para endereçar o impacto no desempenho causado pelo uso intensivo do TPM. Administradores de sistemas devem avaliar cuidadosamente os riscos e os benefícios antes de implementar essa configuração, garantindo que o ambiente mantenha um equilíbrio entre desempenho e segurança.
Para iniciantes, é importante lembrar que desativar proteções sempre implica em riscos adicionais. Considere essa opção apenas se o desempenho for uma prioridade absoluta e se houver outras medidas de segurança em vigor.
Saiba mais
Para detalhes adicionais, consulte o commit oficial no Git e a documentação do kernel.