HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 1 Algorithm. Grundlagen...

21
HEINZ NIXDORF INSTITUT Universität Paderborn EIM ‒ Institut für Informatik 1 gorithm. Grundlagen des Internets Mai 2003 Christian Schindelhauer Vorlesung Sommersemester 2003 Algorithmische Grundlagen des Internets II Christian Schindelhauer [email protected] HEINZ NIXDORF INSTITUT Universität Paderborn Fakultät für Elektrotechnik, Informatik und Mathematik Institut für Informatik AG Theoretische Informatik Algorithmen, Komplexitätstheorie, Paralleles Rechnen

Transcript of HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 1 Algorithm. Grundlagen...

Page 1: HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 1 Algorithm. Grundlagen des Internets 5. Mai 2003 Christian Schindelhauer Vorlesung.

HEINZ NIXDORF INSTITUTUniversität Paderborn

EIM ‒ Institut für Informatik

1Algorithm. Grundlagen des Internets5. Mai 2003

Christian Schindelhauer

Vorlesung Sommersemester 2003

Algorithmische Grundlagen des Internets

IIChristian Schindelhauer

[email protected]

HEINZ NIXDORF INSTITUTUniversität Paderborn

Fakultät für Elektrotechnik, Informatik und MathematikInstitut für Informatik

AG Theoretische InformatikAlgorithmen, Komplexitätstheorie, Paralleles Rechnen

Page 2: HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 1 Algorithm. Grundlagen des Internets 5. Mai 2003 Christian Schindelhauer Vorlesung.

HEINZ NIXDORF INSTITUTUniversität Paderborn

EIM ‒ Institut für Informatik

2Algorithm. Grundlagen des Internets5. Mai 2003

Christian Schindelhauer

Motivation und Ziel

o Algorithmen und Probleme des Internets Die Struktur des Internets ist historisch gewachsen Von kleinen Anfängen zum globalen umfassenden

Rechnernetzerk Das Internet vernetzt viele heterogene lokale Netzwerke

(LAN) Ständig verändernde Nutzung Unterschiedliche Absichten der Nutzer Interessante algorithmische Problemstellungen und

entsprechend originelle Lösungen.

Ziel dieser Veranstaltung Theoretische Hintergründe hinter beispielhaften

Problemstellungen und algorithmischen Lösungen vorstellen und diskutieren.

Page 3: HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 1 Algorithm. Grundlagen des Internets 5. Mai 2003 Christian Schindelhauer Vorlesung.

HEINZ NIXDORF INSTITUTUniversität Paderborn

EIM ‒ Institut für Informatik

3Algorithm. Grundlagen des Internets5. Mai 2003

Christian Schindelhauer

Inhalte

1. Kurzübersicht TCP/IP

2. IP: Der Kampf gegen DoS-Angriffe (denial of service)

3. TCP: Verteilte faire und effiziente Durchsatzoptimierung

4. Der Webgraph:• Struktur und Aufbau • Suchalgorithmen für das Internet

5. P2P (Peer to Peer-Netzwerke): Effizientes File-sharing

6. Web-Caching: Surfen ohne Engpässe

Page 4: HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 1 Algorithm. Grundlagen des Internets 5. Mai 2003 Christian Schindelhauer Vorlesung.

HEINZ NIXDORF INSTITUTUniversität Paderborn

EIM ‒ Institut für Informatik

4Algorithm. Grundlagen des Internets5. Mai 2003

Christian Schindelhauer

Eine Kurzeinführung von TCP/IPDas Internet-Schichtenmodell

Anwendung

Transport

Netzwerk

Link

TCP (transmission control protocol)UDP (user datagramm protocol)

IP (internet protocol)+ ICMP (internet control message protocol)+ IGMP (internet group management protocol)

LAN (z.B. Ethernet, Token Ring etc.)

z.B. Telnet, FTP, HTTP, Email

Das Internet (von worldwide inter-networking) • ist das weltweite, offene WAN (wide area

network) •verbindet LANs (local area networks)• ist systemunabhängig

Page 5: HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 1 Algorithm. Grundlagen des Internets 5. Mai 2003 Christian Schindelhauer Vorlesung.

HEINZ NIXDORF INSTITUTUniversität Paderborn

EIM ‒ Institut für Informatik

5Algorithm. Grundlagen des Internets5. Mai 2003

Christian Schindelhauer

Netzwerkschicht (II)(network layer)

o IP ist ein Datagrammauslieferungsdienst Soweit möglich direkte Übergabe von Sender zu Empfänger Sonst: Hop-Routing über Router

o IP ist unzuverlässig Fehlerbehandlung:

• Falls Problem beim Routing: - Lösche Datagramm- Schicke Fehlermeldung durch ICMP an Absender

• Falls Problem beim Routing von ICMP-Fehlermeldung- Lösche Fehlermeldungspaket

Keine Redundanz vorgesehen TTL-Feld begrenzt Anzahl der Hops eines Datagramms

Page 6: HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 1 Algorithm. Grundlagen des Internets 5. Mai 2003 Christian Schindelhauer Vorlesung.

HEINZ NIXDORF INSTITUTUniversität Paderborn

EIM ‒ Institut für Informatik

6Algorithm. Grundlagen des Internets5. Mai 2003

Christian Schindelhauer

Routing im Internet durch IP

o Routing-Prinzip für Datagramm im Router: Falls Ziel = eigene ID, dann Übergabe an Transportschicht Ansonsten falls Ziel-Netz = lokales Netz, dann verschicke

Datagramm direkt an Zielrechner Ansonsten suche gemäß Ziel-IP-Adresse den nächsten

Router aus lokaler Routingtabelle und sende Datagramm zum nächsten Router

o Unterhalt von Routingtabellen manuell (LAN) oder automatisch durch

• RIP (Routing Information Protocol), • OSPF (Open Shortest Path First)• ...

Page 7: HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 1 Algorithm. Grundlagen des Internets 5. Mai 2003 Christian Schindelhauer Vorlesung.

HEINZ NIXDORF INSTITUTUniversität Paderborn

EIM ‒ Institut für Informatik

7Algorithm. Grundlagen des Internets5. Mai 2003

Christian Schindelhauer

Beispiel zum Zusammenspiel

Page 8: HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 1 Algorithm. Grundlagen des Internets 5. Mai 2003 Christian Schindelhauer Vorlesung.

HEINZ NIXDORF INSTITUTUniversität Paderborn

EIM ‒ Institut für Informatik

8Algorithm. Grundlagen des Internets5. Mai 2003

Christian Schindelhauer

Netzwerkschicht (I)(network layer)

o IP (Internet Protocol) + Hilfsprotokolle ICMP (Internet Control Management Protocol) IGMP (Internet Group Management Protocol) Ermöglicht Verbund von (lokalen) Netzwerken

IP ist ein unzuverlässiger verbindungsloser Datagrammauslieferungsdienst

o Datagramm besteht aus Anwendungsdaten und Header:• Absender, Zieladresse• TOS-Feld (type of service)• TTL-Feld (time to live)• ... (z.B. Paketlänge, Checksum für Header)

Page 9: HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 1 Algorithm. Grundlagen des Internets 5. Mai 2003 Christian Schindelhauer Vorlesung.

HEINZ NIXDORF INSTITUTUniversität Paderborn

EIM ‒ Institut für Informatik

9Algorithm. Grundlagen des Internets5. Mai 2003

Christian Schindelhauer

IP versus VC

• Internet-Router arbeiten als autonome Systeme (AS)

– Treffen Wegewahl unabhängig

– Unterhalten Routingtabellen mit unterschiedlichen Algorithmen

• IP implementiert kein Virtual Circuit (VC)

– Virtual circuit routing etabliert Route zwischen Quelle und Ziel

– Eine Route in VC definiert zustand des VC

• IP-Routing ist zustandslos und verbindungslos

Eigenschaft IP VC

Verbindungs-aufbau

Ja Nein

Zustands-information

keineJa, für etabl.

Routen

Wegewahl der Pakete einer Verbindung

Verschiedene Wege möglich

Route ist fest

Routerausfall

kein Effekt, nur Pakete auf

ausgefallenen Router verloren

Alle Routen durch defekten

Router sind verloren

Congestion control

(Staukontrolle)

schwierig (durch TCP)

Einfach

Page 10: HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 1 Algorithm. Grundlagen des Internets 5. Mai 2003 Christian Schindelhauer Vorlesung.

HEINZ NIXDORF INSTITUTUniversität Paderborn

EIM ‒ Institut für Informatik

10Algorithm. Grundlagen des Internets5. Mai 2003

Christian Schindelhauer

Dienstverweigerungsangriffe(Denial of Service DoS)

Denial of Service (DoS)-Angriffe verbrauchen die Ressourcen eines Rechners oder Netzwerks, um deren

Verfügbarkeit zu verringern oder auszuschalten.

Angriffsziel Rechner– z.B. SYN-Angriffe:

• Angriffsziel Rechner im Internet

• Eine Reihe von „half-open“ TCP-Verbindungen wird aktiviert

• Ununterscheidbar von regulären Anfragen

• Der TCP-Server muss SYN/ACK-Pakete senden und auf Reaktion warten

– Rechnerangriffe können rel. gut lokal abgewehrt werden

Angriffsziel Netzwerk– z.B. SMurf-Angriff oder

distributed DoS (DDoS)– Angriff gegen Internet-

Service Provider (ISP)– Großer Datenstrom wird

auf Netzwerk gerichtet– Mit gleicher Häufigkeit

werden gültige wie DoS-Pakete wegen Überlastung durch IP gelöscht

– Netzwerkangriffe sind schwierig zu bekämpfen

Page 11: HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 1 Algorithm. Grundlagen des Internets 5. Mai 2003 Christian Schindelhauer Vorlesung.

HEINZ NIXDORF INSTITUTUniversität Paderborn

EIM ‒ Institut für Informatik

11Algorithm. Grundlagen des Internets5. Mai 2003

Christian Schindelhauer

TCP-Verbindungsaufbau

o In der Regel Client-Server-Verbindungen Dann Aufbau mit drei TCP-Pakete (=Segmente) Mit ersten SYN-Segment auch Übermittlung der MSS (maximum segment size)

Page 12: HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 1 Algorithm. Grundlagen des Internets 5. Mai 2003 Christian Schindelhauer Vorlesung.

HEINZ NIXDORF INSTITUTUniversität Paderborn

EIM ‒ Institut für Informatik

12Algorithm. Grundlagen des Internets5. Mai 2003

Christian Schindelhauer

IP ist DoS-anfällig

Wie kann man die Quelle(n) einer eingehenden Datagrammflut mit gefälschten Quell-IP-Adressen

bestimmen?

• DoS-Angriffe auf IP-Ebene können meist nicht zurückverfolgt werden

– Der Angreifer erzeugt Datagramme mit falscher Quell-IP-Adresse

– Dem Empfänger der Datagramme steht die Routeninformation nicht zur Verfügung

– Es sei denn alle Router kooperieren bei der Suche, während einer Attacke

• DoS-Datagramme können nicht von legitimen Datatgrammen unterschieden werden

– Nur implizit und aus dem Kontext.

Beispiele:• Universitätsrechner werden

oft benutzt, um DoS-Attacken mit korrekter Quellinformation zu führen.

• 11. September 2001 – Sämtliche Nachrichtensites brachen unter der legitimer Last zusammen

Page 13: HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 1 Algorithm. Grundlagen des Internets 5. Mai 2003 Christian Schindelhauer Vorlesung.

HEINZ NIXDORF INSTITUTUniversität Paderborn

EIM ‒ Institut für Informatik

13Algorithm. Grundlagen des Internets5. Mai 2003

Christian Schindelhauer

Quellbestimmung einer DoS-Attacke

• Motivation:– Im einfachsten Fall: Quelle = Angreifer– Abschalten instrumentalisierter Rechner beendet (vorerst) den

Angriff

• Problem Reflektorangriff– Angreifer schickt Datagramme mit Opfer-IP-Adresse als falscher

Quellinformation an unbeteiligte Netzteilnehmer (Rechner oder Drucker

– Die unbeteiligten Netzteilnehmer beantwortet Request an mutmaßliche Quelle

– Das Opfer erhält die DoS-Attacke von diesen instrumentalisierten Netzteilnehmern

• Gegenmaßnahme– Vom instrumentalisierten Netzteilnehmer aus, muss der

Angreifer gefunden werden

Page 14: HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 1 Algorithm. Grundlagen des Internets 5. Mai 2003 Christian Schindelhauer Vorlesung.

HEINZ NIXDORF INSTITUTUniversität Paderborn

EIM ‒ Institut für Informatik

14Algorithm. Grundlagen des Internets5. Mai 2003

Christian Schindelhauer

Lösungen gegen DoS-Attacken

Ingress filtering [Ferguson, Senie ’98]

– Router blockieren Pakete mit fehlerhafter Quellinformation

– Sinnvoll an Schnittstellen von ISP

– Effektiv nur bei universellen Einsatz

– Wird aber nicht bei der Mehrheit der ISP eingesetzt

Link testing by input debugging

– Routenrückverfolgung stromaufwärts

– Opfer beschreibt allgemeines Merkmal der DoS-Datagramme (attack signature)

– Opfer kommuniziert diese Merkmal an Netzwerkbetreiber der eingehenden Datagramme

– Dieser wiederholt dies bis zur Quelle

– Einige ISP haben dieses Verfahren automatisiert [Stone ’00]

Page 15: HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 1 Algorithm. Grundlagen des Internets 5. Mai 2003 Christian Schindelhauer Vorlesung.

HEINZ NIXDORF INSTITUTUniversität Paderborn

EIM ‒ Institut für Informatik

15Algorithm. Grundlagen des Internets5. Mai 2003

Christian Schindelhauer

Quellbestimmung einer DoS-Attacke

Link testing durch controlled flooding [Burch, Cheswick ’99]

– Opfer verfügt über eine aktuelle Routingkarte– Während eines DoS-Angriffs konstruiert das Opfer die Angriffsrouten

stromaufwärts• indem es alle Möglichkeiten der letzten unbekannten Station selber durch

einen DoS-Angriff belegt• Läßt die Datenmenge kurzfristig nach, ist eine Station gefunden und der

Vorgang wird per Tiefensuche fortgesetzt– Nachteile

• Opfer wird selber zum Angreifer• Kaum geeignet für verteilte DoS-Angriffe (DDoS)• Kann leicht von einem Angreifer überlistet werden

– durch eingebaute Fluktuationen

Page 16: HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 1 Algorithm. Grundlagen des Internets 5. Mai 2003 Christian Schindelhauer Vorlesung.

HEINZ NIXDORF INSTITUTUniversität Paderborn

EIM ‒ Institut für Informatik

16Algorithm. Grundlagen des Internets5. Mai 2003

Christian Schindelhauer

Quellbestimmung einer DoS-Attacke

ICMP Traceback– Mit geringer W’keit (z.B. 1/20.000) wird in einem

Router ein ICMP-traceback-datagramm an den Zielknoten geschickt

– Der Zielknoten kann dann den Weg rekonstruieren– Nachteile: ICMP-Pakete könnten bei Pufferüberlauf

vor IP-datagrammen gelöscht werden

Marking [Savage et al. ’00]– In ungenutzte Felder des IP-

Headers schreibt jeder Router seine Adresse mit gewisser W’keit

– Nachteil:• DDoS-Pfade nur schwer

rekonstruierbar

Logging– Jeder Router zeichnet

alle IP-Header auf– Durch Data-Mining-

Techniken kann der Angreifer bestimmt werden

– Aber enormer Aufwand

Page 17: HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 1 Algorithm. Grundlagen des Internets 5. Mai 2003 Christian Schindelhauer Vorlesung.

HEINZ NIXDORF INSTITUTUniversität Paderborn

EIM ‒ Institut für Informatik

17Algorithm. Grundlagen des Internets5. Mai 2003

Christian Schindelhauer

Quellbestimmung einer DoS-Attacke

Verwaltungs-aufwand

Netzwerklast Router-aufwand

Post mortem fähig

Präventiv/ reaktiv

Ingress filtering

moderat niedrig moderat Nein präventiv

Link testing by input

debugginghoch niedrig hoch schlecht reaktiv

Link testing by flooding

niedrig hoch niedrig schlecht reaktiv

Logging hoch niedrig hoch ausgezeichnet reaktiv

ICMP Traceback

niedrig niedrig niedrig ausgezeichnet reaktiv

Markieren niedrig niedrig niedrig ausgezeichnet reaktiv

Page 18: HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 1 Algorithm. Grundlagen des Internets 5. Mai 2003 Christian Schindelhauer Vorlesung.

HEINZ NIXDORF INSTITUTUniversität Paderborn

EIM ‒ Institut für Informatik

18Algorithm. Grundlagen des Internets5. Mai 2003

Christian Schindelhauer

ICMP Traceback(Analyse I)

Theorem1. Wird mit Wahrscheinlichkeit p ein ICMP-Paket erzeugt, dann sind erwartet ((ln d) + O(1))/p DoS-Pakete

ausreichend zur Bestimmung eines DoS Pfades aus d Routern.2. Um mit Wahrscheinlichkeit 1 ‒ ε den Pfad zu bestimmen genügen ln(d)/p ‒ ln(ε)/p DoS Pakete.

BeweisSei t die Anzahl der DoS-Pakete. Bezeichne Xi,t die Zufallsvariable die Anzahl der Pakete, die Router i nach t DoS-Paketen erzeugt. Dann ist die Wahrscheinlichkeit P[Xi,t = 0], dass Router i kein ICMP-Paket erzeugt:

Lemma: Für alle n>1 gilt:

Page 19: HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 1 Algorithm. Grundlagen des Internets 5. Mai 2003 Christian Schindelhauer Vorlesung.

HEINZ NIXDORF INSTITUTUniversität Paderborn

EIM ‒ Institut für Informatik

19Algorithm. Grundlagen des Internets5. Mai 2003

Christian Schindelhauer

ICMP Traceback(Analyse II)

• Sei t die Anzahl der DoS-Pakete• Bezeichne Xi,t die Zufallsvariable für die Anzahl der Pakete, die

Router i nach t DoS-Paketen erzeugt.

• Die Wahrscheinlichkeit, dass einer der d Router kein Paket schickt, ist

Page 20: HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 1 Algorithm. Grundlagen des Internets 5. Mai 2003 Christian Schindelhauer Vorlesung.

HEINZ NIXDORF INSTITUTUniversität Paderborn

EIM ‒ Institut für Informatik

20Algorithm. Grundlagen des Internets5. Mai 2003

Christian Schindelhauer

ICMP Traceback(Analyse III)

2. Fall: Die Wahrscheinlichkeit, dass einer der d Router kein Paket schickt, soll kleiner als sein.

Damit ist

1. Fall: Sei Y die Zufallsvariable, die beschreibt, wieviele Runden notwendig sind, bis jeder der d Router ein Paket verschickt hat

Es gilt

Page 21: HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 1 Algorithm. Grundlagen des Internets 5. Mai 2003 Christian Schindelhauer Vorlesung.

HEINZ NIXDORF INSTITUTUniversität Paderborn

EIM ‒ Institut für Informatik

21Algorithm. Grundlagen des Internets5. Mai 2003

Christian Schindelhauer

ICMP Traceback(Analyse III)

1. Fall: Sei Y die Zufallsvariable, die beschreibt, wieviele Runden notwendig sind, bis jeder der d Router ein Paket verschickt hat

Es gilt

Der Erwartungswert von Y ist dann