Chaves de segurança de baixo nível da placa-mãe vazaram na violação do MSI, afirmam pesquisadores

Chaves de segurança de baixo nível da placa-mãe vazaram na violação do MSI, afirmam pesquisadores

Nó Fonte: 2641177

Há cerca de um mês, escrevemos sobre um notificação de violação de dados emitido pelo principal fabricante de placas-mãe MSI.

A empresa disse:

A MSI sofreu recentemente um ataque cibernético em parte de seus sistemas de informação. […] Atualmente, os sistemas afetados retornaram gradualmente ao normal funcionamento, sem impactos significativos nos negócios financeiros. […] A MSI recomenda que os usuários obtenham atualizações de firmware/BIOS apenas em seu site oficial e não usem arquivos de outras fontes que não o site oficial.

O mea culpa da empresa ocorreu dois dias depois que uma gangue de extorsão cibernética chamada Money Message alegou ter roubado o código-fonte MSI, ferramentas de desenvolvimento do BIOS e chaves privadas.

Na ocasião, os criminosos ainda estavam em modo de contagem regressiva, e alegaram que iriam “publicar dados roubados quando o tempo expirar”:

Captura de tela três horas antes de o cronômetro de violação expirar [2023-04-07].

Relógio parado

O “temporizador de revelação” na captura de tela acima expirou em 2023/04/07, pouco mais de um mês atrás, mas o site Money Message na dark web permanece inalterado desde a postagem inicial da gangue:

Um mês depois [2023-05-09].

No entanto, os pesquisadores da empresa de pesquisa de vulnerabilidades Binarly afirmam não apenas ter obtido os dados roubados na violação, mas também ter pesquisado neles as chaves criptográficas incorporadas e encontrado vários resultados.

Até agora, a Binarly está reivindicando Github e Twitter ter extraído várias chaves de assinatura dos dados em sua posse, incluindo o que descreve [2023-05-09T14:00Z] como:

  • 1 chave Intel OEM. Aparentemente, esta chave pode ser usada para controlar a depuração de firmware em 11 placas-mãe diferentes.
  • 27 chaves de assinatura de imagem. A Binarly afirma que essas chaves podem ser usadas para assinar atualizações de firmware para 57 placas-mãe MSI diferentes.
  • 4 teclas Intel Boot Guard. Essas chaves vazadas aparentemente controlam a verificação em tempo de execução do código de firmware para 116 placas-mãe MSI diferentes.

Proteção do BIOS baseada em hardware

De acordo com a Intel documentação própria, placas-mãe modernas baseadas em Intel podem ser protegidas por várias camadas de segurança criptográfica.

Primeiro vem Proteção do BIOS, que permite apenas que o código assinado com uma chave criptográfica especificada pelo fabricante obtenha acesso de gravação à memória flash usada para armazenar os chamados Bloco inicial de inicialização, ou IBB.

Como o nome sugere, o IBB é onde reside o primeiro componente do código de inicialização do fornecedor da placa-mãe.

Subvertê-lo daria a um invasor controle sobre um computador infectado não apenas em um nível abaixo de qualquer sistema operacional que carregue posteriormente, mas também abaixo do nível de quaisquer utilitários de firmware instalados no EFI oficial (interface de firmware estendida) partição de disco, potencialmente mesmo se essa partição estiver protegida pelo próprio sistema de assinatura digital Secure Boot do firmware.

Depois que o BIOS Guard vem Protetor de Bota, que verifica o código carregado do IBB.

A ideia aqui parece ser que, embora o BIOS Guard deva impedir que qualquer atualização de firmware não oficial seja exibida em primeiro lugar, negando o acesso de gravação a ferramentas de atualização de firmware não autorizadas…

…não é possível dizer que o firmware “oficialmente” assinado pelo fornecedor da placa-mãe não é confiável devido a uma chave de assinatura de imagem de firmware que vazou.

É aí que entra o Boot Guard, fornecendo um segundo nível de atestado que visa detectar, em tempo de execução durante cada inicialização, que o sistema está executando um firmware não aprovado para sua placa-mãe.

Armazenamento de chaves de gravação única

Para fortalecer o nível de verificação criptográfica fornecida pelo BIOS Guard e pelo Boot Guard e para vincular o processo a uma placa-mãe ou família de placas-mãe específica, as chaves criptográficas que eles usam não são armazenadas em memória flash regravável.

Eles são salvos, ou estourado, no jargão, na memória de gravação única incorporada na própria placa-mãe.

A palavra estourado deriva do fato de que o circuito de armazenamento é construído como uma série de “fios de conexão” nanoscópicos implementados como minúsculos fusíveis elétricos.

Essas conexões podem ser deixadas intactas, o que significa que serão lidas como 1s binários (ou 0s, dependendo de como são interpretadas) ou “explodidas” – fundidas em outras palavras – em uma modificação única que as inverte permanentemente em 0s binários (ou 1s).

O acionamento do processo de queima de bits é protegido por um fusível, de modo que o fornecedor da placa-mãe tem uma chance única de definir o valor desses chamados Fusíveis programáveis ​​de campo.

Essa é a boa notícia.

Depois que as chaves de verificação criptográfica do BIOS Guard e do Boot Guard são gravadas na memória fusível, elas ficam bloqueadas para sempre e nunca pode ser subvertido.

Mas a má notícia correspondente, é claro, é que se as chaves privadas que correspondem a essas chaves públicas seguras até o fim do universo forem comprometidas, as chaves públicas gravadas nunca pode ser atualizado.

Da mesma forma, uma chave OEM de nível de depuração, conforme mencionado acima, fornece ao fornecedor da placa-mãe uma maneira de controlar o firmware durante a inicialização, incluindo a observação de instrução por instrução, ajustando seu comportamento, espionando e modificando os dados está guardando na memória, e muito mais.

Como você pode imaginar, esse tipo de acesso e controle sobre o processo de inicialização destina-se a ajudar os desenvolvedores a obter o código no laboratório, antes que ele seja gravado nas placas-mãe que irão para os clientes.

Intel documentação lista três níveis de depuração.

Verde denota acesso de depuração permitido a qualquer pessoa, que não deve expor nenhum segredo de baixo nível ou permitir que o processo de inicialização seja modificado.

Laranja denota acesso total de depuração de leitura/gravação permitido a alguém que tenha a chave privada do fornecedor correspondente.

Vermelho denota o mesmo que laranja, mas refere-se a uma chave privada mestra pertencente à Intel que pode desbloquear a placa-mãe de qualquer vnedor.

Como a Intel obviamente e sem rodeios afirma em sua documentação:

Supõe-se que o fabricante da plataforma não compartilhará sua chave de autenticação [modo laranja] com nenhum outro conjunto de depuradores.

Infelizmente, a Binarly afirma que os bandidos agora vazaram uma chave Orange Mode que pode permitir depuração de tempo de inicialização de baixo nível em 11 placas-mãe diferentes fornecidas pela HP, Lenovo, Star Labs, AOPEN e CompuLab.

Cuidado com o bootkit

As alegações da Binarly, portanto, parecem sugerir que, com uma chave de assinatura de firmware e uma chave de assinatura Boot Guard, um invasor pode não apenas enganar você e suas ferramentas de atualização de firmware para instalar o que parece ser uma atualização de firmware genuína em primeiro lugar…

…mas também ser capaz de enganar uma placa-mãe que foi bloqueada por hardware por meio da proteção Boot Guard para permitir que esse firmware não autorizado seja carregado, mesmo que a atualização corrija o próprio Initial Boot Block.

Da mesma forma, ser capaz de inicializar um computador roubado no modo de depuração de firmware pode permitir que um invasor execute ou implante códigos não autorizados, extraia segredos ou manipule o processo de inicialização de baixo nível para deixar o computador da vítima em um estado não confiável, inseguro e inseguro. estado.

Simplificando, você poderia, pelo menos em teoria, acabar não apenas com um rootkit, Mas uma kit de boot.

A rootkit, no jargão, é o código que manipula o kernel do sistema operacional para impedir que até mesmo o próprio sistema operacional detecte, relate ou impeça certos tipos de malware posteriormente.

Alguns rootkits podem ser ativados após o carregamento do sistema operacional, geralmente explorando uma vulnerabilidade no nível do kernel para fazer alterações internas não autorizadas no próprio código do sistema operacional.

Outros rootkits evitam a necessidade de uma brecha de segurança no nível do kernel subvertendo parte da sequência de inicialização baseada em firmware, com o objetivo de ter um backdoor de segurança ativado antes que o sistema operacional comece a carregar, comprometendo assim parte do código subjacente no qual o sistema operacional depende da própria segurança do sistema.

E um kit de boot, vagamente falando, leva essa abordagem ainda mais longe, de modo que o backdoor de baixo nível seja carregado o mais cedo e o mais indetectável possível no processo de inicialização do firmware, talvez até mesmo antes de o computador examinar e ler qualquer coisa do disco rígido.

Um bootkit nesse nível significa que mesmo limpando ou substituindo todo o seu disco rígido (incluindo o chamado Partição de sistema de interface de firmware estendida, abreviado EFI ou ESP) não é suficiente para desinfetar o sistema.

Configuração de disco típica do Mac.
A partição EFI é rotulada de acordo.
Configuração de disco típica do Windows 11.
Formato c12a7...ec93b denota uma partição EFI.

Como analogia, você poderia pensar em um rootkit que carrega após o sistema operacional como sendo um pouco como tentar subornar um júri para absolver um réu culpado em um julgamento criminal. (O risco de isso acontecer é uma das razões pelas quais os júris criminais normalmente têm 12, 15 ou mais membros.)

Um rootkit que carrega no final do processo de firmware é um pouco como tentar subornar o promotor ou o investigador-chefe para fazer um trabalho ruim e deixar pelo menos algumas brechas de evidência para as partes culpadas se esquivar.

Mas um bootkit é mais como fazer com que o próprio legislador revogue a própria lei sob a qual o réu está sendo acusado, de modo que o caso, não importa o quão cuidadosamente as evidências tenham sido coletadas e apresentadas, não possa prosseguir.

O que fazer?

As chaves públicas do Boot Guard, uma vez gravadas na placa-mãe, não podem ser atualizadas, portanto, se as chaves privadas correspondentes forem comprometidas, não há nada que você possa fazer para corrigir o problema.

As chaves de assinatura de firmware comprometidas podem ser desativadas e substituídas, o que dá aos downloaders de firmware e às ferramentas de atualização uma chance de avisá-lo no futuro sobre o firmware que foi assinado com uma chave agora não confiável, mas isso não impede ativamente que as chaves de assinatura roubadas sejam usadas .

Perder as chaves de assinatura é um pouco como perder a chave mestra física de todos os andares e suítes de um prédio comercial.

Cada vez que você muda uma das fechaduras comprometidas, você reduz a utilidade da chave roubada, mas a menos que e até que você tenha mudado todas as fechaduras, você não resolveu seu problema de segurança adequadamente.

Mas se você substituir imediatamente todas as fechaduras do prédio durante a noite, bloqueará todos, portanto, não poderá permitir que inquilinos e funcionários genuínos continuem usando seus escritórios por um período de carência durante o qual eles podem trocar suas chaves antigas para novos.

Sua melhor aposta neste caso, portanto, é seguir o conselho original da MSI:

[O]btenha atualizações de firmware/BIOS apenas no site oficial da [MSI] e [não] use arquivos de fontes diferentes do site oficial.

Infelizmente, esse conselho provavelmente se resume a cinco palavras não totalmente úteis e um ponto de exclamação.

Cuidado aí, pessoal!


Update. A empresa de relações públicas da Intel nos enviou um e-mail para nos dizer que a empresa “está ciente desses relatórios e está investigando ativamente.” Eles também nos pediram para apontar que “As chaves OEM do Intel Boot Guard são geradas pelo fabricante do sistema, [portanto] não são chaves de assinatura da Intel.” A abreviatura OEM é a abreviação de fabricante de equipamento original, um termo um pouco confuso, mas estabelecido há muito tempo, que se refere não ao fornecedor ou fornecedores dos componentes individuais incorporados a um produto, mas ao fornecedor que fabricou o sistema completo. Por exemplo, quando você compra o que você pode chamar de “placa-mãe Intel” da MSI, a MSI é o OEM, enquanto a Intel é o fornecedor do chip do processador e talvez de outros componentes do chipset, no coração do produto acabado. (Se sua placa-mãe fosse um cabo de segurança para bicicletas, a Intel teria feito a trava, mas o OEM teria soldado o cabo, coberto o produto com sua camada protetora e escolhido os números para a combinação.) [2023-05 -09T22:45Z]


Carimbo de hora:

Mais de Segurança nua