O Retbleed pode vazar memória do kernel das CPUs Intel a cerca de 219 bytes por segundo e com 98% de precisão. A exploração pode extrair memória do kernel de CPUs AMD com largura de banda de 3,9 kB por segundo. Os pesquisadores disseram que ele é capaz de localizar e vazar o hash de senha raiz de um computador Linux da memória física em cerca de 28 minutos ao executar as CPUs da Intel e em cerca de seis minutos para as CPUs da AMD.
“Descobrimos que podemos injetar alvos de ramificação que residem dentro do espaço de endereço do kernel, mesmo como um usuário sem privilégios”, escreveram os pesquisadores em um post no blog. “Mesmo que não possamos acessar alvos de ramificação dentro do espaço de endereço do kernel – ramificar para tal alvo resulta em uma falha de página – a Unidade de Previsão de Ramificação se atualizará ao observar uma ramificação e assumirá que ela foi executada legalmente, mesmo que seja para um endereço do kernel.”
Intel e AMD respondem
Tanto a Intel quanto a AMD responderam com avisos. A Intel confirmou que a vulnerabilidade existe em processadores da geração Skylake que não possuem uma proteção conhecida como especulação restrita de ramificação indireta aprimorada (eIBRS) em vigor.
“A Intel trabalhou com a comunidade Linux e fornecedores de VMM para fornecer aos clientes orientações de mitigação de software que devem estar disponíveis na data de divulgação pública de hoje”, escreveu a Intel em um comunicado. postagem do blog. “Observe que os sistemas Windows não são afetados, pois esses sistemas usam a especulação restrita de ramificação indireta (IBRS) por padrão, que também é a mitigação disponibilizada aos usuários do Linux. A Intel não está ciente de que esse problema está sendo explorado fora de um ambiente de laboratório controlado.”
A AMD, por sua vez, também orientação publicada. “Como parte de seu trabalho contínuo para identificar e responder a novas vulnerabilidades de segurança em potencial, a AMD está recomendando que os fornecedores de software considerem tomar medidas adicionais para ajudar a se proteger contra ataques do tipo Spectre”, escreveu um porta-voz em um e-mail. A empresa também publicou um white paper.
Tanto o artigo de pesquisa dos pesquisadores quanto o post do blog explicam as condições microarquitetônicas necessárias para explorar o Retbleed:
Intel. Na Intel, os retornos começam a se comportar como saltos indiretos quando o buffer de pilha de retorno, que mantém as previsões de destino de retorno, é insuficiente. Isso acontece ao executar pilhas de chamadas profundas. Em nossa avaliação, encontramos mais de mil dessas condições que podem ser acionadas por uma chamada de sistema. O preditor de destino de ramificação indireta para CPUs Intel foi estudado em trabalho prévio.
AMD. Na AMD, as devoluções se comportarão como uma ramificação indireta, independentemente do estado de sua pilha de endereços de retorno. Na verdade, envenenando a instrução de retorno usando um salto indireto, o preditor de ramificação AMD assumirá que encontrará um salto indireto em vez de um retorno e, consequentemente, preverá um destino de ramificação indireto. Isso significa que qualquer retorno que possamos alcançar por meio de uma chamada de sistema pode ser explorado – e existem muitos deles.
Em um e-mail, Razavi acrescentou: “Retbleed é mais do que apenas um desvio de retpoline na Intel, especialmente em máquinas AMD. De fato, a AMD vai lançar um white paper apresentando o Branch Type Confusion baseado no Retbleed. Essencialmente, o Retbleed está fazendo com que as CPUs da AMD confundam instruções de retorno com ramificações indiretas. Isso torna a exploração de retornos muito trivial em CPUs AMD.”
As mitigações terão um custo que os pesquisadores mediram entre 12% e 28% a mais de sobrecarga computacional. As organizações que dependem de CPUs afetadas devem ler atentamente as publicações dos pesquisadores, Intel e AMD e seguir as orientações de mitigação.