Inhalte des Seminars
Der Schwachstelle auf den Zahn gefühlt
Zur Einführung in das komplexe Thema Sicherheit in der Softwareentwicklung werden drei der bekanntesten Sicherheitslücken aus den OWASP Top Ten vorgestellt. Innerhalb einer Beispielumgebung werden die Sicherheitslücken ausgenutzt und die Folgen untersucht. Abschließend diskutieren und bewerten wir, welche Fehler in der Implementierung und im Entwicklungsprozess gemacht wurden. Am Ende der Lektion wissen Sie:
- was eine Sicherheitslücke ist.
- wie und wodurch eine Sicherheitslücke verursacht werden kann.
- wie eine Sicherheitslücke ausgenutzt werden kann.
- welche Bedrohung von einer Sicherheitslücke ausgehen kann.
Bewusstseinserweiterung
In dieser Lektion werden die OWASP Organisation, die OWASP Top Ten und die Handlungsempfehlungen für sichere Softwareentwicklung, die OWASP Secure Coding Cheat Sheets, vorgestellt. Nach einer allgemeinen Einführung widmen wir uns ausführlich der OWASP Top Ten Hitliste. Sie lernen, wie die Fehler aus der OWASP Top Ten entstehen, welche Folgen sie haben und wie sie zu vermeiden sind. Abschließend werden ausgewählte Handlungsempfehlungen aus den OWASP Secure Coding Cheat Sheets vorgestellt und diskutiert. Am Ende der Lektion haben Sie verstanden:
- was die OWASP Top Ten Hitliste und die Secure Coding Cheat Sheets sind.
- wie Sie die OWASP Secure Coding Cheat Sheets für eigene Projekte gewinnbringend nutzen können.
Die Werkzeugkiste
In dieser Lektion stellen wir die Werkzeugkiste des sicherheitsbewussten Softwareentwicklers/-Architekten/-Testers zusammen. Ziel ist es, den eigenen Entwicklungen mit den Waffen des Gegners auf den Zahn zu fühlen. Sie lernen die Vorgehensweisen Vulnerability-Scan und Penetration-Test kennen und mittels der vorgestellten Werkzeuge anzuwenden. Wir diskutieren und bewerten die jeweiligen konzeptionellen Vor- und Nachteile. Abschließend entwickeln wir Szenarien für den sinnvollen Einsatz der Werkzeugkiste im sicherheitsbewussten Entwicklungsprozess (Secure Development LifeCycle). Nach der Lektion
- sind Sie in der Lage, eigene Projekte auf vorhandene Sicherheitslücken zu untersuchen.
- haben Sie die konzeptionellen Unterschiede zwischen Vulnerability-Scan und Penetration-Test verstanden und können beide Techniken anwenden.
- sind Sie in der Lage gefundene Sicherheitslücken zu bewerten, zu dokumentieren und im Team fachgerecht zu diskutieren.
- sind Sie in der Lage, bekannte Sicherheitslücken nach dem Common Vulnerability Scoring System (CVSS) und Common Vulnerabilities and Exposures (CVE) einzuordnen und zu bewerten.
Die Herausforderung
In der letzten Lektion stellen Sie Ihr erworbenes Wissen auf die Probe. Sie werden einer unbekannten Anwendung mit den vorgestellten Werkzeugen zu Leibe rücken und versuchen herauszufinden, ob und welche Sicherheitslücken die Anwendung aufweist. Mögliche Sicherheitslücken werden Sie analysieren, bewerten, dokumentieren und mit anderen Workshop-Teilnehmern diskutieren. Abschließend erarbeiten und diskutieren Sie mit anderen Workshop-Teilnehmern mögliche Lösungsansätze, wie die Sicherheitslücken zu schließen wären. Nach der Lektion:
- sind Sie in der Lage eine unbekannte Anwendung auf Sicherheitslücken zu untersuchen.
- sind Sie in der Lage Reverse-Engineering, Vulnerability-Scan und Penetration-Test durchzuführen.
- haben Sie verstanden, wie wichtig die vorgestellten Methoden sind, und dass Sie von Projektbeginn an in den sicheren Entwicklungsprozess integriert werden sollten.