Meltdown e Spectre
Por Vaine Luiz Barreira
Um breve resumo sobre a falha de design nos processadores Intel, AMD e ARM que ameaça a segurança de computadores em todo o mundo.
Meltdown e Spectre exploram vulnerabilidades críticas nos processadores fabricados a partir de 1995, permitindo que programas maliciosos possam roubar dados que estão sendo processados nos computadores.
Normalmenteprogramas não podem acessar dados de outros programas em execução, mas um atacante pode usar o Meltdown e Spectre para ler dados armazenados na memória de outros programas em execução, o que pode incluir senhas e outras informações sensíveis.
Essas vulnerabilidades afetam computadores pessoais, dispositivos móveis e a infraestrutura da nuvem, o que poderia fazer com que o ambiente de um cliente acesse dados de outros clientes.
Tanto o Meltdown quanto o Spectre permitem aos usuários de baixo privilégio ler informações da memória do mesmo sistema explorando o recurso de Execução Especulativa. A diferença é que o Meltdown explora um problema específico de escalada de privilégios nos processadores da Intel, enquanto o Spectre usa a combinação de Execução Especulativa e Branch Prediction, explorando processadores Intel, AMD e ARM.
A falha foi descoberta pelo pessoal do Google Project Zero junto com outros pesquisadores, e foi notificada aos fabricantes no dia 01 de junho de 2017.
Sobre o Meltdown
Meltdown quebra o isolamento fundamental entre as aplicações de usuário e o sistema operacional. Este ataque permite que um programa acesse regiões da memória que contenham dados do sistema operacional ou mesmo de outros programas.
Um artigo técnico detalhado sobre essa vulnerabilidade pode ser encontrado aqui: https://meltdownattack.com/meltdown.pdf
Sobre o Spectre
Spectre quebra o isolamento entre diferentes aplicações. Ele permite que um atacante induza programas legítimos e que seguem as melhores práticas a vazar suas informações. É mais difícil de ser explorado do que o Meltdown, mas também é mais difícil de ser corrigido.
Um artigo técnico detalhado sobre essa vulnerabilidade pode ser encontrado aqui:
https://spectreattack.com/spectre.pdf
A Microsoft emitiu uma atualização de emergência do Windows sobre essa falha de segurança.
Os usuários do Windows 10 serão atualizados automaticamente com o patch já liberado através do Windows Update.
Usuários de Windows 7 e 8 terão que esperar até Patch Tuesday (09/01) para receberem o patch automaticamente, também via Windows Update.
O KB da Microsoft que trata do problema é esse:
https://support.microsoft.com/en-us/help/4056892/windows-10-update-kb4056892
Para prevenir problemas com BSOD (Blue Screen of Death) por causa dos antivírus, mesmo que o patch seja instalado, ele só se ativará se determinada chave no registro estiver presente. Esta chave deve ser inserida pelos antivírus compatíveis.
A chave que deve estar presente para indicar que o AV é compatível é esta:
Key=”HKEY_LOCAL_MACHINE”
Subkey=”SOFTWARE\Microsoft\Windows\CurrentVersion\QualityCompat”
Value=”cadca5fe-87d3-4b96-b7fb-a231484277cc”
Type=”REG_DWORD”
Lembrando que quem cria esta chave é o próprio software antivírus, e não deve ser inserida manualmente!
Ao contrário de um código malicioso tradicional, é difícil distinguir o Meltdown e o Spectre de aplicações legítimas comuns, por isso é difícil que os antivírus detectem esse ataque, a não ser por assinatura de aplicações maliciosas já conhecidas.
Mais informações sobre o impacto da atualização da Microsoft nos softwares antivírus podem ser encontradas aqui:
https://support.microsoft.com/en-us/help/4072699/important-information-regarding-the-windows-security-updates-released
Este artigo exibe uma lista de avisos e informações sobre atualizações de diversos fabricantes:
http://bit.ly/2CL0czD
O pesquisador Kevin Beaumont criou uma planilha que mantém informações sobre os fornecedores de antivírus:
http://bit.ly/2m0PlXO
Os patches terão que corrigir por software a forma de trabalho do processador, tirando certas páginas de memória que normalmente já estariam em cache e que ajudam a acelerar o processamento. Com isto, é esperada alguma redução de performance (que pode variar de 5% a 30%). Embora seja impossível dizer antecipadamente qual o impacto, ele deve ser mais percebido em computadores mais antigos. Em computadores com processadores mais novos o impacto pode ser pequeno o suficiente para nem chegar a ser notado pelos usuários. Em computadores mais antigos, este impacto pode ser significativo.
A correção de segurança implementa o isolamento da tabela de página do kernel (KPTI) para mover o kernel para um espaço de endereço totalmente separado e o manter protegido e inacessível da execução de programas e do espaço para usuários.
A solução completa pode ainda depender de atualizações de firmwares do fabricante do hardware.
Os CVEs sobre as falhas são:
Meltdown: CVE-2017-5754 e Spectre: CVE-2017-5753 e CVE-2017-5715
Páginas oficiais sobre as vulnerabilidades:com
https://meltdownattack.com e https://spectreattack.com