Es gibt eine Frage, die sich jeder Entwickler stellen muss, egal ob Sie ein Absolvent oder ein Veteran sind. Und die Antwort ist wichtig. In einer agilen Welt ist sie sogar noch wichtiger geworden, da sie sich direkt darauf auswirkt, wie erfolgreich Sie in der Softwareentwicklung sein werden und wie wertvoll Sie für Ihren nächsten Arbeitgeber sein werden.
Es ist die Millionen-Dollar-Frage. Eigentlich ist es die Multi-Multi-Millionen-Dollar-Frage!
Möchten Sie mir helfen, sicher zu codieren?
Die durchschnittlichen Kosten einer Datenpanne liegen mittlerweile bei 3,6 Millionen US-Dollar. Die Wahrscheinlichkeit, dass Ihr Unternehmen in diesem Jahr Opfer einer Datenschutzverletzung wird, liegt bei eins zu vier. In Anbetracht dieser Tatsachen teile ich die Frustration vieler, dass Entwickler ihren Universitätsabschluss nicht mit der Kompetenz für sichere Programmierung und Sicherheit in ihrer DNA verankert haben.
Warum? Software Engineering ist noch ein relativ junger Beruf. Der Schwerpunkt lag bisher darauf, Menschen beizubringen, wie man Code schnell erstellt, ihn elegant und funktional macht, aber mit sehr begrenztem Fokus auf die Sicherheit des Codes. Die Geschwindigkeit, mit der sich Methoden, Technologien, Sprachen und Möglichkeiten ändern, verschlimmert diese Lücken in den Schlüsselqualifikationen nur noch mehr.
Wir werden das akademische System nicht so schnell ändern, daher sollten Entwickler und Unternehmen gleichermaßen erwarten, dass Entwickler sichere Programmierfähigkeiten on the job lernen müssen. In manchen Berufen kann man lernen, indem man Fehler macht, aber für andere ist das keine Option. So ist es auch mit der Cybersicherheit.
Die Fakten zeigen, dass wir auch bei der Sicherheitsschulung für Entwickler am Arbeitsplatz nicht sehr gut abgeschnitten haben. Die meisten großen Sicherheitsverletzungen weltweit sind auf Codierungsfehler zurückzuführen, die es Hackern ermöglichen, Privilegien in Computernetzwerken zu erlangen, wodurch sie auf wertvolle Daten zugreifen und diese abgreifen können. Der Verizon Data Breach Investigation Report (DBIR) 2017, zeigt, dass 30 % aller Sicherheitsverletzungen direkt durch Schwächen in der Sicherheit von Webanwendungen verursacht werden und diese Schlussfolgerung ist im DBIR-Bericht seit 2013 konsistent.
Die 2017 Global DevSecOps Skills Survey, die im August 2017 veröffentlicht wurde, bestätigte, was wir bereits wussten: Während 65 Prozent der DevOps-Profis glauben, dass es sehr wichtig ist, DevSecOps-Kenntnisse zu haben, wenn sie in die IT einsteigen, haben 70 Prozent das Gefühl, dass sie nicht die notwendige Ausbildung durch formale Bildung erhalten, um in der heutigen DevSecOps-Welt erfolgreich zu sein.
Fast 40 Prozent der befragten Personalverantwortlichen gaben an, dass die am schwersten zu findenden Mitarbeiter die universellen High-End-Entwickler mit ausreichendem Wissen über Sicherheitstests sind. 70 Prozent der Befragten gaben an, dass die Sicherheitsausbildung, die sie erhalten haben, für ihre aktuelle Position nicht ausreichend ist. Tatsächlich gaben weniger als 4 Prozent an, dass ihnen diese Möglichkeit überhaupt geboten wird.
Ich habe das aus erster Hand erfahren, als ich fast ein Jahrzehnt lang mit mehreren Teams von professionellen White-Hat-Hackern gearbeitet habe. Mit tragischer Regelmäßigkeit brachen wir in große Unternehmen, Start-ups und Regierungsabteilungen ein und fanden immer die gleichen Schwachstellen.
Das ist der Grund, warum Entwickler sich zu Wort melden müssen, wenn Sie angestellt werden. Wenn Ihr zukünftiger Arbeitgeber Ihre Sicherheitsschulung für Entwickler nicht ernst nimmt, sollten Sie darüber nachdenken, in welche Art von Unternehmen Sie eintreten wollen.
Die zweite Frage, die Sie sich stellen sollten, ist, wie der Kurs durchgeführt werden soll. Wird es praxisorientiert und interaktiv sein? Sicherheitsschulungen für Entwickler zu Schwachstellen, die Slideware, Videos, anklickbare Animationen oder abstrakte Diskussionen verwenden, werden Sie wahrscheinlich nicht direkt bei der Programmierung unterstützen. Wird sichergestellt, dass Sie ständig über die neuesten Sicherheitslücken auf dem Laufenden gehalten werden? Gibt es eine Sicherheitsgilde oder Community, von der Sie lernen können? Gibt es Sicherheitskenner, auf die Sie zurückgreifen können, wenn Sie Hilfe benötigen?
Ein Engagement für Ihre sicheren Codierungsfähigkeiten erfordert kontinuierliches Lernen durch praktische Herausforderungen in spezifischen Codierungs-Frameworks und die Konfrontation mit verschiedenen Schwachstellen in mehreren Szenarien. Sie können SQL-Injections nicht einfach durch ein einziges Beispiel lernen. Sie müssen mit mehreren Beispielen unterschiedlicher Art konfrontiert werden, damit Sie lernen, diese gefährlichen Codierungsmuster zu erkennen.
Einer unserer Kunden verlangte von seinen Entwicklern, dass sie zwei Monate lang jeden Tag eine einzige Herausforderung (5 Minuten) spielen. Er testete ihre Fähigkeiten vor und nach dem Trainingszeitraum und beobachtete eine 60-prozentige Steigerung der Fähigkeit zur sicheren Codierung bei einer Gruppe von Hunderten von Entwicklern. Das bedeutet, dass weniger Ressourcen für das Auffinden und Beheben von Sicherheitsfehlern im späteren Verlauf des Lebenszyklus aufgewendet werden müssen, was langfristig zu erheblichen Einsparungen führt. Es bedeutet, dass Hacker Ihren Code nicht nutzen werden, um die Daten Ihres Unternehmens zu kompromittieren.
Im Jahr 2014 gab es laut einer IDC-Studie weltweit 11 Millionen professionelle Entwickler. Im Jahr 2015 stellte Burning Glass fest, dass es sogar 7 Millionen Berufe gibt, die Programmierkenntnisse erfordern, und dass Programmierjobs im Durchschnitt 12 % schneller wachsen als der Markt.
Es gibt viele Software-Jobs da draußen. Also beziehen Sie Stellung und wählen Sie Arbeitgeber, die sich um ihre Sicherheit, Ihre Sicherheit und die Sicherheit ihrer Kunden kümmern. Wählen Sie dementsprechend Unternehmen, die in Sie investieren.
Es gibt eine Frage, die sich jeder Entwickler stellen muss, egal ob Sie ein Absolvent oder ein Veteran sind. Und die Antwort ist wichtig. In einer agilen Welt ist sie sogar noch wichtiger geworden, da sie sich direkt darauf auswirkt, wie erfolgreich Sie in der Softwareentwicklung sein werden und wie wertvoll Sie für Ihren nächsten Arbeitgeber sein werden.
Es ist die Millionen-Dollar-Frage. Eigentlich ist es die Multi-Multi-Millionen-Dollar-Frage!
Möchten Sie mir helfen, sicher zu codieren?