Movme=MOVimento engenharia

Log in

Meltdown e Spectre deixam em risco "todos" os computadores e smartphones

5 Jan 2018 00:26 | José Cascão (Administrator)



Já foram revelados os detalhes sobre a preocupante falha que afecta os CPUs Intel, mas que afinal se vem a revelar bem mais vasta, afectando igualmente CPUs AMD e ARM e que deixa vulneráveis praticamente todos os dispositivos electrónicos com CPUs fabricados nos últimos dez anos.

Para começar, não estamos perante uma única falha, mas sim duas, denominadas Meltdown e Spectre.

Meltdown é uma falha que permite a um qualquer programa ultrapassar as barreiras que o deviam isolar do funcionamento do sistema operativo, permitindo acesso a zonas de memória que contenham informação sensível. Esta falha afecta todos os CPUs fabricados desde 1995 (com excepção dos Itanium e alguns Atom) - não parecendo afectar CPUs AMD e ARM.

Spectre é outra falha, que permite usar uma técnica idêntica para que um programa malicioso consiga aceder a dados de outros programas. É uma vulnerabilidade mais difícil de explorar, mas também se revela mais difícil de corrigir - e tem a agravante de que, para além dos CPUs Intel, também afecta os AMD e ARM (daí a confusão de alguns dizerem que a falha só afecta uns, ou todos - estamos a falar de duas vulnerabilidades distintas).

Este ataque até permitiria que um script numa página web pudesse potencialmente aceder à memória de um gestor de passwords, e torna-se por isso preocupante (a Mozilla já fez uma actualização de emergência que, por agora, limita a precisão das funções de temporização que são necessárias para se tirar partido desta vulnerabilidade).


A origem do problema tem a ver com a "execução especulativa de código". Inicialmente, um CPU limitava-se a ler as instruções da memória e a executá-las; simples. Com o aumento do desempenho, foram-se aplicando novas técnicas, que iam fazendo o pré-carregamento das instruções seguintes, para que estivessem prontas a ser executadas. O problema deste sistema é que, quando se chega a uma instrução que implicasse uma decisão "se acontecer isto, faz aquilo, senão faz antes aquela outra coisa" temos a situação de que o CPU não sabe que caminho irá ter que percorrer. Nas primeiras implementações, o CPU tentava determinar qual seria o percurso mais provável, mas posteriormente - e tendo em conta a enorme penalização no desempenho que ocorre quando o CPU "falha" e tem que reiniciar o processo de ir buscar instruções - o CPU começou também a fazer a "execução especulativa" desse caminho alternativo. Assim, fosse para que lado fosse, o CPU estaria preparado para continuar o processamento a toda a velocidade - sendo que, ao seguir por um caminho, se limitava a descartar as instruções do caminho que não tinha seguido.

O problema é que essas instruções pré-processadas na eventualidade de serem necessárias estão a ser executadas sem o devido controlo de acesso a zonas da memória que não deveriam conseguir aceder; fazendo com que programas criados especificamente para tirarem partido disto, consigam ler praticamente qualquer zona de memória do sistema.



Tudo isto resulta numa verdadeira "tempestade perfeita", que faz com que praticamente todos os computadores das últimas décadas fique em risco - a não ser que se utilize um sistema actualizado e com as devidas correcções implementadas, assim como software que minimize o risco de abuso por parte do Spectre.

O mais assustador no meio de tudo isto é que, mesmo para aquelas pessoas mais paranóicas (como eu), que já se davam ao trabalho de criar máquinas virtuais para correr software em que pudessem não confiar completamente, para garantir que qualquer actividade indesejada não conseguisse aceder ou interferir com o sistema principal, estas falhas tornam isso irrelevante. É verdadeiramente uma dos maiores "barracadas" de sempre na informática... e suspeito que ainda vá dar bastante que falar, quando começarem a surgir ataques que se aproveitem destas vulnerabilidades nos muitos milhões de sistemas que seguramente irão permanecer vulneráveis...

Página Fonte

MovME - ASSOCIAÇÃO PARA A PROMOÇÃO E DESENVOLVIMENTO DA ENGENHARIA E TECNOLOGIA

Contactos:
Telef: +351 913 788 483

www.movme.pt

movme2017@gmail.com

Endereço:
Lisboa - Guimarães - Vila Real
Powered by Wild Apricot. Try our all-in-one platform for easy membership management