As versões mais recentes do iOS e iPadOS (16.3) e macOS (Ventura 13.2) corrigiram as vulnerabilidades rastreadas como CVE-2023-23530 e CVE-2023-23531. Explicamos a natureza desses bugs, por que eles merecem sua atenção, o que o spyware Pegasus tem a ver com eles e por que você deve levar essas e futuras atualizações de segurança do iOS, iPad e macOS a sério.
NSPredicate, FORCEDENTRY, Pegasus e todo o resto
Para explicar por que essas últimas atualizações são importantes, precisamos de algumas infrmações. A base de software de aplicativos feitos para os sistemas operacionais da Apple é chamada – embora você não acredite – de Foundation framework! Aqui está a descrição da Apple:
A estrutura Foundation fornece uma camada base de funcionalidade para aplicativos e frameworks, incluindo armazenamento e persistência de dados, processamento de texto, cálculos data e hora, classificação e filtragem e rede. As classes, protocolos e tipos de dados definidos pelo Foundation são usados em todos os SDKs do macOS, iOS, watchOS e tvOS.”
Há pouco mais de dois anos, em janeiro de 2021, um pesquisador de segurança do iOS conhecido como CodeColorist publicou um relatório que mostrava como a implementação das classes NSPredicate e NSExpression (que fazem parte do framework Foundation) pode ser explorada para executar código arbitrário. Acontece que essas classes são responsáveis por classificar e filtrar dados. O que é importante aqui no contexto do que estamos contando nesta postagem é que essas ferramentas permitem executar scripts em um dispositivo sem verificar a assinatura digital do código.
A principal descoberta do CodeColorist foi que esses scripts podem ajudar a contornar os mecanismos de segurança da Apple — incluindo o isolamento de aplicativos. Isso torna possível escrever um aplicativo malicioso que rouba dados (como correspondência do usuário ou fotos aleatórias da galeria) de outros aplicativos.
Em março de 2022 aconteceu o lançamento de um documento sobre a implementação prática de tal aplicativo — a exploração zero cliques FORCEDENTRY — que foi usada para espalhar o infame malware Pegasus. As vulnerabilidades no NSPredicate e NSExpression permitiram que esse malware executasse uma fuga de sandbox e obtivesse acesso a dados e funções fora dos limites estritamente definidos dentro dos quais todos os aplicativos iOS funcionam.
Na sequência do trabalho teórico do CodeColorist e do estudo prático do exploit FORCEDENTRY, a Apple implementou uma série de medidas e restrições de segurança. No entanto, um novo estudo mostra que eles ainda são fáceis de contornar.
Por que a CVE-2023-23530 e a CVE-2023-23531 são perigosas
As vulnerabilidades CVE-2023-23530 e CVE-2023-23531 tornaram-se novas maneiras de contornar essas restrições. A primeira, CVE-2023-23530, decorre de como exatamente a Apple abordou o problema. Especificamente, eles elaboraram extensas listas de negação de classes e métodos que representam um risco de segurança óbvio no NSPredicate. O problema é que, usando métodos não incluídos nas listas de negação, é possível limpar essas listas e usar o conjunto completo de métodos e classes.
A segunda vulnerabilidade, CVE-2023-23531, está relacionada a como os processos no iOS e macOS interagem entre si e como o processo de recebimento de dados filtra as informações recebidas. Simplificando, o processo de envio de dados pode adicionar a ele uma tag de “conteúdo verificado” e alimentar o processo de recebimento com um script malicioso que usa o NSPredicate, que em alguns casos será executado sem verificação
Segundo os pesquisadores, essas duas técnicas para contornar as verificações de segurança permitem a exploração de várias outras vulnerabilidades específicas. Os invasores podem usar essas vulnerabilidades para obter acesso aos dados do usuário e recursos perigosos do sistema operacional e até mesmo instalar aplicativos (incluindo os do sistema). Em outras palavras, CVE-2023-23530 e CVE-2023-23531 podem ser usadas para criar exploits do tipo FORCEDENTRY.
Para demonstrar os recursos da CVE-2023-23530 e da CVE-2023-23531, os pesquisadores gravaram um vídeo mostrando como um aplicativo malicioso pode ser capaz de executar código dentro do SpringBoard (o aplicativo padrão que gerencia a tela inicial no iOS) em um iPad . De sua parte, o SpringBoard tem privilégios elevados e vários direitos de acesso — incluindo câmera, microfone, histórico de chamadas, fotos e dados de geolocalização. E mais — pode limpar completamente o dispositivo.
O que isso significa para a segurança do iOS e macOS
Devemos enfatizar que os perigos representados por CVE-2023-23530 e CVE-2023-23531 são puramente teóricos: não houve casos registrados de exploração na realidade. Além disso, as atualizações do iOS 16.3 e do macOS Ventura 13.2 os corrigiram; portanto, se você instalá-las a tempo, estará, supostamente, seguro.
Dito isso, não sabemos o quão bem a Apple corrigiu as vulnerabilidades desta vez. Talvez soluções alternativas também sejam encontradas para esses patches. De qualquer forma, em conversa com a Wired, os próprios pesquisadores tinham certeza de que novas vulnerabilidades dessa classe vão continuar aparecendo.
Lembre-se de que apenas ser capaz de executar scripts no iOS usando NSPredicate não é suficiente para um hack bem-sucedido. Um invasor ainda precisa entrar de alguma forma no dispositivo da vítima para poder fazer qualquer coisa com ele. No caso do FORCEDENTRY, isso envolvia o uso de outras vulnerabilidades: um PDF infectado disfarçado como um arquivo GIF inocente foi inserido no dispositivo de destino por meio do iMessage.
A probabilidade de tais vulnerabilidades serem usadas em ataques APT é alta, por isso vale a pena repetir as medidas defensivas que você pode tomar. Temos uma postagem separada sobre isso, na qual Costin Raiu, diretor de nossa Equipe Global de Pesquisa e Análise (GReAT), explica em detalhes como se proteger contra o malware da classe Pegasus e por que essas medidas funcionam. Aqui está um breve resumo de seus conselhos:
- Reinicie seu iPhone e iPad com mais frequência — é difícil para os invasores obter uma posição permanente no iOS, e uma reinicialização geralmente elimina o malware.
- Desative o iMessage e o FaceTime se possível — esses aplicativos fornecem um ponto de entrada conveniente para atacar dispositivos iOS.
- Em vez do Safari, use um navegador alternativo como, digamos, o Firefox Focus.
- Não entre em links de mensagens.
- Instale a [Kaspersky Premium placeholder]proteção confiável[/Kaspersky Premium placeholder]em todos os seus dispositivos.
- E, finalmente (como continuamos insistindo ad infinitum), mantenha seus sistemas operacionais atualizados (e de agora em diante, fique mais atento às atualizações do iOS, iPadOS e macOS quando forem lançadas).