Blog über Software, Mensch und Persönlicher Entwicklung

Automatisierte Sicherheitsüberprüfungen - Richard Seidl

Geschrieben von Richard Seidl | 22.10.2024

In der aktuellen Folge beschäftigen wir uns mit der Bedeutung von Sicherheitstests in der Softwareentwicklung. Sicherheitstests sind nicht nur am Ende, sondern während des gesamten Entwicklungsprozesses notwendig. Verschiedene Tools, wie OWASP-Zap und andere dynamische Scan-Werkzeuge, werden vorgestellt, die dabei helfen, Sicherheitslücken frühzeitig zu erkennen. Zudem werden typische Schwachstellen wie SQL-Injection und Cross-Site-Scripting thematisiert und wie moderne Frameworks diese Probleme angehen. Besonders interessant ist die Beobachtung, dass viele Unternehmen noch zögern, Sicherheitstests zu integrieren, da sie dies als zu kompliziert oder zeitaufwendig empfinden.

Es gibt ja mittlerweile viele Werkzeuge am Markt, die frei verfügbar sind, die man in die Pipelines einbauen kann, um einfach Security von Anfang an mit in den Prozess reinzubringen.” – Christian Biehler

Christian Biehler ist ein erfahrener und qualifizierter Experte für IT-Sicherheit. Nach seinem erfolgreich abgeschlossenen Studium als Master of Science in IT- Sicherheit sammelte er mittlerweile seit über 10 Jahren Erfahrung als Hacker, Penetrationstester, Berater und Trainer. Christian hat für unterschiedliche Unternehmen in verschiedenen Branchen gearbeitet und somit eine vielfältige praktische Kompetenz aus mehr als 300 Projekten in den Bereichen Web-, Mobile-, OS- & Service-Pentesting auf Windows und Linux-Umgebungen. Seit einigen Jahren bildet neben der DevSecOps-Welt insbesondere die Microsoft-Welt rund um die lokalen Windows-Welten mit Clients, Servern und Active Directory sowie die Microsoft-Cloud mit Entra ID, Azure und M365 einen großen Schwerpunkt seiner Arbeit. Er ist seit 2019 der Geschäftsführer der bi-sec GmbH, einem Unternehmen, das sich auf Beratung, Penetrationstests und Schulungen im Bereich der IT- und Informationssicherheit Sicherheit spezialisiert hat.

Highlights in dieser Episode:

  • Es ist wichtig, Sicherheitstests im gesamten Softwareentwicklungszyklus zu berücksichtigen, nicht nur am Ende.
  • Früher waren SQL-Injections ein großes Thema, heute sind es eher Logik- und Zugriffskontrollen.
  • Tools wie OWASP-Zap können in Pipelines integriert werden, um Sicherheitslücken frühzeitig zu erkennen.
  • Viele Unternehmen zögern, Sicherheitstests in den Entwicklungsprozess zu integrieren, wegen organisatorischer und politischer Hindernisse.
  • Es gibt viele frei verfügbare Werkzeuge, die bei der Implementierung von Sicherheitstests helfen können.

Sicherheitstests im Softwareentwicklungszyklus

In dieser Episode des Software Testing Podcasts spricht Richie mit Christian Bieler über die Bedeutung von Sicherheitstests im gesamten Softwareentwicklungszyklus. Christian erklärt, wie Unternehmen Sicherheitslücken frühzeitig erkennen und beheben können und welche Tools dabei helfen.

Einführung in die Bedeutung von Sicherheitstests

In der neuesten Episode des Software Testing Podcasts hatte ich das Vergnügen, mit Christian Bieler zu sprechen, einem ausgewiesenen Experten für Sicherheit und Sicherheitstests. Die Relevanz des Themas könnte kaum größer sein. Bis vor kurzem wurden Sicherheitstests oft nur am Ende eines Entwicklungsprojekts durchgeführt, meist in Form eines Penetrationstests (Pen-Test). Doch mittlerweile hat sich die Sichtweise geändert: Sicherheit sollte ein integraler Bestandteil des gesamten Softwareentwicklungszyklus sein. Christian betont die Notwendigkeit, Sicherheitsaspekte von Anfang an zu berücksichtigen, um spätere Probleme zu vermeiden.

Die Reise nach Wien und erste Eindrücke

Unser Gespräch fand auf den Software Quality Days 2024 in Wien statt. Christian erzählte mir von seiner angenehmen Anreise und den ersten Eindrücken. Es war sein erster Besuch in Wien, und er plante, das Wochenende vor Ort zu verbringen, um die Stadt besser kennenzulernen. Wir sprachen darüber, wie schön es ist, berufliche Verpflichtungen mit persönlichen Erlebnissen zu verbinden. Diese lockere Einleitung half uns beiden, entspannter ins eigentliche Thema einzusteigen: die Integration von Sicherheit in den Entwicklungsprozess.

Herausforderungen und Veränderungen im Bereich der Software-Sicherheit

Christian begann seine Ausführungen mit einem Rückblick auf die letzten zehn Jahre im Bereich der Software-Sicherheit. Er sprach darüber, wie sich die Erwartungen und Herausforderungen verändert haben. Während früher SQL-Injections eine der größten Bedrohungen darstellten, haben sich die Angriffsvektoren heute mehr in Richtung Logik- und Zugriffskontrolllücken verlagert. Diese neuen Bedrohungen erfordern eine andere Herangehensweise und verstärkte Maßnahmen im gesamten Entwicklungsprozess. Christian betonte auch die Bedeutung von Automatisierung im Security Testing und stellte fest, dass viele moderne Tools bereits in der Lage sind, Standard-Schwachstellen frühzeitig zu erkennen.

Integration von Sicherheitstools in Entwicklungs-Pipelines

Ein zentrales Thema unseres Gesprächs war die Integration von Sicherheitstools in den Entwicklungsprozess. Christian erklärte detailliert, wie verschiedene Werkzeuge wie OWASP-Zap oder Nuclei eingesetzt werden können, um Sicherheitslücken frühzeitig zu erkennen. Diese Tools lassen sich nahtlos in CI/CD-Pipelines integrieren und bieten Berichte, die Entwickler sofort nutzen können. Besonders beeindruckend fand ich Christians Praxisbeispiele: Durch automatisierte Tests konnten viele offensichtliche Schwachstellen bereits im Vorfeld identifiziert und behoben werden.

Die Rolle der Entwickler und organisatorische Hürden

Christian sprach auch über die organisatorischen Herausforderungen bei der Implementierung von Sicherheitstests. Oftmals wird das Thema Sicherheit innerhalb eines Unternehmens hin- und hergeschoben, ohne dass jemand konkret Verantwortung übernimmt. Dies führt dazu, dass wichtige Sicherheitsmaßnahmen aufgeschoben oder nur halbherzig umgesetzt werden. Christian betonte die Bedeutung klar definierter Rollen und Verantwortlichkeiten sowie einer zentralen Steuerung der Security-Tools innerhalb eines Unternehmens.

Fazit: Der Weg zur besseren Software-Sicherheit

Abschließend fasste Christian zusammen, dass es keinen Grund gibt, sich vor der Integration von Sicherheitstools zu scheuen. Die meisten Unternehmen nutzen bereits statische Code-Analyse-Tools oder Dependency-Checker – ein guter erster Schritt. Er ermutigte Entwicklerteams dazu, einfach anzufangen und erste Erfahrungen zu sammeln. Auch wenn nicht sofort alles perfekt läuft, ist jeder Schritt hin zu einer sichereren Entwicklungsumgebung wertvoll. Mit den richtigen Tools und einer durchdachten Strategie können viele gängige Sicherheitslücken bereits im Vorfeld geschlossen werden.