Quando se pensava que o Spectre e Meltdown já seriam um problema do passado, eis que surge nova técnica que se aproveita o hyperthreading nos CPUs Skylake e Kaby Lake da Intel, para poder roubar dados.
O Spectre e Meltdown vieram abalar a indústria dos CPUs, revelando falhas intrínsecas à sua arquitectura, e que foram dando lugar a inúmeras variantes e ataques neles inspirados, como o BranchScope, TLBleed, e Foreshadow. Agora, temos mais uma a juntar ao grupo.
O PortSmash é um novo ataque que tira partido do hyperthreading nos CPUs da Intel (e possivelmente também podendo afectar CPUs de outros fabricantes), para conseguir roubar informação que esteja a ser executada no núcleo de processamento que está a ser partilhado. O hyperthreading é uma tecnologia que maximiza o desempenho de um núcleo do CPU, reorganizando várias tarefas de modo a que esse núcleo possa trabalhar ao máximo das suas capacidades, em vez de ficar com "tempos mortos" durante o processo de espera de instruções. As vantagens em termos de desempenho são notórias - praticamente duplicando o desempenho que se poderia ter sem ele - mas infelizmente tem também tido o efeito secundário de proporcionar várias vertentes para este tipo de ataques especializados.
[Hyperthreading: os blocos em branco seriam momentos em que um núcleo não teria nada para fazer mas que com o Hyperthreading podem ser usados para processar outras threads]
No caso do PortSmash, os investigadores conseguiram demonstrar como obter uma chave privada de um servidor Ubuntu a correr OpenSSL, com CPUs Intel Skylake e Kaby Lake, através da medição do tempo que um dos núcleos demorava a executar cada instrução - e daí inferindo os dados que estariam a ser processados pelo outro processo.
Se compararmos o hyperthreading a uma pessoa que tem que cozinhar diversos pratos, mas que também atende o telefone enquanto espera pelo tempo que a comida está no forno, este ataque será o equivalente a tentar adivinhar qual o prato que ele está a confeccionar com base no tempo que ele demora a atender o telefone durante telefonemas sucessivos.
Entretanto o OpenSSL já foi actualizado para ser imune a este tipo de ataque, mas facilmente se percebe porque motivo a Intel optou por remover o hyperthreading da maioria dos seus novos CPUs. É complicado quando se tem que desenvolver hardware assumindo que tudo poderá ser abusado e explorado... até mesmo quando se tratam de tecnologias que visavam maximizar o desempenho.
Subscrever:
Enviar feedback (Atom)
A Intel anda mesmo numa maré de azar...mas também foram muitos anos a explorarem o ppl...
ResponderEliminar"hyperthreading é uma tecnologia que maximiza o desempenho de um núcleo do CPU ... As vantagens em termos de desempenho são notórias - praticamente duplicando o desempenho que se poderia ter sem ele"
ResponderEliminar"Intel optou por remover o hyperthreading da maioria dos seus novos CPUs"
???
estou espantado com estas afirmações...
agradecia evidencias a justificá-las.
Bastará olhares para os novos CPUs de 9ª geração da Intel:
EliminarCore i7-9700K - 8 cores / 8 threads
Core i5-9600K - 6 cores / 6 threads
Só o Core i9-9900K é que escapa: 8 cores / 16 threads
(O mesmo já acontecia nalguns CPUs de 8ª geração, como o Core i5-8600K, e Core i3-8350K, pelo que não é uma novidade recente)