Desenvolvedores enviaram parches ao kernel Linux para eliminar o suporte ao algoritmo de hash inseguro SHA-1 na assinatura de módulos do kernel. Essa medida aborda vulnerabilidades conhecidas, como ataques de colisão demonstrados em 2017. As mudanças se baseiam em esforços anteriores para aprimorar a segurança do kernel.
A comunidade do kernel Linux está avançando na segurança ao propor parches para eliminar gradualmente o suporte ao SHA-1 para assinatura de módulos do kernel. Petr Pavlu, autor dos parches, postou a série na lista de discussão do kernel Linux esta semana, conforme relatado pelo Phoronix. Pavlu afirmou: “O SHA-1 é considerado obsoleto e inseguro devido a vulnerabilidades que podem levar a colisões de hash.”
Essa iniciativa segue anos de alertas sobre as fraquezas do SHA-1, particularmente após pesquisadores demonstrarem ataques de colisão práticos em 2017. Uma tentativa anterior de remover o suporte ao SHA-1 via commit 16ab7cb5825f foi revertida devido a problemas de compatibilidade com ferramentas como iwd. No ano passado, o algoritmo de assinatura padrão mudou para SHA-512 no commit f3b93547b91a sem problemas maiores, preparando o terreno para a depreciação completa.
Os parches consistem em duas mudanças principais. A primeira modifica o Kconfig de módulos do kernel para remover as opções de SHA-1, referenciando o commit revertido anterior. A segunda visa a utilidade sign-file, eliminando o suporte a PKCS#7, que era limitado ao SHA-1. James Bottomley esclareceu em uma resposta na lista de discussão: “CMS realmente é PKCS7 e a maioria da literatura se refere ao CMS como PKCS7,” notando que a atualização deprecia uma API desatualizada.
A maioria das principais distribuições Linux já adotou SHA-2 para assinatura de módulos. No entanto, o Android fica para trás, usando SHA-1 por padrão para sua Generic Kernel Image (GKI). Sami observou na lista de discussão: “No geral, o Android não depende da assinatura de módulos para segurança, é usado apenas para diferenciar tipos de módulos.” Os parches focam em descartar SHA-1 para novas assinaturas, permitindo que as existentes sejam carregadas.
A implementação enfrenta obstáculos menores, incluindo um conflito com uma série em andamento para suporte a ML-DSA. Pavlu reconheceu: “O segundo parche tem um conflito menor com a atualização do sign-file na série ‘lib/crypto: Add ML-DSA’.” As reações da comunidade em plataformas como X foram positivas, com o Phoronix anunciando: “Linux Busca Remover Suporte ao SHA1 para Assinatura de Módulos do Kernel. Hora de migrar para algoritmos de hash mais seguros.” Essas mudanças visam fortalecer a segurança em ambientes como servidores e sistemas embarcados, reduzindo riscos de assinaturas falsificadas.