Média indocile – nouvelle formule

Actuel

Actuel / Derrière Pegasus ou le mode d’emploi d’un logiciel espion


PARTAGER

Retour sur la technique derrière ce logiciel. Quand est né Pegasus ? Comment l’utilise-t-on ? Pourquoi a-t-il pris une telle ampleur ?



Thierry Berthier, Université de Limoges


Un consortium de médias, dont Le Monde et la cellule investigation de Radio France, coordonné par l’organisation Forbidden Stories, a eu accès à plus de 50 000 numéros de téléphone potentiellement ciblés et espionnés par une dizaine d’états, via le logiciel israélien Pegasus.

L’affaire fait grand bruit car on y retrouve, pêle-mêle, des journalistes, des chefs d’entreprise, des opposants politiques et autres figures de la vie publique.

Retour sur la technique derrière ce logiciel. Quand est né Pegasus ? Comment l’utilise-t-on ? Pourquoi a-t-il pris une telle ampleur ?

Comment fonctionne Pegasus

Le logiciel Pegasus est développé par l’entreprise israélienne NSO Group. C’est un logiciel espion (spyware) visant les smartphones dont l’objectif est de siphonner l’ensemble de ses données : coordonnées GPS, contenus des messages, écoute des appels, bref tout ce qui passe par votre téléphone est vu, lu et entendu par le logiciel et transmis à son utilisateur (l’attaquant). Ce logiciel espion évolue depuis plusieurs années et s’adapte aux évolutions de niveaux de sécurité des téléphones.

Dans ses précédentes versions, l’attaquant envoyait un message contenant un lien, qui, lorsque l’utilisateur cliquait dessus, déclenchait l’installation de Pegasus. Cette technique, un peu grossière, peut fonctionner avec des personnes peu habituées ou non formées à la cybersécurité. Mais qui, avec des cibles de haut niveau (publiques ou privées) est beaucoup plus hasardeuse. Ainsi NSO a développé une nouvelle version qui est capable d’installer le « mouchard » sans clic, ce que l’on appelle une attaque « zero click ».

Comment installer un logiciel à l’insu du propriétaire du téléphone ? La méthode la plus efficace, version film d’espionnage, est tout simplement de se saisir du téléphone, lors d’un moment d’inattention et de l’intégrer dans la machine.

Il existe également une méthode plus subtile, et plus technologique : utiliser une faille de sécurité de l’appareil pour prendre le contrôle du téléphone pendant un court laps de temps pour y installer le spyware à distance.

L’exploitation des failles de sécurité

Pour prendre le contrôle d’un smartphone à distance, il est indispensable d’exploiter une faille de sécurité. Cette dernière peut provenir du matériel (hardware), par exemple une puce électronique, ou logiciel (software) en passant par les systèmes d’exploitation iOS ou Android. Les clients de NSO, en général des états, n’ont pas à chercher les failles eux-mêmes, ils n’ont besoin que du numéro de téléphone de la cible et Pegasus s’occupe du piratage et de l’exfiltration des données. Pour chaque cible visée, le client paye une licence à NSO de quelques dizaines de milliers d’euros.

On va généralement cibler des failles « zero day » (jour 0), on les appelle comme cela car elles n’ont jamais été publiées ni exploitées. La plupart des logiciels vendus dans le commerce peuvent avoir des failles. D’ailleurs, leurs éditeurs organisent régulièrement des concours ouverts aux hackers pour les débusquer. Si une personne découvre une faille, elle peut la vendre sur des « marchés zero day ». Cela ressemble à une bourse internationale dans laquelle les produits sont des failles. En général, elles sont achetées par les éditeurs eux-mêmes qui ont intérêt à les corriger le plus rapidement possible. Une faille sur un système d’exploitation iOS peut se négocier à plusieurs millions de dollars. Ces marchés sont légaux. Le but est d’éviter qu’un hacker, ayant trouvé une faille aille la vendre à un groupe cybercriminel.

Schéma de l’attaque du téléphone du journaliste Tamer Almisshal par Pegasus. Traduit du rapport « The Great iPwn », CC BY

Un exemple concret a été reporté par The Citizen Lab (le laboratoire d’Amnesty International et de l’université de Toronto qui a travaillé sur le récent scandale) fin 2020. Le journaliste d’investigation travaillant pour Al Jazeera, Tamer Almisshal suspectait que son téléphone ait été piraté. Pour le prouver, le laboratoire a enregistré toutes ses métadonnées pour suivre à quoi il se connectait. Ils ont en effet trouvé des connexions très suspectes : son téléphone a visité plusieurs fois un site connu comme étant un mode d’installation de Pegasus.

Cette visite aurait été provoquée par les pirates en exploitant une faille du système de messagerie de l’iPhone (faille depuis corrigée), le journaliste n’a cliqué sur aucun lien suspect, c’est une attaque « zero click ». Il a aussi été démontré que des données ont été exfiltrées. La société NSO a nié toute participation.

Un tunnel d’exfiltration de données

Une fois que Pegasus est installé, il doit renvoyer les données vers le commanditaire. Comment s’y prend-il ? il va créer un tunnel. Si le « pirate » est physiquement proche de sa cible, il lui est possible de récupérer les données via des techniques « radiofréquence ». Le téléphone va émettre des informations, par exemple via wifi qui seront captées à l’aide d’une antenne.

Les failles de sécurité touchant les cartes SIM peuvent être exploitées par un attaquant pour prendre le contrôle du téléphone ou pour installer un logiciel espion. Par exemple, la faille SIMjacker concerne plus d’un milliard de téléphones. Elle permet à partir d’un simple SMS de prendre le contrôle total d’un smartphone et de collecter des données. Concrètement, l’attaquant envoie un SMS contenant un code spécifique qui ordonne à la carte SIM de prendre les commandes du téléphone et d’exécuter certaines commandes provoquant l’exfiltration de données.

Il est également possible d’utiliser les liaisons classiques 3G ou 4G. Même si le téléphone se trouve dans des zones où le débit est limité, la bande passante sera plus lente, et donc le transfert plus long, mais il sera quand même possible d’exfiltrer des données.

On pourrait se dire que des transferts massifs de données pourraient être détectés par l’utilisateur, en observant ses flux de données. C’est là où Pegasus est très performant, car il peut agir sans être détecté. Les données qu’il envoie à partir du téléphone sont chiffrées, on ne peut donc pas savoir ce qui a été envoyé. De plus il va mélanger ces envois au milieu de vos propres transferts de données, par exemple, vous effectuez un paiement en ligne, vous allez envoyer des données chiffrées à votre banque ou à votre vendeur, et à ce moment-là le logiciel en profite pour envoyer des informations à l’attaquant.

Il est donc très difficile de savoir, réellement, ce qui a été envoyé, une fois que l’on a été victime de l’attaque. D’autant plus qu’une fois que la mission a été remplie Pegasus peut s’autodétruire et ne laisser aucune trace, selon son éditeur.

Cette dernière information est contredite par Amnesty International qui dit avoir détecté des traces du logiciel sur plusieurs téléphones analysés dans les journaux d’évènements qui enregistrent une partie de l’activité du système.

D’une manière générale, la rétro-analyse du fonctionnement d’un tel logiciel espion demeure toujours très complexe à réaliser. De la même façon, l’analyse fine de l’attaque demande d’importants moyens techniques, analytiques incluant de l’expertise humaine de très haut niveau et du temps.

Il convient de rester prudent sur les déclarations des uns et des autres attribuant l’origine d’une attaque ou affirmant qu’un téléphone a été compromis en particulier par un logiciel par nature furtif.The Conversation


 

Thierry Berthier, Maitre de conférences en mathématiques, cybersécurité et cyberdéfense, chaire de cyberdéfense Saint-Cyr, Université de Limoges

Cet article est republié à partir de The Conversation sous licence Creative Commons. Lire l’article original.

Notice (8): Trying to access array offset on value of type null [APP/Template/Posts/view.ctp, line 147]

Warning: file_put_contents(/data01/sites/bonpourlatete.com/dev/bonpourlatete.com/logs/debug.log) [function.file-put-contents]: failed to open stream: Permission denied in /data01/sites/bonpourlatete.com/dev/bonpourlatete.com/vendor/cakephp/cakephp/src/Log/Engine/FileLog.php on line 133

VOS RÉACTIONS SUR LE SUJET

0 Commentaire

À lire aussi