5 Un/sichere Anwendungssoftware NS-5.1 1
World-Wide Web E-mail Zahlungsverkehr..... und diverse andere, aufsetzend auf Middleware ( 6) NS-5.1 2
5.1 World-Wide Web Angriff Verletztes Schutzziel Angreifer Geschädigter Verteidigung Web Spoofing (2.3.3 ) Authentizität Vetraulichkeit Integrität Dritter Benutzer https Daten abhören, modifizieren Vertraulichkeit Integrität Dritter Benutzer, Betreiber https Unterwandern des Servers! beliebig! Benutzer Betreiber Server-Qualität Rechtevergabe Firewall Dienstblockade Verfügbarkeit Benutzer Betreiber (Intrusion Detection) Cookies Vertraulichkeit Anonymität Betreiber Benutzer Cookies abschalten Verkehrsdaten mitschneiden Anonymität Betreiber Dritter Benutzer Anonymisierer NS-5.1 3
5.1.1 Web Spoofing wird bekämpft mit https (Port 443) = http über SSL (3.3.1 ) Achtung Selbst bei optimaler Verteidigung bleibt die Server-Authentizität eine Schwachstelle! Ursachen Browser defekt/falsch konfiguriert Manipulation durch heruntergeladenen Code Unachtsamkeit/Unwissen des Benutzers NS-5.1 4
Zur Erinnerung (2.3.3 ) Auf einer Webseite findet man Anklicken führt zu http://www.47ll.com Achtung: das ist keine authentische Seite für das bekannte Echt Kölnisch Wasser, denn in 47ll ist "l" nicht die Ziffer "eins", sondern der Buchstabe "el". Verteidigung: Inhalt der Statuszeile und dann Inhalt der Adresszeile sorgfältig beachten! NS-5.1 5
Variationen über dieses Thema: http://www.cnn.com:mainpage@129.170.213.101/~sws/0/ Aber: Ich gehe zu www.bahn.org und lande auf professioneller Bahn-Seite mit - echt oder getürkt?? Übung: Weitere Tricks ausdenken! NS-5.1 6
Probleme: Die URL sagt wenig aus über die tatsächliche Organisation bzw. Person, die hinter einer Webseite steht. Eine betrügerische Seite kann die Anzeige von URLs durch client-side scripting manipulieren, und zwar sowohl in der Statuszeile (mouse-over) als auch in der Adresszeile! Transitives Web-Spoofing: Eine betrügerische Startseite auf www.attract.org, die diverse attraktive Verweise auf andere Seiten enthält, wird so eingerichtet, dass allen diesen "normalen URLs" die URL www.attract.org vorangestellt wird. Alle vom Benutzer angefragten Seiten laufen durch www.attract.org und werden entsprechend manipuliert! Der gesamte Web-Verkehr des Benutzers ist damit abhorchbar und manipulierbar - bis eine neue URL eingegeben wird! NS-5.1 7
https: Web Server wird über SSL authentisiert: er übermittelt beim Handshake sein Zertifikat (und verwendet beim Handshake seinen privaten Schlüssel!). Zertifikat enthält hinreichend überzeugende Bezeichnung der verantwortlichen Organisation/Person! Inhalt des Zertifikats kann auf Wunsch des Benutzers vom Browser angezeigt werden! Authentizität hängt an der Echtheit des Zertifikats: es muss von einer Instanz signiert sein, die der Browser kennt (öffentlicher Schlüssel!) und der er vertraut; aber der Browser ist kein Mensch...? NS-5.1 8
Browser wird vom Menschen entsprechend konfiguriert: wird mit den korrekten öffentlichen Schlüsseln einiger Zertifizierungsinstanzen (CAs) ausgeliefert kann jederzeit umkonfiguriert werden NS-5.1 9
NS-5.1 10
NS-5.1 https mit Safari 11
NS-5.1 12
Aber: betrügerische Seite kann mittels Scripting so gestaltet werden, dass beim Klicken auf ein "https"-link eine SSL-Verbindung zum erwarteten Anbieter nur vorgegaukelt wird: in Wahrheit existiert eine (ungeschützte) Verbindung zum Betrüger! In der Adresszeile wird die erwartete URL https://... angezeigt; ferner wird das Schloss-Symbol angezeigt. Und wenn der Benutzer das Zertifikat sehen will, wird das erwartete Zertifikat angezeigt! Gegenmaßnahme: JavaScript abschalten (oft nicht realistisch!) Details: http://www.cs.dartmouth.edu/~pkilab/demos/spoofing/ NS-5.1 13
5.1.2 Cookies ("Kekse") Das HTTP-Protokoll erlaubt dem Server, kleine Informationspakete - Cookies - an den Browser zu schicken (der sie in einer Datei speichert) und später wieder abzurufen.! Der Benutzer merkt davon nichts! (Aber konfigurierbar z.b. bei Firefox.) Wozu? Server kann über Cookies einen Zusammenhang zwischen verschiedenen Verbindungen herstellen. (Das gelingt sonst nicht, weil HTTP keine zustandsbehafteten "Sitzungen" kennt.) Anwendungen: - personalisierter Web-Auftritt des Servers - elektronischer Warenkorb - u.a. NS-5.1 14
Empfehlung: alle Cookies löschen, dann einige Webseiten besuchen und nachsehen, wer Cookies setzt. NS-5.1 15
Gefahr des Missbrauchs: Server kann systematisch Benutzerprofile erstellen (Dossiers) und eventuell sogar konkreten Personen zuordnen (wie beim elektronischen Einkauf) - z.b. für Werbung... oder auch für weniger harmlose Zwecke. Gefahrenabwehr: Cookies nicht akzeptieren (oft nicht realistisch!) Cookies öfter löschen anonymes Web Surfing ( 5.1.3) NS-5.1 16
5.1.3 Anonymisierer! Wer sich ins Web begibt, wird dort gesehen.! Benutzer hinterlässt Spuren seiner Aktivität im Netz sowohl auf eigenem Rechner (Cookies) als auch auf anderen: sowohl im Server als auch in Zwischenstationen können Nutzdaten, Verbindungsdaten (IP-Adresse) und eventuell Namen gesammelt werden. wünschenswert: Anonymität im Web NS-5.1 17
Vorbemerkungen: Empfänger/Sender-Anonymität bei Beobachtung durch einen Dritten: Empfänger-Anonymität: kann A eine Nachricht an B schicken, ohne dass ein Dritter den Empfänger B erkennen kann? Ja, mit Rundsendung von Rechner A, z.b. im Ethernet, die mit dem öffentlichen Schlüssel von Rechner B verschlüsselt ist! Sender-Anonymität: kann A eine Nachricht an B schicken, so dass zwar B den Absender A erkennen kann, nicht aber ein Dritter? Ja, indem die Nachricht mit dem Absender versehen wird und das Ganze mit dem öffentlichen Schlüssel des Empfängers B verschlüsselt wird! (Evtl. + IP-Spoofing "für einen guten Zweck"! (?) ) NS-5.1 18
MIX [Chaum 1981]: Ein Rechner, der als Anonymisierer zwischen Sendern und Empfängern von Nachrichten sitzt: Sender MIX Empfänger e E M [x,e] (x,e) = D M [E M [x,e] (y,..) = D M [E M [y,..] (z,..) = D M [E M [z,..]..... x Der MIX sammelt einige eintreffenden Nachrichten, entschlüsselt sie, rearrangiert sie und sendet sie an die jeweiligen Empfänger weiter. NS-5.1 19
Effekt des MIXing: Das Ausspionieren von E M [x,e] durch einen Dritten erlaubt keinen Rückschluss auf den endgültigen Empfänger e. Das Analysieren von x - durch Empfänger oder Dritten - erlaubt keinen Rückschluss auf den ursprünglichen Sender.* Zwischen E M [x,e] und x besteht keine erkennbare Beziehung: ein beobachtender Dritter kann nur feststellen, dass die Sender Nachrichten abschicken und dass die Empfänger Nachrichten erhalten - mehr nicht! Sender- und Empfänger-Anonymität! Aber wenn der MIX selbst der betrügerische Dritte ist?? * es sei denn über den Inhalt der Nachricht NS-5.1 20
MIX-Kaskade, z.b. bestehend aus 3 MIXen A, B, C, die von verschiedenen Organisationen betrieben werden: Sender schickt E A [E B [E C [x,e]]] an A. A dechiffriert und schickt E B [E C [x,e]] an B. B dechiffriert und schickt E C [x,e] an C. C dechiffriert und schickt x an e. NS-5.1 21
Umsetzung für das World-Wide Web: Dienst AN.ON mit Software JAP [Pfitzmann/Federrath 1998-2003] (Java Anonymity Proxy) Sender/Empfänger : IP-Adressen NS-5.1 22
Hybride Verschlüsselung (E M [K], K[x,e]) anstelle von E M [x,e] Bei jeder Anfrage an einen Web Server werden in den MIXen die jeweils verwendeten symmetrischen Schlüssel K gespeichert und zur Verschlüsselung der Antwort auf den jeweiligen Teilstrecken benutzt. In diesem Bereich sind die Daten JAP-verschlüsselt Achtung Cookies: werden in der aktuellen Version von JAP nicht gefiltert! http://anon.inf.tu-dresden.de/ NS-5.1 23