Explicação de leitor: as vulnerabilidades Spectre, Meltdown e a execução especulativa

No dia 3 de janeiro, veio a publico através do time do Project Zero (do Google) o conjunto de vulnerabilidades conhecidas hoje como Spectre e Meltdown. Essa equipe do Google é, desde 2010, responsável por descobrir vulnerabilidades ainda não exploradas em softwares produzidos não apenas pela empresa, mas por qualquer outra fabricante visando a segurança de todos na internet de uma forma em geral.

Eles têm como modus operandi divulgar as vulnerabilidades primeiro à fabricante, para que ela possa corrigir o problema, e só depois disso fazer a divulgacão ao público, evitando assim que tais vulnerabilidades sejam exploradas por crackers.

Como muitos ainda não entenderam muito bem o que essas vulnerabilidades representam e como elas funcionam, fui convidado pelo MacMagazine para explicar o assunto e sanar essas dúvidas de uma vez por todas.

O conjunto das vulnerabilidades divulgadas no último mês representam o que está sendo chamado de execução especulativa, que explico logo mais abaixo. Mas antes, vamos a um resumo do que cada vulnerabilidade representa.

O Spectre (ou “Fantasma”) quebra o isolamento entre aplicações e permite um ataque no qual o invasor cria um espectro e se passe por uma aplicação ilegalmente, recebendo informações que geralmente são ocultas entre aplicações mas que, nesse caso, ficam totalmente suscetíveis a um ataque externo.

Já o Meltdown (numa tradução literal, “Derretimento”) tem esse nome em analogia ao fato de ele derreter a divisão fundamental entre a aplicação do usuário e o sistema operacional, fazendo com que o alvo fique vulnerável e possa ter o conteúdo da memória e das informações do sistema operacional exposto a um ataque.

Spectre e Meltdown
Os logos criados pela iniciativa Meltdown Attack, que divulga informações sobre essas vulnerabilidades

A combinação dessas vulnerabilidades permite um ataque de execução especulativa. Trata-se de um recurso que antecipa as ações mais costumeiras do usuário para ganho de performance e, por isso, a correção dessas falhas resulta na perda (variável) de performance dos processadores afetados.

A execução especulativa basicamente seria como se uma pessoa fosse, por exemplo, todo dia à Starbucks e pedisse um cappuccino. O processador aprende isso e, toda vez que a pessoa entrar na Starbucks, o chip reconheceria a pessoa e já começaria a fazer o cappuccino antes mesmo de ela pedir, agilizando assim o processo como um todo.

Agora, vamos imaginar que em 20% das vezes a pessoa não peça o cappuccino. Tudo bem, eles jogam o cappuccino fora e fazem o outro pedido normalmente. Essa operação obviamente não vai ser tão rápida quanto o cappuccino de sempre, mas ter a execução especulativa acaba valendo a pena nas outras 80% das vezes em que se ganhou tempo pedindo o tal cappuccino.

E a falha explorada é justamente essa. Esse ataque de execução especulativa permite que o invasor tenha acesso ao perfil de uso do usuário sobre o comportamento em 80% dos casos. Isso, é claro, são informações que ajudam um mal-intencionado a montar um ataque — além de, é claro, ser uma brecha de confidencialidade muito forte.

Essa, obviamente, é uma explicação informal do que se tratam tais vulnerabilidades. Todas as grandes fabricantes já liberaram patches de segurança e a Intel pretende, ainda este ano, lançar novos chips que não são mais afetados por elas.

Posts relacionados

Comentários