Bild mit Konzept-Foto von zylindrischen lila-blauen Security-Zellen

Werden Security-Parameter schon in frühen Phasen der Entwicklung neuer Technologien und Features strategisch eingebracht, sind diese auch in der Produktion erfolgreicher. 

Wie sich ein entsprechendes Mindset als Entwickler:in und im Team aufbauen lässt, darüber haben wir uns in einem spannenden Twitter Space mit Harry Kimpel von Snyk und Frank Dornberger von movingimage unterhalten.

Es geht dabei aber um weit mehr als nur die reine Vorbeugung von Schwachstellen und Bedrohungen, sondern ganz grundlegend um wichtige Fragen im Kontext von Anwendungsintegrität und Systemstabilität. So muss sichergestellt sein, dass sich keine Anwendungsaspekte negativ auf die Kunden-UX auswirken können. Die Performance muss konsistent gewährleistet, ebenso müssen Anwendungs-Downtime sowie Ausnahmen und Probleme rasch adressierbar sein.

Als Best Practices empfehlen Harry und Frank dabei insbesondere die folgenden 8 Punkte:

  • Shift Left. Implementieren Sie möglichst früh im SDLC ein Security-Mindset – bei den meisten Teams finden sich entsprechende Fragestellungen nach wie vor erst zu spät im Dev-Lifecycle. Dies lässt viele Möglichkeiten ungenutzt, ist Security als Engineering-Disziplin doch ein integraler, in allen Phasen wiederkehrender Prozess des großen Ganzen.
  • DevOps => DevSecOps. Halten Security-Themen Einzug im gesamten SDLC, lassen sich auch Bedrohungen und Incidents und ihre Behebung im Team frühzeitig simulieren, damit Sie für den Ernstfall besser gewappnet sind.
  • Den Blick auch immer seitlich des Dev-Wegesrands halten. Grenzfälle müssen ebenso miteinbezogen und getestet werden, um ihnen adäquat vorbeugen zu können. Bedenken Sie hierbei alle Standard-Passwörter, Konfigurationen, Betriebssysteme und weitere für Ihre Umgebungen typische Faktoren. Steuern Sie im Testing ganz bewusst auch Fehler in Ihrem Code ein und beschränken Sie Berechtigungen für Ihre Benutzer:innen auf das Notwendigste.
  • Peer Reviews durchführen. So reduzieren Sie das Risiko, kritische Fehler und Security-Schwachstellen mit in die Produktion zu nehmen.
  • Bibliotheken stets aktuell halten. Software ist wichtige Stütze jedes Unternehmens. Ein Security-Mindset muss daher auch mit einem genauen Verständnis aller eingesetzten Lösungen einhergehen, muss nahtlos abbilden, wie interne und externe Kund:innen sie nutzen – und wie sie dies verlässlich tun können. Unerlässlich dabei sind die regelmäßige Aktualisierung von und umfassende Klarheit zu allen verwendeten Bibliotheken und extern bereitgestellten Paketen sowie bekannten Schwachstellen.
  • Redundanzen schützen. Selbst das beste, optimal getestete System ist nicht vor Unerwartetem gefeit – auch Rechenzentren sind schon abgebrannt. Systemredundanzen verhindern Ausfallzeiten und helfen ganz entscheidend beim Neuaufbau von Strukturen, sollte dies einmal nötig sein. Im Ernstfall eine immense Zeitersparnis. 
  • Am Best-Practice-Puls bleiben. Technologische Weiterentwicklung geht immer auch mit neuen Best Practices einher. Für ein starkes Security-Mindset sind auch sie also ungemein wichtig. Nützlich dabei sind stets Branchenbeiträge und Blogs, Seminare und themenspezifische Kurse sowie Online-Foren zum Software-Engineering und zu Fragen rund um Sicherheit. Als wertvolle Ressourcen seien etwa SLSA.dev, das OpenSSF Project und die Snyk Learn Platform genannt.
  • Auch die besten Software-Teams wollen weiter geschult werden. Entwickler:innen spielen beim Thema Security eine tragende Rolle, und je genauer sie wissen, wie sich ihr Code auf die UX auswirkt und welche Probleme oder Schwachstellen aus ihm erwachsen könnten, desto besser können sie sie ausfüllen. Auch ein gutes Verständnis rund um weitere Aspekte in der Anwendungsentwicklung ist dabei enorm hilfreich: Wer über die Programmierung hinaus auch Einblicke etwa in Konzept- und Design-Aspekte von Software-Architekturen erhält, wird neue Anwendungen und Features entsprechend besser auf eine sichere, nahtlose Interaktion im Gesamt-Stack ausrichten können. Darüber hinaus sollten Entwickler:innen stets im Detail mit den Sicherheitsrichtlinien und -abläufen im Unternehmen vertraut sein.

Software-Entwicklung mit Security-Mindset hat ein enormes Potenzial und kann ein Garant für sichere, stabile Anwendungen sein. Mit unseren Best Practices lässt es sich im Team gestalten.