Teamwork, Tools und Training in der Softwareentwicklung„Shift Left Security“-Ansatz verspricht mehr Cyber-Sicherheit

9. März 2020

Um im heutigen Wettbewerbsumfeld erfolgreich zu sein, müssen Unternehmen aggressiv Innovation, Schnelligkeit und Wirtschaftlichkeit praktizieren: Innovation, um Kunden weiterhin mit neuen Angeboten zu begeistern; Schnelligkeit, um der Konkurrenz einen Schritt voraus zu sein; und Wirtschaftlichkeit, um die Margen zu erreichen. Mit dem richtigen Wissen, den richtigen Tools und der gemeinsamen Mission, die Bereitstellung sicherer Software zu beschleunigen, verbessern Unternehmen ihre Chancen erheblich, qualitativ hochwertige Software zu realisieren.

Um diesen Anforderungen gerecht zu werden, haben Unternehmen die Anwendungsentwicklung und -bereitstellung praktisch neu erfunden, ganz zu schweigen von den Runtime-Plattformen, auf denen die Anwendungen laufen. Der Begriff „shift left“ in der Cyber-Sicherheit scheint mit einer ganzen Reihe von breit angelegten Aussagen und ungeprüften Annahmen einherzugehen. Eine davon lautet „Entwickler kümmern sich nicht um Sicherheit“. Doch in der Praxis erweist sich das als nachweislich falsch.

Entwickler denken viel über die Softwarequalität nach. Wenn Sicherheit eine Schlüsselkomponente der Qualität ist, dann ist ihnen die Sicherheit an sich schon wichtig.

Jeder will guten Code schreiben, es ist nur so, dass die Definition von „gut“ manchmal nicht so klar ist, wie sie sein sollte. Entwickler müssen auch produktiv sein, denn Unternehmen müssen so schnell wie möglich von einer guten Idee zu einem zufriedenen Kunden gelangen. Entwickler wollen also guten Code schreiben, großartige Software erstellen und den nächsten Sprint schaffen.

Wenn die „Shift Left Security“-Strategie nur mit zusätzlicher Verantwortung einhergeht, wird sie wahrscheinlich nicht die Produktivität, die Freude oder den Fluss der Entwickler verbessern. Um eine Überlastung der Entwickler zu vermeiden, muss nach Meinung von Palo Alto Networks die Verschiebung des Sicherheitsansatzes den drei „T“s begleitet werden:

Training,

Tools und

Teamwork.

Schulung ist unerlässlich, damit Entwickler von der Einführung von Sicherheitstests und -praktiken zu Beginn des Softwareentwicklungszyklus profitieren können. Einem Entwicklerteam einfach eine Tabelle mit den entdeckten Schwachstellen zur Verfügung zu stellen, ist nicht hilfreich.

Erforderlich ist der Kontext zur Behebung der identifizierten Probleme und zur Verhinderung ihres Wiederauftretens bei der Implementierung der nächsten Funktion. Anderenfalls schadet dies der Produktivität, anstatt ihr zugutezukommen.
Die meisten Entwickler sind „lebenslang Lernende“, aber sie erhalten nicht die Möglichkeit, sich in der Arbeit mit sicherer Kodierung und Schwachstellenbehebung vertraut zu machen. Glücklicherweise gibt es eine Vielzahl von Schulungskursen in verschiedenen Formaten, die die Fähigkeiten und das Fachwissen vermitteln, die Entwicklerteams zur kontinuierlichen Verbesserung der Anwendungssicherheit benötigen.

Die richtigen Tools einsetzen

Zwar sind Tools nicht die vollständige Antwort, aber die richtigen Tools im richtigen Formfaktor können den Unterschied zwischen dem bloßen Wunsch nach mehr Sicherheit und der tatsächlichen Umsetzung einer erfolgreichen Sicherheitspraxis ausmachen.

Da sich Entwicklungsmethoden, Anwendungsarchitekturen und Laufzeitumgebungen verändern, gilt dies auch für die Angriffsfläche. Cloud-Plattformen, Infrastructure-as-Code und Programmiersprachen, die sich stark auf Pakete mit verschachtelten Softwaremodulen stützen, bieten allesamt Möglichkeiten, Schwachstellen in eine Anwendung einzubringen.

Es ist jedoch unrealistisch zu erwarten, dass Entwickler zu Experten für AWS IAM-Richtlinien, Kubernetes API-Zugangskontrolle, Terraform-Best-Practices und jedes NodeJS-Paket, das ihre Anwendung nutzt, werden. Sie brauchen Tools, die automatisiertes Fachwissen bieten, das sich in ihre bestehenden Arbeitsabläufe einfügt und als Teil des Softwareentwicklungsprozesses brauchbares Feedback liefert.

Teamwork muss geplant werden

Während Prozesse und Tools relativ leicht geändert werden können, sind Denkweisen und Verhaltensweisen schwieriger anzupassen. Ohne eine verstärkte Zusammenarbeit zwischen Sicherheits- und Entwicklungsteams geht ein großer Teil des Wertes verloren, den die Einführung von Sicherheit zu einem früheren Zeitpunkt in den Softwarelebenszyklus mit sich bringt.

„Shift left“ bedeutet nicht, dass dem Entwicklungsteam eine schwere neue Last der vollständigen Verantwortung für die gesamte Sicherheit auferlegt werden sollte. Es bedeutet auch nicht, dass das Sicherheitsteam neue Verfahren, Kontrollen und Technologien innerhalb der Build- und Deployment-Pipeline diktieren sollte.

Während Mark Zuckerberg Menschen vielleicht dazu ermutigt, „schnell zu handeln und Dinge zu revolutionieren“, könnte ein besseres Mantra für die Verlagerung der Sicherheit „nach links“ lauten: „Schnell handeln, aber nicht gehackt werden“. Wer diese beiden scheinbar gegensätzlichen Prinzipien als Charta der Zusammenarbeit betrachtet, könnte einen guten Ausgangspunkt haben.

So kann der natürliche Problemlösungscharakter von IT-Fachleuten in den Vordergrund treten. Die Aufteilung der Verantwortung für Sicherheit und Geschwindigkeit zwischen den Teams ist sowohl ein zentrales Thema von DevOps als auch ein starker Motivator für die Zusammenarbeit. (rhh)

Palo Alto Networks

Lesen Sie auch