Spectre e Meltdown, dois bugs de segurança que perturbam o mundo da computação

O setor de TI e eletrônicos está em turbulência: duas novas vulnerabilidades, descobertas há alguns meses, mas divulgadas hoje em dia, estão sacudindo o setor desde o início. Fusão é espectro – esses são os nomes das vulnerabilidades – na verdade, eles atingem defeitos de design de hardware, que nem sempre são solucionáveis ​​e, às vezes, a um preço alto.

Fusão é a vulnerabilidade descoberta nos processadores Intel de que tivemos a oportunidade de conversar nos últimos dias. UMA erro de design no gerenciamento de memória virtual torna possível acessar a área de memória dedicada ao kernel, abrindo efetivamente as portas para ataques que permitem a leitura de dados de todos os tipos na memória.

Além dos processadores Intel, as únicas vítimas no cenário x86, algumas versões da arquitetura ARM também sofrem com isso: i Cortex-A15, Cortex-A57 é Cortex-A72 de fato, sou vítima dessa vulnerabilidade. Há uma pequena diferença no sentido de que, em vez de segmentos de memória reservados, os registros protegidos são acessíveis pelos processos do usuário.

A boa notícia é, porém, que O colapso pode ser resolvido via software, embora com uma diminuição substancial no desempenho. Todas as principais plataformas (Linux, Windows, macOS) já receberam ou estão prestes a receber uma atualização que atenua o problema.

Essa é uma ótima dor de cabeça para a Intel, que foi forçada a correr para se esconder rapidamente. A empresa tentou se defender dizendo que “não há bug nos processadores e tudo funciona como esperado”: é verdade, mas o problema está no fato de que o funcionamento regular do processador expõe os dados a ataques e a defesa não. portanto, repousa sobre bases sólidas. A empresa terá, portanto, que redesenhe seus processadores para resolver essa vulnerabilidade, enquanto os proprietários dos processadores produzidos até agora terão que enfrentar uma queda no desempenho.

Discurso diferente, no entanto, diz respeito espectro. Esta é uma vulnerabilidade semelhante ao Meltdown, mas potencialmente muito mais séria: O espectro não pode ser resolvido com um patch ou intervenção de software. O problema é semelhante ao do qual o Meltdown deriva, mas envolve todos os processos em execução no sistema e não apenas o kernel.

O problema surge com oexecução fora de ordem (execução fora de ordem) das instruções: a execução fora de ordem prevê que o apostas de face do processador em qual código precisará executá-lo. A vantagem teórica dessa abordagem reside no fato de que a alternativa é que o processador não faça nada, aguardando o carregamento das instruções da memória. O objetivo é realmente o de mantenha o pipeline sempre cheio para otimizar o uso do processador e obter o melhor desempenho possível. Mesmo que o processador perca sua aposta e execute instruções erradas, não há – pelo menos teoricamente – nenhum impacto negativo.

O que foi descoberto, no entanto, é que isso não é verdade: se o impacto negativo não existe do ponto de vista do desempenho, é do ponto de vista da segurança. O processador, de fato, basicamente ele não executa as verificações de segurança necessárias no código que será executado e não elimina nenhum vestígio do que é produzido por uma aposta errada. Isso permite, com um processo suficientemente complexo, ler informações nos segmentos de memória de outros processos ou obter informações da memória do próprio processo.

Se o primeiro caso se abrir para cenários fáceis de imaginar, como o ler senhas ou chaves de criptografia na memória de outros processos, o último é particularmente significativo para os processos que nem sempre executam código controlado, como i navegador. O exemplo principal é o dos navegadores: devido ao Spectre, um script JavaScript hipotético pode ter acesso aos cookies de login de outros sites. Escusado será dizer que isso está causando problemas potencialmente enormes.

Esse aspecto é ainda mais acentuado no caso de máquina virtual: o código executado em uma máquina host poderia realmente ler a memória da máquina host, de fato, acessando informações presentes na máquina física e em outras máquinas convidadas. Este último aspecto é particularmente preocupante para i prestadores de serviços de hospedagem ou computação em nuvem, que deve ser particularmente proativo com contramedidas de software.

Apenas as contramedidas são o aspecto mais significativo do Spectre, porque basicamente elas são poucos e não centralizado. Além de correções em sistemas operacionais e microcódigo do processadorde fato, a maioria das correções terá que chegar no software individual, que terá que ser recompilado levar em conta a possibilidade de ataque via Spectre. No entanto, essas não são soluções definitivas que eliminam o problema, mas tentam contê-lo. Todos os processadores estão envolvidos: Intel, AMD e ARM estão ocupados desenvolvendo patches. A AMD alega que seus processadores são imunes à leitura de dados do kernel e, em alguns casos específicos, são vulneráveis ​​à leitura de dados na memória do processo.

O que chama a atenção é o fato de que um dos conceitos mais difundidos no design de arquiteturas de processadores agora provou ser a causa de grandes problemas de segurança. Todos os processadores x86 dos últimos 20 anos – após o primeiro Pentium e excluindo o Itanium e o Atom anteriores a 2003) – são vulneráveis ​​a esse ataque, um sinal de que o problema é estrutural e relacionado ao design. A única solução real para esse problema será uma mudança na arquitetura, mas o fato de não ser realmente possível eliminar completamente o risco deixa bilhões de dispositivos potencialmente em risco.

Atualmente, as atualizações estão sendo lançadas para Windows, macOS e Linux, com os principais navegadores (Chrome, Firefox, Edge, Safari) que seguem de perto e estão recebendo ou receberão atualizações. Até o final da próxima semana, a Intel estima que 90% dos dispositivos com processadores dos últimos 5 anos estarão protegidos. Portanto, é importante acompanhar as mensagens que propõem atualizações e executá-las. Intel e AMD oferecerão atualizações do microcódigo a serem instaladas por meio de atualizações especiais.

O lado positivo – por assim dizer – do Spectre é que atualmente parece ser muito difícil de explorar. Parece que não é possível, de acordo com o conhecimento atual, realizar ataques em larga escala que comprometem a segurança de nossos sistemas nas fundações, e a possibilidade de ser afetada como usuários individuais agora parece reduzida.

No entanto, isso não deve ser enganoso. Estas não são questões de importância secundária ou eventualidades remotas que podem ser negligenciadas; neste caso, o alarmismo parece justificado pela seriedade dos problemas. Instalar atualizações que atenuam problemas é essencial para usar produtos conectados à rede sem preocupações (ou quase), já que o risco é o de deixar acesso a informações confidenciais, como dados bancários, senhas etc.. Riscos concretos e reais que podem envolver cada um de nós. Assim como as portas blindadas não podem garantir 100% dos ladrões que não entram na casa, também os adesivos desenvolvidos não podem garantir total imunidade a esses problemas; no entanto, sabendo que os ladrões podiam entrar na casa, quem deixaria apenas uma porta de madeira trivial – além disso aberta – para guardar sua casa?