Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Michael Gerstle Geändert vor über 8 Jahren
1
Rechen- und Kommunikationszentrum (RZ) Sicherheitsorientierte Webentwicklung am Beispiel der Matse-Dienste Jan-Frederic Janssen
2
Sicherheitsorientierte Webentwicklung am Beispiel der Matse-Dienste Jan-Frederic Janssen| Rechen- und Kommunikationszentrum 2 Motivation Angriffstechniken Ablauf/Vorgehen des Angreifers Abwehrmaßnahmen Matse-Dienste Überblick Abwehrmaßnahmen Fazit Inhaltsverzeichnis
3
Sicherheitsorientierte Webentwicklung am Beispiel der Matse-Dienste Jan-Frederic Janssen| Rechen- und Kommunikationszentrum 3 Motivation
4
Sicherheitsorientierte Webentwicklung am Beispiel der Matse-Dienste Jan-Frederic Janssen| Rechen- und Kommunikationszentrum 4 Motivation Verdeutlichung der Relevanz von Sicherheit Software- und Webentwickler Endbenutzer Überprüfung der Matse-Dienste auf Sicherheitslücken Sind eventuell welche vorhanden? Welche Sicherheitsvorkehrungen wurden getroffen ?
5
Sicherheitsorientierte Webentwicklung am Beispiel der Matse-Dienste Jan-Frederic Janssen| Rechen- und Kommunikationszentrum 5 Angriffstechniken
6
Sicherheitsorientierte Webentwicklung am Beispiel der Matse-Dienste Jan-Frederic Janssen| Rechen- und Kommunikationszentrum 6 Cross-Site-Scripting Ablauf Gegenmaßnahmen SQL Injection Cross-Site-Request-Forgery Session Hijacking Angriffstechniken
7
Sicherheitsorientierte Webentwicklung am Beispiel der Matse-Dienste Jan-Frederic Janssen| Rechen- und Kommunikationszentrum 7 Cross-Site-Scripting
8
Sicherheitsorientierte Webentwicklung am Beispiel der Matse-Dienste Jan-Frederic Janssen| Rechen- und Kommunikationszentrum 8 Cross-Site-Scripting (XSS) Manipulation einer Webseite durch HTML 3 Arten: 1.Reflektives XSS: Einmalige Interpretation der übermittelten HTML-Tags 2.Persistentes XSS: HTML-Code wird abgespeichert Dadurch Übermittelung der Daten an mehrere Personen/Browser 3.Lokales XSS: Der Browser lädt den Schadcode selber nach Verwendung des HTML-Tags
9
Sicherheitsorientierte Webentwicklung am Beispiel der Matse-Dienste Jan-Frederic Janssen| Rechen- und Kommunikationszentrum 9 Beispiel: Ablauf Reflektives XSS Ausgangspunkt: URL: http://www.example.com/?search=test
10
Sicherheitsorientierte Webentwicklung am Beispiel der Matse-Dienste Jan-Frederic Janssen| Rechen- und Kommunikationszentrum 10 Beispiel: Ablauf Reflektives XSS Manipulierte Webseite: URL: http://www.example.com/?search= +Please+Login+to+ continue%3A+ + Username%3A+ + +Password%3A+ + + + +
11
Sicherheitsorientierte Webentwicklung am Beispiel der Matse-Dienste Jan-Frederic Janssen| Rechen- und Kommunikationszentrum 11 Abwehrmaßnahmen Verhindern der Interpretation von ungewollten HTML-Tags Maskierung der eingegeben Daten PHP Funktion: htmlspecialchars() Dadurch Maskierung der HTML-Tags: = <script> Ausgabe nach Verwendung von htmlspecialchars(): You searched for +Please+Login+to+continue%3A + +Username%3A+ + +Password%3A+ + +<input+type%3D"submit"+ value%3D"Login">+ +
12
Sicherheitsorientierte Webentwicklung am Beispiel der Matse-Dienste Jan-Frederic Janssen| Rechen- und Kommunikationszentrum 12 SQL Injection
13
Sicherheitsorientierte Webentwicklung am Beispiel der Matse-Dienste Jan-Frederic Janssen| Rechen- und Kommunikationszentrum 13 SQL Injection Angriff auf Datenbanksysteme Benutzereingaben werden in Statement eingebettet Verwendung von SQL Statements durch Befehle wie: DROP UPDATE DELETE WHERE
14
Sicherheitsorientierte Webentwicklung am Beispiel der Matse-Dienste Jan-Frederic Janssen| Rechen- und Kommunikationszentrum 14 Beispiel: SQL Injection Datenbanktabelle „user“ : IDnamepassword 1Adminroot123 2ExampleUserpasswd123
15
Sicherheitsorientierte Webentwicklung am Beispiel der Matse-Dienste Jan-Frederic Janssen| Rechen- und Kommunikationszentrum 15 Beispiel: Ablauf SQL Injection SQL Statement: SELECT id FROM user WHERE name='$name' AND password='$password'; Benutzer PC Eingabe: ExampleUser, passwd123 SELECT id FROM user WHERE name='ExampleUser' AND password='passwd123';
16
Sicherheitsorientierte Webentwicklung am Beispiel der Matse-Dienste Jan-Frederic Janssen| Rechen- und Kommunikationszentrum 16 Beispiel: Ablauf SQL Injection SQL Statement: SELECT id FROM user WHERE name='$name' AND password='$password'; Angreifer PC Eingabe: ExampleUser, ' OR name='ExampleUser SELECT id FROM user WHERE name='ExampleUser' AND password='' OR name='ExampleUser';
17
Sicherheitsorientierte Webentwicklung am Beispiel der Matse-Dienste Jan-Frederic Janssen| Rechen- und Kommunikationszentrum 17 Abwehrmaßnahmen Verhindern der Interpretation von ungewollten SQL Befehlen Verwendung von Prepared Statements (vorbereitete Anweisungen mit Platzhaltern für Daten) $sql = 'SELECT * FROM beispiel WHERE name=:nachname'; $sth = $dbh->prepare($sql); $sth->bindValue(":nachname", $var); $sth->execute(); Statement wird mit Platzhaltern kompiliert SQL Befehle in Variablen werden nur eingefügt
18
Sicherheitsorientierte Webentwicklung am Beispiel der Matse-Dienste Jan-Frederic Janssen| Rechen- und Kommunikationszentrum 18 Cross-Site-Request-Forgery
19
Sicherheitsorientierte Webentwicklung am Beispiel der Matse-Dienste Jan-Frederic Janssen| Rechen- und Kommunikationszentrum 19 Cross-Site-Request-Forgery (CSRF) Gefälschte Anfrage erzwingen Angreifer schickt über den Browser des Benutzers eine Anfrage an den Webserver Manipulation einer Webseite durch HTML Manipulation einer Webseite damit die gefälschte Anfrage versendet wird
20
Sicherheitsorientierte Webentwicklung am Beispiel der Matse-Dienste Jan-Frederic Janssen| Rechen- und Kommunikationszentrum 20 Beispiel: Ablauf CSRF Besucher besitzt einen Account bei forum.de PC Webserver forum.de Webserver evil.de http://www.forum.de/login.php http://www.evil.de http://www.forum.de/logout.php Status: Angemeldet Status: Offline
21
Sicherheitsorientierte Webentwicklung am Beispiel der Matse-Dienste Jan-Frederic Janssen| Rechen- und Kommunikationszentrum 21 Abwehrmaßnahmen Überprüfung der Anfrage: Generierung eines Schlüssels zur Identifikation Zufällige Zeichenkette Gilt entweder für einen Request oder gesamte Sitzung Vorhanden auf Server- sowie auf Clientseite
22
Sicherheitsorientierte Webentwicklung am Beispiel der Matse-Dienste Jan-Frederic Janssen| Rechen- und Kommunikationszentrum 22 Abwehrmaßnahmen Besucher besitzt einen Account bei forum.de PC Webserver forum.de Webserver evil.de http://www.forum.de/login.php http://www.evil.de http://www.forum.de/logout.php Status: Angemeldet Schlüssel= 'AdEzHdf..' Kein Schlüssel !!!
23
Sicherheitsorientierte Webentwicklung am Beispiel der Matse-Dienste Jan-Frederic Janssen| Rechen- und Kommunikationszentrum 23 Session Hijacking
24
Sicherheitsorientierte Webentwicklung am Beispiel der Matse-Dienste Jan-Frederic Janssen| Rechen- und Kommunikationszentrum 24 Session Hijacking Übernahme der Sitzung eines Benutzers Angreifer erlangt Zugriff auf Webapplikation Angreifer erhält Rechte des Benutzers Verwendung von Software wie z.B.Wireshark oder Firesheep
25
Sicherheitsorientierte Webentwicklung am Beispiel der Matse-Dienste Jan-Frederic Janssen| Rechen- und Kommunikationszentrum 25 Ungesichertes WLAN Netzwerk Beispiel: Ablauf Session Hijacking PC Webserver PC Login Session ID= ACF3D35F21… Abhören der ID Session ID= ACF3D35F21… Kommunikation mit Session ID ID = ACF3... Kommunikation mit Session ID
26
Sicherheitsorientierte Webentwicklung am Beispiel der Matse-Dienste Jan-Frederic Janssen| Rechen- und Kommunikationszentrum 26 Abwehrmaßnahmen Verhindern des Auslesens der Sitzungsdaten Verschlüsseln der Informationen Dazu HTTPS ( Hypertext Transfer Protocol Secure) HTTPS: Verschlüsselung und Authentifizierung zwischen Webserver und Browser
27
Sicherheitsorientierte Webentwicklung am Beispiel der Matse-Dienste Jan-Frederic Janssen| Rechen- und Kommunikationszentrum 27 Matse-Dienste
28
Sicherheitsorientierte Webentwicklung am Beispiel der Matse-Dienste Jan-Frederic Janssen| Rechen- und Kommunikationszentrum 28 Überblick Gegenmaßnahmen Cross-Site-Scripting Cross-Site-Request-Forgery Session Hijacking Matse-Dienste
29
Sicherheitsorientierte Webentwicklung am Beispiel der Matse-Dienste Jan-Frederic Janssen| Rechen- und Kommunikationszentrum 29 Überblick
30
Sicherheitsorientierte Webentwicklung am Beispiel der Matse-Dienste Jan-Frederic Janssen| Rechen- und Kommunikationszentrum 30 Überblick
31
Sicherheitsorientierte Webentwicklung am Beispiel der Matse-Dienste Jan-Frederic Janssen| Rechen- und Kommunikationszentrum 31 Abwehrmaßnahmen Cross-Site-Scripting Session Hijacking Cross-Site-Request-Forgery
32
Sicherheitsorientierte Webentwicklung am Beispiel der Matse-Dienste Jan-Frederic Janssen| Rechen- und Kommunikationszentrum 32 Abwehr Cross-Site-Scripting
33
Sicherheitsorientierte Webentwicklung am Beispiel der Matse-Dienste Jan-Frederic Janssen| Rechen- und Kommunikationszentrum 33 Matse-Dienste Abwehrmaßnahmen: Cross-Site-Scripting Trennung von Code und Ausgabe Verwendung von Template Engine Smarty (PHP-Bibliothek) Smarty
34
Sicherheitsorientierte Webentwicklung am Beispiel der Matse-Dienste Jan-Frederic Janssen| Rechen- und Kommunikationszentrum 34 Abwehr Session Hijacking
35
Sicherheitsorientierte Webentwicklung am Beispiel der Matse-Dienste Jan-Frederic Janssen| Rechen- und Kommunikationszentrum 35 Matse-Dienste Abwehrmaßnahmen: Session Hijacking Kooperation mit der Benutzerverwaltungssoftware Shibboleth
36
Sicherheitsorientierte Webentwicklung am Beispiel der Matse-Dienste Jan-Frederic Janssen| Rechen- und Kommunikationszentrum 36 Matse-Dienste Abwehrmaßnahmen: Session Hijacking Ablauf Anmeldung: Benutzer führt ein Login bei Shibboleth durch Shibboleth authentifiziert den Benutzer und übermittelt Daten mittels HTTPS TIM-ID und über HTTPS generierte Sitzungs-ID
37
Sicherheitsorientierte Webentwicklung am Beispiel der Matse-Dienste Jan-Frederic Janssen| Rechen- und Kommunikationszentrum 37 Abwehr Cross-Site-Request-Forgery
38
Sicherheitsorientierte Webentwicklung am Beispiel der Matse-Dienste Jan-Frederic Janssen| Rechen- und Kommunikationszentrum 38 Matse-Dienste Abwehrmaßnahmen: Cross-Site-Request-Forgery Matse-Dienste eigene CSRF-Klasse POST-Formular mit Hidden Feld und enthaltenem Token Generiert durch Webserver und dem Benutzer zugeteilt Ablauf: Browser schickt ein Formular ab Formular wird über mitgesendetes Token authentifiziert und abgearbeitet
39
Sicherheitsorientierte Webentwicklung am Beispiel der Matse-Dienste Jan-Frederic Janssen| Rechen- und Kommunikationszentrum 39 Fazit
40
Sicherheitsorientierte Webentwicklung am Beispiel der Matse-Dienste Jan-Frederic Janssen| Rechen- und Kommunikationszentrum 40 Fazit Erkenntnisse: 1.Viele Möglichkeiten Systeme zu kompromittieren 2.Vorgestellte Themen nur ein kleiner Anteil 3.Matse-Dienste soweit abgesichert Trotzdem: 1.Programme/Software werden weiterentwickelt Dadurch können neue Sicherheitslücken entstehen 2.Neue Angriffstechniken entstehen
41
Sicherheitsorientierte Webentwicklung am Beispiel der Matse-Dienste Jan-Frederic Janssen| Rechen- und Kommunikationszentrum 41 Fazit Aspekt der Sicherheit kein einmaliger Faktor sondern ein dauerhafter Prozess der Analyse und Behebung
42
Sicherheitsorientierte Webentwicklung am Beispiel der Matse-Dienste Jan-Frederic Janssen| Rechen- und Kommunikationszentrum 42 Fragen ?
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.