6 Zero-Trust-Empfehlungen aus dem Colonial Pipeline-Angriff

Für eine sichere Cloud Journey.

You have been hacked! All your data is encrypted. Send 75 Bitcoin and you’ll receive the key to decrypt your data.

 Autor: Michael Wachter & Christian Fehlmann

 

So ähnlich könnte die Nachricht ausgesehen haben, welche die Colonial Pipeline beim Ransomware-Angriff Anfang Mai 2021 erhalten hat. Die Colonial Pipeline ist die grösste Ölpipeline der USA, welche in Folge des Angriffs den gesamten Betrieb für sechs Tage einstellen musste. Dies führte zu weitverbreiteten Engpässen bei der Treibstoffversorgung an der Ostküste und einer starken Erhöhung des Treibstoffpreises.

 

In diesem Blog werfen wir einen Blick auf das Vorgehen von Hackern am Beispiel der Colonial Pipeline. Wir leiten daraus 6 Zero-Trust-Empfehlungen für eine moderne Sicherheitsarchitektur ab, welche mit Microsofts cloudbasiertem Azure AD umgesetzt werden kann.

Was ist beim Colonial Pipeline Angriff passiert?

Die Hackergruppe DarkSide verschaffte sich in einem ersten Schritt per VPN Zugang zum Firmennetzwerk der Colonial Pipeline. Dabei verwendeten sie ein Passwort, welches an einer anderen Stelle wiederverwendet und dort kompromittiert wurde. Für die VPN-Verbindung selbst war keine Multi Factor Authentication (MFA) erforderlich. Diesen Zugang zum Firmennetzwerk hat die Hackergruppe in weiteren Schritten ausgenutzt – von der Extraktion von Daten bis hin zum Ransomware-Angriff.

Nachdem Colonial Pipeline den Angriff erkannt hatte, wurde die gesamte IT-Infrastruktur und der Betrieb der Pipeline heruntergefahren, da man zu diesem Zeitpunkt das Ausmass des Angriffs noch nicht abschätzen konnte. Es dauerte mehrere Monate, bis die IT-Infrastruktur wieder vollends verwendet werden konnte, da diese von den Backups wiederhergestellt werden musste.

Neben den direkten finanziellen Ausfällen hatte der Angriff auch zu einem Treibstoff-Engpass an der Ostküste geführt. All das wegen Zugangsdaten, die durch eine Wiederverwendung an anderer Stelle auf dem Schwarzmarkt verfügbar wurden.

Was lernen wir aus dem Colonial Pipeline Angriff?

Befolge diese 3 Zero-Trust-Prinzipien:

Verify explicitly

Use least privileged access

Assume breach

Daraus leiten wir die folgenden sechs konkreten Empfehlungen ab:

  1. Verwende Multifactor Authentication (MFA) (Verify explicitly)
  2. Schränke den Zugriff auf das interne Netzwerk ein (Use least privileged access)
  3. Föderiere Accounts von Partnerunternehmen (Verify explicitly)
  4. Überprüfe regelmässig, ob auf dem Schwarzmarkt verfügbare Credentials die eigene Infrastruktur betreffen (Assume breach)
  5. Verwende Just-in-time-Berechtigungen (Use least privileged access)
  6. Überprüfe regelmässig die Berechtigungen (Use least privileged access)
Blog Colonial Pipeline.svg

1. Verwende Multifactor Authentication

Die Hackergruppe erhielt den Zugang zum internen Firmennetzwerk durch eine Kombination von Username und Passwort. Die zusätzliche Verwendung von MFA hätte den Angriff um einiges schwieriger gestaltet.

Conditional Access in Azure AD erlaubt es, massgeschneiderte Richtlinien für MFA zu erstellen. Damit können z. B. kritische Admin-Accounts noch besser geschützt werden.

2. Schränke den Zugriff auf das interne Netzwerk ein

Häufig ist die Verbindung mittels VPN zum internen Firmennetzwerk das Standardvorgehen, um den Zugriff auf interne Applikationen zu ermöglichen. Damit gelangt man allerdings ins interne Firmennetzwerk und kann direkt alle erreichbaren Ressourcen angreifen.

Mittels eines Reverse Proxys, z. B. Azure AD Application Proxy, können Anwendungen gezielt im Internet verfügbar gemacht werden. Zusätzlich sollten die bereitgestellten Anwendungen untereinander und vom Rest des Netzwerkes abgetrennt werden. Damit wird die laterale Bewegungsfreiheit nach einem erfolgreichen Angriff auf eine dieser Anwendungen stark eingeschränkt.

3. Föderiere Accounts von Partnerunternehmen

Bei der Zusammenarbeit mit Partnern werden oft zusätzliche Accounts mit eigenen Credentials angelegt. Zum einen fördert das die Wiederverwendung von Passwörtern, zum anderen muss der Lifecycle des Accounts ebenfalls gepflegt werden. Konkret muss beim Partnerunternehmen angefragt werden, ob sich die Anstellung der Person hinter einem Account geändert hat. Was ist, wenn die Information vom Partner übermittelt wurde, aber die notwendigen Schritte im eigenen Unternehmen nicht eingeleitet wurden?

Mit Hilfe von Azure AD B2B kann die Authentisierung stattdessen an den Partner ausgelagert werden. Ist ein Account beim Partnerunternehmen deaktiviert oder gar gelöscht, kann dieser Account nicht mehr für ein Login auf die eigenen Applikationen verwendet werden. Mit Azure AD B2B kann man ein zusätzliches MFA einfordern. Das ist unabhängig davon, ob man bei der Authentifizierung beim Partner bereits MFA gemacht hat. Zum Schluss bleibt die Autorisierung des Accounts, dazu kommen wir später.

4. Überprüfe regelmässig, ob auf dem Schwarzmarkt verfügbare Credentials die eigene Infrastruktur betreffen

Die Wiederverwendung von Passwörtern erhöht die Wahrscheinlichkeit, dass diese Credentials auf dem Schwarzmarkt verfügbar werden.

Bei der Verwendung von Password Hash Synchronization zusammen mit Azure AD Identity Protection hat Microsoft die Möglichkeit, auf dem Schwarzmarkt zugängliche Credentials mit den verwendeten Credentials im Azure AD zu vergleichen. Bei einem Treffer können automatisiert zusätzliche Schritte, wie ein Passwortwechsel, eingefordert werden.

5. Verwende Just-in-time-Berechtigungen

Just-in-time-Berechtigungen stellen eine weitere Option dar, einen unerlaubten Zugriff zu erschweren und frühzeitig zu entdecken. Dies ermöglicht es, zusätzliche Prozesse einzuführen, um eine Berechtigung zeitgebunden zu aktivieren. Einige Schritte in diesen Prozessen sind z. B. protokollieren, Ressource-Owner oder Administratoren benachrichtigen oder manuelle Genehmigungen einholen.

Mit Azure AD PIM (Privileged Identity Management) kann man solche Prozesse definieren und somit ungewöhnliche Zugriffe frühzeitig erkennen.

6. Überprüfe regelmässig Berechtigungen

Mit einer regelmässigen Überprüfung der Berechtigungen können verbliebene, überflüssige Zuweisungen identifiziert und entfernt werden. Kritische Berechtigungen sollten eher häufiger überprüft werden, z. B. alle 3 Monate. Bei weniger kritischen Berechtigungen können längere Zeiträume eingesetzt werden, z. B. alle 6 bis 12 Monate. Eventuell wird bei einer solchen Überprüfung auch eine Lücke bei der Handhabung eines Stellenwechsels identifiziert.

Mit Azure AD Access Reviews kann man für eine bestimmte Menge an Berechtigungen definieren, welche Reviewer in welchem Intervall die Berechtigten überprüfen müssen. Man kann zudem einstellen, was passieren sollte, falls der Reviewer nicht auf die Anfrage reagiert. Azure AD Recommendations scannt täglich das Azure AD und schlägt Verbesserungen vor. Diese sind in 3 Prioritätsstufen eingeteilt und beinhalten einen Lösungsvorschlag, welcher mit einem Klick umgesetzt werden kann. Z. B. dass man eine Berechtigung einer Applikationen entfernen sollte, wenn diese während einer gewisse Zeit nicht mehr verwendet wurde.

Zusammenfassung

Der Colonial Pipeline Angriff hätte durch die 6 oben aufgeführten Zero-Trust-Empfehlungen erschwert oder gar verhindert werden können. Alle Empfehlungen können mit Hilfe von Azure AD und den entsprechenden Lizenzen mit moderatem Aufwand und wenig Einfluss auf die Benutzer umgesetzt werden. Damit hätten sowohl die finanziellen Schäden für die Colonial Pipeline als auch der Treibstoffmangel und die hohen Treibstoffpreise an der Ostküste verhindert werden können.

Möchtest auch Du wissen, wo Dein Unternehmen auf der Reise Richtung Zero Trust steht? Wir stehen Dir gerne für eine Analyse Deiner Umgebung zur Verfügung. Danach können wir gemeinsam einen Aktionsplan erarbeiten, um die Sicherheit Deiner Systeme mit der Umsetzung der Zero-Trust-Prinzipien zu erhöhen.

MichaelWachter_casual.jpg

Über mich

Sicherheit erfordert das Zusammenspiel aller Komponenten. Die Identität ist nur eine davon, eine die ich sehr interessant finde. Deswegen befasse ich mich gerne mit der Identität.

ChristianFehlmann_casual.jpg

Über mich

Als IT Architekt fördere ich das Sicherheitsbewusstsein in Cloud-Teams und erschwere Angriffe auf IT-Organisationen mittels Zero Trust. Dabei setze ich auf moderne Kollaborationsansätze wie DevSecOps.