2 points par GN⁺ 2023-08-10 | 1 commentaires | Partager sur WhatsApp
  • Mullvad a confié à la société de sécurité néerlandaise Radically Open Security (RoS) son troisième audit de l’infrastructure VPN, avec l’examen d’un serveur OpenVPN et d’un serveur WireGuard exécutés en RAM
  • Les serveurs audités utilisaient un OS personnalisé basé sur Linux kernel 6.3.2 et Ubuntu 22.04 LTS ; ils étaient déployés comme des serveurs de production, mais n’ont jamais été utilisés pour de vraies connexions clients
  • RoS a vérifié les configurations internes et externes des serveurs ainsi que l’éventuelle journalisation de l’activité des clients, sans découvrir de journalisation de données client ni de fuite d’informations
  • Lors du test d’intrusion, 1 High, 6 Elevated, 4 Moderate, 10 Low et 4 info ont été relevés ; les principales corrections ont été déployées fin juin 2023, puis retestées et validées en juillet
  • Mullvad a renforcé l’audit des accès administrateur via SSH, étudié la suppression de SSH et amélioré l’authentification de Telegraf ; d’autres changements supplémentaires seront déployés par la suite

Périmètre de l’audit et rapport public

  • Mullvad a mandaté Radically Open Security pour un troisième audit de sécurité de son infrastructure VPN
  • Cet audit s’est concentré sur deux serveurs VPN exécutés en RAM
    • un serveur OpenVPN
    • un serveur WireGuard
  • RoS a terminé l’audit à la mi-juin 2023, et de nombreuses corrections ont été déployées fin juin 2023
  • En juillet 2023, des retests et validations supplémentaires ont été réalisés
  • Le rapport final a été publié sous la forme ROS - Mullvad VPN 2023.pdf

Configuration des serveurs de test et points vérifiés

  • RoS a reçu un accès SSH complet aux deux serveurs VPN exécutés en RAM
  • Les serveurs audités utilisaient un noyau Linux récent allégé, 6.3.2, ainsi qu’un OS personnalisé basé sur Ubuntu 22.04 LTS
  • Ces serveurs avaient été provisionnés et déployés comme des serveurs de production destinés aux clients, mais n’ont jamais été utilisés pour des connexions réelles de clients
  • Le périmètre de vérification était structuré en trois volets
    • sécurité et configuration internes des serveurs
    • sécurité et configuration externes des serveurs
    • existence ou non d’une journalisation de l’activité des clients
  • RoS a également proposé d’examiner le code source de plusieurs binaires exécutés sur le système ainsi que la sécurité au niveau matériel, mais Mullvad a exclu ces éléments
    • cet audit se limitait à l’état du système « après son exécution et son utilisation par les clients »

Résultats globaux

  • RoS n’a constaté aucune journalisation de données client ni fuite d’informations
  • Les relais VPN Mullvad testés ont été jugés dotés d’une « architecture mature »
  • Le test d’intrusion a identifié un total de 25 problèmes
    • 1 High
    • 6 Elevated
    • 4 Moderate
    • 10 Low
    • 4 info

MLL-024 : trafic multihop de production exposé sur le système de test

  • MLL-024 a été classé comme un problème de sévérité High
  • RoS a estimé que du trafic d’utilisateurs de production pouvait être visible par un utilisateur du test d’intrusion
  • Le serveur audité n’était pas exposé pour les connexions client, n’était pas annoncé dans la liste des serveurs et n’était pas proposé aux utilisateurs
  • Toutefois, ces serveurs étaient reliés à la fonctionnalité WireGuard multihop
    • si un client scannait les IP, il pouvait envoyer du trafic vers ce serveur via un proxy SOCKS5 tout en étant connecté à un autre serveur VPN
    • aucun mécanisme ne bloquait cela
  • Ce que RoS a observé se limitait à l’IP de l’interface interne WireGuard
    • cette interface n’est utilisée que pour le trafic SOCKS5 multihop
    • elle correspond donc au serveur WireGuard d’entrée
  • Mullvad estime que si aucun serveur de production n’avait été fourni, l’audit n’aurait pas été valable en tant qu’audit de serveurs de production, et qu’il n’existait pas de moyen d’empêcher qu’un trafic client soit visible sur le serveur

MLL-019 : élévation de privilèges root via un minuteur systemd et les permissions de répertoire

  • MLL-019 a été classé comme un problème de sévérité Elevated
  • Un compte système à faibles privilèges pouvait obtenir une élévation de privilèges root en modifiant le contenu d’un script lancé par un minuteur systemd
  • Après discussion avec RoS, Mullvad a identifié comme causes principales l’usage de répertoires personnels imbriqués et l’appartenance de l’utilisateur administrateur au groupe mad
  • La structure imbriquée du répertoire /home/mad est un vestige historique d’avant la migration vers les serveurs VPN basés sur la RAM
  • Comme mesure à court terme, tous les utilisateurs administrateur ont été retirés du groupe mad
  • Les scripts concernés ont été déplacés vers /opt/local_checks, et RoS a reconnu que cette mesure résolvait le problème

MLL-045 : accès administrateur aux machines de production

  • MLL-045 a été classé comme un problème de sévérité Moderate
  • Les serveurs VPN autorisaient la connexion distante des administrateurs, ce qui signifiait qu’un administrateur pouvait techniquement intercepter le trafic VPN des utilisateurs de production
  • Mullvad connaissait déjà ce problème et, après discussion avec RoS, a confirmé son plan existant
  • Deux mesures sont prévues
    • rendre les connexions non autorisées auditables et mettre en place un système enregistrant toutes les commandes utilisées sur le serveur, sans leurs arguments
    • étudier une suppression complète du support SSH
  • Si SSH est supprimé, les administrateurs ne pourront plus non plus activer la journalisation du trafic client via SSH
  • La suppression de SSH demandera davantage de temps pour être correctement mise en œuvre

MLL-016 : mot de passe Telegraf partagé entre les serveurs

  • MLL-016 a été classé comme un problème de sévérité Low
  • Des identifiants Telegraf pour la base de données Influx, partagés sur l’ensemble des serveurs VPN, permettaient de manipuler les métriques globales des serveurs
    • utilisation CPU
    • utilisation disque
    • métriques réseau
  • Mullvad a introduit des certificats client pour l’authentification en s’appuyant sur l’infrastructure PKI de Hashicorp Vault
  • Cette mesure a déjà été mise en œuvre
  • Mullvad prévoit d’examiner l’usage de tels certificats à d’autres endroits de son infrastructure

Changements à venir

  • Seuls quelques cas intéressants parmi les problèmes découverts lors de l’audit ont été présentés
  • Davantage de changements devraient être déployés prochainement

1 commentaires

 
GN⁺ 2023-08-10
Avis sur Hacker News
  • Je respecte vraiment l’attitude de Mullvad, qui accepte de subir un préjudice commercial pour offrir davantage de sécurité et de stabilité aux clients restants.
    La première fois que je l’ai ressenti, c’est quand ils ont désactivé le renouvellement automatique via PayPal, parce que le maintenir aurait nécessité de stocker des données personnelles avec le compte.
    Mais, pour moi, il y a eu un sacrifice de trop : ils ont désactivé le port forwarding. Comme ils ne stockent pas d’informations de contact pour prévenir les clients, ma connexion a soudainement cessé de fonctionner un jour, alors qu’il me restait plusieurs mois de service prépayé.
    J’en garde un goût un peu amer, mais leurs écrits techniques et leurs décisions en matière de sécurité m’ont inspiré suffisamment de sympathie pour que je leur laisse l’argent. C’est le seul VPN qui ne me donne pas une impression louche, et j’espère qu’ils réussiront.
    https://mullvad.net/en/blog/2023/5/29/removing-the-support-f...

    • Nous sommes sincèrement désolés pour la gêne occasionnée.
      Annoncer la suppression d’une fonctionnalité seulement 30 jours à l’avance n’est généralement pas la manière dont nous voulons gérer notre activité. Je pense que les clients qui dépendaient de cette fonctionnalité ont été déçus à la fois par sa suppression et par la manière dont cela a été traité.
      Cela dit, c’était la bonne décision. Ces derniers mois, les modes et l’ampleur des abus étaient devenus tels que nous ne pouvions plus continuer à la proposer. Cette fonctionnalité aurait dû être supprimée bien plus tôt, avec une période de transition plus longue. Ne pas l’avoir fait a été notre erreur, et certains utilisateurs, dont vous, en ont subi les conséquences.
      Pour le service prépayé que vous ne pouvez plus utiliser, vous pouvez bien entendu obtenir un remboursement.
      Si vous utilisiez le port forwarding pour rendre un service accessible depuis l’Internet public, il existe beaucoup de bons hébergeurs qui seront heureux de vous fournir ce service.
      Si votre objectif était de rendre un service accessible tout en conservant votre anonymat, je recommande fortement la fonctionnalité onion service de Tor. Elle a été conçue précisément pour ce cas d’usage.
      Si votre objectif était de rendre un service accessible depuis l’Internet public tout en conservant l’anonymat, nous n’avons pas de bonne option à recommander.
      Le port forwarding devait être supprimé pour des raisons morales. Il devenait un obstacle trop important à notre mission centrale : neutraliser la surveillance de masse et la censure.
      Même si cette explication ne dissipe pas toute votre déception, j’espère qu’elle apporte au moins un peu de clarté.
      Fredrik Stromberg, cofondateur de Mullvad VPN
    • J’ai l’impression que cette situation aurait pu être évitée. Dans le flux de paiement ou d’inscription, ils auraient pu afficher un avertissement grand et clair indiquant qu’il faut configurer le client pour interroger directement un endpoint RSS capable de recevoir les notifications.
    • Je suis débutant en réseau, donc je ne sais pas très bien à quel point c’est important. Par le passé, j’ai déjà configuré du port forwarding sur mon routeur pour accéder à mon système Plex depuis l’extérieur de chez moi.
      J’en configurais aussi pour les torrents, mais j’ai fini par comprendre qu’on pouvait quand même télécharger des ISO Linux sans cela. J’utilise beaucoup Mullvad, mais ça ne m’a pas vraiment préoccupé.
      Je me demande à partir de quand la désactivation du port forwarding m’affecte, autrement dit quels cas d’usage se retrouvent bloqués.
    • Après la désactivation du port forwarding, je suis passé à ProtonVPN. Cela semble être la meilleure option suivante, et ils répètent pour l’instant qu’ils n’ont pas l’intention de supprimer le port forwarding.
    • Je suis content d’avoir lu ça. Plus tôt cette année, j’envisageais de passer à Mullvad, mais je n’avais pas réussi à faire rentrer ça dans mon budget et j’avais mis le projet en pause ; pour moi, c’est une condition rédhibitoire.
      Si j’avais effectivement migré, je me serais retrouvé dans la même situation, avec beaucoup de service prépayé impossible à utiliser comme prévu.
  • Le plus grand regret de ma carrière, c’est de ne pas avoir rejoint Mullvad quand son fondateur m’a envoyé un e-mail.
    Une grande partie de leurs valeurs correspond aux miennes, et les passionnés de technologie qui privilégient la liberté au confort sont malheureusement très rares. C’est pourquoi la plupart d’entre nous finissent par utiliser de grands fournisseurs cloud soumis à la juridiction du gouvernement américain.
    Pour anticiper la question, cela a réellement posé problème dans ma carrière. Les fournisseurs cloud doivent respecter les sanctions américaines, donc si vous veniez de Cuba, d’Iran ou de Crimée, vous ne pouviez pas jouer au jeu que j’avais créé. Il était agaçant de constater qu’en Russie et en Ukraine, on pouvait acheter légalement notre jeu, mais que si l’on se trouvait dans un territoire occupé, on ne pouvait pas y jouer.
    Je m’égare un peu, mais voir de l’extérieur une entreprise qui ne semble pas louche et qui valorise la liberté, c’est vraiment rafraîchissant.

    • En tant que Cubain, c’est parfois simplement agaçant, et parfois bien plus que cela. Certains fournisseurs cloud sont totalement inaccessibles, d’autres autorisés, et d’autres encore n’autorisent que certains services tout en en bloquant d’autres.
      Certains refusent même l’accès avec une licence OFAC valide. C’est probablement dû à la complexité des listes de contrôle d’accès, et globalement c’est très disparate.
      Résultat : 95 % du temps, j’ai un VPN médiocre activé. Parce que je dois à la fois contourner les sanctions américaines et les dispositifs de censure de mon propre pays.
      Je comprends dans une certaine mesure pourquoi les sanctions ont été instaurées il y a des décennies, mais je ne sais pas si cette logique reste valable aujourd’hui. Malheureusement, ceux qui en subissent le plus les effets sont les gens ordinaires comme moi, absolument pas l’élite dirigeante.
    • Moi aussi, j’étais en colère quand j’ai dû implémenter le suivi GeoIP pour bloquer certains pays. Je pensais aux personnes qui allaient perdre l’accès au service gratuit que nous proposions.
      Je voyais ce service comme quelque chose qui pouvait aider quelqu’un à lancer une petite activité, et potentiellement améliorer sa vie.
      Cela dit, beaucoup de gens considèrent les sanctions comme un acte de guerre[0]. Vu sous cet angle, c’est forcément terrible. C’est une guerre, et les conséquences de type guerre font toujours souffrir les gens sur le terrain.
      Si votre patron vous demande de mettre en place un blocage régional à cause des sanctions, faites seulement le strict nécessaire, et n’allez pas trop loin en bloquant aussi les utilisateurs de VPN. Autrement dit : ne violez pas la loi, mais ne rendez pas non plus plus difficile pour les personnes sur le terrain l’exercice de leur droit d’accès à Internet.
      https://moderndiplomacy.eu/2022/06/29/economic-sanctions-as-...
    • Je connais pas mal de personnes originaires de Crimée, et beaucoup de choses que nous tenons pour acquises sont étonnamment compliquées pour elles. Les personnes originaires de Cuba ou d’Iran, au moins, savent dans quel pays elles se trouvent.
    • Il y a de fortes chances qu’il ne soit pas encore trop tard.
    • Pour info, il semble qu’ils recrutent encore. Il y a des annonces de recrutement dans les bus de Gothenburg.
  • Pour commencer, je pense que Mullvad est la meilleure solution VPN commerciale et qu’ils font du bon travail pour rendre une bonne protection de la vie privée plus accessible.
    Mais beaucoup de commentaires ici semblent ériger les VPN en général comme la réponse à la protection de la vie privée sur Internet.
    Je voudrais rappeler qu’un VPN ne protège en réalité, fondamentalement, que contre deux choses : le fournisseur d’accès Internet et le point de terminaison. Et encore, à condition que le fournisseur d’accès ne fasse pas d’analyses douteuses.
    Cela dit, éliminer ces deux éléments apporte déjà un gros bénéfice pour la vie privée, et c’est évidemment quelque chose à faire.

    • Je ne vois pas où « beaucoup de commentaires ici semblent ériger les VPN en général comme la réponse à la protection de la vie privée sur Internet ».
    • Peux-tu expliquer davantage la partie sur « à condition que le fournisseur d’accès ne fasse pas d’analyses douteuses » ? Les FAI utilisent-ils souvent des techniques pour neutraliser l’usage d’un VPN ? Je serais curieux de savoir quels fournisseurs, et quelles techniques.
    • Ces deux points restent quand même énormes. Cela fait aussi partie d’une approche en couches de la sécurité. Je doute que la plupart des gens pensent que « le VPN suffit ».
  • Il manque le mot Radically dans le titre. Je ne connaissais pas « Open Security », mais « Radically Open Security » est l’endroit où j’ai rédigé un article.
    Modification : u/progbits a eu une minute d’avance sur moi https://news.ycombinator.com/item?id=37060828

    • L’un des projets sur lesquels j’ai travaillé il y a quelques années a été audité par Radically Open Security, et j’ai été très impressionné par la qualité de leurs experts.
      Bien sûr, ils n’ont rien trouvé dans le système dont j’étais responsable, à part quelques commentaires. Et ces commentaires étaient, il me semble, du niveau de choses qu’un outil d’analyse statique avait signalées comme améliorables et que nous avions déjà explicitement annotées. Du genre « ici le nom de variable pourrait être meilleur », « une clause de garde permettrait de simplifier ».
      Pas mal, compte tenu du fait que ça avait été fait dans des conditions extrêmes et avec presque pas de sommeil. Un bébé de 6 mois, le COVID, le crunch et deux jeunes enfants très remuants en même temps, c’est l’enfer.
  • Mullvad est le seul VPN grand public qui n’ait pas de sérieux problèmes de confiance franchement suspects.
    Même Proton VPN n’est pas correct. Des personnes qui ont enquêté ont découvert qu’il ne s’agissait que d’une version en marque blanche de NordVPN.
    Comme il n’y a pas d’alternative, je suis reconnaissant à Mullvad de pousser plus loin son engagement en matière d’intégrité.

    • Tu as une source pour l’affirmation concernant NordVPN ?
      Modification : j’ai un peu regardé l’historique de tes messages, et on dirait que tu répètes cette affirmation depuis des mois sans jamais fournir la moindre preuve. Suspect.
    • Ça sent mauvais. Tu as une source ?
  • C’est « by Radically Open Security », mais la suppression automatique du titre par HN a encore fait des siennes. L’auteur du post original peut-il corriger le titre pour que le nom de l’entreprise apparaisse correctement ?

  • Il semble que cet audit n’ait examiné que des serveurs de production de test.
    Pour me faire l’avocat du diable : qu’est-ce qui empêcherait Mullvad de fournir à l’équipe d’Open Security une version dont les fonctions de journalisation auraient été retirées ? Je n’aime pas être aussi sceptique, mais pour un véritable audit, ne faudrait-il pas examiner les serveurs utilisés par les clients ? Avec, bien sûr, des garde-fous pour empêcher les auditeurs d’enregistrer des informations.
    Je me trompe peut-être, donc dites-le-moi si c’est le cas. Mais je ne suis pas convaincu que ce niveau de test prouve les affirmations de Mullvad sur l’absence de logs.

    • Je ne pense pas que cela fasse une grande différence. Ils pourraient faire exactement la même chose sur les serveurs réels pendant la période d’audit.
      Il faut un certain niveau de confiance dans le fait que l’audité ne triche pas activement et n’est pas malveillant ; sinon, il faudrait que l’audit puisse avoir lieu à tout moment, de manière aléatoire.
    • Ce n’est pas dit explicitement, mais cela ressemble davantage à un audit du type « nous avons les compétences pour ne pas faire d’erreurs » qu’à un audit du type « nous tenons nos promesses ».
      Je pense que c’est pertinent pour un modèle de menace où un attaquant obtient un accès partiel aux serveurs de production, par exemple pour vérifier l’absence de journalisation accidentelle. En revanche, cela ne couvre pas un modèle de menace où Mullvad déploierait du code malveillant.
      Je trouve que c’est un audit utile, mais j’aurais aimé que ce point soit indiqué plus explicitement.
    • À un certain niveau de paranoïa, il faut sérieusement envisager d’auto-héberger son VPN.
      Bien sûr, comme le fournisseur de VPS peut voir une extrémité du trafic, ce n’est pas parfait, mais on peut l’atténuer.
      Mullvad est un bon compromis pour les gens qui n’ont pas le temps ou ne savent pas comment faire. Au moins, c’est bien de les voir faire des efforts pour maintenir les apparences.
    • Cela revient à demander à Mullvad de permettre à un tiers d’accéder aux connexions des clients. C’est précisément quelque chose que Mullvad promet de ne jamais faire.
    • J’aurais aimé que l’audit fournisse plusieurs comptes de connexion destinés à être utilisés sur ce serveur comme par des utilisateurs ordinaires, afin qu’il se comporte comme un vrai serveur.
      Cela aurait ensuite pu déboucher sur l’audit d’un serveur réellement en service.
      Pour auditer un serveur client en cours d’utilisation, il faudrait impérativement des contrôles importants afin d’éviter que les auditeurs n’enregistrent des données client potentielles.
  • Il est facile d’imaginer un avenir où Mullvad va avoir du mal, parce que les grandes entreprises tech pourraient bloquer en bloc toute la plage de datacenters de Mullvad.
    Cela arrive déjà dans une certaine mesure avec Cloudflare et des administrateurs individuels, et il semble aussi que l’accès à ChatGPT soit parfois bloqué via Mullvad. En tout cas, il semble y avoir un lien.
    Au final, pour accéder à certains services ou faire du scraping, il faudra peut-être recourir à des proxys résidentiels douteux.
    Un VPS auto-hébergé pourrait aussi fonctionner, si l’entreprise est assez petite pour éviter les blocages globaux à venir, mais seul le temps le dira.

  • Je suis passé à Mullvad après avoir lu sur HN, il y a un moment, que Mullvad n’avait pas conservé de logs et n’avait donc aucun log à fournir aux autorités.
    Je n’ai pas le lien, mais ça m’avait marqué, et ces audits sont une preuve supplémentaire que cette décision était la bonne.

    • Il faut aussi rappeler qu’OVPN est une option. L’affaire est allée jusqu’au tribunal et ils ont gagné, ce qui a démontré au-delà du doute raisonnable que l’absence de logs d’OVPN est réellement une absence de logs.
      Les détails sont dans les liens, mais pour citer : « Rights Alliance et ses experts en sécurité n’ont pas réussi à démontrer l’existence d’une vulnérabilité dans le système d’OVPN qui signifierait que des logs pourraient être stockés ».
      https://www.ovpn.com/en
      https://www.ovpn.com/en/blog/ovpn-wins-court-order
  • J’ai découvert Mullvad il y a peu ; il me semble qu’ils avaient conclu un accord avec Mozilla.
    Quoi qu’il en soit, le service est excellent, et c’est étonnant de voir à quel point il est rare de pouvoir simplement payer pour un service sans toutes sortes de procédures inutiles.
    Pour créer un compte, il suffit de cliquer ici, puis de payer avec l’un des nombreux moyens de paiement proposés. Le paiement en espèces par courrier est même inclus.