OWASP und APEX. Eine Einführung. Wir kümmern uns! Sebastian Wittig Systementwickler merlin.zwo InfoDesign GmbH & Co. KG Karlsruhe

Ähnliche Dokumente
OWASP und APEX. Sebastian Wittig merlin.zwo InfoDesign GmbH & Co. KG Karlsruhe

OWASP und APEX. As the world is increasingly interconnected, everyone shares the responsibility of securing cyberspace. Wir kümmern uns!

Wie sichert man APEX-Anwendungen gegen schädliche Manipulationen und unerwünschte Zugriffe ab?

Web Application Security

Thema PHP-Sicherheits-Training-System. vorgelegt von Timo Pagel

am Beispiel - SQL Injection

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

IHK: Web-Hacking-Demo

V10 I, Teil 2: Web Application Security

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

am Beispiel - SQL Injection

Thema PHP-Sicherheits-Training-System. Timo Pagel

<Insert Picture Here> APEX? Aber sicher! Tipps und Tricks für eine sichere APEX-Umgebung. Carsten Czarski, ORACLE Deutschland B.V. Co.

Sichere Software. Vermeidung von Angriffspunkten bei der Software-Entwicklung. Andreas Vombach

Wie steht es um die Sicherheit in Software?

DSGVO: Konkrete Hilfe bei der Umsetzung. Was bei der Verarbeitung von personenbezogenen Daten in Web-Anwendungen zu beachten ist

Baustein Webanwendungen. Stephan Klein, Jan Seebens

PHP-5-Zertifizierung. Block 12 Security.

WALL&KOLLEGEN RECHTSANWÄLTE AVVOCATI BARRISTER-AT-LAW MÜNCHEN INNSBRUCK BOZEN

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

Zusammenfassung Web-Security-Check ZIELSYSTEM

Portal zur Verwaltung von Wohngemeinschaftsfinanzen mit dem Web-Framework Django

Secure Webcoding for Beginners

Sichere Webanwendungen brauchen sichere Infrastrukturen! Reicht das in der Realität aus?

Warum werden täglich tausende von Webseiten gehackt?

Schönes neues Internet

OWASP Top 10 Schulung. April 18

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

IT-Sicherheit Angriffsziele und -methoden Teil 2

WEBINAR: HTTPS, ZERTIFIKATE, GRÜNE URLS. Trügerische Sicherheit im Internet

Hacker-Tool Browser von der Webanwendung zu den Kronjuwelen

Websecurity. Hochschule Darmstadt, Fachbereich Informatik, Sommersemester Christopher Dörge, Thomas Sauer, David Müller

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

Christopher Kunz Peter Prochaska. PHP-Sicherheit. PHP/MySQL-Webanwendungen sicher programmieren. dpunkt.verlag

Secure Programming vs. Secure Development

IT-Sicherheit. Sicherheit von Webanwendungen 7. Januar 2011

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

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

Oracle APEX 3.2. Peter Raganitsch. Einführung und neue Features

Schwachstellenanalyse 2012

HACK THAT WEBSITE! WEB SECURITY IM SELBSTVERSUCH

Token statt Cookies dank JWT

Aktuelle Sicherheitsprobleme im Internet: Angriffe auf Web-Applikationen

Webapplikationssicherheit (inkl. Livehack) TUGA 15

[14-04] Huseby, Sverry: Sicherheitsrisiko Web-Anwendung. dpunkt, 2004

DOAG 2016 Oracle APEX Security

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

BSI IT-Grundschutztag, , Regensburg 2013 by sic[!]sec GmbH in Groebenzell, Germany. - For personal use only. -

Session Management und Cookies

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

Web Application Security: SQL-injection, Cross Site Scripting -- w3af

Eclipse BIRT als Report Tool

Sicherheit von Webapplikationen Sichere Web-Anwendungen

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

Top 10 Datenschutz-Risiken in Web-Applikationen

Sichere Programmierung. Klaus Kusche

Sicherheit Web basierter Anwendungen

Von der Steinzeit ins neue Jahrhundert. Migration von APEX 4.2 auf 18.1 in die Cloud & Open ID Anbindung (Erfahrungsbericht)

IT-Sicherheit auf dem Prüfstand Penetrationstest

Hochschule Darmstadt Fachbereich Informatik

Sichere Webanwendungen mit Java - wie fange ich an?

HACK YOUR OWN WEBSITE! WEB SECURITY IM SELBSTVERSUCH

VAADIN, SPRING BOOT & REST

Über mich über die Veranstaltung Web Applikation OWASP OWASP Top 10 Zusammenfassung Tipps Ende. OWASP Top 10. Andre Fritsche. Hochschule Oenburg

Just-In-Time Security: Sicherheit im Entwicklungsprozess

Oracle JET Charts in APEX: Verwendung der JavaScript API zur (nachträglichen) Anpassung von Diagrammen

OpenWAF Web Application Firewall

Informationssicherheit und Datenschutz

Advanced Web Hacking. Matthias Luft Security Research

Hochschule Darmstadt Fachbereich Informatik. Entwicklung webbasierter Anwendungen

Aktuelle Bedrohungen im Internet

Cyber Security. OWASP Juice Shop - how to hack an intentionally insecure webshop

Janotta und Partner. Projekt DEFENSE

APEX Datenverwaltung Wo sind die Daten gerade?

Sicherheitsanalyse der Private Cloud Interfaces von

APEX Datenverwaltung Wo sind die Daten gerade? Dr. Gudrun Pabst

Aktuelle Sicherheitsprobleme im Internet: Angriffe auf Web-Applikationen

Anleitung zur Fleet & Servicemanagement Evatic Schnittstelle

Schwachstellenanalyse 2013

Oracle Application Express: Web-Entwicklung schnell und einfach

Oracle9i Designer. Rainer Willems. Page 1. Leitender Systemberater Server Technology Competence Center Frankfurt Oracle Deutschland GmbH

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

Informatik 2017 Keys4All-Workshop , Chemnitz

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

Benchmark: Sicherheitslücken & Compliance-

TYPO3 Security. Jochen Weiland TYPO3camp Berlin 2016

Fehlende Input-Filterung. Klaus Kusche

DOAG München Layout und dynamische Elemente für APEX Anwendungen

Web Application Security und der Einsatz von Web Application Firewalls

Datenschutztag. Eine Präsentation von Mateusz Gwara, Philipp Leder, Paul Panser und Patrick Wilke

Christopher Kunz. Stefan Esser. PHP-Sicherheit. PHP/MySQL-Webanwendungen sicher programmieren. 3., Oberarbeitete Auflage. dpunkt.

Grundlagen Internet-Technologien INF3171

Sicherheit bei IoT. DOAG 2015 Andreas Chatziantoniou - Foxglove-IT BV

Sicherheit in Webanwendungen

web2py - Web-Framework mit didaktischem Hintergrund Nik Klever Hochschule Augsburg

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

Klaus Eckstein, Daniel Hillinger Cloud Control - hochverfügbar von Kopf bis Fuß

Überblick über APEX Carolin Hagemann

Beratung. Security by Design. Lösungen PETER REINECKE & THOMAS NEYE. Services. operational services GmbH & Co. KG

Transkript:

OWASP und APEX Eine Einführung Sebastian Wittig Systementwickler merlin.zwo InfoDesign GmbH & Co. KG 76228 Karlsruhe

Spitzenleistung heißt, sich auf seine Stärken zu konzentrieren. merlin.zwo Wir machen Oracle - nur Oracle. Aus gutem Grund. www.merlin-zwo.de

Übersicht Motivation OWASP, was ist das denn? Wie entwickeln sich Risiken? Top 10 Ausprägungen und Gegenmaßnahmen Fazit & Tipps

Motivation

Motivation Die meisten APEX-Instanzen sehen wie folgt aus: Browser Webserver Appserver Abweichungen im Middle Tier sind möglich APEX- DB

Motivation Dieser Ansatz eröffnet viele Möglichkeiten: HTML-Frontend bietet Zugriff auf viele Webtechnologien (CSS, JavaScript, jquery, [ ]) DB-Backend ermöglicht die Nutzung von SQL und PL/SQL Das Middle Tier bietet weitere anbieterabhängige Verwundbarkeiten Durch alle Bereiche entstehen Angriffsoptionen

OWASP, was ist das denn?

Was ist OWASP? OWASP: Open Web Application Security Project Offenes Gremium aus Informatikern weltweit Vertreten starke, offene Kernwerte und prinzipien Diskutieren intern über Code Richtlinien, Best Practices, [ ] Stellen Anleitungen zur Verfügung Veröffentlichen in regelmäßigen Abständen eine Liste der größten Bedrohungen für Webapplikationen

Warum ist diese Offenheit etwas Gutes? Es ist überheblich anzunehmen, dass man selbst jeden möglichen Angriffspunkt zu jedem Zeitpunkt im Blick hat. 100% Sicherheit gibt es nicht. Mitunter schaffen Sicherheitsprodukte ihrerseits Sicherheitslücken. Security through obscurity ist leider Blödsinn.

Warum sollte man sich damit befassen?

Warum geht mich das an? APEX wird häufig für inhäusige Anwendungen genutzt, die nicht im Netz stehen, aber: Technisch versierte Nutzer können Verwundbarkeiten ausnutzen um unberechtigten Datenzugriff zu erhalten BYOD Geräte können infiziert sein und diese Infektion weitertragen Zugriffe auf das Firmennetz mit Privatgeräten können kompromittiert sein Manche APEX-Anwendungen sind öffentlich zugänglich

Wie entwickeln sich diese Risiken?

OWASP Top 10 2007 vs 2010

OWASP Top 10 2010 vs 2013

OWASP Top 10 2013 vs 2017

Was könnten wir lernen? Betrachten wir die Listen im Vergleich, dann könnten wir mutmaßen: Sind Entwickler lernresistent? Sind Herausforderungen zur Absicherung nicht handhabbar? Bieten Frameworks zu wenig Unterstützung? Besser: Risiken verhalten sich relativ zeitstabil. => Folglich lohnt sich jede Investition in Sicherheit und Knowhow

Top 10 Ausprägungen und Gegenmaßnahmen

#1 Injections https://imgs.xkcd.com/comics/exploits_of_a_mom.png Injections können offensichtlich sein. Manche sind dagegen schwieriger zu erkennen, wie folgende Folie beweist:

http://tkyte.blogspot.de/2012/02/all-about-security-sql-injection.html

#1 Injections Wann tritt eine Injection auf? Dynamischer Befehl (SQL, OS, LDAP) Ungeprüftes Konkatenieren von Parametervariablen Wie schütze ich mich? Verwenden Sie Bindevariablen, wann immer es möglich ist Meiden Sie Variablen in der Ampersand-Notation. Diese werden ungeprüft weitergegeben Überprüfen Sie dynamische Parameter mittels DBMS_ASSERT

#2 Broken Authentication and Session Management Wann bin ich verwundbar? Unverschlüsselte/schwache Passwörter Einfache Verfahren das Passwort zu überschreiben Session ID innerhalb der URL sichtbar Session ID kann mittels Session Fixation Angriffen attackiert werden Versand der Daten über unverschlüsselte Verbindungen

#2 Broken Authentication and Session Management Wie schütze ich mich? Nutzen Sie erprobte Standardverfahren APEX bietet eine breite Auswahl guter Standardimplementierungen Session Handling ist APEX-seitig (trotz sichtbarer Session ID) bereits umgesetzt, z.b. auch Timeouts Versenden Sie Daten über eine SSL-Verschlüsselung Session Hijacking ist durch XSS-Attacken besonders leicht.

#3 Cross Site Scripting (XSS) Wie werde ich verwundbar? Eingegebene Texter werden nicht geprüft Der Text wird anschließend unescaped dargestellt Unsicheres JavaScript durch eingebundene Bibliotheken Durch Dateiupload eingefügtes JS

#3 Cross Site Scripting (XSS) Wie schütze ich mich? Escapen von eingegebenen und wiedergegebenen Textfeldern z.b. mit apex_util.escape_html Rückgriff auf die APEX-eigenen Optionen zum Escapen von Steuerungszeichen Display Only Items

#4 Broken Access Control Kombiniert die bisherigen Punkte Datenzugriffe und unsichere Objektreferenzen. Wann bin ich verwundbar? Master-Detail Ansichten mit numerisch aufsteigendem Primary Key Public Functions, die innerhalb von APEX zur Verfügung gestellt werden

#4 Broken Access Control Wie schütze ich mich? Rückgriff auf Mapping oder UUID Prüfsummen per Session State Protection aktivieren Autorisierungsschemata definieren und innerhalb der Anwendung großzügig verwenden Keine Funktionen zur Verfügung stellen, die den Status des Anwenders nicht überprüfen

#5 Security Misconfiguration Wann bin ich verwundbar? Veraltete Architekturkomponenten Standardkonfigurationen werden ungeprüft übernommen Default Accounts nicht deaktiviert (siehe Mongo DB) Error Stacks mit sensiblen Informationen für den Anwender sichtbar

#5 Security Misconfiguration Wie schütze ich mich? Datenbankschemata nur die nötigsten Berechtigungen geben Deaktivieren aller nicht benötigten Accounts keine Stack Traces nach außen gelangen lassen Session Timeouts Patchen

#6 Sensitive Data Exposure Dieser Punkt gewinnt vor allem vor den neuen Datenschutzregelungen an Relevanz: Sensible Daten im Klartext vorhanden Sind diese nötig? Gibt es Möglichkeiten diese verschlüsselt zu nutzen? Unverschlüsselte Übertragung über das WWW Veraltete Verschlüsselungsalgorithmen Werden alle nötigen Headerinformationen übertragen?

#6 Sensitive Data Exposure Wie schütze ich mich? Kommunikation verschlüsseln Authentifizierung Übertragene Daten Standardalgorithmen vor Eigenentwicklungen Schlüsselablage sinnvoll organisieren Salt & Pepper implementieren Daten im Session State verschlüsseln

#7 Insufficient Attack Protection Wie äußert sich die Verwundbarkeit? Keine Implementierung für den Angriffsfall Erkennung Behandlung Blockierung Manuell oder automatisiert durch Tools testen Außerdem sollte man die Grenzen dieser Tools kennen

#7 Insufficient Attack Protection Wie schütze ich mich? Erkennen von Angriffen Beobachten von ungültigen Zuständen Verhaltensmuster analysieren und bewerten Auf Angriffe reagieren Blocken von Requests, IP Adressen oder IP Bereichen Deaktivieren auffälliger Accounts Zeitnah patchen, insbesondere wenn Verwundbarkeiten bekannt werden

#8 Cross-Site Request Forgery (CSRF) Wann bin ich verwundbar? Schlechtes und unsicheres Tokenhandling Vorhersehbare Token Rückgriff auf mit dem Browser versendete Informationen (IP- Adresse, Session Cookies), da diese nicht fälschungssicher sind Ermöglicht das Einbetten von Requests in dritten, manipulierten Seiten Diese Requests greifen die ungenügend gesicherte Session auf und manipulieren im Namen des Nutzers Daten

#8 Cross-Site Request Forgery (CSRF) Wie schütze ich mich? Tokenhandling implementieren Prüfsummen per Session State Protection aktivieren Packages liefern Möglichkeiten eigene Links zu erzeugen Ohne korrekten Token wird ein Fehler geworfen

#9 Using Components with Known Vulnerabilities Wann bin ich verwundbar? Schwierig festzustellen, da viele Leaks erst mal unbekannt sind Manche werden stillschweigend gefixt Wie schütze ich mich? Alle Komponenten möglichst auf dem neuesten Stand halten. Also APEX, JS, Plugins Überwachung entsprechender Mailinglisten und Datenbanken

#10 Underprotected APIs Wann bin ich verwundbar? Rückgriff auf Schnittstellen, insbesondere externe Exotische, nicht gut dokumentierte und standardisierte Formate, diese bieten selten Frameworks Wie schütze ich mich? Kommunikation verschlüsseln Authentifizierung und Autorisierung für APIs Berücksichtigen Sie Schnittstellen in den Tests

Fazit & Tipps

Fazit Prinzipiell können einige, viele oder alle dieser Punkte zutreffen. Analysieren Sie, welche Angriffsszenarien für Ihre Anwendung relevant sind Beurteilen Sie diese Szenarien mit einer Risikogewichtung Lernen Sie die Thematik kennen, Einstiegspunkte sind bspw.: OWASP Developer Guide OWASP Cheat Sheets Beschäftigen Sie sich mit Tools: APEX-spezifisch: ApexSec

Tipps Implementieren Sie Security frühzeitig Schaffen Sie Regeln für Fälle, in denen Sie nicht den sicheren Weg gehen können Nutzen Sie Standardalgorithmen, wo immer es geht Verschlüsseln Sie die Kommunikation mittles HTTPS Patchen Sie Ihre Systeme Hören Sie nicht bei der Top 10 auf

Fragen und Antworten??? Haben Sie noch Fragen???? merlin.zwo InfoDesign GmbH & Co. KG Sebastian Wittig

merlin.zwo merlin.zwo InfoDesign GmbH & Co. KG Sebastian Wittig Elsa-Brändström-Straße 14 76228 Karlsruhe Tel. 0721 132096-44 sebastian.wittig@merlin-zwo.de http://www.merlin-zwo.de