Meltdown e Spectre: o que precisa de saber

Os primeiros dias de 2018 foram preenchidos com diversas conversas acerca de uma vulnerabilidade muito abrangente ao nível da arquitetura de processadores da Intel (Meltdown e Spectre) utilizada em PCs ao longo de muitos anos, bem como nos processadores da AMD e que chega mesmo a afetar processadores ARM normalmente utilizados em tablets e smartphones.

Apesar de até ao momento ainda não terem sido divulgados, segundo a maioria das notícias, o problema é que os programas que funcionam no espaço de endereço do modo de utilizador (o intervalo de memória “normal” em que o software aplicativo, jogos e outros funcionam) podem inferir ou “ver” algumas das informações armazenadas no espaço de endereço do modo kernel (a faixa de memória “protegida” e utilizada para conter o sistema operativo, os controladores de dispositivo e informações confidenciais, como palavras passe e certificados de encriptação).

Meltdown

As tentativas de correção

As correções para evitar que os programas que utilizam o modo de utilizador consigam espreitar no modo kernel têm vindo a ser introduzidas por fabricantes de sistemas operativos, hipervisor e até empresas que centram as suas atividades na cloud. No entanto, parece que estas correções atrasam um pouco os sistemas operativos. A quantidade exata de desaceleração não é conhecida ao certo. A Intel afirmou que a redução de desempenho “não será significativa” para a maioria dos utilizadores. Apesar disso o site Linux Phoronix avaliou as perdas de desempenho entre 5-30%, dependendo do que o computador está a executar.

Um pouco de história

Um longo tópico de discussão no Reddit intitulado Intel bug tem acompanhado a vulnerabilidade desde que as informações começaram a surgir a 2 de janeiro de 2018; Ars Technica e The Register também fizeram um ótima cobertura.

meltdown e spectre: o que precisa de saber

O fabricante de processadores, AMD, anunciou que não são afetados, segundo informações da CNBC e uma mensagem enviada por um engenheiro da AMD. No entanto informações avançadas pelo Microsoft Project Zero indicam que os processadores AMD são afetados. Desde então, a AMD divulgou uma declaração com alguns esclarecimentos.

O artigo da Microsoft destaca que este não é um problema específico do Windows e que afeta o Android, o Chrome OS, o iOS e o MacOS também. O aviso da Red Hat assinala também a arquitetura POWER da IBM como sendo vulnerável. Os fabricantes do Hypervisor VMware e Xen emitiram os seus próprios alertas, assim como os Serviços da Web da Amazon.

Fabricantes afectados

Fabricante Comunicado
Amazon (AWS) AWS-2018-013: Processor Speculative Execution Research Disclosure
AMD An Update on AMD Processor Security
Android (Google) Android Security Bulletin—January 2018
Apple HT208331: About the security content of macOS High Sierra 10.13.2, Security Update 2017-002 Sierra, and Security Update 2017-005 El Capitan
HT208394: About speculative execution vulnerabilities in ARM-based and Intel CPUs
ARM Vulnerability of Speculative Processors to Cache Timing Side-Channel Mechanism
Azure (Microsoft) Securing Azure customers from CPU vulnerability
Microsoft Cloud Protections Against Speculative Execution Side-Channel Vulnerabilities
Chromium Project Actions Required to Mitigate Speculative Side-Channel Attack Techniques
Cisco cisco-sa-20180104-cpusidechannel – CPU Side-Channel Information Disclosure Vulnerabilities
Citrix CTX231399: Citrix Security Updates for CVE-2017-5715, CVE-2017-5753, CVE-2017-5754
Debian Debian Security Advisory DSA-4078-1 linux — security update
Dell SLN308587 – Microprocessor Side-Channel Attacks (CVE-2017-5715, CVE-2017-5753, CVE-2017-5754): Impact on Dell products
SLN308588 – Microprocessor Side-Channel Attacks (CVE-2017-5715, CVE-2017-5753, CVE-2017-5754): Impact on Dell EMC products (Dell Enterprise Servers, Storage and Networking)
F5 Networks K91229003: Side-channel processor vulnerabilities CVE-2017-5715, CVE-2017-5753, and CVE-2017-5754
Google’s Project Zero Reading Privileged Memory with a Side-Channel
Huawei Security Notice – Statement on the Media Disclosure of the Security Vulnerabilities in the Intel CPU Architecture Design
IBM Potential CPU Security Issue
Intel INTEL-SA-00088 Speculative Execution and Indirect Branch Prediction Side Channel Analysis Method
Lenovo Lenovo Security Advisory LEN-18282: Reading Privileged Memory with a Side Channel
Microsoft Security Advisory 180002: Guidance to mitigate speculative execution side-channel vulnerabilities
Windows Client guidance for IT Pros to protect against speculative execution side-channel vulnerabilities
Windows Server guidance to protect against speculative execution side-channel vulnerabilities
SQL Server Guidance to protect against speculative execution side-channel vulnerabilities
Important information regarding the Windows security updates released on January 3, 2018 and anti-virus software
Mozilla Mozilla Foundation Security Advisory 2018-01: Speculative execution side-channel attack (“Spectre”)
NetApp NTAP-20180104-0001: Processor Speculated Execution Vulnerabilities in NetApp Products
nVidia Security Notice ID 4609: Speculative Side Channels
Security Bulletin 4611: NVIDIA GPU Display Driver Security Updates for Speculative Side Channels
Security Bulletin 4613: NVIDIA Shield TV Security Updates for Speculative Side Channels
Raspberry Pi Foundation Why Raspberry Pi isn’t vulnerable to Spectre or Meltdown
Red Hat Kernel Side-Channel Attacks – CVE-2017-5754 CVE-2017-5753 CVE-2017-5715
SUSE SUSE Linux security updates CVE-2017-5715
SUSE Linux security updates CVE-2017-5753
SUSE Linux security updates CVE-2017-5754
Synology Synology-SA-18:01 Meltdown and Spectre Attacks
Ubuntu Ubuntu Updates for the Meltdown / Spectre Vulnerabilities
VMware NEW VMSA VMSA-2018-0002 VMware ESXi, Workstation and Fusion updates address side-channel analysis due to speculative execution
Xen Advisory XSA-254: Information leak via side effects of speculative execution

Detalhes técnicos

A confusão acerca dos fabricantes de processadores afetados deve-se ao facto de esta não ser apenas uma vulnerabilidade, mas duas vulnerabilidades semelhantes, denominadas Meltdown e Specter. Estas vulnerabilidades possuem três números CVE (um padrão quase governamental para analisar vulnerabilidades e exposições de segurança de computadores) atribuídos a elas:

Número CVE Descrição
CVE-2017-5715 Branch Target Injection, exploited by Spectre
CVE-2017-5753 Bounds Check Bypass, exploited by Spectre
CVE-2017-5754 Rogue Data Cache Load, exploited by Meltdown

Durante muitos anos, os fabricantes de processadores – como a Intel – conseguiram corrigir falhas na arquitetura do processador através de atualizações de microcódigo, que gravam uma atualização no próprio processador para corrigir um erro.

Por alguma razão ou razões até agora desconhecidas, esta vulnerabilidade não pode ser corrigida desta forma nos processadores da Intel. Por esse motivo, os fabricantes de sistemas operativos colaboraram com a Intel para lançarem correções para as vulnerabilidades. O aviso de segurança da Intel, o método INTEL-SA-00088 de Execução Especulativa e Método de Análise de Canal Lateral de Previsão de Filial Indireto, apresenta quarenta e quatro (44) famílias de processadores afetados, cada um dos quais pode conter dezenas de modelos. A ARM emitiu um alerta intitulado Vulnerabilidade de processadores especulativos ao Mecanismo de Canal Lateral de Cache Timing que indica dez (10) modelos de processadores afetados.

A internet das coisas (IoT) também não escapa

s bugs de software costumam ser resolvidos através de patches e os bugs de hardware através de atualizações de firmware. No entanto, não é fácil fazer isto no caso destas duas vulnerabilidades, uma vez que são causadas por uma falha no design da arquitetura do hardware, que apenas pode ser corrigida, em muitos casos, substituindo o próprio hardware.

Spectre

Felizmente, com a cooperação entre os fornecedores dos sistemas operativos modernos e os vendedores de hardware responsáveis pelos CPUs afetados, os sistemas operativos podem ser modificados de forma a contornar as vulnerabilidades. Isto tem um efeito negativo no desempenho dos dispositivos, mas as únicas alternativas são substituir o hardware (de momento ainda não existem substitutos sem as vulnerabilidades) ou desligar o dispositivo da rede para sempre, o que não é desejável nem prático.

E é exatamente aqui que os problemas começam. Os CPUs feitos pela Intel, ARM, AMD e provavelmente outros são afetados por estas vulnerabilidades. Mais especificamente, os CPUs da ARM são usados em muitos dispositivos IoT e diversas pessoas têm dispositivos deste tipo, embora por vezes não se apercebam disso, aumentando tudo aquilo que os cibercriminosos podem explorar.

Mas afinal que informações delicadas é que podem ser roubadas de uma lâmpada controlada por Wi-Fi, um frigorífico, uma moldura digital ou uma TV inteligente? A resposta é muitas: a password da rede Wi-Fi, fotos, credenciais do Netflix e várias outras. Hoje em dia, as pessoas guardam muita informação nos dispositivos IoT.

Para aceder a estes dispositivos IoT os atacantes precisam de ter comprometido a rede, mas também podem fazê-lo comprometendo apps ou widgets que correm nos dispositivos.

Não é prático, ou mesmo possível, substituir todos os CPUs em todos os dispositivos. No mundo real, as pessoas vão manter os seus dispositivos existentes até esses dispositivos chegarem ao fim do seu ciclo de vida. Por isso, durante o futuro próximo, as pessoas terão dispositivos vulneráveis na sua casa.

Os dispositivos IoT ou “inteligentes” estão aqui para ficar, afetados ou não, por isso tenha cuidado com a informação que guarda neles.

Siga a Leak no Google Notícias e no MSN Portugal.

Receba as notícias Leak no seu e-mail. Carregue aqui para se registar. É grátis!

Bruno Fonseca
Bruno Fonseca
Fundador da Leak, estreou-se no online em 1999 quando criou a CDRW.co.pt. Deu os primeiros passos no mundo da tecnologia com o Spectrum 48K e nunca mais largou os computadores. É viciado em telemóveis, tablets e gadgets.

Leia também