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
2
Q
HTTPS
A
- Kombination aus HTTPS und SSL (TLS)
- verschlüsselte Kommunikation
- schützt nicht vor Angriffen gegen die Web-Anwendung selbst
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
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..)
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
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
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
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
8
Q
Path Traversal
A
Folge: Information Leakage
Gegenmaßnahme:
- Normalisierung aller Pfade vor Benutzung
- Whitelists
- Sichere Ablage sensibler Daten
9
Q
Nebenläufigkeiten
A
- Ausnutzung von Ressourcenteilung zur Manipulation
- > sorgfältige Bedrohungsmodellierung