Lembra-se das explorações de segurança Spectre e Meltdown do ano passado? A Intel e a AMD realmente esperam que não. Apesar do que eles querem que você acredite, essas explorações de execução especulativa não irão desaparecer, pelo menos não com as soluções propostas até agora.
Conteúdo
- Começando pela raiz
- Evitando o Espectro
- Segurança, mas a que custo?
- Grande, pequeno e seguro
- Trazendo isso para as massas
Em vez de tentar consertar cada variante que surgir, uma correção permanente exigirá uma mudança fundamental na forma como as CPUs são projetadas. A proposição? Um “núcleo seguro” que garante que seus dados permaneçam protegidos contra invasores, independentemente dos bugs que eles tentem explorar.
Vídeos recomendados
Pode não ser o caminho que essas grandes empresas de processadores desejam seguir, mas pode ser o único que realmente funcione.
Relacionado
- As defesas da AMD contra o Spectre V2 podem ser inadequadas
Começando pela raiz
Quando uma nova geração de processadores é lançada, a primeira pergunta que surge na boca de qualquer pessoa é: “quão rápido é isto?" Mais megahertz, mais núcleos, mais cache, tudo para tornar os aplicativos mais rápidos e os jogos mais rápidos melhorar. Considerações secundárias podem ser requisitos de energia ou produção de calor, mas raramente alguém pergunta sobre segurança.
Compreendendo Spectre e Meltdown
O problema com isso é que as melhorias de desempenho dos últimos anos foram impulsionadas principalmente por previsão especulativa, ou seja, CPUs adivinhando o que você fará a seguir e preparando tudo o que puder necessidade disso. Isso é ótimo para o desempenho, mas como o Spectre e suas variantes demonstraram, é terrível para a segurança.
“Execução especulativa tem sido um recurso de otimização de desempenho de CPUs há muito tempo”, disse Jean-Philippe Taggart, pesquisador sênior de segurança da Malwarebytes, à Digital Trends. Ele explicou como é esse recurso que torna as CPUs da Intel e de outras pessoas vulneráveis ao Spectre e a ataques semelhantes. “A arquitetura da CPU precisará ser repensada seriamente, para manter essas melhorias de desempenho, mas protegê-las de ataques como o Spectre, ou eliminá-las completamente”, disse ele.
“É difícil para a segurança se você está sempre reativo, tendo que esperar por vulnerabilidades de segurança e depois corrigi-las”
Uma solução potencial é adicionar uma nova peça de hardware às próximas gerações de CPUs. Em vez de lidar com tarefas sensíveis (que tornam tais ataques vale a pena) em núcleos de processamento de alta potência, e se os fabricantes de chips combinassem esses núcleos com um núcleo adicional projetado especificamente com tal tarefas em mente? Um núcleo de segurança.
Fazer isso poderia tornar o Spectre e suas variantes um problema para o novo hardware. Não importaria se os principais núcleos de CPU de amanhã fossem vulneráveis a tais ataques, porque as informações privadas ou seguras não seriam mais tratadas por esses núcleos.
Este conceito de raiz de confiança é mais do que apenas um esboço. Em alguns casos, já é um produto viável e tudo o que as grandes empresas de chips como Intel ou AMD precisariam fazer para tirar vantagem dele é adotá-lo.
Evitando o Espectro
“É difícil para a segurança se você está sempre reativo, tendo que esperar por vulnerabilidades de segurança e depois corrigi-las”, O diretor sênior de gerenciamento de produtos da Rambus, Ben Levine, disse à Digital Trends, quando questionado sobre a variante Spectre em andamento ameaças. “Esse problema de tentar tornar seguro um processador complexo é realmente o caminho mais difícil. Foi aí que criamos a abordagem de mover funcionalidades críticas de segurança para um núcleo separado.”
Embora não seja o primeiro a sugerir tal ideia, Rambus a refinou. Isso é Raiz de confiança do CryptoManager é um núcleo separado que ficaria em um chip de CPU principal, um pouco como o conceito big.little encontrado em muitos processadores móveis e até mesmo no próprio Intel novo projeto de Lakefield. Porém, onde esses chips usam núcleos menores para economia de energia, uma raiz central segura de confiança se concentraria na segurança acima de tudo.
Combinaria um processador sem os aspectos especulativos das principais CPUs, com aceleradores para criptografia e memória própria segura. Seria um design relativamente simples em comparação com as monstruosas CPUs de uso geral que executam nossos computadores hoje, mas ao fazê-lo seria muito mais seguro.
Ao se proteger, o núcleo seguro poderia então assumir as tarefas mais sensíveis que um núcleo de CPU de uso geral normalmente realizaria. Proteger chaves de criptografia, validar transações bancárias, processar tentativas de login, armazenar informações privadas em memória segura ou verificar se os registros de inicialização não foram corrompidos durante a inicialização.
“… Essas operações são relativamente lentas em software, mas um núcleo de segurança pode ter aceleradores de hardware para fazer isso muito mais rápido.”
Tudo isso poderia ajudar a melhorar a segurança geral de um sistema que o utilizasse. Melhor ainda, uma vez que não teria melhorias de desempenho especulativas, seria totalmente seguro contra ataques do tipo Spectre, invalidando-os. Tais ataques ainda poderiam ser aplicados contra os principais núcleos da CPU, mas como eles não lidariam com nenhum dado que valesse a pena roubar, isso não faria diferença.
“A ideia não é criar uma CPU que possa fazer tudo para ser muito rápida e muito segura, mas sim otimizar diferentes núcleos separadamente para diferentes objetivos”, explicou Levine. “Vamos otimizar nossa CPU primária para desempenho ou menor consumo de energia, o que for importante para esse sistema, e otimizar outro núcleo para segurança. Agora temos esses dois domínios de processamento otimizados separadamente e fazemos o processamento em qualquer um deles que seja mais apropriado, dadas as características do cálculo e do sistema em mente.”
Esse núcleo funcionaria um pouco como o chip coprocessador T2 que a Apple introduziu com seu iMac e posteriormente implementado em 2018.
Segurança, mas a que custo?
Costuma-se dizer que a complexidade é inimiga da segurança. É por isso que o design de núcleo seguro que Rambus propõe é relativamente simples. Não é um chip grande e monstruoso com múltiplos núcleos e alta velocidade de clock como CPUs típicas encontradas em desktops ou notebooks.
Então, isso significa que sacrificaríamos o desempenho se tal núcleo fosse usado junto com um chip moderno? Não necessariamente.
A conclusão importante da ideia de um núcleo seguro, seja o CryptoManager Root of Trust da Rambus, ou um projeto semelhante de outra empresa, é que ela executaria apenas tarefas focadas na privacidade ou segurança. Você não precisaria disso para assumir a alimentação de seu placa de vídeo durante uma sessão de jogo ou ajustando imagens no Photoshop. Você pode preferir criptografar suas mensagens em um aplicativo de bate-papo. É aí que o hardware especializado pode trazer alguns benefícios além da segurança.
“Coisas como algoritmos criptográficos, criptografia ou descriptografia de um algoritmo como AES, ou uso de um algoritmo de chave pública como RSA ou elíptico curva, essas operações são relativamente lentas em software, mas um núcleo de segurança pode ter aceleradores de hardware para fazer isso muito mais rápido”, Levine disse.
“Buscamos a simplicidade e se você mantém algo simples, você o mantém pequeno. Se for pequeno, é de baixa potência.”
Isso é algo com que o chefe de segurança de IoT da Arm, Rob Coombs, concorda plenamente.
“Normalmente, a raiz dos trusts será construída em um acelerador de criptografia, então isso requer um pouco mais de silício, mas a vantagem disso é que é maior desempenho para coisas como funções de criptografia, então você não depende apenas do processador para realizar a criptografia regular do arquivo”, ele disse. “O processador pode configurá-lo e então o mecanismo de criptografia pode mastigar os dados e criptografá-los ou descriptografá-los. Você obtém melhor desempenho.”
Processadores modernos como a Intel possuem seus próprios aceleradores criptográficos, então pode não ser o caso de o criptografia ou descriptografia seria fundamentalmente mais rápida do que uma CPU de uso geral completando a mesma tarefa, mas poderia ser comparável.
Embora Coombs tenha destacado em seu bate-papo conosco que um núcleo de raiz de confiança exigiria um pouco de silício extra para ser produzido, o custo de fazê-lo com base em outros fatores importantes, como o preço de fabricação, o consumo de energia do chip ou suas saídas térmicas, seria principalmente não afetado.
Ben Levine de Rambus concordou.
“O núcleo de segurança é minúsculo em comparação com todo o resto”, disse ele. “Não há realmente nenhum impacto significativo no custo do chip, na energia ou nos requisitos térmicos. Você pode fazer muito em uma área lógica bem pequena se projetá-la com cuidado. Nosso objetivo é a simplicidade e se você mantiver algo simples, mantenha-o pequeno. Se for pequeno, é de baixa potência.”
Sua única ressalva foi que em dispositivos menores e de menor consumo de energia, como os usados na IoT, o núcleo seguro da Rambus teria um impacto maior na potência e no custo. É aí que a abordagem mais modular da Arm poderia entrar.
Grande, pequeno e seguro
Arm foi um dos primeiros pioneiros da ideia de grande pequeno CPUs, ou núcleos grandes e núcleos pequenos no mesmo processador. Hoje também é um recurso comum em dispositivos móveis da Qualcomm e da Apple. Ele vê núcleos de CPU maiores usados para trabalho pesado como e quando necessário, enquanto núcleos menores lidam com tarefas mais comuns para economizar energia. A abordagem da Arm se baseia nessa ideia para criar uma raiz de confiança nos chips principais, bem como em microcontroladores muito menores para uso em uma gama mais ampla de dispositivos.
“Definimos algo chamado PSA (arquitetura de segurança de plataforma) raiz de confiança com algumas funções essenciais de segurança integradas, como criptografia, inicialização segura e armazenamento seguro; Cada dispositivo IOT precisará disso”, explicou Coobs à Digital Trends.
De todos os principais fabricantes de chips, a Arm foi indiscutivelmente a menos afetada pelo Spectre e pelo Meltdown. Onde a Intel estava vulnerável à mais ampla gama de ataques potenciais e a AMD teve que lançar uma série de microcódigos e ajustes de software, a Arm conseguiu reforçar suas defesas já robustas antes que erros de execução especulativos fossem revelado.
Agora a Arm está concentrando seus esforços na segurança da Internet das coisas. Coombs acredita que um núcleo seguro e raiz de confiança é uma das melhores maneiras de fazer isso e ele deseja que cada dispositivo IoT implemente tal sistema. Para ajudar a alcançá-lo, a Arm oferece software de código aberto, orientação de desenvolvimento e soluções de hardware para os problemas de segurança enfrentados pelos desenvolvedores de IoT atuais.
.. Grande parte do uso do núcleo de segurança será feito no nível do sistema operacional e do sistema e não no nível do aplicativo
“Criamos uma implementação de código aberto e de referência e agora com a certificação PSA criamos um esquema de segurança multinível [onde] as pessoas podem escolher a robustez de segurança de que precisam”, disse Coombs. “Sistemas diferentes precisam de níveis diferentes de segurança. Queremos adequar isso ao espaço IoT.”
Aplicando esses princípios a CPUs maiores e de uso geral encontradas em laptops e desktops, o resultado final não seria drasticamente diferente. Embora esses chips não tenham núcleos pequenos ao lado dos grandes, eles poderiam implementar um núcleo seguro na matriz sem muita dificuldade, de acordo com Ben Levine da Rambus.
“Esses núcleos deveriam ser e precisam ser muito menores do que um dos principais grandes núcleos de CPU que você obtém em um chip da Intel ou AMD”, disse ele. “Não serão sete mais um, serão oito ou qualquer outro núcleo de processador e um ou talvez mais de um pequeno núcleo de segurança que fornece funções de segurança para todos os outros núcleos.”
Crucialmente também, tais núcleos nem seriam complicados de implementar.
“Não vamos acrescentar muito ao ciclo de design de chips para transformar um novo chip em um produto de consumo”, disse ele. “Nosso impacto será mínimo. Será apenas o ciclo de vida normal do produto: levar o desenvolvimento de uma arquitetura de chip à produção e, em seguida, ao envio dos produtos.”
Trazendo isso para as massas
A segurança pode ser uma questão do ovo e da galinha, e os desenvolvedores não desejam implementá-la sem uma necessidade ou demanda específica dos clientes. Mas se os fabricantes de hardware combinassem seus núcleos de CPU existentes com uma raiz central segura de confiança, o trabalho dos desenvolvedores de software seria relativamente fácil.
“Dependendo da aplicação, grande parte do uso do núcleo de segurança será feito no nível do sistema operacional e do sistema, e não no nível do aplicativo”, explicou Levine. “Se você estiver construindo seu sistema operacional e o software geral do sistema corretamente, poderá utilizar a maior parte dessa funcionalidade de segurança sem que os desenvolvedores de aplicativos tenham que se preocupar com isso. Você pode fornecer APIs para expor algumas das principais funcionalidades de segurança que podem ser facilmente consumidas pelo desenvolvedor do aplicativo, como criptografar e descriptografar dados.”
Ao incorporar a raiz da confiança no próprio hardware e deixar a responsabilidade de implementá-lo para os sistemas operacionais, os desenvolvedores de software poderia beneficiar rapidamente da segurança adicional que poderia trazer a todas as facetas da computação, incluindo evitar as armadilhas do Spectre e dos seus tipo.
Pode ser aqui que empresas como Intel e AMD têm errado até agora. Embora seus patches, correções de microcódigo e ajustes de hardware tenham ajudado a mitigar alguns dos problemas de ataques do tipo Spectre, todos eles apresentam suas próprias armadilhas. O desempenho foi degradado e, em muitos casos, os patches opcionais não são aplicados pelos fabricantes de dispositivos porque eles não querem perder a corrida armamentista pelo poder.
Em vez disso, Rambus, Arm e outros procuram evitar totalmente o problema.
“Não estamos afirmando que estamos consertando Spectre ou Meltdown, o que estamos dizendo é que primeiro essas explorações não são as únicas vulnerabilidades que existem”, disse Levine. “Sempre haverá mais. A complexidade dos processadores modernos torna isso inevitável. Vamos mudar o problema e aceitar que haverá mais vulnerabilidades em CPUs de uso geral e coisas assim com os quais nos importamos muito, como chaves, credenciais, dados, vamos tirá-los da CPU e contornar todo o problema.”
Dessa forma, os usuários podem confiar que seu sistema está seguro sem ter que sacrificar nada. A raiz do hardware confiável significa que quaisquer dados roubados são inúteis para qualquer pessoa. Isso deixa o fantasma do Spectre no reino sombrio da redundância, onde pode continuar a assombrar aqueles que usam hardware antigo. Mas à medida que as pessoas actualizam para novas gerações futuras de hardware equipadas com raiz de confiança, isso tornar-se-ia cada vez mais irrelevante e muito menos preocupante.
Recomendações dos Editores
- A AMD pode finalmente vencer a Intel na CPU para jogos móveis mais rápida
- Os chips da Intel ainda estão vulneráveis e o novo Ice Lake não consertará tudo