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 .