In diesem Tutorial wird gezeigt, wie man das Sec in seinen DevOps-Workflow integrieren kann. Am Beispiel einer einfachen vorbereiteten App werden wir unter Zuhilfenahme von Open-Source-Tools bekannte Sicherheitslücken in Drittanbieter-Bibliotheken und Containern suchen, zusätzlich werden wir auch die APIs der Anwendung mit einem dynamischen security-scanner angreifen, der einfache Angriffe ausführen wird.
Weiterhin werden die Teilnehmenden sich damit beschäftigen, wie sich eine CI-Pipeline mit diesen Techniken erweitern lässt.
Maximale Teilnehmerzahl: 10
Benötigt wird ein Laptop mit folgender Software:
Zielpublikum: Entwickler:innen
Voraussetzungen: Kenntnisse von Java und maven/gradle. Wissen über Continuous Integration hilfreich
Schwierigkeitsgrad: Fortgeschritten
Extended Abstract:
Im Tutorial soll vermittelt werden, dass man auch ohne viel Sicherheits-Erfahrung durch (automatisiertes) Tooling schon während der Entwicklungszeit, aber auch im Betrieb, viel über die eigene Anwendung und deren Schwachstellen lernen kann, aber auch Prozesse erarbeiten muss, um diese zu beheben.
Beispiele werden anhand einer vorgegebenen Java-Anwendung erarbeitet, die auf Basis von Springboot, maven/gradle gebaut wird und mit REST-APIs arbeitet.
Wir werden uns mit Dependency-Check beschäftigen, um bekannte Sicherheitslücken in der Anwendung zu finden und zu behandeln, für Container werden wir clair oder trivy kennenlernen.
Um auch zur Laufzeit der Anwendung Angriffsmöglichkeiten zu erkennen und vorzubeugen, wird die API der Anwendung mithilfe von ZAProxy angegriffen
Die Integration in die vorhandene CI-Pipeline zeigt auch die Automatisierbarkeit, bringt aber nicht nur Vorteile mit sich, "free" gibts eben nicht "gratis".
In einer abschließenden Diskussion möchten wir zusammen mögliche Einschnitte, aber auch Verbesserungspotenzial und mögliche Prozessänderungen besprechen.
Für den Workshop sollte ein Rechner mit lokalem Docker daemon vorhanden sein.