Für viele Produkte aus unserem täglichen Leben ist Software ein relevanter Baustein, auch wenn dies nicht immer direkt auf den ersten Blick ersichtlich ist. Egal ob Unternehmen die benötigte Software zum eigenen Gebrauch entwickeln oder sie an ihre Kunden weiterverkaufen, Sicherheit ist dabei ein wesentlicher Aspekt. Denn Software, speziell Anwendungen, verarbeiten oft sensible Daten und sind meist für viele interne sowie externe Personen erreichbar. Somit werden sie zu einem beliebten Ziel für Angreifer.
Umso wichtiger ist es, dass Unternehmen im gesamten Software-Lebenszyklus auf eine starke Sicherheitskultur setzen. Doch wo kann man ansetzen? Die Integration von Sicherheit in den Software-Lebenszyklus kann verschiedene Schwerpunkte haben. Wir haben drei usd Sicherheitsexperten dazu befragt:
Organisatorischer Ansatz
„Ich kann nur empfehlen, Sicherheit auf organisatorischer Ebene von Anfang an in den Prozess zu integrieren. Die Basis dafür bilden Richtlinien und daraus abgeleitete Anforderungen.
Definierte Quality Gates entlang des Prozesses bieten beispielsweise eine gute Gelegenheit, Sicherheitsaspekte zu berücksichtigen und erneut zu hinterfragen. Natürlich wissen wir um den Umstand, dass besonders in Zeiten von agilen Prozessen und immer kürzeren Entwicklungszyklen die Gefahr besteht, dass die Entwicklungs- und Betriebsprozesse die Sicherheitsorganisation abhängen können. Ich empfehle daher Kunden beispielsweise die Ausbildung von Kollegen aus den Fachabteilungen zu sogenannten „Security Champions“. Sie kennen die Herausforderungen der Abteilung genau und können gleichzeitig als qualifizierte Ansprechpersonen für Sicherheitsfragen fungieren.“ Dr. Christian Schwartz, Managing Security Consultant
Technischer Ansatz
„An Christians letzten Punkt zum Thema Schulung kann ich gut anknüpfen. Die Schulung von Entwicklern zu Schwachstellen und der Vorgehensweise von Angreifern, ist meiner Meinung nach eine weitere wichtige Stellschraube. Bereits einzelne geschulte Entwickler fungieren als Multiplikatoren im Team. Denn das erlernte Wissen ermöglicht es ihnen, bereits in der Requirement-Phase mögliche Angriffspunkte zu identifizieren.
Dazu passt gut folgende Analogie: Man fühlt sich in seinem Haus oder seiner Wohnung sicher. Kommt es aber vor, dass man sich ausgeschlossen hat, wird man kreativ und findet „Schwachstellen“. Man erkennt, dass man über die Mülltonne auf den Balkon und von dort durch das Fenster ins Haus klettern kann. Einen solchen Perspektivenwechsel empfehle ich auch Entwicklern vor der Implementierung eines Features.
In Hinblick auf den technischen Aspekt der Sicherheit empfehle ich statische und dynamische Checks. Statische Code-Analyse-Tools beispielsweise prüfen auf Schwachstellen und werden stärker, je besser man sie auf die eigenen Bedürfnisse anpasst und je länger man sie verwendet. Wichtig ist dabei, dass man auch Erkenntnisse aus externen Code Reviews, Pentests und Scans in diese Tools einfließen lässt, um dort identifizierte Fehler zukünftig zu vermeiden.“ Stephan Neumann, Head of usd HeroLab
Ansatz externer Prüfungen
„Hat man die Empfehlungen meiner beiden Kollegen so oder zumindest teilweise in den Abteilungen umgesetzt, kann ich trotzdem nur empfehlen, definierte Prozesse und deren technische Umsetzung durch Externe prüfen zu lassen. Die Erfahrung dieser Experten kann sehr wertvoll sein, um sich weiterzuentwickeln.
Ich weiß, etablierte oder historisch gewachsene Prozesse werden oft nicht mehr hinterfragt. Doch auch wenn diese auf den ersten Blick funktionieren und zudem noch gut dokumentiert sind, können sie trotzdem zu Risiken führen. Gründe dafür können sein, dass sie zum Beispiel veraltet oder lückenhaft sind oder sogar aufgrund der schnellen Entwicklungszyklen in der Praxis nicht eingehalten werden können.
Externe Audits sind zur Identifikation von möglichen Risiken durch Abweichungen von definierten Prozessen erfahrungsgemäß effektiver als interne Audits, da Bestehendes in der Regel intensiver und objektiver durchleuchtet und hinterfragt wird. Für viele ist eine solche Prüfung vergleichbar mit einem Blitzer auf der Autobahn. Natürlich mag niemand eine solche Kontrolle, aber ohne diese würden sich noch weniger Personen an die Geschwindigkeitsbegrenzungen halten und das Risiko für Unfälle würde steigen.
Branchen- oder sicherheitsrelevante Audits bzw. individuelle Prüfungen, wie beispielsweise unser Cyber Security Check, bieten die Möglichkeit für regelmäßige Reviews der Prozesse und die Identifikation von Risiken. Zertifizierungen, zum Beispiel von Zahlungssoftware nach dem Software Security Framework, haben außerdem noch den Vorteil, dass Unternehmen durch das Zertifikat die Sicherheit ihrer Software-Produkte und ihres Entwicklungszyklus für die Kunden sichtbar nachweisen können.“ Lorenz Heiler, Managing Consultant Security Audits & PCI
In einem sind sich unsere usd Sicherheitsexperten einig: Egal welche Schwerpunkte man setzt, welchen Ansatz man wählt und welche Maßnahmen man einleitet, jeder Gedanke in diese Richtung ist ein Schritt mehr auf dem Weg zu mehr Sicherheit.
Sie möchten einen oder mehrere der vorgestellten Ansätze in Ihrem Unternehmen umsetzen und benötigen noch weitere Details? Wir helfen gerne weiter.