Schutz von Maschinenidentitäten bei DevSecOps

Autor / Redakteur: Jens Sabitzer * / Stephan Augsten

„Wir haben ein DevOps-Team – aber keine Ahnung, was sie eigentlich den Tag über machen.“ Im Gespräch mit Sicherheitsverantwortlichen hört man diese oder ähnliche Aussagen nicht gerade selten. Mit Blick auf Maschinen, die Code austauschen und Daten konsumieren, muss es zwangsläufig mehr Kontrolle geben.

Anbieter zum Thema

In einer Welt, in der Daten und Code vermehrt von Maschinen konsumiert werden, muss deren Identität sichergestellt sein.
In einer Welt, in der Daten und Code vermehrt von Maschinen konsumiert werden, muss deren Identität sichergestellt sein.
(Bild gemeinfrei: geralt / Pixabay )

In DevOps-Teams werden traditionelle Sicherheitsmechanismen häufig nicht verwendet oder gar umgangen. Wir haben keinen Überblick und keine Kontrolle, was eigentlich passiert. Das ist sehr verwunderlich, denn der eigentliche Gedanke von DevOps „you build it, you run it“ sollte jedem Entwickler eigentlich klar machen, dass er alles, was er erstellt, eben auch pflegen muss. Eine spätere Architekturänderung aufgrund eines Sicherheitsvorfalls bedeutet immer sehr großen Mehraufwand.

Woran liegt es also, dass CISOs so häufig das Gefühl haben, ihnen entgleite das Thema? Alle Unternehmen, die ihre Zukunft in der Digitalisierung sehen, sind auch Softwareunternehmen. Jeder Code, der entwickelt wird, könnte unter Umständen unzählige Jahre laufen und das mit zahlreichen unentdeckten Sicherheitslücken.

Ein Teil der Lösung sollten Schulungen für Entwickler zum Thema sichere Programmiertechniken beinhalten. Diese müssten dann nicht nur an einem Tag, sondern fortlaufend neuen aber auch alten Code überprüfen. Im Fokus stehen natürlich weitverbreitete und genutzte Programme von Herstellern wie Microsoft und Adobe. Für Angreifer sind diese Programme lohnenswerte Ziele.

Gleichzeitig wird es jedoch auch immer interessanter für sie, gezieltere Angriffe durchzuführen. Die Wahrscheinlichkeit, entdeckt zu werden, ist viel geringer und die erwartenden „Gewinne“ sind häufig größer und besser einschätzbar. Vor kurzem sorgten zwei Zeilen böswillig eingefügtem Javascript-Code bei einer Fluggesellschaft dazu, dass Kreditkartendaten entwendet wurden. Unternehmen müssen in der Lage sein zu erkennen, ob ihre laufenden Anwendungen verändert wurden.

Das Problem bei gezielten Angriffen ist, dass sie fast immer auf ein bestimmtes Unternehmen zugeschnitten sind. Für Angreifer kann es durchaus interessant sein, Informationen im Wert von vielen Millionen Euro für wenige Tausend Euro zu verkaufen, wenn diese Summe ein doppeltes Jahreseinkommen bedeutet.

Beispiele für Code, von dem Angreifer nach einer Manipulation profitieren, können aber auch kleine Vorgänge sein. Wenn bei einem Pfandautomaten ab einer bestimmten Anzahl eine angenommene Flasche nicht mehr gezählt wird. Oder aber, wenn bei Inventarisierungen Fehler auftreten und zunehmend Anschaffungen getätigt werden, die nirgendwo auftauchen.

Durch DevOps und die Digitalisierug entstehen auch häufig in Kombination neue Sicherheitsthematiken auf welche unsere traditionellen Sicherheitsmethoden noch keine Antworten liefern. Security by Design muss daher von Anfang an gedacht und umgesetzt werden.

Lösungsansatz automatisierte Verwaltung von Maschinenidentitäten

In großen Unternehmen agieren einzelne DevOps-Abteilungen häufig ohne zentrale Aufsicht, Planung und Koordination. Viel zu selten sind Sicherheitsexperten Bestandteil von DevOps Teams und werden nur manchmal und häufig viel zu spät hinzugezogen. Dabei ist Sicherheit gar kein Widerspruch zu DevOps. Ein Grundsatz von DevOps ist das eliminieren von „waste“, also unnötigen Vorgängen.

Man sollte sich also bewusst machen, dass nachträgliche Sicherheitsanpassungen gegen die Grundsätze von DevOps verstoßen und daher jederzeit präsent sein sollten. Da dies jedoch leider noch nicht überall verstanden wird, bemühen wir neue Terminologien wie DevSecOps. DevOps wählen selbst die Tools aus, die für ihre Erfordernisse am besten geeignet sind. Dies führt zu einer Vielzahl von Werkzeugen und Lösungen für die verschiedenen CI/CD-Pipelines (Continuous Integration/Discontinuous Delivery).

Aufgrund der Vielzahl der Quellen der Maschinenidentitäten sind die Sicherheitsexperten dann nicht in der Lage, auf Sicherheitsvorfälle und Audit-Anfragen so schnell als nötig zu reagieren. Und wenn sie versuchen, Maschinenidentitätsrichtlinien und -standards unternehmensweit einheitlich zu bewerten oder durchzusetzen, wissen sie nicht einmal, wo sie anfangen sollen.

Moderne Technologien müssen sicherstellen, dass nur autorisierter Code ausgeführt wird und erkennen, ob Änderungen am Programmiercode durchgeführt wurden. Die meisten der heute in Netzwerken verarbeiteten Daten und noch mehr in der Zukunft, werden über APIs von Maschinen, nicht von Menschen konsumiert. Unternehmen müssen also sicherstellen, dass sie kontrollieren, welche Prozesse auf den Rechnern laufen und dies fortlaufend und möglichst automatisiert.

Die Lösung dieses Problems bedarf einer breiten Akzeptanz, sie muss einfach zu bedienen sein und sehr leicht in einer Multi-Cloud-Umgebung betrieben werden können. Der erste Schritt zum Aufbau einer automatisierten Lösung für den Schutz der Maschinenidentität erfordert daher eine Standardisierung der Maschinenidentitätsprozesse.

Mit einem solchen Dienst können Firmen beginnen, die im gesamten Unternehmen verwendeten Zertifikate zu standardisieren und zu kontrollieren, sowie in der Folge die sichere Softwarebereitstellung zu beschleunigen. Ein wesentlicher Vorteil der Standardisierung des Prozesses der Maschinenidentitäts-Ausstellung, beispielsweise Zertifikate in einer Weise, die den Anforderungen von Informationssicherheit, Betrieb, DevOps und Softwareentwicklung entspricht, besteht darin, dass die Ausstellung zentral gesteuert und kontrolliert werden kann.

Unternehmen können so die Bereitstellung sicherer und vertrauenswürdiger Zertifikate beschleunigen. Darüber hinaus muss die Zertifikatsausstellung in DevOps-Toolchains integriert werden. Die festgelegten Richtlinien zur Maschinenidentität müssen in allen DevOps-Umgebungen durchgesetzt werden. Die Verwendung von vertrauenswürdigen Zertifikaten unterstützt außerdem bei der Einhaltung von Compliance und hilft bei externen Auditierungen.

Fazit

Durch die Automatisierung des Schutzes der Maschinenidentität für DevOps können Unternehmen sicherstellen, dass den eigenen internen Richtlinien entsprochen wird. Auf diese Weise nutzen sie die Best Practices von traditionellen PKI- und Sicherheitsexperten, erhalten aber Zertifikate in der Geschwindigkeit von DevOps-Workflows.

Die Vorteile der Automatisierung zur Verkürzung der Bereitstellungszeit für Zertifikate können tiefgreifend sein. Für einen großen Einzelhändler konnte die Automatisierung die Bereitstellungszeit für Zertifikate von fünf Tagen auf nur wenige Minuten reduzieren. Diese Art der Automatisierung beseitigt den Anreiz für DevOps-Abteilungen, kreative Wege zu finden, um die Ausstellung von Zertifikaten zu umgehen, ohne die Zeitpläne oder Workflows von DevOps zu beeinflussen.

Letztlich sorgt dieser Ansatz für mehr Transparenz und dadurch auch mehr IT-Sicherheit für das Unternehmen, aber auch alle Kunden, die später die bereitgestellten Services nutzen wollen. Letztlich kann nur so der lange Weg von DevOps zu DevSecOps gelingen.

Dieser Beitrag stammt von unserem Partnerportal Dev-Insider.de.

* Jens Sabitzer, Solution Architect DACH bei Venafi.

(ID:46224407)