Grundlagen der Netzwerkkommunikation - FB2

Werbung
Vorlesung „IT-Sicherheit“
FH Frankfurt
Sommersemester 2007
Dr. Volker Scheidemann
Be sure. Be
.
Kapitel 2: Sicherheit im Internet
Grundlagen der Netzwerkkommunikation
Angriffe auf Netzwerke
Abwehrmaßnahmen
Präsentation am 01.04.2007
Seite: 2
Be sure. Be
.
Netzwerkkommunikation
Ein Netzwerk besteht aus einem Zusammenschluss mehrerer Computer, die physikalisch
über Kabel und Vermittlungsstationen (z.B.
Hubs, Switches, Router) oder über
Luftschnittstellen (z.B. Satelliten, Richtfunk)
miteinander Verbunden sind.
Präsentation am 01.04.2007
Seite: 3
Be sure. Be
.
Netzwerkkommunikation
Damit Computer und andere Datenendgeräte
(z.B. Telefon, Fernseher) Daten über ein
Netzwerk austauschen können, müssen Sie
eine gemeinsame „Sprache“ sprechen. Diese
Sprache nennt man Kommunikationsprotokoll.
Präsentation am 01.04.2007
Seite: 4
Be sure. Be
.
Kommunikationsprotokolle
Ein Kommunikationsprotokoll regelt
die elektrischen Signale während der Kommunikation
die Reihenfolge, in der die Partner kommunizieren
die Sprache, in der sie sprechen, d.h. den Aufbau der
ausgetauschten Datenpakete
etc.
Präsentation am 01.04.2007
Seite: 5
Be sure. Be
.
Kommunikationsprotokolle: Beispiele
Folgende Protokolle sind wohlbekannt und weit
verbreitet:
PSTN (Public Switched Telephone Network)
ISDN (Integrated Services Digital Network)
TCP/IP (Transmission Control Protocol, Internet
Protocol)
Präsentation am 01.04.2007
Seite: 6
Be sure. Be
.
Kommunikationsprotokolle
Weitere Protokolle:X.25, Frame Relay, ATM,
Ethernet, ...
Ziel: einheitliches (abstraktes) Modell für alle
Protokolle
ISO-OSI Modell
ISO = International Standard Organisation,
OSI = Open System Interconnection
Präsentation am 01.04.2007
Seite: 7
Be sure. Be
.
ISO-OSI Modell
Layer 7
Anwendungsschicht,
Application Layer
Layer 6
Darstellungsschicht,
Presentation Layer
Layer 5
Steuerungsschicht,
Session Layer
Layer 4
Transportschicht,
Transport Layer
Layer 3
Vermittlungsschicht,
Network Layer
Layer 2
Sicherungsschicht,
Data Link Layer
Layer 1
Bitübertragungsschicht,
Physical Link Layer
Präsentation am 01.04.2007
Seite: 8
Be sure. Be
.
ISO-OSI Modell
Jede Schicht steht für eine Aufgabe.
Gedanklich kann jede Schicht auf die Dienste
der unterliegenden Schicht zugreifen und auf
einen Kommunikationspartner der gleichen
Schicht in einem anderen System.
Präsentation am 01.04.2007
Seite: 9
Be sure. Be
.
ISO-OSI Modell
System A
System B
Schicht n+1
Schicht n+1
Schicht n
Schicht n
Schicht n-1
Schicht n-1
Präsentation am 01.04.2007
Seite: 10
Be sure. Be
.
Schicht 1: Physical Link Layer
Befasst sich mit physikalischen und elektrischen
Eigenschaften in einem Netz.
Unterhalb dieser Schicht befindet sich das physikalische
Übertragungsmedium (z.B. Koaxialkalbel, Glasfaser,
Satellitenstrecke).
Aufgaben:
Bereitstellen des Übertragungskanals
Transport eines Stroms unformatierter Bits
Definition von Übertragungsparametern (z.B. Übertragungsgeschwindigkeit, Fehlerbedingungen)
Präsentation am 01.04.2007
Seite: 11
Be sure. Be
.
Schicht 2: Data Link Layer
Beschreibt Prozeduren zur fehlergesicherten Übertragung
von Daten und zum geregelten Zugriff auf das
Übertragungsmedium.
Beseitigt Fehler, die in Schicht 1 aufgetreten sind durch
Einsatz entsprechender Protokolle (z.B. HDLC = High
Level Data Link Control).
Verpackt Daten in formatierte Rahmen, die neben den
Nutzdaten Sender- und Empfängeradresse, sowie
Prüfsummen zur Fehlerkennung enthalten.
Präsentation am 01.04.2007
Seite: 12
Be sure. Be
.
Schicht 3: Network Layer
Beschreibt Prozeduren zum transparenten Austausch von
Daten zwischen adressierbaren Systemen.
Unterscheidet zwischen verbindungslosen (Datagramme)
und verbindungsorientierten (virtuelle Verbindungen)
Prozeduren.
Hauptaufgaben
Bereitstellen logischer Kanäle
Mehrfachausnutzung von Verbindungsstrecken (Multiplexing)
Vermittlungsfunktion (Routing)
Beispiele: IP, ISDN, X.25
Präsentation am 01.04.2007
Seite: 13
Be sure. Be
.
Schicht 4: Transport Layer
Beschreibt Prozeduren zur fehlergesicherten Übertragung
zwischen unterschiedlichen Systemen.
Garantiert, dass Daten vollständig, fehlerfrei, ohne
Duplizierungen und in der richtigen Reihenfolge geliefert
werden.
Beispiel: TCP
Präsentation am 01.04.2007
Seite: 14
Be sure. Be
.
Schicht 5: Session Layer
Beschreibt Mechanismen zum Aufbau eines geregelten
Dialogs zwischen Applikationen:
Auf-/Abbau und Aufrechterhaltung von Verbindungen
(Sessions)
Festlegungen bzgl. der Form des Dialogs
Aufsetzen nach Fehlersituationen
Synchronisation des Kommunikationsablaufs
Priorisierung der Datenübertragung
Beispiele: telnet, ftp
Präsentation am 01.04.2007
Seite: 15
Be sure. Be
.
Schicht 6: Presentation Layer
Sorgt für eine einheitliche, für alle Kommunikationspartner
verständliche Sprachgrundlage.
Interpretiert die ausgetauschten Datenpakete, z.B. als
Zeichencode, Datentyp o.ä.
Präsentation am 01.04.2007
Seite: 16
Be sure. Be
.
Schicht 7: Application Layer
Beschreibt eine Schnittstelle zwischen Anwendung und
Kommunikationsprozessen.
Stellt das Bindeglied zur Benutzeranwendung dar.
Definiert Funktionen für bestimmte Anwendungen (z.B.
File Transfer, E-Mail, Terminalzugang).
Präsentation am 01.04.2007
Seite: 17
Be sure. Be
.
Das OSI-Modell in der Praxis: TCP/IP
TCP/IP beschreibt eine Protokollfamilie für die
Kommunikation zwischen Computern unterschiedlicher
Hersteller und Betriebssysteme.
TCP/IP ermöglicht den Zugriff auf heterogene Netze.
TCP/IP ist DAS Protokoll des Internet.
Spezifikation von TCP/IP mittels RFCs
(RFC = Request for Comment, z.B. erhältlich unter
ftp://ftp.nic.de/pub/doc/rfc)
RFC 1180: TCP/IP Tutorial
Präsentation am 01.04.2007
Seite: 18
Be sure. Be
.
TCP/IP : Protokollschichten
TCP/IP unterscheidet vier Protokoll-Level, die in den
sieben Schichten des ISO-OSI-Modells aufgehen
Network Level (entspricht in etwa ISO-OSI Layer 1,2)
Internet Level (entspricht in etwa ISO-OSI Layer 3)
Transmission Level (entspricht in etwa ISO-OSI Layer 4)
Application Level (entspricht in etwa ISO-OSI Layer 5,6,7)
Präsentation am 01.04.2007
Seite: 19
Be sure. Be
.
IP-Adressen
Jeder Rechner im Internet besitzt eine eindeutige
Adresse, unter der er bei der Kommunikation erreicht
werden kann: die IP-Adresse.
Eine IP-Adresse ist vier Byte groß und wird mit Werten
zwischen 0 und 255 und Punkten getrennt angegeben:
Beispiel: 213.217.110.243 (= www.apsec.de)
Es gibt Adressbereiche, die im Internet nicht geroutet
werden. Diese dienen z.B. dem Aufbau von internen
Netzen in Firmen (vgl. RFC 1918)
Präsentation am 01.04.2007
Seite: 20
Be sure. Be
.
IP-Adressen
Eine IP-Adressen unterteilt sich in die Netzadresse und
die Adresse des in diesem Netz befindlichen Rechners.
Beispiel: 137.248.121.1
Netzadresse
Hostadresse
Präsentation am 01.04.2007
Seite: 21
Be sure. Be
.
IP-Pakete
IP ist ein verbindungsloses Protokoll der Netzwerkebene
Ein IP-Datenpaket besteht aus dem so genannten IPHeader und den eigentlichen Nutzdaten. Ein IP-Paket ist
maximal 65536 Bytes = 64 KByte groß.
Die IP-Nutzdaten können wiederum Protokollinformationen einer höheren Schicht enthalten, z.B TCP.
Header
Daten
IP-Paket
Präsentation am 01.04.2007
Seite: 22
Be sure. Be
.
IP-Pakete
Der IP-Header besteht aus 15 Feldern:
V: Versionsnummer, 4 Bits
HL: Headerlänge in Worten (1 Wort = 4 Byte), 4 Bits
TS: Type of Service (8 Bits)
TL: Total Length in Bytes
ID: Identification (16 Bits)
D: Don‘t fragment (1 Bit)
M: More fragments (1 Bit)
Präsentation am 01.04.2007
Seite: 23
Be sure. Be
.
IP-Pakete
Der IP-Header besteht aus 15 Feldern:
R: Reserve (1 Bit)
FO: Fragment Offset (13 Bits)
TTL: Time to live (in Hops) (8 Bits)
Prot: Protokoll (8 Bits), z.B. 6 für TCP
HC: Header Checksum (16 Bits)
SA/DA: Source Adress/Destination Adress (je 32 Bits)
Opt: Options (allgemein verfügbar, z.B. zum Debugging)
Präsentation am 01.04.2007
Seite: 24
Be sure. Be
.
Der Weg durchs Netz
In einem Netz finden Daten im seltensten Fall den
direkten Weg zwischen Absender und Empfänger.
Vielmehr nehmen sie den Weg über einige
Zwischenstationen.
Absender
Empfänger
Präsentation am 01.04.2007
Seite: 25
Be sure. Be
.
Routing
Der Weg, den ein IP-Datenpaket nimmt, ist nicht
immer gleich. Die Vermittlungsrechner, die den
für ein Datenpaket zu nehmenden Weg
bestimmen, heißen Router oder Gateways.
Präsentation am 01.04.2007
Seite: 26
Be sure. Be
.
Routing
Beziehen Router bei der Berechnung des Weges,
den ein Datenpaket nehmen soll, Faktoren wie
aktuelle Netzauslastung oder Verfügbarkeit
bestimmter Rechnersysteme mit ein, spricht man
von dynamischen Routing, sonst von statischem.
Präsentation am 01.04.2007
Seite: 27
Be sure. Be
.
Routing
Den Weg, den ein IP-Paket von Rechner A zu
Rechner B nimmt, kann man über das Kommando
tracert <Adresse des Zielrechners> anzeigen.
Präsentation am 01.04.2007
Seite: 28
Be sure. Be
.
Präsentation am 01.04.2007
Seite: 29
Be sure. Be
.
Gefahren
Auf jedem Gateway/Router können Datenpakete
beobachtet oder verändert werden.
Es ist möglich, Daten über bestimmte Routen zu lotsen,
indem Einträge in Routing-Tabellen manipuliert werden Daten können über Rechner laufen, zu denen ein
Angreifer Zugang hat.
IP bietet standardmäßig keine Schutzmechanismen
gegen unbefugten Zugriff.
Präsentation am 01.04.2007
Seite: 30
Be sure. Be
.
Gefahren
Tools, die Datenpakete mitschneiden und
auswerten (so genannte Sniffer) sind im
Internet kostenlos erhältlich und nicht illegal.
Jeder Netzwerkadministrator benutzt sie. Sie
können aber auch missbraucht werden.
Präsentation am 01.04.2007
Seite: 31
Be sure. Be
.
Präsentation am 01.04.2007
Seite: 32
Be sure. Be
.
Portnummern
Ein Rechner, z.B. ein Server, muss in der Lage
sein, mit mehr als einem anderen Rechner
gleichzeitig zu kommunizieren.
Manche Anwendungen erfordern den gleichzeitigen Aufbau mehrerer Verbindungen, z.B.
um Nutzdaten und Steuerkommandos zu
übertragen.
Präsentation am 01.04.2007
Seite: 33
Be sure. Be
.
Portnummern
Protokolle auf der Transportebene führen so
genannte Portnummern ein, die zusammen mit
der Netzwerk-ID und der Rechner-ID einen
Kommunikationsendpunkt (Port) bilden.
Analogie: Telefonnummer
Vorwahl – Rufnummer – Nebenstelle
Präsentation am 01.04.2007
Seite: 34
Be sure. Be
.
Portnummern
Dienste der Anwendungsschicht, z.B. telnet
oder ftp erfordern eine bestehende virtuelle
Verbindung zwischen zwei Rechnern. Um diese
aufnehmen zu können muss dem Client aber
wenigstens ein Port bekannt sein, auf dem der
Dienst des Servers erreichbar ist.
Einführung von Well-known Ports für
bestimmte Dienste
Präsentation am 01.04.2007
Seite: 35
Be sure. Be
.
Well-known Ports (Auszug)
Dienst
Portnummer
Protokoll
echo
7
UDP oder TCP
ftp-data
20
TCP
ftp
21
TCP
telnet
23
TCP
smtp
25
TCP
dns
53
UDP
tftp
69
UDP
finger
79
TCP
http
80
TCP
Präsentation am 01.04.2007
Seite: 36
Be sure. Be
.
Portnummern
Ein Client, der z.B. eine telnet-Session mit
einem entfernten Rechner starten will,
versucht sich auf Port 23 des Zielrechners zu
verbinden. Wenn er eine Antwort erhält, ist
der telnet-Dienst aktiv.
Der Client teilt dem Server seine eigene
Portnummer mit, auf dem er die Antworten
entgegen nimmt.
Präsentation am 01.04.2007
Seite: 37
Be sure. Be
.
Portnummern
Mit Hilfe so genannter Portscanner kann man
feststellen, auf welchen Ports eines entfernten
Rechners eine Verbindung aufgenommen
werden kann („Port offen“).
Jeder offene Port ist eine potenzielle
Sicherheitslücke. Allerdings ist ohne offene
Ports keine Kommunikation zwischen zwei
Rechnern möglich.
Präsentation am 01.04.2007
Seite: 38
Be sure. Be
.
Portscanner: Beispiel
Präsentation am 01.04.2007
Seite: 39
Be sure. Be
.
Protokolle der Transportschicht: UDP
UDP = User Datagram Protocol
Verbindungslos
Benutzt IP zum Datentransport
Kann - anders als IP - zusätzlich Ports adressieren
Dient der Übertragung kleiner Datenmengen
Leicht zu manipulieren
Präsentation am 01.04.2007
Seite: 40
Be sure. Be
.
Protokolle der Transportschicht: TCP
TCP = Transmission Control Protocol
Verbindungsorientiert
Benutzt IP zum Datentransport
Kann Ports adressieren
Enthält Sequenznummern, nach denen Datensegmente
in der richtigen Reihenfolge zusammengesetzt werden
Empfangene Daten werden quittiert
Verbindungsaufbau durch three-way-handshake
Präsentation am 01.04.2007
Seite: 41
Be sure. Be
.
TCP-Pakete
Ein TCP-Paket besteht aus
SP: Source Port (16 Bit)
DP: Destination Port (16 Bit)
SN: Sequence Number (32 Bit)
AN: ACK-Number (Quittungsnummer, 32 Bit)
HL: Header Length (4 Bit)
R: Reserved (6 Bit)
CB: Code Bits (6 Bit)
W: Window (16 Bit)
CS: Checksum (16 Bit)
UP: Urgent Pointer (16 Bits)
Opt: Optional
Data: TCP-Daten
Präsentation am 01.04.2007
Seite: 42
Be sure. Be
.
Code Bits
Das Feld CB enthält 6 Flags, die eine besondere
Bedeutung haben:
Urgent pointer valid
ACK-Number valid
PSH: Deliver data! (Push)
RST: Reset SN and AN
SYN: Synchronise SN and AN
FIN: End of data
Präsentation am 01.04.2007
Seite: 43
Be sure. Be
.
TCP-Verbindungsaufbau: 3-way-handshake
Beim Aufbau einer TCP-Verbindung zwischen zwei
Rechnern findet ein so genannter 3-way-handshake statt:
SYN
SYN/ACK
ACK
Präsentation am 01.04.2007
Seite: 44
Be sure. Be
.
TCP-Verbindungsaufbau: 3-way-handshake
Vorteil: Verbindung zwischen Client und Server
wird bestätigt.
Nachteil: Anfällig für DoS-Angriffe
Beispiele für DoS-Attacken
SYN-Flooding
Land-Attack
Präsentation am 01.04.2007
Seite: 45
Be sure. Be
.
Beispiel Denial of Service: SYN-Flooding
Angreifer schickt SYN-Packet an Server
Server schickt SYN-ACK-Paket an Angreifer
und speichert den aktuellen Verbindungszustand in einer internen Tabelle. Nun wartet
er auf das finale ACK-Paket.
Angreifer schickt kein ACK, sondern erneutes
SYN.
Präsentation am 01.04.2007
Seite: 46
Be sure. Be
.
Beispiel Denial of Service: SYN-Flooding
Tabelleneinträge beim Server bleiben bis zu
einem Timeout stehen.
Wenn die Tabelle voll ist, kann der Server
keine Verbindungen mehr annehmen. Er
verweigert den Dienst.
Präsentation am 01.04.2007
Seite: 47
Be sure. Be
.
Beispiel Denial of Service: Land-Attack
Angreifer schickt SYN-Paket mit gefälschter
Absenderadresse („IP-Spoofing“) an Server.
Als Absenderadresse benutzt er die eigene
Adresse des Servers.
Server schickt SYN-ACK-Paket an vermeintlichen Absender, d.h. an sich selbst.
Präsentation am 01.04.2007
Seite: 48
Be sure. Be
.
Beispiel Denial of Service: Land-Attack
Aufgrund eines weit verbreiteten Fehlers in
(älteren) TCP-Implementierungen interpretieren viele Rechner dieses Paket als
erneute Verbindungsanfrage.
Der Server gerät in eine Endlosschleife und
stürzt ab (vgl. SYN-Flooding).
Präsentation am 01.04.2007
Seite: 49
Be sure. Be
.
Beispiel Denial of Service: Land-Attack
Die Land-Attacke tauchte erstmals im Jahr
1997 auf. Betroffen waren eine Vielzahl von
Betriebssystemen, u.a.
Windows 95, Solaris 2.5.1, HP-UX 10.20, MacOS 8.0,
NetBSD 1.2
Außerdem betroffen: Cisco Router
Präsentation am 01.04.2007
Seite: 50
Be sure. Be
.
Beispiel Denial of Service: Land-Attack
Nach einer Meldung von heise Security vom
8.März 2005 sind aktuelle Versionen von
Windows XP (SP2) wieder verwundbar gegen
die Land-Attacke:
http://www.heise.de/security/news/meldung/print/57199
Präsentation am 01.04.2007
Seite: 51
Be sure. Be
.
Einfache Internetdienste
ftp
telnet
smtp
Präsentation am 01.04.2007
Seite: 52
Be sure. Be
.
Einfache Internetdienste: ftp
ftp = file transfer protocol
Basiert auf TCP
Dienst der Sitzungsschicht
Dient dem Austausch von Dateien
Benutzt Ports 20 und 21
Port 21 zur Verbindungssteuerung
Port 20 zum Datentransfer
Präsentation am 01.04.2007
Seite: 53
Be sure. Be
.
Einfache Internetdienste: ftp
Verbindungsaufbau: ftp
Open <Zieladresse>
Es folgt ein Login-Dialog mit Passwort-Abfrage.
Danach können Dateien vom Server geladen
oder zum Server transferiert werden.
Übertragungen erfolgen im Klartext.
Präsentation am 01.04.2007
Seite: 54
Be sure. Be
.
Einfache Internetdienste: ftp
Viele ftp-Server erlauben einen anonymen
Zugriff:
Benutzername: anonymous
Passwort: <die eigene eMail-Adresse>
Präsentation am 01.04.2007
Seite: 55
Be sure. Be
.
ftp: Potenzielle Sicherheitlücken
Vorspiegeln falscher Identität durch anonymen
Zugang
Klartextübertragung, z.B. von Passwörtern
Aufspielen von gefährlichen oder
gesetzwidrigen Inhalten, z.B. Viren, Trojaner,
Kinderpornografie
Präsentation am 01.04.2007
Seite: 56
Be sure. Be
.
Einfache Internetdienste: telnet
telnet dient dem Einloggen auf einem entfernten Rechner
Port 23
Zugang i.a. durch Passwort geschützt
Übertragungen erfolgen im Klartext
Präsentation am 01.04.2007
Seite: 57
Be sure. Be
.
telnet: Potenzielle Sicherheitslücken
Datenübertragungen können mitgelesen
werden (z.B. mittels Sniffer)
Hat man einen Account ausgespäht, kann
man eine falsche Identität vorspiegeln
Telnet-Hopping zur Verschleierung der
wahren Adresse
Präsentation am 01.04.2007
Seite: 58
Be sure. Be
.
Einfache Internetdienste: smtp:
smtp dient dem Versand von eMail
Port 25
RFC 1052, 1065, 1066, 1157
smtp versendet eMail ohne zu prüfen, ob der
Account wirklich existiert
Präsentation am 01.04.2007
Seite: 59
Be sure. Be
.
Senden von eMail über smtp
(telnet <Hostname>:25 )
mail from: name@der_wahl
rcpt to: ziel@adresse
Subject: Titelzeile
Text der Mail
. (Punkt auf eigener Zeile, beendet Versand)
Präsentation am 01.04.2007
Seite: 60
Be sure. Be
.
Potenzielle Sicherheitslücke
eMails werden standardmäßig als Klartext
übertragen ( Ausspähen)
eMails können mit gefälschten
Absenderadressen verschickt werden
eMails können beliebig viele Empfänger haben
( Spamming)
Präsentation am 01.04.2007
Seite: 61
Be sure. Be
.
Präsentation am 01.04.2007
Seite: 62
Be sure. Be
.
Präsentation am 01.04.2007
Seite: 63
Be sure. Be
.
Herunterladen