Diese Arbeit beschäftigt sich mit dem Thema „Sichere Webanwendungen“. Dabei werden in mehreren Schritten der Wert einer Webanwendung, die verschiedenen Schichten, Testmethoden und einzelne Angriffe vorgestellt.
Inhaltsverzeichnis
1 Einleitung
1.1 Motivation
1.2 Ziel der Arbeit
1.3 Vorgehen
2 Webapplikation Angriffe
2.1 Sicherheitskonzept
2.2 OWASP
2.2.1 Bewertung von Risiken
2.2.2 Injektion
2.2.3 Broken Authentication an Session Management
2.2.4 Cross Site Scripting
2.2.5 Insecure Direct Object References
2.2.6 Security Misconfiguration
2.3 Sicherheitstest
3 Angriffe und Gegenmaßnahmen
3.1 SQL Injektion
3.2 Cross-Site-Scripting
4 Zusammenfassung und Ausblick
5 Literaturverzeichnis
Anlage 1: Übung Websicherheit
Zielsetzung & Themen
Das primäre Ziel dieser Arbeit besteht darin, Webseiten-Betreibern kritische Schwachstellen in ihren Anwendungen aufzuzeigen, mögliche Lösungsansätze zu präsentieren und ein Verständnis für die aktuelle Bedrohungslage im Internet zu vermitteln.
- Analyse der verschiedenen Sicherheitsebenen von Webanwendungen
- Einführung in das OWASP-Projekt und dessen Risikobewertung
- Detaillierte Betrachtung von Injektionen und Cross-Site-Scripting
- Methodik zur Durchführung von Sicherheitstests
- Praktische Ansätze zur Absicherung gegen Session-Hijacking
Auszug aus dem Buch
3.1 SQL Injektion
SQL Injektion werden dadurch ermöglicht, dass die Datenbank von den Applikationen getrennt gepflegt wird. Dadurch müssen die Applikationen über eine Schnittstelle mit der Datenbank kommunizieren. Diese Schnittstelle ist SQL Dabei ist SQL eine Scriptsprache, mit der Mengen von Daten manipuliert werden können. Da nicht für jeden Besucher der Site alle Daten wichtig sind, sondern nur ein kleiner Teil der Daten, müssen die SQL Statements zur Laufzeit mittels Kontext Informationen erstellt und der Datenbank übermittelt werden. Das Problem dabei sind die Kontextinformationen, die benutzerspezifisch erhoben werden, wie zum Beispiel der Name des Benutzer. Wird nun der Name ohne weitere Prüfung in SQL eingebettet, hat der Benutzer direkten Einfluss auf den Aufbau des SQL Statements und kann damit auf Teilmengen von Daten zugreifen, die nicht für ihn bestimmt sind.
Beispiel: Benutzername = john‘ --
neues Query: SELECT * FROM Usr WHERE
Name=´john‘ --´ and password=‚‘
Wie in dem Beispiel zu sehen ist, ändert der Benutzer das SQL Statement so ab, dass alle Daten mit dem Namen john gesucht werden. Das Password wird einfach auskommentiert. Verhindert werden kann dies mit einem Decoder(Escaping). Dieser ersetzt Zeichen wie ‘, “ durch \‘, \“. Dadurch wird die semantische Bedeutung der Zeichen aufgehoben. Damit ergibt sich folgende Situation:
Beispiel: Benutzername = john‘ --
neues Query: SELECT * FROM Usr WHERE
Name=´john\‘ --´ and password=‚‘
In diesem Beispiel ist durch das Escaping die Integrität der SQL Statements wieder hergestellt. Allerdings bringt dieses Verfahren nur bedingt zusätzliche Sicherheit. Einige Decoder filtern das Escapezeichen selbst(\) nicht mit. In diesem Fall würde die Eingabe „john\‘ --“ den Decoder neutralisieren. Schwierig wird es für den Decoder, das Zeichen durch verschiedene Zeichensätze und Schreibweisen hindurch zu erkennen. So werden zum Beispiel auch Hexzahlen bei der Datenbank automatisch zu Zeichen umgewandelt. Spätestens bei Angriffen, die komplett auf die genannten Zeichen verzichten, stößt dieses Verfahren an seine Grenzen.
Zusammenfassung der Kapitel
1 Einleitung: Diese Einleitung führt in das Thema der Webanwendungssicherheit ein und definiert Motivation, Zielsetzung sowie das Vorgehen der Arbeit.
2 Webapplikation Angriffe: Dieses Kapitel erläutert verschiedene Sicherheitskonzepte, stellt das OWASP-Projekt vor und analysiert die Top-Risiken für Webapplikationen sowie Methoden für Sicherheitstests.
3 Angriffe und Gegenmaßnahmen: In diesem Teil werden konkrete Sicherheitsprobleme wie SQL-Injektion und Cross-Site-Scripting detailliert untersucht und Lösungsansätze für deren Behebung aufgezeigt.
4 Zusammenfassung und Ausblick: Der abschließende Abschnitt fasst die Bedeutung von kontinuierlichen Tests und Transparenz für die Websicherheit zusammen.
5 Literaturverzeichnis: Hier sind alle verwendeten Quellen und weiterführenden Dokumente zur Arbeit aufgelistet.
Anlage 1: Übung Websicherheit: Die Anlage enthält eine praktische Anleitung zur Einrichtung einer Testumgebung für Websicherheitsübungen inklusive konkreter Übungsschritte.
Schlüsselwörter
Webanwendungen, Sicherheit, OWASP, SQL-Injektion, Cross-Site-Scripting, Session-Management, Schwachstellen, Risikobewertung, Webhacking, Datensicherheit, IT-Sicherheit, Penetration Testing, Web-Server, Authentifizierung, Angriffsvektoren
Häufig gestellte Fragen
Worum geht es in dieser Arbeit grundsätzlich?
Die Arbeit befasst sich mit der Sicherheit von Webanwendungen, analysiert potenzielle Schwachstellen und stellt verschiedene Angriffs- sowie Verteidigungsstrategien vor.
Was sind die zentralen Themenfelder der Arbeit?
Die zentralen Themen umfassen Sicherheitskonzepte, das OWASP-Framework, gängige Angriffsvektoren wie Injektionen und XSS sowie praktische Sicherheitstests.
Was ist das primäre Ziel der Forschungsarbeit?
Das Ziel ist es, Betreibern von Webseiten Schwachstellen aufzuzeigen, Lösungen anzubieten und einen Überblick über die aktuelle Bedrohungslage im Internet zu geben.
Welche wissenschaftliche Methode wird primär verwendet?
Die Arbeit stützt sich auf eine strukturierte Analyse bestehender Sicherheitsrisiken, die Kategorisierung mittels OWASP und die praktische Demonstration durch Beispiele und Übungen.
Was wird im Hauptteil der Arbeit behandelt?
Der Hauptteil widmet sich der detaillierten Betrachtung spezifischer Angriffe (SQL-Injektion, XSS), der Bewertung von Risikokriterien und konkreten Gegenmaßnahmen für Entwickler.
Welche Schlüsselwörter charakterisieren diese Publikation am besten?
Wichtige Begriffe sind Webanwendungen, SQL-Injektion, Cross-Site-Scripting, OWASP, IT-Sicherheit und Schwachstellenanalyse.
Wie unterscheidet sich die SQL-Injektion von der Cross-Site-Scripting-Problematik?
Während sich SQL-Injektionen auf die Manipulation der Datenbankabfragen beziehen, zielt Cross-Site-Scripting darauf ab, fremden Quellcode im Browser des Opfers auszuführen.
Welchen Zweck erfüllt die beigefügte Anlage 1?
Die Anlage dient der praktischen Anwendung des Gelernten, indem sie eine Anleitung für eine eigene Testumgebung (WebGoat) zur Durchführung von Sicherheitsübungen bereitstellt.
Was bedeutet das "Escaping" im Kontext von SQL-Injektionen?
Escaping ist eine Methode zur Neutralisierung von Sonderzeichen in Eingabedaten, um zu verhindern, dass diese als SQL-Befehle interpretiert werden.
Warum ist das OWASP-Projekt für diese Arbeit so relevant?
OWASP bietet eine standardisierte Risikobewertung (Top 10) und hilfreiche Testing-Guides, die als wissenschaftliche Basis für die Analyse der Websicherheit dienen.
- Arbeit zitieren
- Daniel Szameitat (Autor:in), 2013, Sichere Web-Anwendungen, München, GRIN Verlag, https://www.grin.com/document/232616