Agenda Application Security OWASP Top 10 OWASP Top Ten meets JSF Andreas Hartmann Application Security Komponente Application Security Startup 04.04.2013 04.04.2013 2 OWASP Top 10 Agenda Application Security Was ist Application Security ► Application Security umfasst alle Maßnahmen im Lebenszyklus von Software, Application Security die geeignet sind, sicherheitskritische Fehler im Design, der Implementierung, dem Deployment und der Wartung von Software zu verhindern. OWASP Top Ten meets JSF Schutzziele von Application Security ► Vertraulichkeit & Integrität Application Security Komponente > der Daten > der Kommunikation Application Security Startup ► Authentizität der Kommunikationspartner ► Verfügbarkeit der Services 04.04.2013 3 OWASP Top 10 04.04.2013 4 OWASP Top 10
Application Security Application Security Anwendungsschnittstelle Anwendungsschnittstelle Implementierung Implementierung HTTP HTTP Authentifizierung Authentifizierung Autorisierung Autorisierung ► Filterung Absender & Ziel OS Services OS Services ► Absicherung IP- & TCP- TCP TCP Verkehr Java Security Java Security IP IP ► Stateful Packet Inspection Network Firewall Server OS Server OS 04.04.2013 5 OWASP Top 10 04.04.2013 6 OWASP Top 10 Application Security Application Security Anwendungsschnittstelle Anwendungsschnittstelle Implementierung Implementierung HTTP HTTP Web Application Firewall Authentifizierung Authentifizierung Autorisierung Autorisierung ► Durchführung ► Absicherung HTTP OS Services OS Services Authentifizierung ► Validierung Get- & Post- TCP TCP ► Session Management Parameter Java Security Java Security IP IP ► Autorisierungsprüfung ► Ressourcen-Schutz auf URL- Basis ► Schutz von Ressourcen Server OS Application Server Server OS ► Positive vs. Negative Security Model 04.04.2013 7 OWASP Top 10 04.04.2013 8 OWASP Top 10
Application Security Application Security Rahmenbedingungen für den WAF-Einsatz Probleme beim WAF-Einsatz ► Abstimmung auf Web Applikation ► Ansatz negatives Security Model > Start bereits während der Entwicklung > Abhängigkeit von häufigen Updates > Kontinuierliche Anpassung an Anwendungsänderungen > relativ hohe Gefahr von Anwendungsproblemen nach Updates ► Angleichung der Release-Zyklen von WAF und Applikation(en) ► Ansatz positive Security Model > lange Lernphase notwendig ► Testaufwand für jedes Update einplanen > optimale Abstimmung auf Applikation notwendig ► SSL-Terminierung vor der WAF notwendig > relativ hohe Gefahr von False Positives ► Bei optimaler Abstimmung gute Erkennungsraten möglich ► allgemeines Risiko einer weiteren Infrastrukturkomponente ► Expertenwissen für sinnvollen Einsatz notwendig 04.04.2013 9 OWASP Top 10 04.04.2013 10 OWASP Top 10 Application Security Agenda Anwendungsschnittstelle Application Security Implementierung HTTP OWASP Top Ten meets JSF Application Security Authentifizierung Komponente Application Security Komponente Autorisierung ► Schutz gegen OS Services ► Injection Flaws Application Security Startup TCP ► Cross-Site Scripting Java Security IP ► Cross-Site Request Forgery Server OS ► Denial of Service ► Logging von Angriffen 04.04.2013 11 OWASP Top 10 04.04.2013 12 OWASP Top 10
A1 - Injection Flaws A2 – Cross Site Scripting (XSS) Injection flaws, particularly SQL injection, are common in web XSS flaws occur whenever an application takes user supplied applications. Injection occurs when user-supplied data is sent data and sends it to a web browser without first validating or to an interpreter as part of a command or query. The attacker's encoding that content. XSS allows attackers to execute script hostile data tricks the interpreter into executing unintended in the victim's browser which can hijack user sessions, deface commands or changing data. web sites, possibly introduce worms, etc. ► SQL ► Session Hijacking ► Xpath ► Fernsteuerung des Browsers ► etc. Whitelist Validation & Escaping Special Characters & Whitelist Validation & Escaping Special Characters Prepared Statements zum Schutz gegen SQL Injection, … & Output Encoding 04.04.2013 13 OWASP Top 10 04.04.2013 14 OWASP Top 10 A3 - Broken Authentication and Session Management A4 - Insecure Direct Object Reference Account credentials and session tokens are often not properly A direct object reference occurs when a developer exposes a protected. Attackers compromise passwords, keys, or reference to an internal implementation object, such as a file, authentication tokens to assume other users' identities. directory, database record, or key, as a URL or form parameter. Attackers can manipulate those references to access other objects without authorization. ► Logische Fehler bei der Authentisierung und Autorisierung, z.B. beim Logout die Session nicht invalidiert ► Zugriff auf Daten die für den Benutzer nicht erreichbar sein sollen Bei der Entwicklung berücksichtigen und niemals darauf Durchdachte Konzepte & richtige Konfiguration des Servers vertrauen, dass Referenzen korrekt sind 04.04.2013 15 OWASP Top 10 04.04.2013 16 OWASP Top 10
A5 - Cross Site Request Forgery (CSRF) A6 – Security Misconfiguration A CSRF attack forces a logged-on victim's browser to send a Good security requires having a secure configuration defined pre-authenticated request to a vulnerable web application, and deployed for the application, frameworks, application which then forces the victim's browser to perform a hostile server, web server, database server, and platform. All these action to the benefit of the attacker. CSRF can be as powerful settings should be defined, implemented, and maintained as as the web application that it attacks. many are not shipped with secure defaults. This includes ke ► Vertrauensbruch zwischen Browser und Server (Session Riding) ► Keine gehärtete Konfiguration der verwendeten Framwork, Server, etc. Härten der Infrastruktur & Security Prozess Einsatz eines dynamischen Tokens zur Inbetriebnahme von Anwendungen 04.04.2013 17 OWASP Top 10 04.04.2013 18 OWASP Top 10 A7 - Insecure Cryptographic Storage A8 - Failure to Restrict URL Access Web applications rarely use cryptographic functions properly Frequently, an application only protects sensitive functionality to protect data and credentials. Attackers use weakly protected by preventing the display of links or URLs to unauthorized data to conduct identity theft and other crimes, such as credit users. Attackers can use this weakness to access and perform card fraud. unauthorized operations by accessing those URLs directly. ► Verschlüsselte Ablage von sensitiven Daten ► Erraten von URLs Einsatz sicherer Kryptographiemechanismen & URL Pfadzugriff einschränken, nur das was tatsächlich Vermeidung proprietärer Lösungen notwendig ist 04.04.2013 19 OWASP Top 10 04.04.2013 20 OWASP Top 10
A9 – Insufficient Transport Layer Protection A10 – Unvalidated Redirects and Forwards Applications frequently fail to encrypt network traffic when it is Web applications frequently redirect and forward users to other necessary to protect sensitive communications. pages and websites, and use untrusteddata to determine the destination pages. Without proper validation, attackers can redirect victims to phishing or malware sites, or use forwards ► Datentransport kann abgehört werden to access unauthorized pages. ► Cookies können gestohlen werden ► Zugriff auf nicht autorisierte Seiten ► Umleitung des angemeldeten Benutzers auf eine Phishing Seite Durchgängige Verwendung von SSL & Einsatz von gültigen Nach Möglichkeit kein Redirect oder Forward im Zertifikaten & Secure Flag für Cookies eigenen Code & Keine Benutzereingaben als Parameter 04.04.2013 21 OWASP Top 10 04.04.2013 22 OWASP Top 10 Agenda Application Security Komponente JSF Lifecycle meets Security ► Injection Flaws (z.B. SQL-Injection) Application Security ► Cross-Site Scripting ► Cross-Site Request Forgery OWASP Top Ten meets JSF ► Denial of Service ► Never-Ending Application Security Komponente Application Usage ► Logging Application Security Startup 04.04.2013 23 OWASP Top 10 04.04.2013 24 OWASP Top 10
Recommend
More recommend