Security Gesetze wie der Cyber Resilience Act oder KRITIS haben das Thema Secure Development mittlerweile gesetzlich verankert und fordern umfangreiche Maßnahmen im Entwicklungsprozess. In den Entwicklungsabteilungen und im Business stößt das noch auf wenig Gegenliebe. „Wenn ich das alles umsetze, kann ich aufhören zu entwickeln“ sind oftmals die ersten, nicht unberechtigten Reflexe.
Secure Coding Schulungen lösen zwar ein Teil des Problems, verpuffen aber gänzlich in ihrer Wirkung, wenn sie zur falschen Zeit erfolgen.
Secure Coding ≠ Secure Development
Eine Secure Coding Schulung macht noch lange keinen Secure Development Prozess. Secure Coding erklärt, wie man in einer bestimmten Programmiersprache oder einem Framework sicheren Code schreiben kann. Secure Coding Schulungen sind meist sehr spezifisch und geben konkrete Code-Beispiele. Das ist wichtig, kommt aber erst in der Implementierungsphase zum Tragen. Die anderen Phasen und das übergreifende Konzept des „Secure Software Development Lifecycle (SSDLC)“ werden dabei i.d.R. gar nicht adressiert. Und genau hier entsteht das Problem.
Secure Development geht weit über das reine Schreiben von sicherem Code hinaus und betrifft den gesamten Softwareentwicklungslebenszyklus (SDLC, Secure Development Life Cycle). Security wird von Anfang an mitgedacht (Security by Design) und in jeden Prozessschritt integriert – vom Requirements Engineering und die Designphase über die Implementierung bis hin zur Validierung, dem Testing, Bereitstellung und Wartung. Auch nicht-technische Aspekte wie sichere Designprinzipien, Bedrohungsmodellierung, Risikobewertung etc. stehen im Fokus.
Folglich findet auch mit Secure Coding alleine kein echtes Secure Development statt.