BSI IT-Grundschutztag, 13.06.2013, Regensburg 2013 by sic[!]sec GmbH in Groebenzell, Germany. - For personal use only. - http://www.sicsec.



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

Hacker-Tool Browser von der Webanwendung zu den Kronjuwelen

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

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

OWASP German Chapter. Chapter Meeting

am Beispiel - SQL Injection

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

am Beispiel - SQL Injection

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

Bedienungsanleitung für den SecureCourier

Benutzerhandbuch. Leitfaden zur Benutzung der Anwendung für sicheren Dateitransfer.

Aktuelle Sicherheitsprobleme im Internet: Angriffe auf Web-Applikationen

Sage 200 BI Häufige Fehler & Lösungen. Version

Warum werden täglich tausende von Webseiten gehackt?

Sicherheit in Webanwendungen CrossSite, Session und SQL

Web 2.0 (In) Security PHPUG Würzburg Björn Schotte

Leitfaden zur Nutzung von binder CryptShare

Secure Coding & Live Hacking von Webapplikationen. Conect Informunity

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

Anleitung Redmine. Inhalt. Seite 1 von 11. Anleitung Redmine

OWASP Stammtisch München Sep 2014 XSS und andere Sicherheitslücken aus der Perspektive des Programmcodes

Kurzanleitung RACE APP

Kurzanleitung GigaMove

Wie richten Sie Ihr Web Paket bei Netpage24 ein

BSV Software Support Mobile Portal (SMP) Stand

Schwachstellenanalyse 2012

Web Application Security

Dieses Dokument soll dem Administrator helfen, die ENiQ-Software als Client auf dem Zielrechner zu installieren und zu konfigurieren.

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

Fotostammtisch-Schaumburg

Step by Step Webserver unter Windows Server von Christian Bartl

ecaros2 - Accountmanager

Handbuch SyCOM Administration

Umstieg auf Microsoft Exchange in der Fakultät 02

Einbindung des Web Map Service für Gemeinden Anleitung

Kleines Handbuch zur Fotogalerie der Pixel AG

Treckerverein Monschauer Land e.v.

S TAND N OVEMBE R 2012 HANDBUCH DUDLE.ELK-WUE.DE T E R M I N A B S P R A C H E N I N D E R L A N D E S K I R C H E

Installation & Konfiguration AddOn AD-Password Changer

Anleitung Redmine. Inhalt. Seite 1 von 11. Anleitung Redmine

BAYERISCHES STAATSMINISTERIUM DES INNERN

Download unter:

Anlegen eines SendAs/RecieveAs Benutzer unter Exchange 2003, 2007 und 2010

Adminer: Installationsanleitung

Adressen und Kontaktinformationen

crm-now/ps Webforms Webdesigner Handbuch Erste Ausgabe

Aufklappelemente anlegen

BusinessMail X.400 Webinterface Gruppenadministrator V2.6

Adressen der BA Leipzig

2. Die eigenen Benutzerdaten aus orgamax müssen bekannt sein

Webshop Tutorial. E-Commerce ECM ERP SFA EDI. Backup. Integration des Comarch Webshops mit Facebook.

Wiederherstellen der Beispieldatenbanken zum Buch Microsoft Project 2010

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

Anleitung: Ändern von Seiteninhalten und anlegen eines News Beitrags auf der Homepage des DAV Zorneding

Installation des Add-Ins für Lineare Algebra in Microsoft Excel

Unified Communication Client Installation Guide

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

Installation des Authorware Webplayers für den Internet Explorer unter Windows Vista

Kern Concept AG Software Entwicklung HMO und BlueEvidence

Zur Bestätigung wird je nach Anmeldung (Benutzer oder Administrator) eine Meldung angezeigt:

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein:

estos UCServer Multiline TAPI Driver

SharePoint Demonstration

SQL Server 2008 Standard und Workgroup Edition

Aktuelle Bedrohungen im Internet

Quick User Guide. Einrichtung Outlook Exchange. Version vom: Heiko Kreth. Einrichtung Outlook Exchange

Fall 1: Neuinstallation von MyInTouch (ohne Datenübernahme aus der alten Version)

Sicherheit im Internet

OP-LOG

Anleitung für IQES-Verantwortliche Persönliche Konten verwalten

Konfiguration VLAN's. Konfiguration VLAN's IACBOX.COM. Version Deutsch

Streamingserver - Aufzeichnung einer Lehrveranstaltung Ablauf

Leitfaden zur Nutzung des System CryptShare

Anleitung BFV-Widget-Generator

Dokumentenkontrolle Matthias Wohlgemuth Telefon Erstellt am

Lizenzen auschecken. Was ist zu tun?

Konfiguration von Igel ThinClients fu r den Zugriff via Netscaler Gateway auf eine Storefront/ XenDesktop 7 Umgebung

Nutzerverwaltung für Moodle über LDAP

Schwachstellenanalyse 2013

Erste Schritte mit Deinem Protonet Server

1. August-Brunch Erfassen und Veröffentlichen von Betriebs- und Projektdaten login.landwirtschaft.ch login.agriculture.ch login.agricoltura.

Website freiburg-bahai.de

Live Update (Auto Update)

R E L E A S E N O T E S

Zugriff auf elektronische Angebote und Datenbanken der Hochschulbibliothek von externen Lokationen

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

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version September

Matrix42. Matrix42 Cloud Trial Erste Schritte. Version

OutLook 2003 Konfiguration

Collaboration Manager

TeamSpeak3 Einrichten

Administrator-Anleitung

Anleitung für den Zugriff auf Mitgliederdateien der AG-KiM

Infinigate (Schweiz) AG. Secure Guest Access. - Handout -

Änderung des Portals zur MesseCard-Abrechnung

Anmeldung als Affiliate bei Affilinet

Leitfaden für die Mitgliederregistrierung auf der neuen Webseite des SFC-Erkelenz

Transkript:

1

BSI Grundschutzbaustein Webanwendungen Absicherung von Webanwendungen in der Praxis - Highlights aus den OWASP Top 10 Ralf Reinhardt 13.06.2013, 13:30 Uhr BSI IT-Grundschutztag Tagungs- und Besucherzentrum bayernhafen Linzer Str. 8, 93055 Regensburg 2

Praxis-Highlights der OWASP Top 10 BSI Grundschutzbaustein Web-Anwendungen Über OWASP OWASP Top 10 Über sic[!]sec und Ralf Reinhardt Wie "ticken" Web-Anwendungen? Highlight A2: Cross-Site Scripting (XSS) Highlight A1: Injection Highlight A4: Unsichere direkte Objektreferenzen Highlight A5: Cross-Site Request Forgery (CSRF) 3

BSI Grundschutzbaustein Web-Anwendungen Um Webanwendung angemessen abzusichern, wurde ein neuer Baustein für die IT-Grundschutz-Kataloge entwickelt, der vorab vom BSI zur Kommentierung veröffentlicht wurde. Daran teilgenommen hat unter anderem das Open Web Application Security Project (OWASP). Diese unabhängige und offene Expertengruppe hat sich zum Ziel gesetzt, Sicherheit in (Web-)Anwendungen sichtbar zu machen und praxisnahe Lösungen bereitzustellen. «Die konsolidierte Version des Bausteines 'Webanwendungen' wird mit der nächsten Ergänzungslieferung der IT-Grundschutz-Kataloge erscheinen», informierte Isabel Münch, Referatsleiterin IT-Grundschutz beim BSI. Vorab steht der Baustein auf den Webseiten des BSI als Download zur Verfügung. Aus einer Pressemitteilung des BSI vom 17.10.2012 anlässlich der Vorstellung des Bausteins auf dem 4. IT-Grundschutztag 2012 (it-sa) 4

Praxis-Highlights der OWASP Top 10 BSI Grundschutzbaustein Web-Anwendungen Über OWASP OWASP Top 10 Über sic[!]sec und Ralf Reinhardt Wie "ticken" Web-Anwendungen? Highlight A2: Cross-Site Scripting (XSS) Highlight A1: Injection Highlight A4: Unsichere direkte Objektreferenzen Highlight A5: Cross-Site Request Forgery (CSRF) 5

Über OWASP (I / II) Open Web Application Security Project,,not-for-profit worldwide charitable organisation focused on improving the security of application software" ca. 160 Chapter in 80 Ländern,,free and open to the public" Struktur: Board, Chapter, Stammtisch, Mitglied http://www.owasp.de/ https://www.owasp.org/ https://lists.owasp.org/mailman/listinfo/owasp-germany 6

Über OWASP (II / II) OWASP Projekte PROTECT (guard) DETECT (find) LIFE CYCLE (add security related activities) OWASP Konferenzen OWASP Summit (global) OWASP AppSec (kontinental) OWASP Day(s) (national) OWASP Chapter Meeting / Stammtisch (regional) OWASP Mitgliedschaft (EUR 40,- p.a.) 7

Über OWASP, ausgewählte Projekte OWASP Top 10 OWASP Testing Guide OWASP Code Review Guide OWASP (Development) Guide OWASP ASVS (Application S. Verification Standard) OWASP OpenSAMM (Open S. Assurance MM) OWASP ESAPI (Enterprise Security API) OWASP Zed Attack Proxy OWASP Web Goat OWASP ModSecurity Core Rule Set OWASP Top 10 für Entwickler 8

Praxis-Highlights der OWASP Top 10 BSI Grundschutzbaustein Web-Anwendungen Über OWASP OWASP Top 10 Über sic[!]sec und Ralf Reinhardt Wie "ticken" Web-Anwendungen? Highlight A2: Cross-Site Scripting (XSS) Highlight A1: Injection Highlight A4: Unsichere direkte Objektreferenzen Highlight A5: Cross-Site Request Forgery (CSRF) 9

OWASP Top 10 10

OWASP Top 10, Aufbau 11

OWASP Top 10, Highlights A1: Injection SQL-Injection, aber auch HQL, LDAP, Xpath, OS-Kommandos, usw. A2: Cross-Site Scripting (XSS) JavaScript-Injection A4: Unsichere direkte Objektreferenzen A5: Cross-Site Request Forgery (CSRF) 12

Praxis-Highlights der OWASP Top 10 BSI Grundschutzbaustein Web-Anwendungen Über OWASP OWASP Top 10 Über sic[!]sec und Ralf Reinhardt Wie "ticken" Web-Anwendungen? Highlight A2: Cross-Site Scripting (XSS) Highlight A1: Injection Highlight A4: Unsichere direkte Objektreferenzen Highlight A5: Cross-Site Request Forgery (CSRF) 13

Über sic[!]sec sic[!]sec GmbH in Gröbenzell bei München, www.sicsec.de, info@sicsec.de gegründet 2010 von Achim Hoffmann und Ralf Reinhardt als unabhängiges Beratungshaus Schwerpunkt Web Application Security Penetrationstests Source Code Analysen und Code Reviews Web Application Firewalls Guidelines und Policys Workshops und Seminare 14

Über Ralf Reinhardt Principal Consultant und Geschäftsführer der sic[!]sec GmbH Lehrbeauftragter für Web Application Security an der Technischen Hochschule Nürnberg OWASP Mitglied, Project Leader und Contributor Mitglied des ISSECO (International Secure Software Engineering Council) 27 Jahre IT-Erfahrung, darunter Client-, Server- und Datenbankprogrammierung, Administration (AIX, Linux, Oracle), IT-Projektleitung, Rollout, Betrieb, ITIL, usw. 15

Praxis-Highlights der OWASP Top 10 BSI Grundschutzbaustein Web-Anwendungen Über OWASP OWASP Top 10 Über sic[!]sec und Ralf Reinhardt Wie "ticken" Web-Anwendungen? Highlight A2: Cross-Site Scripting (XSS) Highlight A1: Injection Highlight A4: Unsichere direkte Objektreferenzen Highlight A5: Cross-Site Request Forgery (CSRF) 16

Wie "ticken" Web-Anwendungen? Client Boundary Input Output Request Response Boundary Output Input Server Output Input Input Output Repository 17

Praxis-Highlights der OWASP Top 10 BSI Grundschutzbaustein Web-Anwendungen Über OWASP OWASP Top 10 Über sic[!]sec und Ralf Reinhardt Wie "ticken" Web-Anwendungen? Highlight A2: Cross-Site Scripting (XSS) Highlight A1: Injection Highlight A4: Unsichere direkte Objektreferenzen Highlight A5: Cross-Site Request Forgery (CSRF) 18

Cross-Site Scripting, Eingabe 19

Cross-Site Scripting, Quellcode 20

Cross-Site Scripting Angriff (I / II) 21

Cross-Site Scripting Angriff (II / II) 22

Kein Cross-Site Scripting! 23

Korrektes Escaping :-) 24

A2: Cross-Site Scripting, Maßnahmen [...] nicht vertrauenswürdige Metazeichen [sollten] entsprechend escaped werden. [ ] OWASP XSS Prevention Cheat Sheet enthält weitere Informationen [...] Eingabeüberprüfungen durch Positivlisten [ ] wird empfohlen. [ ] Gültigkeitsprüfung [...] bevor die Eingabe akzeptiert wird. 25

Praxis-Highlights der OWASP Top 10 BSI Grundschutzbaustein Web-Anwendungen Über OWASP OWASP Top 10 Über sic[!]sec und Ralf Reinhardt Wie "ticken" Web-Anwendungen? Highlight A2: Cross-Site Scripting (XSS) Highlight A1: Injection Highlight A4: Unsichere direkte Objektreferenzen Highlight A5: Cross-Site Request Forgery (CSRF) 26

Datenbankabfrage durch Client 27

SQL-Statement im Server regulären Anfrage Ergebnis der Ausgabe am Client: Abu Mouser, abu@mouser.tld, Einkauf 28

SQL-Injection über Client 29

Resultat der SQL-Injection im Backend Ergebnis der Ausgabe am Client: Name, E-Mail, Abteilung für alle Benutzer! 30

Tabellenstruktur der Datenbank Annahme: In der Datenbank existiert eine Tabelle namens USER mit den Spalten NICENAME EMAIL INSTITUTION LOGIN PASSWORD 31

SQL-Injection mit union 32

Resultat der union -SQLInjection im Backend Ergebnis der Ausgabe am Client: Name, Login, Passwort für alle Benutzer! 33

A1: (SQL-) Injection Maßnahmen [...] Nutzung einer sicheren API, die den Aufruf von Interpretern vermeidet oder eine typ-gebundene Schnittstelle bereitstellt. [...] Metazeichen unter Berücksichtigung der jeweiligen Syntax sorgfältig entschärfen. 34

Praxis-Highlights der OWASP Top 10 BSI Grundschutzbaustein Web-Anwendungen Über OWASP OWASP Top 10 Über sic[!]sec und Ralf Reinhardt Wie "ticken" Web-Anwendungen? Highlight A2: Cross-Site Scripting (XSS) Highlight A1: Injection Highlight A4: Unsichere direkte Objektreferenzen Highlight A5: Cross-Site Request Forgery (CSRF) 35

Unsichere direkte Objektreferenzen (I / III) 1) Ziel des Benutzers einer Webanwendung: Prüfen der eigenen Kontoumsätze bei seiner Hausbank. 2) Bankanwendung bietet dafür einen Link Kontoumsätze an. Dieser ruft folgende URL auf: https://badbank.tld/umsatz?konto=4711 36

Unsichere direkte Objektreferenzen (II / III) 3) Benutzer klickt Link https://badbank.tld/umsatz?konto=4711 4) Benutzer sieht die Umsätze seines Kontos 4711 und ist glücklich. 5) Benutzer wird neugierig... 37

Unsichere direkte Objektreferenzen (III / III) 6) Benutzer testet direkte URL-Eingabe https://badbank.tld/umsatz?konto=4712 7) Benutzer sieht die Umsätze des Kontos 4712; dieses Konto gehört ihm nicht. 8) Ist Benutzer Hacker, ist er jetzt noch glücklicher. 38

A4: Unsichere direkte Objektreferenzen, Maßnahmen Indirekte Objektreferenzen verwenden! [...] Referenzen [...] statt [...] Datenbankschlüssel. [ ] Die OWASP ESAPI enthält Referenzzuordnungen für sequentiellen wie wahlfreien Zugriff [ ]. Zugriffe prüfen! Jeder Abruf direkter Objektreferenzen aus nicht vertrauenswürdigen Quellen muss eine Prüfung der Zugriffsberechtigung beinhalten [ ]. 39

Praxis-Highlights der OWASP Top 10 BSI Grundschutzbaustein Web-Anwendungen Über OWASP OWASP Top 10 Über sic[!]sec und Ralf Reinhardt Wie "ticken" Web-Anwendungen? Highlight A2: Cross-Site Scripting (XSS) Highlight A1: Injection Highlight A4: Unsichere direkte Objektreferenzen Highlight A5: Cross-Site Request Forgery (CSRF) 40

Szenario Cross-Site Request Forgery 1) Ein Administrator berechtigt Benutzer A, Daten zu verändern.folgender Request wird ausgelöst: http://app.tld/do?user=a&edit=true 2) Benutzer B will ebenfalls Daten verändern und verlangt, dass A das Recht dazu entzogen wird. 3) Admin sagt: Nein! 4) Anwendung ist anfällig für CSRF. 41

Ein CSRF-Angriff (I / III) 5) Benutzer B hinterlegt CSRF-Inhalt unter http://autos.tld/cool.html 6) Benutzer B sagt Admin, dass dort coole Autos zu finden sind. Admin ist neugierig und öffnet diese Seite in einem andern Tab, während er im Browser noch eine gültige Session für die Anwendung http://app.tld offen hat. 42

Ein CSRF-Angriff (II / III) Inhalt von http://autos.tld/cool.html: [ ] <img src="/bilder/green-car.png"> <img src="http://app.tld/do?user=a&edit=false"> <img src="http://app.tld/do?user=b&edit=true"> <img src="/bilder/red-car.png"> [ ] 43

Ein CSRF-Angriff (III / III) 7) Admin sieht http://autos.tld/cool.html: Grünes Auto, 2 x broken image, Rotes Auto 8) Admin hat unbemerkt innerhalb seiner eigenen gültiges Session folgende Requests abgesetzt, untergeschoben von einer fremden Seite: http://app.tld/do?user=a&edit=false http://app.tld/do?user=b&edit=true 44

Ergebniss eines CSRF-Angriffs 9) Benutzer B ist nun berechtigt, Daten zu ändern, während Benutzer A dieses Recht entzogen wurde. Der CSRF-Angriff war somit erfolgreich. 45

A5: Cross-Site Request Forgery (CSRF), Maßnahmen Um CSRF zu verhindern, muss ein unvorhersagbarer Token im Body oder in der URL eines jeden HTTPRequests eingebettet sein (und geprüft werden). Ein solcher Token sollte für mindestens jede Nutzer-Session, besser noch für jeden Request, einzigartig sein. OWASPs CSRF Guard kann genutzt werden, um [ ] Token in [...] Anwendungen einzubinden. OWASPs ESAPI beinhaltet Token-Generatoren und Validatoren[...]. 46

Fragen, Anregungen? ralf.reinhardt@sicsec.de ralf.reinhardt@owasp.org sic[!]sec GmbH Industriestr. 29-31 D-82194 Gröbenzell www.sicsec.de 47

IT Security Process Optimization Data Protection sic[!]sec GmbH Industriestr. 29-31 82194 Groebenzell Germany Phone: +49 8142 44250 030 Fax: +49 8142 44250 039 http://www.sicsec.de mailto:info@sicsec.de "Praxis-Highlights" aus den OWASP Top 10 48