As vulnerabilidades Spectre e Meltdown recentemente descobertas nos processadores da Intel, AMD e ARM são bastante complexas.
Nesta publicação, tentaremos simplificar o que é o problema, como ele pode afetar o seu negócio e quais ações podem ser tomadas para protegê-lo.
É importante começar por esclarecer que apesar de seus dois nomes, tanto Spectre quanto Meltdown são essencialmente baseados na mesma observação. Esta observação é uma fraqueza por trás da implementação comum de execução especulativa.
O que é a execução especulativa?
Dito que o poder da computação dobra a cada dois anos, os engenheiros de Processadores estão encarregados de garantir que os computadores sejam cada vez mais rápidos ao realizar tarefas cada vez mais exigentes e um método que eles utilizam para alcançar esse objetivo é o de “execução especulativa”.
Muitas vezes, os processadores esperam que os dados estejam disponíveis, pois são mais rápidos do que a memória e outras entradas. Portanto, para fazer o processo funcionar mais rápido, a CPU faz suposições e adivinha o resultado de um ponto de ramificação (“previsão de ramificação”) sem ter o pleno conhecimento do resultado.
Se a suposição estiver correta, ele já terá a saída desejada em mãos para executar. Se a suposição revelar-se errada, então, simplesmente pode ignorar essa saída, sem custo em tempo desperdiçado. Isso é chamado de “execução especulativa”.
Limites de segurança
Neste ponto, devemos dizer uma palavra sobre limites de segurança e como eles se relacionam com a CPU.
Os computadores modernos confiam em sua capacidade de executar vários aplicativos distintos ao mesmo tempo, enquanto mantem limites entre eles. Por exemplo, se você estiver assistindo um vídeo no YouTube ao mesmo tempo que estiver conectado a sua conta bancária on-line em uma aba separada, confiamos na capacidade da Processador de manter uma separação dos dados e executáveis entre esses aplicativos. A mesma ideia aplica-se a provedores de nuvem que executam várias máquinas virtuais no mesmo hardware.
Além disso, é crucial entender que, embora seja o Sistema Operacional que define esses limites de segurança, é a CPU ue é responsável por aplicá-los, tanto em um computador pessoal, quanto em um servidor físico ou uma máquina virtual hospedada por um provedor de serviços na nuvem.
A execução especulativa, no entanto, às vezes é feita sem verificar limites de segurança, uma arquitetura que faz sentido para não desacelerar o processamento, uma vez que a verificação de segurança será realizada antes da saída final seja dada.
A Vulnerabilidade Spectre / Meltdown
A essência da vulnerabilidade Spectre / Meltdown reside, portanto, na capacidade do atacante de deduzir informações fora dos limites de segurança, medindo os tempos envolvidos na execução especulativa. Isso é chamado de ‘ataque de canal lateral’.
Enquanto a arquitetura parece correta, os tempos revelam informações que podem ser usadas junto com outras ferramentas para obter acesso a dados confidenciais armazenados no computador.
Para nos ajudar a entender isso melhor, considere a analogia de um detector de mentiras. Embora o suspeito que está sendo questionado nem sempre nos diga as informações que ele está ocultando, podemos usar “canais laterais”, como dados dos batimentos cardíacos, suor, temperatura e outros sinais fornecidos por um detector de mentiras, para nos ajudar a deduzir informações adicionais.
É possível proteger contra essas vulnerabilidades e esses ataques?
Nós acreditamos que sim. Continue lendo para descobrir como nossas soluções de segurança de nível mais profundo podem ajudar.