Post on 05-Apr-2015
LfD Rheinland-PfalzH. Eiermann
www.datenschutz.rlp.de poststelle@datenschutz.rlp.de
Europäischer Datenschutztag 28. Januar 2008“Denn Sie wissen nicht, was sie tun...”
Datenschutz in der Online-Generation
Info-Shop 3 “Wie sicher ist die Technik ?”
LfD Rheinland-PfalzH. Eiermann
Sicherheitsaspekte von Web-Anwendungen
LfD Rheinland-PfalzH. Eiermann
Web-Anwendungen
LfD Rheinland-PfalzH. Eiermann
IT-Struktur Web-Anwendung
LfD Rheinland-PfalzH. Eiermann
Schulverwaltungsnetz
Datei-/Anwendungsserver
LfD Rheinland-PfalzH. Eiermann
Pädagogisches NetzSchulverwaltungsnetz
Datei-/AnwendungsserverDatei-/Anwendungsserver
LfD Rheinland-PfalzH. Eiermann
Pädagogisches NetzSchulverwaltungsnetzIntranet-Server
Datei-/AnwendungsserverDatei-/Anwendungsserver
LfD Rheinland-PfalzH. Eiermann
Pädagogisches NetzSchulverwaltungsnetzIntranet-Server
Datei-/AnwendungsserverDatei-/Anwendungsserver
LfD Rheinland-PfalzH. Eiermann
Pädagogisches NetzSchulverwaltungsnetz
Router/Firewall
Intranet-Server
Datei-/AnwendungsserverDatei-/Anwendungsserver
LfD Rheinland-PfalzH. Eiermann
Pädagogisches NetzSchulverwaltungsnetz
Router/Firewall
Web- / Intranet-Server
Mailserver
Datei-/AnwendungsserverDatei-/Anwendungsserver
rlp-Netz
LfD Rheinland-PfalzH. Eiermann
Angriffsszenarien
IP SpoofingManipulation von Datenpaketen
ICMP-AttackenMissbrauch von Kontrollnachrichten
Replay-AttackenAufzeichnen und erneutes Einspielen von Datenpaketen
Buffer-Overflow-AttackenEinschleußen von Programmcode durch Speicherüberlauf
ARP-SpoofingManipulation von Datenströmen im LAN
DNS SpoofingVortäuschen/Manipulation von DNS-Angaben
Web SpoofingKontrolle der Verbindung zwischen Client und Server
Protokoll-TunnelingKapselung in unverdächtigen Protokollen
Denial of Service-Attacken (DOS, DDoS)SYN-Flooding, Mail-Bomben
SchadenssoftwareViren, Würmer, Trojanische PferdeAktive Komponenten (ActiveX, Java)
LfD Rheinland-PfalzH. Eiermann
Pädagogisches NetzSchulverwaltungsnetz
Router/Firewall
Webserver/Intranet-Server
Mailserver
Datei-/AnwendungsserverDatei-/Anwendungsserver
rlp-Netz
LfD Rheinland-PfalzH. Eiermann
Pädagogisches NetzSchulverwaltungsnetz
Router/Firewall
Webserver/Intranet-Server
Mailserver
Datei-/AnwendungsserverDatei-/Anwendungsserver
rlp-Netz
Router/Firewall
LfD Rheinland-PfalzH. Eiermann
Pädagogisches NetzSchulverwaltungsnetz
Router/Firewall
Webserver/Intranet-Server
Mailserver
Datei-/AnwendungsserverDatei-/Anwendungsserver
rlp-Netz
Router/Firewall
LfD Rheinland-PfalzH. Eiermann
Pädagogisches NetzSchulverwaltungsnetz
Router/Firewall
Webserver/Intranet-Server
Mailserver
Datei-/AnwendungsserverDatei-/Anwendungsserver
rlp-Netz
Router/Firewall
LfD Rheinland-PfalzH. Eiermann
Firewall
LfD Rheinland-PfalzH. Eiermann
Firewall
# ipfwadm -F -f # ipfwadm -F -p deny # ipfwadm -F -a accept -P tcp -S 172.16.1.0/24 -D 0/0 80 # ipfwadm -F -a accept -P tcp -S 0/0 80 -D 172.16.1.0/24# ...
LfD Rheinland-PfalzH. Eiermann
Sicherheitsmaßnahmen (Filterung nach IP-Adressen, Ports, Diensten)Netzwerkebene
LfD Rheinland-PfalzH. Eiermann
Sicherheitsmaßnahmen(Applikationssicherheit, Systemhärtung, Konfiguration)
Anwendungsebene
LfD Rheinland-PfalzH. Eiermann
Pädagogisches Netz
Router/Firewall
Webserver/Intranet-Server
Datei-/Anwendungsserver
Router/Firewall
# ipfwadm -F -a accept -P tcp -S ANY -D 172.16.1.0/24 -port 80
LfD Rheinland-PfalzH. Eiermann
Online-Kontrollen des LfD
• Schwerpunkt Internet-basierte Anwendungen
• Nutzung frei verfügbarer Software für Analyse und Test
• Nutzung frei verfügbarer Informationen
LfD Rheinland-PfalzH. Eiermann
Brutus, WebCrack, wwwhack Hydra
nikto
Tools
Manuelle Exploits (!)
LfD Rheinland-PfalzH. Eiermann
Beispiel 1: Directory Traversal
Beispiel 2: SQL-Injection
Beispiel 3: Wörterbuch-/BruteForce-Attacke
Beispiele für Vorgehensweisen / festgestellte Defizite
LfD Rheinland-PfalzH. Eiermann
Beispiel 1: „Directory Traversal“
Gemeinsames Internet-Angebot mehrerer Bundesländer
• Ausbrechen aus der vorgegebenen Verzeichnisstruktur eines Webservers
• Hintergrund: Fehlerhafte ZugriffsrechteHinweise im Seitenquelltext„ratbare“ Verzeichnisstruktur
• Probleme: Unbefugter Datenzugriff; Manipulation
LfD Rheinland-PfalzH. Eiermann
LfD Rheinland-PfalzH. Eiermann
1. Quelltextanalyse
src=”http://f009.internet.shop.net/counter.js“>
LfD Rheinland-PfalzH. Eiermann
1. Quelltextanalyse
2. Browseraufruf: http://f009.internet.shop.net ... erfolglos
src=”http://f009.internet.shop.net/counter.js“>
LfD Rheinland-PfalzH. Eiermann
3. Browseraufruf: http://internet.shop.net/f009
1. Quelltextanalyse
2. Browseraufruf: http://f009.internet.shop.net ... erfolglos
src=”http://f009.internet.shop.net/counter.js“>
LfD Rheinland-PfalzH. Eiermann
3. Browseraufruf: http://internet.shop.net/f009
1. Quelltextanalyse
https://internet.shop.net/f009
2. Browseraufruf: http://f009.internet.shop.net ... erfolglos
src=”http://f009.internet.shop.net/counter.js“>
LfD Rheinland-PfalzH. Eiermann
3. Browseraufruf: http://internet.shop.net/f009
1. Quelltextanalyse
https://internet.shop.net/f009
2. Browseraufruf: http://f009.internet.shop.net ... erfolglos
src=”http://f009.internet.shop.net/counter.js“>
LfD Rheinland-PfalzH. Eiermann
4. Browseraufruf: https://internet.shop.net/f009/logs/
/internet.shop.net/f009/logs/counter2.csv
LfD Rheinland-PfalzH. Eiermann
4. Browseraufruf: https://internet.shop.net/f009/logs/
/internet.shop.net/f009/logs/counter2.csv
Datum/Uhrzeit IP-Adresse des Nutzers
URL
Zugangsknoten
https://internet.shop.net/f002/logs/counter2.csvhttps://internet.shop.net/f003/logs/counter2.csvhttps://internet.shop.net/f004/logs/counter2.csvhttps://internet.shop.net/f005/logs/counter2.csvhttps://internet.shop.net/f006/logs/counter2.csvhttps://internet.shop.net/f007/logs/counter2.csvhttps://internet.shop.net/f008/logs/counter2.csvhttps://internet.shop.net/f009/logs/counter2.csvhttps://internet.shop.net/f010/logs/counter2.csvhttps://internet.shop.net/f011/logs/counter2.csvhttps://internet.shop.net/f012/logs/counter2.csvhttps://internet.shop.net/f013/logs/counter2.csvhttps://internet.shop.net/f014/logs/counter2.csvhttps://internet.shop.net/f015/logs/counter2.csvhttps://internet.shop.net/f016/logs/counter2.csvhttps://internet.shop.net/f017/logs/counter2.csvhttps://internet.shop.net/f018/logs/counter2.csvhttps://internet.shop.net/f019/logs/counter2.csv
LfD Rheinland-PfalzH. Eiermann
Im Ergebnis konnten in 19 Fällen Zugriffsdaten heruntergeladen werden.
Das Gesamtvolumen der Daten betrug ca. 300 MB (entspricht etwa 1.600 Druckseiten DIN A 4-Seiten).
Zeitaufwand insgesamt: ca. 1 Std.
LfD Rheinland-PfalzH. Eiermann
Vorbeugung
• Gestaltung des Web-Angebots
• Reduzierung der Hinweise im Seitenquelltext
• Anpassung der Zugriffsrechte, Konfiguration des Webservers (Server-Root, Document-Root)
LfD Rheinland-PfalzH. Eiermann
Beispiel 2: „SQL-Injection“
Internet-basierte Register-Anwendung
• Kompromittierung der Web-Anwendung durch die Eingabe von SQL-Anweisungen
• Hintergrund: Web-Applikation mit nachgeschalteter DatenbankEingabefelderMangelnde Prüfung von Benutzereingaben
• Problem: Umgehung der AuthentifizierungUnbefugter DatenzugriffDatenveränderung
LfD Rheinland-PfalzH. Eiermann
LfD Rheinland-PfalzH. Eiermann
LfD Rheinland-PfalzH. Eiermann
Web-Anwendung
LfD Rheinland-PfalzH. Eiermann
Dahinter stehende SQL-Anweisung:
select ... from ... where name=‘ rlpuser01‘ and passwd=‘ sE5Am‘
Web-Anwendung
rlpuser01
sE5Am
LfD Rheinland-PfalzH. Eiermann
Web-Anwendung
LfD Rheinland-PfalzH. Eiermann
Dahinter stehende SQL-Anweisung:
select ... from ... where name=‘ ... ‘ and passwd=‘ ...‘
Web-Anwendung
LfD Rheinland-PfalzH. Eiermann
Dahinter stehende SQL-Anweisung:
select ... from ... where name=‘ ... ‘ and passwd=‘ ...‘
Benutzereingabe führt zu:
select ... from ... where name=‘4711‘ or ‘1=1‘--
Web-Anwendung
LfD Rheinland-PfalzH. Eiermann
Anmeldung ohne gültige Benutzerkennung oder Passwort war möglich
Zeitaufwand ca. 5 sec
Ergebnis:
LfD Rheinland-PfalzH. Eiermann
Anmeldung ohne gültige Benutzerkennung oder Passwort war möglich
Zeitaufwand ca. 5 sec
Innerhalb der Anwendung sind bei fehlender Prüfung der Benutzereingaben SQL-Anweisungen für jeden angemeldeten Benutzer möglich.
Ergebnis:
LfD Rheinland-PfalzH. Eiermann
Pädagogisches NetzSchulverwaltungsnetz
Router/Firewall
Webserver/Intranet-Server
Mailserver
Datei-/AnwendungsserverDatei-/Anwendungsserver
Router/Firewall
LfD Rheinland-PfalzH. Eiermann
Variationen ...
... ‘4711‘ or ‘1=1‘
LfD Rheinland-PfalzH. Eiermann
... ‘4711‘ or ‘1=1‘
... ‘4711‘ or ‘1=1‘; insert user ...
Variationen ...
LfD Rheinland-PfalzH. Eiermann
... ‘4711‘ or ‘1=1‘
... ‘4711‘ or ‘1=1‘; insert user ...
... ‘4711‘ or ‘1=1‘; delete ...
Variationen ...
LfD Rheinland-PfalzH. Eiermann
... ‘4711‘ or ‘1=1‘
... ‘4711‘ or ‘1=1‘; insert user ...
... ‘4711‘ or ‘1=1‘; delete ...
... ‘4711‘ or ‘1=1‘; drop table
Variationen ...
LfD Rheinland-PfalzH. Eiermann
... ‘4711‘ or ‘1=1‘
... ‘4711‘ or ‘1=1‘; insert user ...
... ‘4711‘ or ‘1=1‘; delete ...
... ‘4711‘ or ‘1=1‘; drop table
... ‘4711‘ or ‘1=1‘; exec master.dbo.xp_cmdshell ‘cmd.exe dir c:
(MS SQL-Server, DB-User „sa“)
Variationen ...
‘4711‘ or ‘1=1‘
Canonicalization
LfD Rheinland-PfalzH. Eiermann
‘4711‘ or ‘1=1‘
Canonicalization
‘ = 0x27
0x27+0x34+0x37+0x31+0x31+0x27+0x20+0x64+0x72+0x20+0x27+0x31+0x3d+0x31+0x27
0x27+4711+0x27+or+0x27+1=1+=0x27
LfD Rheinland-PfalzH. Eiermann
‘4711‘ or ‘1=1‘
Canonicalization
‘ = 0x27
0x27+0x34+0x37+0x31+0x31+0x27+0x20+0x64+0x72+0x20+0x27+0x31+0x3d+0x31+0x27
0x27 = char(39)
char(39)+char(52)+char(55)+char(49)+char(49)+char(39)+char(11)+char(114) ..... MS-SQL
char(39,52,55,49,49,39,11,114 .....) MySQL
0x27+4711+0x27+or+0x27+1=1+=0x27
LfD Rheinland-PfalzH. Eiermann
LfD Rheinland-PfalzH. Eiermann
Vorbeugung
• Gestaltung der Anwendung / Sichere Programmierung
• Verwendung vorgefertigter Abfragen (Prepared Statements, Stored Procedures)
• Filterung / Prüfung der Benutzereingaben (Input Validation)
• Konfiguration des Webservers
• Datenbank-Konfiguration
“All user input is evil!”
LfD Rheinland-PfalzH. Eiermann
Beispiel 3:
Mailserver mit Internet-basiertem Zugang (Outlook Web Access)
„Wörterbuch- / Brute-Force-Attacke“
• Automatisiertes Ausprobieren möglicher Benutzerkennungen / Passwörter
• Hintergrund: HTTP Basic Authentication
• Problem: Aushebeln der AuthentifizierungUnbefugter DatenzugriffDatenveränderung
LfD Rheinland-PfalzH. Eiermann
LfD Rheinland-PfalzH. Eiermann
Anmeldeaufforderung .HTACCESS
LfD Rheinland-PfalzH. Eiermann
Tool-Unterstützung (wwwhack) ...
LfD Rheinland-PfalzH. Eiermann
Tool-Unterstützung ...
... für die Kennung „test“ mit beliebigem Passwort
LfD Rheinland-PfalzH. Eiermann
Tool-Unterstützung ...
... für eine beliebige Kennung mit einem beliebigem Passwort
(Brute Force)
600.000 Versuche mit einem Protokollvolumen von 500 MB wurden nicht erkannt.
LfD Rheinland-PfalzH. Eiermann
Tool-Unterstützung ...
... für vorgewählte Kennungen in einer Datei mit einem beliebigem Passwort
(Wörterbuchattacke)
z.B.
admin
administrator
system
sa
nimda
service
lvarp
test
...
LfD Rheinland-PfalzH. Eiermann
27078:lvarp80610:lvarp80624:lvarp80670:lvarp80683:lvarp90002:lvarp90004:lvarp90005:lvarp90007:lvarp90201:lvarp90202:lvarp90205:lvarp90302:lvarp90505:lvarplvarp:lvarptest:test
Ergebnis: gültige Kombinationen Benutzerkennung: Passwort
Zeitaufwand insgesamt: ca. 30 min
LfD Rheinland-PfalzH. Eiermann
Zugriff auf Postfächer und Ablagestruktur
LfD Rheinland-PfalzH. Eiermann
Versand von Mails unter der ermittelten Kennung.
=> Identitätsdiebstahl
LfD Rheinland-PfalzH. Eiermann
Vorbeugung
• Passwortgestaltung und -gebrauch
• Verlässliche Authentifizierung
• Serverkonfiguration
• Gestaltung der Anwendung
• Protokollierung / Auswertung
LfD Rheinland-PfalzH. Eiermann
Sonstiges
Zugang zu Administrationsoberflächen via Internet
LfD Rheinland-PfalzH. Eiermann
Browserzeile:
http://www.lva.rlp.de:8080/cat/SilverStream/Pages/sachstand.html?az=1-234-56/2005 ...
zugehöriges SQL-Statement: SELECT ... FROM ... WHERE $az=
LfD Rheinland-PfalzH. Eiermann
Browserzeile:
http://www.lva.rlp.de:8080/cat/SilverStream/Pages/sachstand.html?az=1-234-56/2005 ...
zugehöriges SQL-Statement: SELECT ... FROM ... WHERE $az=
az=6-543-21/2005
LfD Rheinland-PfalzH. Eiermann
Erkenntnisse:
• Alle Angriffe erfolgten auf Anwendungsebene
• Vorkehrungen auf Netzebene sind ohne Wirkung
• Schwachstellen resultieren zum Teil aus Versäumnissen bei der Anwendungsentwicklung (Konzeption, Programmierung)
• Mögliche Risiken wurden nicht thematisiert
• Kommunikationsdefizite
• Verbundentwicklungen bieten nicht zwangsläufig höheren Schutz
• Risikobetrachtung / Sicherheitsuntersuchungen sind nicht erfolgt
• Defizite bei der Überwachung sicherheitsrelevanter Ereignisse
• Administrative Defizite
• Arglosigkeit ...
LfD Rheinland-PfalzH. Eiermann
122 Mio WebSites
LfD Rheinland-PfalzH. Eiermann
... admin.asp, admin.js, admin.html
Ich finde Dich ... !
LfD Rheinland-PfalzH. Eiermann
Ich finde Dich ... !
... admin.asp, admin.js, admin.html
... login.asp, login.js, login.html
LfD Rheinland-PfalzH. Eiermann
Ich finde Dich ... !
... admin.asp, admin.js, admin.html
... login.asp, login.js, login.html
... anmeldung.asp, anmeldung.js, anmeldung.html
LfD Rheinland-PfalzH. Eiermann
Konsequenzen:
• Risikobetrachtung
• Sicherheit als Aspekt der eGovernment-Tauglichkeit
• Sicherheitskonzept / Evaluation
• Filterung der Benutzereingaben (Input-Validation)
• Überwachung sicherheitsrelevanter Ereignisse
• Sichere Konfiguration der Anwendungsplattform („Härtung“)
• Sicherheitsbewusste Administration („Betriebshandbuch“)
• Sichere Anwendungsentwicklung („Pflichtenheft Anwendungssicherheit“)
LfD Rheinland-PfalzH. Eiermann
Anwendung
Server- / Plattform
Netzwerk
Verfahrenskomponenten
Anwendung
LfD Rheinland-PfalzH. Eiermann
Server- / Plattform
Netzwerk Netzstruktur, Firewall
Administration, Konfiguration, Betrieb
Verfahrenskomponenten Sicherheitsmaßnahmen:
Server- / Plattform
Netzwerk
LfD Rheinland-PfalzH. Eiermann
Anwendung Entwicklung, Administration, Konfiguration
Verfahrenskomponenten Sicherheitsmaßnahmen:
LfD Rheinland-PfalzH. Eiermann
Quelle: www.microsoft.com/germany/msdn/library/security/Handbuch „Erhöhen der Sicherheit von Webanwendungen“
LfD Rheinland-PfalzH. Eiermann
Quelle: www.bsi.de/literat/studien/websec/index.htm