1 pontos por GN⁺ 2023-12-28 | 1 comentários | Compartilhar no WhatsApp

Cadeia de ataque da 'Operation Triangulation'

  • Envia um anexo malicioso do iMessage para ser processado por um aplicativo sem o conhecimento do usuário.
  • Esse anexo explora a vulnerabilidade de execução remota de código CVE-2023-41990 em um comando de fonte ADJUST TrueType não documentado e exclusivo da Apple.
  • Usa múltiplos estágios escritos com programação orientada a retorno/salto e a linguagem de consulta NSExpression/NSPredicate para aplicar patches no ambiente da biblioteca JavaScriptCore e executar um exploit de escalonamento de privilégios escrito em JavaScript.
  • O exploit em JavaScript é ofuscado de forma a ficar completamente ilegível e minimizar seu tamanho. Cerca de 11.000 linhas de código são dedicadas principalmente à análise e manipulação da memória do JavaScriptCore e do kernel.
  • Usa o recurso de depuração DollarVM($vm) do JavaScriptCore para obter, a partir do script, a capacidade de manipular a memória do JavaScriptCore e executar funções nativas de API.
  • Foi projetado para dar suporte tanto a iPhones antigos quanto novos, incluindo um bypass de Pointer Authentication Code (PAC) para explorar vulnerabilidades nos modelos mais recentes.
  • Explora a vulnerabilidade de estouro de inteiro CVE-2023-32434 nas chamadas de sistema de mapeamento de memória do XNU (mach_make_memory_entry e vm_map) para obter acesso de leitura/escrita, em nível de usuário, a toda a memória física do dispositivo.
  • Usa registradores de memory-mapped I/O (MMIO) de hardware para contornar a Page Protection Layer (PPL). Isso foi mitigado no CVE-2023-38606.
  • Após explorar todas as vulnerabilidades, o exploit em JavaScript pode realizar as ações desejadas no dispositivo e, em vez de executar spyware, inicia o processo IMAgent e injeta um payload que apaga os rastros do exploit no dispositivo, ou executa o processo do Safari em modo invisível para encaminhar à próxima etapa por meio de uma página web.
  • A página web contém um script que identifica a vítima e, se ela passar na verificação, recebe a próxima etapa, um exploit do Safari.
  • O exploit do Safari usa o CVE-2023-32435 para executar shellcode.
  • O shellcode executa outro exploit de kernel no formato de arquivo objeto Mach. Ele usa as mesmas vulnerabilidades CVE-2023-32434 e CVE-2023-38606. É enorme em tamanho e funcionalidade, mas completamente diferente do exploit de kernel escrito em JavaScript. As partes relevantes são compartilhadas entre os dois exploits, mas a maior parte do código é dedicada à análise e manipulação da memória do kernel. Inclui vários utilitários de pós-invasão, mas a maioria não é usada.
  • O exploit obtém privilégios de root e executa outra etapa que carrega o spyware.

O mistério e a vulnerabilidade CVE-2023-38606

  • Modelos mais recentes de iPhone têm recursos adicionais de proteção de segurança baseados em hardware para áreas sensíveis da memória do kernel.
  • Essa proteção impede que invasores assumam controle total do dispositivo mesmo que consigam ler e escrever na memória do kernel.
  • Os invasores contornaram essa proteção de segurança baseada em hardware usando outro recurso de hardware do SoC projetado pela Apple.
  • Os invasores contornaram a proteção de memória baseada em hardware escrevendo dados, o endereço de destino e o hash dos dados em registradores de hardware desconhecidos de um chip que não é usado pelo firmware.
  • Presume-se que esse recurso de hardware desconhecido tenha sido incluído por engano ou tenha sido destinado ao uso por engenheiros da Apple ou pela fábrica para fins de depuração ou testes.

Detalhes técnicos

  • Vários periféricos no SoC fornecem registradores de hardware especiais que a CPU pode usar para operar esses dispositivos.
  • Esses registradores de hardware são mapeados na memória acessível pela CPU e são conhecidos como "memory-mapped I/O (MMIO)".
  • As faixas de endereços MMIO de periféricos em produtos da Apple (iPhone, Mac etc.) são armazenadas em um formato de arquivo especial chamado DeviceTree.
  • A maior parte do MMIO usado no ataque não pertence a nenhuma faixa de MMIO definida no DeviceTree.
  • Não está claro como os invasores descobriram MMIOs não usados pelo firmware, nem a quais periféricos esses endereços MMIO pertencem.
  • Foi identificado que esses registradores MMIO pertencem ao coprocessador da GPU.
  • Os invasores usaram esses registradores MMIO para contornar a Page Protection Layer (PPL) e para aplicar patches nas entradas da tabela de páginas.
  • O método de cálculo do hash faz com que o recurso de hardware usado no ataque execute uma operação de acesso direto à memória (DMA) para gravar os dados diretamente no local solicitado.

Opinião do GN⁺

  • Esta pesquisa revela uma cadeia de ataque extremamente sofisticada contra iPhones. Trata-se de uma descoberta muito importante para pesquisadores de segurança e pode contribuir para fortalecer a segurança dos produtos da Apple.
  • Como os invasores descobriram recursos de hardware não usados pelo firmware ainda continua sendo um mistério. Isso destaca a importância da pesquisa em segurança de hardware.
  • Este texto oferece conteúdo muito interessante para quem se interessa por segurança de software e hardware. Os métodos de ataque altamente complexos e o processo de análise mostram a profundidade e a necessidade da pesquisa em segurança.

1 comentários

 
GN⁺ 2023-12-28
Comentários no Hacker News
  • O que há de surpreendente no abuso de MMIO

    • Os atacantes tinham uma capacidade de pesquisa extremamente avançada ou, mais provavelmente, invadiram a Apple para obter documentação interna de hardware.
    • A Apple sabia que esse recurso era perigoso, escondeu sua existência e o protegeu adicionalmente com uma função de assinatura digital.
    • Sem decapsular o silício e fazer engenharia reversa, seria impossível encontrar esse recurso, então é possível que tenham invadido desenvolvedores para roubar documentos internos.
    • A forma de reinvadir via Safari usando outra cadeia de vulnerabilidades sugere uma grande organização com forte separação interna.
    • Considerando que os pesquisadores eram russos, é provável que isso seja obra da NSA ou da GCHQ.
    • O malware pode ativar rastreamento de anúncios e detectar hospedagem de serviços de iPhone em nuvem, frequentemente usada por pesquisadores de segurança.
    • A plataforma de malware para iOS/macOS vem sendo desenvolvida há mais de 10 anos e usa ML no dispositivo para reconhecimento de objetos e OCR em fotos, sem enviar os bytes das imagens.
    • Não concordo com a afirmação de que segurança por obscuridade não funciona. Essa plataforma foi usada por 10 anos sem ser conhecida.
  • Resumo no Twitter de Steve Weis

    • A vulnerabilidade no iMessage é impressionante, e o conjunto inclui uma vulnerabilidade de TrueType existente desde os anos 90, 2 vulnerabilidades de kernel, uma vulnerabilidade de navegador e um recurso de hardware não documentado que não era usado no software lançado.
  • Explicação sobre o Coresight

    • Coresight não é um backdoor, mas uma funcionalidade de depuração presente em todas as CPUs ARM.
    • Parece ser uma extensão do Coresight necessária para funcionar junto com os mecanismos de proteção de memória da Apple.
    • Mesmo sem documentação pública, milhares de engenheiros da Apple provavelmente teriam acesso a um gdb modificado ou outras ferramentas capazes de usá-lo.
  • Especulação sobre a possibilidade de descobrir registradores MMIO

    • Pergunta sobre a possibilidade de descobrir registradores MMIO explorando aleatoriamente todos os endereços de registradores.
    • Só pela diferença de tempo já seria possível saber que um endereço era válido, e, como era um hash de 20 bits, ele também poderia ser quebrado por força bruta.
  • Dúvida sobre o uso de hash nos dados em recursos de depuração do chip

    • Questionamento sobre o propósito de usar hash em um recurso de depuração que deveria ser desativado em produção.
    • Não sou engenheiro eletrônico, mas o ideal é que recursos de depuração funcionem de forma simples e rápida para minimizar interferências.
    • É muito improvável que um atacante da cadeia de suprimentos tivesse conseguido inserir isso em todos os chips da Apple.
  • Observação sobre as características do algoritmo de hash

    • Quando todos os dados são 0, o valor do hash é 0 e, para um único bit, há um único valor na tabela sbox.
    • Esse tipo de algoritmo de hash pode ter sido passível de engenharia reversa mesmo sem documentação interna.
  • Admiração pelo esforço dos atacantes

    • Curiosidade sobre se esses atacantes sentem frustração por não receberem reconhecimento pelo próprio trabalho.
  • Explicação sobre o recurso explorado pelos atacantes

    • Os atacantes conseguiam contornar a proteção de memória baseada em hardware para gravar dados em endereços físicos específicos.
    • Faziam isso escrevendo dados, o endereço de destino e o hash dos dados em registradores de hardware desconhecidos de um chip que não é usado pelo firmware.
  • Importância das vulnerabilidades recém-descobertas

    • Mais importante do que obter uma vulnerabilidade recém-descoberta é saber se a sua própria vulnerabilidade pode ser comprometida.
    • Isso pode ajudar a evitar operações de contrainteligência.