Contents

Segurança de chips da Apple ameaçada por ataques de “canal lateral”

A Apple tem um problema, e muito sério, para dizer o mínimo. Comumente chamamos de “marrom”, com chips da série M, ou seja, todos aqueles que compõem os Macbooks em suas diferentes versões, seja qual for, nem laptop nem SoC. E é que Pesquisadores de várias universidades descobriram uma vulnerabilidade muito séria que chamaram de GoFetch , que, deixa a segurança da criptografia da Apple em sua infância onde um invasor não precisa nem de privilégios no sistema operacional.

Tudo é baseado no DMP (Memory-Dependent Prefetched) que integra todos os SoCs projetados pela Apple dentro da faixa M, que vendem a segurança criptográfica desses chips, permitindo que qualquer chave seja extraída por e através de métodos de criptografia. Isso significa que qualquer computador quântico é capaz de extrair chaves RSA de 2.048 bits quase imediatamente , e outras como Dilithium-2 em apenas 10 horas , deixando a segurança do Macbook no chão.

Apple vai sonhar com GoFetch neste 2024: é assim que funciona a vulnerabilidade que deixa os SoCs M1, M2 e M3 vendidos

/images/Apple-GoFetch-vulnerabilidad-Side-Channel-en-M1-M2-y-M3.jpg

É essencial reconhecer as contribuições daqueles que fizeram avanços significativos neste campo. É importante reconhecer que inúmeras pessoas dedicaram o seu tempo e esforço para alcançar estas realizações, muitas vezes enfrentando vários desafios ao longo do caminho.

-Boru Chen , Universidade de Illinois Urbana-Champaign -Yingchen Wang, Universidade do Texas em austin -Pradyumna Shome, Instituto de Tecnologia da Geórgia -Christopher W. Fletcher, Universidade da Califórnia, Berkeley -David Kohlbrenner, Universidade de Washington -Riccardo Paccagnella, Universidade Carnegie Mellon -Daniel Genkin, Instituto de Tecnologia da Geórgia

Dito isso, temos mais uma vez uma vulnerabilidade do tipo Side Channel , só que agora ela permite a extração de chaves em um ambiente específico e bastante coloquial para uma CPU ou SoC como as execuções de protocolos criptográficos.

Como dissemos acima, tudo se baseia nos DMP, especificamente, nos Prefetched , como seus descobridores, mas antes vamos explicá-los muito brevemente, porque senão a explicação fica um pouco carente de argumentos.

O que são DMPs e para que servem?

/images/GoFetch-DMP-ataque.jpg

Os Predicadores de Memória Digital (DMPs) constituem elementos intrínsecos do hardware de computação, especificamente abrangidos pelos limites do circuito integrado. Eles servem como entidades fisicamente instanciadas com um propósito singularmente definido – ou seja, aumentar a eficiência das operações da unidade central de processamento através da minimização da latência associada às transferências de dados entre a memória de acesso aleatório e o cache. Para atingir esse objetivo, os DMPs otimizam a transferência de informações aproveitando técnicas avançadas de previsão que permitem o gerenciamento proativo do fluxo de dados.

Isso não apenas melhora a latência, tentando antecipar os dados necessários para serem armazenados em cache da RAM antes de serem necessários para os Cores, como também esse processo é baseado em estatísticas de sucesso anteriores nos modelos mais recentes da Apple (também no Core 13 e Core 14 , incluindo DMP, mas não são afetados pelo seu DOIT especial ), e isso melhora a eficiência do chip em questão.

Como funciona exatamente o GoFetch?

Ao compreender a natureza e a função de um DMP, juntamente com sua finalidade designada, vamos nos aprofundar na elucidação da vulnerabilidade do GoFetch conforme explicada por seus descobridores:

Os pré-buscadores geralmente olham os endereços dos dados aos quais estão sendo acessados ​​(ignorando os valores dos dados que estão sendo acessados). acessa, curiosamente) e eu tentam adivinhar direções futuras que possam ser úteis. O DMP é diferente nesse sentido, pois além dos endereços, também utiliza os valores dos dados para fazer previsões (prever os endereços para onde ir e pesquisar previamente).

Em particular, se um valor de dados “se parece” com um ponteiro ( ponteiro como um termo), será tratado como um “endereço” (onde na realidade não é!) e os dados deste “endereço” será levado para o cache. A chegada deste endereço ao cache é visível e ele filtra pelos canais laterais (o chamado Side-Channel) desse mesmo cache.

/images/Ataque-Side-Channel-en-cache-para-Apple.jpg

Para atingir o nosso objetivo de extrair chaves de criptografia de uma mensagem criptografada, não podemos simplesmente divulgar essas chaves à vista de todos devido à sua natureza sensível. Em vez disso, empregamos uma estratégia astuta que envolve a manipulação de certos pontos de dados intermediários dentro do próprio processo de criptografia. Ao executar um ataque de entrada escolhida cuidadosamente orquestrado nesses pontos de dados, somos capazes de criar a ilusão de um ponteiro apontando para a chave desejada, permitindo-nos contornar quaisquer medidas de segurança e obter acesso às informações criptografadas.

O DMP então vê que o valor do dado “parece” e acredita que é um endereço e traz os dados deste “endereço” para o cache, que filtra o “endereço”. Não nos importamos que o valor dos dados seja obtido previamente, mas o fato de os dados intermediários parecerem uma direção os torna visíveis através de um canal de cache e é suficiente para revelar o segredo da chave ao longo do tempo.

Apple GoFetch não pode ser consertado em hardware, só pode ser corrigido por software e terá um enorme custo de desempenho

/images/GoFetch-tiempo-de-explotacion-de-vulnerabilidad-por-DMP.jpg

Por se tratar de um problema de hardware, ou seja, ao nível do silicon , da própria arquitetura, não há patch possível nestes termos. O único que a Apple pode fazer agora é corrigi-lo por meio de software e, claro, consertar um “buraco” desse calibre onde a criptografia está exposta a qualquer ataque com computadores quânticos muito poderosos em apenas horas ou segundos, dependendo dos qbits (qubit ou qubit, como cada um quiser) de que estamos falando, Será um problema para quem está no quarteirão.

A Apple terá que fazer mudanças sérias no código do hardware no nível do microcódigo interno dos SoCs da série M, onde o mais importante a se lidar é que a programação do novo firmware deve estar em tempo constante , ou seja, você não pode deixar a criptografia ficar desmarcada constantemente.

Isso já foi visto em outros ataques Side-Channel e em todos houve penalidades de desempenho , em alguns mais e em outros menos. O problema é que no caso da Apple com GoFetch vai ter que fazer verificações constantes do seu algoritmo criptográfico, ou seja, A Apple tem que implementar uma defesa constante e específica para o referido algoritmo , e isso no o custo de desempenho é muito alto para o SoC.

Isto será especialmente severo no M1 e M2, menos no M3. Acontece que a Apple criou um DMP mais avançado para seu mais recente SoC, onde deixou um pouco no algoritmo especial que pode ser invocado para desativar a função. Não é a panacéia, mas pode diminuir um pouco a perda de desempenho.

A Intel aprendeu com vulnerabilidades anteriores e está segura graças a um bit DOIT em um de seus ISAs

/images/Intel-DOIT-mitigacion-Side-Channel.jpg

Isso não acontecerá na Intel porque Raptor Lake, como arquitetura introdutória para DMPs na equipe azul, possui um bit DOIT especial que desativa tais DMPs usando uma extensão ISA.

Apesar disso, é evidente que a Apple enfrenta um desafio significativo em relação ao GoFetch, e um desafio que provavelmente abordará no devido tempo, dado o seu histórico na resolução de problemas semelhantes em várias plataformas. O lançamento iminente de um patch e seu impacto potencial no desempenho dos SOCs M1, M2 e M3 em MacBooks permanece incerto, mas prevê-se que qualquer diminuição no desempenho será substancial.

*️⃣ Link da fonte:

eles vendem segurança criptográfica, não são afetados pelo seu DOIT especial,