O chip de código aberto OpenTitan substitui as raízes de confiança proprietárias da Intel e ARM



Em 5 de novembro de 2019, a organização lowRISC , sem fins lucrativos, com a participação do Google e de outros patrocinadores, apresentou o projeto OpenTitan , que ele chama de “o primeiro projeto de código aberto a criar uma arquitetura aberta e de alta qualidade de chips com a raiz da confiança (RoT) no nível do hardware”.

O OpenTitan na arquitetura RISC-V é um chip de finalidade especial para instalação em servidores em data centers e em qualquer outro equipamento em que seja necessário garantir a autenticidade da inicialização, proteger o firmware contra alterações e eliminar a possibilidade de rootkits: placas-mãe, placas de rede, roteadores, dispositivos IoT , gadgets para celular etc.

Obviamente, esses módulos estão em processadores modernos. Por exemplo, o módulo de hardware Intel Boot Guard é a raiz da confiança nos processadores Intel. Ele verifica a autenticidade do UEFI BIOS através da cadeia de confiança antes de inicializar o sistema operacional. Mas a questão é: quanto podemos confiar nas raízes proprietárias da confiança, já que não temos garantias para a ausência de bugs no design, mas não há como verificar isso? Veja o artigo “Schrödinger Trusted Download. Intel Boot Guard ”, com uma descrição de“ como, ao longo dos anos, um bug clonado na produção de vários fornecedores permite que um invasor em potencial use essa tecnologia para criar um rootkit oculto no sistema (até programador) ”.

A ameaça de comprometer equipamentos na cadeia de suprimentos é surpreendentemente real: parece que qualquer engenheiro de eletrônicos amador pode soldar um bug na placa-mãe do servidor usando equipamentos que não valem mais que US $ 200. Alguns especialistas suspeitam que "organizações com um orçamento de centenas de milhões de dólares possam fazer isso por muitos anos". Embora não exista evidência, é teoricamente possível.

“Se você não pode confiar no download de hardware, o jogo acabou”, diz Gavin Ferris, membro do conselho do lowRISC. - Não importa o que o sistema operacional faça - se você foi comprometido no momento em que o sistema operacional é carregado, o restante é uma questão de tecnologia. Você já terminou.

Esse problema deve ser resolvido pela primeira plataforma de hardware aberta do tipo OpenTitan ( repositório GitHub , documentação , especificações de hardware ). Evitar soluções proprietárias mudará a "indústria desajeitada e imperfeita da RoT", afirmou o Google.

O próprio Google embarcou no desenvolvimento do Titan, descobrindo o sistema operacional Minix integrado aos chips Intel Management Engine (ME). Esse sistema operacional complexo de maneira imprevisível e incontrolável expandiu a superfície de ataque. O Google tentou se livrar do Intel Management Engine (ME) , mas falhou.

Qual é a raiz da confiança?


Cada estágio do processo de inicialização do sistema verifica a autenticidade do próximo estágio, formando assim uma cadeia de confiança .

Raiz de Confiança (RoT) é uma autenticação baseada em hardware que garante que a fonte da primeira instrução executável na cadeia de confiança não possa ser alterada. RoT é a proteção básica contra rootkits. Esta é uma etapa fundamental no processo de inicialização, que está envolvida no lançamento adicional do sistema - do BIOS ao sistema operacional e aplicativos. Ele deve verificar a autenticidade de cada etapa subsequente do download. Para isso, em cada estágio é usado um conjunto de chaves com uma assinatura digital. Um dos mais populares padrões de proteção de chave baseada em hardware é o TPM (Trusted Platform Module).


Estabelecendo a raiz da confiança. Acima, há um download em cinco estágios, que forma uma cadeia de confiança e começa com um gerenciador de inicialização localizado na memória imutável. Em cada estágio, uma chave pública é usada para autenticar o próximo componente para download. Ilustração da arquitetura IoT de Perry Lee

O RoT pode ser lançado de várias maneiras:

  • carregando a imagem e a chave raiz do firmware ou da memória imutável;
  • armazenar a chave raiz em uma memória programável única usando bits de fusível;
  • carregando código de uma área protegida da memória em um armazenamento protegido.

Em diferentes processadores, a raiz da confiança é implementada de maneiras diferentes. Intel e ARM
Suporte as seguintes tecnologias:

  • ARM TrustZone . A ARM está vendendo um bloco de silício proprietário para fabricantes de chips, que fornece a raiz da confiança e outros mecanismos de segurança. Assim, o microprocessador é separado do núcleo inseguro; ele executa o Trusted OS, um sistema operacional seguro com uma interface bem definida para interagir com componentes não seguros. Os recursos protegidos estão em um núcleo confiável e devem ser o mais leves possível. A transição entre componentes de diferentes tipos é feita usando a alternância de contexto de hardware, o que elimina a necessidade de software de monitoramento seguro.
  • O Intel Boot Guard é um mecanismo de hardware para autenticar o bloco de inicialização inicial com ferramentas criptográficas ou através de um processo de medição. Para verificar o bloco inicial, o fabricante deve gerar uma chave de 2048 bits, que consiste em duas partes: pública e privada. A chave pública é impressa no quadro "detonando" os bits do fusível no estágio de produção. Esses bits são únicos e não podem ser alterados. A parte privada da chave gera uma assinatura digital para autenticação subseqüente do estágio de download.

A plataforma OpenTitan revela as principais partes de um sistema de firmware, como mostrado no diagrama abaixo.



Plataforma OpenTitan


O desenvolvimento da plataforma OpenTitan está sob o controle da organização sem fins lucrativos lowRISC. A equipe de engenharia está sediada em Cambridge (Reino Unido) e o principal patrocinador é o Google. Os parceiros fundadores incluem a Escola Técnica Superior Suíça de Zurique, G + D Mobile Security, Nuvoton Technology e Western Digital.

O Google publicou o anúncio do projeto no blog corporativo do Google Open Source. A empresa disse que a OpenTitan está comprometida em "fornecer diretrizes de design e integração de RoT de alta qualidade para uso em servidores de data center, armazenamento, periféricos e mais".

A raiz da confiança é o primeiro elo da cadeia de confiança no nível mais baixo de um módulo de computação confiável, no qual o sistema sempre confia totalmente.

A RoT é crítica para aplicativos, incluindo PKI (infraestrutura de chave pública). Essa é a base do sistema de segurança no qual um sistema complexo se baseia, como um aplicativo de IoT ou um data center. Portanto, fica claro por que o Google apóia este projeto. Ela agora tem 19 data centers em cinco continentes. Os centros de dados, armazenamento e aplicativos de missão crítica representam uma vasta superfície de ataque e, para proteger essa infraestrutura, o Google desenvolveu inicialmente sua própria raiz de confiança no chip Titan.

O chip Titan patenteado para os data centers do Google foi introduzido pela primeira vez em março de 2017 na conferência Google Cloud Next. “Nossos computadores realizam uma verificação criptográfica de cada pacote de software e decidem se devem conceder acesso a recursos de rede. O Titan se integra a esse processo e oferece camadas adicionais de proteção ”, disseram representantes do Google naquela apresentação.


Chip titan no servidor do google

A arquitetura Titan era de propriedade do Google, mas agora está se tornando um domínio público em um projeto de código aberto.

A primeira etapa do projeto é a criação de um design lógico RoT no nível de microcircuito, incluindo o microprocessador de código aberto lowRISC ibex , processadores criptográficos, um gerador de números aleatórios de hardware, hierarquias de chaves e memória para armazenamento não volátil e não volátil, mecanismos de segurança, dispositivos de entrada / saída periféricos e processos de inicialização seguros.

O Google diz que o OpenTitan é baseado em três princípios fundamentais:

  • todos têm a oportunidade de testar a plataforma e contribuir;
  • maior flexibilidade devido à abertura de um design logicamente seguro que não seja bloqueado pelas proibições de propriedade do fornecedor;
  • qualidade garantida não apenas pelo design em si, mas também pelo firmware e documentação de referência.

“Os chips atuais com as raízes da confiança são muito proprietários. Eles reivindicam segurança, mas, na realidade, você confia na fé e não pode testá-los você mesmo ”, disse Dominic Rizzo, especialista em segurança líder do projeto Google Titan. “Agora, pela primeira vez, surge a oportunidade de fornecer segurança sem fé cega aos desenvolvedores do design proprietário das raízes da confiança. Portanto, a fundação não é apenas sólida, pode ser verificada. ”

Rizzo acrescentou que o OpenTitan pode ser considerado um "design radicalmente transparente, comparado ao estado atual das coisas".

Segundo os desenvolvedores, o OpenTitan não deve ser considerado como um produto acabado, porque o desenvolvimento ainda não está completo. Eles deliberadamente abriram especificações e design no meio do desenvolvimento para que todos pudessem testá-lo, contribuir e melhorar o sistema antes de iniciar a produção.

Para começar a fabricar chips OpenTitan, você precisa se inscrever e obter a certificação. Aparentemente, não são necessários royalties.

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


All Articles