Mais de seis anos após o surgimento da falha de segurança Spectre, que afeta processadores modernos de CPU, uma nova pesquisa descobriu que os processadores mais recentes da AMD e da Intel ainda são suscetíveis a ataques de execução especulativa.
O ataque, divulgado pelos pesquisadores Johannes Wikner e Kaveh Razavi da ETH Zürich, visa comprometer a barreira de preditor de ramificação indireta (Indirect Branch Predictor Barrier - IBPB) em chips x86, uma mitigação crucial contra ataques de execução especulativa.
A execução especulativa refere-se a um recurso de otimização de desempenho no qual CPUs modernas executam certas instruções fora de ordem, prevendo antecipadamente o caminho que um programa tomará, acelerando a tarefa se o valor usado especulativamente estiver correto.
Se resultar em uma previsão errada, as instruções, chamadas de transientes, são declaradas inválidas e descartadas, antes que o processador possa retomar a execução com o valor correto.
Embora os resultados da execução de instruções transientes não sejam comprometidos com o estado do programa arquitetural, ainda é possível que eles carreguem certos dados sensíveis em um cache do processador por meio de uma má previsão forçada, expondo-os a um adversário malicioso que, de outro modo, seria bloqueado de acessá-los.
A Intel descreve o IBPB como um "mecanismo de controle de ramificação indireta que estabelece uma barreira, impedindo que softwares executados antes da barreira controlem os alvos previstos de ramificações indiretas executadas após a barreira no mesmo processador lógico".
Ele é usado como uma maneira de ajudar a contrariar a injeção de alvo de ramificação (Branch Target Injection - BTI), também conhecida como Spectre v2 (CVE-2017-5715), um ataque de execução transiente entre domínios (Transient Execution Attack - TEA) que tira vantagem de preditores de ramificação indireta usados por processadores para fazer com que um gadget de divulgação seja executado especulativamente.
Um gadget de divulgação refere-se à capacidade de um invasor acessar um segredo da vítima que de outra forma não seria visivelmente arquitetural, e exfiltrá-lo através de um canal oculto.
As últimas descobertas da ETH Zürich mostram que um bug de microcódigo em microarquiteturas da Intel como Golden Cove e Raptor Cove pode ser usado para contornar o IBPB.
O ataque foi descrito como o primeiro vazamento Spectre "end-to-end cross-process" prático.
O falha no microcódigo "retém previsões de ramificação de forma que ainda possam ser usadas após o IBPB dever ter invalidado", disseram os pesquisadores.
"Tal especulação pós-barreira permite que um invasor contorne as fronteiras de segurança impostas por contextos de processo e máquinas virtuais." A variante da AMD do IBPB, descobriu o estudo, pode ser igualmente contornada devido à forma como o IBPB é aplicado pelo kernel Linux, resultando em um ataque - codinome Post-Barrier Inception (ou PB-Inception) - que permite a um adversário sem privilégios vazar memória privilegiada em processadores AMD Zen 1(+) e Zen 2.
A Intel disponibilizou um patch de microcódigo para tratar o problema (
CVE-2023-38575
, pontuação CVSS: 5.5).
A AMD, por sua vez, está acompanhando a vulnerabilidade como
CVE-2022-23824
, de acordo com um aviso lançado em novembro de 2022.
"Usuários da Intel devem garantir que seu intel-microcode esteja atualizado", disseram os pesquisadores.
Usuários da AMD devem garantir a instalação de atualizações do kernel. A divulgação ocorre meses após os pesquisadores da ETH Zürich detalharem novas técnicas de ataque RowHammer codinomeadas ZenHammer e SpyHammer, esta última usa RowHammer para inferir com alta precisão a temperatura da DRAM.
"RowHammer é muito sensível a variações de temperatura, mesmo que as variações sejam muito pequenas (por exemplo, ±1 °C)", disse o estudo.
"A taxa de erro de bit induzida por RowHammer aumenta (ou diminui) consistentemente à medida que a temperatura aumenta, e algumas células DRAM vulneráveis ao RowHammer exibem erros de bit apenas a uma determinada temperatura." Aproveitando a correlação entre RowHammer e temperatura, um invasor poderia identificar a utilização de um sistema de computador e medir a temperatura ambiente.
O ataque também poderia comprometer a privacidade, usando medições de temperatura para determinar os hábitos de uma pessoa dentro de sua casa e os horários em que ela entra ou sai de um cômodo.
"SpyHammer é um ataque simples e eficaz que pode espionar a temperatura de sistemas críticos sem modificações ou conhecimento prévio sobre o sistema da vítima", observaram os pesquisadores.
SpyHammer pode ser uma potencial ameaça à segurança e privacidade dos sistemas até que um mecanismo de defesa RowHammer definitivo e completamente seguro seja adotado, o que é um grande desafio, dado que a vulnerabilidade do RowHammer continua a piorar com o escalonamento da tecnologia.
Publicidade
Conheça a Solyd One, e tenha acesso a todos os cursos de segurança ofensiva da Solyd, todas as certificações práticas, incluindo a SYCP, 2 CTFs anuais com prêmios de até 30 mil reais, dezenas de laboratórios realísticos, suporte, comunidade e muito mais. Saiba mais...