Les tremblements d'Apple devant le malware Pegasus et son trident
Introduction
Je me rappelle d'une époque ou Apple était synonyme de sécurité.
J'ai le souvenir d'un euphémisme disant : "Pas besoin d'antivirus sur un Mac, il n'y a pas de Virus sur OSX".
Puis sont venus les systèmes iOS et la marque s'est démocratisée (cet argument est discutable quand on voit les prix des derniers smartphones du constructeur à la pomme).
Avec cette recrudescence d'appareils, sont arrivés les premiers pirates.
Au début comme toujours, leur présence était pour le bien de tous : sortir les iPhones de leurs chaines, les jailbreaker.
Puis sont venus ceux qui ne veulent qu'attaquer et extorquer des données et des informations : ils nous ont amené KeRanger et ses petits frères et maintenant, voici venu Pegasus et son trident.
Pegasus, késaco ?
Pegasus est un malware pour iOS qui repose sur trois failles zero days (c'est à dire encore jamais découvertes ni patchées ) qui ont très joliment été nommée "le trident".
Ce malware s'est fait connaitre lors d'une tentative d'attaque, via un SMS forgé (contenant un lien vérolé) à l'encontre un hacktiviste, celui-ci, pas dupe, a alors transféré pour analyse, le SMS à la société Citizen Lab.
Après son analyse, Citizen Lab a découvert que ce dernier provenait d'une société iranienne (appelée "NSO group") spécialisée dans le développement d'outils d'espionnage dédiés aux gouvernements.
Pourquoi aux gouvernements ?
Simplement car ils ont le budget nécessaire.
En effet les failles exploitées sont bien souvent des zéros days, ce genre de failles coutent très cher.
De plus, l'exploitation est toujours mise en oeuvre d'une main de maitre (comme nous allons le voir plus loin), cette expertise coûte aussi très cher.
Mais bref, assez d'introduction et de bla bla, passons au coeur de la faille !
Le vecteur d'infection
D'après Citizen Lab, NSO group semblait proposer deux vecteurs d'infection :
- Un vecteur d'infection en 1 clic : Ce vecteur passe par un sms avec un lien piégé (comme nous le verrons plus loin).
- Un vecteur d'infection en 0 clic : Ce vecteur nécessite le passage par un opérateur téléphonique afin que le téléphone télécharge automatique la cible du lien contenu
Une chance pour notre défenseur des droits de l'homme, c'est le vecteur en un clic qui avait été choisi.
Mais il est tout de même bon de remarquer que la clientèle ciblée dans la vente de ce malware est celle des gouvernements. En effet, peu nombreuses sont les institutions qui peuvent contraindre un opérateur à envoyer un lien infecté vers un téléphone.
Exploitation de la faille
L'exploitation des iPhone se fait en trois étapes bien distinctes :
- Pour commencer, un SMS est envoyée à la victime, sur son téléphone portable.
Celui ci contient un lien qui redirige en réalité vers le site web piégé, mis en place par NSO Group.
Lorsque la personne clique sur le lien (cas de l'infection en un clic), le serveur examine l'en tête User-Agent, et vérifie si le téléphone est compatible à l'installation du malware.
Si tel est le cas, Safari télécharge un code javascript dont le but est de télécharger l'exécutable de la seconde étape de l'infection et, ensuite d'utiliser une première zero day afin de faire tourner cette seconde étape dans le contexte logiciel de Safari.
Si l'appareil n'est pas pris en charge (trop ancien ou sur une mauvaise version des mises à jour), ou si l'infection échoue (pour une quelconque raison) le naviguateur Web de la victime est automatiquement redirigé sur le véritable site Web par l'opérateur Pegasus, afin de ne pas attirer l'attention de la victime. - La seconde étape utilise une seconde faille zero day afin de cibler l'adresse mémoire de base du noyau du système d'exploitation .
Ensuite, grâce à cette dernière, cette étape emploie une corruption de la mémoire dans le noyau du système d'exploitation (le troisième zero day, la troisième dent de notre trident) afin de désactiver la fonctionnalité de vérification de la signature de code dans le système d'exploitation.
Cette fonctionnalité désactivée, la seconde étape n'a plus qu'à télécharger et installer la troisième étape qui n'est d'autre que le payload, le malware en lui même. - Grâce à la signature de code maintenant désactivée et au malware installé, ce dernier peut donc tourner librement dans la zone mémoire du système d'exploitation dédiée au noyau. Une zone mémoire qui a tous les droits.
L'exploitation de cette faille s'apparente en fait à du jailbreak dans la mesure où elle permet au malware un accès root sur l'iPhone.
En bref, voici un résumé des trois failles utilisées :
- (CVE-2016-4657): Cette faille se trouve au sein de la bibliothèque WebKit utilisée par Safari. Elle permet, rien qu’en chargeant une page web, d’exécuter du code arbitraire sur dans le contexte d'exécution de Safari.
- (CVE-2016-4655): Cette faille sert à localiser les zones mémoire du kernel.
- (CVE-2016-4656): Cette faille est utilisée pour modifier les zones de mémoire du kernel, afin de supprimer la vérification de la signature de code
Que permet Pegasus ?
Une fois Pegasus complétement installé sur le téléphone cible, celui ci a accès à un nombre illimité d'options sur le téléphone: accès aux messages, aux images, possibilité d'activation de la caméra et du microphone, accès aux mails, aux applications, aux données de localisation, ...
Pour exfiltrer les données, le NSO group utilise une chaine de proxy et de DNS répartis partout dans le monde afin de remonter à un serveur racine et de fournir les données au client de l'attaque.
Une fois toutes les données récupérées, Le malware Pegasus à la possibilité de s'auto-détruire afin de ne laisser aucunes traces...
Et pourtant, ce n'était qu'un début
Une fois toutes ces découvertes en poche, le citizen lab a directement prévenu Apple qui s'est empressé de corriger la faille dans iOS et ... dans OSX.
En effet, cela fait maintenant plusieurs générations de systèmes d'exploitation et de logiciels que du code est partagé entre iOS et OSX et les failles ici présentées faisaient en effet partie des deux systèmes d'exploitation.
Le malware Pegasus avait donc un nombre de cibles potentielles encore bien plus grand que ce qui était imaginé à la base.
Et si nous corrigions cette faille ?
Comme je l'ai dit dans l'introduction, Apple au point de vue sécurité, ce n'est plus ce que c'était mais si on doit leur reconnaitre une qualité, c'est qu'ils sont réactifs quand une faille est signalée.
En effet, la firme a avancé la sortie de son OS mobile iOS 9.3.5 afin de bloquer cette faille.
Une mise à jour d'urgence a également été mise à disposition sur les systèmes OSX.
La meilleure correction de cette faille est donc une fois de plus de bien faire les mises à jour de ses applications et systèmes.
La seconde arme contre ce genre de faille et d'exploitation, dans le cas d'une infection en un clic reste votre bon sens.
En effet, dans la plupart des cas, la point d'entrée dans tout système informatique, c'est l'utilisateur.
Voilà pourquoi les administrateurs systèmes deviennent pour la plupart paranoïaques .
Source:
https://citizenlab.org/2016/08/milli...nso-group-uae/
https://www.undernews.fr/malwares-vi...mal-apple.html
https://blog.lookout.com/blog/2016/0...ident-pegasus/
Commentaire