Was tun, wenn Silowiki zu Ihrem Hoster kommen?

Was tun, wenn Silowiki zu Ihrem Hoster kommen?kdpv – Reuters

Wenn Sie einen Server mieten, haben Sie nicht die volle Kontrolle darüber. Das bedeutet, dass jederzeit speziell geschulte Personen zum Hoster kommen und Sie um die Angabe Ihrer Daten bitten können. Und der Hoster wird sie zurückgeben, wenn die Forderung gesetzlich formalisiert wird.

Sie möchten wirklich nicht, dass Ihre Webserver-Protokolle oder Benutzerdaten an Dritte weitergegeben werden. Es ist unmöglich, eine ideale Verteidigung aufzubauen. Es ist nahezu unmöglich, sich vor einem Hoster zu schützen, der den Hypervisor besitzt und Ihnen eine virtuelle Maschine zur Verfügung stellt. Aber vielleicht gelingt es, die Risiken ein wenig zu reduzieren. Mietwagen zu verschlüsseln ist gar nicht so nutzlos, wie es auf den ersten Blick scheint. Schauen wir uns gleichzeitig die Bedrohungen an, die durch die Datenextraktion von physischen Servern entstehen.

Bedrohungsmodell

In der Regel wird der Hoster versuchen, die Interessen des Kunden gesetzlich so weit wie möglich zu wahren. Wenn in dem Schreiben der offiziellen Behörden nur Zugriffsprotokolle angefordert wurden, stellt der Hoster keine Dumps aller Ihrer virtuellen Maschinen mit Datenbanken zur Verfügung. Zumindest sollte es nicht. Wenn alle Daten abgefragt werden, kopiert der Hoster die virtuellen Festplatten mit allen Dateien, ohne dass Sie davon erfahren.

Unabhängig vom Szenario besteht Ihr Hauptziel darin, den Angriff zu schwierig und teuer zu machen. Normalerweise gibt es drei Hauptbedrohungsoptionen.

Offiziell

Am häufigsten wird ein Papierbrief an die offizielle Geschäftsstelle des Hosters geschickt, mit der Aufforderung, die erforderlichen Daten gemäß den einschlägigen Vorschriften bereitzustellen. Wenn alles richtig gemacht wird, stellt der Hoster den offiziellen Behörden die notwendigen Zugriffsprotokolle und andere Daten zur Verfügung. Normalerweise werden Sie lediglich aufgefordert, die erforderlichen Daten zu senden.

Gelegentlich, wenn es unbedingt erforderlich ist, kommen Vertreter von Strafverfolgungsbehörden persönlich ins Rechenzentrum. Wenn Sie beispielsweise über einen eigenen dedizierten Server verfügen und Daten von dort nur physisch entnommen werden können.

In allen Ländern erfordert der Zugang zu Privateigentum, die Durchführung von Durchsuchungen und andere Aktivitäten den Nachweis, dass die Daten möglicherweise wichtige Informationen für die Aufklärung einer Straftat enthalten. Darüber hinaus ist ein vorschriftsmäßiger Durchsuchungsbefehl erforderlich. Es kann Nuancen im Zusammenhang mit den Besonderheiten der lokalen Gesetzgebung geben. Das Wichtigste, was Sie verstehen müssen, ist, dass die Vertreter des Rechenzentrums niemanden am Eingang vorbeilassen, wenn der offizielle Weg korrekt ist.

Darüber hinaus ist es in den meisten Ländern nicht möglich, die Laufausrüstung einfach herauszuholen. Beispielsweise war in Russland bis Ende 2018 gemäß Artikel 183 der Strafprozessordnung der Russischen Föderation, Teil 3.1, garantiert, dass bei einer Beschlagnahme die Beschlagnahme elektronischer Speichermedien unter Beteiligung erfolgte eines Spezialisten. Auf Verlangen des rechtmäßigen Eigentümers der beschlagnahmten elektronischen Speichermedien oder des Eigentümers der darauf enthaltenen Informationen kopiert der an der Beschlagnahme beteiligte Fachmann im Beisein von Zeugen Informationen von den beschlagnahmten elektronischen Speichermedien auf andere elektronische Speichermedien.

Dann wurde dieser Punkt leider aus dem Artikel entfernt.

Geheim und inoffiziell

Dies ist bereits das Tätigkeitsgebiet speziell ausgebildeter Kameraden der NSA, des FBI, des MI5 und anderer Drei-Buchstaben-Organisationen. Meistens sieht die Gesetzgebung der Länder extrem weitreichende Befugnisse für solche Strukturen vor. Darüber hinaus besteht fast immer ein gesetzliches Verbot der direkten oder indirekten Offenlegung der Tatsache der Zusammenarbeit mit solchen Strafverfolgungsbehörden. Ähnliche gibt es in Russland gesetzliche Regelungen.

Im Falle einer solchen Bedrohung Ihrer Daten werden diese mit ziemlicher Sicherheit entfernt. Darüber hinaus kann neben der einfachen Beschlagnahmung auch das gesamte inoffizielle Arsenal an Hintertüren, Zero-Day-Schwachstellen, Datenextraktion aus dem RAM Ihrer virtuellen Maschine und andere Freuden genutzt werden. In diesem Fall ist der Hoster verpflichtet, die Strafverfolgungsbehörden bestmöglich zu unterstützen.

Skrupelloser Mitarbeiter

Nicht alle Menschen sind gleich gut. Einer der Rechenzentrumsadministratoren beschließt möglicherweise, zusätzliches Geld zu verdienen und Ihre Daten zu verkaufen. Die weitere Entwicklung hängt von seinen Befugnissen und Zugriffsmöglichkeiten ab. Das Ärgerlichste ist, dass ein Administrator mit Zugriff auf die Virtualisierungskonsole die vollständige Kontrolle über Ihre Maschinen hat. Sie können jederzeit einen Schnappschuss mit dem gesamten Inhalt des RAM machen und ihn dann langsam studieren.

VDS

Sie haben also eine virtuelle Maschine, die Ihnen der Hoster zur Verfügung gestellt hat. Wie können Sie Verschlüsselung implementieren, um sich zu schützen? Tatsächlich praktisch nichts. Darüber hinaus kann sogar der dedizierte Server einer anderen Person am Ende eine virtuelle Maschine sein, in die die erforderlichen Geräte eingefügt werden.

Wenn die Aufgabe des Remote-Systems nicht nur darin besteht, Daten zu speichern, sondern auch einige Berechnungen durchzuführen, wäre die einzige Möglichkeit für die Arbeit mit einer nicht vertrauenswürdigen Maschine die Implementierung homomorphe Verschlüsselung. In diesem Fall führt das System Berechnungen durch, ohne zu verstehen, was es genau tut. Leider sind die Gemeinkosten für die Implementierung einer solchen Verschlüsselung so hoch, dass ihr praktischer Einsatz derzeit auf sehr begrenzte Aufgaben beschränkt ist.

Außerdem befinden sich in dem Moment, in dem die virtuelle Maschine läuft und einige Aktionen ausführt, alle verschlüsselten Volumes in einem zugänglichen Zustand, andernfalls kann das Betriebssystem einfach nicht mit ihnen arbeiten. Das bedeutet, dass Sie mit Zugriff auf die Virtualisierungskonsole jederzeit einen Snapshot einer laufenden Maschine erstellen und alle Schlüssel aus dem RAM extrahieren können.

Viele Anbieter haben versucht, die Hardware-Verschlüsselung des Arbeitsspeichers so zu organisieren, dass selbst der Hoster keinen Zugriff auf diese Daten hat. Zum Beispiel die Intel Software Guard Extensions-Technologie, die Bereiche im virtuellen Adressraum organisiert, die vor Lese- und Schreibzugriffen von außerhalb dieses Bereichs durch andere Prozesse, einschließlich des Betriebssystemkernels, geschützt sind. Leider können Sie diesen Technologien nicht vollständig vertrauen, da Sie auf Ihre virtuelle Maschine beschränkt sind. Darüber hinaus existieren bereits fertige Beispiele erfolgreicher Angriff für diese Technologie. Dennoch ist die Verschlüsselung virtueller Maschinen nicht so sinnlos, wie es scheint.

Wir verschlüsseln Daten auf VDS

Lassen Sie mich gleich einen Vorbehalt anbringen, dass alles, was wir im Folgenden tun, nicht einem umfassenden Schutz gleichkommt. Mit dem Hypervisor können Sie die erforderlichen Kopien erstellen, ohne den Dienst zu unterbrechen und ohne dass Sie es merken.

  • Wenn der Hoster auf Wunsch ein „kaltes“ Image Ihrer virtuellen Maschine überträgt, sind Sie relativ sicher. Dies ist das häufigste Szenario.
  • Wenn der Hoster Ihnen einen vollständigen Schnappschuss einer laufenden Maschine zur Verfügung stellt, ist alles ziemlich schlecht. Alle Daten werden in übersichtlicher Form im System bereitgestellt. Darüber hinaus wird es möglich sein, den Arbeitsspeicher nach privaten Schlüsseln und ähnlichen Daten zu durchsuchen.

Wenn Sie das Betriebssystem über ein Vanilla-Image bereitgestellt haben, hat der Hoster standardmäßig keinen Root-Zugriff. Sie können das Medium jederzeit mit dem Rettungsabbild mounten und das Root-Passwort ändern, indem Sie die Umgebung der virtuellen Maschine chrooten. Dies erfordert jedoch einen Neustart, der bemerkt wird. Außerdem werden alle bereitgestellten verschlüsselten Partitionen geschlossen.

Wenn die Bereitstellung einer virtuellen Maschine jedoch nicht über ein Vanilla-Image, sondern über ein vorbereitetes Image erfolgt, kann der Hoster häufig ein privilegiertes Konto hinzufügen, um in einer Notsituation beim Client zu helfen. Zum Beispiel, um ein vergessenes Root-Passwort zu ändern.

Auch bei einem kompletten Schnappschuss ist nicht alles so traurig. Ein Angreifer erhält keine verschlüsselten Dateien, wenn Sie sie aus dem Remote-Dateisystem eines anderen Computers gemountet haben. Ja, theoretisch können Sie den RAM-Speicherauszug auswählen und die Verschlüsselungsschlüssel von dort extrahieren. In der Praxis ist dies jedoch nicht ganz trivial und es ist sehr unwahrscheinlich, dass der Vorgang über die einfache Dateiübertragung hinausgeht.

Bestellen Sie ein Auto

Was tun, wenn Silowiki zu Ihrem Hoster kommen?

Für unsere Testzwecke nehmen wir eine einfache Maschine mit Abschnitt zum Bestellen von Servern. Da wir keine großen Ressourcen benötigen, entscheiden wir uns für die tatsächlich aufgewendeten Megahertz- und Traffic-Zahlungen. Gerade genug, um damit herumzuspielen.

Das klassische dm-crypt für die gesamte Partition hat sich nicht durchgesetzt. Standardmäßig wird die Festplatte als Ganzes bereitgestellt, mit Root für die gesamte Partition. Das Verkleinern einer ext4-Partition auf einer Root-Partition ist praktisch ein garantierter Baustein anstelle eines Dateisystems. Ich habe es versucht) Das Tamburin hat nicht geholfen.

Erstellen eines Krypto-Containers

Daher werden wir nicht die gesamte Partition verschlüsseln, sondern Datei-Krypto-Container verwenden, nämlich das geprüfte und zuverlässige VeraCrypt. Für unsere Zwecke ist dies ausreichend. Zuerst laden wir das Paket mit der CLI-Version von der offiziellen Website herunter und installieren es. Sie können gleichzeitig die Signatur überprüfen.

wget https://launchpad.net/veracrypt/trunk/1.24-update4/+download/veracrypt-console-1.24-Update4-Ubuntu-18.04-amd64.deb
dpkg -i veracrypt-console-1.24-Update4-Ubuntu-18.04-amd64.deb

Jetzt erstellen wir den Container selbst irgendwo bei uns zu Hause, damit wir ihn beim Neustart manuell bereitstellen können. Legen Sie in der interaktiven Option die Containergröße, das Passwort und die Verschlüsselungsalgorithmen fest. Sie können zwischen der patriotischen Chiffre Grasshopper und der Stribog-Hash-Funktion wählen.

veracrypt -t -c ~/my_super_secret

Jetzt installieren wir Nginx, mounten den Container und füllen ihn mit geheimen Informationen.

mkdir /var/www/html/images
veracrypt ~/my_super_secret /var/www/html/images/
wget https://upload.wikimedia.org/wikipedia/ru/2/24/Lenna.png

Korrigieren wir /var/www/html/index.nginx-debian.html leicht, um die gewünschte Seite zu erhalten, und Sie können sie überprüfen.

Anschließen und prüfen

Was tun, wenn Silowiki zu Ihrem Hoster kommen?
Der Container ist montiert, die Daten sind abrufbar und werden versendet.

Was tun, wenn Silowiki zu Ihrem Hoster kommen?
Und hier ist die Maschine nach dem Neustart. Die Daten werden sicher in ~/my_super_secret gespeichert.

Wenn Sie es wirklich brauchen und Hardcore wollen, können Sie das gesamte Betriebssystem verschlüsseln, sodass beim Neustart eine Verbindung über SSH und die Eingabe eines Passworts erforderlich ist. Dies wird auch im Szenario einer einfachen Entnahme „kalter Daten“ ausreichen. Hier Anweisungen zur Verwendung von Dropbear und Remote-Festplattenverschlüsselung. Obwohl es im Fall von VDS schwierig und überflüssig ist.

Rohmetall

Es ist gar nicht so einfach, einen eigenen Server in einem Rechenzentrum zu installieren. Die dedizierte Maschine einer anderen Person kann sich als virtuelle Maschine herausstellen, in die alle Geräte übertragen werden. Aber etwas Interessantes in Sachen Schutz beginnt, wenn Sie die Möglichkeit haben, Ihren vertrauenswürdigen physischen Server in einem Rechenzentrum zu platzieren. Hier können Sie bereits traditionelles dm-crypt, VeraCrypt oder jede andere Verschlüsselung Ihrer Wahl vollständig nutzen.

Sie müssen sich darüber im Klaren sein, dass der Server nach einem Neustart nicht in der Lage sein wird, sich selbst wiederherzustellen, wenn eine vollständige Verschlüsselung implementiert ist. Es ist notwendig, die Verbindung zum lokalen IP-KVM, IPMI oder einer anderen ähnlichen Schnittstelle herzustellen. Anschließend geben wir den Hauptschlüssel manuell ein. Das Schema sieht in Bezug auf Kontinuität und Fehlertoleranz mittelmäßig aus, es gibt jedoch keine besonderen Alternativen, wenn die Daten so wertvoll sind.

Was tun, wenn Silowiki zu Ihrem Hoster kommen?
NCipher nShield F3 Hardware-Sicherheitsmodul

Eine weichere Variante geht davon aus, dass die Daten verschlüsselt sind und der Schlüssel direkt auf dem Server selbst in einem speziellen HSM (Hardware Security Module) liegt. In der Regel handelt es sich dabei um sehr funktionale Geräte, die nicht nur Hardware-Kryptographie bieten, sondern auch über Mechanismen zur Erkennung physischer Hackerversuche verfügen. Wenn jemand anfängt, mit einem Winkelschleifer an Ihrem Server herumzustochern, setzt das HSM mit unabhängiger Stromversorgung die in seinem Speicher gespeicherten Schlüssel zurück. Der Angreifer erhält das verschlüsselte Hackfleisch. In diesem Fall kann der Neustart automatisch erfolgen.

Das Entfernen von Schlüsseln ist eine viel schnellere und humanere Option als das Aktivieren einer Thermitbombe oder eines elektromagnetischen Ableiters. Für solche Geräte werden Sie im Rechenzentrum sehr lange von Ihren Nachbarn am Rack geschlagen. Darüber hinaus im Falle der Verwendung TCG-Opal 2 Durch die Verschlüsselung auf dem Medium selbst entsteht praktisch kein Overhead. All dies geschieht transparent für das Betriebssystem. Allerdings muss man in diesem Fall dem bedingten Samsung vertrauen und hoffen, dass es ehrliches AES256 hat und nicht das banale XOR.

Gleichzeitig dürfen wir nicht vergessen, dass alle unnötigen Ports physisch deaktiviert oder einfach mit Compound gefüllt werden müssen. Andernfalls geben Sie Angreifern Gelegenheit zur Ausführung DMA-Angriffe. Wenn PCI Express oder Thunderbolt herausragt, einschließlich USB mit seiner Unterstützung, sind Sie anfällig. Ein Angreifer kann über diese Ports einen Angriff durchführen und sich mit Schlüsseln direkten Zugriff auf den Speicher verschaffen.

In einer sehr ausgefeilten Version ist der Angreifer in der Lage, einen Kaltstartangriff durchzuführen. Gleichzeitig schüttet es einfach eine ordentliche Portion flüssigen Stickstoff in Ihren Server, entfernt grob die eingefrorenen Speichersticks und nimmt einen Dump mit allen Schlüsseln von ihnen. Oftmals reichen ein normaler Kühlspray und eine Temperatur von etwa -50 Grad aus, um einen Angriff durchzuführen. Es gibt auch eine genauere Option. Wenn Sie das Laden von externen Geräten nicht deaktiviert haben, ist der Algorithmus des Angreifers noch einfacher:

  1. Frieren Sie Speichersticks ein, ohne das Gehäuse zu öffnen
  2. Schließen Sie Ihr bootfähiges USB-Flash-Laufwerk an
  3. Verwenden Sie spezielle Dienstprogramme, um Daten aus dem RAM zu entfernen, die den Neustart aufgrund des Einfrierens überstanden haben.

Divide and Conquer

Ok, wir haben nur virtuelle Maschinen, aber ich möchte das Risiko von Datenlecks irgendwie reduzieren.
Grundsätzlich können Sie versuchen, die Architektur zu überarbeiten und die Datenspeicherung und -verarbeitung auf verschiedene Gerichtsbarkeiten zu verteilen. Beispielsweise stammt das Frontend mit den Verschlüsselungsschlüsseln vom Hoster in der Tschechischen Republik und das Backend mit den verschlüsselten Daten befindet sich irgendwo in Russland. Im Falle eines Standardbeschlagnahmungsversuchs ist es äußerst unwahrscheinlich, dass Strafverfolgungsbehörden diesen gleichzeitig in verschiedenen Gerichtsbarkeiten durchführen können. Außerdem schützt uns dies teilweise vor dem Szenario, einen Schnappschuss zu machen.

Nun, oder Sie können eine völlig reine Option in Betracht ziehen – die Ende-zu-Ende-Verschlüsselung. Dies geht natürlich über den Rahmen der Spezifikation hinaus und beinhaltet nicht die Durchführung von Berechnungen auf der Seite der Remote-Maschine. Dies ist jedoch eine durchaus akzeptable Option, wenn es um die Speicherung und Synchronisierung von Daten geht. Dies ist beispielsweise in Nextcloud sehr komfortabel umgesetzt. Gleichzeitig werden Synchronisierung, Versionierung und andere serverseitige Extras nicht verschwinden.

Insgesamt

Es gibt keine absolut sicheren Systeme. Das Ziel besteht einfach darin, dass der Angriff mehr wert ist als der potenzielle Gewinn.

Durch die Kombination von Verschlüsselung und separater Speicherung bei verschiedenen Hostern kann eine gewisse Reduzierung der Risiken beim Zugriff auf Daten auf einer virtuellen Site erreicht werden.

Eine mehr oder weniger zuverlässige Option ist die Verwendung eines eigenen Hardware-Servers.

Aber man muss dem Hoster trotzdem auf die eine oder andere Weise vertrauen. Darauf ruht die gesamte Branche.

Was tun, wenn Silowiki zu Ihrem Hoster kommen?

Was tun, wenn Silowiki zu Ihrem Hoster kommen?

Source: habr.com

Kommentar hinzufügen