Vertrauliche „Wolke“. Wir suchen nach einer Alternative zu offenen Lösungen

Ich bin ausgebildeter Ingenieur, kommuniziere aber mehr mit Unternehmern und Produktionsleitern. Vor einiger Zeit bat der Inhaber eines Industrieunternehmens um Rat. Obwohl das Unternehmen groß ist und in den 90er Jahren gegründet wurde, funktionieren Management und Buchhaltung auf altmodische Weise in einem lokalen Netzwerk.

Dies ist eine Folge von Ängsten um ihr Geschäft und einer zunehmenden Kontrolle durch den Staat. Gesetze und Vorschriften können von Kontrollbehörden sehr weit ausgelegt werden. Ein Beispiel sind die Änderungen der Abgabenordnung, Aufhebung der Verjährungsfrist für Steuerverstöße, tatsächliche Zerstörung Bank- und Revisionsgeheimnis.

Daher begann der Unternehmer, nach Lösungen für die zuverlässige Speicherung von Informationen und die sichere Übertragung von Dokumenten zu suchen. Virtuell „sicher“.

Wir haben das Problem mit einem Vollzeit-Systemadministrator gelöst: Wir brauchten eine tiefgreifende Analyse der bestehenden Plattformen.

  • Der Dienst sollte nicht im klassischen Sinne cloudbasiert sein, d. h. ohne Lagerung in den Einrichtungen einer Drittorganisation. Nur Ihr Server;
  • eine starke Verschlüsselung der übertragenen und gespeicherten Daten ist erforderlich;
  • Die Möglichkeit, Inhalte per Knopfdruck dringend von jedem Gerät zu löschen, ist erforderlich.
  • Die Lösung wurde im Ausland entwickelt.

Ich habe vorgeschlagen, den vierten Punkt zu streichen, weil... Russische Bewerbungen verfügen über offizielle Zertifikate. Der Direktor sagte direkt, was mit solchen Zertifikaten zu tun sei.

Wählen Sie Optionen

Ich habe drei Lösungen ausgewählt (je mehr Auswahl, desto mehr Zweifel):

Der Inhaber des Unternehmens hat wenig Verständnis für technische Feinheiten, daher habe ich den Bericht in Form von Listen mit Vor- und Nachteilen jeder Option formatiert.

Analyseergebnisse

Synchronisieren

Pros:

  • Open Source;
  • Tätigkeit des Hauptentwicklers;
  • Das Projekt gibt es schon sehr lange;
  • Frei.

Nachteile:

  • Für die iOS-Shell gibt es keinen Client;
  • Slow-Turn-Server (sie sind kostenlos und werden daher langsamer). Für jene die
    nicht bewusst, Turn wird verwendet, wenn eine direkte Verbindung nicht möglich ist;
  • Komplexer Schnittstellenaufbau (erfordert langjährige Programmiererfahrung);
  • Mangel an schnellem kommerziellen Support.

Resilium

Profis: Unterstützung für alle Geräte und schnelle Turn-Server.

Nachteile: Ein und sehr bedeutsamer Grund ist die völlige Missachtung jeglicher Anfragen seitens des Support-Dienstes. Keine Antwort, auch wenn Sie von verschiedenen Adressen aus schreiben.

Pvtbox

Profis:

  • Unterstützt alle Geräte;
  • Fast-Turn-Server;
  • Möglichkeit, eine Datei herunterzuladen, ohne die Anwendung zu installieren;
  • Angemessener Support-Service, inkl. telefonisch.

Cons:

  • Junges Projekt (wenige Rezensionen und gute Rezensionen);
  • Die Benutzeroberfläche der Website ist sehr „technisch“ und nicht immer klar;
  • Eine ausführliche Dokumentation gibt es nicht, viele Anliegen benötigen Unterstützung.

Was hat der Kunde gewählt?

Seine erste Frage lautet: Was bringt es, etwas kostenlos zu entwickeln? Die Synchronisierung wurde sofort abgebrochen. Die Argumente haben nicht funktioniert.

Ein paar Tage später lehnte der Kunde Resilio Sync aufgrund mangelnden Supports kategorisch ab, weil... Es ist nicht klar, wohin man sich in einer Notsituation wenden soll. Plus Misstrauen gegenüber der amerikanischen Registrierung des Unternehmens.

Für die weitere Analyse bleibt der Pvtbox Electronic-Safe übrig. Wir haben eine umfassende technische Prüfung dieser Plattform durchgeführt und uns dabei auf die Möglichkeit des Abfangens, der Entschlüsselung von Daten und des unbefugten Zugriffs auf den Informationsspeicher konzentriert.

Audit-Prozess

Wir haben die Zusammenhänge beim Programmstart, im laufenden Betrieb und im Ruhezustand analysiert. Der Verkehr nach modernen Standards wird zunächst verschlüsselt. Versuchen wir, einen MITM-Angriff durchzuführen und das Zertifikat im laufenden Betrieb durch zu ersetzen Linux (Xubuntu Linux 18.04), Wireshark, Mitmproxy. Dazu werden wir einen Vermittler zwischen der Pvtbox-Anwendung und dem pvtbox.net-Server einführen (der Datenaustausch mit dem pvtbox.net-Server erfolgt über eine https-Verbindung).

Wir starten die Anwendung, um sicherzustellen, dass die Programm- und Dateisynchronisierung darin funktioniert. Unter Linux können Sie die Protokollierung sofort beobachten, wenn Sie das Programm vom Terminal aus ausführen.
Vertrauliche „Wolke“. Wir suchen nach einer Alternative zu offenen Lösungen

Schalten Sie die Anwendung aus und ersetzen Sie die pvtbox.net-Hostadresse in der Datei / Etc / hosts mit Superuser-Rechten. Wir ersetzen die Adresse durch die Adresse unseres Proxyservers.
Vertrauliche „Wolke“. Wir suchen nach einer Alternative zu offenen Lösungen

Bereiten wir nun unseren Proxyserver auf einen MITM-Angriff auf einen Computer mit der Adresse 192.168.1.64 in unserem lokalen Netzwerk vor. Installieren Sie dazu das mitmproxy-Paket Version 4.0.4.

Wir starten den Proxyserver auf Port 443:
$ sudo mitmproxy -p 443

Wir starten das Pvtbox-Programm auf dem ersten Computer und sehen uns die Mitmproxy-Ausgabe und die Anwendungsprotokolle an.
Vertrauliche „Wolke“. Wir suchen nach einer Alternative zu offenen Lösungen

Mitmproxy meldet, dass der Client dem Spoof-Zertifikat vom Proxyserver nicht vertraut. In den Anwendungsprotokollen sehen wir auch, dass das Proxy-Server-Zertifikat die Überprüfung nicht besteht und das Programm nicht funktioniert.

Installieren eines Proxyserverzertifikats Mitmproxy an einen Computer mit der Pvtbox-Anwendung, um das Zertifikat „vertrauenswürdig“ zu machen. Installieren Sie das ca-certificates-Paket auf Ihrem Computer. Kopieren Sie dann das Zertifikat mitmproxy-ca-cert.pem aus dem Verzeichnis .mitmproxy des Proxyservers auf den Computer mit der Pvtbox-Anwendung in das Verzeichnis /usr/local/share/ca-certificates.

Wir führen die Befehle aus:
$ sudo openssl x509 -in mitmproxy-ca-cert.pem -inform PEM -out mitmproxy-ca-cert.crt
$sudo update-ca-certificates
Vertrauliche „Wolke“. Wir suchen nach einer Alternative zu offenen Lösungen

Starten Sie die Pvtbox-Anwendung. Die Überprüfung des Zertifikats ist erneut fehlgeschlagen und das Programm funktioniert nicht mehr. Die Anwendung verwendet wahrscheinlich einen Sicherheitsmechanismus Zertifikat-Pinning.

Ein ähnlicher Angriff wurde auf den Host ausgeführt signalserver.pvtbox.net, sowie die Peer-2-Peer-Verbindung selbst zwischen Knoten. Der Entwickler gibt an, dass die Anwendung zum Aufbau von Peer-2-Peer-Verbindungen das offene WebRTC-Protokoll verwendet, das eine Ende-zu-Ende-Protokollverschlüsselung verwendet DTLSv1.2.

Für jeden Verbindungsaufbau werden Schlüssel generiert und über einen verschlüsselten Kanal übertragen signalserver.pvtbox.net.

Theoretisch wäre es möglich, WebRTC-Angebots- und Antwortnachrichten abzufangen, dort die Verschlüsselungsschlüssel auszutauschen und alle über WebRTC eingehenden Nachrichten zu entschlüsseln. Es war jedoch nicht möglich, einen Mitm-Angriff auf signalserver.pvtbox.net durchzuführen, sodass es keine Möglichkeit gibt, über signalserver.pvtbox.net gesendete Nachrichten abzufangen und zu ersetzen.

Dementsprechend ist es nicht möglich, diesen Angriff auf eine Peer-2-Peer-Verbindung durchzuführen.

Außerdem wurde eine Datei mit den mit dem Programm gelieferten Zertifikaten entdeckt. Die Datei befindet sich unter /opt/pvtbox/certifi/cacert.pem. Diese Datei wurde durch eine Datei ersetzt, die ein vertrauenswürdiges Zertifikat von unserem Mitmproxy-Proxy enthält. Das Ergebnis hat sich nicht geändert – das Programm weigerte sich, eine Verbindung zum System herzustellen, derselbe Fehler wurde im Protokoll beobachtet,
dass das Zertifikat die Prüfung nicht besteht.

Auditergebnisse

Es war mir nicht möglich, den Datenverkehr abzufangen oder zu fälschen. Dateinamen und vor allem deren Inhalte werden verschlüsselt übertragen; es kommt eine Ende-zu-Ende-Verschlüsselung zum Einsatz. Die Anwendung implementiert eine Reihe von Sicherheitsmechanismen, die das Abhören und Eindringen verhindern.

Daher kaufte das Unternehmen zwei dedizierte Server (physisch an verschiedenen Standorten) für den permanenten Zugriff auf Informationen. Der erste Server dient zum Empfangen, Verarbeiten und Speichern von Informationen, der zweite dient der Sicherung.

Mit der so entstandenen individuellen Cloud wurden das Arbeitsterminal des Regisseurs und ein Mobiltelefon auf iOS verbunden. Weitere Mitarbeiter waren durch den hauptamtlichen Systemadministrator und technischen Support von Pvtbox verbunden.

Im vergangenen Zeitraum gab es keine Beschwerden seitens des Freundes. Ich hoffe, dass meine Rezension Habr-Lesern in einer ähnlichen Situation helfen wird.

Source: habr.com

Kommentar hinzufügen