A empresa de pesquisa de segurança Paradigm Shift anunciou recentemente os detalhes de uma nova vulnerabilidade do BootROM (também conhecida como SecureROM) que afeta os chips A12 e A13 da Apple e lançou um código de ataque de prova de conceito chamado “usbliter8”. BootROM é o primeiro código subjacente executado quando o iPhone é ligado. Como está diretamente solidificado no chip, não pode ser corrigido por meio de atualizações de software subsequentes. Isto significa que, uma vez descoberta uma falha de segurança, o dispositivo afetado continuará em risco durante todo o seu ciclo de vida.

A última vulnerabilidade desse tipo de BootROM divulgada anteriormente foi “checkm8” exposta em 2019, que afetou várias gerações de dispositivos, do iPhone 4S ao iPhone X. Desta vez, o usbliter8 avançou essa história uma geração, afetando produtos que usam chips A12 e A13, incluindo dispositivos do iPhone XS à série iPhone 11.
A vulnerabilidade usbliter8 explora uma falha no controlador USB integrado no silício da Apple. Quando um iPhone recebe dados via USB durante a inicialização, o controlador usa um buffer de memória para armazenar os pacotes recebidos. Os pesquisadores da Paradigm Shift descobriram que, ao enviar uma sequência específica de pacotes incomumente pequenos para o dispositivo durante a fase de inicialização, eles poderiam manipular os ponteiros de hardware dentro do controlador para “andar para trás” na memória, gravando dados em locais que não deveriam ser acessados em primeiro lugar. A equipe de pesquisa apontou que isso se parece mais com uma falha de design no próprio hardware do controlador USB do que com uma vulnerabilidade no nível do software da Apple.
A julgar pela geração específica do chip, o A11 não foi afetado. O driver USB usado redefinirá manualmente o ponteiro após o processamento de cada pacote de dados, bloqueando esse caminho. A partir do A14, a Apple configurou corretamente o mecanismo de proteção de memória relevante no nível BootROM, para que também possa evitar tais ataques. A12 e A13 estão na “área cinzenta” entre os dois e não possuem a proteção acima, ficando assim expostos a vulnerabilidades.
Em dispositivos A12, a execução do código é relativamente simples quando um invasor domina a exploração. Mas em dispositivos A13, a situação é obviamente mais complicada: esta geração de chips introduz um recurso de segurança chamado Pointer Authentication Codes (PAC, código de autenticação de ponteiro) para detectar e bloquear algumas adulterações de memória. A Paradigm Shift disse que contornar o PAC no A13 requer uma cadeia de ataque longa e de vários estágios que passa por várias etapas para finalmente assumir o controle do processador.
Depois de obter o controle com sucesso, o usbliter8 instala um manipulador personalizado no dispositivo que sobrevive às reinicializações. Esse manipulador reduz temporariamente o nível da política de segurança de um dispositivo e permite que software não assinado seja inicializado, ignorando o rigoroso processo de verificação. Como sinal de uma violação bem-sucedida, a exploração também injeta uma string tradicional “PWND” no número de série USB do iPhone, continuando a tradição do checkm8 e das vulnerabilidades de jailbreak anteriores.
Paradigm Shift apontou que o usbliter8 em si não ataca diretamente o Secure Enclave (Secure Enclave), mas uma vez que a camada BootROM é violada, teoricamente abre um espaço mais amplo para ataques mais avançados contra o Secure Enclave. A empresa relatou descobertas relevantes à equipe de segurança de produtos da Apple antes de torná-las públicas e concluiu o processo de divulgação em colaboração com a Apple. A análise técnica completa e o código de prova de conceito foram publicados junto com o relatório no site oficial da Paradigm Shift ps.tc para estudo mais aprofundado pela comunidade de pesquisa de segurança.