Como as falhas do colapso e do espectro afetarão meu PC?
Os processadores de computador têm uma enorme falha de projeto, e todos estão lutando para consertá-lo. Apenas uma das duas falhas de segurança pode ser corrigida, e as correções tornarão os PCs (e Macs) com chips Intel mais lentos.
AtualizarUma versão anterior deste artigo afirmou que essa falha era específica dos chips da Intel, mas essa não é toda a história. Existem de fato dois grandes vulnerabilidades aqui, agora apelidadas de "Meltdown" e "Spectre". O Meltdown é amplamente específico dos processadores Intel e afeta todos os modelos de CPU das últimas décadas. Adicionamos mais informações sobre esses dois bugs e a diferença entre eles para o artigo abaixo.
O que são fusão e espectro?
O Spectre é uma “falha fundamental de design” que existe em todos os processadores no mercado - incluindo os da AMD e ARM, bem como da Intel. Atualmente, não há conserto de software, e provavelmente será necessário um completo redesenho de hardware para as CPUs - embora, felizmente, seja bastante difícil de explorar, de acordo com pesquisadores de segurança. É possível proteger contra ataques específicos do Specter, e os desenvolvedores estão trabalhando nisso, mas a melhor solução será uma reformulação do hardware da CPU para todos os chips futuros.
O Meltdown basicamente piora o Spectre, fazendo com que o núcleo subjacente à falha seja muito mais fácil de explorar. É essencialmente uma falha adicional que afeta todos os processadores Intel feitos nas últimas décadas. Ele também afeta alguns processadores ARM Cortex-A high-end, mas não afeta os chips da AMD. Meltdown está sendo corrigido nos sistemas operacionais hoje.
Mas como funcionam essas falhas??
Os programas em execução no seu computador são executados com diferentes níveis de permissões de segurança. O kernel do sistema operacional - o kernel do Windows ou o kernel do Linux, por exemplo - tem o nível mais alto de permissões porque executa o programa. Os programas de desktop têm menos permissões e o kernel restringe o que eles podem fazer. O kernel usa os recursos de hardware do processador para ajudar a impor algumas dessas restrições, porque é mais rápido fazê-lo com hardware do que com software..
O problema aqui é com "execução especulativa". Por motivos de desempenho, as CPUs modernas executam automaticamente instruções que acham que precisam executar e, se não o fizerem, podem simplesmente retroceder e retornar o sistema ao estado anterior. No entanto, uma falha na Intel e em alguns processadores ARM permite que os processos executem operações que normalmente não seriam capazes de executar, pois a operação é executada antes que o processador se incomode de verificar se deve ter permissão para executá-la ou não. Esse é o bug do Meltdown.
O problema central do Meltdown e do Specter está no cache da CPU. Um aplicativo pode tentar ler a memória e, se ler algo no cache, a operação será concluída mais rapidamente. Se ele tentar ler algo que não está no cache, ele será concluído mais lentamente. O aplicativo pode ver se algo está completo ou lento e, enquanto tudo o mais durante a execução especulativa é limpo e apagado, o tempo que levou para executar a operação não pode ser oculto. Em seguida, ele pode usar essas informações para criar um mapa de qualquer coisa na memória do computador, um bit por vez. O cache acelera as coisas, mas esses ataques aproveitam essa otimização e a transformam em uma falha de segurança..
Assim, na pior das hipóteses, o código JavaScript em execução no navegador da Web pode efetivamente ler a memória para a qual não deveria ter acesso, como informações particulares armazenadas em outros aplicativos. Provedores de nuvem como o Microsoft Azure ou o Amazon Web Services, que hospedam vários softwares diferentes em diferentes máquinas virtuais no mesmo hardware, estão particularmente em risco. O software de uma pessoa poderia, em teoria, espionar as coisas na máquina virtual de outra empresa. É um colapso na separação entre aplicativos. Os patches para o Meltdown significam que esse ataque não será tão fácil de ser executado. Infelizmente, colocar essas verificações extras no lugar significa que algumas operações serão mais lentas no hardware afetado.
Os desenvolvedores estão trabalhando em patches de software que dificultam a execução de ataques de Spectre. Por exemplo, o novo recurso Isolamento de sites do Google ajuda a proteger contra isso, e a Mozilla já fez algumas mudanças rápidas no Firefox. A Microsoft também fez algumas alterações para ajudar a proteger o Edge e o Internet Explorer no Windows Update, que agora está disponível.
Se você tiver interesse nos detalhes profundos e baixos sobre o Meltdown e o Spectre, leia a explicação técnica da equipe do Projeto Zero do Google, que descobriu os bugs no ano passado. Mais informações também estão disponíveis no site MeltdownAttack.com.
Quanto mais lento meu PC será?
Atualizar: Em 9 de janeiro, a Microsoft divulgou algumas informações sobre o desempenho do patch. De acordo com a Microsoft, o Windows 10 em PCs da era 2016 com Skylake, Kabylake ou processadores Intel mais recentes mostram “desacelerações de um dígito” que a maioria dos usuários não deve notar. O Windows 10 em PCs da era 2015 com Haswell ou uma CPU mais antiga pode apresentar maiores lentidões, e a Microsoft “espera que alguns usuários notem uma diminuição no desempenho do sistema”.
Usuários do Windows 7 e 8 não têm tanta sorte. A Microsoft diz que “espera que a maioria dos usuários perceba uma diminuição no desempenho do sistema” ao usar o Windows 7 ou 8 em um PC de 2015 com Haswell ou uma CPU mais antiga. O Windows 7 e 8 não apenas usam CPUs mais antigas que não podem executar o patch com a mesma eficiência, mas “o Windows 7 e o Windows 8 têm mais transições de kernel por causa de decisões de design herdadas, como toda a renderização de fontes ocorrendo no kernel” e isso também atrasa as coisas.
A Microsoft planeja realizar seus próprios benchmarks e liberar mais detalhes no futuro, mas não sabemos exatamente o quanto o patch do Meltdown afetará o uso diário do PC ainda. Dave Hansen, um desenvolvedor de kernel do Linux que trabalha na Intel, escreveu originalmente que as mudanças que estão sendo feitas no kernel do Linux afetarão tudo. Segundo ele, a maioria das cargas de trabalho está vendo uma desaceleração de um dígito, com uma desaceleração de aproximadamente 5% sendo típica. O pior cenário foi uma desaceleração de 30% em um teste de rede, por isso varia de tarefa para tarefa. Estes números são para o Linux, no entanto, não se aplicam necessariamente ao Windows. A correção desacelera as chamadas do sistema, portanto, tarefas com muitas chamadas do sistema, como compilar software e executar máquinas virtuais, provavelmente ficarão mais lentas. Mas todo software usa algumas chamadas do sistema.
Atualizar: A partir de 5 de janeiro, TechSpot e Guru3D realizaram alguns benchmarks para o Windows. Ambos os sites concluíram que os usuários de desktop não têm muito com o que se preocupar. Alguns jogos para PC vêem uma pequena desaceleração de 2% com o patch, que está dentro da margem de erro, enquanto outros parecem ter um desempenho idêntico. Renderização 3D, software de produtividade, ferramentas de compactação de arquivos e utilitários de criptografia não são afetados. No entanto, os benchmarks de leitura e gravação de arquivos mostram diferenças notáveis. A velocidade de ler rapidamente uma grande quantidade de arquivos pequenos caiu cerca de 23% nos benchmarks da Techspot, e o Guru3D encontrou algo similar. Por outro lado, o Tom's Hardware encontrou apenas uma queda média de 3,21% no desempenho com um teste de armazenamento de aplicativos de consumidor, e argumentou que os “benchmarks sintéticos” mostrando quedas mais significativas na velocidade não representam o uso no mundo real..
Computadores com processador Intel Haswell ou mais recentes têm um recurso PCID (Process-Context Identifiers) que ajudará o patch a funcionar bem. Computadores com CPUs Intel mais antigas podem ter uma diminuição maior na velocidade. Os benchmarks acima foram realizados em CPUs Intel modernas com PCID, então não está claro como os processadores Intel mais velhos irão executar.
A Intel diz que a desaceleração "não deve ser significativa" para o usuário médio do computador, e até agora parece verdade, mas certas operações vêem uma desaceleração. Para a nuvem, o Google, a Amazon e a Microsoft basicamente disseram a mesma coisa: para a maioria das cargas de trabalho, eles não viram um impacto significativo no desempenho após a implantação dos patches. A Microsoft disse que “um pequeno conjunto de clientes [Microsoft Azure] pode ter algum impacto no desempenho da rede”. Essas declarações deixam espaço para que algumas cargas de trabalho vejam lentidão significativa. Epic Games culpou o patch Meltdown por causar problemas no servidor com o seu jogo Fortnite e postou um gráfico mostrando um enorme aumento no uso da CPU em seus servidores em nuvem após a instalação do patch.
Mas uma coisa é claro: o seu computador definitivamente não está ficando mais rápido com este patch. Se você tem uma CPU Intel, ela só pode ficar mais lenta, mesmo que seja por uma pequena quantidade.
O que eu preciso fazer?
Algumas atualizações para corrigir o problema de fusão já estão disponíveis. A Microsoft lançou uma atualização de emergência para as versões suportadas do Windows através do Windows Update em 3 de janeiro de 2018, mas ainda não chegou a todos os computadores. O Windows Update que resolve o Meltdown e adiciona algumas proteções contra o Specter é chamado KB4056892.
A Apple já corrigiu o problema com o macOS 10.13.2, lançado em 6 de dezembro de 2017. Os Chromebooks com o Chrome OS 63, lançado em meados de dezembro, já estão protegidos. Patches também estão disponíveis para o kernel do Linux.
Além disso, verifique se o seu PC tem atualizações de BIOS / UEFI disponíveis. Embora a atualização do Windows tenha corrigido o problema do Meltdown, as atualizações de microcódigo da CPU da Intel fornecidas por meio de uma atualização de UEFI ou BIOS são necessárias para ativar totalmente a proteção contra um dos ataques do Specter. Você também deve atualizar seu navegador da Web - como sempre - já que os navegadores estão adicionando algumas proteções contra o Specter, bem.
AtualizarEm 22 de janeiro, a Intel anunciou que os usuários devem parar de implantar as atualizações iniciais de firmware UEFI devido a "reinicializações maiores que o esperado e outro comportamento imprevisível do sistema". A Intel disse que você deve esperar por um patch de firmware UEFI final que tenha sido testado adequadamente e não cause problemas no sistema. A partir de 20 de fevereiro, a Intel lançou atualizações de microcódigo estáveis para Skylake, Kaby Lake e Coffee Lake - que são as plataformas Intel Core 6, 7 e 8 de geração. Os fabricantes de PCs devem começar a implantar novas atualizações de firmware UEFI em breve.
Embora o desempenho seja ruim, recomendamos a instalação desses patches de qualquer maneira. Desenvolvedores de sistemas operacionais não estariam fazendo mudanças tão grandes a menos que isso fosse um bug muito ruim com sérias conseqüências.
O patch de software em questão irá corrigir a falha do Meltdown, e alguns patches de software podem ajudar a mitigar a falha do Specter. Mas o Spectre provavelmente continuará afetando todas as CPUs modernas - pelo menos de alguma forma - até que um novo hardware seja lançado para consertá-lo. Não está claro como os fabricantes lidarão com isso, mas enquanto isso, tudo o que você pode fazer é continuar usando seu computador - e consolar o fato de que o Spectre é mais difícil de explorar e um pouco mais preocupante para a computação em nuvem do que usuários finais PCs desktop.
Crédito de imagem: Intel, VLADGRIN / Shutterstock.com.