Cloud confidentiel. À la recherche d'alternatives aux solutions ouvertes

Je suis ingénieur de formation, mais je communique surtout avec des entrepreneurs et des directeurs de production. Il y a quelque temps, un propriétaire d'entreprise industrielle m'a demandé conseil. Bien que l'entreprise soit grande et ait été créée dans les années 90, la gestion et la comptabilité fonctionnent de manière traditionnelle dans un réseau local.

Cela découle des craintes pour leur entreprise et d'un renforcement du contrôle de l'État. Les lois et régulations peuvent être interprétées de manière très large par les organismes de contrôle. On peut prendre en exemple les modifications apportées au Code fiscal, qui éliminent le délai de prescription pour les infractions fiscales, la destruction effective du secret bancaire et de l'audit.

En conséquence, le propriétaire de l'entreprise a commencé à chercher des solutions pour un stockage sécurisé des informations et un transfert sécurisé des documents. Un « coffre-fort » virtuel.

Nous avons travaillé sur la tâche avec l'administrateur système en interne : une analyse approfondie des plateformes existantes est nécessaire.

  • le service ne doit pas être basé sur le cloud, au sens classique du terme, c'est-à-dire sans stockage sur les infrastructures d'une organisation tierce. Seulement un serveur propre;
  • un chiffrement robuste des données transmises et stockées est requis;
  • il est absolument nécessaire de pouvoir supprimer d'urgence du contenu de n'importe quel appareil d'une simple pression sur un bouton;
  • la solution a été développée à l'étranger.

Je proposais de supprimer le quatrième point, car les applications russes possèdent des certificats officiels. Le directeur a clairement indiqué ce qu'il fallait faire avec ces certificats.

Choisissons les options

J'ai sélectionné trois solutions (plus il y a d'options, plus il y a de doutes) :

  • Open Source — projet Syncthing.net , soutenu par le développeur enthousiaste Jacob Borg.
  • Resilio.com, supervisé par l'entreprise américaine Resilio Inc. (auparavant, ce service s'appelait BitTorrent Sync).
  • Projet Pvtbox Coffre électronique à partir de pvtbox.net , application de synchronisation. Enregistrement à Chypre.

Le propriétaire de l'entreprise ne comprend pas bien les subtilités techniques, j'ai donc présenté le rapport sous forme de listes de pour et contre pour chaque option.

Résultats de l'analyse

Syncthing

Avantages:

  • Open source ;
  • Activité du développeur principal ;
  • Le projet existe depuis très longtemps ;
  • Gratuit.

Inconvénients :

  • Aucun client pour l'interface iOS ;
  • Serveurs Turn lents (ils sont gratuits, donc ils ralentissent). Pour ceux qui
    ne sont pas au courant, Turn est utilisé quand il n'est pas possible de se connecter directement ;
  • Configuration de l'interface complexe (une expérience de programmation de plusieurs années est nécessaire);
  • Absence de support commercial rapide.

Resilio

Avantages : support de tous les appareils et serveurs Turn rapides.

Inconvénients : Un problème majeur est l'ignorance totale des demandes par le service client. Zéro réaction, même si l'on écrit depuis différentes adresses.

Pvtbox

Avantages :

  • Support de tous les appareils;
  • Serveurs Turn rapides;
  • Possibilité de télécharger des fichiers sans installer d'application;
  • Service client adéquat, y compris par téléphone.

Inconvénients:

  • Projet jeune (peu d'avis et de bonnes critiques);
  • Interface du site très « technique », pas toujours compréhensible;
  • Pas de documentation détaillée, pour de nombreuses questions il faut solliciter le support.

Ce que le client a choisi

Sa première question : quel est l'intérêt de développer quelque chose de gratuitement ? Ils ont immédiatement rejeté Syncthing. Les arguments n'ont pas fonctionné.

Après quelques jours, le client a catégoriquement rejeté Resilio Sync en raison de l'absence de support, car il était incertain de l'endroit où se tourner en cas de situation anormale. De plus, il y avait un manque de confiance envers l'entreprise américaine.

Pour une analyse plus approfondie, nous avons conservé Pvtbox comme coffre-fort électronique. Nous avons effectué un audit technique complet de cette plateforme en mettant l'accent sur la possibilité d'interception, le déchiffrement des données et les intrusions non autorisées dans le stockage d'informations.

Processus d'audit

Nous avons analysé les connexions au démarrage du programme, en cours d'exécution et au repos. Le trafic est à l'origine chiffre selon les normes modernes. Nous allons tenter une attaque MITM et remplacer le certificat « à la volée » grâce à Linux (Xubuntu Linux 18.04), Wireshark, Mitmproxy. Pour cela, nous allons insérer un intermédiaire entre l'application Pvtbox et le serveur pvtbox.net (des données sont échangées avec le serveur pvtbox.net via une connexion https).

Nous lançons l'application pour nous assurer que le programme et la synchronisation des fichiers fonctionnent. Sous Linux, on peut immédiatement observer la journalisation si le programme est lancé depuis le terminal.
Cloud confidentiel. À la recherche d'alternatives aux solutions ouvertes

Nous éteignons l'application et remplaçons l'adresse de l'hôte pvtbox.net dans le fichier /etc/hosts avec des privilèges de superutilisateur. Nous remplaçons l'adresse par celle de notre serveur proxy.
Cloud confidentiel. À la recherche d'alternatives aux solutions ouvertes

Préparons maintenant notre serveur proxy pour l'attaque MITM sur un ordinateur ayant l'adresse 192.168.1.64 dans notre réseau local. Pour cela, installons le paquet mitmproxy version 4.0.4.

Lançons le serveur proxy sur le port 443 :
$ sudo mitmproxy -p 443

Sur le premier ordinateur, nous lançons le programme Pvtbox, regardons la sortie de mitmproxy et les journaux de l'application.
Cloud confidentiel. À la recherche d'alternatives aux solutions ouvertes

Mitmproxy indique que le client ne fait pas confiance au certificat de substitution du serveur proxy. Dans les journaux de l'application, nous observons également que le certificat du serveur proxy échoue à la vérification et que le programme refuse de fonctionner.

Installer le certificat du serveur proxy mitmproxy sur l'ordinateur avec l'application Pvtbox, afin de rendre le certificat "de confiance". Sur l'ordinateur, nous allons installer le paquet ca-certificates. Ensuite, nous copierons le certificat mitmproxy-ca-cert.pem du répertoire .mitmproxy du serveur proxy vers l'ordinateur avec l'application Pvtbox dans le répertoire /usr/local/share/ca-certificates.

Exécutez les commandes :
$ sudo openssl x509 -in mitmproxy-ca-cert.pem -inform PEM -out mitmproxy-ca-cert.crt
$ sudo update-ca-certificates
Cloud confidentiel. À la recherche d'alternatives aux solutions ouvertes

Lancez l'application Pvtbox. Le certificat échoue à nouveau à la vérification, le programme refuse de fonctionner. Il est probable que l'application utilise un mécanisme de protection Certificate pinning.

Une attaque similaire a été menée sur l'hôte signalserver.pvtbox.net, et également sur la connexion peer-to-peer elle-même entre les nœuds. Le développeur indique que l'application utilisée pour établir des connexions peer-to-peer utilise un protocole ouvert webrtc dans lequel est utilisé le chiffrement de bout en bout selon le protocole DTLSv1.2.

Les clés sont générées pour chaque établissement de connexion et sont transmises par un canal chiffré via signalserver.pvtbox.net.

Théoriquement, il serait possible d'intercepter les messages d'offre et de réponse webrtc, de remplacer les clés de chiffrement et d'avoir la capacité de déchiffrer tous les messages entrants via webrtc. Mais il n'a pas été possible de réaliser une attaque mitm sur signalserver.pvtbox.net, donc il n'y a pas de possibilité d'intercepter et de remplacer les messages envoyés via signalserver.pvtbox.net.

Par conséquent, il ne semble pas possible de procéder à cette attaque sur les connexions peer-to-peer.

Un fichier de certificats a également été trouvé, fourni avec le programme. Le fichier est situé à l'emplacement /opt/pvtbox/certifi/cacert.pem. Ce fichier a été remplacé par un fichier contenant un certificat de confiance de notre serveur proxy mitmproxy. Le résultat n'a pas changé — le programme refusait de se connecter au système, le journal affichait la même erreur,
que le certificat échoue à la vérification.

Conclusions de l'audit

Je n'ai pas réussi à intercepter ou à remplacer le trafic. Les noms de fichiers, et encore moins leur contenu, sont transmis de manière chiffrée, utilisant un chiffrement de bout en bout. L'application met en œuvre un certain nombre de mécanismes de protection empêchant l'écoute et l'injection.

En conséquence, l'entreprise a acheté deux serveurs dédiés (physiquement situés à différents endroits) pour un accès permanent à l'information. Le premier serveur est utilisé pour recevoir, traiter et stocker les informations, le second pour la sauvegarde.

Le terminal de travail du directeur et le téléphone mobile iOS ont été connectés au cloud individuel obtenu. D'autres employés ont été connectés par l'administrateur système et le support technique de Pvtbox.

Depuis, je n'ai reçu aucune plainte de la part de mon contact. J'espère que mon avis aidera les lecteurs de Habr dans une situation similaire.

Source : habr.com

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster