Software Security Testing
TAE - Technische Akademie Esslingen e.V.Beschreibung
Die Digitalisierung dringt immer tiefer in unser Berufsleben und unseren Alltag ein. Immer mehr Produkte und Dienstleistungen, von der internetfähigen Kaffeemaschine über das Auto bis hin zu elektronischen Zahlvorgängen sind immer mehr von Datenkommunikation und Software abhängig. Software muss bestimmungsgemäß funktionieren, um finanziell-sachliche Schäden und Schäden an Leib und Leben zu vermeiden. Je größer und komplexer eine Software wird, desto mehr Fehler schleichen sich ein. Funktionales Testen hilft, Fehler in Software zu vermeiden, reicht jedoch nicht aus, um Sicherheitsfehler zu entdecken, die ein Angreifer nutzen kann, um absichtlich ein unerwünschtes Verhalten der Software zu verursachen und unberechtigt auf Daten zuzugreifen. Im Seminar werden Testmethoden und deren Grundlagen behandelt und angewendet, mit denen sich Sicherheitsfehler in Software entdecken lassen. Ziel ist es, frühzeitig im Softwareentwicklungsprozess Sicherheitsfehler zu vermeiden und so eine glaubhaft sichere Software zu entwickeln (Assurance).
Die Teilnehmer:innen – können den unterschiedlichen Zweck von funktionalen Tests und Sicherheitstest von Software erklären – kennen verschiedene Arten von Programmierfehlern, insbesondere in der Programmiersprache C – können Programmierfehler in C-Programmen erkennen und erklären – kennen die Grundlagen von und die Unterschiede zwischen statischen und dynamischen Sicherheitstests von Software – kennen Werkzeuge für statische und dynamische Sicherheitstests und können diese effizient einsetzen – wissen, wo die Werkzeuge im Entwicklungsprozess eingesetzt werden können
Methodik Das Seminar wird in Präsenz in einem Computer-Raum veranstaltet. Präsentationsphasen und praktischen Demonstrationen wechseln sich mit Phasen ab, in denen die Teilnehmer:innen am Computer selbständig mit verschiedenen Methoden und Werkzeugen Sicherheitslücken in Software aufspüren. Demonstrationen werden an kleinen Beispielen aber auch an öffentlichen Code-Repositorien durchgeführt. Die Teilnehmer:innen sind eingeladen, Experimente an ihrem eigenen Code durchzuführen und die eigenen Erfahrungen untereinander zu diskutieren.
Programmierer, Softwareingenieure, Applikationsentwickler, Systementwickler, Softwaretester
Donnerstag, 29. und Freitag, 30. Juni 2023
8.45 bis 12.00 und 13.00 bis 16.15 Uhr
1. Einleitung
a. Beispiele von Sicherheitsproblemen in Software
b. Übersicht Programmiersprachen und Programmierparadigma
c. Flaws, Bugs, Faults, Failures, Errors
d. Bewertung von Verwundbarkeiten
e. Angestrebte Sicherheitsziele
f. Methoden von Sicherheitstests
g. Sicherheitstests im Softwareentwicklungsprozess und in Development Operations (DevOps)
2. Softwarefehler
a. Beispiele von Softwarefehlern in C/C++
b. Klassifikation von Softwarefehlern
c. Sicherheitsmaßnahmen von Betriebssystemen und Compilern
3. Static Application Security Testing
a. Grundlagen statische Programmanalyse (Syntax, Semantik, abstrakter Syntaxbaum, Aufrufgraph, Kontrollflussanalyse, Datenflussanalyse, symbolische Ausführung, …)
b. Verfügbare Werkzeuge
c. Experimente mit Code-Beispielen, teilweise aus öffentlichen Code-Repositorien
4. Dynamic Application Security Testing
a. Speicherüberwachung und Fuzzing
b. Fuzzingmethoden: geführtes mutationsbasiertes Fuzzing, grammatik-basiertes Fuzzing, …
c. Verfügbare Werkzeuge
d. Experimente mit Code-Beispielen teilweise aus öffentlichen Code-Repositorien
Infos anfordern
Kontaktinformation TAE - Technische Akademie Esslingen e.V.
TAE - Technische Akademie Esslingen e.V.
TAE - Technische Akademie Esslingen e.V.

TAE – Berufliche Fort- und Weiterbildung
Die Technische Akademie Esslingen (TAE) gehört seit mehr als 65 Jahren zu den bedeutendsten Anbietern für berufsvorbereitende und berufliche Qualifizierungen Deutschlands. Die TAE deckt mit jährlich rund 1.000 Veranstaltungen in 17 verschiedenen Themenbereichen nahezu jedes Feld ab, zu dem man sich...
IT-Weiterbildung leicht gemacht
Virtuelle Workshops und IT-Fachtrainings von Experten für Profis.