Recentemente, Douglas Anderson, engenheiro da Google, propôs uma série de patches para incluir os processadores Qualcomm nas listas de mitigação de Spectre no kernel Linux. Esses patches visam resolver lacunas existentes na proteção contra as vulnerabilidades Spectre, especialmente a variante Spectre-BHB. Abaixo, detalhamos o contexto, os desafios e os avanços relacionados a essa iniciativa.
Contexto das vulnerabilidades Spectre nos processadores Qualcomm
Os processadores da Qualcomm, derivados de núcleos ARM, possuem identificadores únicos conhecidos como MIDR. Para que o kernel Linux aplique as mitigações corretas contra Spectre, entradas específicas são necessárias nas tabelas de mitigação. No entanto, essas entradas estão ausentes, deixando alguns processadores da Qualcomm vulneráveis.
Douglas Anderson destacou em sua mensagem que a falta de mitigações é um problema crítico e sua abordagem atual envolveu:
- Pesquisar informações sobre quais núcleos ARM são usados como base nos processadores Qualcomm.
- Implementar tentativas de mitigação com base nessas pesquisas.
Apesar do esforço, ele alertou que parte dos patches enviados são preliminares e não compilam, evidenciando a necessidade de informações mais completas, preferencialmente fornecidas pela Qualcomm.
Esforço técnico
Douglas enviou uma série de seis patches com as seguintes mudanças principais:
- Adicionar o núcleo QCOM_KRYO_4XX_GOLD à lista
spectre_bhb_k24_list
. - Incluir o núcleo QCOM_KRYO_2XX_GOLD na lista
spectre_bhb_firmware_mitigated_list
. - Definir o tipo de CPU QCOM_CPU_PART_KRYO_3XX_GOLD no código.
- Adicionar o núcleo QCOM_KRYO_3XX_GOLD à lista
spectre_bhb_firmware_mitigated_list
. - Incluir o núcleo QCOM_KRYO_5XX_GOLD na lista
spectre_bhb_k24_list
. - Adicionar os núcleos QCOM_KRYO_6XX_GOLD/PRIME à lista
spectre_bhb_k32_list
.
O patch inclui alterações em dois arquivos do kernel (cputype.h
e proton-pack.c
), somando oito novas linhas de código.
Discussões da comunidade
A comunidade Linux, representada por nomes como Will Deacon e outros engenheiros experientes, discutiu a abordagem. Deacon sugeriu inverter o modelo atual de mitigação:
- Modelo Atual: CPUs são tratadas como não vulneráveis, a menos que sejam explicitamente listadas como afetadas.
- Modelo Proposto: Assumir que todos os processadores são vulneráveis, exceto quando marcados como seguros.
Essa abordagem aumentaria a responsabilidade dos fabricantes, como a Qualcomm, para identificar vulnerabilidades e evitar penalidades de desempenho associadas às mitigações desnecessárias.
Implicações e próximos passos
Se os patches forem aceitos e refinados, os usuários de dispositivos com processadores Qualcomm podem esperar melhorias significativas na segurança contra Spectre. No entanto, o progresso depende da colaboração da Qualcomm e de outros fabricantes para fornecer informações precisas e upstream patches confiáveis.
Chamado à ação
- Para a Qualcomm: Fornecer documentação e patches que ajudem a comunidade a proteger os dispositivos de forma eficaz.
- Para a Comunidade de Desenvolvedores: Testar e revisar os patches propostos para garantir robustez e eficiência.
- Para os Usuários: Monitorar atualizações do kernel e aplicá-las assim que disponíveis.
A colaboração entre fabricantes e a comunidade open-source é essencial para fortalecer a segurança de sistemas Linux contra ameaças emergentes.