DevSecOps bringt Security und DevOps zusammen. Das sollten Sie zum Thema wissen. [...]
Bei DevSecOps geht es darum, IT-Sicherheitsaspekte so früh wie möglich in den Lebenszyklus der Applikationsentwicklung zu integrieren. So lassen sich potenzielle Schwachstellen beseitigen, während Entwicklung und Betrieb eine Einheit bilden und eine hohe Entwicklungsgeschwindigkeit entlang des Anwenderbedarfs ermöglichen.
DevSecOps – Definition
DevSecOps bezeichnet keine , sondern einen kulturellen Wandel in der Softwareentwicklung. Ziel des DevSecOps-Ansatzes ist es, die IT-Sicherheit in den heutzutage typischerweise rasanten Entwicklungszyklen (Stichwort DevOps) zu verankern.
Um diesen Shift-Left-Ansatz in der Praxis umzusetzen, müssen Unternehmen die im Regelfall ausgeprägte Lücke zwischen Entwicklungs- und Security-Teams schließen. Im Idealfall geschieht das so, dass möglichst viele Sicherheitsprozesse automatisiert ablaufen beziehungsweise vom Entwicklungsteam selbst erledigt werden.
DevSecOps – die sichere Softwareentwicklung
In der traditionellen Softwareentwicklung wurden neue Versionen alle paar Monate – manchmal auch Jahre – veröffentlicht. Das verschaffte den Unternehmen ausreichend Zeit, um ihren Code einer Qualitätskontrolle und einer Security-Testing-Prozedur zu unterziehen. Dabei wurden diese Prozesse von unterschiedlichen, spezialisierten Teams übernommen. In den letzten zehn Jahren hat sich das fundamental verändert: Die Public Cloud, Containertechnologie und der Microservices-Ansatz haben dafür gesorgt, dass der monolithische Prozess der Softwareentwicklung in viele kleine, voneinander unabhängig ablaufende Prozesse aufgesplittet wurde.
Das hat die Art und Weise, wie entwickelt wird, verändert: Dank agiler Entwicklungsmethoden und „rollender“ Releasezyklen werden Features beziehungsweise neuer Code fortlaufend und in kurzen Abständen hinzugefügt. Die dabei ablaufenden Prozesse wurden vielfach mit Hilfe neuer Technologien und Tools automatisiert, was die Innovationsgeschwindigkeit – und damit die Wettbewerbsfähigkeit – von Unternehmen entscheidend stärkte.
Cloud, Container und Microservices haben jedoch eine weitere Entwicklung befeuert: den DevOps-Ansatz. Entwickler provisionieren und skalieren hierbei die Infrastruktur selbst – ein eigenes Team, dass diese Aufgabe übernimmt, gibt es nicht mehr. Inzwischen bieten alle großen Cloud Provider APIs und Konfigurationswerkzeuge, die die Bereitstellung von Infrastruktur als Code über „Deployment Teamplates“ ermöglichen.
DevOps hat die Softwareentwicklung ohne Zweifel innovativer, agiler und schneller gemacht, allerdings wurde beim Fokus auf Geschwindigkeit allzu oft die IT vernachlässigt. Mit dem DevSecOps-Konzept soll dieser Umstand korrigiert und Security Testing vollständig in die CI/CD Pipelines integriert werden. Darüber hinaus geht es bei DevSecOps auch darum, die Entwickler zu befähigen, Tests und eventuelle Nacharbeiten selbst erledigen zu können.
DevSecOps – Erfolgsfaktoren
„Insbesondere die Umsetzung des letztgenannten Punkts wird einige Zeit in Anspruch nehmen. Doch erst wenn ein separates Sicherheitsteam überflüssig ist, kann man wirklich von DevSecOps sprechen“, ist Chris Wysopal, CTO beim Veracode, überzeugt.
Um das Security Skillset von Entwicklern zu erweitern, benennen einige Unternehmen einen „Security Champion“ innerhalb des Dev-Teams. Dieser hat zuvor bereits eine erweiterte Security-Schulung erhalten und übernimmt im Team die Verantwortung für das Security Fixing, während der Rest des Teams nach und nach Weiterbildungen in Sachen sichere Programmierarbeit erhält.
Die Verschmelzung von Entwicklung und Security muss allerdings auch auf dem Management-Level erfolgen, wie Brian Fox, CTO beim DevOps-Plattformanbieter Sonatype, weiß: „Geschieht das nicht, kann es zu Machtkämpfen und divergierenden Zielen kommen, obwohl die Beteiligten im selben Team verortet sind. Das ist ein bisschen wie auf dem Kinderspielplatz: Zwei Kinder sitzen nebeneinander, streiten nicht – und trotzdem heißt das nicht, dass sie gemeinsam spielen. Genau das passiert in vielen Unternehmen.“
DevSecOps – Tools
Frühe DevSecOps-Tools waren nicht immer entwicklerfreundlich: Statt automatisierbaren Kommandozeilen-Tools, deren Output sich schnell und einfach in Bug Tracker übertragen lässt, sind traditionelle Security-Werkzeuge eher für Security Teams und CISOs konzipiert und rücken Governance, Sicherheitsrichtlinien und Risk Management in den Fokus.
Das hat sich inzwischen geändert – neue Tools, die (teilweise) von Entwicklern für Entwickler geschaffen wurden, bereichern inzwischen vielerorts die Entwicklungsumgebungen und CI/CD-Workflows. Die Werkzeuge lassen sich dabei in verschiedene Kategorien einordnen. Zu den populärsten DevSecOps-Tools gehören beispielweise:
Anomalieerkennung:
Automatisierung:
Dashboards:
Threat Modeling:
Testing:
Im Laufe der letzten Jahre sind einige traditionelle Security-Anbieter dazu übergegangen, ihre Produkte sowohl auf die Entwickler- als auch auf die CISO-Welt auszurichten und verbinden Reporting- und Analytics-Funktionalitäten mit simpler Benutzerführung. Auch die Anbieter von Cloud Services haben damit begonnen, ihre Dienste mit Security-Testing-Funktionalitäten anzureichern.
Dieser Beitrag basiert in Teilen auf einem Artikel unserer US-Schwesterpublikation CSO Online.
Be the first to comment