Ronaldo Gogoni 6 anos atrás
O ano de 2018 definitivamente começou a todo vapor: profissionais de segurança revelaram a existência de duas falhas gravíssimas de segurança, que afetam inúmeros processadores fabricados ou que embarcam tecnologias da Intel, AMD e ARM nos últimos 20 anos.
Virtualmente quase todo desktop, laptop, smartphone, servidor ou dispositivo minimamente potente é afetado e as soluções apresentadas não são nada simples, quando possíveis de serem implementadas.
Começou com a Intel: informações publicadas em primeira mão pelo The Register revelaram a existência de uma vulnerabilidade nos processadores da companhia que permitia o acesso indevido a áreas protegidas do kernel, que normalmente apenas o sistema operacional faz uso. Inicialmente todos os processadores fabricados nos últimos dez anos seriam afetados, mas pouco depois profissionais do Google revelaram detalhes ainda mais escabrosos do caso.
Um estudo extremamente detalhado revelou não uma, mas duas falhas distintas chamadas Meltdown e Spectre, sendo a primeira a referente aos processadores Intel e presente em componentes mais antigos, testados de 1995 em diante (e não apenas os da última década) e a segunda, que possui duas variantes é uma falha de design profunda, que afeta quase todos os processadores fabricados nos últimos 20 anos da Intel, AMD e ARM. Ou seja, praticamente ninguém escapou ileso.
Testes de conceito realizados em processadores Intel (Xeon E5–1650 v3), AMD (FX–8320 e PRO A8–9600 R7) e ARM (Snapdragon 808 da Qualcomm, que utiliza núcleos ARM Cortex-A57) deram positivo para pelo menos uma das vulnerabilidades e apontam para o seguinte cenário: praticamente todos os processadores Intel disponíveis hoje no mercado estão sujeitos aos Meltdown, mas o Spectre se faz presente em quase todos os chips do planeta.
Detalhe: ambas as vulnerabilidades foram reportadas às fabricantes em 1º de junho de 2017, mas como as correções demoraram a aparecer a solução foi jogar no ventilador.
O que é o Meltdown?
O nome da falha que afeta os processadores Intel é apropriado, já que ele virtualmente “derrete” a camada de segurança do processador que impede o acesso à memória do kernel reservada ao sistema operacional, seja ele Windows, Linux ou macOS. Diferente de programas que possuem níveis de permissões diferentes, o kernel possui acesso a praticamente qualquer coisa pois é a ponte de ligação entre o software e o hardware propriamente dito.
Para que isso funcione o processador precisa aplicar restrições corretamente, com instruções pré-programadas que permita o kernel trabalhar direitinho e barre o acesso de outros programas a funções e dados que não lhes dizem respeito.
E aí reside o problema: os processadores Intel possuem dificuldades de aplicar as restrições de maneira correta e em tese, um aplicativo comum pode (de forma acidental ou deliberada) acessar partes protegidas do SO e coletar informações extremamente sensíveis, desde senhas a números de cartões de crédito; o programa nem precisa ser complexo, basta um código em JavaScript rodando no navegador inserido por um hacker para fazer tal estrago.
A falha foi detectada em processadores Intel fabricados a partir de 2011, mas por similaridades de arquitetura todos os componentes fabricados de 1995 em diante estão vulneráveis; as únicas exceções são a linha Intel Itanium, que conta com uma arquitetura diferente e os Intel Atom fabricados antes de 2013.
A pior característica envolvendo o Meltdown é o fato de que a correção, por se tratar de uma falha que compromete o kernel a solução vai custar muito caro para os consumidores: uma correção de software já está sendo implementada nos SOs de modo a isolar a memória do kernel e os processos do usuário, mas tal abordagem acabará por comprometer e muito a performance final dos chips.
Enquanto modelos mais recentes poderão ter uma perda de em torno de 5%, os processadores mais antigos poderão ficar até 30% mais lentos e não há nada que se possa fazer para evitar tal cenário.
O que é o Spectre?
O Spectre tira seu nome da forma que atua ao explorar a execução especulativa, um método que processadores usam para adivinhar qual será o próximo processo a ser executado, de modo a economizar tempo e melhorar o desempenho dos programas. Em suma a falha é um "fantasma", baseada numa vulnerabilidade por design de projeto que por causa disso mesmo, não só está presente em quase todos os processadores como é algo quase impossível de ser corrigido. A solução mais viável é redesenhar os componentes daqui por diante de modo a eliminar o bug.
O Spectre aproveita a execução especulativa para injetar um código malicioso que da mesma forma, insere um comando para induzir o processador a “adivinhar” uma informação específica, que não seria executada normalmente mas por conta do design em si, ele acaba por retornar um comando para um determinado programa de modo a quebrar a segurança de diversos softwares, permitindo que o invasor colete alegremente o que quiser do dispositivo afetado.
Por se tratar de um erro de design, não só os processadores da Intel estão na roda como também os da AMD e os núcleos próprios ou que incorporam a arquitetura da ARM; tais componentes equipam desde desktops e laptops a servidores, smartphones, tablets, set-top boxes, televisores e uma série de outros dispositivos conectados de alta performance. Todos eles, sem exceção estão vulneráveis.
Quanto a consoles de videogame: o Nintendo Switch é afetado pelo Spectre, pelo fato de usar uma CPU octa-core com núcleos ARM Cortex-A53 e Cortex-A57 da família Tegra, da nVidia; já a situação da Microsoft com o Xbox One/One S/One X e da Sony com o PS4/PS4 Pro, com todos utilizando CPUs Jaguar da AMD é diferente, devido a diferença de arquiteturas (leia as declarações das empresas para mais detalhes).
É possível identificar uma invasão?
Resposta curta: não.
Resposta longa: a quase totalidade dos antivírus, firewalls e programas de segurança não estão preparados para identificar invasões de tão baixo nível, bem como ela não deixa rastros no sistema. Basicamente você jamais saberá se e quando foi invadido, embora hajam chances de que a maioria dos hackers sequer soubesse que tais brechas existiam. Embora tanto o Meltdown quanto o Spectre sejam vulnerabilidades bastante graves, as chances de que ambas vinham sendo exploradas em larga escala nas últimas duas décadas são bem baixas.
Ainda assim, é bom ressaltar que isso não serve de consolo ou desculpa.
Agora, o outro lado:
O que fazer?
Essa é a pergunta da semana. Não há nada que um usuário final possa fazer a não ser sentar e esperar os próximos desdobramentos desse sururu todo, que muito provavelmente levará a um rebuliço completo da indústria: os fabricantes serão num grau ou noutro forçados a implementar novos métodos de arquitetura e software e hardware nos futuros processadores e núcleos a serem introduzidos, o que em última análise elevará os preços de tais componentes dada a mão-de-obra extra e que poderá ser repassado ao consumidor final. Sobre os aparelhos já no mercado, a única coisa possível a fazer é aguardar as atualizações que poderão ou não afetar a performance final de seus computadores e dispositivos móveis.
Os únicos usuários que podem respirar um pouco mais são os donos de gadgets da Apple com processadores AX e AXX, tais como iPhones, iPads e a Apple TV: embora seus SoCs, fabricados pela Samsung ou TSMC utilizem núcleos com arquiteturas da ARM, o conceito do projeto é totalmente diferente e além de seguir especificações de design próprias, a maçã emprega técnicas de segurança e performance distintas dos demais processadores e SoCs do mercado. Portanto, em tese tais aparelhos estariam imunes ao Spectre, mas ainda é cedo para afirmar com certeza; a Apple não se posicionou oficialmente até o momento e eventualmente testes serão aplicados para descobrir se a brecha também afeta tais chips ou não. UPDATE: a Apple enfim veio a público e afirmou que todos os seus dispositivos foram afetados, leia acima.
O que podemos dizer com certeza é:
Feliz 2018 a todos.
Com informações: Meltdown Attack.