Der Umzug in die Cloud
In den letzten Jahren hat sich der universelle Wechsel in die Cloud deutlich abgezeichnet. Unabhängig davon, ob Sie Ihre Software auf einem verwalteten Cluster betreiben, Ihre eigene Bereitstellungsumgebung pflegen oder die gesamte Infrastruktur von Grund auf verwalten. Cloud-Bereitstellungen ermöglichen eine weitaus bessere Stabilität, Skalierbarkeit und Verwaltbarkeit als herkömmliche Deployments, da große Teile der Bereitstellung automatisiert und vereinheitlicht werden.
Risiken eines Umzugs
Die Verwaltung der Bereitstellungsinfrastruktur kann an sich schon eine sehr komplexe Aufgabe sein, bei der viele kleine Fehler gemacht werden können. Indem Sie Ihre Infrastruktur eine weitere Ebene hinzufügen, vergrößern Sie ungewollt auch Ihre Angriffsfläche.
Konfigurationen werden oft einfach aus der Vorproduktion portiert, die oft wenig bis gar keine Sicherheitsrichtlinien oder viel zu permissive Anwendungsfunktionen enthalten. Dies kann dazu führen, dass kompromittierte Anwendungen zu gefährlichen Vektoren werden, über die ein Angreifer schnell andere Anwendungen und Clusterdienste infizieren kann. Erschwerend kommt hinzu, dass Anwendungs-Backups oft unsachgemäß durchgeführt werden und von infizierten Diensten aus gefunden und aufgerufen werden können.
Mögliche Angriffsszenarien
Für Pentesting ist es sehr hilfreich, verschiedene Angriffsvektoren zu berücksichtigen:
Applikations-Vektor
Der gängigste Ansatz besteht darin, einen Dienst oder eine Anwendung anzugreifen, die in Ihrer Infrastruktur läuft. Dabei werden im ersten Schritt Webapp- und Anwendungstests kombiniert. Wenn eine Anwendung erfolgreich infiziert wurde, wird sie als Einstiegspunkt verwendet, um sich durch den Cluster zu bewegen. Dies geschieht in der Regel durch die Untersuchung anderer interner Anwendungen oder durch die Nutzung der Laufzeitschnittstelle der Anwendung, um auf andere laufende Dienste zuzugreifen.
Ein anderer Ansatz besteht darin, eine bereitgestellte Software direkt zu infizieren, um das Worst-Case-Szenario zu simulieren und sich direkt auf die Sicherheit der Bereitstellung zu konzentrieren, z. B. auf die Anwendungsfunktionen und die interne API-Konfiguration.
Laufzeit-Vektor
Dieser Angriff nutzt offengelegte APIs, um Informationen über die interne Struktur Ihrer Umgebung zu erhalten oder im schlimmsten Fall Ihre Systeme direkt zu infizieren. Dies ist häufig eine Folge von Vorab-Konfigurationen, die fahrlässig wiederverwendet werden. Angriffe wie diese sind besonders gefährlich, da sie wenig bis gar keine Zeit und Kenntnisse erfordern, um einen Angriff zu finden und durchzuführen.
Host-Vektor
Dies sind die traditionellen Angriffe, die sich auf die einzelnen Hosts des Clusters konzentrieren. Anstatt den Angriff auf einen einzelnen Rechner zu beschränken, kann ein infizierter Cluster-Host aufgrund der starken Vernetzung der Umgebung leichter auf andere Instanzen übergreifen.