Des éditeurs de logiciels espions ont développé et utilisé des exploits zero day contre des utilisateurs de terminaux iOS et Android tout au long de 2022. Rien de vraiment nouveau en soit sauf que sur l'année écoulée, ces chaines d'exploitation s'appuyaient aussi sur des failles connues pour fonctionner, expliquent dans un dernier rapport des chercheurs en sécurité de l'équipe Threat Analysis Group (TAG) de Google. « Les exploits zero day ont été utilisés en même temps que d'autres attaques (n-days) et ont profité de l'écart important entre la publication du correctif et son déploiement complet sur les terminaux », indique l'enquête. « Nos conclusions soulignent l'ampleur de la prolifération, par les éditeurs de systèmes de surveillance, de capacités historiquement utilisées uniquement par les gouvernements disposant de l'expertise technique nécessaire pour développer et mettre en œuvre des exploits ».
Cette situation souligne plus que jamais l'importance pour les utilisateurs et les fabricants de terminaux d'accélérer l'adoption des correctifs de sécurité dont la réactivité reste toutefois à géométrie variable. Par exemple, étant à la fois le seul fabricant de matériel pour les terminaux iOS et le concepteur du logiciel qui tourne dessus, Apple a une emprise beaucoup plus étroite sur son écosystème mobile que ne peuvent l'avoir ceux construisant des mobiles Android. Ainsi, les iPhone et les iPad ont toujours eu un taux d'adoption des correctifs bien supérieur à celui d'Android. Car si Google crée le système d'exploitation de base, des dizaines de fabricants le personnalisent pour leurs propres produits et maintiennent donc chacun leurs propres micrologiciels distincts.
Une campagne malveillante combinée pour les corrompre tous
En novembre 2022, Google TAG a détecté une campagne d'attaques par SMS ciblant les utilisateurs iOS et Android en Italie, en Malaisie et au Kazakhstan utilisant une combinaison d'exploits pour les deux plateformes. La campagne impliquait des URL raccourcies bit.ly qui, lorsqu'elles étaient cliquées, dirigeaient les utilisateurs vers une page web contenant les exploits, puis les redirigeaient vers des sites web légitimes, tels qu'un portail de suivi d'expédition de la société logistique italienne BRT ou un site d'actualités populaire en Malaisie. La chaîne d'exploitation iOS combinait alors une vulnérabilité d'exécution de code à distance qui était inconnue et non corrigée à l'époque dans WebKit, le moteur de rendu des sites web d'Apple utilisé dans Safari et iOS. Cette faille, désormais répertoriée CVE-2022-42856, a été corrigée en janvier après signalement à Apple de Google TAG.
Cependant, une telle vulnérabilité d'exécution de code à distance dans le moteur du navigateur web ne suffit pas à compromettre un terminal, car les OS mobiles comme iOS et Android utilisent des techniques de sandboxing limitant les privilèges du navigateur. L'attaquant a donc combiné cette zero day avec une faille d'évasion de la sandbox et d'élévation de privilèges (CVE-2021-30900) dans AGXAccelerator, un composant des pilotes GPU corrigée par Apple dans iOS 15.1 en octobre 2021. Cette chaîne d'exploit a aussi utilisé une technique de contournement, corrigée en mars 2022, observée dans des exploits utilisés par un éditeur de logiciels espions visant un opposant politique égyptien en exil, et contre un journaliste égyptien. En réalité, ces deux procédés avaient une fonction très spécifique baptisée make_bogus_transform, suggérant un lien commun. Dans la campagne de novembre observée par Google TAG, la charge utile finale de la chaîne d'exploit était un simple logiciel malveillant signalant périodiquement aux attaquants la position GPS des systèmes infectés, mais leur donnait également la possibilité de déployer des fichiers .IPA (iOS application archive) dessus.
Zoom sur la chaine d'exploit Android
Les utilisateurs d'Android ont été confrontés à une combinaison similaire mêlant une faille d'exécution de code dans le moteur du navigateur de Chrome, avec échappement de sandbox et élévation des privilèges. La faille d'exécution de code était la CVE-2022-3723, une vulnérabilité de confusion de type fonctionnant en condition réelle par des chercheurs d'Avast, et corrigée dans la version 107.0.5304.87 de Chrome en octobre 2022. Celle-ci a été mixée avec un contournement du bac à sable du GPU Chrome (CVE-2022 -4135), corrigé quant à lui dans Android en novembre 2022, ainsi qu'à une autre zero day affectant des pilotes GPU ARM Mali (CVE-2022-38181) corrigée par ARM en août 2022. Cette chaîne d'exploitation a fonctionné contre les utilisateurs de systèmes Android avec des GPU ARM Mali et une version de Chrome aux mises à jour antérieures à la v106.
Le principal problème de cette situation a été le délai nécessaire entre la publication par ARM des correctifs de code et celui des fabricants de terminaux pour les intégrer dans leur propre firmware suivi par leurs propres mises à jour de sécurité. Une situation qui souligne une nouvelle fois à quel point il est important pour les fournisseurs d'accélérer l'intégration les correctifs de sécurité critiques et, pour les utilisateurs, de maintenir à jour les applications de leurs systèmes, en particulier critiques (navigateurs, clients de messagerie, etc.).
Les terminaux Samsung aussi dans le viseur
Une campagne distincte, découverte en décembre 2022, a par ailleurs aussi ciblé spécifiquement les utilisateurs du navigateur Internet Samsung par défaut sur les terminaux Android du constructeur coréen et basé sur le projet open source Chromium. Cette campagne utilisait également des liens envoyés par SMS aux utilisateurs des Émirats Arabes Unis, mais la page de destination qui livrait l'exploit était identique à celle TAG précédemment observée pour le framework Heliconia développé par le fournisseur de spywares Variston. Cet exploit combinait plusieurs failles exploitant le navigateur Internet Samsung ou son micrologiciel. L'une des vulnérabilités, CVE-2022-4262 (confusion de type) débouchant sur de l'exécution de code dans Chrome a été corrigée en décembre 2022. Celle-ci avait été combinée avec une autre d'échappement de bac à sable (CVE-2022-3038) comblée en août 2022 dans Chrome version 105. Cependant, le navigateur web de Samsung au moment de la campagne d'attaque était basé sur la version 102 de Chromium et n'incluait donc pas ces dernières atténuations... montrant une fois n'est pas coutume la capacité des attaquants à tirer partie de toutes les opportunités liées à la lenteur des mises à disposition des patchs.
A noter aussi que cette chaîne d'exploit s'appuyait aussi sur d'autres failles:une d'escalade de privilèges (CVE-2022-22706) au niveau du pilote du noyau GPU ARM Mali, corrigé par ARM en janvier 2022. Lorsque les attaques ont eu lieu en décembre 2022, la dernière version du micrologiciel sur les systèmes Samsung n'avaient pas encore incorporé de correctif. Une autre de type escalade de privilèges zero day (CVE-2023-0266) dans le sous-système audio du noyau Linux donnant aux attaquants un accès en lecture et en écriture au noyau, ainsi que plusieurs fuites d'informations au niveau du noyau que Google a signalées en tant que zero day tant à ARM que Samsung. « Ces campagnes continuent de souligner l'importance des correctifs, car les utilisateurs ne seraient pas affectés par ces chaînes d'exploitation s'ils utilisaient un terminal entièrement mis à jour », ont déclaré les chercheurs de Google TAG. « Les atténuations intermédiaires comme PAC, V8 sandbox et MiraclePTR ont un impact réel sur les développeurs d'exploits, car ils auraient eu besoin de bogues supplémentaires pour contourner ces atténuations ».