Automatische Sicherheitstestwerkzeuge versprechen, Entwickler mit wenig Aufwand bei der sicheren Softwareentwicklung zu unterstützen. Hierzu gibt es eine Vielzahl von Testmethoden und -werkzeugen von verschiedenen Herstellern, die unterschiedliche Vor- und Nachteile besitzen.
In diesem Workshop lernen die Teilnehmer unterschiedliche Sicherheitstestmethoden (z.B. SAST, DAST) kennen, erfahren, wie diese Werkzeuge automatisiert in die Entwicklung eingebunden werden können und auf welche Eigenschaften sie bei der Auswahl eines Testwerkzeuges achten sollten.
Der Workshop ist in eine Serie von kurzen Vorträgen, Erfahrungsaustausch und praktischen Übungen gegliedert.
Agenda
ab 08.30: Registrierung und Begrüßungskaffee
09.30: Beginn
* Security Testing als Teil eines Secure Development Lifecycle
* Einführung in Security Testing Verfahren
* Einführung in die statische Analyse (SAST)
* Einrichtung der Lab Umgebung
11.00 - 11.15: Kaffeepause
* Praktische Übungen zur statischen Analyse
* Q&A: Statische Analyse
12.30 - 13.30: Mittagspause
* Einführung in die dynamische Analyse
* Praktische Übungen zur dynamischen Analyse
15.00 - 15.15: Kaffeepause
* Praktische Übungen zur dynamischen Analyse (Fortsetzung)
* Q&A: Dynamische Analyse
* Kurze Übersicht von neuen Security Testing Verfahren
* Vergleich und Auswahl von Security Testing Verfahren
* Abschluss und allgemeines Q&A
ca. 17.00 Uhr: Ende
Technische Anforderungen
Ich werde für die Übungen ein VM Image (im OVA Format) zur Verfuegung stellen, d.h. die Teilnehmer sollten eine Virtualisierungslösung (VMWare Player, KVM, Parallels, etc.) installiert haben.
Das OVA Image benoetigt etwa 7 GB freien Festplattenplatz.
(Im BIOS/UEFI sollten daher die entsprechenden Optionen freigeschaltet sein)
Falls Sie ein Gerät Ihrer Firma verwenden, überprüfen Sie vorher bitte, ob eines der folgenden, gelegentlich vorkommenden Probleme bei Ihnen auftreten könnte.
- Workshop-Teilnehmer hat keine Administrator-Rechte.
- Corporate Laptops mit übermäßig penibler Sicherheitssoftware
- Gesetzte Corporate-Proxies, über die man in der Firma kommunizieren muss, die aber in einer anderen Umgebung entsprechend nicht erreicht werde.
Vorkenntnisse
* Grundkenntnisse in der Softwareentwicklung und (sicherer)Programmierung sowie Sicherheitsschwachstellen
* Kenntnisse einer Programmiersprache ist wünschenswert
Lernziele
Nach dem Vortrag sollten die Teilnehmern verstehen,
* welche Arten von Schwachstellen von verschiedenen Sicherheitstestwerzkeugen erkannt werden können,
* wie verschiedene Werkzeuge verglichen werden können,
* welche Anforderungen Sicherheitswerkzeuge für verschiedene Softwareentwicklungsmodelle und -phasen erfüllen sollten und
* in welche Werkzeuge (IDE, CI) Sicherheitstestwerkzeuge eingebunden werden sollten.
Außerdem sollten sie typische Fallstricke beim Einsatz von Sicherheitswerkzeugen kennen gelernt haben.
//
Achim D. Brucker
@adbrucker
leitet das "Software Assurance & Security Research"-Team (https://logicalhacking.com) der Universität Sheffield. Bis Dezember 2015 war er als Stratege im Bereich statische und dynamische Sicherheitstests im zentralen Security-Team der SAP SE, wo er unter anderem die Security-Test-Strategie der SAP definiert hat.