Was teste ich bei Funktionalen System
- z.B Login, PKI, Speicherung von Daten, Sicherheitsfunktionen,..
Was prüfe ich bei Nicht-funktionale Tests:
Eigenschaften eines Systems
- z.B Zuverl¨assigkeit, Robustheit, Sicherheit,..
Was sind funktionale tests ?
Überprüfung des ordnungsgemäßen Funktionieren
Sicherheitsspezifischen Anforderungen
Nicht funktion al etest, was kann das sein, was mch ich da?
Abuse Cases - Robustheit gegen Angriffe
Spezifikation nicht nutzbar als Grundlage
Testen der Robustheit gegen Angriffe
Login mit ung¨ultigen Credentials m¨oglich? (z.B. SQLI)
Wie werden nicht-funktionale Tests durchgeführt?
Last- und Performance-Tests
Ausfallsicherheitstests
Penetrationstests
Sicherheitstests
Usability-Tests
Skalierbarkeitstests
Compliance-Tests
Frage: Was ist Blackbox-Testing?
Testen ohne Kenntnis des Quellcodes
Testen von Funktionalität und Benutzerinteraktion
Fokus auf Input-Output Verhalten
Frage: Was sind die Vorteile von Blackbox-Testing?
Unabhängigkeit von der Implementierung
Benutzerorientiert
Ermöglicht die Entdeckung von Fehlern, die durch die Kenntnis des Quellcodes übersehen werden könnten
Testen von Sicherheitsaspekten ohne Kenntnis von internen Abläufen.
Grey Box testing
In diesem Kontext bezieht sich der Begriff "Datenvarianten" auf verschiedene Arten von Eingabedaten, die in einem Programm verarbeitet werden. "White-Box-Tests" beziehen sich auf Tests, bei denen der Tester die internen Details des Programms kennt und diese nutzen kann, um spezifische Datenvarianten zu identifizieren und zu testen. Dies ermöglicht es, potenzielle Fehler im Programmcode aufzudecken, die bei normalen Tests möglicherweise nicht entdeckt werden.
Statische Codeanalyse
Untersuchung des Codes ohne Ausf¨uhrung
Manuelle Analysemethoden
■ Automatisierte Analysemethoden
Secure code review
Top-Down Ansatz
■ Ausgangspunkt: Wissen ¨uber Schwachstellen
Bottom-Up Ansatz
■ Ausgangspunkt: Wissen ¨uber Code
Was für Varianten gibt es bei der Automatisierte statische Codeanalyse
Signatur basiert
Kontrollfluss Analylse
Datenfluss Analyse
Kontrollfluss-Analyse
■ Kontrollfluss: Ausf¨uhrungsreihenfolge der einzelnen Instruktionen
Datenfluss-Analyse
Zusammenhangs Erzeuger und Verbraucher von Daten
Automatisierte statische Codeanalyse Signaturbasiert
Fuzzing
Random Testing
Erzeugung und Ausf¨uhrung automatisierbar
■ Große Anzahl von Datenvarianten m¨oglich/erforderlich
■ Microsoft SDL verlangt 100.000 Test-Dateien bei Datei-Fuzzer
Arten von Fuzzern
Random Fuzzer ! ’HdmxH&k ddadahtrr’
Template Fuzzer ! ’GET /ex??ple.html’
Block Fuzzer ! ’GET /example.hmtl’
Evolution-based Fuzzer ! Lernen von Spezifika des Protokols
White box testing
Systemdetails werden genutzt
Pen testing
Fehlersuche unter
”
realen“ Bedingungen
■ Ausnutzbarkeit der Schwachstellen zeigen ! Beweis f¨ur
Kunden/Management
■ Durchf¨uhrung im/nahe am Betrieb
Zuletzt geändertvor 2 Jahren