IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Cybercriminalité : une campagne sophistiquée de 4 ans a permis de pirater des iPhones,
Grâce à un programme d'exploitation avancé

Le , par Bruno

5PARTAGES

11  0 
Des chercheurs de la société de sécurité Kaspersky ont révélé une campagne de piratage de quatre ans ciblant des iPhones, dont ceux appartenant à des employés de Kaspersky à Moscou. Le programme malveillant nommé "Triangulation" a exploité une vulnérabilité matérielle inconnue, permettant aux cybercriminel d'obtenir un accès sans précédent. Une fonction matérielle secrète a été utilisée pour contourner les protections de la mémoire. Les chercheurs ont découvert cette fonction après des mois de rétro-ingénierie. L'attaque reste non attribuée à un acteur connu, bien que des allégations aient été faites sur une implication de la NSA. La complexité de cette attaque est qualifiée de l'une des plus sophistiquées jamais observées.

« 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 courriel. « Notre analyse n'a pas révélé comment ils ont eu connaissance de cette fonctionnalité, mais nous explorons toutes les possibilités, y compris une divulgation accidentelle dans des versions antérieures du firmware ou du code source. Il est également possible qu'ils l'aient découverte par le biais d'une rétro-ingénierie matérielle ».


D'autres questions restent sans réponse, écrit Larin, même après environ 12 mois d'enquête intensive. Outre la manière dont les cybercriminels ont appris l'existence de la fonction matérielle, les chercheurs ne savent toujours pas à quoi elle sert précisément. Ils ne savent pas non plus si cette fonction fait partie intégrante de l'iPhone ou si elle est activée par un composant matériel tiers tel que le CoreSight d'ARM.

La campagne de backdooring de masse, qui, selon les autorités russes, a également infecté les iPhones de milliers de personnes travaillant dans des missions diplomatiques et des ambassades en Russie, a été révélée en juin. Selon Kaspersky, sur une période d'au moins quatre ans, les malwares ont été diffusées dans des messages iMessage et installaient des logiciels malveillants par le biais d'une chaîne d'exploitation complexe, sans que le destinataire n'ait à agir.

Les appareils étaient alors infectés par des logiciels espions complets qui, entre autres, transmettaient des enregistrements de microphones, des photos, des données de géolocalisation et d'autres données sensibles à des serveurs contrôlés par les cyercriminels.

Triangulation, le nom donné par Kaspersky au logiciel malveillant et à la campagne qui l'a installé - exploitait quatre vulnérabilités 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 vulnérabilités, qui sont répertoriées comme suit :

  • CVE-2023-32434
  • CVE-2023-32435
  • CVE-2023-38606
  • CVE-2023-41990

Outre les iPhones, ces failles critiques et la fonction matérielle secrète étaient présentes dans les Macs, les iPods, les iPads, les Apple TV et les Apple Watches. De plus, les exploits récupérés par Kaspersky ont été intentionnellement développés pour fonctionner sur ces appareils également. La chaîne d'infection peut être résumée par le graphique suivant :


Un appareil reçoit une pièce jointe iMessage malveillante qui lance une chaîne d'exploits, dont l'exécution aboutit finalement au lancement de l'implant TriangleDB.
Outre les exploits et les composants de l'implant TriangleDB, la chaîne 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 utilisées pour déterminer si l'iPhone ou l'iPad sur lequel TriangleDB sera implanté pourrait être un appareil de recherche. En effectuant de telles vérifications, les attaquants peuvent s'assurer que leurs exploits 0-day et l'implant ne sont pas brûlés.

Validateur JavaScript

Au début de la chaîne d'infection, la victime reçoit une pièce 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 hébergée sur cette URL contient du code JavaScript obscurci de la bibliothèque de cryptographie NaCl, ainsi qu'une charge utile chiffrée. Cette charge utile est le validateur JavaScript. Ce validateur effectue de nombreuses vérifications, notamment différentes opérations arithmétiques 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 déjà mentionné, il effectue une technique d'empreinte appelée Canvas Fingerprinting en dessinant un triangle jaune sur un fond rose avec WebGL et en calculant sa somme de contrôle :

Code : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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é « Opération Triangulation ». Après avoir exécuté le validateur, il chiffre et envoie toutes les informations collectées à une autre URL unique sur backuprabbit[.]com afin de recevoir (ou non) l'étape suivante de la chaîne d'infection.

Le détail le plus intriguant est le ciblage de la fonction inconnue jusqu'à présent, qui s'est avérée essentielle à la campagne de l'opération Triangulation. Une faille dans cette fonction a permis aux cybercriminels de contourner les protections avancées de la mémoire basées sur le matériel et conçues pour sauvegarder l'intégrité du système de l'appareil, même après qu'un cybercriminel ait acquis la capacité de manipuler la mémoire du noyau sous-jacent.

Le système d'exploitation d'Apple intègre des mesures de sécurité robustes pour assurer l'intégrité du système et prévenir les attaques. Ces fonctionnalités comprennent une racine de confiance matérielle, un processus de mise à jour logicielle sécurisé et des capacités matérielles spéciales pour prévenir l'exploitation en cours d'exécution du système. La protection de l'intégrité du noyau empêche toute modification du code du noyau et des pilotes après l'initialisation. Les permissions rapides restreignent rapidement les autorisations d'exécution de la mémoire sans nécessiter d'appel système.

La protection de l'intégrité du coprocesseur du système utilise le System Coprocessor Integrity Protection (SCIP) pour empêcher la modification du microprogramme du coprocesseur. Les codes d'authentification du pointeur sont employés pour prévenir l'exploitation des bogues de corruption de la mémoire en signant les instructions et les données du noyau. Ces mesures visent à renforcer la sécurité des appareils Apple, notamment iOS, iPadOS, tvOS, watchOS, et macOS sur les Mac équipés de silicium Apple.

Sur la plupart des autres plateformes, une fois que les cybercriminels 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 des protections précédemment citées, ces attaquants ne sont toujours pas en mesure de mettre en œuvre des techniques clés de post-exploitation telles que l'injection de code malveillant dans d'autres processus, ou la modification du code du noyau ou de données sensibles du noyau.

Cette protection, qui a rarement été mise en échec dans les exploits découverts à ce jour, est également présente dans les processeurs M1 et M2 d'Apple. Les chercheurs de Kaspersky n'ont appris l'existence de la fonction matérielle secrète qu'après des mois de rétro-ingénierie approfondie des appareils infectés par Triangulation. Au cours de cette opération, 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 CPU 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 à l'unité centrale d'écrire dans le registre matériel spécifique d'un périphérique donné.

Les chercheurs ont constaté que plusieurs des adresses MMIO utilisées par les cybercriminels pour contourner les protections de la mémoire n'étaient pas identifiées dans ce que l'on appelle l'arbre des périphériques.

L'arbre des périphériques : une solution élégante pour la gestion dynamique de l'information matérielle

Un arbre de périphériques est une structure arborescente utilisée pour décrire le matériel physique d'un système. Chaque nœud de l'arbre décrit les caractéristiques du dispositif représenté. L'objectif de l'arbre des périphériques est de décrire les informations relatives aux périphériques d'un système qui ne peuvent pas nécessairement être détectées ou découvertes de manière dynamique par un programme client.

Avant l'avènement de l'arbre des périphériques, le noyau contenait du code spécifique aux périphériques. Un petit changement, tel que la modification de l'adresse d'un périphérique obligeait à recompiler l'image du noyau. Le chargeur de démarrage (par exemple, U-Boot) charge un seul binaire, l'image du noyau, et l'exécute. Avant l'arbre de périphériques, plusieurs tentatives ont été faites pour réduire la complexité et transmettre de petites quantités d'informations au noyau. Le chargeur d'amorçage préparait généralement des informations supplémentaires et les plaçait dans la mémoire vive du système à un emplacement indiqué par un registre prédéfini.

Ces informations contiennent des informations de base, telles que la taille et l'emplacement de la mémoire, 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 matériel sur la base d'informations analysables sur le matériel plutôt que sur des fonctions d'initialisation codées en dur (par exemple, des adresses IP codées en dur).

Avec l'arbre des périphériques, le noyau lui-même n'a plus besoin de code spécifique pour chaque version de matériel. Au lieu de cela, le code se trouve dans un binaire séparé : le blob de l'arbre des périphériques. Cela nous permet de cibler différents matériels avec la même image de noyau en changeant simplement le binaire de l'arbre des périphériques, beaucoup plus simple et beaucoup plus petit. L'arbre des périphériques peut être transmis au noyau soit en l'ajoutant à l'image du noyau, soit par l'intermédiaire du chargeur d'amorçage.

Même après avoir parcouru les codes sources, les images du noyau et les microprogrammes, les chercheurs n'ont pas réussi à trouver la moindre mention des adresses MMIO. « Il ne s'agit pas d'une vulnérabilité ordinaire », a déclaré Larin dans un communiqué de presse. « En raison de la nature fermée de l'écosystème iOS, le processus de découverte a été à la fois difficile et long, nécessitant une compréhension complète des architectures matérielles et logicielles. Ce que cette découverte nous apprend 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 fonctions matérielles permettant de contourner ces protections. »

Citation Envoyé par Boris Larin
Si nous essayons de décrire cette fonction 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 avec [le] contournement [d'une] protection de la mémoire basée sur le matériel en écrivant les données, l'adresse de destination et le hachage des données dans des registres matériels inconnus, non utilisés par le micrologiciel, de la puce. Nous pensons que cette fonction matérielle inconnue était très probablement destinée à être utilisée à des fins de débogage ou de test par les ingénieurs d'Apple ou par l'usine, ou qu'elle a été incluse par erreur. Étant donné que cette fonction n'est pas utilisée par le micrologiciel, nous ne savons pas comment les attaquants pourraient savoir comment l'utiliser

L'opération triangulation met en lumière les menaces persistantes

En juin dernier, Kaspersky a dévoilé l'opération Triangulation, une cyberattaque sophistiquée ayant touché les iPhones de ses employés. Des responsables russes ont affirmé que cette attaque faisait partie d'une campagne plus vaste orchestrée par l'Agence nationale de sécurité américaine (NSA), ciblant des milliers d'iPhones de missions diplomatiques en Russie.

Une alerte du FSB russe a accusé Apple de coopération avec la NSA, une allégation démentie par Apple. Les chercheurs de Kaspersky n'ont pas pu attribuer de manière concluante l'attaque à un acteur connu, soulignant la complexité de l'opération Triangulation. Les résultats présentés détaillent la chaîne d'exploitation utilisée, mettant en lumière quatre vulnérabilités exploitées, dont une dans la police TrueType d'Apple, pour obtenir des privilèges de root et prendre le contrôle total des appareils infectés.

L'annonce de la campagne de piratage révélée par les chercheurs de Kaspersky, avec le programme malveillant "Triangulation", soulève des préoccupations significatives quant à la sécurité des iPhones, en particulier ceux appartenant à des employés de la société de sécurité elle-même. La vulnérabilité matérielle exploitée, associée à une fonction matérielle secrète, a permis aux attaquants d'atteindre un niveau d'accès sans précédent, illustrant la sophistication technique derrière cette opération.

L'absence d'attribution claire à un acteur connu, bien que des allégations aient été formulées 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 allégation que la NSA a niée. La complexité de l'attaque rend l'attribution difficile, mais le contexte géopolitique suggère des implications potentiellement graves.

L'opération Triangulation, avec ses multiples vulnérabilités exploitées et son niveau de sophistication, met en lumière les défis constants auxquels sont confrontés les acteurs de la cybersécurité. L'accent sur la possible implication de la NSA souligne l'importance de la transparence et de la coopération internationale dans la lutte contre de telles menaces, tout en soulignant la nécessité d'une vigilance accrue face à des attaques de plus en plus sophistiquées.

Source : Kaspersky

Et vous ?

Quel est votre avis sur le sujet ?

Que pensez-vous des allégations d'une possible coopération entre Apple et la NSA pour l'exécution de cette campagne sophistiquée de piratage ?

Voir aussi :

PIGEON, une IA développée par trois étudiants diplômés de Stanford, capable de géolocaliser avec précision des photos, ce qui inquiète les spécialistes de la protection de la vie privée

Le FBI craint que la Chine ne vole la technologie de l'IA pour intensifier l'espionnage et dérober des informations personnelles, afin de constituer des dossiers sur des millions d'Américains

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de Nym4x
Membre confirmé https://www.developpez.com
Le 29/12/2023 à 8:06
Ça sent la coopération secrète Apple et NSA… Je ne vois pas qui aurait les compétences et les ressources pour mener ce genre d’opérations pendant 4 ans sans objectif de détournement d’argent massif comme cela ne semble pas être le cas.
2  0 
Avatar de Fagus
Membre expert https://www.developpez.com
Le 29/12/2023 à 15:48
Que pensez-vous des allégations d'une possible coopération entre Apple et la NSA
Les allégations russes sont scandaleuses

Les développeurs ont juste créé innocemment la fonction

Secret_kernel_write_to_(secret_register)
// remember to remove in release because it bypasses all our clever memory crypto stuff

Puis bon, ils ont oublié et ont bêtement filé la fonction et l'adresse du registre à des pirates. Ça arrive quoi.
1  0 
Avatar de Rockveleur
Membre régulier https://www.developpez.com
Le 31/12/2023 à 12:26
Depuis le jour où, sous grande couverture médiatique, Apple a refusé de livrer à la justice les données d'un iphone, j'ai compris que la sécurité de l'iphone était un leurre.
Si la seia (si vous voyez de qui je parle) demande gentiment a Apple de livrer les backdoors du système ios sans quoi des familles vont perdre des membres, il n'y a qu'a s'exécuter... pour ne pas l'être. C'est comme ça que sa fonctionne.
Donc ios est un back orifice comme tout le reste. Quelque soit le slip, l'orifice existe.
Un bête mafieux aura en confiance acheté un iphone et les administrations aussi... pour leur perte.
0  0 
Avatar de unanonyme
Membre éclairé https://www.developpez.com
Le 28/12/2023 à 21:41
Bonjour,

Il serait tout aussi simple, mais inimaginable,
d'arrêter d'utiliser un smartphone,
une smart home, un iot, un aspirateur intelligent,
ou un trou des chiottes connecté,
non ?

On verra bien ce qu'on en pensera quand on se
ce sera fait pirater la smart nuke pour qu'elle nous
pète à la tronche.

Bonne journée.
0  1