Sicherheitsrisiken und Gegenmaßnahmen für DevOps Umgebungen

Master Studiengang Information Security

Dipl.-Ing. Dominik Sramec, BSc

Betreuer: FH-Prof. Prof. (h.c.) Dipl.-Ing. (FH) Thomas Brandstetter, MBA 

Ausgangslage

DevOps ermöglicht es einem Team, Features und Applikationen schneller auszuliefern, indem die Kooperation zwischen Dev (Entwicklung) und Ops (Betrieb) verbessert wird. Im Fokus der klassischen Applikationsentwicklung steht das Ausliefern von Software in einer definierten Qualität, welche unter anderem mit funktionalen Tests erreicht wird. Dabei werden Tests, die in Richtung Security gehen, leider oftmals vernachlässigt oder erst zum Schluss mithilfe von Penetration Tests durchgeführt.

DevSecOps beschreibt hierbei die frühe Integration von Security in die Deployment Pipeline und damit auch die Einbindung von Security Testing in die Entwicklung. Hierbei werden diverse Praktiken, Prinzipien und Tools beschrieben, die zeigen, wie eine Applikation von der Entwicklung bis zum Betrieb in Produktion geschützt werden kann. Leider wird auch bei DevSecOps die Sicherheit oftmals vernachlässigt, jedoch auf eine andere Art und Weise als bei DevOps.

Eine DevOps-Umgebung bietet dem/der Angreifenden eine Vielzahl an Angriffsmöglichkeiten, wie beispielsweise das Übernehmen von wichtigen Systemen und Lösungen, darunter die Continuous-Integration-/Continuous-Delivery-Lösung oder der Einführung von Schadcode und anderen Funktionen in Applikationen. Diese Arbeit beschreibt mögliche Angriffe gegen die Deployment Pipeline und Gegenmaßnahmen zu deren Erkennung und Prävention.

Ziel

Das Ziel dieser Arbeit ist das Aufdecken von möglichen Angriffen auf eine DevOps-Umgebung und die Beschreibung passender Gegenmaßnahmen. Hierbei wird eine mögliche Deployment Pipeline vorgestellt und mithilfe von Attack Trees werden Angriffsvektoren und Angriffsmöglichkeiten dargestellt und beschrieben. Diese Bedrohungen werden anschließend durch die beschriebenen Gegenmaßnahmen entkräftet.

Ergebnis

Die Arbeit führte in die Prinzipien von DevOps und

DevSecOps ein und gab einen Überblick über Konzepte und Praktiken und deren Integration in die Deployment Pipeline. Weiters wurden Gründe, Ziele und Probleme von DevSecOps erläutert und mögliche Tools und Praktiken zur Absicherung der Deployment Pipeline gezeigt. Anschließend wurden mögliche Angriffsziele genannt und mithilfe von Attack Trees wurden Angriffe, die Wege darstellen, um diese Ziele zu erreichen, aufgezeigt und beschrieben. Die in weiterer Folge angeführten Gegenmaßnahmen verhindern oder ermöglichen zumindest die Erkennung von Angriffen. Abschließend wurden die häufigsten Maßnahmen aufgelistet.