DevSecOps in der IT-Sicherheit: Maßnahmen zur Steigerung des Sicherheitsbewusstseins

Durch die Digitalisierung der Gesellschaft gibt es heutzutage zahllose neue Produkte und Services. Schon jetzt bieten Smartphone-Apps und Web-Services Möglichkeiten, den Alltag zu vereinfachen und neue Dinge zu erleben. Grundlage dafür sind Nutzerdaten, mit denen in den falschen Händen viel Schaden angerichtet werden kann.

Unternehmen befinden sich in einer Zwickmühle aus kurzen Release-Zyklen für neue Funktionen und Beibehalten des Status-quo im Hinblick auf Sicherheit. 

Anzeige

Der DevSecOps Report 2021 von GitLab liefert ein gutes Beispiel für diese Zwickmühle. Einerseits hat die Befragung ergeben, dass:

  • ein Großteil (> 70 %) der Unternehmen kritische Daten durch Cyber-Attacken verloren haben
  • zwei Drittel Betriebsstörungen erfahren haben und
  • mehr als 60% negative Auswirkungen auf ihre Marke festgestellt haben.

Gleichzeitig gaben mehr als die Hälfte der befragten Teams an, Sicherheitstests übersprungen zu haben, um Deadlines einzuhalten. Die Herausforderung für die Unternehmen besteht darin, dass das bisherige Vorgehen in Bezug auf Sicherheit, nämlich ausführliche nachgelagerte Tests und anschließende Bugfixes, nicht dazu geeignet ist, schnell Neuerungen zu veröffentlichen.

Der DevSecOps Report liefert dazu diese Zahlen:

Anzeige
  • 99% der Applikationen enthalten mindestens 4 Verwundbarkeiten, 80% haben sogar mehr als 20
  • Mehr als 90% der Teilnehmenden sagten, dass Sicherheits-Scans länger als 3 Stunden laufen, bei ca. ein Drittel laufen sie sogar länger als 8 Stunden
  • Bei mehr als zwei Drittel der Teilnehmenden dauert es mehr als 4 Stunden um eine Verwundbarkeit zu beheben.

Cybersecurity scheitert oft an sicherer Authentifizierung 

Der State of Cybersecurity 2021 Bericht der ISACA hat die Teilnehmenden nach der Art von Angriffen befragt. Das Ergebnis ist, dass neben dem Versuch, den Menschen als Schwachstelle durch Social Engineering auszunutzen, ungepatchte Systeme, falsch konfigurierte Sicherheitssysteme, kaputte Authentifizierung und Autorisierung sowie mangelndes Logging und Monitoring die häufigsten Angriffsarten waren. Alle diese Angriffsarten sind in den OWASP Top 10 zu finden. Das ist eine Liste des Open Web Application Security Project (OWASP), die weit verbreitete Angriffsarten auf Webanwendungen zeigt und Details zu Angriffsszenarios bietet. Die Informationen rund um Angriffsarten und wie sie verhindert werden können, sind also vorhanden. Das Problem ist, dass die Bedeutung der Sicherheit oft nicht hoch genug ist und das Bewusstsein dafür nicht tief genug bei Entwickelnden verankert ist, da Sicherheit oft nur eine untergeordnete Rolle bei der Ausbildung von Entwickelnden spielt.

Bisher ist es weit verbreitet, dass Sicherheitstests im Anschluss an die Feature-Entwicklung von isolierten Sicherheits- oder „AppSec“-Teams durchführt werden. Dieses Vorgehen führt dazu, dass die Entwicklungsdauer verlängert wird. Zusätzlich kann es zu Spannungen zwischen AppSec- und Entwicklungsteams kommen.

Mit DevSecOps Verwundbarkeiten verhindern anstatt sie zu beheben

Eine bereits recht bekannte Lösung für diese Probleme ist DevSecOps, ein Ansatz der Sicherheit ganzheitlich über den gesamten Entwicklungs-Lebenszyklus hinweg betrachtet. Dabei ist die große Herausforderung das Wissen über und das Bewusstsein für Sicherheit möglichst früh im Entwicklungsprozess von Software zu etablieren. Denn nur dadurch können Sicherheitslücken von vorn herein verhindert und so die gesamte Entwicklungszeit verkürzt werden.

Unabhängig von der Methode ist ein wichtiger Erfolgsfaktor, dass Sicherheitsspezialisten in Entwicklungsteams etabliert werden. Idealerweise kommen diese direkt aus den Teams, z.B. indem Entwickelnde, denen das Thema Sicherheit bereits wichtig ist, zu Botschaftern für das Thema weiterentwickelt werden. Wenn bereits ein AppSec-Team im Unternehmen vorhanden ist, können auch diese Spezialisten in die Teams integriert werden. Beide Vorgehen haben ihre Vor- und Nachteile:

  • Security-Botschafter, die aus einem bestehenden Team heraus entwickelt werden, haben von vorn herein eine hohe Akzeptanz im Team. Sie müssen jedoch oft fachlich und methodisch weitergebildet werden.
  • AppSec-Spezialisten, die von extern in Teams integriert werden, verfügen bereits über sehr gutes Wissen, müssen aber wahrscheinlich härter dafür arbeiten von ihrem neuen Team akzeptiert zu werden.

Die Etablierung von Security-Spezialisten ist jedoch nur der erste Schritt, denn langfristig können diese nicht alle Änderungen am Code reviewen. Das würde wieder zu einem Flaschenhals führen und so die Entwicklung verlangsamen. Das Ziel muss es daher sein das Wissen über Sicherheit über die Botschafter in den Teams zu verteilen und Lerninhalte direkt in Entwicklungsprozesse zu integrieren.

Newsletter
Newsletter Box

Mit Klick auf den Button "Jetzt Anmelden" stimme ich der Datenschutzerklärung zu.

Dank Micro-Learning werden Lerninhalte in den Entwicklungsprozess integriert

Die meisten Menschen können gelerntes am besten „abspeichern“, wenn sie das Gelernte auch sofort anwenden können. Dafür gibt es mittlerweile viele Lösungen, die nach dem Prinzip des Micro-Learning Lerninhalte in kleinen Häppchen direkt in Entwicklungsprozesse integrieren. Den Sicherheitsspezialisten kommt dabei die Aufgabe zu, ihre Teammitglieder auf potentielle Sicherheitslücken hinzuweisen, damit diese sich das Wissen aneignen können. Das kann z.B. in Form von Code Reviews geschehen. Lerninhalte wie Videos und Übungsaufgaben zu den Themen werden dem Entwickler automatisch angezeigt. Es gibt bereits entsprechende Lösungen, die ein solches Vorgehen für alle gängigen Programmiersprachen und die OWASP Top 10 bereitstellen. Der Vorteil ist, dass die Informationen zu den notwendigen Anpassungen direkt an die Entwickler gegeben werden, was deutlich zeiteffizienter ist als beim traditionellen Vorgehen.

Eine weitere Möglichkeit ist automatisiertes Echtzeit-Coaching, bei dem die Entwickelnden direkt beim Schreiben des Codes Rückmeldung darüber bekommen, ob es potentielle Sicherheitslücken im Code gibt. Für dieses Coaching gibt es Erweiterungen für IDEs, die in Echtzeit den Code prüfen und basierend auf Best-Practices Vorschläge für die Umsetzung geben. Die Erweiterungen erkennen aber auch nicht alle potentiellen Schwachstellen und sind davon abhängig, dass die Best-Practices noch von den Teams erweitert werden.

Spaß am Lernen durch Gamification

Neben der technischen und prozessualen Integration von Lerninhalten, kommt es auch darauf an, wie die Inhalte transportiert werden. Daher sollte gerade der Spaß am Lernen nicht außer Acht gelassen werden. Deswegen können auch proaktive Lernmaßnahmen, bei denen die Entwickelnden etwas über Sicherheitsthemen lernen, ohne einen direkten Anwendungsfall zu haben, sehr hilfreich sein:

  • Klassische Angebote dafür sind Schulungen, die entweder persönlich oder online durchgeführt werden. Vorteile sind der direkte Austausch, Wissensvermittlung durch Experten und das auch spontan auf individuelle Fragestellungen eingegangen werden kann. Nachteile sind der organisatorische Aufwand und der fehlende Spaßfaktor.
  • Auch eLearning ist mittlerweile als eine dezentrale und flexible Lösung etabliert. Im Gegensatz zu klassischen Schulungen hat es den Vorteil, dass die Inhalte in kleineren Einheiten vermittelt werden und im eigenen Tempo bearbeitet werden können. Ein Nachteil ist, dass viele eLearning-Angebote aufgrund ihres statischen Aufbaus nicht auf individuelle Fragestellungen eingehen können.
  • Ein ganz anderer Ansatz sind Wettbewerbe, bei denen die Teilnehmenden, motiviert durch spielerische Anreize, sowohl bestehendes Wissen anwenden als auch Lösungen für neue Herausforderungen finden müssen. Vorteile sind die Motivation durch den Vergleich mit anderen sowie der hohe Praxisbezug der Aufgaben. Ein Nachteil kann sein, dass nicht alle Entwickelnden Spaß an einem solchen Vergleich haben.

Fazit: Um Release-Zyklen durch eine frühzeitige Berücksichtigung, z.B. im Rahmen von DevSecOps, zu verkürzen und gleichzeitig die Sicherheit von Anwendungen zu verbessern, sind zwei Dinge wichtig: Etablierung von Botschaftern für das Thema in Entwicklungsteams und eine ansprechende Wissensvermittlung. Bei letzterer gibt es viele unterschiedliche Methoden, die je nach persönlichen Vorlieben und der Dynamik im Team benutzt werden können. Wenn dann durch das Einwirken der Security-Botschafter und die Weiterbildungsmaßnahmen mit der Zeit das Bewusstsein und das Wissen um Sicherheitslücken im Entwicklungsteam steigen, werden mehr und mehr Sicherheitslücken proaktiv geschlossen. Teams können auch dazu übergehen z.B. Sicherheitstests im Rahmen von TDD (Test Driven Development) noch vor dem Schreiben des funktionalen Codes zu etablieren um nachträgliche Änderungen noch weiter zu vermindern.

Daniel

Huchthausen

IT-Consultant

Cloudogu GmbH

Daniel Huchthausen nutzt seine langjährige Erfahrung als IT-Consultant dafür, die komplexen Sachverhalte rund um moderne Softwareentwicklung verständlich zu vermitteln. Die Cloudogu GmbH hat es sich zum Ziel gesetzt, den gesamten Product Lifecycle der Softwareentwicklung durch ein einfach nutzbares Toolset abzubilden, das durch Standardisierung und Automatisierung dazu beiträgt, Software noch
Anzeige

Artikel zu diesem Thema

Weitere Artikel

Newsletter
Newsletter Box

Mit Klick auf den Button "Jetzt Anmelden" stimme ich der Datenschutzerklärung zu.