Server-seitige Angriffe Flashcards

1
Q

Angreifer-“Modelle”

A
  • Netzwerk-Angreifer (Man-in-the-middle)
  • Entfernter Angreifer (Remote-Angreifer)
  • Lokaler Angreifer (Gewinnung von zusätzlichen Rechten)
  • Web-Angreifer
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

HTTPS

A
  • Kombination aus HTTPS und SSL (TLS)
  • verschlüsselte Kommunikation
  • schützt nicht vor Angriffen gegen die Web-Anwendung selbst
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Angriffe auf Web-Applikationen

A

Client-seitig:

  • Cross-Site Scripting (XSS -> JavaScript)
  • Cross-Site Request Forgery (CSRF)

Server-seitig:

  • SQL-Injection
  • Remote Code Injection
  • Path Traversal
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Untrusted input

A
  • Manipulation des HTTP-Requests zur Umgehung der Sicherheitsmaßnahmen (XSS, SQL-Injection)
  • z.B. Ziel-URLs, GET/POST-Parameter, Header, Metadaten
  • > nie dem Client vertrauen, keine Client-seitige Validierung
  • Input Validation gegen eine “positive” Spezifikation (Datentyp, Zeichenmenge, etc..)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

SQL-Injection

A
  • Injizierung von SQL-Kommandos in die Datenbank-Engine
  • bei Verwendung von Benutzereingaben in dynamischen Queries
  • bei Erfolg volle Kontrolle über die Datenbank
  • Klassiker: Injzierung beliebiger SQL Syntax durch Anhängen von AND statement: password = ‘x’ or ‘1’ = ‘1’
  • Gewinnung von Informationen durch Hinzufügen von Booleschen Bedingungen
  • Hinzufügen von Benutzern
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Gewinnung von Informationen mithilfe von Fehlermeldungen

A
  • unnötige Ausgabe von Debugging oder Fehlermeldungen an den Benutzer -> besser Logfiles
  • SQL-Injection auch im Blindflug möglich: Systematischer Trial and Error-Ansatz
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

SQL-Injection Solution

A
  • Trennung der Applikation von SQL durch z.B. Persistenz-Frameworks
  • prepared statements auf dem Datenbankserver -> keine dynamische String-Concatenation
  • falls prepared-statements nicht gehen: konservative Validierung von Benutzereingaben, Escapen von Anführungszeicen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Remote Code Injection

A

Folge: Injizierung von Code durch den Angreifer

Gegenmaßnahme:

  • Validierung und Escaping dynamischer Kommandos
  • least privilege
  • am besten gar keine Shell-basierte Kommunikation/Ausführung sondern geeignete gekapselte native Bibliotheken
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Path Traversal

A

Folge: Information Leakage

Gegenmaßnahme:

  • Normalisierung aller Pfade vor Benutzung
  • Whitelists
  • Sichere Ablage sensibler Daten
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Nebenläufigkeiten

A
  • Ausnutzung von Ressourcenteilung zur Manipulation

- > sorgfältige Bedrohungsmodellierung

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