Les dernières versions d’iOS et iPadOS (16.3) et macOS (Ventura 13.2) ont corrigé plusieurs vulnérabilités nommés CVE-2023-23530 et CVE-2023-23531. Dans cet article, nous vous expliquons la nature de ces bugs, pourquoi vous devez y faire attention, quel est le lien avec le logiciel espion Pegasus et pourquoi vous devez prendre ces mises à jour et les suivantes d’iOS, iPad et macOS très au sérieux.
NSPredicate, FORCEDENTRY, Pegasus, et tous les autres
Pour vous expliquer pourquoi ces dernières mises à jour sont importantes, nous avons besoin d’un peu de contexte. Le logiciel qui sert de fondation pour les applications développées pour le système d’exploitation d’Apple s’appelle, et vous n’allez pas le croire, l’environnement Foundation. Voici comme Apple le décrit :
Il y a un peu plus de deux ans, en janvier 2021, un chercheur en sécurité iOS connu comme CodeColorist a publié un rapport qui montrait comment la mise en place des classes NSPredicate et NSExpression (qui font partie de l’environnement Foundation) peut être exploitée pour exécuter un code arbitraire. Il se trouve que ces classes sont responsables du classement et du filtrage des données. Dans le cadre de ce dont nous parlons dans cet article, il faut retenir que ces outils permettent l’exécution de scripts sur un dispositif sans avoir à vérifier la signature numérique du code.
La principal conclusion de CodeColorist était que ces scripts peuvent aider à contourner les mécanismes de sécurité d’Apple, dont l’isolation de l’application. Cela permet d’écrire une application malveillante qui vole les données d’autres applications (comme les messages de l’utilisateur ou les photos de la galerie).
Un document a été publié en mars 2022 sur la mise en place pratique d’une application de ce genre, l’exploit sans clic (zero-click) FORCEDENTRY, qui a notamment été utilisé pour distribuer le programme malveillant tristement célèbre Pegasus. Les vulnérabilités présentes dans NSPredicate et NSExpression permettait au programme malveillant de réaliser une évasion de sandbox et d’accéder aux données et aux fonctions en dehors des limites clairement définies au sein desquelles toutes les applications iOS fonctionnent.
À la suite du travail théorique de CodeColorist et de l’étude pratique de l’exploit FORCEDENTRY, Apple a adopté plusieurs mesures de sécurité et restrictions. Pourtant, une nouvelle étude montre qu’il est encore facile de les contourner.
Quels sont les dangers de CVE-2023-23530 et CVE-2023-23531
Les vulnérabilités CVE-2023-23530 et CVE-2023-23531 sont devenues les nouvelles méthodes utilisées pour contourner les restrictions. La première, CVE-2023-23530, découle de la façon dont Apple a abordé le problème. Plus précisément, les chercheurs ont dressé des listes exhaustives de classes et de méthodes qui doivent être exclues parce qu’elles représentent un risque de sécurité évident au sein de NSPredicate. L’astuce consiste à utiliser des méthodes qui ne figurent pas dans les listes d’exclusion afin d’effacer le contenu des listes et de pouvoir utiliser l’ensemble des méthodes et des classes.
La seconde vulnérabilité, CVE-2023-23531, est liée à la façon dont les processus au sein d’iOS et macOS interagissent entre eux et à la façon dont le processus de réception des données filtre les informations entrantes. En d’autres termes, le processus qui envoie les données peut ajouter une étiquette « contenu vérifié » puis alimenter le processus de réception avec un script malveillant qui utilise NSPredicate ; il sera exécuté sans vérification.
Selon les chercheurs, ces deux techniques utilisées pour contourner les contrôles de sécurité permettent l’exploitation de certaines vulnérabilités spécifiques. Les cybercriminels pourraient utiliser ces vulnérabilités pour accéder aux données utilisateur et à des fonctionnalités dangereuses du système d’exploitation, voire pour installer des applications (dont certaines du système). En d’autres termes, les vulnérabilités CVE-2023-23530 et CVE-2023-23531 peuvent être utilisées pour créer des exploits de type FORCEDENTRY.
Pour montrer de quoi CVE-2023-23530 et CVE-2023-23531 sont capables, les chercheurs ont enregistré une vidéo où ils montrent comment une application malveillante peut être créée afin d’exécuter un code dans SpringBoard (l’application standard qui gère l’écran d’accueil d’iOS) sur un iPad. Pour sa part, SpringBoard dispose de privilèges élevés et de divers droits d’accès : appareil photo, microphone, historique des appels, photos ou encore données de géolocalisation. De plus, il peut complètement effacer le dispositif.
Quelles sont les conséquences en termes de sécurité pour iOS et macOS
Il convient de souligner que les dangers que CVE-2023-23530 et CVE-2023-23531 représentent sont purement théoriques : aucun cas d’exploitation dans la vie réelle n’a été enregistré. De plus, les mises à jour iOS 16.3 et macOS Ventura 13.2 ont corrigé ces vulnérabilités. Cela signifie que vous êtes protégé si vous les avez installées en temps et en heure.
Cela étant dit, nous ne savons pas si Apple a bien corrigé les vulnérabilités cette fois. Peut-être que des astuces permettront aussi de contourner ces correctifs. En tout cas, lors d’une conversation avec Wired, les chercheurs ont déclaré qu’ils étaient convaincus que de nouvelles vulnérabilités de ce genre continueront d’apparaître.
N’oubliez pas que l’exécution de scripts malveillants sur iOS en utilisant NSPredicate ne suffit pas à pirater un dispositif. Le cybercriminel a besoin d’accéder d’une façon ou d’une autre au dispositif de la victime afin de pouvoir agir. Dans le cas de FORCEDENTRY, cela implique l’utilisation d’autres vulnérabilités : un fichier PDF infecté qui se fait passer pour un fichier GIF innocent a été téléchargé sur le dispositif de la victime via iMessage.
Il est fort probable que ces vulnérabilités soient utilisées pour des attaques APT, donc il convient de revoir quelles mesures de protection vous pouvez adopter. Nous avons rédigé un article à ce sujet où Costin Raiu, directeur de notre équipe Global Research & Analysis Team (GReAT), explique en détail comment vous protéger des programmes malveillants de type Pegasus et pourquoi ces mesures fonctionnent. Nous vous proposons de résumer les conseils donnés :
- Redémarrez votre iPhone ou iPad plus souvent. Les cybercriminels ont du mal à s’installer durablement dans iOS et un redémarrage tue généralement le programme malveillant.
- Désactivez iMessage et FaceTime dans la mesure du possible. Ces applications sont un point d’entrée pratique pour attaquer les dispositifs iOS.
- Utilisez un autre navigateur au lieu de Safari. Firefox Focus, par exemple.
- Ne cliquez pas sur les liens reçus par message.
- Installez une protection fiable sur tous vos dispositifs.
- Même si nous ne cessons de le dire en boucle, mettez vos systèmes d’exploitation à jour. À partir de maintenant, faites particulièrement attention aux mises à jour pour iOS, iPadOS et macOS au fur et à mesure qu’elles sont disponibles.