owasp top 10: scanning jsf -...

32
07.04.2011 OWASP Top 10: Scanning JSF Andreas Hartmann & Stephan Müller

Upload: phamdan

Post on 29-Aug-2019

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: OWASP Top 10: Scanning JSF - bed-con.orgbed-con.org/images/files/bed2011/bed2011-owasptop10scanningjsf.pdf07.04.2011 14 OWASP Top 10: Scanning JSF Whitelist Validation & Escaping Special

07.04.2011

OWASP Top 10: Scanning JSF

Andreas Hartmann & Stephan Müller

Page 2: OWASP Top 10: Scanning JSF - bed-con.orgbed-con.org/images/files/bed2011/bed2011-owasptop10scanningjsf.pdf07.04.2011 14 OWASP Top 10: Scanning JSF Whitelist Validation & Escaping Special

07.04.2011 OWASP Top 10: Scanning JSF 2

Andreas Hartmann (Principal Software Engineer):

► Leichtgewichtige Softwarearchitekturen und Frameworks auf Basis der JEE Plattform

► Serviceorientierte Architekturen und Portaltechnologien im Kontext der Versicherungs- und Banken-Branche

Stephan Müller (Senior Software Engineer)

► Konzeption und Implementierung von Portalen und Webanwendungen

► Serviceorientierte Architekturen und Webtechnologien

Page 3: OWASP Top 10: Scanning JSF - bed-con.orgbed-con.org/images/files/bed2011/bed2011-owasptop10scanningjsf.pdf07.04.2011 14 OWASP Top 10: Scanning JSF Whitelist Validation & Escaping Special

Agenda

07.04.2011 OWASP Top 10: Scanning JSF 3

OWASP Top Ten meets JSF

Application Security Komponente

Application Security Startup

Web Application Security Kick Start

Page 4: OWASP Top 10: Scanning JSF - bed-con.orgbed-con.org/images/files/bed2011/bed2011-owasptop10scanningjsf.pdf07.04.2011 14 OWASP Top 10: Scanning JSF Whitelist Validation & Escaping Special

Agenda

07.04.2011 OWASP Top 10: Scanning JSF 4

OWASP Top Ten meets JSF

Application Security Komponente

Application Security Startup

Web Application Security Kick Start

Page 5: OWASP Top 10: Scanning JSF - bed-con.orgbed-con.org/images/files/bed2011/bed2011-owasptop10scanningjsf.pdf07.04.2011 14 OWASP Top 10: Scanning JSF Whitelist Validation & Escaping Special

Web Application Security Kick Start

Was ist Application Security

► Application Security umfasst alle Maßnahmen im Lebenszyklus von Software, die geeignet sind, sicherheitskritische Fehler im Design, der Implementierung, dem Deployment und der Wartung von Software zu verhindern.

Schutzziele von Application Security

► Vertraulichkeit & Integrität

> der Daten

> der Kommunikation

► Authentizität der Kommunikationspartner

► Verfügbarkeit der Services

07.04.2011 OWASP Top 10: Scanning JSF5

Page 6: OWASP Top 10: Scanning JSF - bed-con.orgbed-con.org/images/files/bed2011/bed2011-owasptop10scanningjsf.pdf07.04.2011 14 OWASP Top 10: Scanning JSF Whitelist Validation & Escaping Special

Web Application Security Kick Start

07.04.2011 OWASP Top 10: Scanning JSF 6

Server OS

IP

TCP

HTTP

OS Services

Anwendungsschnittstelle

AuthentifizierungAutorisierung

Implementierung

Java Security

Page 7: OWASP Top 10: Scanning JSF - bed-con.orgbed-con.org/images/files/bed2011/bed2011-owasptop10scanningjsf.pdf07.04.2011 14 OWASP Top 10: Scanning JSF Whitelist Validation & Escaping Special

Web Application Security Kick Start

07.04.2011 OWASP Top 10: Scanning JSF 7

IP

TCP

HTTP

OS Services

Anwendungsschnittstelle

AuthentifizierungAutorisierung

Implementierung

Java Security

Network FirewallServer OS

► Filterung Absender & Ziel

► Absicherung IP- & TCP-

Verkehr

► Stateful Packet Inspection

Page 8: OWASP Top 10: Scanning JSF - bed-con.orgbed-con.org/images/files/bed2011/bed2011-owasptop10scanningjsf.pdf07.04.2011 14 OWASP Top 10: Scanning JSF Whitelist Validation & Escaping Special

Web Application Security Kick Start

07.04.2011 OWASP Top 10: Scanning JSF 8

IP

TCP

HTTP

OS Services

Anwendungsschnittstelle

AuthentifizierungAutorisierung

Implementierung

Java Security

Application ServerServer OS

► Durchführung

Authentifizierung

► Session Management

► Autorisierungsprüfung

► Schutz von Ressourcen

Page 9: OWASP Top 10: Scanning JSF - bed-con.orgbed-con.org/images/files/bed2011/bed2011-owasptop10scanningjsf.pdf07.04.2011 14 OWASP Top 10: Scanning JSF Whitelist Validation & Escaping Special

Web Application Security Kick Start

07.04.2011 OWASP Top 10: Scanning JSF 9

Server OS

IP

TCP

HTTP

OS Services

AuthentifizierungAutorisierung

Java Security

Web ApplicationFirewall

Implementierung

Anwendungsschnittstelle

► Absicherung HTTP

► Validierung Get- & Post-

Parameter

► Ressourcen-Schutz auf URL-

Basis

► Positive vs. Negative

Security Model

Page 10: OWASP Top 10: Scanning JSF - bed-con.orgbed-con.org/images/files/bed2011/bed2011-owasptop10scanningjsf.pdf07.04.2011 14 OWASP Top 10: Scanning JSF Whitelist Validation & Escaping Special

Web Application Security Kick Start

Rahmenbedingungen für den WAF-Einsatz

► Abstimmung auf Web Applikation

> Start bereits während der Entwicklung

> Kontinuierliche Anpassung an Anwendungsänderungen

► Angleichung der Release-Zyklen von WAF und Applikation(en)

► Testaufwand für jedes Update einplanen

► SSL-Terminierung vor der WAF notwendig

► Bei optimaler Abstimmung gute Erkennungsraten möglich

07.04.2011 OWASP Top 10: Scanning JSF 10

Page 11: OWASP Top 10: Scanning JSF - bed-con.orgbed-con.org/images/files/bed2011/bed2011-owasptop10scanningjsf.pdf07.04.2011 14 OWASP Top 10: Scanning JSF Whitelist Validation & Escaping Special

Web Application Security Kick Start

Probleme beim WAF-Einsatz

► Ansatz negatives Security Model

> Abhängigkeit von häufigen Updates

> relativ hohe Gefahr von Anwendungsproblemen nach Updates

► Ansatz positive Security Model

> lange Lernphase notwendig

> optimale Abstimmung auf Applikation notwendig

> relativ hohe Gefahr von False Positives

► allgemeines Risiko einer weiteren Infrastrukturkomponente

► Expertenwissen für sinnvollen Einsatz notwendig

07.04.2011 OWASP Top 10: Scanning JSF 11

Page 12: OWASP Top 10: Scanning JSF - bed-con.orgbed-con.org/images/files/bed2011/bed2011-owasptop10scanningjsf.pdf07.04.2011 14 OWASP Top 10: Scanning JSF Whitelist Validation & Escaping Special

Web Application Security Kick Start

07.04.2011 OWASP Top 10: Scanning JSF 12

Server OS

IP

TCP

HTTP

OS Services

AuthentifizierungAutorisierung

Java Security

Application SecurityKomponente

Implementierung

Anwendungsschnittstelle

► Schutz gegen

► Injection Flaws

► Cross-Site Scripting

► Cross-Site Request

Forgery

► Denial of Service

► Logging von Angriffen

Page 13: OWASP Top 10: Scanning JSF - bed-con.orgbed-con.org/images/files/bed2011/bed2011-owasptop10scanningjsf.pdf07.04.2011 14 OWASP Top 10: Scanning JSF Whitelist Validation & Escaping Special

Agenda

07.04.2011 OWASP Top 10: Scanning JSF 13

OWASP Top Ten meets JSF

Application Security Komponente

Application Security Startup

Web Application Security Kick Start

Page 14: OWASP Top 10: Scanning JSF - bed-con.orgbed-con.org/images/files/bed2011/bed2011-owasptop10scanningjsf.pdf07.04.2011 14 OWASP Top 10: Scanning JSF Whitelist Validation & Escaping Special

A1 - Injection Flaws

Injection flaws, particularly SQL injection, are co mmon in web applications. Injection occurs when user-supplied d ata is sent to an interpreter as part of a command or query. Th e attacker's hostile data tricks the interpreter into executing unintended commands or changing data.

► SQL

► Xpath

► etc.

07.04.2011 OWASP Top 10: Scanning JSF 14

Whitelist Validation & Escaping Special Characters &Prepared Statements zum Schutz gegen SQL Injection, …

Page 15: OWASP Top 10: Scanning JSF - bed-con.orgbed-con.org/images/files/bed2011/bed2011-owasptop10scanningjsf.pdf07.04.2011 14 OWASP Top 10: Scanning JSF Whitelist Validation & Escaping Special

A2 – Cross Site Scripting (XSS)

XSS flaws occur whenever an application takes user supplied data and sends it to a web browser without first va lidating or encoding that content. XSS allows attackers to exec ute script in the victim's browser which can hijack user sessi ons, deface web sites, possibly introduce worms, etc.

► Session Hijacking

► Fernsteuerung des Browsers

07.04.2011 OWASP Top 10: Scanning JSF 15

Whitelist Validation & Escaping Special Characters& Output Encoding

Page 16: OWASP Top 10: Scanning JSF - bed-con.orgbed-con.org/images/files/bed2011/bed2011-owasptop10scanningjsf.pdf07.04.2011 14 OWASP Top 10: Scanning JSF Whitelist Validation & Escaping Special

A3 - Broken Authentication and Session Management

Account credentials and session tokens are often no t properly protected. Attackers compromise passwords, keys, or authentication tokens to assume other users' identi ties.

► Logische Fehler bei der Authentisierung und Autorisierung, z.B. beim Logout die Session nicht invalidiert

07.04.2011 OWASP Top 10: Scanning JSF 16

Durchdachte Konzepte & richtige Konfiguration des Servers

Page 17: OWASP Top 10: Scanning JSF - bed-con.orgbed-con.org/images/files/bed2011/bed2011-owasptop10scanningjsf.pdf07.04.2011 14 OWASP Top 10: Scanning JSF Whitelist Validation & Escaping Special

A4 - Insecure Direct Object Reference

A direct object reference occurs when a developer e xposes a reference to an internal implementation object, suc h as a file, directory, database record, or key, as a URL or for m parameter. Attackers can manipulate those references to access other objects without authorization.

► Zugriff auf Daten die für den Benutzer nicht erreichbar sein sollen

07.04.2011 OWASP Top 10: Scanning JSF 17

Bei der Entwicklung berücksichtigen und niemals daraufvertrauen, dass Referenzen korrekt sind

Page 18: OWASP Top 10: Scanning JSF - bed-con.orgbed-con.org/images/files/bed2011/bed2011-owasptop10scanningjsf.pdf07.04.2011 14 OWASP Top 10: Scanning JSF Whitelist Validation & Escaping Special

A5 - Cross Site Request Forgery (CSRF)

A CSRF attack forces a logged-on victim's browser t o send a pre-authenticated request to a vulnerable web appli cation, which then forces the victim's browser to perform a hostile action to the benefit of the attacker. CSRF can be as powerful as the web application that it attacks.

► Vertrauensbruch zwischen Browser und Server (Session Riding)

07.04.2011 OWASP Top 10: Scanning JSF 18

Einsatz eines dynamischen Tokens

Page 19: OWASP Top 10: Scanning JSF - bed-con.orgbed-con.org/images/files/bed2011/bed2011-owasptop10scanningjsf.pdf07.04.2011 14 OWASP Top 10: Scanning JSF Whitelist Validation & Escaping Special

A6 – Security Misconfiguration

Good security requires having a secure configuratio n defined and deployed for the application, frameworks, appli cation server, web server, database server, and platform. All these settings should be defined, implemented, and mainta ined as many are not shipped with secure defaults. This inc ludes ke

► Keine gehärtete Konfiguration der verwendeten Framwork, Server, etc.

07.04.2011 OWASP Top 10: Scanning JSF 19

Härten der Infrastruktur & Security Prozesszur Inbetriebnahme von Anwendungen

Page 20: OWASP Top 10: Scanning JSF - bed-con.orgbed-con.org/images/files/bed2011/bed2011-owasptop10scanningjsf.pdf07.04.2011 14 OWASP Top 10: Scanning JSF Whitelist Validation & Escaping Special

A7 - Insecure Cryptographic Storage

Web applications rarely use cryptographic functions properly to protect data and credentials. Attackers use weak ly protected data to conduct identity theft and other crimes, su ch as credit card fraud.

► Verschlüsselte Ablage von sensitiven Daten

07.04.2011 OWASP Top 10: Scanning JSF 20

Einsatz sicherer Kryptographiemechanismen &Vermeidung proprietärer Lösungen

Page 21: OWASP Top 10: Scanning JSF - bed-con.orgbed-con.org/images/files/bed2011/bed2011-owasptop10scanningjsf.pdf07.04.2011 14 OWASP Top 10: Scanning JSF Whitelist Validation & Escaping Special

A8 - Failure to Restrict URL Access

Frequently, an application only protects sensitive functionality by preventing the display of links or URLs to unaut horized users. Attackers can use this weakness to access an d perform unauthorized operations by accessing those URLs dire ctly.

► Erraten von URLs

07.04.2011 OWASP Top 10: Scanning JSF 21

URL Pfadzugriff einschränken, nur das was tatsächlichnotwendig ist

Page 22: OWASP Top 10: Scanning JSF - bed-con.orgbed-con.org/images/files/bed2011/bed2011-owasptop10scanningjsf.pdf07.04.2011 14 OWASP Top 10: Scanning JSF Whitelist Validation & Escaping Special

A9 – Insufficient Transport Layer Protection

Applications frequently fail to encrypt network tra ffic when it is necessary to protect sensitive communications.

► Datentransport kann abgehört werden

► Cookies können gestohlen werden

07.04.2011 OWASP Top 10: Scanning JSF 22

Durchgängige Verwendung von SSL & Einsatz von gültigenZertifikaten & Secure Flag für Cookies

Page 23: OWASP Top 10: Scanning JSF - bed-con.orgbed-con.org/images/files/bed2011/bed2011-owasptop10scanningjsf.pdf07.04.2011 14 OWASP Top 10: Scanning JSF Whitelist Validation & Escaping Special

A10 – Unvalidated Redirects and Forwards

Web applications frequently redirect and forward us ers to other pages and websites, and use untrusteddata to determi ne the destination pages. Without proper validation, attac kers can redirect victims to phishing or malware sites, or u se forwards to access unauthorized pages.

► Zugriff auf nicht autorisierte Seiten

► Umleitung des angemeldeten Benutzers auf eine Phishing Seite

07.04.2011 OWASP Top 10: Scanning JSF 23

Nach Möglichkeit kein Redirect oder Forward imeigenen Code & Keine Benutzereingaben als Parameter

Page 24: OWASP Top 10: Scanning JSF - bed-con.orgbed-con.org/images/files/bed2011/bed2011-owasptop10scanningjsf.pdf07.04.2011 14 OWASP Top 10: Scanning JSF Whitelist Validation & Escaping Special

Agenda

07.04.2011 OWASP Top 10: Scanning JSF 24

OWASP Top Ten meets JSF

Application Security Komponente

Application Security Startup

Web Application Security Kick Start

Page 25: OWASP Top 10: Scanning JSF - bed-con.orgbed-con.org/images/files/bed2011/bed2011-owasptop10scanningjsf.pdf07.04.2011 14 OWASP Top 10: Scanning JSF Whitelist Validation & Escaping Special

Application Security Komponente

JSF Lifecycle meets Security

► Injection Flaws (z.B. SQL-Injection)

► Cross-Site Scripting

► Cross-Site Request Forgery

► Denial of Service

► Never-Ending

Application Usage

► Logging

07.04.2011 OWASP Top 10: Scanning JSF 25

Page 26: OWASP Top 10: Scanning JSF - bed-con.orgbed-con.org/images/files/bed2011/bed2011-owasptop10scanningjsf.pdf07.04.2011 14 OWASP Top 10: Scanning JSF Whitelist Validation & Escaping Special

Agenda

07.04.2011 OWASP Top 10: Scanning JSF 26

OWASP Top Ten meets JSF

Application Security Komponente

Application Security Startup

Web Application Security Kick Start

Page 27: OWASP Top 10: Scanning JSF - bed-con.orgbed-con.org/images/files/bed2011/bed2011-owasptop10scanningjsf.pdf07.04.2011 14 OWASP Top 10: Scanning JSF Whitelist Validation & Escaping Special

Application Security Startup

Ansatzpunkte zur Einführung von Application Security Ma ßnahmen

► Definition eines Security Prozesses

► Schaffung von Security Awareness

► Anpassung der Architekturrichtlinien

► Erweiterung der Programmierrichtlinien

> Nutzung von Security Infrastrukturcode prüfen

> Ein- und Ausgabevalidierung

> Sicheres Errorhandling & Logging

► Durchführung von Security Reviews> interne & externe Security Audits einplanen

> Betrachtung der zu erstellenden Anwendung hinsichtlich allgemeiner und spezieller Sicherheitsrisiken

> Einsatz von Werkzeugen zur statischen Codeanalyse während der Entwicklung

07.04.2011 OWASP Top 10: Scanning JSF 27

Page 28: OWASP Top 10: Scanning JSF - bed-con.orgbed-con.org/images/files/bed2011/bed2011-owasptop10scanningjsf.pdf07.04.2011 14 OWASP Top 10: Scanning JSF Whitelist Validation & Escaping Special

[email protected]

Wir suchen Sie als

► Software-Architekt (m/w)► Projektleiter (m/w)► Senior Software Engineer (m/w)

Page 29: OWASP Top 10: Scanning JSF - bed-con.orgbed-con.org/images/files/bed2011/bed2011-owasptop10scanningjsf.pdf07.04.2011 14 OWASP Top 10: Scanning JSF Whitelist Validation & Escaping Special

Application Security Startup

Secure Software Development Lifecycle (SDL)

► Security Policies

► Ausbildung/Awareness

► Security Anforderungen

► Security Architektur

► Security Tests

► Härtung der Systemumgebung

► Design Review

► Code Review

► Ausbildung des Systembetriebs

► Angriffs-Management

07.04.2011 OWASP Top 10: Scanning JSF 29

Page 30: OWASP Top 10: Scanning JSF - bed-con.orgbed-con.org/images/files/bed2011/bed2011-owasptop10scanningjsf.pdf07.04.2011 14 OWASP Top 10: Scanning JSF Whitelist Validation & Escaping Special

Application Security Startup

Analytische Maßnahmen

Untersuchungen von fertigen Produkten oder Teilprodukten

► Informelle Reviews

► Externes Reviews

Konstruktive Maßnahmen

Wie baue ich Software so, dass gar nicht erst gravierende Probleme auftauchen

► Eclipse Codeformatter

► Checkstyle

► FindBugs

07.04.2011 OWASP Top 10: Scanning JSF 30

Page 31: OWASP Top 10: Scanning JSF - bed-con.orgbed-con.org/images/files/bed2011/bed2011-owasptop10scanningjsf.pdf07.04.2011 14 OWASP Top 10: Scanning JSF Whitelist Validation & Escaping Special

Application Security Startup

Deklarativer Security

► Container übernimmt alle Sicherheitsabfragen

Programmatische Security

► Sicherheitsprüfungen werden in das Programm in allen technischen Detailtiefen integriert

07.04.2011 OWASP Top 10: Scanning JSF 31

Page 32: OWASP Top 10: Scanning JSF - bed-con.orgbed-con.org/images/files/bed2011/bed2011-owasptop10scanningjsf.pdf07.04.2011 14 OWASP Top 10: Scanning JSF Whitelist Validation & Escaping Special

Application Security Startup

Exceptionhandling

ApplicationException

CompoundException

SystemNotAvailableException

SystemException

CoreException

07.04.2011 OWASP Top 10: Scanning JSF 32