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.
Nächste Schritte
- Starten auch Sie jetzt Ihren Shift Left – mit New Relic Vulnerability Management.
- Lesen Sie den Launch-Blog zu Vulnerability Management. In unserer Dokumentation erfahren Sie dann, wie Sie direkt damit starten.
- Sie haben noch kein New Relic Konto? Hier können Sie sich kostenlos registrieren. Neben New Relic Vulnerability Management erhalten Sie dabei 100 GB zur Datenerfassung pro Monat sowie 1 Benutzer-Komplettlizenz.
Die in diesem Blog geäußerten Ansichten sind die des Autors und spiegeln nicht unbedingt die Ansichten von New Relic wider. Alle vom Autor angebotenen Lösungen sind umgebungsspezifisch und nicht Teil der kommerziellen Lösungen oder des Supports von New Relic. Bitte besuchen Sie uns exklusiv im Explorers Hub (discuss.newrelic.com) für Fragen und Unterstützung zu diesem Blogbeitrag. Dieser Blog kann Links zu Inhalten auf Websites Dritter enthalten. Durch die Bereitstellung solcher Links übernimmt, garantiert, genehmigt oder billigt New Relic die auf diesen Websites verfügbaren Informationen, Ansichten oder Produkte nicht.