O que aprendemos sobre a segurança do Intel ME nos últimos anos: 7 fatos sobre o misterioso subsistema



Imagem: Unsplash

Nos últimos dois anos, a tecnologia Intel ME esteve sob o escrutínio de pesquisadores. Essa tecnologia é cercada por uma aura de mistério - apesar de ter acesso a quase todos os dados no computador e seu comprometimento permite que você assuma o controle completo da máquina, documentação e manuais oficiais para trabalhar com ela do fabricante simplesmente não existem. Portanto, pesquisadores de todo o mundo precisam entender de forma independente o trabalho do subsistema.

Estudamos o Intel ME nos últimos anos, e aqui está o que conseguimos descobrir sobre esse misterioso subsistema neste momento.

Vulnerabilidades no ME podem quebrar até mesmo um computador desligado


No final de 2017, na conferência da Black Hat Europe, os pesquisadores da Positive Technologies, Mark Ermolov e Maxim Goryachy, falaram sobre uma vulnerabilidade no Intel Management Engine 11 que poderia permitir que os invasores acessassem a maioria dos dados e processos no dispositivo. Uma descrição detalhada do problema que publicamos em nosso blog no hub

A vulnerabilidade no Intel ME permitiu a execução de código arbitrário. Isso compromete todas as tecnologias, como o PAVP (Intel Protected Audio Video Path), a Intel Platform Trust Technology (PTT ou fTPM), o Intel BootGuard, o Intel Software Guard Extention (SGX) e muitas outras.

Você pode usar o mecanismo de depuração JTAG para interceptar dados no ME


Ao explorar o erro no módulo bup, os pesquisadores conseguiram ativar um mecanismo chamado desbloqueio PCH vermelho, que permite acesso total a todos os dispositivos PCH, para uso na cadeia DFx, ou seja, usando JTAG. Um desses dispositivos é o próprio núcleo do ME. Isso tornou possível depurar o código em execução no ME, ler a memória de todos os processos e o kernel e gerenciar todos os dispositivos dentro do PCH. Os cálculos mostraram que, nos computadores modernos, existem cerca de 50 dispositivos internos no total, apenas o ME tem acesso total a eles e o processador principal possui apenas um subconjunto muito limitado deles.

Esse nível de acesso também significa que qualquer invasor que explora essa vulnerabilidade, ignorando a proteção tradicional baseada em software, pode realizar ataques mesmo quando o computador está desligado.

O JTAG pode ser ativado na versão móvel do ME


Intel TXE é a versão móvel do ME. Vulnerabilidade O INTEL-SA-00086 permite ativar o JTAG para o subsistema de kernel. Os pesquisadores da Positive Technologies desenvolveram o JTAG PoC para a plataforma Gigabyte Brix GP-BPCE-3350C. Este utilitário pode ser usado para ativar o JTAG para Intel TXE.

O subsistema pode ser desativado usando o modo não documentado


Em um estudo da arquitetura interna da 11ª versão do Intel Management Engine (ME), Maxim Goryachy e Mark Ermolov foram capazes de detectar um mecanismo que desativa essa tecnologia depois de inicializar o equipamento e iniciar o processador principal. Eles descobriram que, embora seja impossível desativar completamente o ME nos computadores modernos, existe um modo não documentado no subsistema chamado High Assurance Platform (HAP). Os pesquisadores conseguiram detectar um bit HAP especial, cuja instalação coloca o Intel ME no modo de desligamento em um estágio inicial de carregamento.

O nome High Assurance Platform é um programa de plataforma confiável associado à Agência de Segurança Nacional dos EUA (NSA). Uma apresentação com uma descrição do programa está disponível online. Provavelmente, esse mecanismo foi introduzido a pedido dos serviços do governo dos EUA, que buscam reduzir a probabilidade de vazamento de dados pelos canais laterais.

Falhas de segurança ME comprometeram o MacBook


Em junho deste ano, a Apple lançou atualizações que cobrem a vulnerabilidade no ME com o código CVE-2018-4251. Dessa vez, o erro estava contido no componente Intel ME Manufacturing Mode - este é um modo de operação de serviço projetado para configurar, configurar e testar a plataforma final no estágio de produção. Este modo permite definir parâmetros críticos da plataforma armazenados na memória de gravação única (FUSES). Ele deve ser desligado antes que o equipamento seja colocado à venda e enviado ao usuário.

Nem esse modo nem seus riscos potenciais são descritos na documentação pública da Intel. Um usuário comum não pode desativá-lo sozinho, pois o utilitário para gerenciá-lo no pacote Intel ME System Tools não está oficialmente disponível.

A vulnerabilidade permite que um invasor com direitos de administrador obtenha acesso não autorizado a partes críticas do firmware, grave uma versão vulnerável do Intel ME e, por meio de sua operação, se conserte secretamente no dispositivo. No futuro, ele poderá obter controle completo sobre o computador e realizar atividades de espionagem, sem a menor probabilidade de ser detectado.

Os chipsets Intel vulneráveis ​​são usados ​​em todo o mundo, de laptops domésticos e de trabalho a servidores corporativos. Uma atualização lançada anteriormente pela Intel não excluiu a possibilidade de explorar as vulnerabilidades CVE-2017-5705, CVE-2017-5706 e CVE-2017-5707, pois se um invasor tiver acesso de gravação à região ME, ele sempre poderá registrar a versão vulnerável do ME e explorar a vulnerabilidade. nela.

Intel corrige os mesmos erros no ME duas vezes


No início de julho, a Intel lançou dois avisos de segurança ( SA-00112 e SA-00118 ), que descreviam as correções no firmware do Intel Management Engine. Ambos os boletins de segurança descrevem bugs que permitem que um invasor execute código arbitrário no processador PCH interno (Minuto IA).

Esses erros são semelhantes aos que os especialistas em segurança da Positive Technologies descobriram em novembro de 2017 ( SA-00086 ). No entanto, a história não terminou aí e, posteriormente, a Intel lançou novas correções de vulnerabilidade no ME.

CVE-2018-3627, descrito em SA-00118, está marcado no boletim como um erro lógico (não é um estouro de buffer), o que leva à execução de código arbitrário. Para sua operação, o invasor precisa de acesso local, enquanto a vulnerabilidade mencionada na SA-00086 pode ser explorada localmente apenas em caso de erros na configuração do sistema feita pelo OEM. Essa condição torna a vulnerabilidade mais perigosa.

No caso do CVE-2018-3628 (descrito em SA-00112), as coisas são ainda piores. A vulnerabilidade no processo AMT do firmware do mecanismo de gerenciamento leva à execução remota de código e o invasor não precisa ter uma conta de administrador da AMT, como ao usar o CVE-2017-5712 do SA-00086.

A Intel descreve esse erro como "Estouro de buffer no manipulador HTTP", o que sugere a possibilidade de executar o código remotamente sem autorização. Esse é o pior cenário que todos os usuários da plataforma Intel temem.

Existem maneiras de abrir chaves de criptografia ME


Nesta "aventura", o Intel ME não terminou. Já no outono, a empresa teve que corrigir mais um erro no subsistema, o que levou à divulgação de chaves de criptografia no Intel ME - foi descoberto pelos pesquisadores da Positive Technologies, Dmitry Sklyarov e Maxim Goryachiy.

O Intel ME (Management Engine) usa MFS (supostamente abreviado para ME File System) para armazenar dados. Os mecanismos de segurança do MFS usam ativamente chaves criptográficas. As chaves de confidencialidade são usadas para garantir a confidencialidade dos dados armazenados no MFS, e as chaves de integridade são usadas para controlar a integridade. Os dados colocados no MFS, de acordo com o grau de significância, são divididos em duas categorias e são protegidos por diferentes conjuntos de chaves. As chaves Intel são usadas para os dados mais confidenciais e as chaves não-Intel são usadas para todo o resto. Assim, são utilizadas quatro chaves: chave Intel Integrity, chave não Intel Integrity, chave Intel Confidentiality e chave não Intel Confidentiality.

A exploração de uma vulnerabilidade descoberta anteriormente por Mark Ermolov e Maxim Goryachy permite obter as quatro chaves e comprometer completamente os mecanismos de segurança do MFS. A Intel lançou uma atualização para fechar esta vulnerabilidade. O valor do SVN (Número da versão segura) foi aumentado - esta etapa foi atualizar todas as chaves e retornar a segurança do MFS ao nível planejado. A obtenção de chaves MFS para o firmware ME atualizado (com um novo valor SVN) deve ser impossível.

No entanto, já em 2018, os pesquisadores da Positive Technologies descobriram a vulnerabilidade CVE-2018-3655, descrita em Intel-SA-00125. A essência do problema é que as chaves que não são da Intel dependem do valor do SVN e do segredo imutável subjacente do subsistema. E esse segredo pode ser obtido se você usar a depuração JTAG, que pode ser ativada usando a vulnerabilidade anterior. Conhecer o segredo básico do subsistema permite calcular as duas chaves que não são da Intel - e tudo isso já está na nova versão do firmware.

Assim, um invasor pode calcular a chave de integridade não Intel e a chave de confidencialidade não Intel para firmware com o valor SVN atualizado e, portanto, comprometer os mecanismos de segurança MFS que dependem dessas chaves.

O que vem a seguir


Há pouco tempo, publicamos no blog uma análise detalhada da vulnerabilidade CVE-2018-4251 no MacBook. Agora, Mark Ermolov e Maxim Goryachy na conferência HiTB 2018 falarão sobre como um invasor pode explorá-lo para realizar um ataque. Também discutiremos métodos de proteção - por exemplo, usando um utilitário especializado de nossos especialistas.

Source: https://habr.com/ru/post/pt430132/


All Articles