Em 12 de março, pesquisadores da VUSec e da IBM divulgaram publicamente uma nova forma de ataque de execução especulativa no Twitter, com link para um documento de divulgação correspondente do GhostRace hospedado pela VUSec. Estaremos discutindo o documento completo de divulgação do GhostRace e sua documentação anexa com mais detalhes abaixo, mas primeiro, vamos dedicar algum tempo para esclarecer o que é um “ataque de execução especulativa”.
Se você se lembra do flagelo do Meltdown e do Spectre, em 2016, isso está na mesma categoria das principais explorações de segurança da CPU. O Spectre V1 foi explicitamente um ataque de execução especulativa. A execução especulativa em si não é uma coisa ruim – na verdade, é uma função central das CPUs modernas, que permite que os threads da CPU compartilhem recursos de maneira mais eficaz.
A questão é que a execução especulativa também pode resultar em “condições de corrida”, onde threads separados que tentam acessar recursos compartilhados criam grandes vulnerabilidades de segurança ao fazê-lo de maneira mal sincronizada. Essa exploração se concentra em tirar vantagem desses cenários, por isso é apropriadamente chamada de GhostRace.
Antes de tornar o GhostRace público, os pesquisadores informaram os principais fornecedores de hardware e o kernel Linux sobre o problema (no final de 2023), uma vez que o GhostRace se aplica a todos os principais sistemas operacionais e CPUs, até mesmo ao Arm. Esperançosamente, o aviso dado deveria ter dado aos fornecedores o tempo necessário para desenvolver suas correções e soluções alternativas; no entanto, os pesquisadores também incluíram algumas dicas para mitigar o problema no documento público. Uma tentativa inicial de correção do kernel Linux parecia promissora, mas experimentos feitos pelos pesquisadores provaram que a correção não cobria completamente a vulnerabilidade.
Por enquanto, parece que os desenvolvedores do kernel Linux estão preocupados principalmente com o desempenho e não querem correr o risco de prejudicá-lo com uma correção apressada. Lemos que a mitigação proposta para Linux fornecida na documentação original foi testada como tendo apenas uma sobrecarga de desempenho de aproximadamente 5% no LMBench. Nenhuma penalidade de desempenho de patch é bem-vinda, mas talvez uma correção desenvolvida com paciência possa ser melhor.
Nenhuma mitigação é fornecida no documento para outras plataformas. No entanto, a AMD aponta que as mitigações existentes do Spectre v1 ainda devem se aplicar a possíveis explorações do GhostRace – e como os fornecedores já tiveram que resolver isso, deve ser apenas uma questão de tempo. A AMD reconheceu o problema, de acordo com o documento de divulgação pública.