Novas Vulnerabilidades em Processadores Intel

Ontem tivemos a descoberta e correção de 1 falha em processadores Intel. Hoje foram mais duas! Conheça o impacto de cada uma delas para os diversos sistemas operacionais que neles executam!


| Se você apoia nosso site, desative o AdBlock quando visitá-lo, inclusive em Mobile!
Os anúncios são poucos e não invasivos. Se quiser contribuir com nosso trabalho, clique em qualquer banner de sua preferência, exceto dos Parceiros. 
Mais detalhes clicando aqui.


1. Introdução

Além da errata do Jump Conditional Code (JJC) que foi divulgada ontem que afeta o Skylake através do Cascade Lake, os pesquisadores também anunciaram uma nova variante de ataque do canal lateral do ZombieLoad chamada “TSX Asynchronous Abort” ou TAA. Quando essa falha estava sendo corrigida, surgiu mais uma: iITLB Multihit!

No momento a Intel já coleciona +3 falhas para sua já extensa lista de problemas.

Vamos por partes!

2. Jump Conditional Code

Este é um bug que envolve o ICache Decoded da CPU, no Skylake, e as CPUs derivadas, onde um comportamento imprevisível pode ocorrer quando as instruções de salto cruzam as linhas de cache. Infelizmente, resolver esse erro no software tem uma penalidade de desempenho, mas os engenheiros da Intel estão trabalhando para compensar isso através de uma atualização da cadeia de ferramentas.

O problema em questão resume-se às instruções que cruzam as linhas de cache, onde no Skylake por Cascadelake existe o potencial de “comportamento imprevisível” relacionado ao ICache Decodificado / Buffer de Transmissão Decodificado.

A atualização do microcódigo (usuários Linux receberam o update ontem e hoje!) impede que as instruções de salto sejam armazenadas em cache no Icache decodificado quando essas instruções ultrapassam um limite de 32 bytes ou quando terminam em um limite de 32 bytes.

Devido a essa alteração, haverá mais erros do ICache decodificado e retornará ao pipeline de decodificação herdado – resultando em uma nova penalidade de desempenho. O ICache Decodificado / Buffer de Transmissão Decodificado existe desde Sandy Bridge, mas apenas a arquitetura Skylake e mais recentes são afetados por esta errata. O Cascade Lake é afetado por esta errata, mas o Ice Lake e as iterações futuras não são afetadas. O aviso de errata lista oficialmente as arquiteturas Amber Lake, Cascade Lake, Coffee Lake, Comet Lake, Kaby Lake, Skylake e Whisky Lake como gerações afetadas pelo bug do JCC.

3. TSX Asynchronous Abort” ou TAA

O ZombieLoad / MDS (Microarchitectural Data Sampling) foi anunciado em maio pelos pesquisadores. Hoje, a Cyberus Technology anunciou uma nova variante focada nos processadores Intel com TSX (Transactional Synchronization Extensions). A falha TSX Asynchronous Abort é uma nova variante do ZombieLoad que foi descoberta como parte das descobertas originais da Cyberus, mas enfrentou um embargo prolongado até ser tornado público.

4. iITLB Multihit (NX) – No eXcuses

O kernel Linux recebeu atenuações para o ZombieLoad TAA, que funcionam em conjunto com o microcódigo Intel recém-publicado. As mitigações também agora expõem /sys/devices/system/cpu/vulnerabilities/tsx_async_abort por relatar o status da mitigação mais um novo parâmetro tsx_async_abort do kernel. Com a mitigação do TAA, o sistema limpará os buffers da CPU nas transições de anel.

Mas essa correção levantou uma nova questão quanto a uma nova falha: a “iITLB Multihit (NX) – No eXcuses”.

Esse problema ocorre em algumas CPUs Intel, causando um erro de verificação da máquina e possível bloqueio irrecuperável da CPU decorrente de alterações no tamanho da página. Isso tem implicações em cloud/VM para poder causar um ataque de negação de serviço por um hóspede mal-intencionado. A solução alternativa para esta vulnerabilidade “No eXcuses” é o KVM marcando páginas enormes nas tabelas de páginas estendidas como não executáveis ​​(NX).

Para a questão do iTLB Multihit, há um novo nó /sys/devices/system/cpu/vulnerabilities/itlb_multihit sysfs e a opção kvm.nx_huge_pages=. Esse problema é conhecido desde o ano passado e marcou o CVE-2018-12207. Mais detalhes sobre essa vulnerabilidade separada dos outros problemas atuais da CPU por meio desta documentação.

5. Updates

TODAS as falhas citadas nesta publicação já foram disponibilizadas para Windows e a maioria das distribuições Linux! Basta manter seu sistema atualizado e você estará seguro.

Lembrando que elas podem e vão gerar perda de desempenho, caso deseje, poderá remover as correções, ficando mais vulnerável porém com um hardware mais rápido.

#UrbanCompassPony

Fontes:
Phoronix 1
Phoronix 2
Phoronix 3

Deixe um comentário