Des journalistes, des chefs d’État, des ministres, des militants de droits de l’homme, des opposants politiques… Révélée par Amnesty International et un consortium de journalistes, la liste des victimes du logiciel espion Pegasus est d’autant plus impressionnante que certaines des cibles sont particulièrement à haut risque et disposent probablement d’un niveau de protection important. C’est en particulier le cas du président Emmanuel Macron, et de certains ministres de son gouvernement, qui profitent évidemment de services de sécurité spéciaux et qui feraient — eux aussi — partie des victimes.
Dès lors devant un problème d’une telle ampleur, il est légitime de se poser des questions. Comment ce logiciel réussit-il ce genre d’action ? Comment NSO, un éditeur qui a pignon sur rue, peut-il déjouer les meilleurs services de cybersécurité ? Voici quelques éléments de réponse pour comprendre un des plus gros scandales d’espionnage de ces dernières années.
Fondé en 2010 par des ex-membres de l’unité 8200, un service de cyberespionnage israélien, le groupe NSO s’est spécialisé dans les services de piratage de smartphones à destination des agences gouvernementales. La promesse de son produit, Pegasus, est de pouvoir siphonner n’importe quelles données de n’importe quel smartphone, avec un maximum de discrétion.
NSO excelle dans la recherche de failles zero-day
Le seul moyen d’y arriver, c’est d’utiliser des failles logicielles non connues.
« Le vrai métier de NSO, c’est de trouver des failles zero-day. Cette entreprise doit avoir en permanence un fonds de roulement suffisant de failles qui lui permette de cibler en permanence chaque système dans chaque pays. Et pour trouver ces failles, elle dispose de centaines de chercheurs en sécurité », nous explique Bastien Bobe, ingénieur chez Lookout, un éditeur de solutions de sécurité pour smartphone, qui avait déjà fourni une analyse de Pegasus en 2016.
Réalisée en partenariat avec Citizen Lab, cette première analyse permettait déjà de découvrir certains éléments de la documentation du logiciel Pegasus qui mettaient en avant sa facilité d’usage. Le client dispose d’une station de travail avec une interface agréable qui lui permet d’accéder facilement à toutes les données de l’appareil ciblé.
Mais cette facilité d’usage apparente s’appuie en réalité sur une plate-forme technique hautement complexe, particulièrement furtive et en perpétuel changement. NSO lui a d’ailleurs donné un nom : « Pegasus Anonymizing Transmission Network ».
L’analyse forensique d’Amnesty International montre qu’elle est constituée d’au moins quatre types de serveurs.
Le pilier de cette architecture, ce sont évidemment les serveurs d’infection qui vont délivrer le code permettant de prendre pied dans le système. Chaque attaque disposera de son propre sous-domaine Internet, qui sera accessible depuis un serveur DNS dédié et dont la durée d’existence sera limitée à l’opération en cours. Le but de la manœuvre est évidemment de rester sous les radars des chercheurs en sécurité. Parmi les domaines qui permettaient d’accéder à des serveurs d’infection Pegasus figurent par exemple *.info8fvhgl3.urlpush[.]net et *.get1tn0w.free247downloads[.]com.
Les attaques sont systématiquement précédées d’une phase de validation. Des serveurs dédiés vérifient alors que l’URL d’attaque générée par le client est correcte avant de la passer aux serveurs DNS. Les vecteurs d’attaque utilisés changent évidemment dans le temps, en fonction des failles zero-day disponibles et des personnes ciblées.
Des attaques de plus en plus furtives
Ainsi, les chercheurs d’Amnesty International ont détecté des compromissions qui s’appuyaient sur iMessage, Apple Music et Apple Photos. De précédentes analyses avaient par ailleurs révélé l’utilisation de WhatsApp, de SMS et de navigateurs Internet. Ces applications ne sont pas choisies au hasard. Pour pouvoir pirater un téléphone, il faut passer par un logiciel qui a de grandes chances d’être actif au moment voulu. Il faut donc cibler les applications qui sont les plus utilisées.
On constate par ailleurs que les attaques de NSO deviennent de plus en plus sophistiquées.
« En 2016, elles nécessitaient de cliquer sur un lien. En 2018, elles ne nécessitaient plus d’interaction avec l’utilisateur, mais elles allumaient parfois le terminal. Désormais, ce sont des attaques 0-click totalement furtives », poursuit Bastien Bobe.
Ces attaques s’appuient généralement sur une série de failles zero-day, car il y a plusieurs obstacles à franchir. Au minimum, il faut pouvoir exécuter du code arbitraire dans l’application visée, franchir son bac à sable pour accéder au système et augmenter les privilèges pour devenir root.
Une chaîne d’attaque sur iOS aura plus d’impact qu’une chaîne d’attaque Android. Comme le parc d’appareils Apple est plus homogène, elle permettra d’accéder d’emblée à un grand nombre de terminaux. À l’inverse, le fractionnement de l’écosystème Android rend le piratage plus fastidieux. Ce qui explique peut-être en partie pourquoi les terminaux iOS apparaissent plus fréquemment dans les analyses forensiques d’attaques Pegasus.
Après l’infection initiale, la suite logicielle est installée et le terminal est totalement sous contrôle de NSO et son client. Mais attention, cette installation se fait là encore par étapes.
L’analyse d’Amnesty International montre que lors d’un piratage par Pegasus, plusieurs dizaines d’exécutables sont téléchargés et installés successivement sur le terminal. Les noms de ces exécutables sont généralement assez génériques pour ne pas susciter la curiosité d’un éventuel analyste. Parfois, ils imitent même des noms de processus iOS officiels. Là encore, l’objectif est de brouiller les pistes au maximum pour rester sous les radars.
Une infrastructure en évolution perpétuelle
Un quatrième type de serveurs fait ensuite son apparition, les serveurs de commande et contrôle (C&C), qui permettront d’envoyer les commandes et d’exfiltrer les données du téléphone. Ils s’appuient sur des domaines différents que ceux utilisés pour l’infection. Au total, Amnesty International a dénombré plus de 700 domaines pour l’infrastructure d’attaque de Pegasus, et il ne s’agit là probablement que d’une partie de l’iceberg.
D’après les chercheurs, cette infrastructure a été remodelée au moins trois fois par le passé, c’est pourquoi ils lui donnent le nom de « Version 4 ». L’analyse des domaines montre que la version 3 a démarré en 2016, après les révélations de Citizen Lab/Lookout, jusqu’en août 2018, date d’un rapport d’analyse d’Amnesty International. La version 4 est également sur le déclin, depuis la publication d’un rapport de Citizen Lab début 2021. NSO semble désormais cacher son infrastructure de serveurs derrière les proxies d’Amazon CloudFront.
Comment se protéger contre de telles attaques ?
« Sur Android, il est possible d’installer des logiciels de sécurité qui permettront de détecter les tentatives de phishing et les codes malveillants connus. Mais c’est vrai que détecter des attaques inconnues de type zero-day, c’est plus compliqué », souligne Jakub Vàvra, analyste en menaces sur mobile chez Avast.
L’agence de cybersécurité allemande, BSI, estime pour sa part qu’il est « très difficile » d’envisager des mesures de prévention face à Pegasus. Sur le plan technique, c’est donc un échec et mat.
🔴 Pour ne manquer aucune actualité de 01net, suivez-nous sur Google Actualités et WhatsApp.