Informations- und Kommunikationssysteme Dienste in Internet und Intranet Karl Meier karl.meier@kasec.ch 2.12.2006 Agenda 1 2 3 4 5 6 7 Internet und Protokolle, IP Adressierung Die Transportprotokolle UDP und TCP ISO/OSI Referenzmodell und Netzwerke Weitere Protokolle und Anwendungen Kryptologie Dienste in Internet und Intranet Netztechnologie, Repetition 2 1
Kryptologie Inhalt RSA am Beispiel PGP Repetition Internet Sicherheitsprotokolle / VPN Elektronischer Marktplatz Online Banking Elektronische Zahlverfahren Auktionsplattformen Webanwendungen mit Datenbanken 3 PGP 4 2
Repetition Kryptografie Steganografie Stromchiffre / Blockchiffre AES MD5 / SHA1 DES / 3DES Symmetrisch / Asymmetrisch Kerckhoff Cypher Block Chaining Mode XOR SSL / TLS RSA 5 Visuelle Kryptografie http://www-math.uni-paderborn.de/~aggathen/viskybit 6 3
Internet Sicherheitsprotokolle Es ist eine Tatsache, dass Sicherheit in Computernetzen und verteilten Systemen die Benutzung kryptografischer Techniken bedingt. Diese Techniken sind in zahlreichen Sicherheitsprotokollen integriert. So sind auch verschiedene kryptografische Sicherheitsprotokolle vorgeschlagen, spezifiziert und implementiert worden für das Internet. Einige davon waren erfolgreich, andere sind nach kurzer Zeit wieder verschwunden. Im TCP/IP Schichtenmodell sind solche Protokolle in jeder Schicht zu finden. 7 LAN und Dial-up LAN: IEEE 802.3 Ethernet Dial-up: SLIP (Serial Line Internet Protocol) PPP (Point-to-Point Protocol) Internet 8 4
Frage Wie stellt ein Mitarbeiter auf Reisen eine Verbindung ins Intranet der Firma her, um z.b. seine Mails abzurufen? 1. PPP Verbindung 2. VPN Internet 9 VPN Für VPN (Virtual Private Network) gibt es zwei verschiedene Möglichkeiten: Layer 2 Tunneling Einbinden eines gegebenen Network Layer Protocols (z.b. IP) in PPP Layer 3 Tunneling Einbinden von IP direkt in ein Tunneling Protocol IP L2TP PPP IP IP VPT IP 10 5
Layer 2 Tunneling Protokolle L2F (Layer 2 Forwarding) / CISCO Keine Verschlüsselung, RFC 1341 Heute bedeutungslos PPTP (Point-to-Point Tunneling Protocol) / MS Eigentlich nur genutzt im Windows NT Umfeld Sicherheitsmängel in Design und Implementation L2TP (Layer 2 Tunneling Protocol) / MS, CISCO RFC 2661 (August 1999) 11 Layer 3 Tunneling Protokolle SP3, NLSP, I-NLSP, swipe Alle nutzen Verschlüsselung der Daten IPSec und IKE (Internet Key Exchange) IPSec Modul 1 IPSec Modul 2 SPD SPD IKE IKE SAD IPSec SA IPSec SAD SA: Security Association, SAD: Security Association Database, SPD: Security Policy Database 12 6
IPSec Internationaler Standard mit folgenden Funktionen: Authentifizierung Sicherung der Datenintegrität durch digitale Signaturen Sicherung der Vertraulichkeit mittels Verschlüsselung Zugriffkontrolle Transport Modus IP IPSec Daten Tunnel Modus IP IPSec IP Daten 13 Virtual private networking Gemäss RFC 2828 ist VPN definiert als: a restricted-use, logical computer network that is constructed from the system resources of a relatively public, physical network (such as the Internet), often by using encryption, and often by tunneling links of the virtual network across the real network Aufgrund dieser Definition ist Verschlüsselung nicht zwingend für VPN s. Alternative Methoden nutzen Route Filtering oder Label Switching (z.b. MultiProtocol Label Switching). 14 7
VPN Schema LNS LAC Internet Remote System Dial-up Client L2TP Network Server L2TP Access Concentrator 15 Transport Layer Security SSL und TLS Wurden bereits im Kapitel 4 behandelt. 16 8
Application Layer Security SSH (Secure Shell) AFS (Andrew Filesystem) S-HTTP (Secure HTTP) Kerberos Kerberos ist ein verteilter Authentifizierungsdienst für offene und unsichere Computernetze Definiert in RFC 4120 3 Komponenten: Client, Server, Kerberos Server Standardprotokoll unter Windows2000/2003 und XP 17 Fragen Welches Sicherheitsprotokoll ist das beste? Welcher Layer ist am besten geeignet, sichere Kommunikationsdienste anzubieten? 18 9
Informationssysteme im WWW 19 Probleme Traditionell basieren viele Webseiten auf Dateien. Jede Webseite ist dabei in einer eigenen Datei gespeichert. Für kleine Sites stellt dies auch heute kein Problem dar. Bei umfangreicheren Sites ergibt sich bereits ein Verwaltungsproblem. Wie werden tausend Dokumente verwaltet und die Verknüpfungen unter diesen gepflegt? Ein zweites Problem ist der dynamische Charakter vieler Webseiten in der heutigen Zeit. 20 10
Lösung: Datenbank Der direkte Zugriff auf Datenbanken aus dem Internet wird in immer grösserem Umfang als Ansatz für die Verwaltung von Web- Informationen oder dynamischen Inhalten genutzt. 21 Techniken zur Integration von Datenbanken ins WWW CGI Server-Side Includes HTTP-Cookies Erweiterung des Web-Servers Java und JDBC Skriptsprachen (z.b. PHP) 22 11
CGI CGI (Common Gateway Interface) Eine Möglichkeit, Programme im WWW bereitzustellen, die von HTML Dateien aufgerufen werden, selbst HTML Code erzeugen und diesen an einen Browser zurücksenden. HTML Datei CGI Script DB HTML Datei HTML Datei 23 CGI CGI ist ein De-facto-Standard für die Verknüpfung von Web-Servern mit externen Anwendungen und Datenquellen. Die Hauptvorteile sind die Einfachheit, Sprachunabhängigkeit, Unabhängigkeit vom Web- Server und breite Akzeptanz. 24 12
Server Side Includes Server Side Includes (Abkürzung: SSI) bieten Möglichkeiten, die HTML-Ausgabe dynamisch zu gestalten. So können direkt innerhalb von WWW-Dokumenten Dateien eingebunden werden aktuelle Informationen, wie z.b. Datum und Uhrzeit, ausgeben werden ein CGI-Programm gestartet und dessen Ausgaben - beispielsweise ein individueller Begrüssungstext - in die HTML-Ausgabe eingebunden werden Variablen gesetzt und ausgewertet werden Kontrollstrukturen genutzt werden - z.b. können abhängig vom Wert einer Variablen HTML-Ausgaben gesteuert werden. Diese SSI-Beschreibung gilt für den Apache HTTP Server: http://www.cgi-now.de/ssi.html 25 HTTP-Cookies Eine Möglichkeit, CGI-Skripte interaktiver zu gestalten, bieten Cookies. Das sind kleine, auf dem Client gespeicherte Textdateien. Cookies können u.a. dazu genutzt werden, Registrierungsinformationen zu speichern (z.b. virtueller Einkaufswagen). 26 13
Datenfluss mit PHP 1 <html> PHP-Skript <head> <title> <?php echo $seitentitel;?> </titel> <h1> <?php $news_header?> </h1> 2 Datenbank 3 4 6 <html> <head> <title> Willkommen bei PHP! </titel> <h1> HEUTE: Neue Release 4.0.18 </h1> 5 Webserver- Output PHP- Prozessor 27 Dynamische Webseiten LAMP: Linux Apache MySQL PHP Verbreiteste Webserverlösung im Internet Technologie-Mix im low cost Bereich Aufbau von hochleistungsfähigen Webseiten zu geringen Kosten Web User World Wide Web (WWW) Request/ Response Request/ Response Apache HTTP- Server Seitenlayout Datenaufbereitung PHP Interpreter MySQL Datenbank Präsentation Verarbeitung Datenbasis 28 14
Beispiel Deutscher Wetterdienst http://www.dwd.de/de/technik 29 SQL Injection Grundlage dynamischer Webseiten bilden meist Datenbankabfragen. Ein bekannter Angriff ist hierbei die SQL Injection. Bei dieser Methode wird versucht, mit gezielter Eingabe zusätzliche Information zu erlangen oder Datenbankinhalte zu manipulieren. US-CERT Vulnerability Note VU#508387... Microsoft SQL Server contains SQL injection vulnerability in replication stored procedures... Microsoft SQL Server contains multiple SQL injection vulnerabilities that allow database users... 30 15
Möglicher Angriff Authentifizierung: SELECT * FROM users WHERE username = `${username}` AND password = `${password}` ` OR ` ` = ` ` SELECT * FROM users WHERE username = ` ` AND password = ` ` OR ` ` = ` ` Bedingung ist für alle Datensätze erfüllt! ResultSet enthält alle Datensätze, der erste wird verwendet! 31 Noch ein Beispiel showorder.jsp: SELECT * FROM orders WHERE orderid = ${orderid} https://www.xyshop.ch/showorder.jsp?orderid=1 Tabelle löschen: https://www.xyshop.ch/showorder.jsp?orderid=1;drop+table+users SELECT * FROM orders WHERE orderid = 1;drop table users und die Tabelle users wird gelöscht! 32 16
Gegenmassnahmen Überprüfen der Eingabewerte Prepared Statements Auslagerung der Business-Logik in Beans Spezielles Konto für DB-Zugriff Passwörter nicht in Klartext speichern Default-Fehlermeldungen vermeiden Code-Review 33 Elektronischer Marktplatz C2C C2B B2C B2B Kennen Sie typische Beispiele? 34 17
Englische Auktion Auktionen Holländische Auktion Höchstpreisauktion (Erstpreisauktion) Vickrey-Auktion (Zweitpreisauktion) 35 Zahlungssysteme Tauschgeschäft Münze Banknote Zahlungsanweisung Check Kreditkarte Elektronisches Zahlungssystem? 36 18
Anforderungen Kunde: Sicherheit Hohe Verbreitung Einfache Handhabung Händler: Keine Zahlungsausfälle Geringe Gebühren Hohe Verbreitung 37 Realität Die Realität ist ernüchternd: Die Liste der bereits gescheiterten Versuche wächst stetig. Jüngstes Opfer war erst vor wenigen Wochen Payitmobile. Schon im vergangenen Jahr kam das Aus für das Prepaid- Bezahlsystem "ecash" der Deutschen Bank: Der Kunde wollte kein Geld im Voraus auf ein eigenes Online- Bezahlkonto legen. Auch der Anbieter Millicent blieb erfolglos - die Notwendigkeit, bei jedem Händler ein Konto zu eröffnen, machte es zu kompliziert. Ähnlich erging es CyberCash, das nur mit registrierten Händlern zusammenarbeitete. Auch CyberCoin, DigiCash und Electronic Debit Direct (edd) fielen der mangelnden Akzeptanz zum Opfer. Das Sterben der Bezahlsysteme geht weiter. Quelle: Golem.de 11.04.2002 38 19
Cash Card http://www.cashcard.ch Die Alternative zum umständlichen Kleingeld heisst CASH. - 4.2 Mio. Karten mit dem CASH-Chip im Umlauf - Kurze Transaktionszeiten bei CASH-Zahlungen - Geringe Gebühr/Kommission je CASH-Transaktion - Kein Diebstahlrisiko von Bargeld - Bargeldlose Gutschrift des Kontos 39 Kreditkarte 40 20
41 E-Banking Wie ist die Sicherheit der bei uns bekanntesten E-Banking Lösungen geregelt? UBS CS Yellownet Raiffeisen ZKB 42 21
EDI Electronic Data Interchange (EDI) bezeichnet als Sammelbegriff alle elektronischen Verfahren zum asynchronen (Store-And-Forward) und vollautomatischen Versand von strukturierten Nachrichten zwischen Anwendungssystemen unterschiedlicher Institutionen. http://de.wikipedia.org/wiki/electronic_data_interchange 43 44 22