Wie wird meine Softwareentwicklung "Secure by Design"?
Sichere Softwareentwicklung und ein sicherer Betrieb beginnen beim Design. Hinter dem Schlagwort "Secure by Design" verbergen sich verschiedene Prinzipien wie sichere Architektur-Patterns, Threat Modeling, das Schaffen von Wissen und Awareness bei den Entwickler:innen und noch manches mehr.
In diesem Vortrag betrachten wir, wie man den Softwareentwicklungsprozess "Secure by Design" gestalten kann.
Dabei legen wir ein besonderes Augenmerk auf agile DevOps-Prozesse. In diesen übernimmt das Entwicklungsteam selbst die Verantwortung für die Sicherheit des Produktes. Threat Modeling hat sich hier als besonders hilfreich erwiesen, sowohl um Sicherheit bereits in der Planungsphase zu berücksichtigen als auch um Wissen innerhalb des Teams zu teilen und ein Security-Mindset aufzubauen. Gamification-Ansätze, z.B. durch Threat-Modeling-Kartenspiele, bieten hier einen niederschwelligen Einstieg auch für Teams ohne tiefe Vorkenntnisse.
Viele Sicherheitslücken lassen sich durch ein durch ein durchdachtes Design vermeiden. Anhand von Fallbeispielen betrachten wir Best Practices in der Systemarchitektur und wie diese die Sicherheit proaktiv verbessern können.
Im letzten Teil des Vortrages wird besprochen, wie die für DevOps essentielle Automatisierung so konzipiert werden kann, dass CI/CD zu keinem Einfallstor für Angreifer werden.
Vorkenntnisse
Dieser Vortrag richtet sich an Entwickler und Architekten, die noch keine Security-Profis sind, die aber den Wunsch haben, den Entwicklungsprozess ihres Produktes sicherer zu machen. Grundlagen von DevOps und agiler Entwicklung werden vorausgesetzt.
Lernziele
Das Lernziel ist ein sicherer Softwareentwicklungsprozess, auch wenn die Entwickler:innen keinen dedizierten Security-Background haben. Dabei wird betrachtet:
- Secure Design Pattern (Application Code und Cloud Infrastruktur)
- Threat Modeling
- Sicherer Entwicklungsprozess
- Sicherer CI/CD-Automatisierung
Insgesamt geht es um präventive Maßnahmen, also darum, die Entwicklung von Anfang an "richtig" zu machen.