Testen mit dem OWASP Testing Guide (Teil 1) Flashcards

1
Q

Wann ist ein guter Zeitpunkt zum Testen? Welche Faktoren müssen getestet werden?

A

Testen im Rahmen vom Software Development Life Cycle (SDLC)

Faktoren für sichere Software:
Menschen (Ausbildung/Awareness)
Prozesse (Prozesse und Regeln, die auch befolgt werden) Technik (effiziente Umsetzung)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Was sind Prinzipen für das Testen?

A

Testen am besten im Rahmen eines SDLC
ganzheitlicher und nachhaltiger Ansatz dockt an bestehendem Prozess an

Früh testen und oft testen

Umfang der Sicherheit muss verstanden werden
Wie viel Sicherheit braucht ein Projekt?

Verwendung der richtigen Werkzeuge

Wo möglich auf Basis von Source Code arbeiten

Dokumentation der Ergebnisse der Tests

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Was sind techniker zum Testen?

A

Manuelle Inspektion und Reviews

Bedrohungs- und Risikoanalyse

Code Review

Penetration Testing

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Wann im SDLC sollte welche Technik zum Testen durchgeführt werden?

A

Erfolgreiches Testen setzt Aktivitäten in allen Phasen des SDLC voraus!

Manuelle Inspektion und Reviews:
- kann früh im SDLC angewandt werden (Phase 1/2)

Bedrohungs und Risikoanalysen:
- kann ebenfalls früh im SDLC angewandt werden (Phase 2/Design)

Code Reviews:
- Phase 3/Implementierung

Penetration Testing:

  • erfolgt erst sehr spät im SDLC
  • Am Ende der Implementierung
  • Phase 4

Phase 5: Penetration Testing nach vorgegebenem Zeitplan (Health Check)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Was versteht man unter Manuelle Inspektion und Reviews?

A

Wird durch Menschen durchgeführt

Überprüfen Auswirkungen auf Sicherheit der Faktoren:
Menschen, Regeln, Prozesse

Durchführungsmöglichkeiten:
Analyse der Dokumentation
Interviews mit Architekten oder System Owner

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Was sind Vor- und Nachteile der Manuelle Inspektion und Reviews?

A

Vorteile:

  • Keine Tools benötigt
  • Kann in einer Vielzahl von Situationen eingesetzt werden Flexibel
  • Kann früh im SDLC eingesetzt werden

Nachteil:

  • Kann zeitaufwendig sein
  • Benötigte Dokumentation/Materialien nicht immer verfügbar oder nur in schlechte Qualität verfügbar
  • Durchführung erfordert neben technischen Skills guten Umgang mit Menschen!
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Was versteht man unter der Bedrohungs- und Risikoanalyse?

A

Hilft, sich über Bedrohungen Gedanken zu machen
Hilft, beschränkte Ressourcen effizient einzusetzen

Identifikation möglicher Angriffe

Bewertung des mit dem Angriff verbundenen Risiko

Analyse der schützenswerten Güter

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Was sind Vor- und Nachteile der Bedrohungs- und Risikoanalyse?

A

Vorteile:

  • Sicht wie Angreifer auf Anwendung Flexibel
  • Kann früh in SDLC eingesetzt werden

Nachteil:

  • Gute Bedrohungs- und Risikoanalyse bedeutet noch nicht sichere Software
  • Qualität hängt stark vom durchführenden Experten ab
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Was sind Code Reviews?

A

Manuelle Überprüfung des Source Codes auf Sicherheit

Viele Verwundbarkeiten können anders gar nicht gefunden werden

Weniger Raten als bei Black Box Tests notwendig

Typischerweise wird gefunden:
Probleme mit Nebenläufigkeit,
Fehlerhafte Business Logik,…

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Was sind Vor- und Nachteile vom Code Reviews?

A

Vorteile:

  • Umfassend und effizient
  • Genau
  • Schnell (wenn Experte kompetent)

Nachteile:

  • Sehr spezielles Skillset benötigt (TEUER!)
  • Sieht nur, was im Source vorliegt (also z.B. nicht kompilierte Bibliotheken, die verwendet werden)
  • Entdecken von Laufzeitfehlern schwierig
  • Source Code, der getestet wird, stimmt oft nicht mit dem überein, der ausgebracht wird
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Was ist Penetration Testing?

A

Oft als Black Box Testing bezeichnet

Tester hat kein Insider-Wissen über Implementierung Zugang zur Anwendung, als wäre Tester normaler Nutzer

Tester verhält sich wie Angreifer

Automatisierte Tools vorhanden für einige Angriffe

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Was sind Vor- und Nachteile vom Penetration Testing?

A

Vorteile:

  • Kann schnell Ergebnisse liefern (=billig)
  • Benötigt im Vergleich zu Source Code Reviews weniger qualifizierte Tester
  • Testet den Code, der auch wirklich eingesetzt wird

Nachteile:
- Erfolgt erst sehr spät im SDLC (Running Code benötigt) - Getestet wird nur öffentlich exponierter Code

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Beschreibe kurz die 5 Phasen des SDLC

A

Phase 1: Vor der Entwicklung

  • Überarbeitung und Dokumentation der Sicherheitsregeln und Standards
  • Man plant was man messen möchte ( Messprozess, Messkriterien, Macht Fortschritt sichtbar)

Phase 2: Design

  • Security Requirements der Anwendung ableiten und testen (Überprüfen, ob es Lücken gibt)
  • Überprüfung des Designs und der Architektur
  • UML Modelle erzeugen und überprüfen durch Review
  • Bedrohungs- und Risikoanalyse anhand der Architektur

Phase 3: Implementierung

  • Code Review
  • Code Walkthroughs ( Überprüfen, warum Implementierung in gegebener Weise geschehen ist => geht es noch besser?)

Phase 4: Ausbringung

  • Entwicklung abgeschlossen, Anwendung vollständig und wird beim Kunden installiert
  • „Last Minute Penetration Testing“
  • Überprüfung Konfigurations-Management

Phase 5: Betrieb

  • Anwendung aktuell halte
  • Sicherheitsregeln regelmäßig überprüfen und überarbeiten Application Patching
  • Penetration Testing nach vorgegebenem Zeitplan (Health Check)
  • WICHTIG: Quality Assurance für ALLE Änderungen!!!
How well did you know this?
1
Not at all
2
3
4
5
Perfectly