Découverte d’une attaque par points d’eau visant les appareils iOS par Google Project Zero

Ian Beer de l’équipe de sécurité Google Project Zero, a publié un article décrivant un schéma d’exploitation de vulnérabilités visant iOS qui repose sur la compromission de plusieurs sites Web piratés en février 2019. Les sites compromis ont été utilisés dans des attaques par points d’eau (« Watering hole attack ») afin de cibler des appareils de type iPhones en les infectant avec des logiciels espions. Ces sites, qui accueillent des milliers de visiteurs par semaine, ont été utilisés pour distribuer des logiciels malveillants iOS sur une période de deux ans d’après les informations disponibles à ce stade. L’impact sur la confidentialité des données est élevé.

En février 2019, le Groupe d'analyse des menaces de Google (Threat Analysis Group ou TAG) a découvert une petite collection de sites piratés. Ces sites compromis ont été utilisés dans des attaques à destination de tous les visiteurs (sans distinction), en exploitant deux vulnérabilités "jour zéro" (0-day) sur le système d’exploitation de l'iPhone. Pour rappel, le marché des vulnérabilités « jour-zéro » est très lucratif notamment sur iOS puisqu’une vulnérabilité de ce type peut être vendue jusqu’à un million de dollars par des entreprises spécialisées (Zerodium, Vupen etc.).

TAG a pu rassembler cinq chaînes d'exploitation iPhone distinctes (une chaîne d'attaque est définie ici comme une série de deux vulnérabilités ou plus pouvant être utilisées ensemble pour atteindre un objectif particulier, généralement une infection du système cible), complètes et uniques, couvrant presque toutes les versions de l'iOS 10 à la dernière version de l'iOS 12.

L’attaque consiste à implanter le logiciel malveillant sur le smartphone lorsque des utilisateurs visitent l’un des sites infectés. Le maliciel utilise alors un enchaînement de plusieurs vulnérabilités afin de s'échapper du bac à sable (« sandbox ») du navigateur d'iOS et de s'exécuter en tant que root (le compte à plus haut niveau de privilèges d’iOS).

L'implant communique avec un serveur de commande et de contrôle (Command & Control ou C&C) utilisant une adresse IP codée en dur via le protocole HTTP (de manière non sécurisée).

Le logiciel malveillant de l'iPhone est capable de voler tous les porte-clés (keychains), photos, messages SMS, messages électroniques, contacts, notes et enregistrements. Il peut également récupérer l'historique complet des appels et est capable de surveiller en temps réel la géoposition de l'appareil (données GPS).

Il inclut également la capacité d'obtenir les transcriptions non chiffrées des messages instantanés d'un certain nombre de clients de messagerie chiffrée de bout en bout, y compris Messages, Whatsapp et Telegram. Les messages chiffrés ne sont pas seulement collectés par l'attaquant, ils sont également transférés en texte clair sur Internet.

Remédiation

Les vulnérabilités en question ont été corrigées par Apple en début d'année. De plus, le maliciel n’est pas persistant après un redémarrage. Cela signifie que chaque fois qu'un iPhone infecté est redémarré, par exemple lorsqu'une mise à jour iOS est installée, l'implant est supprimé. Un dispositif vulnérable peut toutefois être réinfecté en visitant un site infecté.

Pour cette raison, tout périphérique exécutant la version iOS 12.1.4 (ou supérieure) est protégé contre cette attaque, et il ne peut plus être infecté non plus, en raison du redémarrage lors de l'installation de 12.1.4 (ou d’une version d’iOS ultérieure).

Afin de se protéger, il convient d'installer la dernière mise à jour d'iOS, qui redémarrera également le téléphone et supprimera le maliciel s’il est présent.

Informations
+

Risques

  • Atteinte à la confidentialité

Criticité

  • Score CVSS : Le score CVSS n'a pas encore été identifié

Existence d’un code d’exploitation de la vulnérabilité

  • N/A

Composants & versions vulnérables

  • D’iOS 10 jusqu'à iOS 12.1.3

CVE

  • CVE-2019-7286
  • CVE-2019-7287

Recommandations
+

Mise en place de correctif de sécurité

  • Mettre à jour iOS vers la dernière version disponible (au moins 12.1.4)
  • Redémarrer le périphérique