V10 I, Teil 2: Web Application Security



Ähnliche Dokumente
Web Application Security

am Beispiel - SQL Injection

itsc Admin-Tag OWASP Top 10 Tobias Ellenberger COO & Co-Partner OneConsult GmbH 2013 OneConsult GmbH

Web-Sicherheit: Kein fauler Zauber?! Kai Jendrian. <Seminartitel> <Seminartitel>

am Beispiel - SQL Injection

Aktuelle Sicherheitsprobleme im Internet: Angriffe auf Web-Applikationen

Warum werden täglich tausende von Webseiten gehackt?

IHK: Web-Hacking-Demo

Sicherheit in Webanwendungen CrossSite, Session und SQL

Sicherheit von Webapplikationen Sichere Web-Anwendungen

HACK THAT WEBSITE! WEB SECURITY IM SELBSTVERSUCH

Wie steht es um die Sicherheit in Software?

Secure Coding & Live Hacking von Webapplikationen. Conect Informunity

Datensicherheit. Vorlesung 7: Sommersemester 2015 h_da. Heiko Weber, Lehrbeauftragter

Hacker-Methoden in der IT- Sicherheitsausbildung. Dr. Martin Mink

Secure Webcoding for Beginners

Aktuelle Sicherheitsprobleme im Internet: Angriffe auf Web-Applikationen

Datensicherheit. Vorlesung 5: Sommersemester 2015 h_da. Heiko Weber, Lehrbeauftragter

Netzwerksicherheit Übung 9 Websicherheit

Aktuelle Bedrohungen im Internet

Zusammenfassung Web-Security-Check ZIELSYSTEM

OpenWAF Web Application Firewall

Schwachstellenanalyse 2012

Secure Programming vs. Secure Development

Hacker-Tool Browser von der Webanwendung zu den Kronjuwelen

Online-Portale 2.0: Security ist auch ein Web-Design-Thema

HACK THAT WEBSITE! WEB SECURITY IM SELBSTVERSUCH

Was ist bei der Entwicklung sicherer Apps zu beachten?

Anleitung zum Prüfen von WebDAV

CeBIT CARMAO GmbH

Sicherheit in Rich Internet Applications

Money for Nothing... and Bits4free

Session Management und Cookies

RIPS. Automatisierte Schwachstellenerkennung in PHP-Software mittels statischer Quellcode-Analyse. BSI Deutscher IT-Sicherheitskongress

OWASP Top 10. im Kontext von Magento. Mittwoch, 21. November 12

Anleitung zum Prüfen von WebDAV

FileBox Solution. Compass Security AG. Cyber Defense AG Werkstrasse 20 Postfach 2038 CH-8645 Jona

Aktuelle Sicherheitsprobleme im Internet

Absicherung von Web-Anwendungen in der Praxis Highlights aus den OWASP TOP 10

Einführung in Web-Security

HACK YOUR OWN WEBSITE! WEB SECURITY IM SELBSTVERSUCH. Stefan

SQL-Injection. Seite 1 / 16

IT-Sicherheit Angriffsziele und -methoden Teil 2

Praktikum IT-Sicherheit

Was ist LDAP. Aufbau einer LDAP-Injection. Sicherheitsmaßnahmen. Agenda. LDAP-Injection. ITSB2006 WS 09/10 Netzwerkkonfiguration und Security

Herzlich willkommen zur Kurzvorlesung: Die häufigsten Fehlerquellen bei der Erstellung von Webapplikationen. Udo H. Kalinna. Nürnberg, den

Baustein Webanwendungen. Stephan Klein, Jan Seebens

Workflow, Business Process Management, 4.Teil

php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick Parameterübergabe...

Schwachstellenanalyse 2013

Webapplikationen wirklich sicher?! 10. Mai 2006 IT-TRENDS Sicherheit Zentrum für IT-Sicherheit, Bochum

Sicherheit von Open Source Software

SWAT PRODUKTBROSCHÜRE

Man liest sich: POP3/IMAP

OWASP. Open Web Application Security Project. Dr. Ingo Hanke. IDEAS Information & Design Applications. Dr. Ingo Hanke

When your browser turns against you Stealing local files

Lokale Installation von DotNetNuke 4 ohne IIS

Abbildung der Gefährdungen der WASC und OWASP auf die Gefährdungen und Maßnahmenempfehlungen des IT-Grundschutz-Bausteins B 5.

Inhaltsverzeichnis. Open-Xchange Authentication & Sessionhandling

Security. Stefan Dahler. 6. Zone Defense. 6.1 Einleitung

Uni-Firewall. Absicherung des Überganges vom Hochschulnetz zum Internet am Wingate (Helmut Celina)

POP3-Protokoll Eine kurze Erklärung. Johannes Mayer SAI, Universität Ulm Juni 2001

Sichere Entwicklung und gängige Schwachstellen in eigenentwickelten SAP-Web- Anwendungen

Sichere Webapplikationen nach ONR oder Wer liest meine s?

Eine Million Kundendaten gestohlen - Aktuelle Fälle von Datendiebstahl und wie sie grundsätzlich funktionieren

NTR-Support Die neue Fernwartung

Datenbank-basierte Webserver

Betroffene Produkte: Alle Versionen von Oracle Forms (3.0-10g, C/S und Web), Oracle Clinical, Oracle Developer Suite

Snippets - das Erstellen von "Code- Fragmenten" - 1

XSS for fun and profit

Agenda. Agenda. Web Application Security Kick Start. Web Application Security Kick Start. OWASP Top Ten meets JSF. OWASP Top Ten meets JSF

Top 10 Datenschutz-Risiken in Web-Applikationen

Schwachstellen in Web- Applikationen: Was steckt dahinter und wie nutzt man sie aus?

sslstrip und HSTS Sven Schleier OWASP Stammtisch München, 18. Februar 2014 sslstrip und HSTS sslstrip und HSTS Sven Schleier Der Angriff

Facebook I-Frame Tabs mit Papoo Plugin erstellen und verwalten

Praktische Erfahrungen aus hunderten von Sicherheitsabnahmen German OWASP Day Dr. Amir Alsbih CISO Haufe Gruppe

Konfigurationsanleitung Access Control Lists (ACL) Funkwerk. Copyright Stefan Dahler Oktober 2008 Version 1.0.

Version/Datum: Dezember-2006

Wie funktioniert das WWW? Sicher im WWW

Verteilte Systeme Unsicherheit in Verteilten Systemen

Microsoft Internet Explorer

Migration Howto. Inhaltsverzeichnis

Proseminar: Website-Management-Systeme

Sparkasse Vogtland. Secure Datensicherheit im Internet. Kundenleitfaden. Sparkasse Vogtland. Kundeninformation Secure 1

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein: - Ein Bootimage ab Version Optional einen DHCP Server.

Hackerangriffe und Cyber Security im Jahr 2015

OWASP Top 10. Agenda. Application Security. Agenda. Application Security. OWASP Top Ten meets JSF. Application Security Komponente

Grundlegende Informationen zur Einrichtung des SSLVPN beim DSR-1000N/DSR-500N(FW 1.03B27).

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

How-to: Webserver NAT. Securepoint Security System Version 2007nx

Transkript:

IT-Risk-Management V10 I, Teil : Web Application Security Tim Wambach, Universität Koblenz-Landau Koblenz, 9.7.015 Agenda Einleitung HTTP OWASP Security Testing Beispiele für WebApp-Verwundbarkeiten Command Injection SQL Injection Cross Site Scripting (XSS) Cross Site Request Forgery (CSRF) Sonstige Verwundbarkeiten Wichtige Links Beispielfragen / 7 1

HTTP - Hypertext Transfer Protocol HTTP einer der meistgenutzten Protokolle auf Applikationsebene Ständige Weiterentwicklung von IETF Historie 1996 HTTP/1.0 1999 HTTP/1.1 015 HTTP/ Wichtige Neuerungen in HTTP/ Performancegewinn durch weitere Kompressionen Zusammenfassen von Datengruppen über eine Anfrage (z.b. Skripte, Bilder, etc.) 3 / 7 OWASP OWASP is an open community dedicated to enabling organizations to conceive, develop, acquire, operate, and maintain applications that can be trusted. All of the OWASP tools, documents, forums, and chapters are free and open to anyone interested in improving application security. https://www.owasp.org/index.php/about_owasp 4 / 7

OWASP Top 10 (013) (1) Injection () Broken Authentication & Session Management (3) Cross-Site Scripting (4) Insecure Direct Object References (5) Security Misconfiguration (6) Sensitive Data Exposure (7) Missing Function Level Access Control (8) Cross-Site Request Forgery (9) Using Components with Known Vulnerabilites (10)Unvalidated Redirects and Forwards https://www.owasp.org/index.php/top_10_013-top_10 5 / 7 OWASP Secure Coding Principles Minimize attack surface area Principle of Defense in depth Principle of Least privilege Avoid security by obscurity [ ] Grose, Francis: The Antiquities of England and Wales (1783) https://www.owasp.org/index.php/secure_coding_principles 6 / 7 3

Security Testing Black Box Testing Manuelles Penetration Testing Automatisiertes Penetration Testing Automatisierter Code Review Manueller Code Review Grey Box Testing White Box Testing 7 / 7 Security Testing Scanner und Tools: http://sectools.org/web-scanners.html http://www.owasp.org/index.php/phoenix/tools 8 / 7 4

Security Testing Verwundbare Applikationen DVWA = Damn Vulnerable Web Application, http://www.dvwa.co.uk OWASP WebGoat Project https://www.owasp.org/index.php/category:owasp_ WebGoat_Project Gruyere Google Code University http://google-gruyere.appspot.com 9 / 7 Beispiele für WebApp-Verwundbarkeiten Command Injection SQL Injection Cross Site Scripting (XSS) Cross Site Request Forgery (CSRF) (verkürzt) Die folgenden Beispiele aus DVWA http://www.dvwa.co.uk/ 10 / 7 5

Injection Zur Erinnerung: Ablauf der Verarbeitung von Eingaben auf Webseiten; hier: uni-koblenz-landau.de Client Eingabe 1 SearchableText=test Server 3 Verarbeitung Ausgabe 11 / 7 Command Injection Eingabe 1 ip=google.de Verarbeitung 3 Ausgabe 1 / 7 6

Command Injection 0 echo %time% <?php if( isset( $_POST[ 'submit' ] ) ) { $target = $_REQUEST[ 'ip' ]; $cmd = shell_exec( 'ping '. $target ); }?> echo '<pre>'.$cmd.'</pre>'; Verarbeitung ping 0 echo %time% 13 / 7 SQL Injection id=1 1 3 14 / 7 7

SQL Injection %' or '0'='0 <?php if(isset($_get['submit'])){ $id = $_GET['id']; $getid = "SELECT first_name, last_name FROM users WHERE user_id = '$id'"; user_id = '%' or '0'='0' $result = mysql_query($getid) or die('<pre>'. mysql_error(). '</pre>' ); [ ] Verarbeitung 15 / 7 Quelle: https://www.xkcd.com/37/ 16 / 7 8

Schutzmaßnahmen vor Injection Kein Vertrauen in Benutzereingaben stets Filterung ( escapen ) durchführen Beispiel in PHP: escapeshellarg() zum escapen von Shell Befehlen http://php.net/manual/en/function.escapeshellarg.php mysqli_real_escape_string() zum escapen von SQL Befehlen http://php.net/manual/en/mysqli.real-escape-string.php Verwendung von Prepared Statements http://php.net/manual/de/pdo.prepared-statements.php Auch dann keine absolute Sicherheit http://www.heise.de/newsticker/meldung/kritische-luecken-in-php-geschlossen-689960.html 17 / 7 Cross Site Scripting (XSS) 1 txtname=test mtxmessage=test 3 18 / 7 9

Cross Site Scripting (XSS) Eigener Inhalt, z.b.: Skript, <script>alert('test');</script> Weiterleitung, <IFRAME>, 19 / 7 Cross Site Scripting (XSS) Skript als Variable für verschiedene 1 Technologien Angreifer platziert bösartiges Skript Web-Applikation mit XSS-Schwachstelle Server 4 Datenweitergabe durch Skript (indirekt, variiert) Opfer 0 / 7 10

Quelle: http://www.heise.de/newsticker/meldung/l-f-xss-ist-fuer-den-bundestag-neuland-707813.html 1 / 7 Schutzmaßnahmen vor XSS Keine unreflektierte Wiedergabe von Benutzereingaben Eingaben bzgl. HTML Befehlszeichen prüfen Insb. < und > Inhaltsbezogene Eingabevalidierung Beispiel PHP: htmlspecialchars() wandelt spezielle Sonderzeichen um http://php.net/manual/de/function.htmlspecialchars.php htmlentities() wandelt alle geeigneten Zeichen um http://php.net/manual/de/function.htmlentities.php / 7 11

Cross Site Request Forgery (CSRF) 1 Skript als Variable für verschiedene Technologien Server des Angreifers Kann auch ein legitimer Server mit XSS-Verwundbarkeit sein Angreifer platziert bösartiges Skript Applikation mit CSRF Verwundbarkeit 3 Server Opfer Durch Skript generierter Aufruf unter Verwendung einer bestehenden (alten) Sitzung Generiert via z.b. JavaScript, IFRAME, HTML, etc. 3 / 7 Schutzmaßnahmen vor CSRF Sitzungstoken (Page Token) muss geteilt werden Teil1: Speicherung als Cookie Teil: Weitergabe durch GET/POST bei kritischen Transaktionen nur POST Timeout der Sitzung Abhängig vom Einsatzzweck zwischen 10 Minuten und Stunden im Regelfall Erneute Eingabe des Passwortes verlangen z.b. bei kritischen Transaktionen 4 / 7 1

Sonstige Verwundbarkeiten Neben Secure Coding ist auch das Patchmanagement wichtig Beispiele aus 014: Heartbleed (April 014) Schwerwiegende Verwundbarkeit in OpenSSL Shellshock (Sept. 014) Ausführung von Programmcode über den Webserver (CGI) Poodle (Okt. 014) Designfehler in SSL 3.0 Microsoft Schannel Schwachstelle (Nov. 014) Remote Code Execution über Netzwerk 5 / 7 Wichtige Links Infos https://www.owasp.org http://www.dvwa.co.uk http://sectools.org http://portswigger.net/burp https://cve.mitre.org Software http://camstudio.org http://www.metasploit.com 6 / 7 13

Beispielfragen 1. Nennen und erläutern Sie drei Bedrohungen aus den OWASP Top 10 013.. Was unterscheidet Blackbox von Whitebox Testing? 3. Was unterscheidet Command-Injection von SQL-Injection? 4. Welche Grundwerte* werden in welcher Weise bei einem SQL-Injection Angriff verletzt? 5. Auf welche Art müssen Eingaben behandelt werden um SQL-Injection zu verhindern? 6. Erläutern Sie, in welcher Weise Akteure bei einem XSS-Angriff betroffen sind. 7. Welche Grundwerte* werden in welcher Weise bei einem XSS-Angriff verletzt? 8. Auf welche Art müssen Eingaben behandelt werden um XSS-Angriffe zu verhindern? 9. Nennen Sie Schutzmaßnahmen bzgl. CSRF-Angriffen. *Grundwerte = {Vertraulichkeit, Verfügbarkeit, Integrität, Authentizität} 7 / 7 14