Schwachstellen: die Ursachen

Werbung
Webapplikations-Sicherheit:
Erfahrungen aus der Praxis
Stefan Hölzner, Jan Kästle
26.01.2010
Agenda
Schwachstellen: die Ursachen
Angriffstechniken aus der Praxis
root-Access in 20 Schritten
2
Schwachstellen: die Ursachen
Design
Implementierung
Webapplikationssicherheit
Betrieb
Deployment /
Konfiguration
3
Schwachstellen: die Ursachen
Design
Eingabe- und Ausgabefilterung
Zugriffsschutz / Rollenkonzept
Design- / Logikfehler
4
Schwachstellen: die Ursachen
Implementierung
Eingabe- und Ausgabefilterung
Fehlender / unzureichender Zugriffsschutz
Backdoors
Debuggingfunktionen*
5
Deployment / Konfiguration
6
Schwachstellen: die Ursachen
Deployment / Konfiguration
Directory Indexing
Verzeichnismapping und -berechtigungen (z.B. WEB-INF/)*
Systembenutzerkonten
HTTP vs. HTTPS, SSL-Chiffren
Error Handling
Debuggingfunktionalitäten
7
Deployment / Konfiguration
8
Schwachstellen: die Ursachen
Betrieb
Patchmanagement
Einspielen von Änderungen
Benutzerverwaltung / Passwortvergabe
Testbenutzer
ungeschützte Admintools*
9
Implementierung
10
Implementierung
11
Implementierung
12
Agenda
Schwachstellen: die Ursachen
Angriffstechniken aus der Praxis
root-Access in 20 Schritten
13
Angriffstechniken aus der Praxis
Kombinationen aus (unkritischen) Schwachstellen
Intern verwendete Anwendungen
Unsichere Testsysteme
“Unkritische” Anwendungen
Widersprüchliche Konfigurationsvorgaben
14
Angriffstechniken aus der Praxis
Kombinationen aus (unkritischen)
Schwachstellen
15
Kombinationen aus Schwachstellen (Beispiel 1)
16
Kombinationen aus Schwachstellen (Beispiel 1)
Anzeige des Quellcodes möglich
Logdateien zugreifbar
Passwörter in Logfiles
Admin-Zugang über das Internet
Passwort in Dokumentation
17
Kombinationen aus Schwachstellen (Beispiel 2)
18
Kombinationen aus Schwachstellen (Beispiel 2)
SQL Injection (nicht direkt ausnutzbar)
lückenhafte Firewallkonfiguration
19
Angriffstechniken aus der Praxis
Intern verwendete Portale
20
Intern verwendete Portale (1)
21
Intern verwendete Portale (2)
z.B. für interne Mitarbeiter oder Geschäftspartner
URLs sind nicht allgemein bekannt
oft unzureichend geschützt
dirb_output_demo.log
22
Angriffstechniken aus der Praxis
Unsichere Testsysteme
23
Unsichere Testsysteme
Testsysteme finden
typische Subdomains
www.example.com test.example.com, wwwtest.example.com
shop.example.com shop-test.example.com
benachbarte IP-Adressen
www.example.com 10.10.10.73 -> .72, .71, .74, …
Schwachstellen finden
z.B. durch Directory Indexing
“versteckte” Parameter
Zugriff auf Source Code
gefundene Schwachstellen auf Produktivsystem austesten
24
Angriffstechniken aus der Praxis
“Unkritische” Anwendungen
25
“Unkritische” Anwendungen
niedrigeres Sicherheitsniveau für unkritische Anwendung
<-> hohes Niveau für kritische Anwendung
unkritische Anwendung mit Schwachstellen
Datenbank und/oder OS gemeinsam verwendet
Zugriff auf Daten der kritischen Anwendung möglich
26
Angriffstechniken aus der Praxis
Widersprüchliche
Konfigurationsvorgaben
27
Widersprüchliche Konfigurationsvorgaben
SAP R/3 mit Oracle Datenbank
Beispiel REMOTE_OS_AUTHENT
28
SAP spezifische Konfigurationen
OS User: <SID>ADM, ORA<SID> (Unix, Linux)
<SID>ADM, SAPSERVICE<SID> (Windows)
View dba_users:
USERNAME
-------OPS$P40ADM
OPS$ORAP40
…
USER_ID
------23
24
PASSWORD
-------EXTERNAL
EXTERNAL
REMOTE_OS_AUTHENT
29
REMOTE_OS_AUTHENT Oracle DB vs SAP
Oracle Security Administrator’s Guide:
Caution: Setting REMOTE_OS_AUTHENT to TRUE can
cause a security exposure, because …
SAP Sicherheitsleitfaden:
Ändern Sie den ORACLE-Parameter
REMOTE_OS_AUTHENT nicht auf FALSE. Der OPS$Mechanismus muß in der Lage sein, von entfernten Clients
aus zu arbeiten, z. B. müssen sich SAP-SystemWorkprozesse an den Anwendungsservern als Benutzer
OPS$<sid>adm anmelden können. Lassen Sie den
Parameter daher auf TRUE stehen.
30
SAP Anmeldeprozess
here: SID = P40
4.decrypt
password
1. P40ADMconnects toDB
without apassword
SAP R/3
SAPUSER
SAPP40
A34DB42
2.
3.encrypted password
Application Server
Oracle
DB
5.SAPP40/<password>
31
REMOTE_OS_AUTHENT Oracle DB vs SAP
32
Patchen von Oracle Datenbanken für SAP
Oracle Critical Patch Updates (CPUs)
vierteljährlich
enthalten nicht nur Sicherheitsupdates
Konflikte mit SAP Patchen
SAP empfiehlt oft CPUs nicht einzuspielen
z.B. für Oracle 10.2.0.2: CPUs von Oktober 2006 bis
Juli 2007 waren nicht freigeben
Oracle Datenbank nicht gepatcht
33
Agenda
Wie kommen Schwachstellen zustande?
Angriffstechniken aus der Praxis
root-Access in 20 Schritten
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
The information contained herein is of a general nature and is not intended to address the circumstances of any particular individual or entity. Although we endeavor
to provide accurate and timely information, there can be no guarantee that such information is accurate as of the date it is received or that it will continue to be
accurate in the future. No one should act upon such information without appropriate professional advice after a thorough examination of the particular situation.
© 2009 KPMG AG Wirtschaftsprüfungsgesellschaft, a subsidiary of KPMG Europe LLP and a member firm of the KPMG network of independent member firms
affiliated with KPMG International, a Swiss cooperative. All rights reserved. KPMG and the KPMG logo are registered trademarks of KPMG International.
53
Herunterladen