www.datenschutz.rlp.de poststelle@datenschutz.rlp.de LfD Rheinland-Pfalz H. Eiermann
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 ?” Sicherheitsaspekte von Web-Anwendungen LfD Rheinland-Pfalz H. Eiermann
Web-Anwendungen LfD Rheinland-Pfalz H. Eiermann
IT-Struktur Web-Anwendung LfD Rheinland-Pfalz H. Eiermann
Schulverwaltungsnetz Datei-/Anwendungsserver LfD Rheinland-Pfalz H. Eiermann
Schulverwaltungsnetz Pädagogisches Netz Datei-/Anwendungsserver Datei-/Anwendungsserver LfD Rheinland-Pfalz H. Eiermann
Schulverwaltungsnetz Pädagogisches Netz Intranet-Server Datei-/Anwendungsserver Datei-/Anwendungsserver LfD Rheinland-Pfalz H. Eiermann
Schulverwaltungsnetz Pädagogisches Netz Intranet-Server Datei-/Anwendungsserver Datei-/Anwendungsserver LfD Rheinland-Pfalz H. Eiermann
Schulverwaltungsnetz Pädagogisches Netz Intranet-Server Router/Firewall Datei-/Anwendungsserver Datei-/Anwendungsserver LfD Rheinland-Pfalz H. Eiermann
Schulverwaltungsnetz Pädagogisches Netz rlp-Netz Schulverwaltungsnetz Pädagogisches Netz Web- / Intranet-Server Mailserver Router/Firewall Datei-/Anwendungsserver Datei-/Anwendungsserver LfD Rheinland-Pfalz H. Eiermann
IP Spoofing Manipulation von Datenpaketen ICMP-Attacken Angriffsszenarien IP Spoofing Manipulation von Datenpaketen ICMP-Attacken Missbrauch von Kontrollnachrichten Replay-Attacken Aufzeichnen und erneutes Einspielen von Datenpaketen Buffer-Overflow-Attacken Einschleußen von Programmcode durch Speicherüberlauf ARP-Spoofing Manipulation von Datenströmen im LAN DNS Spoofing Vortäuschen/Manipulation von DNS-Angaben Web Spoofing Kontrolle der Verbindung zwischen Client und Server Protokoll-Tunneling Kapselung in unverdächtigen Protokollen Denial of Service-Attacken (DOS, DDoS) SYN-Flooding, Mail-Bomben Schadenssoftware Viren, Würmer, Trojanische Pferde Aktive Komponenten (ActiveX, Java) LfD Rheinland-Pfalz H. Eiermann
Schulverwaltungsnetz Pädagogisches Netz rlp-Netz Schulverwaltungsnetz Pädagogisches Netz Webserver/Intranet-Server Mailserver Router/Firewall Datei-/Anwendungsserver Datei-/Anwendungsserver LfD Rheinland-Pfalz H. Eiermann
Schulverwaltungsnetz Pädagogisches Netz rlp-Netz Schulverwaltungsnetz Pädagogisches Netz Webserver/Intranet-Server Router/Firewall Mailserver Router/Firewall Datei-/Anwendungsserver Datei-/Anwendungsserver LfD Rheinland-Pfalz H. Eiermann
Schulverwaltungsnetz Pädagogisches Netz rlp-Netz Schulverwaltungsnetz Pädagogisches Netz Webserver/Intranet-Server Router/Firewall Mailserver Router/Firewall Datei-/Anwendungsserver Datei-/Anwendungsserver LfD Rheinland-Pfalz H. Eiermann
Schulverwaltungsnetz Pädagogisches Netz rlp-Netz Schulverwaltungsnetz Pädagogisches Netz Webserver/Intranet-Server Router/Firewall Mailserver Router/Firewall Datei-/Anwendungsserver Datei-/Anwendungsserver LfD Rheinland-Pfalz H. Eiermann
Firewall LfD Rheinland-Pfalz H. 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-Pfalz H. Eiermann
Sicherheitsmaßnahmen (Filterung nach IP-Adressen, Ports, Diensten) Netzwerkebene LfD Rheinland-Pfalz H. Eiermann
Sicherheitsmaßnahmen Anwendungsebene Sicherheitsmaßnahmen (Applikationssicherheit, Systemhärtung, Konfiguration) LfD Rheinland-Pfalz H. Eiermann
# ipfwadm -F -a accept -P tcp -S ANY -D 172.16.1.0/24 -port 80 Pädagogisches Netz Webserver/Intranet-Server Router/Firewall # ipfwadm -F -a accept -P tcp -S ANY -D 172.16.1.0/24 -port 80 Router/Firewall Datei-/Anwendungsserver LfD Rheinland-Pfalz H. 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-Pfalz H. Eiermann
Brutus, WebCrack, wwwhack Hydra Tools Brutus, WebCrack, wwwhack Hydra nikto Manuelle Exploits (!) LfD Rheinland-Pfalz H. Eiermann
Beispiele für Vorgehensweisen / festgestellte Defizite Beispiel 1: Directory Traversal Beispiel 2: SQL-Injection Beispiel 3: Wörterbuch-/BruteForce-Attacke LfD Rheinland-Pfalz H. Eiermann
Beispiel 1: „Directory Traversal“ Gemeinsames Internet-Angebot mehrerer Bundesländer • Ausbrechen aus der vorgegebenen Verzeichnisstruktur eines Webservers • Hintergrund: Fehlerhafte Zugriffsrechte Hinweise im Seitenquelltext „ratbare“ Verzeichnisstruktur • Probleme: Unbefugter Datenzugriff; Manipulation LfD Rheinland-Pfalz H. Eiermann
LfD Rheinland-Pfalz H. Eiermann
1. Quelltextanalyse src=”http://f009.internet.shop.net/counter.js“> LfD Rheinland-Pfalz H. Eiermann
2. Browseraufruf: http://f009.internet.shop.net ... erfolglos 1. Quelltextanalyse src=”http://f009.internet.shop.net/counter.js“> 2. Browseraufruf: http://f009.internet.shop.net ... erfolglos LfD Rheinland-Pfalz H. Eiermann
2. Browseraufruf: http://f009.internet.shop.net ... erfolglos 1. Quelltextanalyse src=”http://f009.internet.shop.net/counter.js“> 2. Browseraufruf: http://f009.internet.shop.net ... erfolglos 3. Browseraufruf: http://internet.shop.net/f009 LfD Rheinland-Pfalz H. Eiermann
2. Browseraufruf: http://f009.internet.shop.net ... erfolglos 1. Quelltextanalyse src=”http://f009.internet.shop.net/counter.js“> 2. Browseraufruf: http://f009.internet.shop.net ... erfolglos 3. Browseraufruf: http://internet.shop.net/f009 https://internet.shop.net/f009 LfD Rheinland-Pfalz H. Eiermann
2. Browseraufruf: http://f009.internet.shop.net ... erfolglos 1. Quelltextanalyse src=”http://f009.internet.shop.net/counter.js“> 2. Browseraufruf: http://f009.internet.shop.net ... erfolglos 3. Browseraufruf: http://internet.shop.net/f009 https://internet.shop.net/f009 LfD Rheinland-Pfalz H. Eiermann
4. Browseraufruf: https://internet.shop.net/f009/logs/ /internet.shop.net/f009/logs/counter2.csv LfD Rheinland-Pfalz H. Eiermann
IP-Adresse des Nutzers 4. Browseraufruf: https://internet.shop.net/f009/logs/ /internet.shop.net/f009/logs/counter2.csv Datum/Uhrzeit IP-Adresse des Nutzers Zugangsknoten URL LfD Rheinland-Pfalz H. Eiermann
https://internet.shop.net/f002/logs/counter2.csv https://internet.shop.net/f003/logs/counter2.csv https://internet.shop.net/f004/logs/counter2.csv https://internet.shop.net/f005/logs/counter2.csv https://internet.shop.net/f006/logs/counter2.csv https://internet.shop.net/f007/logs/counter2.csv https://internet.shop.net/f008/logs/counter2.csv https://internet.shop.net/f009/logs/counter2.csv https://internet.shop.net/f010/logs/counter2.csv https://internet.shop.net/f011/logs/counter2.csv https://internet.shop.net/f012/logs/counter2.csv https://internet.shop.net/f013/logs/counter2.csv https://internet.shop.net/f014/logs/counter2.csv https://internet.shop.net/f015/logs/counter2.csv https://internet.shop.net/f016/logs/counter2.csv https://internet.shop.net/f017/logs/counter2.csv https://internet.shop.net/f018/logs/counter2.csv https://internet.shop.net/f019/logs/counter2.csv
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-Pfalz H. Eiermann
(Server-Root, Document-Root) Vorbeugung • Gestaltung des Web-Angebots • Reduzierung der Hinweise im Seitenquelltext • Anpassung der Zugriffsrechte, Konfiguration des Webservers (Server-Root, Document-Root) LfD Rheinland-Pfalz H. Eiermann
Beispiel 2: „SQL-Injection“ Internet-basierte Register-Anwendung • Kompromittierung der Web-Anwendung durch die Eingabe von SQL-Anweisungen • Hintergrund: Web-Applikation mit nachgeschalteter Datenbank Eingabefelder Mangelnde Prüfung von Benutzereingaben • Problem: Umgehung der Authentifizierung Unbefugter Datenzugriff Datenveränderung LfD Rheinland-Pfalz H. Eiermann
LfD Rheinland-Pfalz H. Eiermann
LfD Rheinland-Pfalz H. Eiermann
Web-Anwendung LfD Rheinland-Pfalz H. Eiermann
Web-Anwendung Dahinter stehende SQL-Anweisung: rlpuser01 sE5Am Dahinter stehende SQL-Anweisung: select ... from ... where name=‘ rlpuser01‘ and passwd=‘ sE5Am‘ LfD Rheinland-Pfalz H. Eiermann
Web-Anwendung LfD Rheinland-Pfalz H. Eiermann
Web-Anwendung Dahinter stehende SQL-Anweisung: select ... from ... where name=‘ ... ‘ and passwd=‘ ...‘ LfD Rheinland-Pfalz H. Eiermann
Web-Anwendung Dahinter stehende SQL-Anweisung: select ... from ... where name=‘ ... ‘ and passwd=‘ ...‘ Benutzereingabe führt zu: select ... from ... where name=‘4711‘ or ‘1=1‘-- LfD Rheinland-Pfalz H. Eiermann
Anmeldung ohne gültige Benutzerkennung Ergebnis: Anmeldung ohne gültige Benutzerkennung oder Passwort war möglich Zeitaufwand ca. 5 sec LfD Rheinland-Pfalz H. Eiermann
Anmeldung ohne gültige Benutzerkennung Ergebnis: 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. LfD Rheinland-Pfalz H. Eiermann
Schulverwaltungsnetz Pädagogisches Netz Webserver/Intranet-Server Router/Firewall Mailserver Router/Firewall Datei-/Anwendungsserver Datei-/Anwendungsserver LfD Rheinland-Pfalz H. Eiermann
Variationen ... ... ‘4711‘ or ‘1=1‘ LfD Rheinland-Pfalz H. Eiermann
Variationen ... ... ‘4711‘ or ‘1=1‘ ... ‘4711‘ or ‘1=1‘; insert user ... LfD Rheinland-Pfalz H. Eiermann
Variationen ... ... ‘4711‘ or ‘1=1‘ ... ‘4711‘ or ‘1=1‘; insert user ... ... ‘4711‘ or ‘1=1‘; delete ... LfD Rheinland-Pfalz H. Eiermann
Variationen ... ... ‘4711‘ or ‘1=1‘ ... ‘4711‘ or ‘1=1‘; insert user ... ... ‘4711‘ or ‘1=1‘; delete ... ... ‘4711‘ or ‘1=1‘; drop table LfD Rheinland-Pfalz H. Eiermann
Variationen ... ... ‘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“) LfD Rheinland-Pfalz H. Eiermann
Canonicalization ‘4711‘ or ‘1=1‘ LfD Rheinland-Pfalz H. Eiermann
‘ = 0x27 Canonicalization ‘4711‘ or ‘1=1‘ 0x27+4711+0x27+or+0x27+1=1+=0x27 0x27+0x34+0x37+0x31+0x31+0x27+0x20+0x64+0x72+0x20+0x27+0x31+0x3d+0x31+0x27 LfD Rheinland-Pfalz H. Eiermann
‘ = 0x27 0x27 = char(39) Canonicalization ‘4711‘ or ‘1=1‘ 0x27+4711+0x27+or+0x27+1=1+=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 LfD Rheinland-Pfalz H. Eiermann
(Prepared Statements, Stored Procedures) 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-Pfalz H. Eiermann
Mailserver mit Internet-basiertem Zugang (Outlook Web Access) 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 Authentifizierung Unbefugter Datenzugriff Datenveränderung LfD Rheinland-Pfalz H. Eiermann
LfD Rheinland-Pfalz H. Eiermann
Anmeldeaufforderung .HTACCESS LfD Rheinland-Pfalz H. Eiermann
Tool-Unterstützung (wwwhack) ... LfD Rheinland-Pfalz H. Eiermann
Tool-Unterstützung ... ... für die Kennung „test“ mit beliebigem Passwort LfD Rheinland-Pfalz H. 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-Pfalz H. 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-Pfalz H. Eiermann
Ergebnis: gültige Kombinationen Benutzerkennung: Passwort 27078:lvarp 80610:lvarp 80624:lvarp 80670:lvarp 80683:lvarp 90002:lvarp 90004:lvarp 90005:lvarp 90007:lvarp 90201:lvarp 90202:lvarp 90205:lvarp 90302:lvarp 90505:lvarp lvarp:lvarp test:test Zeitaufwand insgesamt: ca. 30 min LfD Rheinland-Pfalz H. Eiermann
Zugriff auf Postfächer und Ablagestruktur LfD Rheinland-Pfalz H. Eiermann
Versand von Mails unter der ermittelten Kennung. => Identitätsdiebstahl LfD Rheinland-Pfalz H. Eiermann
Vorbeugung • Passwortgestaltung und -gebrauch • Verlässliche Authentifizierung • Serverkonfiguration • Gestaltung der Anwendung • Protokollierung / Auswertung LfD Rheinland-Pfalz H. Eiermann
Zugang zu Administrationsoberflächen via Internet Sonstiges Zugang zu Administrationsoberflächen via Internet LfD Rheinland-Pfalz H. Eiermann
zugehöriges SQL-Statement: SELECT ... FROM ... WHERE $az= 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-Pfalz H. Eiermann
zugehöriges SQL-Statement: SELECT ... FROM ... WHERE $az= 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-Pfalz H. Eiermann
Anwendungsentwicklung (Konzeption, Programmierung) 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-Pfalz H. Eiermann
122 Mio WebSites LfD Rheinland-Pfalz H. Eiermann
... admin.asp, admin.js, admin.html Ich finde Dich ... ! LfD Rheinland-Pfalz H. Eiermann
... admin.asp, admin.js, admin.html ... login.asp, login.js, login.html Ich finde Dich ... ! LfD Rheinland-Pfalz H. Eiermann
... admin.asp, admin.js, admin.html ... login.asp, login.js, login.html Ich finde Dich ... ! ... anmeldung.asp, anmeldung.js, anmeldung.html LfD Rheinland-Pfalz H. 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-Pfalz H. Eiermann
Verfahrenskomponenten Anwendung Server- / Plattform Netzwerk LfD Rheinland-Pfalz H. Eiermann
Verfahrenskomponenten Sicherheitsmaßnahmen: Anwendung Server- / Plattform Administration, Konfiguration, Betrieb Netzwerk Netzstruktur, Firewall LfD Rheinland-Pfalz H. Eiermann
Verfahrenskomponenten Sicherheitsmaßnahmen: Anwendung Entwicklung, Administration, Konfiguration Server- / Plattform Netzwerk LfD Rheinland-Pfalz H. Eiermann
Quelle: www.microsoft.com/germany/msdn/library/security/ Handbuch „Erhöhen der Sicherheit von Webanwendungen“ LfD Rheinland-Pfalz H. Eiermann
Quelle: www.bsi.de/literat/studien/websec/index.htm LfD Rheinland-Pfalz H. Eiermann