Zoom corrige une vulnérabilité, et pourquoi existe-t-il une rivalité entre les cybercriminels et les développeurs

Ce qu’il faut retenir de la DEF CON 30 : Zoom corrige une vulnérabilité pour la version macOS.

Zoom corrige une vulnérabilité, et les cybercriminels et les développeurs entrent en guerre

En mars 2020, alors que le monde entier découvrait le télétravail, une vulnérabilité était découverte dans l’installateur de Zoom, un des principaux outils de communication à distance utilisés dans le monde. Cette faille permettait l’exécution d’un code arbitraire sur les ordinateurs Apple. Zoom a corrigé la vulnérabilité… Enfin, presque. Nous voilà en août 2022 lorsqu’une faille similaire est détectée, en termes d’emplacement et de conséquences en cas d’exploitation. Cet article étudie ce dernier problème de sécurité, cherche à expliquer pourquoi les failles d’un programme apparaissent de nouveau au même endroit et donne quelques conseils pour savoir quoi faire dans cette situation.

Quelle est cette vulnérabilité ?

Ce nouveau problème du service de visioconférence Zoom a été mis en avant par le chercheur renommé Patrick Wardle lors de la DEF CON 30 qui a eu lieu début août 2022. En résumé, plusieurs bugs ont été détectés dans le système de mises à jour automatiques de Zoom pour Apple. En théorie, ces bugs rendaient possible l’obtention de droits super-utilisateur, ce qui permettait au cybercriminel aspirant de faire tout ce qu’il voulait dans l’ordinateur hôte. Pourtant, pour exploiter cette vulnérabilité, le cybercriminel devait avoir déjà eu un accès physique à l’ordinateur, bien que sans droits spéciaux. Ce scénario n’est pas surréaliste que cela. Par exemple, l’utilisateur peut prendre sa pause-déjeuner et oublier de verrouiller son ordinateur. En théorie, la vulnérabilité pouvait aussi être exploitée par un programme malveillant ; autrement l’attaque ne causerait pas beaucoup de dégâts.

Plus d’informations s’il vous plaît

Les mises à jour de n’importe quel programme moderne doivent être rapidement proposées et faciles à installer. Dans l’idéal, les correctifs de bugs doivent être installées sans que l’utilisateur ne le remarque, mais ce n’est pas toujours possible. Pour compléter la mise à jour, il faut généralement relancer le programme, se reconnecter ou redémarrer l’appareil. Les notifications qui nous rappellent que nous devons mette à jour un programme, un système d’exploitation, un smartphone ou une tablette nous embêtent. Pourtant, il est crucial de le faire. Les mises à jour corrigent des failles de sécurité que les cybercriminels pourraient utiliser contre vous. Dans certaines situations particulièrement sérieuses, vous devez immédiatement protéger les programmes vulnérables contre les attaques informatiques actives : un jour de retard peut vous coûter vos données.

La mise à jour d’une application macOS n’est guère différente de sa première installation : vous téléchargez la nouvelle version, vous exécutez le fichier et vous entrez votre mot de passe utilisateur. Zoom a essayé de simplifier cette procédure: le client accède au serveur, télécharge la nouvelle version et l’installe sans avoir à saisir son mot de passe. Malheureusement, ce processus de communication avec le serveur, après avoir téléchargé et installé la mise à jour, n’est pas toujours correctement mis en place. Il y a dix ans, l’accès aux serveurs sans que les données ne soient chiffrées était une pratique courante qui permettait aux éventuels cybercriminels de remplacer le fichier mis à jour par un programme malveillant. Le chiffrement a été mis en place et a compliqué cette substitution, même s’il est encore possible de remplacer le fichier téléchargé et sauvegardé dans le disque mais pas encore installé.

Tout semblait être en règle avec la dernière version de Zoom (celle en fin d’année dernière, lorsque Patrick a débuté ses recherches). Le client accédait à un serveur de mises à jour spécial par un canal sécurisé, téléchargeait le fichier, confirmait l’authenticité (en vérifiant qu’il soit signé par le certificat du vendeur) et l’installait. Pour l’installation, le SW demandait au système d’avoir temporairement des droits super-utilisateur, mais de telle façon que l’utilisateur n’avait pas à saisir son mot de passe.

Citation de la présentation de Patrick Wardle lorsqu'il expliquait les avantages de la signature des mises à jour. <a href="https://speakerdeck.com/patrickwardle/youre-muted-rooted" target="_blank">Source</a>

Citation de la présentation de Patrick Wardle lorsqu’il expliquait les avantages de la signature des mises à jour. Source

 

La signature numérique est importante. Après tout, le programme est téléchargé sur l’ordinateur de l’utilisateur à partir d’Internet et s’exécute avec les privilèges les plus importants. Vous devez être certain qu’il s’agit du bon programme. Une simple usurpation du fichier téléchargé ne fonctionne pas : comme vous pouvez le voir dans la diapositive ci-dessus de la présentation de Patrick, la substitution du fichier donne lieu à un message d’erreur. La fausse mise à jour n’a pas de signature numérique, et en imiter une est extrêmement difficile.

Malheureusement, le processus de validation de la signature numérique avait ses défauts. Il fonctionnait en lançant un outil système. Cela affichait les paramètres de la signature numérique de la mise à jour téléchargée, dont une ligne qui indiquait quelle entreprise avait reçu le certificat :

Zoom Video Communications, Inc. Developer ID Certification Authority Apple Root CA

Le résultat de l’outil était traité et si cette ligne était présente, l’installation commençait. Le problème était que le nom du fichier apparaissait aussi dans le résultat. Ainsi, théoriquement parlant, un cybercriminel pouvait créer une mise à jour malveillante astucieusement nommée « Zoom Video Communications, Inc. Developer ID Certification Authority Apple Root CA.pkg » au lieu du nom standard « ZoomUpdate.pkg ». Cette action suffirait à leurrer la procédure de validation : la ligne nécessaire est présente, donc le fichier doit être légitime, même si le nom du fichier est incorrect et que les mots magiques ne sont pas au bon endroit !

Ainsi, une attaque pourrait ressembler à cela : la procédure de validation de la mise à jour est lancée (c’est simple à faire), la mise à jour légitime est téléchargée puis remplacée par un programme malveillant afin d’être finalement renommée pour leurrer le processus défaillant de validation du certificat. Le fichier malveillant est exécuté avec des privilèges systèmes et l’ordinateur est piraté !

Le 20 décembre 2021, Zoom a publié une mise à jour qui corrigeait ce vecteur d’attaque. Le changement était simple : le fichier était obligatoirement renommé après le téléchargement. Pourtant, Patrick Wardle a pu modifier l’attaque. Si Zoom était une application sûre depuis la version 5.9.0, que se passait-il si nous installions une version plus ancienne ? Cette méthode a fonctionné. L’ancienne mise à jour avait un certificat numérique légitime, et la version n’avait pas été vérifiée lors de l’installation.

Quel est le problème ?

Les recherches de Patrick Wardle montrent qu’il est important de sécuriser la publication et l’installation des mises à jour. De plus, l’incident avec ce bug montre clairement comment les développeurs de programmes essaient souvent de résoudre un problème en effectuant de simples modifications et sans vraiment le comprendre en détail. Au début, en décembre 2021, c’est-à-dire avant même que Wardle ne signale le problème à Zoom, ils ont corrigé la version la plus simple d’une attaque en remplaçant un fichier insignifiant et en déjouant la validation du certificat. Une fois la vulnérabilité signalée, en avril 2022, ils ont bloqué l’option qui permettait de rétrograder, c’est-à-dire l’option qui permettait d’installer une version plus ancienne et plus vulnérable de Zoom grâce au mécanisme standard de publication des mises à jour. Ce n’est qu’en juillet 2022, soit six mois après le rapport de Wardle, que le mécanisme de validation du certificat numérique a été corrigé.

Pourtant, cette action n’a pas complètement résolu le problème. Il est vrai que les deux méthodes d’attaque les plus simples ne faisaient plus partie de l’arsenal du cybercriminel en devenir : remplacer le fichier de la mise à jour par un programme malveillant et télécharger la version antérieure vulnérable. Il y avait tout de même un autre problème : le fichier de la mise à jour exécutait avec des privilèges de super-utilisateur pouvait être modifié par n’importe quelle personne ayant accès à l’ordinateur ! Le cybercriminel devait trouver une façon d’introduire au bon moment un fichier malveillant dans l’installateur de Zoom : après la validation de la signature électronique mais avant le début de l’installation. Ça a marché. Ainsi, lorsque Patrick Wardle a partagé ses découvertes lors de la DEF CON 30 en août 2022, soit huit mois plus tard après avoir signalé le problème à Zoom, la vulnérabilité n’était pas complètement corrigée. Ce n’est que le 17 août, soit cinq jours après le rapport de Patrick, que les développeurs ont enfin corrigé le problème. Pourtant, cette déclaration doit être vérifiée de manière indépendante.

Les cybercriminels et les développeurs

Après avoir lu le rapport de Patrick Wardle, on ne peut s’empêcher de se demander pourquoi les choses doivent se passer de cette façon. Comment est-il possible d’avoir des vulnérabilités aussi puériles dans les parties critiques d’un logiciel ? Pourquoi les développeurs ne les corrigent-ils que huit mois après leur signalement et après trois tentatives ? Nous ne cherchons pas à accuser les développeurs à tort d’incompétence. Des bugs et des erreurs apparaissent de temps à autre dans tous les programmes. Tous les programmeurs commettent parfois des erreurs, mais râler contre eux ne va pas résoudre le problème : ils sont les seuls développeurs disponibles.

Peut-être que cette différence est due au fait que les hackers éthiques (white hat), qui partagent leurs rapports avec les fournisseurs, et les cybercriminels, qui exploitent les failles pour attaquer les utilisateurs et en tirer profit, ont d’autres priorités que les développeurs de programmes. Lorsque vous développez un programme, ce dernier doit pouvoir effectuer correctement des centaines de tâches différentes. Leur priorité est d’offrir une zone de confort aux utilisateurs ce qui signifie, notamment pour Zoom, de garantir une communication de qualité et un programme compatible avec les différents systèmes d’exploitation et les milliers d’appareils, anciens et récents. En revanche, le cybercriminel n’a qu’à trouver un bug qui peut être exploité à des fins malveillantes. Maintenant, imaginez que quelqu’un vous informe d’une vulnérabilité. Oui, vous devez la corriger, mais sans nuire au système délicat du logiciel client / serveur. Vous devez tester le programme dans des centaines de configurations différentes. Évidemment, en tant que développeur vous voulez résoudre le problème en modifiant le moins de choses possibles. Pourtant, ce n’est pas suffisant dans la plupart des cas.

Les programmes deviennent progressivement plus sûrs, grâce à chaque petite correction. Vous ne pouvez pas résoudre tous les problèmes et créer une application parfaite en un clin d’œil. Enfin, vous pouvez le faire, mais seulement si vous partez de zéro. Certains éléments critiques doivent être maintenus de la meilleure façon possible, et le système de publication des mises à jour est sans aucun doute l’un d’eux. Les utilisateurs doivent pouvoir faire confiance aux programmes qu’ils installent sur leurs ordinateurs. En ce sens, l’exemple des vulnérabilités de Zoom est positif puisqu’un chercheur indépendant et un développeur ont travaillé ensemble pour résoudre le problème. Cela révèle une attitude responsable de la part du développeur.

Pour conclure, je tiens à vous rappeler un point important : un programme malveillant arrive généralement à accéder à l’ordinateur lorsque vous installez le logiciel pour la première fois. Ainsi, vous devez vérifier que vous ne téléchargez vos programmes qu’à partir de sources officielles, ou que vous utilisez les boutiques officielles, et que vous ne téléchargez en aucun cas les programmes de sites suspects. Dans le cas contraire, vos données pourraient être volées en utilisant des méthodes de piratage assez simples, sans que les cybercriminels n’aient à exploiter les vulnérabilités sophistiquées de programmes officiels.

Conseils