Vorlesung IT-Sicherheit: Netzwerk- und Internetsicherheit Wintersemester 2014/2015 Prof. Martin Stiemerling (Email: [email protected]) 1 Grundlagen Computernetzwerke 2 Was ist ein Computernetzwerk? • Zwei oder mehrere Computer, die durch ein Übertragungsmedium miteinander verbunden (vernetzt) sind, bilden ein Computernetzwerk. • Ein Computernetz besteht daher mindestens aus zwei Knoten (Rechner) und einer (physikalischen + logischen) Verbindung. 3 Es gibt viele verschiedene Netzwerke • das Internet • Computernetzwerke • Telefonnetzwerke • Straßenverkehrsnetze • Mobilfunknetzwerke • Optische Netzwerke • Post- und Packetnetzwerke 4 Unser Fokus • Hauptsächlich: Datennetzwerke • starken Fokus auf Internet-Protokoll (IP) Netzwerken • das Internet als ‚Anwendung‘ eines Computernetzwerkes • Lokale Netzwerke 5 Was ist alles vernetzt? • Steuerung der Klimaanlage • Drucker • Energieversorgung • Audio/Video-Geräte • Haussteuerung • Transportmittel 6 Wie wird den vernetzt? • Wireless-LAN • Ethernetkabel • Bluetooth • Near Field Communication (NFC) • Mobilfunk (GPRS, UMTS, HSDPA, LTE) • Optische-Links (Glasfaser) 7 Sinn und Zweck von Computernetzwerken • • Zugriffe auf Daten, Programme, Ressourcen anderer Rechner ist möglich, z.B. • Zugriff auf Hochleistungsrechner • Abruf von Filmen aus einem Archiv Verteilung von Rechenleistung und Datenhaltung auf unterschiedliche Rechner • • Erhöhte Flexibilität und Ausfallsicherheit Rechnergestützte Aufgaben können arbeitsteilig ausgeführt werden • Verteilung von Rechenaufgaben auf unterschiedliche Computer 8 Was sind die Bausteine eines Computernetzwerkes? • Endgeräte/„Computer“ • • • Hardware für die physikalische Übertragung • Verkabelung der Netzwerkgeräte • dedizierte Netzwerkgeräte (Router, Switches, Netzwerkkarten, ..) Netzwerk-Software • • Laptop, PC, Smartphone, Grossrechner, Kaffeemaschine, Webserver Implementierung von Protokollen Netzwerk-Applikationen • Web, Email, etc 9 Warum braucht man Vernetzung/Netzwerke? • • Direkte Kommunikation möglich, einer sendet: • 2 Knoten: 1 Verbindung • 3 Knoten: 2 Verbindungen • n Knoten: n-1 Verbindungen Direkte Kommunikation möglich, alle senden (voll vermascht): • 2 Knoten: 1 Verbindung • 3 Knoten: 3 Verbindungen • 4 Knoten: 6 Verbindungen • 2 n Knoten: (n -n)/2 10 Warum braucht man Vernetzung/Netzwerke? • • Direkte physikalische Verbindung zwischen allen Knoten in der Realität nicht umsetzbar • zu viele Verbindungen von jedem Knoten aus • berücksichtig nicht Entfernungen zwischen Knoten Netzwerk hat Relais-Knoten • Knoten nicht alle direkt miteinander verbunden • Relais-Knoten vermitteln zwischen Knotengruppen 11 Ein Netzwerk Knoten1 Relais 1 Relais 2 Knoten 2 Relais 3 12 Knoten 3 Ein Netzwerk Knoten1 Relais 1 Relais 2 Knoten 2 Relais 3 13 Knoten 3 Netzwerk: Naming Knoten1 Relais 1 Relais 2 Knoten 2 Relais 3 14 Knoten 3 Netzwerk: Naming • Namensgebung (engl. Naming) der Knoten • Knoten 1, Knoten 2, …, Knoten n. Knoten1 Relais 1 Relais 2 Knoten 2 Relais 3 15 Knoten 3 Netzwerk: Addressing • Adressierung (engl. Addressing) der Knoten • Wie ist die „Anschrift“ eines Knotens? • Vergleichbar mit einer Postanschrift Adresse A Knoten1 Relais 1 Relais 2 B Knoten 2 Relais 3 16 C Knoten 3 Reicht Adresssing? • Kann man mit der Adresse alleine Daten wischen den Knoten austauschen? • Nein, denn es fehlt die Information welchen Pfad die Daten durch das Netzwerk nehmen müssen. A Knoten1 Relais 1 Relais 2 B Knoten 2 Relais 3 17 C Knoten 3 Netzwerk: Routing • Datenaustausch zwischen beliebigen Konten erfordert die Wahl eines Pfades durch das Netzwerk • Routing: Bestimmung und Auswahl des Netzwerkpfades zwischen Knotengruppen A Knoten1 Relais 1 Relais 2 B Knoten 2 Relais 3 18 C Knoten 3 Netzwerk: Routing Beispiel • Sende Daten von C nach B • Routeninformation wird benötigt • • C muss eine Routeninformation haben: Schicke alles nach Relais 2 (Standardroute, engl. Default Route) • Relais müssen Routen zu den anderen Relais und Knoten kennen Von Relais 2 Nach Routingtabellen halten die Routeninformationen vor A Knoten1 Relais 3 B Relais 2 Relais 1 B Knoten 2 Relais 1 A Von Relais 1 Nach Link 1 A B C Link 2 Relais 3 C Knoten 3 Von Nach Von Relais 3 Nach Relais Relais 1 A 3 19 B C Relais 1 Relais 2 C Überall Relais 2 Netzwerk: Forwarding • Routing bestimmt den Pfad der Daten im Netzwerk • Versand/Weiterleitung (engl. Forwarding) ist der Prozess des Datentransfer mit den Information aus dem Routing Von Relais 2 Nach A Knoten1 C nach B B Knoten 2 Relais 1 A Relais 1 Von Relais 1 Nach Link 1 A B C Relais 3 B Relais 2 Link 2 Relais 3 Knoten 3 C nach B C nach B Von Nach Von Relais 3 Nach Relais Relais 1 A 3 20 C B C Relais 1 Relais 2 C Überall Relais 2 Zusammenfassung der Netzwerk-Methoden • Naming • • Addressing • • Eine Adresse für einen Knoten oder Dienst Routing • • Ein Name für einen Knoten oder einen Dienst Bestimmung des Pfades den die Daten durch das Netzwerk nehmen Forwarding • Weiterleiten der Daten von einem Netzwerksegment in das nächste 21 Netzwerkschichten 22 Netzwerk: Vereinfacht Browser Web-Server Netz% (Internet)% 23 Netzwerk: Mehr Details Browser Web-Server Anwendungs-Kommunikation Knoten1 Relais 1 Relais 2 Knoten 2 Netzwerk-Kommunikation Relais 3 24 Knoten 3 Netzwerk-Schichten Netzwerkanwendungen & Anwendungsschicht Protokolle. Beispiel: HTTP und Email Kernfunktionen, wie Datentransport von Knoten zu Knoten. Netzwerkadressen und Forwarding Netzwerkschicht 25 Anwendungsschicht Netzwerkschicht Warum Schichten? • Netzwerke sind komplexe Gebilde • • • Unterschiedliche Dienste, Knotenarten, Protokolle, etc Komplexität verlangt die Aufteilung in Funktionsblöcke oder Schichten • Schichten sind eine Sammlung gleicher Funktionalität • Beherrschung der Komplexität in einer Schicht einfacher • Entwicklung der Schichten mit Ihrer Funktionalität teilweise getrennt von anderen Schichten • Veränderung kann unter Umständen nur in einer Schicht durchführbar Teile und Herrsche! 26 Was ist ein Dienst? • Definition im Duden: • berufliche Arbeit, Tätigkeit, Erfüllung von [beruflichen] Pflichten • Arbeitsverhältnis, Stellung, Amt • Tätigkeitsbereich (in einem öffentlichen Amt) • Gruppe von Personen, die bestimmte Aufgaben zu versehen haben, dafür bereitstehen • Hilfe[leistung], Beistand; Dienstleistung • Netzwerke: Anbieten einer Leistung (Funktion) and Erbringung der Leistung • Beispiele: • Schicke Daten von A nach B • Benachrichtige mich, wenn die Daten angekommen sind 27 Was „bietet“ eine Schicht? • Schicht k bietet Protokoll • innerhalb der Schicht • z.B. HTTP zum Webbrowsen • Eine Dienst-Schnittstelle an die höhere Schicht k+1 • Eine Dienst-Schnittstelle von der niedrigen Schicht k-1 • Datenaustausch mit der gleichen Schicht am anderen Ende der logischen Kommunikationsverbindung • mit einem Protokoll 28 Bild: Tanenbaum & Wetherall Schichten & Protokolle 29 Bild: Tanenbaum & Wetherall Kurze Einführung in Protokolle 30 Kommunikations-Protokolle • Ein wichtiger Bestandteil des Internets sind die Kommunikationsprotokolle • • wie in jedem anderen Kommunikationssystem Protokoll legt fest • Format der Nachrichten (der Syntax) • Abfolge der zu Sendenden und Empfangenen Nachrichten (Teil der Semantik) • Aktionen auf Grund von Nachrichten oder keiner Nachricht (Teil der Semantik) 31 Das menschliche Telefonprotokoll • Telefonanruf folgt einigen Regeln, wenn man höflich ist: • Anrufer wählt die Telefonnummer und wartet auf das Wählzeichen • Anrufer wartet auf das Abnehmen des Angerufenen • Angerufenen hebt ab und nennt seinen Namen • Anrufer wartet ab bis der Angerufene seinen Satz zu Ende gesagt hat und meldet sich ebenfalls mit seinem Namen. • Danach beginnt die eigentliche Unterhaltung • Ähnlich das Ende des Anrufs: Man beginnt mit der Verabschiedung. 32 Protokollvergleich Mensch und Maschine 33 Bild: Kurose & Ross Das Internet 34 Das Internet • Millionen vernetzter Computer: Hosts = Endsysteme • • Verbunden durch Leitungen oder Funkstrecken • • Auf denen NetzwerkApplikationen laufen Glasfaser, Kupfer, Funk Vermittlungsstellen = Router • leiten Datenpakete weiter 35 Bild: Kurose & Ross Das Internet • • Verbindung von mehreren unterschiedlichen Netzwerktechnologien zu einem grossen Netzwerk • (INTER Networking) • Ein Netz aus Netzen Kommunikation zwischen Mobiltelefon und Toaster möglich • das war nicht immer so! • da mindestens zwei Netztechnologien benutzt werden (Mobilfunk und Ethernet) 36 Bild: Kurose & Ross Beispiel: Verkabelung des Internets • Eine Karte der Unterseekabelverbindungen • http://www.submarinecablemap.com/ 37 Grobe Funktionsweise des Internets 38 Eckpunkte: Adressen • Jedes Netzwerkgerät hat mindestens • • • ein physikalische Adresse • oft MAC-Adresse (Media-Access-Control-Adresse) genannt • „hart“ dem Gerät zugewiesen • nur in einem Netzwerksegment benutzbar eine logische IPv4 oder IPv6-Adresse • Internet-Protokoll (IP) Adresse • vom jeweiligen IP-Netzwerk zugewiesen • „global“ benutzbar IP-Adresse theoretisch von überall im Netzwerk zu erreichen 39 Eckpunkte: Zugang • Jeder kann sich ohne formale Voraussetzungen an das Internet anschließen • Es gibt keine Einschränkungen welche Dienste über das Internet betrieben werden können • Das heißt: Jeder kann senden was er möchte • Aber: Das Internet ist eine geteilte Resource • Verfügbare Bandbreite wird unter den Nutzern aufgeteilt 40 Eckpunkte: Pakete • Das Internet, alle IP-basierten Netzwerk, sind Paket-Netzwerke • Pakete sind Container zur Übertragung • • Paketkopf (engl. packet header) • Nutzlast (engl. payload) • evtl. noch einen Paketende (engl. packet trailer) Paket haben eine maximale Größe • zwischen 512 und 1500 bytes • manchmal auch bis zu 9000 bytes (Rechenzentren) 41 Browser Netzwerk Aufbau Web-Server Kommunikation Netz% (Internet)% Browser Netzwerk Aufbau Web-Server Kommunikation Netz% (Internet)% Browser Wireless LAN (WLAN) Web-Server Wireless Digital SubLAN scriber (WLAN) Line (DSL) Digital Subscriber Line (DSL) Ethernet Ethernet 43 Netzwerk Aufbau • • • Kommunikation zwischen Browser und Webserver • nicht direkt zwischen Browser und Webserver! • über das Netzwerk Netzwerk besteht aus unterschiedlichen Netzwerktechnologien • Wireless LAN (WLAN) • Digital Subscriber Line (DSL, ADSL, VDSL) • Kabelnetze • Mobilfunk (UMTS, LTE) Kommunikation zwischen WLAN und DSL so nicht möglich! 44 Browser Netzwerk Aufbau Web-Server Kommunikation Netz% (Internet)% Browser Web-Server Transmission Control Protocol (TCP) Transmission Control Protocol (TCP) Internet Protokoll (IP) IP Router (Homegateway) IP Router (Homegateway) Wireless LAN (WLAN) Wireless Digital SubLAN scriber (WLAN) Line (DSL) Digital Subscriber Line (DSL) Ethernet Internet Protokoll (IP) Ethernet 45 Kommunikationsablauf Browser Web-Server Kommunikation Netz% (Internet)% Browser ? Web-Server Transmission Control Protocol (TCP) Internet Protokoll (IP) Wireless LAN (WLAN) Transmission Control Protocol (TCP) ? IP Router (Homegateway) IP Router (Homegateway) ? Internet Protokoll (IP) ? Wireless Digital Sub? ? LAN scriber (WLAN) Line (DSL) Digital Sub? scriber Line (DSL) ? Ethernet Ethernet ? 46 IP: Brücke zwischen den Netzwerken • Internet Protokoll ist ein Konvergenzprotokoll • überbrückt unterschiedlichste Netzwerktechnologien • vereinheitlich Netzwerkzugriff für höhere Schichten • • wie Webbrowser, Instant Messaging, etc Zum Vergleich: • frühere Telefonnetzwerke: neuer Dienst (z.B. Daten) erforderte Aufbau eines neuen Netzwerkes oder größere Änderungen • heutiges Internet: neuer Dienst (z.B. WhatsApp) erforderte keine Änderung am Netz, nur auf den Endgeräten 47 Fragen oder Kommentare? 48 Netzwerksicherheit 49 Was ist Netzwerksicherheit? • Sicherheit (*) aller an das Netzwerk angeschlossenen Geräte • (*) abhängig von den jeweiligen Schutzzielen • Sicherheit der Übertragungswege • Sicherer Entwurf der Netzwerkprotokolle • Sichere Übertragung der Daten • • Hop-by-Hop • End-to-End Betriebliche Sicherheit • wie Zugang zu den Netzwerkgeräten und Leitungen 50 Sicherheit in den unterschiedlichen Schichten 51 Sicherheit in den Schichten Schicht 7 Schicht 4 Schicht 3 52 Schicht 1 &2 Schicht 1 & 2: Bit und Link-Layer • physikalische Verbindung zwischen zwei Netzwerkgeräten wird durch das Link- Layer in Verbindung mit dem Bit-Layer realisiert • Funk-basierend (z.B. Wireless-LAN oder Mobilfunk) • Kabel-basierend (z.B.Ethernet oder xDSL) • Netzwerkpfad benutzt in der Regel mehrere, verschiedene Link-LayerTechnologien • Einzelne Segment können geschützt werden • • z.B. Verschlüsselung im Wireless-LAN Kein Ende-zu-Ende Sicherung möglich! Wireless LAN (WLAN) Wireless Digital SubLAN scriber (WLAN) Line (DSL) 53 Digital Subscriber Line (DSL) Ethernet Ethernet 53 Schicht 3: Network-Layer • Vermittlungsschicht unabhängig von dem verwendeten Link-Layer • • Internet Protokoll (IPv4 oder IPv6) Sicherung der Übertragung zwischen zwei Endgeräten. • IP-Router, alle Geräte im Netzwerk nicht involviert • Beispiele: IPsec (Layer 3 Virtual Private Network) • Implementierungsprobleme: • IPsec läuft nicht in allen Netzwerkumgebungen korrekt • • Stichwort: Network Address Translator (NAT) IPsec Implementierung muss im Betriebssystemkern erfolgen Internet Protokoll (IP) IP Router (Homegateway) IP Router (Homegateway) Wireless LAN (WLAN) Wireless Digital SubLAN scriber (WLAN) Line (DSL) Digital Subscriber Line (DSL) 54 Ethernet Internet Protokoll (IP) Ethernet 54 Schicht 4: Transport-Layer • historischen Gründen Hinzufügen von neuen Eigenschaften im Transport-Layer einfacher • Sicherung der Übertragung zwischen zwei Endgeräten. • Bekanntestes Beispiel: Transport Layer Security (TLS) • Das s in HTTPs • „Beseitigt“ die Problem welche IPSec hat • leicht in der Applikation zu implementieren • Passiert NATs Transmission Control Protocol (TCP) Internet Protokoll (IP) Wireless LAN (WLAN) Transmission Control Protocol (TCP) IP Router (Homegateway) IP Router (Homegateway) Internet Protokoll (IP) Wireless Digital SubLAN scriber (WLAN) Line (DSL) Digital Subscriber Line (DSL) Ethernet 55 Ethernet 55 Schicht 7: Application-Layer • Email als Beispiel • Ende-zu-Ende (EzE) Sicherheit: Wo ist das Ende? • EzE: Zwischen zwei Hosts • Nicht bei Email: Läuft über mehrere Hosts 56 Electronic Email • • • Drei Hauptbestandteile: • Anwendungsprogramm • Mailserver • Übertragungsprotokoll: SMTP (Simple Mail Transfer Protocol) Anwendungsprogramm: • Auch “Mail Reader” • Erstellen, Editieren, Lesen von E-MailNachrichten • z.B. Webmail, Outlook, Mozilla Thunderbird Eingehende und ausgehende Nachrichten werden auf dem Server gespeichert 57 Quelle: Keith & Ross, Top Down Approach, Pearson Verlag Electronic Mail: Mailserver • Mailserver • Die Mailbox enthält die eingehenden Nachrichten eines Benutzers • Die Warteschlange für ausgehende Nachrichten ent-hält die noch zu sendenden E-Mail-Nachrichten • SMTP wird verwendet, um Nachrichten zwischen Mailservern auszutauschen • Client: sendender Mailserver • Server: empfangender Mailserver 58 Quelle: Keith & Ross, Top Down Approach, Pearson Verlag Beispiel: Alice schickt Bob eine Nachricht 1. Alice verwendet ihr Anwendungsprogramm, um eine Nachricht an [email protected] zu erstellen 4. 3SMTP-Client versendet die Nachricht von Alice über die TCP-Verbindung 5. Bobs Mailserver empfängt die Nachricht von Alices Mailserver und speichert diese in Bobs Mailbox 2. Alices Anwendung versendet die Nachricht an ihren Mail-Server; Nachricht wird in der Warteschlange gespeichert 6. Bob verwendet (irgendwann) sein Anwendungsprogramm und liest die Nachricht 3. Alices Mailserver öffnet als Client eine TCP-Verbindung zu Bobs Mailserver 59 Sicherheit • Übertragung der Email in der Regel geschützt • • z.B. mit TLS zwischen zwei Clienthost und Server Emails als Klartext auf dem Client und Servern gespeichert! 60 Sicherer Protokollentwurf 61 Kommunikations-Protokolle • Ein wichtiger Bestandteil des Internets sind die Kommunikationsprotokolle • • wie in jedem anderen Kommunikationssystem Protokoll legt fest • Format der Nachrichten (der Syntax) • Abfolge der zu Sendenden und Empfangenen Nachrichten (Teil der Semantik) • Aktionen auf Grund von Nachrichten oder keiner Nachricht (Teil der Semantik) 62 Beispiel: Das menschliche Telefonprotokoll • Telefonanruf folgt einigen Regeln, wenn man höflich ist: • Anrufer wählt die Telefonnummer und wartet auf das Wählzeichen • Anrufer wartet auf das Abnehmen des Angerufenen • Angerufenen hebt ab und nennt seinen Namen • Anrufer wartet ab bis der Angerufene seinen Satz zu Ende gesagt hat und meldet sich ebenfalls mit seinem Namen. • Danach beginnt die eigentliche Unterhaltung • Ähnlich das Ende des Anrufs: Man beginnt mit der Verabschiedung. 63 Protokollvergleich Mensch und Maschine 64 Bild: Kurose & Ross Einführung: Sicherer Protokollentwurf • Das Internet ist offen für jeden und alles • Positive Folgen: Jeder kann alles „machen“ • Negative Folgen: Auch die Bad-Guys sind da • Aspekt für den Protokollentwurf: Absicherung gegen Angreifer sehr wichtig! • Sicherer Protokollentwurf nicht gleich Absicherung von Protokollen! • Protokolle können grundlegend sicherer oder unsicherer gebaut werden! 65 Einführung: Sicherer Protokollentwurf • Bei Verbindungsanfrage überprüfen ob Anfragender wirklich anfragt • IP-Adressen (also Absender) können gefälscht werden • z.B. Angreifer verschickt im Namen von Dritten tausende Anfragen an einen Webserver 66 Sichern der Netzwerkschicht (IP) 67 IP Security (IPsec) • • Vertraulichkeit: • Sender verschlüsselt IP-Payload • TCP- und UDP-Segmente; ICMP- and SNMP-Nachrichten. Authentifizierung: • • Zielhost kann Quell-IP authentifizieren IPsec besteht aus 3 Protokollbestandteilen: • Authentication-Header-Protokoll (AH) • Encapsulation-Security-Protokoll (ESP) • Internet Key Exchange (IKE) 68 Security Association (SA) • • • Aufbau einer logische Verbindung namens “Security Association (SA)” • Verbindung auf der Netzwerkschicht • wird für AH und ESP benutzt Eigenschaften einer SA • uni-direktional • SA eindeutig bestimmt durch: • Sicherheitsprotokoll (AH oder ESP) • Quell-IP • 32-Bit-Verbindungs-ID (Security Paramter Index (SPI) Beispiel, zwei Hosts A und B • eine SA von A nach B • eine SA von B nach A 69 2 Betriebsmodi • Transport-Modus • • direkte gesicherte Verbindung zwischen zwei Hosts Tunnel-Modus • Tunnel zwischen zwei Hosts • andere Hosts benutzen Tunnel • Verbindung zwischen zwei Hosts gesichert, aber für den Netzverkehr anderer Hosts. 70 Authentication-Header (AH) • • AH bietet • Quellen-Authentifizierung • Datenintegrität • jedoch keine Vertraulichkeit AH-Header zwischen IP-Header und Daten IP-Header AH-Header Daten (z.B., TCP-, UDP-Segment) 71 Authentication-Header (AH) • AH-Header umfasst: • Verbindungs-ID (Security Parameter Index (SPI) • Authentifizierungsdaten (ICV): von der Quelle signierter Hashwert über das OriginalDatagramm • Next-Header-Feld: Payload-Typ (z.B., TCP, UDP, ICMP) • Sequenznummer 72 Bild: RFC 4302 AH im Transport-Modus 73 Bild: RFC 4302 AH im Tunnel-Modus 74 Bilder: RFC 4302 Encapsulating Security Payload (ESP) • bietet Vertraulichkeit, Hostauthentifizierung, Datenintegrität • Daten und ESP-Trailer sind verschlüsselt • Next-Header-Feld im ESP-Trailer • ESP-Authentifizierungsfeld funktioniert ähnlich wie das in AH authentifiziert verschlüsselt ESPESPIP-Header TCP/UDP-Segment Header Trailer 75 ESPAuth. ESP-Header 76 Bild: RFC 4302 ESP im Transport-Modus 77 Bild: RFC 4302 ESP im Tunnel-Modus 78 Bild: RFC 4302 SA Management • ESP und AH verwendet in der Übertragung • Aber wie baut man die Übertragung und damit die Security Associations (SA) auf? • Manuelle Konfiguration • • Eingabe Informationen der Gegenstelle • Eingabe der(Ver)-Schlüsselungsparameter Automatische Konfiguration • Aushandlung der Parameter mit der Gegenstelle • Typischerweise (nicht zwangsläufig): Internet Key Exchange (IKE) 79 Internet Key Exchange (IKE) Protokoll • IKE • Gegenseitige Authentifizierung • Aushandeln der Parameter • • z.B. zu wählende Verschlüsselung, Verbindungsparameter, etc Aufbau und Halten der Security Associations • Benutzt Zertifikate oder Shared-Secrets für den Verbindungsaufbau • Zwei Protokollversionen • IKEv1 • IKEv2 80 Betriebliche Sicherheit • Firewalls 81