La « triangulation » a infecté des dizaines d’iPhone appartenant à des employés de Kaspersky, basé à Moscou. (ironique, n’est-il pas ?)
Des chercheurs ont présenté mercredi de nouvelles découvertes intrigantes concernant une attaque qui, pendant quatre ans, a détourné des dizaines, voire des milliers d’iPhones, dont beaucoup appartenaient à des employés de la société de sécurité Kaspersky basée à Moscou. Principale découverte : les attaquants inconnus ont réussi à atteindre un niveau d’accès sans précédent en exploitant une vulnérabilité dans une fonctionnalité matérielle non documentée que peu de personnes, voire personne, en dehors d’Apple et des fournisseurs de puces tels qu’ARM Holdings connaissaient.
“La sophistication de l’exploit et l’obscurité de la fonctionnalité suggèrent que les attaquants disposaient de capacités techniques avancées”, a écrit Boris Larin, chercheur chez Kaspersky, dans un e-mail. « Notre analyse n’a pas révélé comment ils ont pris connaissance de cette fonctionnalité, mais nous explorons toutes les possibilités, y compris la divulgation accidentelle dans les versions précédentes du micrologiciel ou du code source. Ils sont peut-être également tombés dessus grâce à l’ingénierie inverse matérielle.
Quatre zero-day exploités depuis des années
D’autres questions restent sans réponse, écrit Larin, même après environ 12 mois d’enquête intensive. Outre la façon dont les attaquants ont découvert cette fonctionnalité matérielle, les chercheurs ne savent toujours pas quel est précisément son objectif. On ne sait pas non plus si la fonctionnalité est une partie native de l’iPhone ou si elle est activée par un composant matériel tiers tel que CoreSight d’ARM.
La campagne massive de porte dérobée, qui, selon des responsables russes, a également infecté les iPhones de milliers de personnes travaillant dans les missions diplomatiques et les ambassades en Russie, selon des responsables du gouvernement russe, a été révélée en juin . Sur une période d’au moins quatre ans, a déclaré Kaspersky, les infections ont été transmises dans des textes iMessage qui installaient des logiciels malveillants via une chaîne d’exploitation complexe sans que le destinataire n’ait à prendre aucune mesure.
Les appareils ont ainsi été infectés par des logiciels espions complets qui, entre autres, transmettaient des enregistrements de microphone, des photos, de la géolocalisation et d’autres données sensibles à des serveurs contrôlés par des attaquants. Bien que les infections n’aient pas survécu à un redémarrage, les attaquants inconnus ont maintenu leur campagne en vie simplement en envoyant aux appareils un nouveau texte iMessage malveillant peu de temps après le redémarrage des appareils.
De nouveaux détails divulgués mercredi indiquent que « Triangulation » – le nom que Kaspersky a donné au malware et à la campagne qui l’a installé – exploitait quatre vulnérabilités critiques du jour zéro, ce qui signifie de graves failles de programmation connues des attaquants avant qu’elles ne le soient. à Apple. La société a depuis corrigé les quatre vulnérabilités, qui sont répertoriées comme suit :
CVE-2023-32434
CVE-2023-32435
CVE-2023-38606
CVE-2023-41990
En plus d’affecter les iPhones, ces zero-day critiques et la fonction matérielle secrète résidaient dans les Mac, iPod, iPad, Apple TV et Apple Watches. De plus, les exploits récupérés par Kaspersky ont été intentionnellement développés pour fonctionner également sur ces appareils. Apple a également corrigé ces plates-formes. Apple a refusé de commenter cet article.
La détection des infections est extrêmement difficile, même pour les personnes possédant une expertise médico-légale avancée. Pour ceux qui veulent essayer, une liste d’adresses Internet, de fichiers et d’autres indicateurs de compromission se trouve ici.
La fonction mystérieuse de l’iPhone s’avère essentielle au succès de Triangulation
Le nouveau détail le plus intrigant est le ciblage d’une fonctionnalité matérielle jusqu’alors inconnue, qui s’est avérée essentielle à la campagne Opération Triangulation. Un jour zéro dans la fonctionnalité a permis aux attaquants de contourner les protections matérielles avancées de la mémoire conçues pour sauvegarder l’intégrité du système de l’appareil, même après qu’un attaquant ait acquis la capacité de falsifier la mémoire du noyau sous-jacent. Sur la plupart des autres plates-formes, une fois que les attaquants ont réussi à exploiter une vulnérabilité du noyau, ils ont le contrôle total du système compromis.
Sur les appareils Apple équipés de ces protections, ces attaquants sont toujours incapables d’exécuter des techniques post-exploitation clés telles que l’injection de code malveillant dans d’autres processus ou la modification du code ou des données sensibles du noyau. Cette puissante protection a été contournée en exploitant une vulnérabilité dans la fonction secrète. La protection, rarement vaincue par les exploits découverts jusqu’à présent, est également présente dans les processeurs Apple M1 et M2.
Les chercheurs de Kaspersky n’ont découvert la fonction secrète du matériel qu’après des mois d’ingénierie inverse approfondie des appareils infectés par Triangulation. Au cours du cours, l’attention des chercheurs a été attirée sur ce que l’on appelle les registres matériels, qui fournissent des adresses mémoire permettant aux processeurs d’interagir avec des composants périphériques tels que les USB, les contrôleurs de mémoire et les GPU. Les MMIO, abréviation de Memory-mapped Input/Outputs, permettent au processeur d’écrire dans le registre matériel spécifique d’un périphérique spécifique.
Les chercheurs ont découvert que plusieurs des adresses MMIO utilisées par les attaquants pour contourner les protections de la mémoire n’étaient identifiées dans aucune arborescence de périphériques , une description lisible par machine d’un ensemble particulier de matériel qui peut être utile à l’ingénierie inverse. Même après que les chercheurs aient parcouru davantage les codes sources, les images du noyau et le micrologiciel, ils n’ont toujours pas trouvé de mention des adresses MMIO.
“Il ne s’agit pas d’une vulnérabilité ordinaire”, a déclaré Larin dans un communiqué de presse coïncidant avec une présentation qu’il a faite au 37e Congrès de communication du chaos à Hambourg, en Allemagne. « En raison de la nature fermée de l’écosystème iOS, le processus de découverte était à la fois difficile et long, nécessitant une compréhension approfondie des architectures matérielles et logicielles. Ce que cette découverte nous enseigne une fois de plus, c’est que même les protections matérielles avancées peuvent être rendues inefficaces face à un attaquant sophistiqué, en particulier lorsqu’il existe des fonctionnalités matérielles permettant de contourner ces protections.
Dans un document de recherche également publié mercredi, Larin a ajouté :
Si nous essayons de décrire cette fonctionnalité et la manière dont les attaquants l’utilisent, tout se résume à ceci : les attaquants sont capables d’écrire les données souhaitées à l’adresse physique souhaitée en contournant [une] protection matérielle de la mémoire en écrivant le données, adresse de destination et hachage de données vers des registres matériels inconnus, non utilisés par le micrologiciel, de la puce.
Nous pensons que cette fonctionnalité matérielle inconnue était très probablement destinée à être utilisée à des fins de débogage ou de test par les ingénieurs Apple ou l’usine, ou a été incluse par erreur. Puisque cette fonctionnalité n’est pas utilisée par le firmware, nous n’avons aucune idée de la manière dont les attaquants pourraient l’utiliser.
Le jour même de juin dernier où Kaspersky a révélé pour la première fois que l’opération Triangulation avait infecté les iPhones de ses employés, des responsables du Centre national russe de coordination des incidents informatiques ont déclaré que les attaques faisaient partie d’une campagne plus large menée par l’Agence nationale de sécurité américaine qui a infecté plusieurs milliers d’iPhones. appartenant à des personnes au sein des missions diplomatiques et des ambassades en Russie, en particulier celles représentant les pays de l’OTAN, les pays post-soviétiques, Israël et la Chine. Une alerte distincte du FSB, le Service fédéral de sécurité russe, affirme qu’Apple a coopéré avec la NSA dans le cadre de cette campagne. Un représentant d’Apple a nié cette affirmation. Les chercheurs de Kaspersky, quant à eux, ont déclaré qu’ils n’avaient aucune preuve corroborant l’implication de la NSA ou d’Apple.
“Actuellement, nous ne pouvons pas attribuer de manière concluante cette cyberattaque à un acteur malveillant connu”, a écrit Larin dans l’e-mail. “Les caractéristiques uniques observées dans l’Opération Triangulation ne correspondent pas aux modèles de campagnes connues, ce qui rend l’attribution difficile à ce stade.”
Peut-être l’exploit le plus sophistiqué jamais créé
Les résultats présentés mercredi détaillent également les subtilités de la chaîne d’exploits qui sous-tend les infections par Triangulation. Comme indiqué précédemment, la chaîne a exploité quatre jours zéro pour garantir que le malware Triangulation s’exécutait avec les privilèges root et obtenait un contrôle total sur l’appareil et les données utilisateur qui y étaient stockées.
Cela a commencé par exploiter CVE-2023-41990, une vulnérabilité dans l’implémentation par Apple de la police TrueType . Ce maillon de chaîne initial, qui utilisait des techniques telles que la programmation orientée retour et la programmation orientée saut pour contourner les défenses modernes contre les exploits, a permis aux attaquants d’exécuter du code à distance, bien qu’avec des privilèges système minimaux.
Une fois cet obstacle initial franchi, le maillon suivant de la chaîne d’exploitation a ciblé le noyau iOS, le cœur du système d’exploitation réservé aux fonctions et données les plus sensibles de l’appareil. Cette manipulation du noyau est due aux CVE-2023-32434 et CVE-2023-38606. CVE-2023-32434 est une vulnérabilité de corruption de mémoire dans XNU, un mécanisme conçu pour résister aux tentatives de corruption de la mémoire à l’intérieur du noyau iOS. Ce lien exploitait ensuite CVE-2023-38606, la vulnérabilité résidant dans les registres secrets MMIO. Il a permis de contourner la couche de protection de page, la défense évoquée plus haut qui empêche l’injection de code malveillant et la modification du noyau même après qu’un noyau ait été compromis.
La chaîne a ensuite exploité une vulnérabilité Safari identifiée comme CVE-2023-32435 pour exécuter du shellcode. Le shellcode résultant, à son tour, a exploité une fois de plus CVE-2023-32434 et CVE-2023-38606 pour finalement obtenir l’accès root requis pour installer la dernière charge utile du logiciel espion.
Kaspersky a fourni le schéma suivant de la chaîne d’exploitation.
869c518f-f337-442b-b0a1-31804d2e7bda-image.png
Le résumé de Kaspersky de la chaîne d’exploit est le suivant :
Les attaquants envoient une pièce jointe iMessage malveillante, qui est traitée par l’application sans montrer aucun signe à l’utilisateur.
Cette pièce jointe exploite la vulnérabilité CVE-2023-41990 dans l’instruction de police TrueType non documentée et réservée à Apple, ADJUST, pour une exécution de code à distance. Cette instruction existait depuis le début des années 90 et le patch l’a supprimée.
Il utilise une programmation orientée retour/saut, plusieurs étapes écrites dans le langage de requête NSExpression/NSPredicate, et corrige l’environnement de bibliothèque JavaScriptCore pour exécuter un exploit d’élévation de privilèges écrit en JavaScript.
Cet exploit JavaScript est masqué pour le rendre complètement illisible et minimiser sa taille. Il contient néanmoins environ 11 000 lignes de code principalement dédiées à l’analyse et à la manipulation de JavaScriptCore et de la mémoire du noyau.
Il exploite la fonctionnalité de débogage de JavaScriptCore, DollarVM ($vm), pour pouvoir manipuler la mémoire de JavaScriptCore à partir du script et exécuter des fonctions API natives.
Il a été conçu pour prendre en charge les anciens et les nouveaux iPhones et comprenait un contournement du code d’authentification du pointeur (PAC) pour l’exploitation des modèles plus récents.
Il a utilisé une vulnérabilité de dépassement d’entier CVE-2023-32434 dans les appels système de mappage de mémoire de XNU (mach_make_memory_entry et vm_map) pour obtenir un accès en lecture/écriture à [la] mémoire physique entière de l’appareil à partir du niveau utilisateur.
Il utilise des registres d’E/S mappés en mémoire matérielle (MMIO) pour contourner la couche de protection de page (PPL). Cela a été atténué par CVE-2023-38606.
Après avoir exploité toutes les vulnérabilités, l’exploit JavaScript peut faire ce qu’il veut sur l’appareil et exécuter des logiciels espions, mais les attaquants ont choisi de : a) lancer le processus imagent et injecter une charge utile qui nettoie les artefacts d’exploitation de l’appareil ; b) exécutez le processus Safari en mode invisible et transférez-le vers la page Web avec l’étape suivante.
La page Web contient le script qui vérifie la victime et, si les vérifications réussissent, elle passe à l’étape suivante : l’exploit Safari.
L’exploit Safari utilise la vulnérabilité CVE-2023-32435 pour exécuter un shellcode.
Shellcode exécute un autre exploit du noyau sous la forme d’un fichier objet mach. Il utilise les mêmes vulnérabilités CVE-2023-32434 et CVE-2023-38606, il est également massif en taille et en fonctionnalités, mais il est complètement différent de l’exploit du noyau écrit en JavaScript. Seules certaines parties liées à l’exploitation des vulnérabilités mentionnées ci-dessus sont les mêmes. Pourtant, la majeure partie de son code est également dédiée à l’analyse et à la manipulation de la mémoire du noyau. Il dispose de divers utilitaires de post-exploitation, qui sont pour la plupart inutilisés.
Exploit obtient les privilèges root et procède à l’exécution d’autres étapes responsables du chargement des logiciels espions. Nous avons déjà couvert ces étapes dans nos articles précédents.
La présentation de mercredi, intitulée Ce que vous obtenez lorsque vous attaquez des iPhones des chercheurs , rappelle une fois de plus que même face à des défenses innovantes comme celle qui protège le noyau de l’iPhone, des attaques toujours plus sophistiquées continuent de trouver des moyens de les vaincre.
“Nous découvrons et analysons quotidiennement de nouveaux exploits et attaques en les utilisant”, a écrit Larin. « Nous avons découvert et signalé plus d’une trentaine de vulnérabilités Zero Day dans des produits Adobe/Apple/Google/Microsoft, mais il s’agit certainement de la chaîne d’attaque la plus sophistiquée que nous ayons jamais vue. »
Source: https://arstechnica.com/security/2023/12/exploit-used-in-mass-iphone-infection-campaign-targeted-secret-hardware-feature/