Desde o começo da semana passada foi tornado público o problema de segurança no Linux conhecido como Retbleed. Pois isso vem causando sérios transtornos a desenvolvedores e usuários. O Retbeed causa problemas sérios no Linux e atrapalha desenvolvimento do kernel. Na última terça-feira saiu o patch “REBLEED” como dois novos CVEs para os mais recentes ataques de execução especulativa que afetam o hardware. O Retbleed explora instruções de retorno e é capaz de minar as defesas existentes contra Spectre Branch Target Injection (BTI).
Em particular, o Retbleed pode vencer as defesas de “retpolins” de trampolins de retorno existentes, embora, quando concebido há apenas quatro anos, a crença fosse de que os retornos não eram suscetíveis ou muito impraticáveis a ataques de BTI. O Retbleed agora prova que as instruções de retorno podem ser exploradas na prática.
Os pesquisadores de segurança descobriram que o Retbleed afeta os processadores AMD Zen 1/1+/2 e Intel Core de 6ª a 8ª geração.
Isso vem com custo adicional de desempenho, segundo a divulgação do problema:
A mitigação do Retbleed no kernel do Linux exigiu um esforço substancial, envolvendo alterações em 68 arquivos, 1783 novas linhas e 387 linhas removidas. Nossa avaliação de desempenho mostra que mitigar o Retbleed infelizmente acabou sendo caro: medimos entre 14% e 39% de sobrecarga com os patches AMD e Intel, respectivamente.
Retbeed causa problemas sérios no Linux e atrapalha desenvolvimento do kernel
Retbleed (CVE-2022-29900 e CVE-2022-29901) é a nova adição à família de ataques de execução especulativa que exploram a injeção de alvo de ramificação para vazar informações, que chamamos de Spectre-BTI. Ao contrário de seus irmãos, que desencadeiam especulações de alvos de ramificações prejudiciais explorando saltos ou chamadas indiretas, as explorações do Retbleed retornam instruções. Isso significa muito, pois prejudica algumas de nossas atuais defesas Spectre-BTI.
Para obter mais detalhes sobre o Retbleed basta acessar o novo site do Retbleed.
O trabalho de mitigação do Retbleed foi incorporado no kernel do Linux.
Atualização: a declaração da Intel sobre o assunto se resume a:
A Intel trabalhou com nossos parceiros de mitigação do setor, a comunidade Linux e fornecedores de VMM para disponibilizar mitigações aos clientes. Os sistemas Windows não são afetados, pois já têm essas mitigações por padrão. Eles também acrescentaram que levam essas questões muito a sério, mas não acreditam que Retbleed seja prático fora de um ambiente de laboratório.
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 do sistema. O preditor de destino de ramificação indireta para CPUs Intel foi estudado em trabalhos anteriores.
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.