PACMAN: vulnerabilidade encontrada em SoCs Apple M1 não é tão…

… grave assim, segundo o portal Popular Science (PopSci+)! Apesar de muito sites e blogs especializados em Tecnologia “gritar a plenos pulmões” para anunciar a gravidade desta falha de segurança e “botar o terror” nos incautos usuários de equipamentos MAC, na prática ela não é tão fácil (ou trivial) de ser explorada por agentes maliciosos. Ainda assim, eis uma grande preocupação que certamente passa pela cabeça dos mais entendidos: sendo uma falha que afeta o hardware, como ela pode ser corrigida? Para ser mais exato, não pode. E se não bastasse, ainda teremos que lidar com os (possíveis) efeitos colaterais das soluções…

“A group of researchers at MIT have discovered a new hardware vulnerability in Apple’s M1 chips. The team, led by Joseph Ravichandran and Weon Taek Na, have demonstrated how the attack – dubbed PACMAN – can bypass one of the M1 chip’s deepest lines of defenses. While it all sounds scary, it’s not quite as worrying as you might think: Attackers can only use PACMAN to exploit an existing memory bug in the system, which can be patched.”

— by PopSci+.

A primeira vista, de fato parece algo assustador por se tratar de uma falha que contorna uma das linhas de defesa mais profundas, do SoC Apple M1. No entanto, ela só pode ser explorada através da existência de um bug que afeta a gestão da memória do sistema, que por sua vez pode ser perfeitamente corrigido! A ironia do destino é que a Apple implementou um novo recurso nesta linha de chips chamado autenticação de ponteiros, o qual utiliza um hash criptográfico de 16 bits chamado Pointer Authentication Code (PAC) que impede os agentes maliciosos a realizarem mudanças no endereçamento das variáveis, utilizadas pelas CPUs para acessar as informações armazenadas e executar instruções relacionadas a ela. O que era para ser uma solução, acabou se tornando uma nova fonte de problemas!

O novo recurso torna mais complexa, a utilização de toda uma categoria de falhas para promover ataques; porém, o PACMAN é um exploit que possibilita contorná-la e permite a utilização destes bugs para a realização de ataques. Pelo fato do hash do ponteiro dispor de um comprimento de apenas 16 bits (e gerar apenas 65.536 combinações diferentes), um ataque de força bruta poderá ser executado em um tempo relativamente curto (+/- 3 minutos), mas de forma que não trave o sistema se comparado com as abordagens tradicionais. Para isto, ele utiliza técnicas de execuções especulativas (branch prediction) e assim, consegue obter o hash em menos tempo e sem ser afetado pela autenticação de ponteiros (e é justamente neste aspecto, que a falha do sistema colabora).

Em suma: uma combinação única de vulnerabilidade (hardware) e falha (software)!

Felizmente, uma vez aplicadas as correções para o sistema operacional, torna-se improvável a exploração da vulnerabilidade em questão. No entanto, por se tratar de uma falha oriunda da implementação de hardware (neste caso, no design da CPU do SoC Apple M1), ela não poderá ser corrigida em definitivo. Para variar, o novo SoC Apple M2 (sucessor) foi lançado recentemente e até o presente momento, não há informações de que ele também seja suscetível a esta vulnerabilidade. A Apple já estava ciente dela desde o ano passado (já que foi notificada pelos pesquisados) e no entanto, ela concluiu que “esse problema não representa um risco imediato para nossos usuários e é insuficiente para contornar as proteções de segurança do sistema operacional por conta própria”.

Há alguns anos, a Intel e a AMD tiveram que conviver com vulnerabilidades parecidas como a Meltdown e a Spectre, as quais afetavam a relação entre as aplicações e os dados armazenados na memória do computador, permitindo que atacantes acessem as informações geradas e/ou manipuladas por elas. O problema é que apesar delas poderem ser mitigadas através de atualizações de softwares (tanto de aplicações quanto de sistemas operacionais), na prática elas também causavam uma redução no desempenho computacional da plataforma, gerando certos prejuízos tanto para os usuários quanto para os sistemas de alto desempenho. Seria este, o caso da vulnerabilidade PACMAN? Não sabemos até o momento.

Como diz um velho ditado, “para quem sabe ler, um pingo é letra”… &;-D