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

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

Organização sem fins lucrativos baixo RISC com o Google e outros patrocinadores, 5 de novembro de 2019 apresentado projeto OpenTitanGenericName, que chama de “o primeiro projeto de código aberto a criar uma arquitetura de chip aberta e de alta qualidade com uma raiz de confiança (RoT) no nível do hardware”.

OpenTitan baseado na arquitetura RISC-V é um chip de propósito especial para instalação em servidores em data centers e em qualquer outro equipamento onde seja necessário garantir a autenticidade do boot, proteger o firmware de alterações e eliminar a possibilidade de rootkits: são placas-mãe, placas de rede, roteadores, dispositivos IoT, dispositivos móveis, etc.

É claro que existem módulos semelhantes em processadores modernos. Por exemplo, o módulo Intel Hardware Boot Guard é a raiz da confiança nos processadores Intel. Ele verifica a autenticidade do UEFI BIOS por meio de uma cadeia de confiança antes de carregar o sistema operacional. Mas a questão é: até que ponto podemos confiar nas raízes proprietárias da confiança, visto que não temos garantia de que não haverá bugs no design e não há como verificar isso? Ver artigo “Download confiável de Schrödinger. Protetor de inicialização Intel" com uma descrição de “como um bug que foi clonado durante anos na produção de vários fornecedores permite que um potencial invasor use essa tecnologia para criar um rootkit oculto no sistema que não pode ser removido (mesmo com um programador).

A ameaça de comprometimento de equipamentos na cadeia de fornecimento é surpreendentemente real: aparentemente, qualquer engenheiro eletrônico amador pode soldar um bug na placa-mãe do servidorusando equipamentos que não custam mais de US$ 200. Alguns especialistas suspeitam que “organizações com orçamentos de centenas de milhões de dólares poderiam estar fazendo isso há muitos anos”. Embora não haja evidências, é teoricamente possível.

"Se você não pode confiar no bootloader de hardware, o jogo acabou" fala Gavin Ferris, membro do conselho de administração da lowRISC. - Não importa o que o sistema operacional faça - se no momento em que o sistema operacional carrega você estiver comprometido, o resto é uma questão de tecnologia. Você já terminou."

Este problema deve ser resolvido pela primeira plataforma de hardware aberto OpenTitan (Repositório GitHub, a documentação, especificações de hardware). Afastar-se das soluções proprietárias ajudará a mudar a “indústria RoT lenta e falha”, diz o Google.

O próprio Google começou a desenvolver o Titan depois de descobrir o sistema operacional Minix integrado aos chips Intel Management Engine (ME). Este sistema operacional complexo expandiu a superfície de ataque de maneiras imprevisíveis e incontroláveis. Google tentei se livrar do Intel Management Engine (ME), mas sem sucesso.

Qual é a raiz da confiança?

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

Root of Trust (RoT) é uma autenticação baseada em hardware que garante que a origem da primeira instrução executável na cadeia de confiança não possa ser alterada. RoT é a proteção básica contra rootkits. Este é um estágio fundamental do processo de inicialização, que está envolvido na inicialização subsequente do sistema - do BIOS ao sistema operacional e aos aplicativos. Deve verificar a autenticidade de cada etapa de download subsequente. Para fazer isso, um conjunto de chaves assinadas digitalmente é usado em cada etapa. Um dos padrões mais populares para proteção de chave de hardware é o TPM (Trusted Platform Module).

O chip OpenTitan de código aberto substituirá as raízes proprietárias de confiança da Intel e ARM
Estabelecendo uma raiz de confiança. Acima está um processo de inicialização em cinco etapas que cria uma cadeia de confiança, começando com o bootloader em memória imutável. Cada etapa utiliza uma chave pública para verificar a identidade do próximo componente a ser carregado. Ilustração do livro de Perry Lee "Arquitetura da Internet das Coisas"

O RoT pode ser lançado de diferentes maneiras:

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

Diferentes processadores implementam a raiz da confiança de maneira diferente. Intel e ARM
apoiar as seguintes tecnologias:

  • ARM TrustZones. A ARM vende um bloco de silício proprietário para fabricantes de chips que fornece uma raiz de confiança e outros mecanismos de segurança. Isto separa o microprocessador do núcleo inseguro; ele executa o Trusted OS, um sistema operacional seguro com uma interface bem definida para interagir com componentes inseguros. Os recursos protegidos residem no núcleo confiável e devem ser tão leves quanto possível. A alternância entre componentes de diferentes tipos é feita por meio de alternância de contexto de hardware, eliminando a necessidade de software de monitoramento seguro.
  • Protetor de inicialização Intel é um mecanismo de hardware para verificar a autenticidade do bloco de inicialização inicial por meios criptográficos 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 na placa “detonando” os fusíveis durante a fabricação. Esses bits são de uso único e não podem ser alterados. A parte privada da chave gera uma assinatura digital para posterior autenticação da etapa de download.

A plataforma OpenTitan expõe as principais partes desse sistema de hardware/software, conforme mostrado no diagrama abaixo.

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

Plataforma OpenTitan

O desenvolvimento da plataforma OpenTitan é gerenciado pela organização sem fins lucrativos lowRISC. A equipe de engenharia está sediada em Cambridge (Reino Unido) e o patrocinador principal é o Google. Os parceiros fundadores incluem ETH Zurich, G+D Mobile Security, Nuvoton Technology e Western Digital.

Google publicou um anúncio projeto no blog corporativo do Google Open Source. A empresa disse que a OpenTitan está comprometida em “fornecer orientação de alta qualidade sobre design e integração RoT para uso em servidores de data center, armazenamento, dispositivos de ponta e muito 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.

O RoT é fundamental para aplicações que incluem infraestruturas de chave pública (PKIs). É a base do sistema de segurança no qual se baseia um sistema complexo, como um aplicativo IoT ou data center. Portanto, está claro por que o Google apoia este projeto. Atualmente possui 19 data centers em cinco continentes. Data centers, armazenamento e aplicativos de missão crítica apresentam 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.

Chip proprietário Titan para data centers do Google foi introduzido pela primeira vez em março de 2017 na conferência Google Cloud Next. “Nossos computadores realizam verificações criptográficas em cada pacote de software e então decidem se concedem acesso aos recursos da rede. O Titan se integra a esse processo e oferece camadas adicionais de proteção”, disseram representantes do Google naquela apresentação.

O chip OpenTitan de código aberto substituirá as raízes proprietárias de confiança da Intel e ARM
Chip Titan no servidor do Google

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

A primeira etapa do projeto é a criação de um design lógico RoT no nível do chip, incluindo um microprocessador de código aberto íbex com baixo RISC, processadores criptográficos, 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, periféricos de E/S e processos de inicialização seguros.

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

  • todos têm a oportunidade de conferir a plataforma e contribuir;
  • maior flexibilidade ao abrir um design logicamente seguro que não é bloqueado por restrições proprietárias do fornecedor;
  • qualidade garantida não apenas pelo design em si, mas também por firmware e documentação de referência.

“Os chips atuais com raízes de confiança são muito proprietários. Eles afirmam ser seguros, mas, na realidade, você considera isso um dado adquirido e não pode verificá-los sozinho, diz Dominic Rizzo, principal especialista em segurança do projeto Google Titan. “Agora, pela primeira vez, é possível fornecer segurança sem fé cega nos desenvolvedores de um design proprietário de raiz de confiança. Portanto, a base não é apenas sólida, ela pode ser verificada.”

Rizzo acrescentou que o OpenTitan pode ser considerado “um design radicalmente transparente em comparação com o estado atual das coisas”.

Segundo os desenvolvedores, o OpenTitan não deve de forma alguma ser considerado um produto acabado, pois o desenvolvimento ainda não está concluído. Eles abriram deliberadamente as especificações e o design no meio do desenvolvimento para que todos pudessem revisá-lo, fornecer informações e melhorar o sistema antes do início da produção.

Para começar a produzir chips OpenTitan, você precisa se inscrever e obter a certificação. Aparentemente, nenhuma taxa de licenciamento é exigida.

Fonte: habr.com

Adicionar um comentário