Sichere Container mit geringem Risiko

4 Strategien zur Containersicherheit: So lassen sich Security-Sorgen vermeiden

Florian Thurmann

© Shutterstock / cwales

Container erfreuen sich wachsender Beliebtheit, insbesondere wenn der IT-Betrieb von einer physischen auf eine virtuelle Infrastruktur umgestellt wird. Das von Docker populär gemachte Container-Framework vereinfacht und beschleunigt die Anwendungsbereitstellung, indem es Betriebssystemkomponenten, Anwendungen und alle Abhängigkeiten in Schichten innerhalb eines so genannten Container-Images bündelt.

Organisationen, die eine neue Technologie einsetzen, wollen potentielle Schwachstellen und Risiken so weit wie möglich reduzieren. Container bieten hier vielerlei Vorteile, erfordern allerdings auch eine neue Denkweise hinsichtlich der Anwendungssicherheit. Die US-Standardbehörde NIST weist deshalb in ihrem „Container Security Guide“ darauf hin, dass Container die Bereitstellung von Anwendungen revolutioniert haben und Unternehmen ihre Sicherheitsstrategien an neue, dynamische Produktionsumgebungen anpassen müssen.
Grundsätzlich sollte bei der Einführung einer neuen Technologie immer auch deren Eignung zur Minderung oder Verringerung von Sicherheitsrisiken auf dem Prüfstand stehen.

Unternehmen, die noch zögern, Container einzusetzen, sorgen sich oft, wie ihre bestehenden Prozesse und Paradigmen diese neuen Herausforderungen meistern. So wie traditionelle Anwendungen anfällig für Angriffe sind, sind auch containerisierte Anwendungen und die Container selbst angreifbar. Deshalb sollten Unternehmen früh mit der Entwicklung einer effektiven Sicherheitsstrategie beginnen, um die Risiken zu verstehen, die Containerisierung mit sich bringen kann. Mit den richtigen Tools können Unternehmen ihre Anwendungen wirksam vor Angriffen schützen, und beispielsweise bekannte Schwachstellen automatisch identifizieren und entfernen. Ein Patentrezept gibt es jedoch nicht. Hier einige ausgewählte Strategien:

Strategie 1: Manuelle Überprüfungen durchführen

Laut einer Studie von Forrester aus dem Jahr 2017 führen 43 Prozent der Containernutzer regelmäßige Sicherheitsüberprüfungen ihrer Cluster durch. Diese Audits können darin bestehen, Komponenten mit bekannten Schwachstellen in Tabellenkalkulationen zu erfassen oder Konfigurationen manuell zu testen. Häufig führen Unternehmen manuelle Überprüfungen durch, wenn sie anfangen, mit Containern zu experimentieren. Es braucht Zeit, zu ermitteln, welche Prozesse und Technologien für eine Containerumgebung geeignet sind, weshalb manuelle Prozesse bei kleinen, noch nicht ausgereiften Bereitstellungen durchaus funktionieren. Jedoch ist dieser Ansatz nicht beliebig skalierbar. Traditionelle IT-Sicherheitsmethoden, die nicht für hochdynamische containerisierte Produktionsumgebungen gedacht sind, können große Lücken bei der Anwendungssicherheit hinterlassen.

Strategie 2: Container auf virtuellen Maschinen ausführen

Ein weiterer Vorteil von Containern ist, dass sie überall eingesetzt werden können. Sogar auf virtuellen Maschinen lassen sie sich implementieren. Container sind keine Alternative für virtuelle Maschinen, sondern eine komplementäre Technologie für unterschiedliche Zwecke. Einige Unternehmen führen containerisierte Anwendungen auf VMs aus, um ihre Container mithilfe von Hypervisoren zu isolieren. Sie tun dies, um zu verhindern, dass sich Angreifer vom ursprünglich gehackten System aus innerhalb des Anwendungsstapels weiterbewegen, um auf Daten anderer Anwendungen zuzugreifen. Geht ein Angreifer so vor, nennt man dies im Fachjargon eine „Seitwärtsbewegung“. Trotzdem wird bei erfolgreicher Isolation zwar die Schwere des Angriffs begrenzt, es wird aber nicht verhindert, dass der Angriff überhaupt stattfindet.

DevOpsCon Istio Cheat Sheet

Free: BRAND NEW DevOps Istio Cheat Sheet

Ever felt like service mesh chaos is taking over? As a follow-up to our previous cheat sheet featuring the most important commands and functions, DevOpsCon speaker Michael Hofmann has put together the 8 best practices you should keep in mind when using Istio.

Strategie 3: Container-Laufzeitsicherheit einsetzen

Laufzeitsicherheitslösungen sind beliebte Tools, wenn es darum geht, bösartige Aktivitäten in Containeranwendungen in Echtzeit zu erkennen und zu blockieren. Durch die Überwachung von Netzwerkverbindungen zum Host und Versuche, sich in Container einzuloggen, erstellen diese Lösungen Verhaltensmodelle für jede Anwendung in einer Umgebung. Sobald sie erkennen, dass ein Container aufgefordert wurde, eine unerwartete Funktion auszuführen, können sie die Aktion blockieren und das IT-Team benachrichtigen. Um die Netzwerksicherheit zu gewährleisten werden IP-Adressen anhand einer Blacklist blockiert, sodass nur legitime Verbindungen möglich sind. Dadurch ist es auch möglich, die Aktivitäten eines Hackers im Netzwerk im Falle eines Verstoßes abzuschalten und so das Ausmaß und den „Explosionsradius“ eines Angriffs zu begrenzen. Laufzeitsicherheit ist ein wichtiges Element einer Containersicherheitsstrategie und dient als letzte Verteidigungslinie gegen böswillige Akteure. Der Ansatz ist jedoch eher reaktiv als proaktiv.

Strategie 4: Schwachstellenmanagement einführen

Governance-Richtlinien erfordern zunehmend eine kontinuierliche Überwachung auf Schwachstellen in bereitgestellten Anwendungen. Unternehmen sollten deshalb aktiv werden und alle latenten Schwachstellen beseitigen, die Angriffe ermöglichen könnten. Im Gegensatz zur Laufzeitsicherheit ist Schwachstellenmanagement eine proaktive Herangehensweise an die Containersicherheit, die es den Teams ermöglicht, Schwachstellen zu beseitigen und Angriffe zu verhindern, bevor sie passieren, anstatt nur zu reagieren. Um ihre Container zu sichern, müssen Unternehmen wissen, was sie enthalten. Schließlich kann man nur das patchen, was man auch kennt. Die weit verbreitete Nutzung von Open-Source-Software stellt hier eine Herausforderung dar. Open-Source-Komponenten sind in jedem Container-Image enthalten – vom Basis-Image bis hin zur Anwendungsebene.

Die Open-Source-Sicherheits- und Risikoanalyse (OSSRA) 2018 fand bei 96 Prozent der geprüften Anwendungen Open-Source-Komponenten. Durchschnittlich bestand eine Code-Basis zu 57 Prozent aus Open-Source-Software, gegenüber 36 Prozent im Vorjahr. Viele Anwendungen enthalten demnach mehr Open-Source-Bauteile als proprietären Code. Beunruhigend ist zudem, dass 78 Prozent der untersuchten Code-Basen mindestens eine Open-Source-Schwachstelle enthielten. Durchschnittlich wurden sogar 64 Schwachstellen pro Code-Basis gefunden.

Angesichts der weit verbreiteten Nutzung von Open-Source-Software und der wachsenden Anzahl von Containern ist es unrealistisch zu erwarten, dass Unternehmen Open-Source-Komponenten und die damit verbundenen Schwachstellen tatsächlich manuell verfolgen.

Schwachstellenmanagement kann Unternehmen dabei helfen, den Überblick über verwendete Open-Source-Komponenten in Container-Images zu behalten. Während viele CISOs und IT-Abteilungsleiter vor dem Risiko der Containerisierung zurückschrecken, lässt sich dieses Risiko durch den Einsatz geeigneter Softwarelösungen deutlich senken.

Verwandte Themen:

Geschrieben von
Florian Thurmann

Florian Thurmann ist Director of Software Security Operations bei der Synopsys Software Integrity Group. Er ist spezialisiert auf Innovation und Change Management und treibt operative Veränderungen mit neuen technischen Lösungen voran. Florian verbrachte 12 Jahre im Silicon Valley, wo er die Implementierung unternehmenskritischer Software für Großunternehmen unterstützte. Er wurde mehrfach für seine hervorragende kundenorientierte Arbeitsweise ausgezeichnet und hat einen Master-Abschluss in Maschinenbau und Betriebswirtschaft. Er ist derzeit in München ansässig.

Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
4000
  Subscribe  
Benachrichtige mich zu: