DevSecOps: Das Was und Warum eines Trends

von März 23, 2018

Hochgeschwindigkeits-IT ist zur Grundlage der Wettbewerbsfähigkeit auf dem modernen Markt geworden. Doch dabei bleibt schnell eines auf der Strecke: die Sicherheit. Doch kann wirklich Agilität und Sicherheit gleichermaßen Rechnung getragen werden? Und wenn ja, wie? Das Zauberwort ist „DevSecOps“. Was sich dahinter verbirgt, erklärt dieser Blogbeitrag.

Der Begriff „DevSecOps“ setzt zusammen aus Development, Security und Operations. Was DevOps ist, wissen schon viele – aber bei aller Verkürzung der Entwicklungszyklen und agilen Organisation bleibt oft unklar, wann der Code auf Schwachstellen überprüft werden soll. Eine Unklarheit, die enorme Folgen haben kann – vor allem vor dem Hintergrund der zunehmenden Cyberbedrohungen für Unternehmen. Neu ist jetzt, dass Wissen um Security gleich an die Developer geht und Sicherheit schon im Code verankert wird. Wer heute also das „Sec“ nicht in „DevOps“ einbaut, denkt eindeutig zu kurz.

Welche Logik steckt hinter DevSecOps?

DevSecOps ist eigentlich die Idee von DevOps logisch zu Ende gedacht: DevOps führt Teams zusammen, die vorher getrennt voneinander gearbeitet haben. Entwickler und Operations sind aber nur zwei der Teams in der Unternehmens-IT. Sicherheit und auch Qualitätssicherung getrennt laufen zu lassen, würde das Tempo der Prozesse wieder verringern. Läuft Security jedoch parallel zu den anderen Prozessen, behält das ganze Konstrukt seine Agilität. Doch von heut auf morgen geht der Schritt von DevOps zu DevSecOps nicht und es empfiehlt sich, bewährte Standardverfahren nicht sofort über den Haufen zu werfen.

Was kann DevSecOps leisten?

Unternehmen sehen sich mit zwei Herausforderungen gleichzeitig konfrontiert: Sicherheit und die Möglichkeit, sich in allen Punkten zum Kunden hin dynamisch auszurichten. Das heißt, sich schnell auf den Wandel in den Kundenbedürfnissen anzupassen ohne durch diese Adaption Lücken im System aufzureißen. Die wahre Herausforderung liegt jedoch darin, beides zu kombinieren. Schaffen es Unternehmen jedoch, den Sicherheitsaspekt in ihre DevOps-Methodik zu integrieren, haben sie auf dem Markt eine Menge Vorteile.

Die Entwicklung in kleinen, inkrementellen Schritten ermöglicht es auch, Security immer wieder und sehr früh zu testen. Damit wird es möglich, nicht nur Kosten zu reduzieren, sondern auch – sollten die Tests ein negatives Ergebnis bringen oder sollte sich im Live-Betrieb des Releases ein Problem ergeben – der Status vor dem Release schnell wiederherzustellen und so Schlimmeres zu verhindern. Die Integration von Cyber- und Applikationssicherheit heißt auch, dass Security-Tools, die bisher produktive Software getestet haben, bereits im Entwicklungsprozess angewendet werden – richtig und effizient, um den Prozess nicht zu verlangsamen. Diese Tools können über unterschiedliche Funktionen hinweg genutzt werden – vor allem wenn eine end-to-end DevOps Automatisierungs-Plattform Development, Testing, Betrieb und Security umfasst.

DevSecOps fängt mit Kooperation an

Der Weg von DevOps zu DevSecOps beginnt jedoch nicht bei der Technologie, sondern in den Köpfen der Mitarbeiter und in den Prozessen: Für viele Entwickler ist bereits die Einführung agiler Methoden eine extreme Veränderung. Bieten Unternehmen zu wenig oder kein entsprechendes Training an, ist die Gefahr hoch, dass der DevSecOps-Ansatz scheitert – denn da eine Mitarbeitergruppe mehr mit einbezogen wird, entsteht eine zusätzliche Hürde, die mühsam genommen werden muss.

Entwickler müssen aber den Sicherheitsaspekt ebenso wie funktionale Aspekte ihrer Codes als zentrale Arbeitsaufgabe begreifen.  Das braucht anderes Know-how bei den Developern und setzt einen Wissensaustausch zwischen Entwicklern und Sicherheitsexperten voraus – in einer Kultur der Offenheit und Transparenz. Security-Teams müssen nicht nur ihr Wissen beisteuern, sondern auch Regeln für Prozesse erstellen, die nicht nur technologische Rahmenbedingungen, sondern auch gesetzliche und regulatorische Compliance-Anforderungen sowie das Risikomanagement erfüllen. Sind die Reaktionsmechanismen und Vorgehensweisen einmal etabliert – Richtlinien zur Code-Optimierung, Threat-modeling, Rollbacks und feste Eskalationsstufen – wird Security zur gewohnten Routine.

Gelingt dies, profitiert die Sicherheit vom gesammelten Wissen der verschiedenen Experten, da Entwickler schnell und effizient ihr Insiderwissen einbringen können, um die Sicherheit zu verbessern. Jeder ist verantwortlich für Security!

APIs nicht vergessen!

DevSecOps steht und fällt mit der Sicherheit von APIs. Diese können zwar helfen, die Zuverlässigkeit, Skalierbarkeit und Sicherheit von Anwendungen signifikant zu erhöhen. Sie stellen auf der anderen Seite jedoch auch ein Sicherheitsrisiko dar. Zwar sind offene APIs und Cloud APIs ideal, den Datenzugriff zu erleichtern, doch verschwimmen damit auch die Grenzen des Unternehmens – und die Grenzen dessen, was die Sicherheitsexperten abzusichern haben. API Sicherheit ist auch sicherlich keine Kernkompetenz von Entwicklern und der Umgang mit sicherheitskritischen Daten wie API-Schlüsseln und Cloud-Metadaten will gelernt sein, denn APIs müssen geschützt werden, egal wem sie gehören oder für welchen Zweck sie genutzt werden.

Mit der richtigen API-Managementlösung wird die Erstellung, Integration und Überwachung von APIs erleichtert und damit APIs bestmöglich genutzt, um Innovationen im gesamten DevSecOps-Lebenszyklus zu beschleunigen.

Automatisierte Prozesse erhöhen die Sicherheit

Eine bedeutende Erleichterung in dem Modell der DevSecOps bieten automatisierte Prozesse hinsichtlich der Sicherheit: Enthält eine Applikation verletzbare Komponenten, so muss dies durch automatisierte Security-Tests vor dem Check-in der Software verhindert werden. Systematische Sicherheitsscans können schon während dem Programmiervorgang Sicherheitsprobleme aufdecken, die dann schnell und effizient behoben werden können. Darüber hinaus kann die Integration von regelmäßigen Sicherheitstests, wie beispielsweise auch Black-Box-Tests, automatisiert werden und Schwachstellen so frühzeitig erkannt werden.

Auch nach der Implementierung können automatische Echtzeit-Überwachungen von Anwendungen helfen, verdächtige Aktivitäten oder Datenabfragen zu erkennen. Dadurch können Unternehmen im Ernstfall nicht nur sehr schnell reagieren, sondern aufgezeigte Schwachstellen direkt schließen.

Hilfreiche Technologien

Eine Technologie, die DevSecOps erleichtert, ist die Containertechnologie. Sie ermöglicht nicht nur schnelle, wiederholbare Entwicklungs- und Implementierungszyklen, sondern erhöht auch die Sicherheit. Container bieten Umgebungsparität, wodurch die Konsistenz und Vorhersagbarkeit der Workloads erhöht wird.

Eine weitere Technologie, die mit DevOps Hand in Hand geht sind Microservices. Diese Services können in verschiedenen Apps mehrfach genutzt werden. Sichert man die wichtigsten Services mit unterschiedlichen Security-Layern, so hat es ein Angreifer schwer, alle Verteidigungslinien zu durchbrechen. Implementiert man beispielsweise Features wie OAuth für Anwenderidentität und Zugangskontrolle, sind sie für viele Use Cases vorgegeben. Es ist einer der großen Vorteile von Microservices, dass man eine derartige Strategie sehr granular umsetzen kann – also einfach die Ressourcen und Maßnahmen auf spezielle Microservices konzentrieren kann.

Die größte Herausforderung liegt für Unternehmen vermutlich darin, die Veränderung von DevOps zu DevSecOps richtig im Team zu verankern, die Mitarbeiter richtig abzuholen und den Prozess nicht nur aus technologischer, sondern auch aus Management-Sicht vollständig zu durchdenken. Die Frage, ob sich Agilität und Sicherheit verbinden lassen, ist jedoch ganz klar mit einem Ja zu beantworten. Der Schritt von DevOps zu DevSecOps erfordert zwar am Anfang etwas Aufwand, lohnt sich aber vor allem langfristig. Denn das Unternehmen sichert nicht nur das Tempo der eigenen Innovation und Weiterentwicklung, sondern es wird durch die schnellere Reaktionsfähigkeit und die Vernetzung von Wissen ein neues Maß an Sicherheit generiert. So funktionieren Agilität und Sicherheit nicht nur miteinander, sondern sie profitieren voneinander.