Une faille zero-day est une vulnérabilité exploitée avant que l’éditeur n’ait de correctif, ainsi nommée parce que les défenseurs ont eu zéro jour pour réagir. C’est la catégorie de menace la plus inquiétante, parce que le conseil habituel, « tenez vos logiciels à jour », ne s’applique pas encore : il n’y a rien vers quoi mettre à jour. Cet article regarde à quoi ces failles ont réellement ressemblé sur les plateformes Apple, à partir des bulletins de sécurité d’Apple, de Google Project Zero et du Citizen Lab, puis s’attarde sur la seule chose qu’un exploit inconnu doit encore faire une fois qu’il a réussi.
Un point doit être posé d’emblée, parce que le marketing autour du sujet est souvent trompeur : aucun pare-feu n’arrête un exploit. Ni FireAI, ni aucun autre. Un pare-feu ne voit pas une image malformée analysée dans iMessage, ni un bug de noyau déclenché depuis une page web. Ce qu’un pare-feu peut faire, c’est observer ce qui se passe ensuite, et cela compte plus qu’il n’y paraît.
Ce que montrent vraiment les faits
Apple documente chaque correctif de sécurité sur sa page Mises à jour de sécurité Apple, et quand une faille était déjà utilisée contre de vraies personnes, elle le dit avec une formule standard : « Apple a conscience que cette faille de sécurité a pu être exploitée. » Lire cette page sur quelques années donne une image plus juste que n’importe quel gros titre. Google Project Zero tient un registre public complémentaire, son suivi des 0-day exploités « dans la nature », qui liste les exploits repérés dans de vraies attaques avant qu’un correctif n’existe. Project Zero prend soin de préciser que ce registre ne contient que les cas détectés, par définition les échecs des attaquants, et qu’il ne peut donc servir ni à mesurer l’ampleur réelle de l’exploitation, ni à comparer les plateformes.
Trois cas documentés dessinent la forme du problème.
FORCEDENTRY, 2021
En mars 2021, le Citizen Lab de l’Université de Toronto a analysé le téléphone d’un militant saoudien et en a extrait un exploit qu’il a baptisé FORCEDENTRY. C’était une attaque « zéro clic » : un fichier spécialement conçu, livré par iMessage, qui n’exigeait aucun geste de la victime et installait le logiciel espion Pegasus de NSO Group. Le Citizen Lab a trouvé des traces de son utilisation depuis au moins février 2021. Apple a corrigé la faille, CVE-2021-30860 dans l’analyseur d’images CoreGraphics, le 13 septembre 2021 dans iOS 14.8, macOS Big Sur 11.6 et une mise à jour de sécurité pour Catalina ; ses propres notes de version de Big Sur 11.6 confirment que la faille « a pu être exploitée ».
Google Project Zero a ensuite publié une analyse technique qui explique pourquoi ce genre de chose est si difficile à intercepter. Le bug se trouvait dans le code de compression d’images JBIG2 utilisé dans les PDF. L’exploit de NSO utilisait les opérateurs logiques du format lui-même pour construire, à partir de plus de 70 000 commandes de segments d’image, un petit ordinateur fonctionnel à l’intérieur du décodeur, et y faisait tourner la suite de l’attaque. Vu de l’extérieur, rien de cela ne ressemble à un programme. C’est une image, ouverte par un processus système légitime et signé.
Le point d’eau de Hong Kong, 2021
Fin août 2021, le Threat Analysis Group de Google a découvert une campagne de type « point d’eau » visant les visiteurs des sites d’un média de Hong Kong et d’un groupe pro-démocratie. Contre les Mac, elle enchaînait une faille WebKit déjà corrigée en janvier avec un bug d’élévation de privilèges dans le noyau, CVE-2021-30869, encore non corrigé sur macOS Catalina ; Apple l’a réparé le 23 septembre 2021. La charge utile, une porte dérobée que Google a appelée MACMA, pouvait identifier la machine, capturer l’écran, enregistrer l’audio, journaliser les frappes clavier, envoyer et recevoir des fichiers et exécuter des commandes de terminal.
Cet exemple est instructif parce que l’exploit et la charge utile sont deux choses distinctes. L’exploit était invisible : une page web. La charge utile était un programme implanté tout à fait ordinaire qui, pour servir à quoi que ce soit à ses opérateurs, devait établir un canal de commandement et contrôle et faire sortir des données du Mac. Le rapport de Google décrit précisément cette infrastructure.
BLASTPASS, 2023
En septembre 2023, le Citizen Lab a signalé BLASTPASS, une autre chaîne iMessage sans clic livrant Pegasus, cette fois via des pièces jointes PassKit contenant des images piégées. Apple a attribué les identifiants CVE-2023-41064 et CVE-2023-41061 et publié des correctifs pour iPhone, iPad, Mac et Apple Watch. Fait notable, les ingénieurs sécurité d’Apple comme le Citizen Lab ont indiqué qu’à leur avis le mode Isolement bloquait cette chaîne précise, ce qui est la preuve publique la plus solide que réduire la surface d’attaque, plutôt que détecter l’attaque, est ce qui fonctionne contre cette classe de menace.
Pourquoi détecter l’exploit lui-même est si difficile
Mettez les trois cas côte à côte et le schéma saute aux yeux. L’exploit arrive sous forme de données (une image, un PDF, une page web) et non d’app. Il est traité par du code légitime, signé par Apple. Il n’y a aucun fichier que XProtect puisse reconnaître, aucun binaire non signé que Gatekeeper puisse refuser, et souvent aucun nouveau processus qu’un outil de sécurité des terminaux puisse signaler, parce que le code hostile s’exécute dans un processus déjà considéré comme fiable. La détection, quand elle a lieu, est généralement forensique : le Citizen Lab a trouvé FORCEDENTRY en examinant des traces sur un appareil après coup, pas grâce à un scanner qui l’aurait pris sur le fait.
C’est pourquoi le conseil d’Apple aux personnes qui pensent être ciblées n’est pas « installez un détecteur » mais le mode Isolement, qui, sur macOS Ventura et versions ultérieures, bloque la plupart des types de pièces jointes dans Messages, désactive des technologies web complexes, refuse les appels FaceTime d’inconnus et empêche l’installation de profils de configuration. Il fonctionne en supprimant les chemins de code dont un exploit a besoin, au prix d’une perte de confort qu’Apple assume ouvertement.
Pourquoi l’étape réseau est différente
Un exploit est le début d’une attaque, pas son but. Pegasus existe pour envoyer messages, photos et audio du micro à son opérateur. Les captures d’écran et les frappes clavier de MACMA ne valaient rien sur le disque de la victime. Dans chaque cas documenté, la valeur s’est concrétisée par du trafic quittant la machine, et dans la matrice MITRE ATT&CK pour macOS cette phase a deux colonnes à elle, commandement et contrôle puis exfiltration, parce que c’est une étape distincte, observable, que les attaquants ne peuvent pas sauter.
Cette étape a des propriétés que l’exploit n’avait pas. Elle vient d’un processus identifiable, doté d’une signature de code (ou, ce qui en dit long, dépourvu de signature). Elle vise une destination avec une IP, un nom d’hôte et un historique. Elle passe souvent par un port inhabituel, une IP brute plutôt qu’un nom, ou un hébergeur sans aucun lien avec les apps du Mac. Rien de tout cela n’exige de connaître la faille utilisée. Il suffit de voir la connexion et d’avoir le droit de dire non.
C’est pour cette partie que FireAI est conçu. Ses règles par app sont liées à la signature de code du processus qui ouvre la connexion : un binaire implanté qui n’est pas une app que vous avez approuvée reçoit une demande d’autorisation plutôt qu’un laissez-passer, avec la raison du modèle embarqué affichée en langage clair. Ses flux de renseignement sur les menaces (abuse.ch, Spamhaus, FireHOL, OpenPhish, Phishing Army et la liste à jour des nœuds de sortie Tor) sont appliqués en local, si bien qu’une adresse de commandement et contrôle connue est refusée que le Mac ait ou non reconnu la charge utile. Les modes Sous attaque et Paranoïaque durcissent le comportement par défaut jusqu’à bloquer d’office les apps non signées et les destinations inconnues, et le coupe-circuit coupe Internet tout en gardant le réseau local, ce qui est le bon premier geste quand vous soupçonnez une compromission et voulez préserver les preuves.
Ce que cela ne couvre pas
L’honnêteté impose l’autre moitié de la liste. Si une charge utile s’exécute entièrement à l’intérieur d’une app autorisée, par exemple dans un navigateur que vous avez déjà accepté, son trafic hérite des permissions de cette app et FireAI ne fera pas la différence. Un trafic chiffré vers une destination à la réputation propre ressemble à n’importe quelle autre connexion. Un flux ne contient que des adresses que quelqu’un a déjà signalées ; un serveur de commandement tout neuf n’y figure pas encore. Et FireAI ne détecte, ne supprime ni n’analyse l’exploit ou l’implant : il n’examine ni les fichiers ni la mémoire, et ce n’est pas un antivirus. Sur un Mac que vous pensez compromis par un acteur étatique, la bonne démarche passe par les conseils d’Apple sur les notifications de menace et par un spécialiste en forensique, pas par un réglage de pare-feu.
La défense pratique contre les failles inconnues est donc en couches, et sans éclat : appliquez les mises à jour d’Apple le jour de leur sortie, puisque l’essentiel de l’exploitation vise des failles qui ont déjà un correctif ; activez le mode Isolement si votre activité fait de vous une cible plausible ; gardez une surface d’attaque réduite ; et contrôlez quelles apps de votre Mac ont le droit de parler à Internet, pour que le jour où quelque chose d’inconnu entre malgré tout, l’étape qu’il ne peut pas sauter soit celle que vous surveillez.
Le rôle de FireAI et de HisnLabs
FireAI ne peut pas arrêter un exploit et ne le prétend pas ; ce qu’il fait, c’est se placer sur la seule étape qu’aucun des cas documentés ci-dessus n’a pu sauter, la connexion sortante, et demander, pour chaque processus inconnu, si cette connexion doit être autorisée.
FireAI est le produit de HisnLabs : un pare-feu IA embarqué pour Mac. Il montre en langage clair chaque connexion faite par vos applications et vous laisse décider ce qui sort de votre Mac — son IA fonctionne en local, votre trafic ne nous est jamais envoyé, ni à personne d’autre. L’équipe de recherche en sécurité de HisnLabs est celle qui garde ces décisions fiables : elle recense les domaines de simple télémétrie face à ceux d’un vrai service, suit le pays et le réseau derrière une connexion, et entraîne le modèle embarqué (la fonction Autopilot) sur du trafic réel, sans que rien ne quitte votre Mac.
Vous pouvez lire les choix techniques qui s’y trouvent, ou essayer FireAI pendant 17 jours, sur FireAI, par HisnLabs.
