Der Software Development Lifecycle (SDLC) scheint harmlos genug zu sein; es ist ein Prozess, und wir Softwareentwickler kommen alle zusammen, um die Magie Wirklichkeit werden zu lassen und all die digitalen Dinge zu versenden, ohne die die Gesellschaft nicht leben kann.
Außer... wenn du schon einmal Teil eines Softwareentwicklungsprojekts warst, weißt du, dass es normalerweise ein Spießrutenlauf ist, mit vielen Quests, die es zu erobern gilt, und Drachen, die es zu töten gilt. Eine Zeit lang macht es Spaß, aber Burnout ist real, und die Nachfrage nach Software lässt uns alle in den besten Zeiten mit Lichtgeschwindigkeit arbeiten, besonders das Entwicklungsteam.
Stellen Sie sich nun vor, sie erhalten eine weitere wichtige Aufgabe... die Verantwortung für die Sicherheit der Projektelemente, mit denen sie zu tun haben. Im schlimmsten Fall kann dies dazu führen, dass das Kartenhaus für einige Personen zusammenbricht, aber das realistischere Szenario ist, dass es einfach nicht zur Priorität erklärt wird und die Probleme, die als dringlicher erachtet werden, um die Grenze zu überschreiten, Vorrang haben. Und wenn die meisten Entwickler nicht darin geschult sind, sicher zu programmieren (insbesondere, wenn auch ihre Manager der Sicherheit keine Priorität einräumen), ist es kein Wunder, dass wir häufig Datenschutzverletzungen, fehlerhafte App-Veröffentlichungen und eine ernsthafte Abwanderung unter Sicherheitsexperten beobachten, die unter einer Lawine von fehlerhaftem Code ihre Belastungsgrenze erreicht.
Entwickler brauchen einen AppSec-Befürworter.
Wenn Sie sich das obige Szenario ansehen, können Sie verstehen, warum die Sicherheit während des Codierungsprozesses in den „zu schwierigen“ Korb gelegt wird und dem Sicherheitsteam überlassen wird, sich darum zu kümmern. Zu viele konkurrierende Termine, zu wenig Schulung und kein wirklicher Grund, sich bei allem anderen um die Sicherheit zu kümmern. Es besteht jedoch einfach zu viel Nachfrage nach Code, als dass dieser Status Quo so weitergehen könnte. Und hier können sich Super-Elite-Entwickler von ihren Mitbewerbern abheben, neue Fähigkeiten erlernen und vor allem sichereren Code erstellen.
Es ist jedoch wichtig, sich daran zu erinnern, dass nicht alles auf den Schultern der Entwickler liegt, die Softwaresicherheit zu verwalten — das ist immer noch die Domäne des AppSec-Teams (das, wenn es mit sicherheitsbewussten Entwicklern zusammenarbeitet, mehr Luft zum Atmen hat, anstatt häufig auftretende Fehler wiederholt zu beheben). Ein funktionierender DevSecOps-Prozess erfordert, dass jedes Teammitglied über die Unterstützung und die Tools verfügt, die es benötigt, um gemeinsam die Verantwortung für die Sicherheit zu übernehmen, und richtige Art von Training ist von größter Bedeutung. Die richtige Auswahl an Tools und Schulungen erfordert das Wissen von AppSec-Experten, die bereit sind, eng mit Entwicklern zusammenzuarbeiten, um sie zu inspirieren und positive Veränderungen voranzutreiben.
Disruptive Schulungen sind eher lästig als effektiv, und alles, was Entwickler abschreckt, wird nicht funktionieren. Eine Alternative ist eine IDE- oder Issue-Tracker-integrierte Lösung, die sich auf gebündeltes Wissen konzentriert, und sie erhält die richtigen Informationen genau in dem Moment, in dem sie benötigt werden.
So funktioniert es in Aktion:
Just-in-time, nicht „nur für den Fall“.
Kontextuelles, praktisches Lernen ist bei weitem die effektivste Art zu trainieren, da mundgerechte Brocken genau dann geliefert werden, wenn sie am sinnvollsten sind. Dies wird manchmal auch als „Just in Time“ (JiT) -Training bezeichnet und ist für Entwickler, die sicheres Programmieren lernen, sehr hilfreich.
Mit Ursprüngen in Die Prinzipien der schlanken Fertigung von Toyota, Das JiT-Training ist so konzipiert, dass es nach Bedarf und im Kontext aktiviert wird, wenn es am wichtigsten ist. Hat ein Entwickler gerade etwas geschrieben, das anscheinend falsche Berechtigungen hat? Was wäre, wenn eine kleine Hintertür geöffnet würde, die es einem Angreifer ermöglicht, Code aus der Ferne auszuführen? Es wird viel einprägsamer sein, wenn Entwickler genau dann auf Wissen zugreifen können, wenn sie es benötigen, anstatt die Dokumentation in Confluence durchzuforsten oder etwas zu googeln, das in der Schulung angesprochen wurde.
Just-in-Time ist das Gegenteil von Lernen für alle Fälle. Letzteres ist zwar die gängigere Art der Wissensvermittlung, aber einfach nicht effizient. Wir müssen es Entwicklern leichter machen, sich mit bewährten Methoden für sicheres Programmieren zu beschäftigen und die Vorteile einer Weiterbildung für ihre Karriere zu erkennen, während sie sich gleichzeitig auf die wichtigsten Ziele konzentrieren, an denen sie gerade arbeiten.
Hören Sie auf, Entwickler dazu zu bringen, dem Training nachzujagen.
Wir wissen bereits, dass an einem Arbeitstag zu viel los ist. Welchen Anreiz haben Entwickler also, in ein Klassenzimmer zu gehen oder den Kontext zu wechseln, um fünf Schritte zu durchlaufen, um an Schulungen teilzunehmen, die auf statischen Theorien basieren?
Der allgemeine Konsens ist, dass alles, was die meisten Unternehmen tun, nicht besonders effektiv ist, wenn man die Anzahl der Sicherheitslücken, die zu Datenschutzverletzungen führen, bedenkt. Im Bericht von Verizon zur Untersuchung von Datenschutzverletzungen 2020 heißt es dazu 43% der Datenschutzverletzungen könnten auf Sicherheitslücken im Internet zurückgeführt werden. Entwickler werden weder im Tertiärbereich noch im Rahmen von Weiterbildungsmaßnahmen am Arbeitsplatz effektiv geschult. Wenn ja, häufige Sicherheitslücken wie SQL Injection und Old-School Pfaddurchquerung würde nicht für erhebliche Datenabgaben ausgenutzt werden, und der Fachkräftemangel im Bereich Cybersicherheit wäre nicht außer Kontrolle geraten.
Wenn wir also wissen, dass dies das aktuelle Klima ist, in dem Entwickler geschult werden und sich mit Sicherheit vertraut machen, warum sind wir dann überrascht über das schlechte Ergebnis? Es könnte sich sowohl für den Entwickler als auch für das Unternehmen positiv auswirken, wenn es darum geht, ein reibungsloseres, integrierteres und weniger störendes Schulungserlebnis zu gewährleisten, bei dem die Schulung in den Bereichen, in denen sie tatsächlich arbeiten, wie Jira, GitHub und in der IDE, zugänglich ist. Die Branche muss einfach vorankommen und das Sicherheitsbewusstsein deutlich verbessern, und das in einem Umfeld, in dem dies kein Luxus mehr ist.
Bereit, den Entwicklungsworkflow abzusichern?
Sicherheitsbewusste Entwickler werden für ihre Fähigkeiten und den Schutz, den sie Unternehmen bereits in der Phase der Codeerstellung bieten können, verehrt. Sicherheit ist nicht mehr optional, insbesondere angesichts der DSGVO-Bußgelder, der PCI-DSS-Compliance-Vorschriften, der NIST-Verwaltung... und der Möglichkeit, in einer großen alten Sammelklage im Wert von mehreren Millionen Dollar verklagt zu werden, a'la Equifax.
Ein integrierter Ansatz könnte der Katalysator sein, um Entwickler mit weniger disruptivem Lernen für sich zu gewinnen und einige Möglichkeiten für eingehendere Kurse zu schaffen, Sicherheitsexperten auszubilden und generell zu der gemeinsamen Verantwortung zu inspirieren, die wir brauchen, um die Sicherheit der Daten der Welt zu gewährleisten.
Laden Sie Integrationstools herunter für Jira und GitHub jetzt, und lass uns wissen, was du denkst.