Mehr Sicherheit dank Micro-Learning und Gamification – Secure-Code-Warrior-Plugin für SCM-Manager
Die Regelmäßigkeit von Medienberichten über Cyber-Attacken zeigt, dass Security dieser Tage ein zentrales Thema für Teams in der Softwareentwicklung ist, bzw. sein sollte. Die Erfahrung zeigt auch, dass dabei oft nicht nur hoch spezialisierte Funktionen der Ursprung der Sicherheitslücken sind. Vielmehr nutzen viele erfolgreiche Angriffe bekannte Sicherheitslücken aus. Aus diesem Grund freuen wir uns sehr, dass wir die Lernplattform Secure Code Warrior in unser Versionsverwaltungstool SCM-Manager integrieren können.
Ein Beispiel für bekannte Sicherheitslücken sind z. B. SQL Injections, bei denen beliebiger Code in Datenbankabfragen eingeschleust wird und so unerlaubt Informationen ausgelesen werden können (mehr dazu finden Sie im Artikel der computerwoche.de). Solche Angriffe sind sehr beliebt, weil sie sehr einfach durchgeführt werden können. Deswegen belegen SQL Injections seit 2010 durchgängig den ersten Platz der Top 10 Sicherheitsrisiken des Open Web Application Security Project (OWASP).
Diese Sicherheitslücken sind eigentlich einfach zu schließen, oft fehlt scheinbar einfach das Bewusstsein oder die notwendige Zeit, um entsprechende Sicherheitschecks durchzuführen und Prozesse so zu gestalten, dass Sicherheitsaspekte fortlaufend berücksichtigt werden. Das Bewusstsein kann entweder ganz klassisch durch gezielte Schulungen oder durch kontinuierliches Lernen, z. B. mittels Microlearning oder Gamification, geschaffen werden. Für letzteres ist Secure Code Warrior ein sehr gutes Beispiel. Durch die Kombination von Secure Code Warrior und dem Versionsverwaltungstool SCM-Manager können Sicherheitsaspekte einfach und zeitsparend in Prozesse integrieren werden.
Lernen mit Secure Code Warrior
Die Plattform Secure Code Warrior ermöglicht es mittels Microlearning und Gamification Wissen über weit verbreiteten Sicherheitslücken zu erlangen und diese so zu schließen. Die Plattform bietet Lerninhalte zu fast 150 Sicherheitsthemen wie SQL Injection, Cross-Site Scripting (XSS), Memory Corruption oder Client Side Injection für alle gängigen Programmiersprachen wie PHP, JSP, JavaScript, C++, Java Spring, .NET u. v. m. Die Inhalte werden in Form von Videos (siehe Beispiel) und Programmierübungen (Challenges) vermittelt.
In Kombination mit dem Plugin für das Versionsverwaltungstool SCM-Manager werden die Informationen direkt in den Prozess der Softwareentwicklung integriert.
SCM-Manager
Der einfachste Weg Ihre Git-, Mercurial- and Subversion-Repositories zu teilen und zu verwalten.
Jetzt kennenlernenOpen Source Versionsverwaltungstool SCM-Manager
SCM-Manager ist ein Open-Source-Versionsverwaltungstool, das Cloudogu 2020 übernommen hat (zur offiziellen Ankündigung der Übernahme). Im selben Jahr haben wir die komplett überarbeitete Version 2 des Tools veröffentlicht. Diese kann on-premises betrieben werden und bietet neben der Verwaltung von Repositories einen kompletten Review-Prozess für Änderungen, die Möglichkeit Dateien direkt im Browser zu bearbeiten und viele andere Funktionen.
Abbildung 1: SCM-Manager Repository-Übersicht
Die Integration von Lerninhalten zu Sicherheitslücken mit dem Plugin für Secure Code Warrior ist die neueste Erweiterung für das Tool.
Secure-Code-Warrior-Plugin für SCM-Manager
Mit dem kostenlosen Plugin werden Videos und Links zu Challenges zu Sicherheitslücken direkt in Pull Requests angezeigt. So bekommen die Entwickelnden direkt alle wichtigen Informationen zu der Sicherheitslücke vermittelt. Dazu werden Beschreibungstexte von Pull Requests und von Kommentaren von Reviewenden auf Keywords durchsucht.
Abbildung 2: Pull Request mit Informationen zu einer Sicherheitslücke
In dem in Abbildung 2 gezeigten Pull Request wurde zum Beispiel das Keyword „SQL Injection“ in der Beschreibung des Pull Request benutzt. Deswegen werden die entsprechenden Lerninhalte angezeigt.
Diese Integration bietet die Möglichkeit die Informationen von Secure Code Warrior auf unterschiedliche Arten zu nutzen.
SCM-Manager macht den Pull Request mit Secure Code Warrior zum Sicherheitsthema
Wenn eine Sicherheitslücke in der Anwendung gefunden und behoben wurde, kann der Pull Request benutzt werden um andere Teammitglieder in dem Thema weiterzubilden – indem sie das Review durchführen. Durch die Erwähnung der Sicherheitslücke in der Beschreibung des Pull Request werden grundlegende Informationen zu dem Thema angezeigt. Diese können benutzt werden, um sich die Theorie anzueignen. Gleichzeitig können die erlernten Grundlagen im Kontext der Änderungen des Experten in der eigenen Anwendung nachvollzogen werden. Durch dieses Vorgehen wird das Wissen über das Thema auf mehrere Schultern verteilt.
Um Informationen zu Sicherheitsthemen in Pull Requests angezeigt zu bekommen, reicht es aus, das Thema in der Beschreibung oder im Titel des Pull Request zu erwähnen.
Sicherheitsrelevante Anmerkungen direkt im Review-Prozess des SCM-Manager
In SCM-Manager können Reviewende Feedback zu Pull Requests geben und so auf mögliche Sicherheitslücken hinweisen. Dafür muss lediglich ein Sicherheitsthema in Kommentaren oder in Aufgaben erwähnt werden. Anschließend werden die entsprechenden Secure-Code-Warrior-Inhalte in einem automatisch generierten Kommentar angezeigt.
Abbildung 3: Kommentar mit Informationen zu einer Sicherheitslücke
Hinweis: Es werden nur „root-“Kommentare nach Keywords durchsucht, keine Antworten auf Kommentare.
Secure-Code-Warrior-Plugin
Laden Sie das exklusive und kostenlose Secure-Code-Warrior-Plugin für SCM-Manager über die Cloudogu Platform herunter.
Jetzt herunterladenFazit
Durch das Secure-Code-Warrior-Plugin für SCM-Manager werden Informationen zu Sicherheitslücken direkt im Erstellungs- und Freigabeprozess für Änderungen integriert. Dafür reicht es aus, dass eine am Prozess beteiligte Person die Sicherheitslücke erwähnt. Alle notwendigen Informationen zur Umsetzung werden dann automatisch bereitgestellt. Der Vorteil an diesem Vorgehen ist, dass Wissen über Sicherheitslücken ohne zusätzlichen Aufwand im Team gestreut wird und sich die Teammitglieder durch Selbststudium mittels Micro-Learning und Gamification weiterbilden können.