Meltdown e Spectre: O que são?
Os exploits Meltdown e Spectre foram desenvolvidos para atacar vulnerabilidades críticas em processadores modernos (arm/intel/amd); praticamente toda CPU produzida entre 1995 até hoje.
Geralmente cada programa que é executado pela CPU, tem uma camada de isolamento entre os seus dados e os dados dos outros programas. Essas vulnerabilidades permitem programas utilizando os exploits, a roubarem os dados de outros programas que estão em processamento no dispositivo, burlando esta camada de proteção entre dados de programas distintos.
Para se ter uma ideia do impacto deste ataque, todos nós temos senhas salvas no navegador ou até mesmo em gerenciadores de senhas. Temos fotos e senhas criptografadas. Basicamente tudo que foi alguma vez carregado para a memória do computador ou ainda está nela, poderá ser roubado.
Esses exploits não se limitam apenas ao seu computador pessoal, conhecidos como estação, desktop ou notebook. Eles também tem potencial para atacar smartphones, e até mesmo servidores de infraestrutura de nuvem, o que pode ser complicado em um ambiente de virtualização.
Existe uma diferença sucinta entre essas vulnerabilidades, veja qual é!
- Meltdown (rogue data cache load — CVE-2017-5754): Quebra o mais fundamental isolamento entre aplicações do usuário e o sistema operacional. Esse ataque permite ao agente malicioso acessar a memória. A partir disto, tem acesso a memória utilizada por outros programas e então rouba seus os dados.
Leia mais – Meltdown Papers
- Spectre (CVE-2017-5753/CVE-2017-5715): Quebra o isolamento entre aplicações diferentes. Isso permite ao atacante explorar algo conhecido como Execução especulativa ,que é o que alguns processadores fazem para melhorar o desempenho, executando instruções de forma preditiva.
O Spectre possui duas variantes: Bound Check Bypass( CVE-2017-5753 ) e Branch Target Injection(CVE-2017-5715), ambas as variantes permitem ao atacante extrair informações de outros processos em execução. A vulnerabilidade Spectre é muito mais difícil de ser explorada do que a Meltdown e também mais difícil de ser mitigada.
Leia mais – Spectre Papers
Os links abaixo tem as demonstrações de prova de conceito dos exploits em ação. Contudo, em um ambiente real, o invasor teria escrito um malware que faria todo o trabalho de forma automatizada.
Demonstração: Capturando senha digitada no navegador.
Demonstração: Capturando senha digitada em um Gerenciador de Senhas.
Demonstração: Reconstruindo imagem a partir do dump de memória:
A elaboração de Malwares que utilizam o Meltdown e Spectre já está acontecendo. Até o momento já foram encontrados mais de 130 malwares que utilizam esses exploits para realizar suas atividades maliciosas. Clique aqui e veja o número de malwares detectados no AV-TEST nos quesitos de Meltdown e Spectre.