Best Practices zum Schutz vor Kryptowährungs-Mining-Angriffen

Last reviewed 2023-10-20 UTC

Das Kryptowährungs-Mining (auch Bitcoin-Mining genannt) ist der Prozess zum Erstellen neuer Cryptocoins und zum Prüfen von Transaktionen. Kryptowährungs-Mining-Angriffe treten auf, wenn Angreifer, die Zugriff auf Ihre Umgebung erhalten, auch Ihre Ressourcen ausnutzen können, um auf Ihre Kosten eigene Mining-Vorgänge auszuführen.

Laut dem Threat Horizons-Bericht vom November 2021 sind Kryptowährungs-Mining-Angriffe die häufigste Methode, mit der Angreifer Ihre Rechenressourcen ausbeuten, nachdem sie Ihre Google Cloud-Umgebung kompromittiert haben. Der Bericht besagt auch, dass Angreifer in der Regel innerhalb von 22 Sekunden nach dem Eindringen in Ihr System Software zum Schürfen von Kryptowährungen auf Ihr System herunterladen. Das Mining von Kryptowährungen kann die Kosten schnell in die Höhe treiben, und ein Kryptowährungs-Mining-Angriff kann zu einer viel höheren Rechnung führen, als Sie erwartet haben. Da sich die Kosten schnell summieren können, müssen Sie Schutz-, Aufdeckungs- und Schadensbegrenzungsmaßnahmen zum Schutz Ihres Unternehmens stellen.

Dieses Dokument richtet sich an Sicherheitsarchitekten und Administratoren. Es werden Best Practices beschrieben, mit denen Sie Ihre Google Cloud-Ressourcen vor Mining von Kryptowährungen schützen und die Auswirkungen eines Angriffs minimieren können.

Bedrohungsvektoren identifizieren

Wenn Sie feststellen möchten, ob Ihr Unternehmen Kryptowährungs-Mining-Angriffen ausgesetzt ist, müssen Sie die Bedrohungsvektoren identifizieren, die auf Ihr Unternehmen zutreffen.

Der Bericht „Threat Horizons“ vom November 2021 gibt an, dass die meisten Angreifer Sicherheitslücken ausnutzen, darunter folgende:

  • Schwache Passwörter oder kein Passwort für Nutzerkonten
  • Schwache oder keine Authentifizierung für Google Cloud APIs
  • Sicherheitslücken in Drittanbietersoftware
  • Fehlkonfigurationen in Ihrer Google Cloud-Umgebung oder in Anwendungen von Drittanbietern, die Sie in Google Cloud ausführen
  • Geleakte Anmeldedaten, z. B. Dienstkontoschlüssel, die in öffentlichen GitHub-Repositories veröffentlicht wurden

Darüber hinaus können Sie die folgenden Dokumente abonnieren und prüfen, um eine Liste von Bedrohungsvektoren zu erhalten:

Nachdem Sie die für Sie zutreffenden Bedrohungsvektoren identifiziert haben, können Sie die übrigen Best Practices in diesem Dokument nutzen, um ihnen zu begegnen.

Konten und Konto-Anmeldedaten schützen

Angreifer können ungeschützte oder falsch verwaltete Konten ausnutzen, um Zugriff auf Ihre Compute Engine-Ressourcen zu erhalten. Google Cloud bietet verschiedene Optionen, die Sie zum Verwalten von Konten und Gruppen konfigurieren können.

Zugriff auf Ihre Cloud-Umgebung einschränken

In der folgenden Tabelle werden die Organisationsrichtlinien beschrieben, mit denen Sie festlegen können, wer auf Ihre Cloud-Umgebung zugreifen kann.

Organisationsrichtlinie-Beschränkung Beschreibung
Domaineingeschränkte Freigabe Geben Sie an, welche Kunden-IDs für Cloud Identity oder Google Workspace gültig sind.
Zulässige AWS-Konten, die für die Workload Identity-Föderation in Cloud IAM konfiguriert werden können Definieren Sie in einer Hybrid-Cloud-Umgebung, welche AWS-Konten die Workload Identity-Föderation verwenden können.
Zulässige externe Identitätsanbieter für Arbeitslasten Definieren Sie in einer Hybrid-Cloud-Umgebung, welche Identitätsanbieter Ihre Arbeitslasten verwenden können.

MFA oder Bestätigung in zwei Schritten einrichten

Cloud Identity unterstützt die Multi-Faktor-Authentifizierung (MFA) mithilfe verschiedener Methoden. Konfigurieren Sie MFA, insbesondere für Ihre privilegierten Konten. Weitere Informationen finden Sie unter Einheitliche Multi-Faktor-Authentifizierung für unternehmenseigene Ressourcen erzwingen.

Verwenden Sie zum Verhindern von Phishing-Angriffen, die zu Kryptowährungs-Mining-Angriffen führen können, Titan-Sicherheitsschlüssel für die 2-Faktor-Authentifizierung (2FA).

Geringste Berechtigung konfigurieren

Das Prinzip der geringsten Berechtigung stellt sicher, dass Nutzer und Dienste nur den Zugriff haben, den sie für ihre spezifischen Aufgaben benötigen. Das Prinzip der geringsten Berechtigung verlangsamt die Verteilung von Angriffen auf eine Organisation, da ein Angreifer seine Berechtigungen nicht einfach eskalieren kann.

Verwenden Sie die detaillierten Richtlinien, Rollen und Berechtigungen in Identity and Access Management (IAM), um die Anforderungen Ihrer Organisation zu erfüllen. Analysieren Sie außerdem Ihre Berechtigungen regelmäßig mit dem Rollen-Recommender und mit Policy Analyzer. Der Rollen-Recommender verwendet maschinelles Lernen, um Ihre Einstellungen zu analysieren und Empfehlungen zu geben, damit Ihre Rolleneinstellungen dem Prinzip der geringsten Berechtigung entsprechen. Mit Policy Analyzer können Sie sehen, welche Konten Zugriff auf Ihre Cloud-Ressourcen haben.

Konten überwachen

Wenn Sie Gruppen verwenden, um IAM-Richtlinien zuzuweisen, überwachen Sie die Gruppenlogs, um sicherzustellen, dass keine Konten außerhalb von Unternehmen hinzugefügt werden. Beschränken Sie außerdem die Identitäten anhand von Cloud Identity- oder Google Workspace-Domains, die auf Ihre Ressourcen zugreifen können. Weitere Informationen finden Sie unter Identitäten nach Domain einschränken.

Achten Sie darauf, dass Ihre Onboarding-Verfahren Prozesse umfassen, Konten zu deaktivieren und Berechtigungen zurückzusetzen, wenn Mitarbeiter Ihre Organisation verlassen oder die Rolle ändern. Weitere Informationen finden Sie unter Zugriff auf Google Cloud widerrufen.

Informationen zum Prüfen Ihrer Nutzer und Gruppen finden Sie unter Audit-Logs für Google Workspace.

Verhindern Sie Internetzugriff auf Ihre Compute Engine- und GKE-Ressourcen

Wenn Sie den Internetzugriff reduzieren, haben Ihre Angreifer weniger Möglichkeiten, Sicherheitslücken zu finden und auszunutzen. In diesem Abschnitt werden die Best Practices beschrieben, mit denen Sie Ihre Compute Engine-VMs und Ihre GKE-Cluster (Google Kubernetes Engine) vor Internetzugriff schützen können.

Externen Traffic beschränken

Weisen Sie Ihren VMs keine externen IP-Adressen zu. Sie können die Einschränkung für Organisationsrichtlinie Externe VPC-IPv6-Nutzung deaktivieren nutzen, um externe IP-Adressen für alle VMs abzulehnen. Informationen darüber, welche VMs öffentlich zugängliche IP-Adressen haben, finden Sie unter IP-Adressen für eine Instanz suchen. Wenn Ihre Architektur externe IP-Adressen für Ihre VMs erfordert, verwenden Sie die Organisationsrichtlinie Zulässige externe IPs für VM-Instanzen definieren, mit der Sie eine Liste der Instanznamen definieren können, die externe IP-Adressen haben dürfen.

GKE-Knoten auf nur interne IP-Adressen beschränken. Weitere Informationen finden Sie unter Privaten Cluster erstellen.

Beschränken des eingehenden und ausgehenden Traffics im Internet für alle Ressourcen in Ihren Projekten. Weitere Informationen finden Sie unter VPC-Firewallregeln und Hierarchische Firewallrichtlinien.

Weitere Informationen zum Einschränken externen Traffics, z. B. zum Konfigurieren von Cloud NAT, um ausgehende Kommunikation für VMs ohne externe IP-Adresse zuzulassen, oder zum Verwenden eines Proxy-Load-Balancers für eingehende Kommunikation finden Sie unter Sicher mit VM-Instanzen verbinden.

Dienstperimeter verwenden

Erstellen Sie mit VPC Service Controls einen Dienstperimeter für Ihre Compute Engine- und GKE-Ressourcen. Mit VPC Service Controls können Sie die Kommunikation mit Ihren Compute Engine-Ressourcen von außerhalb des Perimeters steuern. Dienstperimeter ermöglichen die uneingeschränkte Kommunikation innerhalb des Perimeters, blockieren die Datenexfiltration und blockieren die Dienstkommunikation von außerhalb des Perimeters. Verwenden Sie Attribute des kontextsensitiven Zugriffs wie IP-Adressen und die Identitäten der Nutzer, um den Zugriff auf Google Cloud-Dienste über das Internet weiter zu steuern.

Zero-Trust-Sicherheit einrichten

Zero-Trust-Sicherheit mit BeyondCorp Enterprise einrichten BeyondCorp Enterprise bietet Bedrohungs- und Datenschutz sowie Zugriffssteuerungen. Wenn sich Ihre Arbeitslasten sowohl lokal als auch in Google Cloud befinden, konfigurieren Sie Identity-Aware Proxy (IAP). Konfigurieren Sie die TCP-Weiterleitung, um zu steuern, wer auf Ihre Google Cloud-Ressourcen über das öffentliche Internet auf administrative Dienste wie SSH und RDP zugreifen kann. Durch TCP-Weiterleitung werden diese Dienste nicht öffentlich im Internet bereitgestellt.

Compute Engine- und GKE-Ressourcen schützen

Für das Mining von Kryptowährung ist der Zugriff auf Ihre Compute Engine- und GKE-Ressourcen erforderlich. In diesem Abschnitt werden die Best Practices beschrieben, mit denen Sie Ihre Compute Engine- und GKE-Ressourcen schützen können.

VM-Images schützen

Gehärtete und ausgewählte VM-Images verwenden Sie durch Konfiguration von Shielded VM. Shielded VM schützt vor dem Laden von schädlichem Code wie Kernel-Malware oder Rootkits während des Bootzyklus. Shielded VM bietet Bootsicherheit, überwacht die Integrität und verwendet das Virtual Trusted Platform Module (vTPM).

Zur Einschränkung der bereitgestellten Images können Sie Richtlinien für vertrauenswürdige Images implementieren. Die Organisationsrichtlinie Vertrauenswürdige Image-Projekte definieren legt fest, welche Projekte Images und nichtflüchtige Speicher speichern können. Sorgen Sie dafür, dass in diesen Projekten nur vertrauenswürdige und verwaltete Images vorhanden sind.

Sorgen Sie in GKE dafür, dass Ihre Container Basis-Images verwenden, die regelmäßig mit Sicherheitspatches aktualisiert werden. Ziehen Sie auch distroless-Container-Images in Betracht, die nur Ihre Anwendung und deren Laufzeitabhängigkeiten enthalten.

Sicherer SSH-Zugriff auf VMs

Konfigurieren Sie OS Login, um den SSH-Zugriff auf die VMs zu verwalten, die in Compute Engine ausgeführt werden. OS Login vereinfacht die Verwaltung des SSH-Zugriffs, weil das Linux-Nutzerkonto Ihres Administrators mit seiner Google-Identität verknüpft wird. OS Login funktioniert mit IAM, sodass Sie die Berechtigungen für Administratoren definieren können.

Weitere Informationen finden Sie unter VMs und Container schützen.

Dienstkonten einschränken

Ein Dienstkonto ist ein Google Cloud-Konto, mit dem Arbeitslasten die Google API eines Dienstes aufrufen.

Erlauben Sie Google Cloud nicht, den Ressourcen bei ihrer Erstellung Standardrollen für Dienstkonten zuzuweisen. Weitere Informationen finden Sie unter Nutzung von Dienstkonten einschränken.

Verwenden Sie keine Dienstkontoschlüssel, wenn Ihre Anwendungen außerhalb von Google Cloud ausgeführt werden und aber Zugriff auf Google Cloud-Ressourcen benötigen. Implementieren Sie stattdessen eine Workload Identity-Föderation, um externe Identitäten und die mit ihnen verknüpften Berechtigungen zu verwalten. Für GKE können Sie Workload-Identitäten implementieren. Weitere Informationen finden Sie unter Authentifizierungsmethode für Ihren Anwendungsfall auswählen.

Weitere Best Practices zum Schutz von Dienstkonten finden Sie unter Best Practices für die Arbeit mit Dienstkonten.

Nutzung von Dienstkonten und Dienstkontoschlüsseln überwachen

Richten Sie das Monitoring ein, damit Sie verfolgen können, wie Dienstkonten und Dienstkontoschlüssel in Ihrer Organisation verwendet werden. Verwenden Sie Dienstkontostatistiken, um Einblick in wichtige Nutzungsmuster zu erhalten. Beispielsweise können Sie mithilfe von Statistiken zu Dienstkonten ermitteln, wie Berechtigungen in Ihren Projekten verwendet werden, und nicht verwendete Dienstkonten identifizieren. Sie können feststellen, wann Ihre Dienstkonten und Schlüssel zuletzt zum Aufrufen einer Google API für Authentifizierungsaktivitäten verwendet wurden. Rufen Sie dazu die aktuelle Nutzung von Dienstkonten und Dienstkontoschlüsseln auf.

VMs und Container überwachen und patchen

Um einen Kryptowährungs-Mining-Angriff zu starten, nutzen Angreifer häufig Fehlkonfigurationen und Softwaresicherheitslücken, um Zugriff auf Compute Engine- und GKE-Ressourcen zu erhalten.

Verwenden Sie Security Health Analytics, um Ihre Ressourcen zu scannen und Informationen zu Sicherheitslücken und Fehlkonfigurationen zu erhalten, die für Ihre Umgebung gelten. Wenn Sie die Security Command Center Premium verwenden, lesen Sie insbesondere die Ergebnisse der Compute Engine-Instanz und die Containerergebnisse. Richten Sie Prozesse ein, um sie schnell zu beheben.

Verwenden Sie Artefaktanalyse, um in den Container-Images, die Sie in Artifact Registry oder Container Registry speichern, nach Sicherheitslücken zu suchen.

Sorgen Sie dafür, dass Ihre Organisation Patches bereitstellen kann, sobald sie verfügbar sind. Sie können OS Patch Management für Compute Engine verwenden. Google patcht Sicherheitslücken automatisch in GKE. Weitere Informationen finden Sie unter Images und Cluster auf dem neuesten Stand halten.

Anwendungen mit einer WAF schützen

Angreifer können auf Ihr Netzwerk zugreifen, indem sie Layer-7-Sicherheitslücken in Ihren bereitgestellten Anwendungen ermitteln. Konfigurieren Sie Google Cloud Armor, eine Webanwendungs-Firewall (WAF), die Layer-7-Filter- und Sicherheitsrichtlinien verwendet, um diese Angriffe zu verringern. Google Cloud Armor bietet Denial of Service-Schutz (DoS) und WAF-Schutz für Anwendungen und Dienste, die in Google Cloud, lokal oder in anderen Clouds gehostet werden.

Google Cloud Armor enthält eine WAF-Regel, um Apache Log4j-Sicherheitslücken zu beheben. Angreifer können Log4j-Sicherheitslücken nutzen, um Malware einzuführen, die nicht autorisiertes Kryptowährung-Mining ausführen kann. Weitere Informationen finden Sie unter Google Cloud Armor-WAF-Regel zur Bewahrung vor der Apache Log4j-Sicherheitslücke.

Lieferkette schützen

Continuous Integration und Continuous Delivery (CI/CD) bietet einen Mechanismus, mit dem Sie Ihren Kunden die neuesten Funktionen schnell zur Verfügung stellen können. Führen Sie eine Codeanalyse durch und beobachten Sie Ihre Pipeline auf böswillige Angriffe, um Kryptowährungs-Mining-Angriffe auf Ihre Pipeline zu verhindern.

Implementieren Sie die Binärautorisierung, damit alle Images während des Entwicklungsprozesses von vertrauenswürdigen Stellen signiert werden und erzwingen Sie dann die Signaturvalidierung, wenn Sie die Images bereitstellen.

Verschieben Sie Sicherheitsprüfungen im CI-/CD-Prozess so früh wie möglich (manchmal auch als Verschiebung nach links bezeichnet). Weitere Informationen finden Sie unter Linksverschiebung bei der Sicherheit: Softwarelieferketten schützen. Informationen zum Einrichten einer sicheren Lieferkette mit GKE finden Sie unter Sicherheit der Softwarelieferkette.

Secrets und Schlüssel verwalten

Ein Schlüsselangriffsvektor für nicht autorisierte Kryptowährung-Mining-Angriffe ist unsicher oder geleakt. In diesem Abschnitt werden die Best Practices beschrieben, mit denen Sie Ihre Secrets und Verschlüsselungsschlüssel schützen können.

Verschlüsselungsschlüssel regelmäßig rotieren

Achten Sie darauf, dass alle Verschlüsselungsschlüssel regelmäßig rotiert werden. Wenn Cloud KMS Ihre Verschlüsselungsschlüssel verwaltet, können Sie Ihre Verschlüsselungsschlüssel automatisch rotieren.

Wenn Sie Dienstkonten mit von Google verwalteten Schlüsselpaaren verwenden, werden die Schlüssel auch automatisch rotiert.

Secrets nicht herunterladen

Sichtbare Secrets sind ein wichtiger Angriffsvektor für Angreifer. Laden Sie nach Möglichkeit keine Verschlüsselungsschlüssel oder andere Secrets herunter, einschließlich Dienstkontoschlüssel. Wenn Sie Schlüssel herunterladen müssen, muss Ihre Organisation einen Schlüsselrotationsprozess haben.

Wenn Sie GitHub oder ein anderes öffentliches Repository verwenden, müssen Sie verhindern, dass Anmeldedaten offengelegt werden. Implementieren Sie Tools wie den Secret-Scan, der Sie vor preisgegebenen Secrets in Ihren GitHub-Repositories warnt. Wenn Sie verhindern möchten, dass Schlüssel in Ihre GitHub-Repositories übertragen werden, sollten Sie Tools wie git-secrets verwenden.

Verwenden Sie Secret-Managementlösungen wie Secret Manager und Hashicorp Vault, um Ihre Secrets zu speichern, sie regelmäßig zu rotieren und die geringsten Berechtigungen anzuwenden.

Ungewöhnliche Aktivität erkennen

Konfigurieren Sie Google Cloud- und Monitoring-Tools von Drittanbietern und richten Sie Benachrichtigungen ein, um anomale Aktivitäten zu überwachen. Konfigurieren Sie beispielsweise Benachrichtigungen basierend auf Administratoraktivitäten in den Audit-Logging-Informationen von Compute Engine und den GKE-Audit-Logs.

Verwenden Sie außerdem Event Threat Detection im Security Command Center, um Bedrohungen zu ermitteln, die auf Administratoraktivitäten, Google Groups-Änderungen und Änderungen der IAM-Berechtigung basieren. Verwenden Sie die Bedrohungserkennung für virtuelle Maschinen in Security Command Center, um Bedrohungen im Zusammenhang mit Ihren Compute Engine-VMs zu identifizieren. Weitere Informationen zu Security Command Center-Diensten finden Sie unter Security Command Center-Dienststufen.

Konfigurieren Sie Cloud IDS, um netzwerkbasierte Bedrohungen wie Malware zu erkennen.

Teilnahme am Security Command Center Cryptomining Protection-Programm

Wenn Sie Security Command Center Premium-Kunde sind und Compute Engine verwenden, können Sie am Security Command Center Cryptomining Protection Program teilnehmen. Mit diesem Programm können Sie die Kosten für Compute Engine-VMs im Zusammenhang mit nicht erkannten und nicht autorisierten Kryptomining-Angriffen in Ihrer Compute Engine-VM-Umgebung aufdecken. Sie müssen die Best Practices für die Kryptomining-Erkennung implementieren, von denen sich einige mit den anderen Best Practices überschneiden, die auf dieser Seite beschrieben werden.

Reaktionsplan für Vorfälle aktualisieren

Achten Sie darauf, dass der Reaktionsplan Ihres Vorfalls und die Playbooks eine präskriptive Anleitung bieten, wie Ihre Organisation auf Mining von Kryptowährungen reagiert. Ihr Plan sollte beispielsweise Folgendes enthalten:

  • Reichen Sie einen Supportfall bei Cloud Customer Care ein und wenden Sie sich an Ihren technischen Account Manager bei Google (TAM). Wenn Sie kein Supportkonto haben, überprüfen Sie die verfügbaren Supportpläne und erstellen Sie eines.
  • Wie Sie den Unterschied zwischen legitimen Hochleistungs-Computing-Arbeitslasten und Kryptowährung-Mining-Angriffen erkennen Sie können beispielsweise kennzeichnen, für welche Projekte HPC aktiviert ist, und Benachrichtigungen für unerwartete Kostenerhöhungen einrichten.
  • Umgang mit kompromittierten Google Cloud-Anmeldedaten.
  • So können Sie infizierte Systeme unter Quarantäne stellen und aus fehlerfreien Sicherungen wiederherstellen.
  • Wer in Ihrer Organisation muss benachrichtigt werden, um den Angriff zu untersuchen und auf ihn zu reagieren?
  • Welche Informationen für Ihre rückwirkenden Aktivitäten müssen in Logs erfasst werden?
  • So können Sie überprüfen, ob Ihre Abhilfemaßnahmen die Mining-Aktivitäten effektiv beseitigen und die ursprüngliche Schwachstelle, die zu dem Angriff führte, beheben.
  • Auf eine von Cloud Customer Care gesendete Benachrichtigung reagieren Weitere Informationen finden Sie unter FAQ zu Richtlinienverstößen.

Weitere Informationen finden Sie unter Auf Angriffe reagieren und sich davon erholen.

Implementieren Sie einen Notfallwiederherstellungsplan

Erstellen Sie zur Vorbereitung eines Kryptowährungs-Mining-Angriffs die Geschäftskontinuität und Notfallwiederherstellungspläne, erstellen Sie ein Playbook zur Reaktion auf Vorfälle und führen Sie theoretische Übungen durch.

Wenn das nicht autorisierte Kryptowährungs-Mining auftritt, müssen Sie den Bedrohungsvektor beheben, der die erste Verletzung verursacht hat, und Ihre Umgebung aus einem als funktionierend bekannten Zustand rekonstruieren. Ihr Notfallwiederherstellungsplan muss Ihnen die Möglichkeit geben, einen als funktionierend bekannten Zustand zu bestimmen, damit der Angreifer nicht wiederholt die gleichen Sicherheitslücken zur Ausnutzung Ihrer Ressourcen verwenden kann.

Nächste Schritte