Rechen- und Kommunikationszentrum (RZ) Sicherheitsorientierte Webentwicklung am Beispiel der Matse-Dienste Jan-Frederic Janssen.

Slides:



Advertisements
Ähnliche Präsentationen
SQL Injection – Funktionsweise und Gegenmaßnahmen
Advertisements

Anmeldung/Kostenkontrolle in Verbindung mit dem USB Karten-Leser
Präsentation des Abschlussprojektes Rudolf Berger
Web 2.0 Ringelmann Arthur.
Dynamische Seiten mit Dreamweaver Zugriff auf (mysql) Datenbank mit PHP.
MySQL.
Datenbankzugriff im WWW (Kommerzielle Systeme)
Seite 1Maria, Philipp, Herbert Seite 1 Fitnessplaner Ziele: >Fitnessplaner für Onlinebetrieb >Registrierung >individuelle Trainingsplanerstellung.
Seminar: XML für Fortgeschrittene Referent: Katrin Apel
Datenbankanbindung mit ASP Wilhelm-Schickard-Schule Tübingen
Oracle PL/SQL Server Pages (PSP). © Prof. T. Kudraß, HTWK Leipzig Grundidee: PSP – Internet-Seiten mit dynamischer Präsentation von Inhalten durch Einsatz.
Spezielle Aspekte der Anbindung von Datenbanken im Web.
Hassan Bidani Jallal Alami Rahmouni FH Wiesbaden
Technik Gestaltung Navigation Daten. Übersicht Client Webbrowser InternetServer.
Erstellen einer Webseite Fortbildung am FPGZ Stephan Best.
Einführung MySQL mit PHP
von Julia Pfander und Katja Holzapfel E 12/2
Welche Funktion hat die php.ini? -Beinhaltet wichtige Einstellungen für PHP. Genannt seien hier u.a. der Speicherort von Cookies, Parameter der Kompilierung,
SQL PHP und MySQL Referat von Katharina Stracke und Carina Berning
Wir bauen uns eine Webapplikation!
Learning By Doing Thema 1: Dynamische Webseiten und Online Datenbanken (Jarka Arnold) Thema 2: Simulationen, Sound, Schnittstellen (Aegidius Plüss) Thema.
EIN CMS MACHT SCHULE Tina Gasteiger.
Webseitengestaltung.
Erstellen einer Webseitenstatistik mithilfe eines OLAP-Servers
Erstellen einer Webseitenstatistik mithilfe eines OLAP-Servers
PHP und MYSQL am Organisatorisches Der komplette Kurs im Schnelldurchgang Bewertung von wichtig und unwichtig Historisch Kulturwissenschaftliche.
Betrieb von Datenbanken Marco Skulschus & Marcus Wiederstein Datenmanipulation Lehrbuch, Kapitel 4.
Grundlagen: Client-Server-Modell
Clientseitig Session IDs Erweiterungen wie NoScript Cookies verbieten Serverseitig Tokens HTML Entities verwenden 1.
Dynamische Webseiten mit PHP [und Python]
Folgendes kann missbraucht werden: formulare unverschlüsselte login-informationen ungeschützte includes SQL-injection reto ambühler
Internet und SMS Internet und SMS Daniel Rickenbacher Jeremy Deuel.
Daniel Franke Tim Benedict Jagla Matthias Thimm
Absicherung eines produktiven Webservers und Entdeckung von Angreifern
Wie man Webanwendungen vor Angriffen schützen kann
Webseiten mit PHP, SQL, XML und Webservices Anhand praktischer Beispiele.
Hacking InfoPoint Jörg Wüthrich Infopoint - Hacking - Jörg Wüthrich 2/26 Inhalte Rund um das Thema Hacking Angriffs-Techniken Session.
Mag. Andreas Starzer weloveIT – EDV Dienstleistungen
Entwurf eines sicheren Fernwartsystems für Automobilsoftware Philip Weber Stefan Trienen.
Client-Server-Modell
Daniel Franke Tim Benedict Jagla Matthias Thimm.
Willkommen zum Brückensemester
Aloaha Software – Martin Wrocklage 05451/943522) Aloaha Mobile Smartcard Connector (CSP)
Quelle: xkcd.com SQL Injections.
Datenbanken im Web 1.
Internet-Grundtechnologien. Client / Server Client („Kunde“): fordert Information / Datei an im Internet: fordert Internetseite an, z.B.
Entwurf eines sicheren Fernwartsystems für Automobilsoftware Stefan Trienen Philip Weber.
Cookies Kekse? Internet Gefahr?.
Internet - Grundbegriffe Unterlagen zum Kurs "Wie erstelle ich eine Homepage?"
1 Servlets Stephan Baldes. 2 Was ist ein Servlet? S E R V L E T = Eine auf Java-Technologie basierte Web-Komponente, die von einem Container.
Hypertext Transfer Protocol Secure (HTTPS) Seit August 1994 Entwickelt von Netscape Dient zur Verschlüsselung und zur Authentifizierung der Kommunikation.
Hypertext Transfer Protocol Secure (HTTPS) Wird in der Adressenleiste angezeigt.
Inhaltsverzeichnis  Motivation  Kurzbeschreibung  Benutzte Technologien HTML 5 / Javascript / Geolocation API AJAX PHP MYSQL GPS  Datenbankstruktur.
Aspekte der Zugriffsicherheit am Beispiel der Entwicklung eines Authentifizierungsserversystems Thomas Fieder Lehrstuhl und Institut für Allgemeine Konstruktionstechnik.
J.GehlenDept. of Medical Informatics 1 Department of Medical Informatics, Uniklinik RWTH Aachen, Germany Sichere Mobile Datenerfassung.
© Fraunhofer ILT EINFACHE MIGRATION EINES BESTEHENDEN TICKETSYSTEMS VON EINEM CLIENT-SERVER MODEL ZU EINER WEBBASIERTEN ANWENDUNG Seminarvortrag Paul Mangartz.
Rechen- und Kommunikationszentrum (RZ) Laptopleihpool des Rechenzentrums Aktuelle Umsetzung und Verbesserungspotential Julia Sauer Seminarvortrag Stand:
Entwicklung einer Webapplikation mittels HTML, PHP, MySQL, jQuery, und Smarty-Templates am Beispiel einer Studienarbeitsverwaltung.
© ika 2012· All rights reservedFolie Nr. 1 · Institut für Kraftfahrzeuge RWTH Aachen University Seminarvortrag Paul Voth Sicherheit von Datenbanksystemen.
SAP und Oracle: Was das Internet über Anwender verrät Jochen Hein Senior Architekt SAP R/3 Basis SerCon GmbH, Mainz
Sicherheit in Webanwendungen „CrossSite“, „Session“ und „SQL“ Angriffstechniken und Abwehrmaßnahmen Mario Klump.
WLAN - Verschlüsselung und Authentifizierung Lennart Kappis Ostseegymnasium Rostock Klasse 11/1 Fach: Informatik.
Chaosseminar Gefahren für den Internet Client. Angriffsscenario ● DSL / – Mit oder ohne WLAN AP? ● Öffentlicher Hotspot – Bahnhof / Flughafen.
Veranstaltungskalender
• Projektdialog paralleler Plagiatschutz- projekte
Nordrhein-Westfalen macht Schule. IT-Sicherheit im Verwaltungsnetz
Templates
Anmeldung/Kostenkontrolle in Verbindung mit dem USB Karten-Leser
Schmock Mutter nicht ausreichend versorgt  fast verhungert Mutter bei Geburt verstorben Schmock mit Flasche aufgezogen.
 Präsentation transkript:

Rechen- und Kommunikationszentrum (RZ) Sicherheitsorientierte Webentwicklung am Beispiel der Matse-Dienste Jan-Frederic Janssen

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

Sicherheitsorientierte Webentwicklung am Beispiel der Matse-Dienste Jan-Frederic Janssen| Rechen- und Kommunikationszentrum 3 Motivation

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 ?

Sicherheitsorientierte Webentwicklung am Beispiel der Matse-Dienste Jan-Frederic Janssen| Rechen- und Kommunikationszentrum 5 Angriffstechniken

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

Sicherheitsorientierte Webentwicklung am Beispiel der Matse-Dienste Jan-Frederic Janssen| Rechen- und Kommunikationszentrum 7 Cross-Site-Scripting

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

Sicherheitsorientierte Webentwicklung am Beispiel der Matse-Dienste Jan-Frederic Janssen| Rechen- und Kommunikationszentrum 9 Beispiel: Ablauf Reflektives XSS Ausgangspunkt: URL:

Sicherheitsorientierte Webentwicklung am Beispiel der Matse-Dienste Jan-Frederic Janssen| Rechen- und Kommunikationszentrum 10 Beispiel: Ablauf Reflektives XSS Manipulierte Webseite: URL: +Please+Login+to+ continue%3A+ + Username%3A+ + +Password%3A

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">+ +

Sicherheitsorientierte Webentwicklung am Beispiel der Matse-Dienste Jan-Frederic Janssen| Rechen- und Kommunikationszentrum 12 SQL Injection

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

Sicherheitsorientierte Webentwicklung am Beispiel der Matse-Dienste Jan-Frederic Janssen| Rechen- und Kommunikationszentrum 14 Beispiel: SQL Injection Datenbanktabelle „user“ : IDnamepassword 1Adminroot123 2ExampleUserpasswd123

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';

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';

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

Sicherheitsorientierte Webentwicklung am Beispiel der Matse-Dienste Jan-Frederic Janssen| Rechen- und Kommunikationszentrum 18 Cross-Site-Request-Forgery

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

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 Status: Angemeldet Status: Offline

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

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 Status: Angemeldet Schlüssel= 'AdEzHdf..' Kein Schlüssel !!!

Sicherheitsorientierte Webentwicklung am Beispiel der Matse-Dienste Jan-Frederic Janssen| Rechen- und Kommunikationszentrum 23 Session Hijacking

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

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

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

Sicherheitsorientierte Webentwicklung am Beispiel der Matse-Dienste Jan-Frederic Janssen| Rechen- und Kommunikationszentrum 27 Matse-Dienste

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

Sicherheitsorientierte Webentwicklung am Beispiel der Matse-Dienste Jan-Frederic Janssen| Rechen- und Kommunikationszentrum 29 Überblick

Sicherheitsorientierte Webentwicklung am Beispiel der Matse-Dienste Jan-Frederic Janssen| Rechen- und Kommunikationszentrum 30 Überblick

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

Sicherheitsorientierte Webentwicklung am Beispiel der Matse-Dienste Jan-Frederic Janssen| Rechen- und Kommunikationszentrum 32 Abwehr Cross-Site-Scripting

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

Sicherheitsorientierte Webentwicklung am Beispiel der Matse-Dienste Jan-Frederic Janssen| Rechen- und Kommunikationszentrum 34 Abwehr Session Hijacking

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

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

Sicherheitsorientierte Webentwicklung am Beispiel der Matse-Dienste Jan-Frederic Janssen| Rechen- und Kommunikationszentrum 37 Abwehr Cross-Site-Request-Forgery

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

Sicherheitsorientierte Webentwicklung am Beispiel der Matse-Dienste Jan-Frederic Janssen| Rechen- und Kommunikationszentrum 39 Fazit

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

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

Sicherheitsorientierte Webentwicklung am Beispiel der Matse-Dienste Jan-Frederic Janssen| Rechen- und Kommunikationszentrum 42 Fragen ?