Início » Computador » O que é a falha Foreshadow que afeta processadores Intel

O que é a falha Foreshadow que afeta processadores Intel

Chamada pela Intel de L1TF, Foreshadow é uma vulnerabilidade importante que afeta processadores Core e Xeon

Por
52 semanas atrás

A fase crítica das falhas Spectre e Meltdown pode até ter passado, mas a Intel ainda não está livre de problemas: recentemente, a companhia reconheceu uma nova vulnerabilidade que afeta quase todos os processadores Intel Core e diversos chips da linha Xeon: trata-se da L1TF ou Foreshadow.

Na verdade, o problema consiste em um conjunto de três técnicas que foi batizado pela Intel como L1 Terminal Fault ou, como já dito, L1TF. Esse nome foi adotado porque envolve dados na memória cache L1 do processador.

Cada técnica explora características distintas do chip para obter dados protegidos, mas tem praticamente o mesmo modo de ação. A companhia afirma, porém, não ter sido notificada de nenhum caso de ataque baseado na vulnerabilidade.

L1TF / Foreshadow

O que é a falha L1TF (ou falha Foreshadow)?

Precisamente, a técnica mais importante explora o Software Guard Extensions (SGX) da Intel. Essa é uma tecnologia que cria enclaves, isto é, áreas protegidas na memória por meio de criptografia que permitem a execução de códigos que não podem ser acessados ou alterados a partir do sistema operacional. Os enclaves podem ser usados, por exemplo, para isolar dados sensíveis e, assim, evitar que eles fiquem expostos caso o computador seja contaminado por malwares, por exemplo.

Se você se inteirou da falha Spectre, deve se lembrar que ela está relacionada à execução especulativa. Com ela, o processador tenta adivinhar qual código será executado na sequência e antecipa esse trabalho para ganhar tempo. Se a previsão estiver errada, o resultado é descartado. Com o Spectre, é possível induzir a execução especulativa de uma operação maliciosa, abrindo brechas para vazamento de dados.

Os pesquisadores que identificaram a falha L1TF perceberam que ela também pode usar a execução especulativa, mas para obter dados no SGX. Os mesmos pesquisadores atribuíram o nome Foreshadow à vulnerabilidade (reforçando, L1TF foi a denominação adotada pela Intel).

As operações executadas especulativamente podem fazer dados serem carregados na L1, mesmo se eles também estiverem no SGX. Mas o detalhe crítico é que os enclaves só protegem com criptografia dados que estão na memória principal, não em cache.

O processador vai descartar todas as execuções especulativas quando elas envolverem dados em cache que têm acesso proibido (como dados no SGX), mas esse procedimento não é instantâneo. Uma instrução maliciosa executada especulativamente pode então ter acesso a esses dados antes do descarte.

É claro que o processador tem mecanismos que evitam que dados nos enclaves sejam lidos por meio de execução especulativa. No entanto, graças à falha Foreshadow, pode-se contornar a sinalização que aponta para uma tentativa não autorizada de leitura dos dados. Aí é só executar procedimentos para explorar a memória cache.

Para piorar, os pesquisadores descobriram que é possível adicionar técnicas para reduzir as chances de os dados presentes na L1 serem sobrescritos durante a operação maliciosa.

Tem mais: quando notificada sobre o problema, a Intel tratou de conduzir uma investigação própria e, nesse processo, descobriu que não só o SGX pode ser acessado indevidamente, como também dados em outras áreas protegidas de memória por meio de duas técnicas parecidas.

O vídeo anterior contém explicações dadas pelos pesquisadores. Já o vídeo abaixo contém uma explicação da Intel:

Correções para a falha L1TF / Foreshadow

A Intel foi notificada do problema em janeiro por duas equipes distintas de pesquisadores, com diferença de dias entre os avisos de ambas. Depois disso, os dois grupos passaram a trabalhar conjuntamente. Graças a isso, eles perceberam que a falha é muito complexa, mas realmente pode ser explorada por alguém com conhecimento suficiente.

Felizmente, a Intel desenvolveu correções de firmware para a L1TF / Foreshadow. Elas estão sendo liberadas pelo menos desde maio a fabricantes de computadores e parceiros. Correções no nível do sistema operacional também devem começar a ser distribuídas para Windows e Linux.

No entanto, os pesquisadores não estão seguros sobre a plena eficácia dessas soluções. Já há indícios de que elas não eliminam totalmente os riscos quando o processador usa hyperthreading, por exemplo. Esse detalhe é particularmente preocupante em servidores, razão pela qual desativar o hyperthreading parece ser uma boa medida de precaução, ao menos até que correções mais confiáveis sejam liberadas.

Soluções definitivas só mesmo no nível do hardware. A Intel já prometeu trabalhar nisso, mas, obviamente, elas só contemplarão as novas gerações de processadores da companhia.

Há mais informações no site que os pesquisadores criaram para o Foreshadow.

Com informações: Wired, Ars Technica.