Les chercheurs qui ont découvert une nouvelle classe de bugs iOS explorent toujours une « vaste gamme » de « vulnérabilités potentielles »

Les chercheurs qui ont découvert une nouvelle classe de bogues iOS explorent toujours une « vaste gamme » de « vulnérabilités potentielles »

Environ un mois après qu’Apple a publié iOS 16.3 et macOS 13.2, il a détaillé les correctifs de sécurité supplémentaires fournis avec les mises à jour. Maintenant, Trellix, l’équipe qui a trouvé deux de ces failles pour iOS et macOS, a révélé plus sur la façon dont ils ont découvert ce qu’ils appellent une « grande nouvelle classe de bugs ». Alors que les nouveaux exploits ont été rapidement corrigés par Apple, Trellix dit qu’il « explore toujours » une « vaste gamme » de vulnérabilités potentielles qui pourraient mettre en danger les messages, les photos, les données de localisation, etc. sur iPhone et Mac.

nouveaux bogues de sécurité iOS

Plus tôt cette semaine, Apple a mis à jour sa page de sécurité avec les informations selon lesquelles il y avait trois failles corrigées dans iOS 16.3 qu’elle n’avait pas détaillées auparavant. Il s’avère que deux d’entre eux sont classés par la société de sécurité Trellix comme une « nouvelle classe de bugs » qui peuvent exécuter du code arbitraire en dehors du bac à sable dans iOS.

Le chercheur principal Austin Emmitt de Trellix a expliqué comment son équipe a découvert le nouveau type de faille dans un article de blog détaillé (via Macworld).

Fait intéressant, l’histoire remonte à plusieurs années jusqu’en 2021 lorsque FORCEDENTRY, une attaque à distance en 0 clic qui utilisait un exploit en deux parties, a été exploitée pour installer le malware Pegasus. Lorsque des détails ont fait surface sur son fonctionnement, Emmitt et son équipe ont concentré leurs recherches sur la manière dont il était capable de contourner le bac à sable iOS.

La partie 1 décrivait l’exploitation initiale du code d’analyse PDF et la partie 2 présentait l’échappement du bac à sable. Alors qu’une grande attention a été accordée au premier exploit, nous étions beaucoup plus intéressés par le second car il décrivait un moyen d’exécuter dynamiquement du code arbitraire dans un autre processus qui contournait complètement la signature de code. Cela impliquait NSPredicate, une classe d’apparence innocente qui permet aux développeurs de filtrer des listes d’objets arbitraires. En réalité, la syntaxe de NSPredicate est un langage de script complet. La possibilité de générer et d’exécuter dynamiquement du code sur iOS était une fonctionnalité officielle depuis tout ce temps. Cependant, ce n’était que le début, car cette fonctionnalité a révélé une toute nouvelle classe de bugs qui rompt complètement la sécurité inter-processus dans macOS et iOS.

Il s’avère qu’il y avait un projet plus tôt en 2021 qui exploitait les mécanismes de NSPredicate, « See No Eval » de CodeColorist. Depuis lors, Apple avait publié des correctifs pour corriger ces exploits, mais dans ses recherches, Trellix a découvert de nouvelles façons de contourner les correctifs d’Apple.

Ces atténuations utilisaient une grande liste de blocage pour empêcher l’utilisation de certaines classes et méthodes qui pourraient clairement compromettre la sécurité. Cependant, nous avons découvert que ces nouvelles mesures d’atténuation pouvaient être contournées. En utilisant des méthodes qui n’avaient pas été restreintes, il était possible de vider ces listes, activant toutes les mêmes méthodes qui étaient disponibles auparavant. Ce contournement a été attribué CVE-2023-23530 par Apple. Plus important encore, nous avons découvert que presque toutes les implémentations de NSPredicateVisitor pouvaient être contournées.

Le premier défaut que Trellix a trouvé dans la nouvelle classe de bugs était dans coreduetd, « un processus qui collecte des données sur le comportement sur l’appareil ». Voici comment cela fonctionne:

Un attaquant avec l’exécution de code dans un processus avec les droits appropriés, tels que Messages ou Safari, peut envoyer un NSPredicate malveillant et exécuter du code avec les privilèges de ce processus. Ce processus s’exécute en tant que root sur macOS et permet à l’attaquant d’accéder au calendrier, au carnet d’adresses et aux photos de l’utilisateur. Un problème très similaire avec le même impact affecte également contextstored, un processus lié à CoreDuet. Ce résultat est similaire à celui de FORCEDENTRY, où l’attaquant peut utiliser un service XPC vulnérable pour exécuter du code à partir d’un processus avec plus d’accès à l’appareil.

Les démons appstored (et appstoreagent sur macOS) possèdent également des services XPC vulnérables. Un attaquant contrôlant un processus pouvant communiquer avec ces démons pourrait exploiter ces vulnérabilités pour obtenir la possibilité d’installer des applications arbitraires, y compris potentiellement des applications système.

Les chercheurs ont également trouvé plus de vulnérabilités dans la même classe de bugs « accessibles par n’importe quelle application, sans autorisation nécessaire ». L’un d’entre eux était capable de « lire des informations potentiellement sensibles à partir du journal système » et un autre pouvait « réaliser l’exécution de code à l’intérieur de SpringBoard, une application hautement privilégiée qui peut accéder aux données de localisation, à la caméra et au microphone, à l’historique des appels, aux photos et à d’autres données sensibles. , ainsi que d’essuyer l’appareil.

Emmitt dit qu’il est reconnaissant à Apple d’avoir corrigé rapidement les failles découvertes par son équipe. Mais alors que quiconque a installé iOS 16.3 et macOS 13.2 est à l’abri des deux failles spécifiques découvertes, Emmitt a partagé que « les deux techniques ont ouvert une vaste gamme de vulnérabilités potentielles que nous explorons toujours ».

Pour tous les détails techniques, consultez le post-mortem complet d’Austin Emmitt.