3 points par GN⁺ 2023-12-28 | 1 commentaires | Partager sur WhatsApp
  • Operation Triangulation est une campagne qui a infecté des iPhone pendant au moins 4 ans via iMessage uniquement ; elle aurait touché les appareils d’employés de Kaspersky ainsi que les iPhone de membres de missions diplomatiques et d’ambassades en Russie
  • L’infection commençait par une pièce jointe iMessage malveillante traitée sans aucune action de l’utilisateur ; lorsque l’infection disparaissait après un redémarrage, elle était maintenue en envoyant un nouveau message pour réinfecter l’appareil
  • Kaspersky estime que cette chaîne utilisait 4 zero-days ; Apple a corrigé CVE-2023-32434, CVE-2023-32435, CVE-2023-38606 et CVE-2023-41990
  • La percée la plus déterminante reposait sur une vulnérabilité dans une fonction matérielle non documentée, qui permettait à l’attaquant de contourner la protection mémoire matérielle de l’iPhone et de dépasser les restrictions empêchant la modification du noyau et l’injection de code malveillant
  • L’auteur de l’attaque n’a pas été identifié ; à propos des soupçons d’implication de la NSA et d’Apple, Kaspersky a déclaré ne disposer d’aucune preuve, tandis qu’Apple a nié toute coopération

Mode d’infection d’Operation Triangulation

  • Operation Triangulation est le nom donné par Kaspersky au malware et à la campagne qui l’a installé
  • L’infection était transmise par message iMessage, et une chaîne d’exploits complexe s’exécutait sans aucune action du destinataire
  • Le spyware installé envoyait des données sensibles vers un serveur contrôlé par les attaquants
    • Enregistrements du micro
    • Photos
    • Géolocalisation
    • Autres données sensibles
  • L’infection ne survivait pas au redémarrage, mais les attaquants la maintenaient en envoyant un nouvel iMessage malveillant juste après le redémarrage de l’appareil
  • La détection de l’infection est extrêmement difficile, même pour des personnes disposant d’une expertise avancée en analyse forensique
  • La liste des indicateurs d’infection est disponible sur la page Triangulation validators/modules de Kaspersky

4 zero-days et périmètre d’impact

  • Kaspersky estime que Triangulation a utilisé 4 vulnérabilités zero-day critiques
  • Apple a corrigé les 4 vulnérabilités
  • Ces vulnérabilités et la fonction matérielle secrète existaient sur plusieurs plateformes Apple au-delà de l’iPhone
    • Mac
    • iPod
    • iPad
    • Apple TV
    • Apple Watch
  • Les exploits récupérés par Kaspersky avaient été délibérément développés pour fonctionner aussi sur ces appareils, et Apple a également corrigé ces plateformes
  • Apple a refusé de commenter le sujet

Fonction matérielle non documentée

  • Une fonction matérielle inconnue ciblée par les attaquants a été identifiée comme un élément central d’Operation Triangulation
  • La vulnérabilité de cette fonction a joué un rôle décisif en permettant aux attaquants de contourner la protection mémoire matérielle des appareils Apple
  • Ce mécanisme de protection est conçu pour empêcher les actions suivantes même après qu’il est devenu possible de manipuler la mémoire du noyau
    • Injection de code malveillant dans d’autres processus
    • Modification du code du noyau
    • Modification de données sensibles du noyau
  • Les chercheurs de Kaspersky n’ont compris cette fonction qu’après plusieurs mois de rétro-ingénierie d’appareils infectés par Triangulation
  • Certaines adresses MMIO utilisées par les attaquants ne figuraient pas dans le device tree, qui décrit la configuration matérielle sous une forme lisible par une machine
  • Des recherches supplémentaires dans le code source, les images noyau et le firmware n’ont trouvé aucune mention de ces adresses MMIO
  • Boris Larin explique que les attaquants contournaient la protection mémoire matérielle en écrivant les données voulues, l’adresse physique cible et le hash des données dans des registres matériels inconnus
  • Kaspersky avance que cette fonction pourrait avoir été destinée à des objectifs de débogage ou de test pour les ingénieurs Apple ou les usines, ou avoir été incluse par erreur, mais comme le firmware n’utilise pas cette fonction, l’entreprise n’a pas pu déterminer comment les attaquants en avaient eu connaissance

Déroulement de la chaîne d’exploits

  • La chaîne commence par exploiter CVE-2023-41990, une vulnérabilité dans l’implémentation des polices TrueType d’Apple, pour obtenir une exécution de code à distance
    • Cette étape utilise le return oriented programming et le jump oriented programming pour contourner les défenses modernes contre les exploits
    • Les droits d’exécution correspondaient au niveau minimal de privilèges système
  • L’étape suivante vise le noyau iOS
    • CVE-2023-32434 est une vulnérabilité de corruption mémoire dans XNU
    • CVE-2023-38606 est une vulnérabilité dans des registres MMIO secrets, permettant de contourner le Page Protection Layer
  • La chaîne utilise ensuite CVE-2023-32435, une vulnérabilité de Safari, pour exécuter du shellcode
  • Le shellcode généré réutilise CVE-2023-32434 et CVE-2023-38606 pour obtenir un accès root, puis installer la charge utile finale du spyware
  • Le résumé de la chaîne par Kaspersky inclut les caractéristiques suivantes
    • La pièce jointe iMessage malveillante est traitée par l’application sans être affichée à l’utilisateur
    • Elle inclut une exécution de code à distance via la commande de police TrueType propre à Apple, ADJUST
    • L’exploit JavaScript était obfusqué, comptait environ 11 000 lignes, et la majeure partie du code servait à analyser et manipuler JavaScriptCore ainsi que la mémoire du noyau
    • Il exploitait la fonctionnalité de débogage DollarVM de JavaScriptCore pour manipuler la mémoire de JavaScriptCore et exécuter des fonctions d’API natives
    • Il était conçu pour prendre en charge à la fois les anciens et les nouveaux iPhone, et incluait aussi un contournement du Pointer Authentication Code pour exploiter les modèles récents
    • L’exploit noyau de l’étape finale prenait la forme d’un mach object file ; il était volumineux et riche en fonctionnalités, avec divers utilitaires post-exploitation, mais la plupart n’étaient pas utilisés

Auteur de l’attaque et questions restantes

  • Kaspersky n’a pas pu déterminer comment les attaquants avaient découvert cette fonction matérielle non documentée
  • Boris Larin examine plusieurs possibilités, notamment une exposition accidentelle lors de la publication d’anciens firmwares ou de code source, ou la rétro-ingénierie matérielle
  • L’objectif exact de cette fonction reste inconnu
  • Il n’est pas non plus établi si cette fonction fait partie de la configuration de base de l’iPhone ou si elle est activée par un composant matériel tiers comme ARM CoreSight
  • En juin 2023, le National Coordination Center for Computer Incidents russe a affirmé que cette attaque faisait partie d’une campagne plus large de la NSA, et le FSB a affirmé qu’Apple avait coopéré avec la NSA
  • Un représentant d’Apple a nié toute coopération
  • Les chercheurs de Kaspersky estiment ne disposer d’aucune preuve étayant une implication de la NSA ou d’Apple
  • Larin indique que les caractéristiques propres à Operation Triangulation ne correspondent pas aux schémas de campagnes connus et qu’il n’est donc pas possible, à ce stade, de l’attribuer de manière définitive à un acteur de menace connu
  • Larin explique que Kaspersky a découvert et signalé plus de 30 zero-days exploités dans la nature dans des produits Adobe, Apple, Google et Microsoft, mais considère cette chaîne comme la chaîne d’attaque la plus sophistiquée qu’il ait vue à ce jour

1 commentaires

 
GN⁺ 2023-12-28
Commentaires sur Hacker News
  • (La plupart des) commentaires ont été déplacés ici : Operation Triangulation: The last (hardware) mystery - https://news.ycombinator.com/item?id=38783112 - décembre 2023, 71 commentaires
  • Cet article de Dan Goodin, d’Ars Technica, est vraiment excellent. Il se lit comme une révélation progressive, et même sans être programmeur, j’ai pu le suivre jusqu’au bout
    • Dan est vraiment remarquable. J’ai été interviewé par lui par le passé, et j’ai été impressionné par son souci de comprendre les nuances techniques et de les transmettre avec exactitude au grand public
      Il n’est absolument pas du genre à courir après les titres racoleurs, contrairement à beaucoup de personnes que j’ai croisées dans le journalisme tech, et Ars a de la chance de l’avoir
  • J’aimerais aussi mettre en lien un article contenant les détails techniques de l’exploit principal. Il explique comment des registres GPU matériels non documentés sont utilisés pour contourner la protection de la mémoire : https://securelist.com/operation-triangulation-the-last-hard...
  • L’article d’Ars Technica de juin 2023 mérite également d’être consulté : https://arstechnica.com/information-technology/2023/06/click...