Je suis ingénieur de formation, mais je communique davantage avec les entrepreneurs et les directeurs de production. Il y a quelque temps, le propriétaire d'une entreprise industrielle a demandé conseil. Malgré le fait que l'entreprise soit grande et créée dans les années 90, la gestion et la comptabilité fonctionnent à l'ancienne dans le réseau local.
Ceci est la conséquence de préoccupations pour leur entreprise et d'un contrôle accru de l'État. Les lois et réglementations peuvent être interprétées très largement par les organismes de contrôle. Un exemple est les modifications apportées au Code fiscal,
supprimant le délai de prescription pour les infractions fiscales, la destruction effective des
secrets bancaires et d'audit .
En conséquence, le propriétaire de l'entreprise a commencé à rechercher des solutions pour le stockage fiable des informations et le transfert sécurisé des documents. "Coffre-fort" virtuel.
Nous avons travaillé sur la tâche avec un administrateur système à plein temps: nous avons besoin d'une analyse approfondie des plateformes existantes.
- le service ne doit pas être nuageux, au sens classique du terme, c'est-à-dire sans économiser dans les installations d'une organisation tierce. Seul votre serveur;
- un cryptage solide des données transmises et stockées est requis;
- la capacité de supprimer de toute urgence le contenu de n'importe quel appareil au simple toucher d'un bouton est requise;
- La solution est développée à l'étranger.
J'ai suggéré de supprimer le quatrième point, car Les demandes russes ont des certificats officiels. Le directeur a dit explicitement ce qu'il fallait faire avec ces certificats.
Choisissez les options
J'ai sélectionné trois solutions (plus il y a de choix, plus il y a de doute):
Le propriétaire de l'entreprise est peu familiarisé avec les subtilités techniques, j'ai donc conçu le rapport sous forme de listes des avantages et des inconvénients de chaque option.
Résumé de l'analyse
Syncthing
Avantages :
- Open source
- Activité du développeur principal;
- Le projet existe depuis très longtemps;
- Gratuit.
Inconvénients:
- Il n'y a pas de client pour le shell iOS;
- Serveurs Slow Turn, (ils sont gratuits, donc ils ralentissent). Pour ceux qui
pas au courant, Turn est utilisé lorsqu'il est impossible de se connecter directement; - Configuration d'interface complexe (plusieurs années d'expérience en programmation sont nécessaires);
- Manque de support commercial rapide.
Resilio
Avantages: prise en charge de tous les appareils et serveurs Turn agiles.
Inconvénients: Un et très important est l'ignorance complète par le service d'assistance de tous les appels. Aucune réaction, même si vous écrivez à partir d'adresses différentes.
Pvtbox
Avantages:
- Prise en charge de tous les appareils;
- Serveur Fast Turn;
- La possibilité de télécharger un fichier sans installer l'application;
- Service d'assistance adéquat, incl. par téléphone.
Inconvénients :
- Projet jeune (quelques critiques et bonnes critiques);
- Une interface très "techie" pas toujours claire du site;
- Il n'y a pas de documentation détaillée détaillée, de nombreux problèmes doivent être pris en charge.
Qu'est-ce que le client a choisi
Sa première question est: quel est l'intérêt de développer quelque chose gratuitement? Syncthing a été immédiatement abandonné. Les arguments n'ont pas fonctionné.
Après quelques jours, le client a catégoriquement rejeté Resilio Sync en raison d'un manque de support, car il n'est pas clair où aller en cas d'urgence. Plus méfiance à l'égard de l'immatriculation américaine de l'entreprise.
Pour une analyse plus approfondie, le coffre-fort électronique Pvtbox est resté. Nous avons effectué un audit technique complet de cette plateforme en mettant l'accent sur la possibilité d'interception, de décryptage des données et d'entrée non autorisée dans le stockage d'informations.
Processus d'audit
Nous avons fait une analyse des composés au début du programme, en cours de travail et dans un état calme. Le trafic selon les normes modernes est à l'origine crypté. Essayons de mener une attaque MITM et de remplacer le certificat à la volée en utilisant
Linux (Xubuntu Linux 18.04), Wireshark ,
Mitmproxy . Pour ce faire, nous mettrons en œuvre un intermédiaire entre l'application Pvtbox et le serveur pvtbox.net (il y a un échange de données avec le serveur pvtbox.net via une connexion https).
Nous lançons l'application pour nous assurer que la synchronisation des programmes et des fichiers y fonctionne. Sous Linux, vous pouvez immédiatement observer la journalisation si vous exécutez le programme à partir du terminal.

Nous désactivons l'application et remplaçons l'adresse hôte pvtbox.net dans le
fichier / etc / hosts par des privilèges de superutilisateur. L'adresse est remplacée par l'adresse de notre serveur proxy.

Nous allons maintenant préparer notre serveur proxy pour l'attaque MITM sur l'ordinateur avec l'adresse 192.168.1.64 dans notre réseau local. Pour ce faire, installez le package mitmproxy version 4.0.4.
Lancez le serveur proxy sur le port 443:
$ sudo mitmproxy -p 443Nous démarrons le programme Pvtbox sur le premier ordinateur, examinons la sortie de mitmproxy et les journaux d'application.
Mitmproxy signale que le client ne fait pas confiance au certificat d'
usurpation d'identité du serveur proxy. Dans les journaux d'application, nous observons également que le certificat du serveur proxy ne passe pas la vérification et que le programme refuse de fonctionner.
Installez le certificat proxy
mitmproxy sur l'ordinateur avec l'application Pvtbox pour rendre le certificat «approuvé». Sur l'ordinateur, installez le package ca-certificats. Copiez ensuite le certificat mitmproxy-ca-cert.pem du répertoire .mitmproxy du serveur proxy sur l'ordinateur avec l'application Pvtbox dans le répertoire / usr / local / share / ca-certificats.
Nous exécutons les commandes:
$ sudo openssl x509 -in mitmproxy-ca-cert.pem -inform PEM -out mitmproxy-ca-cert.crt$ sudo update-ca-certificats
Lancez l'application Pvtbox. Le certificat a échoué à nouveau, le programme refuse de fonctionner. L'application utilise probablement le mécanisme de sécurité d'
épinglage de certificat .
Une attaque similaire a été effectuée sur l'hôte
signauxerver.pvtbox.net, ainsi que sur la connexion peer-2-peer entre les nœuds. Le développeur indique que l'application pour établir des connexions peer-2-peer utilise le protocole ouvert webrtc qui utilise un cryptage de bout en bout utilisant le protocole
DTLSv1.2.Des clés sont générées pour chaque installation de connexions et transmises sur un canal crypté via
signauxerver.pvtbox.net.Théoriquement, il serait possible d'intercepter les messages d'offre et de réponse sur webrtc, d'y remplacer les clés de cryptage et de pouvoir décrypter tous les messages arrivant via webrtc. Mais il n'a pas été possible d'effectuer une attaque mitm sur signauxerver.pvtbox.net, il n'y a donc aucune possibilité d'intercepter et de remplacer les messages envoyés via signauxerver.pvtbox.net.
Par conséquent, il n'est pas possible d'effectuer cette attaque sur une connexion peer-2-peer.
Un fichier contenant les certificats fournis avec le programme a également été trouvé. Le fichier se trouve sur le chemin /opt/pvtbox/certifi/cacert.pem. Ce fichier a été remplacé par un fichier qui contient un certificat approuvé de notre serveur proxy mitmproxy. Le résultat n'a pas changé - le programme a refusé de se connecter au système, la même erreur a été observée dans le journal,
que le certificat ne passe pas la vérification.
Résultats de l'audit
Je n'ai pas pu intercepter ou remplacer le trafic. Les noms de fichiers, et plus encore leur contenu sont transmis sous forme cryptée, un cryptage de bout en bout est utilisé. L'application met en œuvre un certain nombre de mécanismes de protection qui empêchent l'écoute électronique et la mise en œuvre.
En conséquence, la société a acheté deux serveurs dédiés (physiquement à des endroits différents) pour un accès permanent aux informations. Le premier serveur est utilisé pour recevoir, traiter et stocker des informations, le second - pour la sauvegarde.
Le terminal de travail du directeur et un téléphone mobile iOS étaient connectés au cloud individuel reçu. Les autres employés ont été connectés par un administrateur système régulier et le support technique Pvtbox.
Au cours des dernières années, aucun ami ne s'est plaint. J'espère que ma critique aidera les lecteurs de Habr dans une situation similaire.