Blog

Sicher entwickeln, aber holistisch

In der agilen Softwareentwicklung arbeiten wir meist sehr kleinteilig, was uns erlaubt, Software oft und zuverlässig zu produzieren. Das Ganze erreichen wir im Allgemeinen durch Fokus auf Qualität und Automatisierung: Sprich, als Entwickler wollen wir zuverlässige Software automatisch deployen. Wesentlich ist dabei die Build Pipeline, die durch automatisierte Prozesse alle Build-Artefakte zuverlässig erstellt und auf die entsprechenden Systeme verteilt. Durch mehrfache Tests an der richtigen Stelle wird schnelles Feedback über Seiteneffekte und Regressionen geliefert. So können auch Sicherheitslücken leichter erkannt werden.

img
CI/CD als Build Pipeline

Wie in anderen Bereichen ist es wichtig, an den richtigen Stellen Security ein- und keine Schranken aufzubauen. So hilft z.B. ein Web-Proxy in der Entwicklung nicht, weil er gar nicht in den Entwicklungsprozess sauber integrierbar ist und die Formate gar nicht versteht. Besser ist es, auf einen Repository-Server wie Nexus zu setzen und Pakete auf Schwachstellen zu prüfen.

Ähnliches kann man mit Docker umsetzen: Dort kann Portus genutzt werden, um Docker Images zu überprüfen. Damit wird auch mehr gewonnen, als mit Docker Images den Web-Proxy zu „verstopfen“, der damit sowieso nichts anfangen kann.

Wie wichtig das Ganze ist, sieht man in einem prominenten Beispiel, bei welchem Schadcode über Abhängigkeiten in große Tech-Firmen eingeschleust wird. Damit zeigt sich, dass auch große Firmen davor nicht vollends gewappnet sind. Ja, die Integration solcher Mechanismen kostet Geld, aber ein Hack kostet im Zweifel auch eine Menge Geld. Umso wichtiger ist hier eine bewusste Abwägung des Risikos und fundiertes Wissen darüber auch auf Entwicklungsseite.

Holisticon AG — Teile diesen Artikel

Über den Autor

Martin Reinhardt arbeitet als Architekt bei der Management- und IT-Unternehmensberatung Holisticon AG. Er beschäftigt sich dort mit der Architektur von komplexen verteilten Systemen, modernden Webarchitekturen und Build Management. Martin engagiert sich in der Software-Craftsmanship-Bewegung. Er ist seit mehreren Jahren im Bereich der Java- und Webentwicklung tätig. Außerdem setzt er sich neben der Architektur vor allem für die Testautomatisierung in verschiedenen Technologien ein und ist auch in verschieden OpenSource-Projekten zu dem Thema wie z.B. dem Galen Framework tätig.

Antwort hinterlassen