Ich bin Ingenieur von Beruf, kommuniziere jedoch häufiger mit Unternehmern und Produktionsleitern. Vor einiger Zeit hat sich der Besitzer eines Industrieunternehmens mit einer Anfrage an mich gewandt. Obwohl das Unternehmen groß ist und in den 90er Jahren gegründet wurde, arbeiten Verwaltung und Buchhaltung noch nach alten Mustern in einem lokalen Netzwerk.
Dies ist die Folge von Bedenken hinsichtlich des eigenen Geschäfts und verstärkter staatlicher Kontrollen. Gesetze und Vorschriften können von den Prüfbehörden sehr weit ausgelegt werden. Ein Beispiel sind die Änderungen im Steuerrecht, tatsächlich die Zerschlagung der .
Infolgedessen begann der Unternehmensinhaber, nach Lösungen für eine sichere Informationsspeicherung und den dokumentensicheren Austausch zu suchen. Ein virtueller 'Tresor'.
Das Thema haben wir mit dem internen Systemadministrator bearbeitet: eine gründliche Analyse der bestehenden Plattformen ist erforderlich.
- Der Service sollte nicht cloud-basiert im klassischen Sinne sein, d.h. ohne Speicherung auf Servern eines externen Anbieters. Nur ein eigener Server;
- Es ist eine stabile Verschlüsselung der übertragenen und gespeicherten Daten erforderlich.
- Es muss die Möglichkeit bestehen, Inhalte mit einem Klick von jedem Gerät sofort zu löschen.
- Die Lösung wurde im Ausland entwickelt.
Den vierten Punkt habe ich vorgeschlagen zu streichen, da russische Anwendungen offizielle Zertifikate besitzen. Der Direktor hat klar gesagt, was mit solchen Zertifikaten zu tun ist.
Wir wählen Optionen aus.
Ich habe drei Lösungen ausgewählt (je mehr Auswahlmöglichkeiten, desto mehr Zweifel):
- Open Source - Projekt , das von dem enthusiastischen Entwickler Jacob Borg unterstützt wird.
- , kuratiert von der amerikanischen Resilio Inc. (früher wurde dieser Dienst als BitTorrent Sync bezeichnet).
- Projekt ab Synchronisationsanwendungen. Registrierung in Zypern.
Der Eigentümer des Unternehmens hat wenig technisches Verständnis, daher habe ich den Bericht in Form von Vor- und Nachteilen jeder Option erstellt.
Ergebnisse der Analyse
Syncthing
Vorteile:
- Open Source;
- Aktivität des Hauptentwicklers;
- Das Projekt existiert schon sehr lange;
- Kostenlos.
Nachteile:
- Es gibt keinen Client für die iOS-Oberfläche;
- Langsame Turn-Server (sie sind kostenlos, daher gibt es Verzögerungen). Für diejenigen, die
Ich bin mir nicht sicher, Turn wird verwendet, wenn eine direkte Verbindung nicht möglich ist; - Komplexe Schnittstelleneinrichtung (mehrjährige Programmiererfahrung erforderlich);
- Fehlende schnelle kommerzielle Unterstützung.
Resilio
Vorteile: Unterstützung aller Geräte und schnelle Turn-Server.
Nachteile: Ein ganz wesentlicher Punkt – die vollständige Ignorierung aller Anfragen durch den Support. Null Reaktion, selbst wenn man von verschiedenen Adressen schreibt.
Pvtbox
Vorteile:
- Unterstützung aller Geräte;
- Schnelle Turn-Server;
- Möglichkeit, die Datei ohne Installation einer Anwendung herunterzuladen;
- Angemessener Support, auch telefonisch.
Nachteile:
- Junges Projekt (wenig Bewertungen und gute Rezensionen);
- Sehr „technische“ und nicht immer verständliche Benutzeroberfläche der Website;
- Keine detaillierte Dokumentation, bei vielen Fragen muss der Support kontaktiert werden.
Was der Kunde gewählt hat
Seine erste Frage: Was ist der Sinn, etwas kostenlos zu entwickeln? Von Syncthing wurde sofort abgelehnt. Die Argumente funktionierten nicht.
Nach ein paar Tagen wies der Kunde Resilio Sync kategorisch wegen fehlender Unterstützung zurück, da unklar war, wo man in einer Notlage Hilfe anfordern sollte. Außerdem bestand Misstrauen gegenüber dem amerikanischen Firmensitz.
Für die weitere Analyse bleibt der Pvtbox Electronic Safe. Wir haben einen umfassenden technischen Audit dieser Plattform durchgeführt, mit einem Fokus auf die Möglichkeiten der Datenübergabe, -entschlüsselung und unautorisierten Zugriffs auf das Informationslager.
Auditprozess
Wir haben die Verbindungen beim Start der Anwendung, während des Betriebs und im Ruhemodus analysiert. Der Datenverkehr ist gemäß modernen Standards anfangs verschlüsselt. Wir werden versuchen, einen MITM-Angriff durchzuführen und das Zertifikat „on-the-fly“ zu ersetzen mit Hilfe von Linux (Xubuntu Linux 18.04), Wireshark, Mitmproxy. Dafür setzen wir einen Vermittler zwischen der Pvtbox-Anwendung und dem Server pvtbox.net ein (es erfolgt ein Datenaustausch mit dem Server pvtbox.net über eine HTTPS-Verbindung).
Wir starten die Anwendung, um sicherzustellen, dass das Programm und die Dateisynchronisierung funktionieren. In Linux kann das Logging sofort beobachtet werden, wenn das Programm aus dem Terminal gestartet wird.

Wir schließen die Anwendung und ersetzen die Host-Adresse pvtbox.net in der Datei /etc/hosts mit Superuser-Rechten. Die Adresse wird durch die Adresse unseres Proxy-Servers ersetzt.

Nun bereiten wir unseren Proxy-Server für den MITM-Angriff auf dem Computer mit der Adresse 192.168.1.64 in unserem lokalen Netzwerk vor. Dazu installieren wir das Paket mitmproxy in der Version 4.0.4.
Starten des Proxy-Servers auf Port 443:
$ sudo mitmproxy -p 443
Starten Sie das Programm Pvtbox auf dem ersten Computer, überprüfen Sie die Ausgabe von mitmproxy und die Logs der Anwendung.

Mitmproxy zeigt, dass der Client dem gefälschten Zertifikat des Proxy-Servers nicht vertraut. In den Logs der Anwendung ist ebenfalls zu sehen, dass das Zertifikat des Proxy-Servers die Prüfung nicht besteht und die Anwendung die Arbeit verweigert.
Installieren Sie das Zertifikat des Proxy-Servers mitmproxy auf dem Computer mit der Anwendung Pvtbox, um das Zertifikat "vertrauenswürdig" zu machen. Installieren Sie das Paket ca-certificates auf dem Computer. Danach kopieren Sie das Zertifikat mitmproxy-ca-cert.pem aus dem Verzeichnis .mitmproxy des Proxy-Servers in das Verzeichnis /usr/local/share/ca-certificates auf dem Computer mit der Anwendung Pvtbox.
Führen Sie die Befehle aus:
$ sudo openssl x509 -in mitmproxy-ca-cert.pem -inform PEM -out mitmproxy-ca-cert.crt
$ sudo update-ca-certificates

Starten Sie die Anwendung Pvtbox. Das Zertifikat hat erneut die Prüfung nicht bestanden, die Anwendung weigert sich zu arbeiten. Wahrscheinlich verwendet die Anwendung einen Schutzmechanismus Certificate Pinning.
Ein ähnlicher Angriff wurde auf den Host signalserver.pvtbox.net, sowie die peer-to-peer-Verbindung zwischen den Knoten. Der Entwickler führt an, dass die Anwendung zum Herstellen von peer-to-peer-Verbindungen das offene Protokoll WebRTC nutzt, welches eine End-to-End-Verschlüsselung verwendet. DTLSv1.2.
Die Schlüssel werden für jede Verbindung neu generiert und über einen verschlüsselten Kanal gesendet via signalserver.pvtbox.net.
Theoretisch wäre es möglich, Offer- und Answer-Nachrichten von WebRTC abzufangen, die Verschlüsselungsschlüssel zu manipulieren und damit alle über WebRTC gesendeten Nachrichten zu entschlüsseln. Allerdings konnte keine MITM-Attacke auf signalserver.pvtbox.net durchgeführt werden, sodass es auch nicht möglich ist, die über signalserver.pvtbox.net gesendeten Nachrichten abzufangen und zu manipulieren.
Folglich ist ein solcher Angriff auf die peer-to-peer-Verbindungen nicht durchführbar.
Ebenfalls wurde eine Datei mit Zertifikaten entdeckt, die mit dem Programm geliefert wird. Die Datei befindet sich unter /opt/pvtbox/certifi/cacert.pem. Diese Datei wurde durch eine Datei ersetzt, die ein vertrauenswürdiges Zertifikat von unserem Proxy-Server mitmproxy enthält. Das Ergebnis blieb unverändert — das Programm weigerte sich, sich mit dem System zu verbinden, im Log wurde der gleiche Fehler angezeigt,
dass das Zertifikat die Überprüfung nicht besteht.
Ergebnisse der Prüfung
Es gelang mir nicht, den Datenverkehr abzufangen oder zu manipulieren. Die Dateinamen und insbesondere deren Inhalte werden verschlüsselt übertragen, es wird eine Ende-zu-Ende-Verschlüsselung eingesetzt. Die Anwendung verfügt über mehrere Schutzmechanismen, die Abhören und Eindringen verhindern.
Infolgedessen wurden zwei dedizierte Server (physisch an verschiedenen Standorten) für den permanenten Zugang zu Informationen erworben. Der erste Server wird für den Empfang, die Verarbeitung und die Speicherung von Informationen verwendet, der zweite dient der Sicherung.
Zum individuellen Cloud-System wurden das Arbeitsgerät des Geschäftsführers und ein iOS-Mobiltelefon angeschlossen. Weitere Mitarbeiter wurden von unserem Systemadministrator und dem technischen Support von Pvtbox angebunden.
In der vergangenen Zeit gab es keine Beschwerden von Bekannten. Ich hoffe, dass meine Bewertung Lesern von Habr in ähnlichen Situationen helfen wird.
Quelle: habr.com
