Des chercheurs de la socit de scurit Kaspersky ont rvl une campagne de piratage de quatre ans ciblant des iPhones, dont ceux appartenant des employs de Kaspersky Moscou. Le programme malveillant nomm « Triangulation » a exploit une vulnrabilit matrielle inconnue, permettant aux cybercriminel d’obtenir un accs sans prcdent. Une fonction matrielle secrte a t utilise pour contourner les protections de la mmoire. Les chercheurs ont dcouvert cette fonction aprs des mois de rtro-ingnierie. L’attaque reste non attribue un acteur connu, bien que des allgations aient t faites sur une implication de la NSA. La complexit de cette attaque est qualifie de l’une des plus sophistiques jamais observes.
La sophistication de l’exploit et l’obscurit de la fonctionnalit suggrent que les attaquants disposaient de capacits techniques avances , a crit Boris Larin, chercheur chez Kaspersky, dans un courriel. Notre analyse n’a pas rvl comment ils ont eu connaissance de cette fonctionnalit, mais nous explorons toutes les possibilits, y compris une divulgation accidentelle dans des versions antrieures du firmware ou du code source. Il est galement possible qu’ils l’aient dcouverte par le biais d’une rtro-ingnierie matrielle .
D’autres questions restent sans rponse, crit Larin, mme aprs environ 12 mois d’enqute intensive. Outre la manire dont les cybercriminels ont appris l’existence de la fonction matrielle, les chercheurs ne savent toujours pas quoi elle sert prcisment. Ils ne savent pas non plus si cette fonction fait partie intgrante de l’iPhone ou si elle est active par un composant matriel tiers tel que le CoreSight d’ARM.
La campagne de backdooring de masse, qui, selon les autorits russes, a galement infect les iPhones de milliers de personnes travaillant dans des missions diplomatiques et des ambassades en Russie, a t rvle en juin. Selon Kaspersky, sur une priode d’au moins quatre ans, les malwares ont t diffuses dans des messages iMessage et installaient des logiciels malveillants par le biais d’une chane d’exploitation complexe, sans que le destinataire n’ait agir.
Les appareils taient alors infects par des logiciels espions complets qui, entre autres, transmettaient des enregistrements de microphones, des photos, des donnes de golocalisation et d’autres donnes sensibles des serveurs contrls par les cyercriminels.
Triangulation, le nom donn par Kaspersky au logiciel malveillant et la campagne qui l’a install – exploitait quatre vulnrabilits critiques de type zero-day , c’est–dire de graves failles de programmation qui taient connues des cybercriminels avant qu’elles ne le soient d’Apple. L’entreprise a depuis apport des correctifs aux quatre vulnrabilits, qui sont rpertories comme suit :
- CVE-2023-32434
- CVE-2023-32435
- CVE-2023-38606
- CVE-2023-41990
Outre les iPhones, ces failles critiques et la fonction matrielle secrte taient prsentes dans les Macs, les iPods, les iPads, les Apple TV et les Apple Watches. De plus, les exploits rcuprs par Kaspersky ont t intentionnellement dvelopps pour fonctionner sur ces appareils galement. La chane d’infection peut tre rsume par le graphique suivant :
Un appareil reoit une pice jointe iMessage malveillante qui lance une chane d’exploits, dont l’excution aboutit finalement au lancement de l’implant TriangleDB.
Outre les exploits et les composants de l’implant TriangleDB, la chane d’infection contient deux tapes de validation, savoir JavaScript Validator et Binary Validator. Ces validateurs collectent diverses informations sur l’appareil de la victime et les envoient au serveur. Ces informations sont ensuite utilises pour dterminer si l’iPhone ou l’iPad sur lequel TriangleDB sera implant pourrait tre un appareil de recherche. En effectuant de telles vrifications, les attaquants peuvent s’assurer que leurs exploits 0-day et l’implant ne sont pas brls.
Validateur JavaScript
Au dbut de la chane d’infection, la victime reoit une pice jointe iMessage invisible contenant un exploit de type « zero-click ». Le but ultime de cet exploit est d’ouvrir silencieusement une URL unique sur le domaine backuprabbit[.]com. La page HTML hberge sur cette URL contient du code JavaScript obscurci de la bibliothque de cryptographie NaCl, ainsi qu’une charge utile chiffre. Cette charge utile est le validateur JavaScript. Ce validateur effectue de nombreuses vrifications, notamment diffrentes oprations arithmtiques telles que Math.log(-1) ou Math.sqrt(-1), la disponibilit de composants tels que Media Source API, WebAssembly et d’autres.
Et, comme nous l’avons dj mentionn, il effectue une technique d’empreinte appele Canvas Fingerprinting en dessinant un triangle jaune sur un fond rose avec WebGL et en calculant sa somme de contrle :
1 | context.bufferData(context.ELEMENT_ARRAY_BUFFER, l, context.STATIC_DRAW); context.useProgram(C); context.clearColor(0.5, 0.7, 0.2, 0.25); context.clear(context.COLOR_BUFFER_BIT); context.drawElements(context.TRIANGLES, l.length, context.UNSIGNED_SHORT, 0); C.L = context.getAttribLocation(C, Z('VE')); C.W = context.getUniformLocation(C, Z('Zv')); context.enableVertexAttribArray(C.L); context.vertexAttribPointer(C.L, 3, context.FLOAT, !1, 0, 0); context.uniform2f(C.W, 1, 1); context.drawArrays(context.TRIANGLE_STRIP, 0, 3); var h = new Uint8Array(262144); context.readPixels(0, 0, 256, 256, context.RGBA, context.UNSIGNED_BYTE, h); data['xT'] = h[88849]; data['jHWOO'] = h[95054]; data['aRR'] = h[99183]; data['ffJEi'] = h[130012]; for (var p = 0, _ = 0; _ < h.length; _++) p += h[_]; data['WjOn'] = p; |
Code dessinant le triangle
Ce triangle est en fait la raison pour laquelle cette campagne a t baptis Opration Triangulation . Aprs avoir excut le validateur, il chiffre et envoie toutes les informations collectes une autre URL unique sur backuprabbit[.]com afin de recevoir (ou non) l'tape suivante de la chane d'infection.
Le dtail le plus intriguant est le ciblage de la fonction inconnue jusqu' prsent, qui s'est avre essentielle la campagne de l'opration Triangulation. Une faille dans cette fonction a permis aux cybercriminels de contourner les protections avances de la mmoire bases sur le matriel et conues pour sauvegarder l'intgrit du systme de l'appareil, mme aprs qu'un cybercriminel ait acquis la capacit de manipuler la mmoire du noyau sous-jacent.
Le systme d'exploitation d'Apple intgre des mesures de scurit robustes pour assurer l'intgrit du systme et prvenir les attaques. Ces fonctionnalits comprennent une racine de confiance matrielle, un processus de mise jour logicielle scuris et des capacits matrielles spciales pour prvenir l'exploitation en cours d'excution du systme. La protection de l'intgrit du noyau empche toute modification du code du noyau et des pilotes aprs l'initialisation. Les permissions rapides restreignent rapidement les autorisations d'excution de la mmoire sans ncessiter d'appel systme.
La protection de l'intgrit du coprocesseur du systme utilise le System Coprocessor Integrity Protection (SCIP) pour empcher la modification du microprogramme du coprocesseur. Les codes d'authentification du pointeur sont employs pour prvenir l'exploitation des bogues de corruption de la mmoire en signant les instructions et les donnes du noyau. Ces mesures visent renforcer la scurit des appareils Apple, notamment iOS, iPadOS, tvOS, watchOS, et macOS sur les Mac quips de silicium Apple.
Sur la plupart des autres plateformes, une fois que les cybercriminels ont russi exploiter une vulnrabilit du noyau, ils ont le contrle total du systme compromis. Sur les appareils Apple quips des protections prcdemment cites, ces attaquants ne sont toujours pas en mesure de mettre en uvre des techniques cls de post-exploitation telles que l'injection de code malveillant dans d'autres processus, ou la modification du code du noyau ou de donnes sensibles du noyau.
Cette protection, qui a rarement t mise en chec dans les exploits dcouverts ce jour, est galement prsente dans les processeurs M1 et M2 d'Apple. Les chercheurs de Kaspersky n'ont appris l'existence de la fonction matrielle secrte qu'aprs des mois de rtro-ingnierie approfondie des appareils infects par Triangulation. Au cours de cette opration, l'attention des chercheurs a t attire sur ce que l'on appelle les registres matriels, qui fournissent des adresses mmoire permettant aux CPU d'interagir avec des composants priphriques tels que les USB, les contrleurs de mmoire et les GPU. Les MMIO, abrviation de Memory-mapped Input/Outputs, permettent l'unit centrale d'crire dans le registre matriel spcifique d'un priphrique donn.
Les chercheurs ont constat que plusieurs des adresses MMIO utilises par les cybercriminels pour contourner les protections de la mmoire n'taient pas identifies dans ce que l'on appelle l'arbre des priphriques.
L'arbre des priphriques : une solution lgante pour la gestion dynamique de l'information matrielle
Un arbre de priphriques est une structure arborescente utilise pour dcrire le matriel physique d'un systme. Chaque nud de l'arbre dcrit les caractristiques du dispositif reprsent. L'objectif de l'arbre des priphriques est de dcrire les informations relatives aux priphriques d'un systme qui ne peuvent pas ncessairement tre dtectes ou dcouvertes de manire dynamique par un programme client.
Avant l'avnement de l'arbre des priphriques, le noyau contenait du code spcifique aux priphriques. Un petit changement, tel que la modification de l'adresse d'un priphrique obligeait recompiler l'image du noyau. Le chargeur de dmarrage (par exemple, U-Boot) charge un seul binaire, l'image du noyau, et l'excute. Avant l'arbre de priphriques, plusieurs tentatives ont t faites pour rduire la complexit et transmettre de petites quantits d'informations au noyau. Le chargeur d'amorage prparait gnralement des informations supplmentaires et les plaait dans la mmoire vive du systme un emplacement indiqu par un registre prdfini.
Ces informations contiennent des informations de base, telles que la taille et l'emplacement de la mmoire, et des informations sur la ligne de commande du noyau, telles que l'adresse IP. L'objectif tait de permettre au noyau de configurer le matriel sur la base d'informations analysables sur le matriel plutt que sur des fonctions d'initialisation codes en dur (par exemple, des adresses IP codes en dur).
Avec l'arbre des priphriques, le noyau lui-mme n'a plus besoin de code spcifique pour chaque version de matriel. Au lieu de cela, le code se trouve dans un binaire spar : le blob de l'arbre des priphriques. Cela nous permet de cibler diffrents matriels avec la mme image de noyau en changeant simplement le binaire de l'arbre des priphriques, beaucoup plus simple et beaucoup plus petit. L'arbre des priphriques peut tre transmis au noyau soit en l'ajoutant l'image du noyau, soit par l'intermdiaire du chargeur d'amorage.
Mme aprs avoir parcouru les codes sources, les images du noyau et les microprogrammes, les chercheurs n'ont pas russi trouver la moindre mention des adresses MMIO. Il ne s'agit pas d'une vulnrabilit ordinaire , a dclar Larin dans un communiqu de presse. En raison de la nature ferme de l'cosystme iOS, le processus de dcouverte a t la fois difficile et long, ncessitant une comprhension complte des architectures matrielles et logicielles. Ce que cette dcouverte nous apprend une fois de plus, c'est que mme les protections matrielles avances peuvent tre rendues inefficaces face un attaquant sophistiqu, en particulier lorsqu'il existe des fonctions matrielles permettant de contourner ces protections.
Si nous essayons de dcrire cette fonction et la manire dont les attaquants l'utilisent, tout se rsume ceci : les attaquants sont capables d'crire les donnes souhaites l'adresse physique souhaite avec [le] contournement [d'une] protection de la mmoire base sur le matriel en crivant les donnes, l'adresse de destination et le hachage des donnes dans des registres matriels inconnus, non utiliss par le micrologiciel, de la puce. Nous pensons que cette fonction matrielle inconnue tait trs probablement destine tre utilise des fins de dbogage ou de test par les ingnieurs d'Apple ou par l'usine, ou qu'elle a t incluse par erreur. tant donn que cette fonction n'est pas utilise par le micrologiciel, nous ne savons pas comment les attaquants pourraient savoir comment l'utiliser
L'opration triangulation met en lumire les menaces persistantes
En juin dernier, Kaspersky a dvoil l'opration Triangulation, une cyberattaque sophistique ayant touch les iPhones de ses employs. Des responsables russes ont affirm que cette attaque faisait partie d'une campagne plus vaste orchestre par l'Agence nationale de scurit amricaine (NSA), ciblant des milliers d'iPhones de missions diplomatiques en Russie.
Une alerte du FSB russe a accus Apple de coopration avec la NSA, une allgation dmentie par Apple. Les chercheurs de Kaspersky n'ont pas pu attribuer de manire concluante l'attaque un acteur connu, soulignant la complexit de l'opration Triangulation. Les rsultats prsents dtaillent la chane d'exploitation utilise, mettant en lumire quatre vulnrabilits exploites, dont une dans la police TrueType d'Apple, pour obtenir des privilges de root et prendre le contrle total des appareils infects.
L'annonce de la campagne de piratage rvle par les chercheurs de Kaspersky, avec le programme malveillant "Triangulation", soulve des proccupations significatives quant la scurit des iPhones, en particulier ceux appartenant des employs de la socit de scurit elle-mme. La vulnrabilit matrielle exploite, associe une fonction matrielle secrte, a permis aux attaquants d'atteindre un niveau d'accs sans prcdent, illustrant la sophistication technique derrire cette opration.
L'absence d'attribution claire un acteur connu, bien que des allgations aient t formules concernant une possible implication de la NSA, ajoute une dimension politique cette affaire. Les responsables russes ont accus la NSA d'une campagne plus large, touchant des milliers d'iPhones de missions diplomatiques en Russie, une allgation que la NSA a nie. La complexit de l'attaque rend l'attribution difficile, mais le contexte gopolitique suggre des implications potentiellement graves.
L'opration Triangulation, avec ses multiples vulnrabilits exploites et son niveau de sophistication, met en lumire les dfis constants auxquels sont confronts les acteurs de la cyberscurit. L'accent sur la possible implication de la NSA souligne l'importance de la transparence et de la coopration internationale dans la lutte contre de telles menaces, tout en soulignant la ncessit d'une vigilance accrue face des attaques de plus en plus sophistiques.
Source : Kaspersky
Et vous ?
Quel est votre avis sur le sujet ?
Que pensez-vous des allgations d'une possible coopration entre Apple et la NSA pour l'excution de cette campagne sophistique de piratage ?
Voir aussi :