Entwicklung Sicherer Webanwendungen (Teil 2) Flashcards

1
Q

Was versteht man unter Sensitive Date Exposure?

Nenne beispiele für vertrauliche Daten

A

Sensitive Date Exposure = Vertrauliche Daten werden unbeabsichtigt von der Webanwendung offengelegt

Vertrauliche Daten:
Passwörter
Personenbezogene
Daten Finanzdaten

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

Was sind Gegenmaßnahmen für Sensitive Date Exposure?

A

Vertrauliche Daten geeignet geschützt speichern
Heißt in den meisten Fällen: verschlüsselt

Geeignete Verschlüsselungsmaßnahmen wählen hinsichtlich:
Algorithmus 
Schlüssellänge 
Schlüsselerzeugung 
Schlüsselspeicherung

Datensparsamkeit: so wenig vertrauliche Daten wie möglich speichern

Falls möglich: Hardware-Sicherheitsmodul (HSM) verwenden

Starke Zugangspasswörter erzwingen

Auto-Completion für sensitive Daten in Forms deaktivieren

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

Was ist ein Rainbow Table?

A

Ist eine optimierte Datenstruktur,
die eine schnelle, speichereffiziente Suche nach der ursprünglichen Zeichenfolge für einen gegebenen Hashwert ermöglicht.

In diesen Dateien liegen passend zum verwendeten Verschlüsselungsalgorithmus Passwörter zusammen mit ihren Hashwerten.

Rainbow Table verwendet zwei Funktionen
Hashfunktion h(): Abbildung String -> Hash-Wert

Reduktionsfunktion r(): Abbildung Hash-Wert -> String

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

Was sind OWASP Regeln für SSL und TSL?

A

Regel 1: SSL/TLS für alle Login Seiten und alle folgenden Seiten

Regel 2: SSL/TLS grundsätzlich zur Übertragung vertrauliche Daten übertragen, auch in internen Netzen

Regel 3: Seiten, die über SSL/TLS zur Verfügung stehen nicht auch ohne SSL/TLS zur Verfügung stellen

Regel 4: Auf mittels SSL/TLS übertragenen Seiten ausschließlich Inhalte über SSL/TLS einbinden!

Regel 5: Secure Cookie Flag verwenden

Regel 6: Keine sensitiven Daten in URLs

Regel 7: Kein Caching von sensitiven Daten

Regel 8: HTTP Strict Transport Security (HSTS) nutzen

Regel 9: geeignete CA für Zertifikate verwenden

Regel 10: Nur kryptographisch starke Protokolle verwenden

Regel 11: Nur kryptographisch starke Algorithmen verwenden

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

Was ist eine Cipher-Suite?

A

Definition von Cipher-Suites = vordefinierte Kombinationen von Sicherungsalgorithmen

Cipher Suites liefern wichtige Informationen dazu, wie beim Einsatz von HTTPS, FTPS, SMTP und anderen Netzwerkprotokollen eine sichere Datenübertragung zustande kommt.

Cipher Suites sollten verwendet werden, weil kryptografische Algorithmen gebrochen werden können.

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

Nenne Regeln für Autorisierung laut OWASP

A

Regel 1: Falls Benutzer lange eingeloggt sein können: regelmäßig Rechte erneut testen

Regel 2: Least Privilege: So wenig Rechte wie möglich, so viele Rechte wie notwendig

Regel 3: Zentralisierte Autorisierung

Regel 4: Kontrollierter Zugang zu geschützten Ressourcen

Regel 5: Auch Zugriff auf statische Ressourcen (Bilder etc.) schützen

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

Wie läuft ein Cross-Site Request Forgery ab?

Nenne ein Beispiel.

A

Vorgehen: Angreifer erzeugt gefälschten HTTP Request und bringt Opfer dazu, diesen zu übermitteln, z.B. über Image Tags, XSS, …

Falls der Benutzer authentifiziert ist, funktioniert der Angriff

Angreifer bindet Website in einem Bild ein und das Opfer lädt Seite mit versteckte Code. (HTTP Request ist im Code des Bildes versteckt)

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

Nenne Gegenmaßnahmen für Cross-Site Request Forgery

Gehe genauer auf CAPTCHA ein.

A

Erzeuge ein zufälligen (!!!) Token für die aktuelle Session des Benutzers

  1. Token auf Serverseite einfügen in HTML Formulare / Links für zu schützende, sensitive Aktionen
  2. Wenn Benutzer diese Aktionen ausführen möchte: HTTP Request muss Token beinhalten
  3. Server muss Vorhandensein und Korrektheit des Tokens überprüfen

Weitere Gegenmaßnahme: Challenge-Response

Server stellt (individuelle) „Aufgabe“ pro Formular/Link, Client sendet Lösung.

z.B mit CAPTCHA

Sehr wirkungsvoll, allerdings für Benutzer umständlich. CAPTCHAs bieten keine Barrierefreiheit!

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

Using Known Vulnerable Components

Von was kann man bei Komponenten ausgehen? (Schwachstellen)

A

Software nie frei von Fehlern (Erfahrungswert: 3-4 Fehler pro 1000 Zeilen Code)

Aus Fehlern können Verwundbarkeiten entstehen Fehler betreffen auch…
…verwendetes Framework
…verwendete Bibliotheken
…weitere verwendete Komponenten

Es liegen viele Schwachstellen von Komponenten im Web offen! Angreifer kennen diese und nutzen Sie.
(Liegen z.B in NVD Datenbank)

Beispiel: Angreifer sieht es läuft altes Ubunto - schaut nach Schwachstellen

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

Wie kann man sich vor bekannten Known Vulnerable Components schützen?

A

Keine fremden Komponenten verwenden

Regelmäßiges Upgrade

Regelmäßige Updates, am besten automatisiert

Unbenutzte Komponenten auch wieder entfernen

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

Was ist ein Gateway?

Welche drei Arten kennen Sie?

A

In einem Softwareprojekt können verwundbare Komponenten durch eines von drei „Gateways“ aufgenommen werden

  1. Selection/Consumption
  2. Integration
  3. Deployment

An jedem dieser drei Gateways muss folgendes möglich sein:

Komponenten abweisen
Komponenten entfernen
Komponenten verwalten

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

Was ist ein Consumption Gateway?

A

Entwickler wählt eine Softwarekomponente und bindet sie ein

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

Was ist die Aufgabe des Integration Gateways?

A

Software wird beispielsweise im Kompilierprozess dazu genommen, js-uglify, etc.

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

Was macht der Deployment Gateway?

A

Hinzufügen von Komponenten während der Installation (Deployment)

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

Was sind Unvalided Redirects and Forwards?

A

Manche Web-Anwendungen leiten weiter, indem Zielseite in unvalidiertem Parameter übergeben wird.

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

Was sind Gegenmaßnahmen für Redirects and Forwards?

A

Keine Redirects und Forwards benutzen

Falls doch notwendig: Input vom Benutzer nicht zur Zielermittlung verwenden

Falls Benutzerinput benötigt wird: beim Ziel überprüfen, ob Benutzer autorisiert das Ziel aufzurufen

Keine URL (oder Teile davon) im Parameter angeben sondern nur einen Wert, der auf Serverseite in eine URL übersetzt wird