M1racles, o primeiro bug arquitetônico dos novos chips Apple M1

Com a chegada dos novos processadores Apple, agora chegavam também no lado desktop com a introdução dos novos iMacs equipados com chips M1, os primeiros malwares, como o Silver Sparrow , software malicioso que agia explorando falhas e plugs, não demorou muito tempo para chegar. -in dentro da Java Virtual Machine (JVM). Mas não para por aí: o primeiro bug de arquitetura dos novos chips M1 da Apple, chamado M1racles , foi identificado .

O novo processador da Apple e, em particular, sua nova arquitetura, ou design lógico, parece ser afetado por um bug de hardware e, portanto, de arquitetura. O nome da nova falha é M1racles, vulnerabilidade da qual sofre o SoC da Apple, causada por uma falha no design do chip que permite uma transmissão "fantasma" de dados entre 2 processos .

Descoberto pelo programador e designer Hector Martin, enquanto trabalhava em uma versão do Linux no chip M1, permite a transmissão de dados de forma totalmente transparente para o usuário entre 2 processos em execução, e vinculados a diferentes usuários. Desta forma, é criado um canal escondido com o qual os 2 processos se comunicam , como se fosse um rio que passa por baixo de uma ponte que permite, de facto, a passagem de barcos sob a passagem de carros, sem que os carros vejam o que está a passar embaixo.

O primeiro bug arquitetônico do Apple M1

O bug, já comunicado à Apple, provavelmente foi causado por erro (humano é claro) de um engenheiro da empresa de Cupertino durante o projeto do novo processador. O engenheiro quebrou as especificações do ARM, permitindo que o bug violasse o modelo de segurança do macOS , já que transmitir dados sem o conhecimento do usuário é uma das muitas prerrogativas dos sistemas Apple.

O maior problema, conforme apontado pelo analista Pierluigi Paganini, fundador da Cybaze, empresa do setor de CyberSecurity, é que:

normalmente as vulnerabilidades derivadas do design lógico do chip são extremamente perigosas porque são difíceis de identificar, complexas e às vezes impossíveis de resolver e, finalmente, porque podem permitir a execução de códigos maliciosos no nível do chip e, portanto, completamente transparentes para o sistema operacional e aos principais sistemas de defesa.

A explicação técnica por trás dessa vulnerabilidade

Entre os vários registros de sistema disponibilizados pela ARM, encontramos o denominado s3_5_c15_c10_1. Ele contém em particular dois bits que podem ser lidos ou escritos (bits na posição 0 e 1). Este é um registro por cluster que pode ser acessado simultaneamente por todos os núcleos no mesmo cluster.

Isso o torna um canal secreto de dois bits que qualquer processo arbitrário pode usar para trocar dados com outro processo de cooperação.

Apple M1

Um par de processos pode criar um canal de comunicação através de um protocolo definido ad hoc , por exemplo, um processo grava "00" para solicitar dados e o outro processo grava "1- [dados, 0-1]" seguindo um "00" para enviar um novo dado. Isso permite que os processos troquem uma quantidade arbitrária de dados, limitada apenas pela sobrecarga da CPU. Algumas APIs feitas por CPU podem ser usadas para garantir que ambos os processos estejam sendo executados no mesmo cluster. É possível obter, sem muitas otimizações, uma velocidade de transferência superior a 1 MB / s (ainda menos se for usada alguma redundância de dados).

O propósito original desse registro é desconhecido, o que o torna efetivamente um bug arquitetônico.

Quem é afetado?

Bugs dessa magnitude são muito perigosos porque agem em um nível de arquitetura, potencialmente tendo a capacidade de se infiltrar nos registros de usuário da CPU, uma das partes mais delicadas de um computador, pois estão conectados com as informações de usuário mais delicadas no nível de interação homem-máquina.

Porém, estamos falando de chips proprietários neste caso da Apple, uma empresa sempre muito atenta à segurança de seus usuários, portanto, o próprio Hector Martin tranquiliza os usuários ao afirmar que para atingir níveis arquitetônicos tão baixos é necessária uma destreza de TI considerável e que apesar de resolver o problema, é necessária uma atualização do circuito, os usuários podem ficar tranquilos, pois a Apple certamente encontrará uma maneira de resolver o problema.

Os usuários momentaneamente em risco são aqueles que usam o seguinte sistema operacional:

  • macOS 11.0 e posterior
  • Linux 5.13 e posterior
  • OpenBSD
  • AmigaOS
  • Newton

Não há iOS na lista uma vez que todos os aplicativos na App Store são escaneados durante a fase de verificação de pré-publicação pela Apple e todos os desenvolvedores não têm a possibilidade de implementar nos aplicativos a possibilidade de criar código a partir do próprio aplicativo durante o execução, plano de fundo e sessão encerrada.

Com curadoria de Giulio Montanaro.

Artigo M1racles, o primeiro bug arquitetônico dos novos chips Apple M1 vem da Tech CuE | Engenharia de Close-up .