Software Container - Quick Stats (2/2)

In unserem zweiteiligen Blog über das Thema Software Container arbeiten wir die Anforderungen und Risiken beim Einsatz von Containern auf. Im zweiten Teil stellen wir die technische Lösung Trend Micro Deep Security vor.

Die technische Lösung: Trend Micro Deep Security

Trend Micro Deep Security bietet eine Vielzahl an Funktionen und Fähigkeiten, um Sicherheit für Container-Anwendungen in allen Phasen des Softwarelebenszyklus zu gewährleisten. Davon abgesehen stellt es Möglichkeiten bereit, Sicherheit als wichtigen Faktor in DevOps-Teams und -Prozessen zu etablieren.

Als ganzheitliche Lösung hat Trend Micro Deep Security nicht das Ziel, nur zu einem Zeitpunkt oder punktuell Sicherheit zu gewährleisten. Die Verwaltung verschiedenster Lösungen und Werkzeuge entfällt – Deep Security ist die Lösung für Sicherheit aus einer Hand.

Bei diesem Produkt wird schnell erkennbar, dass nicht nur versucht wurde Schutz zu gewährleisten, sondern auch die Art und Weise wohl durchdacht ist: Weder DevOps-Teams noch die Container-Technologie werden in ihren Fähigkeiten, Stärken und ihrer Arbeitsweise eingeschränkt. Sicherheit soll für DevOps-Teams zum „Heimspiel“ werden.

Kontakt


Gerne stellen wir uns auch im persönlichen Gespräch vor.
Dazu freuen wir uns auf eine Meldung unter +49 (2156) 974 90 60
oder kontakt@suresecure.de.

BUILD SECURE

Sicherheit gemacht für DevOps, die mit der Entwicklung vom ersten Build an Schritt hält.

SHIP FAST

Automatisierte Sicherheit für die CI/CD Pipeline und cloudbasierte Container-Anwendungen.

RUN ANYWHERE

Unterstützung für moderne Anwendungen in allen Clouds, unabhängig von der Cloud-Architektur.

Build Secure

Dieses Prinzip beschreibt, Sicherheit als wichtiges Kriterium bei der Entwicklung zu betrachten und dementsprechend von Anfang an zu berücksichtigen. Trend Micro hilft hier auf verschiedene Arten, Sicherheit früh zu integrieren.

Deep Security Smart Check ist eine als Container in Kubernetes ausgerollte Anwendung für das Scannen von Container-Images auf Schwachstellen. Mit Deep Security Smart Check können Container bereits nach dem ersten Build (und somit vor der Überführung in die produktive Umgebung) gescannt werden. Abhängig von dem Ergebnis eines solchen Scans kann bspw.

  • eine Benachrichtigung gesendet werden.
  • die Pipeline unterbrochen werden und das Container-Image zur „Nachbesserung“ an die Entwickler zurückgehen.
  • das Container-Image in die nächste Phase übergehen.
  • das Container-Image in ein Repository kopiert werden, in dem für die produktive Umgebung vorgesehen Container-Images liegen (ein sog. „Blessed Repository“).

Im Smart Check Dashboard kann eine Übersicht aller Scans, der Scanergebnisse samt gefundener Schwachstellen und deren Kritikalität eingesehen werden. Für viele Schwachstellen stellt Smart Check weiterführende Informationen sowie eine Weiterleitung zu bekannten Lösungen zur Verfügung. Die Arbeit, eine Lösung zu suchen, entfällt damit in vielen Fällen.

Deep Security Smart Check erkennt Verschiedenes beim Scan: Schwachstellen, Schadcode, im Container zurückgelassene oder vergessen Passwörter und Keys oder auch die Compliance mit diversen Standards. Sogenannte YARA-Regeln bieten die Möglichkeit, selbst Anzeichen für eine Infektion (auch „IOC“ oder „Indicator of Compromise“) zu definieren, nach denen beim Scan gesucht wird. Es kann zusätzlich konfiguriert werden, dass bestimmte auftretende Schwachstellen ignoriert werden, beispielsweise wenn diese die Pipeline blockieren und man sich sicher ist, dass es sich um „False Positives“ handelt.

Doch was ist, wenn ein Container-Image gescannt wurde und in der Docker-Registry im produktiven System liegt? Ist nun sicher, dass das Image keine Schwachstellen hat? Nein! Und zwar aus einem einfachen Grund: So wie die IT allgemein entwickeln sich auch Gefahren, Angriffe, Schadsoftware und die Werkzeuge der Angreifer stetig weiter. Ebenso werden Schwachstellen in Anwendungen, die ggf. in Containern eingebunden sind, oft nicht sofort entdeckt – im besten Fall jedoch zuerst vom Hersteller oder den „SchwachstellenJägern“ der Zero Day Initiative.
(Quelle: www.zerodayinitiative.com)

Ein Scan der Images in der Docker-Registry wird standardmäßig alle 24 Stunden durchgeführt, immer mit den aktuellsten Schadcode- und Schwachstellen-Definitionen. So kann sichergestellt werden, dass auch neue Schwachstellen in bereits produktiven ContainerImages erkannt werden. Das Intervall kann selbst definiert werden.

Zusätzlich zur Kontrolle der Images werden durch den auf dem Container-Host-Betriebssystem installierten Trend Micro Deep Security Agent Hosts, auf denen die Container laufen, die Container-Plattform, Container und die containerisierten Anwendungen gegen verschiedenste Gefahren geschützt:

Ebenso wird Datenverkehr zwischen den Containern („Ost-West Traffic“) sowie auch der Datenverkehr zwischen Containern und darunterliegenden Ebenen („Nord-Süd Traffic“), bspw. dem Host-Betriebssystem, überwacht und kann reguliert werden.

Änderungen an kritischen Dateien und auffälliges Verhalten der Anwendungen, Container, Container-Engine oder dem Betriebssystem werden gemeldet und können blockiert werden. So ist zum Beispiel ein Downgrade der Container-Engine auf eine ältere Version sehr auffällig und ein ziemlich eindeutiges Zeichen für einen Angriff, bei dem Schwachstellen dieser veralteten Version ausgenutzt werden sollen. Es gibt für kritische Fälle auch die Möglichkeit, den Host bei einem Befall komplett zu isolieren und dadurch die Verbreitung der Infektion zu verhindern.

Es bringt nichts, wenn nur die Container und die dort laufenden Anwendungen geschützt werden. Sind der Host und/oder die Container-Engine befallen, sind ALLE Container in Gefahr.

Wussten Sie schon?

Entwickler können Container von Grund auf neu entwickeln. Doch oft werden fremde Container-Images als Basis verwendet, die andere Software eingebunden haben und von ihr abhängig sind. Beispielsweise wurden 4,600 GitHub repositories and 2,700 Softwareabhängigkeiten ausgewertet und 81.5% dieser Objekte enthielten veraltete SoftwareAbhängigkeiten. Zwei Drittel der Entwickler waren diese inaktuellen Abhängigkeiten nicht bewusst!
Quelle: R. G. Kula, D. M. German, A. Ouni, T. Ishio, and K. Inoue. Do developers update their library dependencies? Empirical Software Engineering, 23(1):384–417, 2017.

Ship Fast

Dieses Prinzip spiegelt wieder, dass sich Deep Security einfach in die DevOps-Prozesse integrieren lässt und mit gängigen Tools und Werkzeugen verwendet werden kann. Wie bereits geschildert soll Sicherheit kein Hindernis, sondern die Implementierung für DevOpsTeams möglichst einfach sein – oben genanntes „Heimspiel“.

Ein Teil davon lässt sich in „Security As Code“ zusammenfassen. Das bedeutet, dass für DevOps-Teams die Integration der Sicherheit und entsprechenden Maßnahmen als Code umsetzen lässt. Ein Scan eines Container-Images durch Deep Security Smart Check und die Bewertung der Ergebnisse lässt sich bspw. über APIs („Programmier-Schnittstellen“) unkompliziert in eine bestehende Jenkins-Pipeline einfügen. Trend Micro stellt hierfür SoftwareDevelopment-Kits (SDKs) in den Programmiersprachen Java, JavaScript und Python zur Verfügung. Die Kompatibilität mit weiteren DevOps- und Automatisierungs-Tools war von großer Bedeutung und so bietet Deep Security Integration bspw. mit Ansible, Puppet, Chef, Jenkins, Powershell, Kubernetes, GitHub, AWS OpsWorks und Salt Stack.

Die Begriffe müssen einem nicht alle etwas sagen – der Punkt ist, dass hier versucht wurde mit Entwicklern „in ihrer Sprache“ zu reden und ihnen eine komfortable und bekannte Möglichkeit der Implementierung zu bieten.

Run Anywhere

Dieses Prinzip ist einfach: Trend Micro hat es sich zum Ziel gesetzt, dass Deep Security alle gängigen Produkte im Container-Umfeld unterstützt – einschließlich des Szenarios, dass die Container in einer Cloud-Plattform wie bspw. AWS laufen. Um es kurzzufassen, hier eine Auflistung der Kompatibilität für die wichtigsten Komponenten:

  • Cloud-Plattformen: AWS, Microsoft Azure, Google Cloud, and VMWare
  • Container-Orchestration: Kubernetes, EKS, GKS, AKS (letztere drei plattform- bzw. anbieterabhängige Variationen von Kubernetes)
  • Betriebssysteme: Alle Linux-Distributionen und moderne Windows-Desktop und Server-Versionen
  • Programmiersprachen der Anwendungen: Python, Java, .Net, JavaScript, No JS, PHP, Ruby on Rails

Es zeigt sich: Trend Micro Deep Security kann mit der Entwicklung des Cloud- und ContainerMarktes mithalten. Es ist mit gängigen Komponenten kompatibel und somit im Großteil aller Szenarien verwendbar.

Container-Technologie ist mittlerweile weit verbreitet und wird weiter an Relevanz gewinnen. Die damit einhergehenden Herausforderungen und Bedrohungen steigen proportional dazu und werden auch qualitativ hochwertiger. Unternehmen und IT-Security-Experten müssen hier Schritt halten, haben aber auch jetzt schon mächtige Werkzeuge, um den Herausforderungen auf technischer Ebene zu begegnen. Die Vermutung liegt nahe, dass sich auch das Mindset in diesem Umfeld wandeln und sich damit DevOps zu DevSecOps entwickeln wird.

Unsere Mitarbeiter verfügen über viel Praxiserfahrung im Bereich der Container-Technologie und sind in der Lage, allen Herausforderungen auf technischer Ebene zu begegnen. Möchten Sie in einem persönlichen Beratungsgespräch mehr über Container-Technologie und deren Sicherheit erfahren? Kontaktieren Sie uns gerne dazu unter +49 (2156) 974 90 60 oder per E-Mail an kontakt@suresecure.de.