DevSecOps: Sicherheit für Entwickler und IT-Betrieb

DevSecOps kombiniert Anwendungssicherheit und DevOps. Bei diesem Ansatz wird IT-Sicherheit von Anfang an in die Software-Entwicklung und den Software-Lebenszyklus einbezogen.

Noch vor wenigen Jahren war DevOps ein Ansatz, den bestenfalls Freaks kannten. Der Begriff leitet sich aus „Development“ (Entwicklung) und „Operations“ (IT-Betrieb) ab. Mittlerweile greifen selbst Großunternehmen diese Idee auf und bringen Softwareentwickler und die für den IT-Betrieb zuständigen Fachleute an einen Tisch. Nach den Angaben des Marktforschungshauses Gartner setzen mittlerweile an die 20 Prozent der Großfirmen auf DevOps. Das hat eine Reihe von Vorteilen, die gerade vor dem Hintergrund der Digitalisierung gefragt sind: kürzere Entwicklungszeiten, weniger Reibungsverluste und mehr Releases.

Doch kürzere Release-Zyklen haben auch ihre Schattenseiten. Denn sie führen bei Entwicklern zu einem extremen Zeitdruck. Geschwindigkeit ist für sie daher ein wichtiger Faktor, auch auf die Gefahr hin, dass Programmcode Fehler oder Sicherheitslücken enthält. Die IT-Betriebsabteilung ist dagegen darauf bedacht, dass Anwendungen reibungslos funktionieren und keine Fehler aufweisen. Und dann sind da noch die Kollegen aus dem Bereich IT-Sicherheit. Sie haben das große Ganze im Blick, also den gesamten Softwareentwicklungszyklus (Software Development Life Cycle, SDLC) und den IT-Betrieb. Sicherheitsspezialisten wollen in erster Linie gewährleisten, dass Anwendungen und Daten bestmöglich gegen Attacken von Cyberkriminellen geschützt sind.

Kein Wunder, dass diese Konstellation Konflikte mit sich bringt. Fühlen sich Entwickler durch IT-Sicherheitsvorgaben in ihrer Arbeit behindert, finden sie schnell kreative Wege, um solche Vorgaben zu umgehen. Das IT-Betriebspersonal wiederum tobt, wenn Softwarefehler und Sicherheitsprobleme ihre Systeme beeinträchtigen. Der Security-Spezialist wiederum weist zurecht daraufhin, dass Sicherheitslücken in Anwendungen Probleme mit Datenschutz und Compliance verursachen.

Doch was tun? Eine Option, um die Interessen aller drei Parteien unter einen Hut zu bekommen, ist die Erweiterung von DevOps um den Aspekt Sicherheit. Das Resultat heißt DevSecOps. Bei diesem Ansatz wird der Aspekt IT Security von Anfang an in die Softwareentwicklung und den gesamten Softwarelebenszyklus mit einbezogen.

Mit DAST und RASP Code wasserdicht machen

Es gibt mittlerweile etliche Lösungen, die DevSecOps unterstützen. Auf diese Weise wird Sicherheit zu einem integralen Bestandteil des Softwareentwicklungsprozesses. Technologien, mit denen sich DevOps zu DevSecOps weiterentwickeln lässt, stehen für alle Phasen des Softwarelebenszyklus zur Verfügung. In der Frühphase der Anwendungsentwicklung helfen beispielsweise White-Box-Tests beziehungsweise ein Static Application Security Testing (SAST) dabei, Schwachstellen im Code zu identifizieren. Solche Werkzeuge führen selbstständig solche Analysen durch. Hilfreich ist, wenn die Tools auch Open-Source-Komponenten und Softwaremodule von Drittanbietern überprüfen.

Eine weitere Option ist der Einsatz von Lösungen für das Dynamic Application Security Testing (DAST). Solche Black-Box-Tests ahmen die Vorgehensweise von Hackern nach. Diese geben beispielsweise Schadcode in Webformulare ein, um Anwendungen auf Schwachstellen hin „abzuklopfen“. Vergleichbare Tests lassen sich mit einer Appliance durchführen, und zwar bevor Applikationen in eine Produktivumgebung überführt werden. Mit DAST-Tools können Entwickler beispielsweise Schwachstellen aufspüren, die Angriffe mittels Cross-Site-Scripting (XSS) und SQL Injection ermöglichen. Außerdem helfen Black-Box-Tests dabei, Runtime Errors zu identifizieren.

DevSecOps erfordert den Einsatz von Technologien wie Static Application Security Testing und Runtime Application Self-Protection.
Abbildung 1: DevSecOps erfordert den Einsatz von Technologien wie Static Application Security Testing und Runtime Application Self-Protection.

Ein weiteres Element von DevSecOps ist die Absicherung der Produktivumgebung. Dies erfolgt mithilfe von Runtime Application Self Protection (RASP). Diese Technologie wird direkt in die Runtime-Umgebung integriert und überwacht in Echtzeit eine Applikation, während diese ausgeführt wird.

RASP überprüft alle Systemaufrufe und Datenabfragen. Bei verdächtigen Aktivitäten kann RASP User-Sessions beenden und die Ausführung von Applikationen stoppen. Angriffe lassen sich dadurch zuverlässiger erkennen und blockieren als mit klassischen Werkzeugen für die Absicherung des Perimeters.

Den Faktor Mensch berücksichtigen

Lösungen wie DAST, RASP und SAST sind wichtige Elemente einer DevSecOps-Strategie. Doch sollten Unternehmen auch den Faktor Mensch berücksichtigen. Wichtig ist beispielsweise, bei Entwicklern und IT-Betriebsspezialisten eine Kultur der Offenheit zu etablieren und die Bereitschaft zu fördern, sich permanent weiterzubilden. Letztlich sollten sich beide Lager gleichermaßen für die Verfügbarkeit, Sicherheit oder Qualität von Applikationen und IT-Plattformen verantwortlich fühlen.

Ebenfalls unverzichtbar sind Mechanismen, die eine schnelle Rückmeldung ermöglichen. Entwickler haben dafür den Begriff „ChatOps“ geprägt. Mit Chat-Anwendungen wie Hip Chat oder Slack können Entwicklungsteams und Experten für Security und den IT-Betrieb effizienter zusammenarbeiten.

Julian Totzek-Hallhuber, Veracode

 „Lösungen wie DAST, RASP und SAST sind wichtige Elemente einer DevSecOps-Strategie. Doch sollten Unternehmen auch den Faktor Mensch berücksichtigen.“

Julian Totzek-Hallhuber, Veracode

Ein Teil dieser Feedback-Schleifen lässt sich zudem automatisieren, etwa durch den Einsatz von Chatbots. Damit DevSecOps in der Praxis funktioniert, ist ein dritter Faktor wichtig: Teams gewissermaßen an der „langen Leine“ zu führen. Mitarbeiter sollten beispielsweise selbst entscheiden können, welche Prozesse und Tools ihren Anforderungen am besten gerecht werden. Dadurch steigt die Produktivität und Zufriedenheit der Mitarbeiter.

Fazit

DevSecOps ist ein probater Ansatz, um DevOps und Anwendungssicherheit zu kombinieren. Doch damit er den erhofften Nutzen bringt, sind folgende Dinge erforderlich: Mitarbeiter, die den Sicherheitsgedanken verinnerlichen und Prozesse, die IT-Security zu einem festen Bestandteil der Anwendungsentwicklung und des IT-Betriebs machen. Hinzu kommen Tools, die zentrale Sicherheitsaufgaben automatisieren. So lassen sich Risiken minimieren, ohne dass Entwicklungszyklen ausgebremst werden.

Über den Autor:
Julian Totzek-Hallhuber ist Solution Architect beim Spezialisten für Anwendungssicherheit Veracode und bringt mehr als 15 Jahre Erfahrung im IT-Sicherheitsumfeld mit. In seinen verschiedenen Funktionen war er für die Anwendungsentwicklung, für Penetrationstests sowie für die Sicherheit von Webanwendungen zuständig. Zudem ist er Autor zahlreicher Artikel, ist regelmäßig als Sprecher auf Messen anzutreffen und hat bei Projekten von Web Application Security Consortium (wie zum Beispiel WAFEC) mitgewirkt.

Folgen Sie SearchSecurity.de auch auf Twitter, Google+, Xing und Facebook!

Nächste Schritte

Kostenloser E-Guide: DevOps und Security kombinieren

Darum sollte man auf DevSecOps setzen

Die Sicherheit von DevOps optimieren

Artikel wurde zuletzt im November 2017 aktualisiert

Erfahren Sie mehr über Anwendungsangriffe (Cross-Site Scripting, Buffer Overflows)

Diskussion starten

Schicken Sie mir eine Nachricht bei Kommentaren anderer Mitglieder.

Mit dem Absenden dieser Daten erklären Sie sich bereit, E-Mails von TechTarget und seinen Partnern zu erhalten. Wenn Ihr Wohnsitz außerhalb der Vereinigten Staaten ist, geben Sie uns hiermit Ihre Erlaubnis, Ihre persönlichen Daten zu übertragen und in den Vereinigten Staaten zu verarbeiten. Datenschutz

Bitte erstellen Sie einen Usernamen, um einen Kommentar abzugeben.

- GOOGLE-ANZEIGEN

SearchStorage.de

SearchNetworking.de

SearchEnterpriseSoftware.de

SearchDataCenter.de

Close