Os participantes do projeto Google Project Zero que trabalham na área de segurança da informação, juntamente com colegas da Engenharia e Arquitetura de Segurança da Apple, estudaram em detalhes o complexo exploit FORCEDENTRY, que foi desenvolvido pela empresa israelense NSO Group e é projetado para hackear dispositivos iOS. Os resultados deste trabalho foram publicados recentemente no blog oficial do projeto.
O relatório destaca que o referido exploit é uma das ferramentas mais complexas do ponto de vista técnico, com a qual os pesquisadores tiveram que trabalhar. Para usá-lo, um arquivo especialmente configurado com a extensão GIF é transmitido aos dispositivos da vítima por meio do aplicativo iMessage, que emula um processador virtual em 70 mil elementos lógicos usados para ir além da sandbox. Depois disso, os invasores ganham controle total sobre o dispositivo da vítima, o que permite a execução remota de código e outras ações.
A exploração explora a vulnerabilidade CVE-2021-30860, que foi corrigida em 13 de setembro, quando a Apple lançou o iOS 14.8. Uma amostra de software malicioso para estudo foi fornecida pela equipe do Citizen Lab. Uma das características do exploit é que não requer interação com a vítima para usá-lo, enquanto muitas outras ferramentas de rastreamento são ativadas somente depois que a vítima segue o link malicioso. No caso de FORCEDENTRY, o invasor não precisa enviar uma mensagem de phishing.
O ataque começa enviando um arquivo com extensão GIF para o smartphone da vítima. O IOS usa o aplicativo iMessage para trabalhar com mensagens de texto e animadas, o que faz um loop automático das animações GIF para melhor visualização. Imediatamente após receber a animação, o iMessage usa uma API especial para renderizar o arquivo original em um novo, que será reproduzido em um loop quando visualizado.
No entanto, a extensão GIF não significa que o arquivo ainda é uma animação. Na verdade, o invasor usa essa extensão para transferir o arquivo PDF, que o iMessage também tenta processar como um arquivo GIF normal. Isso porque a biblioteca utilizada para definir o formato do arquivo não dá atenção às suas extensões. Dentro do PDF estão imagens no formato JBIG2 (um formato de compressão de imagens usado no passado em impressoras e copiadoras). Neste formato, a compactação ocorre dividindo a imagem em elementos e, se houver partes semelhantes o suficiente entre si, o mesmo elemento é usado para sua exibição subsequente.
Em última análise, o malware usa um estouro de número inteiro para estourar o buffer, que usa um processador virtual criado com base em operações lógicas básicas ao sobrepor a diferença de elementos de imagem no fluxo JBIG2. Mais de 70.000 portas definem a arquitetura do computador virtual, com funções como registradores e um somador e comparador de 64 bits completo usado para encontrar deslocamentos de memória e ir além da sandbox. Depois disso, os invasores ganham controle total sobre o dispositivo atacado.
Os pesquisadores do Project Zero notificaram imediatamente a Apple sobre o problema identificado. A correção para a vulnerabilidade se tornou parte do iOS 14.8, lançado em setembro deste ano.