Microcode Decryptor, uma ferramenta que permite decodificar o microcódigo dos processadores Intel

Um grupo de Pesquisadores de segurança da equipe uCode lançados liberação do código-fonte do projeto decodificador de microcódigo e isso permite fazer exatamente o que o nome sugere: é uma ferramenta, que consiste em três scripts Python e está disponível no GitHub.

Descriptografador de microcódigo permite decodificar o microcódigo de alguns processadores Intel como Atom, Pentium e Celeron baseados nas microarquiteturas Goldmont e Goldmont Plus, o que abre as portas para diferentes cenários, como entender como a Intel implementou determinados recursos do processador ou implementou vários recursos e correções de segurança.

A técnica Red Unlock desenvolvida pelos mesmos pesquisadores em 2020 pode ser usado para extrair o microcódigo criptografado. A possibilidade proposta de decifrar o microcódigo permite explorar a estrutura interna do microcódigo e os métodos para implementar instruções de máquina x86. Além disso, os pesquisadores recuperaram o formato de atualização do firmware, o algoritmo de criptografia e a chave usada para proteger o microcódigo (RC4).

Para determinar qual chave de criptografia usar, uma vulnerabilidade no Intel TXE foi usada para habilitar um modo de depuração não documentado, codinome “Red Unlock” pelos pesquisadores. No modo de depuração, conseguimos carregar um dump com um microcódigo de trabalho diretamente da CPU e extrair o algoritmo e as chaves dele.

Descriptografador de microcódigo só permite decifrar o microcódigo, mas não permite alterá-lo, pois a integridade do microcódigo é verificada adicionalmente por uma assinatura digital baseada no algoritmo RSA.

Sobre como o desenvolvimento do Microcode Decryptor foi possível, eles mencionam que aconteceu três anos atrás quando Goryachy e Ermolov encontraram uma vulnerabilidade crítica, indexada como Intel SA-00086, que lhes permitiu executar o código de sua escolha dentro do chip independente kernel, que incluía um subsistema conhecido como Intel Management Engine.

A Intel corrigiu o bug e lançou um patch, mas como os chips sempre podem ser revertidos para uma versão de firmware anterior e depois explorados, não há como remover a vulnerabilidade com eficácia.

Depois disso (há cinco meses), o trio de cientistas conseguiu usar a vulnerabilidade para acessar um modo de serviço embutido nos chips da Intel, em uma homenagem ao filme The Matrix, os pesquisadores nomearam sua ferramenta para acessar esse depurador anteriormente não documentado Chip Red Pílula, porque permite que os pesquisadores experimentem o funcionamento interno de um chip que geralmente está fora dos limites.

Um porta-voz da Intel disse que:

"Não deve haver risco de segurança" como resultado da disponibilidade da ferramenta. Na verdade, a empresa disse que permitir que mais pessoas analisem o microcódigo da Intel pode ajudar a fabricante de chips a identificar mais vulnerabilidades no futuro. Para quem for bem sucedido em fazê-lo, isso significa potencialmente ganhar algum dinheiro através do programa de recompensas de bugs da Intel.

“A capacidade dos pesquisadores de analisar microcódigo pode permitir a descoberta de novas vulnerabilidades. Como esse microcódigo foi exposto, a Intel convida pesquisadores a participar do programa de recompensas de bugs de microcódigo, caso algum problema seja descoberto”, nos disseram.

Por sua vez, os desenvolvedores desta ferramenta comentaram que

“A oportunidade de ler o microcódigo da CPU pode ajudar a entender como a Intel implementou tecnologias como Intel Trusted Execution Technology (TXT) ou mitigou vulnerabilidades graves como Meltdown e Spectre”.

Yermolov, um dos outros cientistas, acrescentou que a disponibilidade da ferramenta significa que as pessoas agora você pode explorar o XuCode, uma variante de código x86 de modo de 64 bits usada para implementar partes do Intel SGX que são baixadas como uma atualização de microcódigo. SGX é a tecnologia da Intel para criar enclaves de memória seguros: são áreas protegidas nas quais outros programas e usuários, incluindo o sistema operacional ou o hypervisor, não podem interferir.

O XuCode é bastante interessante: as instruções específicas do x86 para gerenciar enclaves SGX são tão complexas que são divididas em sequências de instruções XuCode que realizam as operações necessárias.

Essas instruções XuCode são padrão para a arquitetura x86 de 64 bits com algumas extensões e são divididas em microoperações x86 regulares pelo processador. Quando um aplicativo usa uma instrução SGX de alto nível, o processador pode pular para seu XuCode para trabalhar.

Essas sequências XuCode são armazenadas em microcódigo e agora podem ser extraídas com os scripts Python acima e analisadas com kits de engenharia reversa x86 padrão.

Finalmente se você estiver interessado em saber mais sobre isso Sobre a ferramenta, você pode conferir os detalhes em o seguinte link.


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: AB Internet Networks 2008 SL
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.