Die technologischen Innovationen der letzten Jahre, insbesondere die Möglichkeit, Infrastrukturen sehr schnell in die Cloud zu verlagern, haben die Grenzen der traditionellen Methoden der kaskadierenden Softwareentwicklung aufgezeigt, die auf einer sequentiellen Abfolge von vordefinierten Schritten beruhen.
Dies führte zur Entstehung der agilen Methoden und der DevOps-Kultur, die durch kürzere Produktionszyklen, Automatisierung und die Überwindung der historischen Kluft zwischen Entwicklungsteams (Devs) und Infrastrukturadministratoren (Ops) gekennzeichnet ist, zusammengefasst in dem berühmten Motto von Werner Vogels, dem CTO von AWS, "you build it, you run it" (Du baust es, du läufst es).
Unternehmen, die diesen Kulturwandel erfolgreich vollzogen haben, konnten ihre "time to market" deutlich verkürzen, indem sie ihre Softwareprodukte mit einer zuvor unvorstellbaren Geschwindigkeit einsetzten.
Diese erhöhte Geschwindigkeit hat jedoch neue Herausforderungen für die Anwendungssicherheit mit sich gebracht: Wie können Schwachstellen vermieden und gleichzeitig mehrere Einsätze pro Woche oder sogar pro Tag durchgeführt werden?
Wir glauben, dass der jüngste DevSecOps-Ansatz relevant ist, um diese Anforderung zu erfüllen.
Hier sind die drei Schwerpunkte, die unserer Meinung nach am wichtigsten sind:
Sicherheit nach links verschieben
Es herrscht Einigkeit darüber, dass der Aufwand, eine Anwendung im Nachhinein zu sichern, extrem viel teurer ist als die Integration von Sicherheitsanforderungen bereits in der Konzeption. Keine Debatte also über die Notwendigkeit, Sicherheit von Anfang an zu integrieren (links auf der Zeitachse), aber wie geht das in der Praxis?
Die Einstellung eines Sicherheitsexperten in jedes Entwicklungsteam ist kostspielig und nicht skalierbar. Andererseits kann das Sicherheitsteam (wenn es eines gibt...!) zu risikoscheu sein und seine Vetomacht missbrauchen, was zu ungebührlichen Verzögerungen bei der Implementierung führt.
DevSecOps bietet diese Praktiken :
- Coder in sicherer Entwicklung schulen, z. B. mithilfe des sehr umfangreichen Materials, das vom Open Web Application Security Project (OWASP) zur Verfügung gestellt wird ;
- Erleichtern Sie die Kommunikation zwischen Devs, Ops und Security, z. B. durch Sitzungen zum Informationsaustausch, Konferenzen und kollaborative Workshops ;
- Förderung der Sicherheit als Geisteshaltung und Unternehmenswert.
Automatisierung von Sicherheitsüberprüfungen
Sicherheitskontrollen müssen während des gesamten Lebenszyklus des Codes implementiert werden, d. h. in der kontinuierlichen Integrations- und Lieferpipeline. Die Palette der automatischen Tests sollte um sicherheitsrelevante Tests erweitert werden, wobei idealerweise statische und dynamische Code-Analyse-Tools integriert werden sollten. In jüngster Zeit ist der Begriff Test Driven Security (TDS) aufgetaucht, der sich am bekannteren Test Driven Development (TDD) orientiert.
In diesem Stadium besteht die Gefahr, dass sich die False Positives vervielfachen; es ist sehr wichtig, die Anzahl der False Positives durch Tuning zu kontrollieren, damit die Lieferungen nicht zu Unrecht verzögert werden - die Liefergeschwindigkeit ist der Lebensnerv!
Die Generierung von sicherheitsrelevanten Metriken geht Hand in Hand mit diesen Automatisierungsbemühungen und ermöglicht es, die für die Kommunikation mit den Geschäftsführern wichtigen KPIs zu ermitteln.
Ernennung von Sicherheits-Champions
Wie bereits erwähnt, ist es nicht praktikabel, Sicherheitsexperten in jedem Entwicklungsteam zu positionieren: Der von DevSecOps empfohlene Ansatz besteht darin, Sicherheitschampions unter den Mitgliedern der Dev- und Ops-Teams zu fördern. Diese "Champions" sollten durch einen Weg des Bewusstseins und der Schulung zu Multiplikatoren des Sicherheitsteams werden.
Zu den Verantwortlichkeiten, die sie tragen können, gehören folgende:
- Entscheiden, wann Sie die Meinung von Sicherheitsexperten einholen sollten
- Code Reviews (Dev) und Konfigurationsaudits (Ops) moderieren
- Die Modellierung von Bedrohungen koordinieren
- Kollegen für gute Sicherheitspraktiken sensibilisieren
Es ist wichtig zu betonen, dass diese neuen Sicherheitspraktiken nicht die Wichtigkeit regelmäßiger Penetrationstests und eines SIEM-Systems (Log Analysis and Correlation System), das idealerweise von einem Security Operations Center (SOC) verwaltet wird, außer Kraft setzen.
Durch Giuliano IPPOLITI (CISO und Direktor Grand Ouest bei Cloud Temple)