Apple corrige une faille de sécurité macOS derrière le contournement de Gatekeeper

Apple fixes macOS security flaw behind Gatekeeper bypass

Apple a corrigé une vulnérabilité macOS que les applications basées sur des scripts non signés et non notariés pourraient exploiter pour contourner tous les mécanismes de protection de sécurité macOS, même sur des systèmes entièrement corrigés.

S’ils contournent contrôles de sécurité automatisés de notarisation (qui recherche les composants malveillants et les problèmes de signature de code), les applications sont autorisées à se lancer par Portier, une fonction de sécurité macOS conçue pour vérifier si les applications téléchargées sont notariées et signées par le développeur.

Une fois les applications malveillantes basées sur des scripts ciblant la faille de contournement (CVE-2021-30853) sont lancés sur le système d’une cible, ils peuvent être utilisés par des attaquants pour télécharger et déployer des charges utiles malveillantes de deuxième étape.

Apple a corrigé cette vulnérabilité dans macOS 11.6 via une mise à jour de sécurité publiée en septembre 2021 qui ajoute des contrôles améliorés.

Contournement du gardien avec un shebang

Le bug de contournement du Gatekeeper CVE-2021-30853 a été découvert et signalé à Apple par Box Offensive Security Engineer Gordon Long.

Il a découvert que des applications basées sur des scripts spécialement conçues et téléchargées à partir d’Internet se lanceraient sans afficher d’alerte, même si elles étaient automatiquement mises en quarantaine.

La partie « spécialement conçue » nécessite la création d’une application qui utilise un script commençant par un caractère shebang (!#) mais laissant le reste de la ligne vide, ce qui indique au shell Unix d’exécuter le script sans spécifier d’interpréteur de commandes shell.

Cela conduit à un contournement de Gatekeeper car le démon syspolicyd automatiquement invoqué par l’extension du noyau AppleSystemPolicy pour effectuer des contrôles de sécurité (signature et notarisation) n’est plus déclenché pour inspection lors du lancement d’un script sans spécifier d’interpréteur.

Fondamentalement, si le script utilisait un shebang (!#) mais ne spécifiait pas explicitement un interpréteur, il contournerait les contrôles de sécurité de Gatekeeper.

Objectif-Voir CVE-2021-30853 tweet

« Le démon syspolicyd effectuera diverses vérifications de politique et empêchera finalement l’exécution d’applications non fiables, telles que celles qui ne sont pas signées ou non notariées. » expliqué chercheur en sécurité Patrick Wardle.

« Mais, et si le kext AppleSystemPolicy décide que le démon syspolicyd n’a pas besoin d’être invoqué ? Eh bien, le processus est autorisé ! contourne. »

Comme l’a révélé Wardle, les acteurs malveillants peuvent exploiter cette faille en incitant leurs cibles à ouvrir une application malveillante qui peut également être camouflée en un document PDF d’apparence bénigne.

De telles charges utiles malveillantes peuvent être livrées sur les systèmes des cibles via de nombreuses méthodes, notamment des résultats de recherche empoisonnés, de fausses mises à jour et des applications trojanes téléchargées à partir de sites liés à des logiciels piratés.

vecteurs d'infection macOS
Image : Patrick Wardle

Des bugs similaires exploités par des logiciels malveillants

Ce n’est pas le premier bug macOS corrigé par Apple qui permettrait aux acteurs malveillants de contourner complètement les mécanismes de sécurité du système d’exploitation tels que Gatekeeper et File Quarantine sur des Mac entièrement corrigés.

En avril, Apple a corrigé une vulnérabilité zero-day exploitée à l’état sauvage par les opérateurs de logiciels malveillants Shlayer pour contourner les contrôles de sécurité automatisés de macOS et déployer des charges utiles supplémentaires sur les Mac compromis.

Les acteurs de la menace Shlayer ont commencé à cibler les utilisateurs de macOS avec des logiciels malveillants non signés et non notariés qui exploitaient le bug du jour zéro (suivi comme CVE-2021-30657) à compter de janvier 2021, en tant que Équipe de détection Jamf Protect découvert.

Microsoft a également découvert une vulnérabilité macOS en octobre, surnommée Shrootless et suivie comme CVE-2021-30892), qui pourraient être utilisés pour contourner la protection de l’intégrité du système (SIP) et effectuer des opérations arbitraires, élever les privilèges à la racine et installer des rootkits sur les appareils compromis.

« Une application malveillante peut être capable de modifier des parties protégées du système de fichiers », a déclaré Apple dans un avis de sécurité publié après avoir corrigé le bug Shrootless.