Vertrauliche „Cloud“. Wir suchen nach Alternativen zu Open-Source-Lösungen

Ich bin Ingenieur von Ausbildung, aber ich kommuniziere mehr mit Unternehmern und Produktionsleitern. Vor einiger Zeit wandte sich der Eigentümer eines Industrieunternehmens mit einer Anfrage an mich. Trotz der Größe des Unternehmens, das in den 90er Jahren gegründet wurde, arbeiten die Verwaltung und die Buchhaltung nach althergebrachter Art in einem lokalen Netzwerk.

Dies ist die Folge von Bedenken um das eigene Geschäft und einer verstärkten Kontrolle durch den Staat. Gesetze und Vorschriften können von den Prüfungsbehörden sehr weit ausgelegt werden. Zum Beispiel kann man die Änderungen im Steuergesetz (NK) anführen, die die Verjährungsfrist bei Steuerverstößen abschaffen, sowie die faktische Zerschlagung der Bank- und Wirtschaftsprüfungsschwiege..

Infolgedessen begann der Eigentümer des Unternehmens nach Lösungen für die sichere Speicherung von Informationen und den sicheren Austausch von Dokumenten zu suchen. Ein virtueller „Safe“.

Die Aufgabe wurde gemeinsam mit dem fest angestellten Systemadministrator bearbeitet: es bedarf einer tiefen Analyse der bestehenden Plattformen.

  • Der Dienst darf nicht cloudbasiert sein, im klassischen Sinne dieses Wortes, d.h. ohne Speicherung auf den Servern eines Drittanbieters. Nur ein eigener Server;
  • es wird eine robuste Verschlüsselung der übertragenden und gespeicherten Daten benötigt;
  • die Möglichkeit zur sofortigen Löschung von Inhalten von jedem Gerät auf Knopfdruck ist zwingend erforderlich;
  • die Lösung wurde im Ausland entwickelt.

Ich schlug vor, den vierten Punkt zu streichen, da russische Anwendungen offizielle Zertifikate haben. Der Direktor sagte direkt, was mit solchen Zertifikaten gemacht werden sollte.

Wir wählen Optionen aus

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

  • Open Source – Projekt Syncthing.net , unterstützt von dem enthusiastischen Entwickler Jacob Borg.
  • Resilio.com, betreut von der amerikanischen Firma Resilio Inc. (früher hieß dieser Dienst BitTorrent Sync).
  • Projekt Pvtbox Elektronischer Safe ab pvtbox.net Anwendungen zur Synchronisation. Zyprische Registrierung.

Der Eigentümer der Firma ist mit technischen Feinheiten wenig vertraut, deshalb habe ich den Bericht in Form von Listen der Vor- und Nachteile jeder Option erstellt.

Ergebnisse der Analyse

Syncthing

Vorteile:

  • Open Source;
  • Aktivität des Hauptentwicklers;
  • Das Projekt existiert schon sehr lange;
  • Kostenlos.

Nachteile:

  • Kein Client für iOS-Schnittstelle;
  • Langsame Turn-Server (sie sind kostenlos, daher verlangsamen sie). Für diejenigen, die
    nicht informiert sind, wird Turn verwendet, wenn keine direkte Verbindung hergestellt werden kann;
  • Komplexe Konfiguration der Benutzeroberfläche (es ist jahrelange Programmiererfahrung erforderlich);
  • Fehlende schnelle kommerzielle Unterstützung.

Resilio

Vorteile: Unterstützung aller Geräte und schnelle Turn-Server.

Nachteile: Ein und sehr wesentlicher Punkt – 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, Dateien ohne Installation von Anwendungen herunterzuladen;
  • Angemessener Kundendienst, auch telefonisch.

Nachteile:

  • Junges Projekt (wenig Bewertungen und gute Rezensionen);
  • Sehr „technisches“, nicht immer verständliches Interface der Website;
  • Keine detaillierte Dokumentation, bei vielen Fragen muss der Support kontaktiert werden.

Was der Auftraggeber gewählt hat

Seine erste Frage: Was ist der Sinn, etwas kostenlos zu entwickeln? Von Syncthing wurde sofort abgelehnt. Die Argumente haben nicht funktioniert.

Nach ein paar Tagen hat der Auftraggeber Resilio Sync wegen fehlender Unterstützung kategorisch abgelehnt, da unklar ist, an wen man sich in einer außergewöhnlichen Situation wenden soll. Zudem gab es Misstrauen gegenüber dem amerikanischen Firmensitz.

Für die weitere Analyse blieb der Pvtbox Elektronische Safe. Wir haben ein vollständiges technisches Audit dieser Plattform durchgeführt, mit Fokus auf die Möglichkeit von Datenabgriff, Entschlüsselung und unbefugtem Zugriff auf den Informationsspeicher.

Auditprozess

Wir haben die Verbindungen beim Start des Programms, während des Betriebs und im Ruhezustand analysiert. Der Verkehr läuft standardmäßig bereits verschlüsselt. Linux (Xubuntu Linux 18.04), Wireshark, Mitmproxy. Zu diesem Zweck implementieren wir einen Mittelsmann zwischen der Anwendung Pvtbox und dem Server pvtbox.net (Daten werden über eine https-Verbindung mit dem Server pvtbox.net ausgetauscht).

Wir starten die Anwendung, um sicherzustellen, dass das Programm und die Dateisynchronisation darin funktionieren. Unter Linux kann man das Log sofort beobachten, wenn das Programm aus dem Terminal gestartet wird.
Vertrauliche „Cloud“. Wir suchen nach Alternativen zu Open-Source-Lösungen

Wir schließen die Anwendung und ändern die Host-Adresse pvtbox.net in der Datei /etc/hosts mit Superuser-Rechten. Wir ändern die Adresse in die Adresse unseres Proxyservers.
Vertrauliche „Cloud“. Wir suchen nach Alternativen zu Open-Source-Lösungen

Jetzt bereiten wir unseren Proxyserver für den MITM-Angriff auf einem Computer mit der Adresse 192.168.1.64 in unserem lokalen Netzwerk vor. Dazu installieren wir das Paket mitmproxy der Version 4.0.4.

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

Wir starten das Programm Pvtbox auf dem ersten Computer und beobachten die Ausgabe von mitmproxy sowie die Logs der Anwendung.
Vertrauliche „Cloud“. Wir suchen nach Alternativen zu Open-Source-Lösungen

Mitmproxy berichtet, dass der Kunde dem Ersatzzertifikat vom Proxy-Server nicht vertraut. In den Protokollen der Anwendung sehen wir ebenfalls, dass das Zertifikat des Proxy-Servers die Prüfung nicht besteht und das Programm sich weigert zu arbeiten.

Zertifikat des Proxy-Servers installieren mitmproxy auf den Computer mit der Pvtbox-Anwendung, um das Zertifikat "vertrauenswürdig" zu machen. Auf dem Computer installieren wir das Paket ca-certificates. Dann kopieren wir das Zertifikat mitmproxy-ca-cert.pem aus dem .mitmproxy-Verzeichnis des Proxy-Servers auf den Computer mit der Pvtbox-Anwendung in das Verzeichnis /usr/local/share/ca-certificates.

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
Vertrauliche „Cloud“. Wir suchen nach Alternativen zu Open-Source-Lösungen

Starten Sie die Pvtbox-Anwendung. Das Zertifikat hat die Prüfung erneut nicht bestanden, das Programm weigert sich zu arbeiten. Wahrscheinlich nutzt die Anwendung einen Schutzmechanismus Certificate pinning.

Ein ähnlicher Angriff wurde auf den Host signalserver.pvtbox.net, sowie auf die peer-to-peer Verbindung zwischen den Knoten durchgeführt. Der Entwickler gibt an, dass die Anwendung zur Herstellung von peer-to-peer Verbindungen das offene Protokoll webrtc verwendet, das end-to-end Verschlüsselung nach dem Protokoll DTLSv1.2 verwendet.

Die Schlüssel werden bei jeder Verbindung neu erzeugt und über einen verschlüsselten Kanal übermittelt, der durch signalserver.pvtbox.net.

Theoretisch könnte man die Angebot- und Antwortnachrichten von webrtc abfangen, die Verschlüsselungsschlüssel austauschen und somit alle über webrtc gesendeten Nachrichten entschlüsseln. Aber es war nicht möglich, einen mitm-Angriff auf signalserver.pvtbox.net durchzuführen, weshalb auch keine Möglichkeit besteht, Nachrichten, die über signalserver.pvtbox.net gesendet werden, abzufangen oder auszutauschen.

Folglich ist es nicht möglich, einen solchen Angriff auf peer-to-peer Verbindungen durchzuführen.

Ein Zertifikatsdatei wurde ebenfalls entdeckt, die mit der Software bereitgestellt 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 bleibt unverändert – das Programm verweigerte die Verbindung zur Anwendung, im Protokoll wurde der gleiche Fehler angezeigt,
dass das Zertifikat die Prüfung nicht besteht.

Audit-Ergebnisse

Ich konnte den Datenverkehr nicht abfangen oder austauschen. Die Dateinamen, geschweige denn deren Inhalt, werden in verschlüsselter Form übertragen und es wird eine vollständige end-to-end Verschlüsselung verwendet. In der Anwendung sind mehrere Schutzmechanismen implementiert, die das Abhören und das Eindringen verhindern.

Als Ergebnis hat das Unternehmen zwei dedizierte Server (physisch an verschiedenen Standorten) für den permanenten Zugriff auf Informationen gekauft. Der erste Server wird für den Empfang, die Verarbeitung und die Speicherung von Informationen genutzt, der zweite – für die Datensicherung.

An die erhaltene individuelle Cloud wurden der Arbeitsterminal des Direktors und ein Mobiltelefon mit iOS angeschlossen. Andere Mitarbeiter wurden vom internen Systemadministrator und dem Support-Team von Pvtbox angeschlossen.

In der vergangenen Zeit gab es keine Beschwerden von dem Bekannten. Ich hoffe, mein Bericht hilft den Lesern von Habr in einer ähnlichen Situation.

Quelle: habr.com

60GB SSD 8Gb DDR4