Kapitel 6 Sicherheit Ein Hinweis an die Benutzer dieses Foliensatzes: Wir stellen diese Folien allen Interessierten (Dozenten, Studenten, Lesern) frei zur Verfügung. Da sie im PowerPoint-Format vorliegen, können Sie sie beliebig an Ihre Bedürfnisse anpassen. Wir haben sehr viel Arbeit in diesen Foliensatz investiert. Als Gegenleistung für dessen Verwendung bitten wir Sie um Folgendes: § Wenn Sie diese Folien (z.B. in einer Vorlesung) verwenden, dann nennen Sie bitte die Quelle (wir wollen ja, dass möglichst viele Menschen unser Buch lesen!). § Wenn Sie diese Folien auf einer Webseite zum Herunterladen anbieten, dann geben Sie bitte die Quelle und unser Copyright an diesem Foliensatz an. Danke und viel Spaß beim Lehren und Lernen mit diesem Foliensatz! JFK/KWR Copyright der englischen Originalfassung 1996–2007 J.F Kurose and K.W. Ross, alle Rechte vorbehalten. Deutsche Übersetzung 2008 M. Mauve und B. Scheuermann, alle Rechte vorbehalten. Computernetzwerke 2013 Computernetzwerke: Der Top-Down-Ansatz , 4. Ausgabe. Jim Kurose, Keith Ross Pearson, Juli 2008. 6-1 Kapitel 6: Sicherheit § § § § § § 6.1 Was ist Netzwerksicherheit? 6.2 Grundlagen der Kryptographie 6.3 Anwendungssicherheit 6.4 Transportsicherheit (TLS, SSL) 6.5 Netzwersicherheit (IPSec) 6.6 Operative Sicherheit: Firewalls und IDS Computernetzwerke 2013 6–2 Kapitel 6: Sicherheit § § § § § § 6.1 Was ist Netzwerksicherheit? 6.2 Grundlagen der Kryptographie 6.3 Anwendungssicherheit 6.4 Transportsicherheit (TLS, SSL) 6.5 Netzwersicherheit (IPSec) 6.6 Operative Sicherheit: Firewalls und IDS Computernetzwerke 2013 6–3 Was ist Netzwerksicherheit? § Vertraulichkeit (confidentality): nur der Sender und der korrekte Adressat sollen den Inhalt der Nachricht lesen können – Sender verschlüsselt die Nachricht – Empfänger entschlüsselt die Nachricht § Authentifizierung (authentication): Sender und Empfänger wollen gegenseitig ihre Identität sicherstellen § Nachrichtenintegrität (integrity): Sender und Empfänger wollen sicherstellen, dass die Nachricht nicht unbemerkt verändert wurde (während der Übertragung oder danach) § Zugriff und Verfügbarkeit (availability): Dienste müssen für Benutzer zugreifbar und verfügbar sein § („CIA”) Computernetzwerke 2013 6–4 Freunde und Feinde: Alice, Bob, Trudy § Bekannte Gestalten in der Welt der Netzwerksicherheit § Alice und Bob (verliebt!) wollen “sicher” kommunizieren § Trudy (Angreifer) kann Nachrichten abfangen, löschen, einfügen (sniff/copy(?), delete, insert and replay[!]) Computernetzwerke 2013 6–5 Da draußen gibt es böse Jungs (und Mädels)! Q: Was kann ein “Schurke” [gazember, malicious party] tun? A: Eine ganze Menge! – Lauschen [hallgatózik, to sniff]: Nachrichten mitlesen – aktiv Nachrichten in die Verbindung einspeisen [save] – fremde Identitäten annehmen [masquerade-of a party] und Quelladressen (oder andere Felder im Paket) fälschen [falsify] – bestehende Verbindungen “kapern” [hijack], durch Entfernen von Sender der Empfänger und Übernahme der entsprechenden Rolle – Denial of Service: verhindern, dass andere einen Dienst nutzen können (z.B. durch Überlasten von Ressourcen) Computernetzwerke 2013 6–6 Kapitel 6: Sicherheit § § § § § § 6.1 Was ist Netzwerksicherheit? 6.2 Grundlagen der Kryptographie 6.3 Anwendungssicherheit 6.4 Transportsicherheit (TLS, SSL) 6.5 Netzwersicherheit (IPSec) 6.6 Operative Sicherheit: Firewalls und IDS Computernetzwerke 2013 6–7 Terminologie der Kryptographie Symmetrische Kryptographie: Sender- und Empfängerschlüssel sind identisch Public-Key-Kryptographie: Schlüssel zur Verschlüsselung ist öffentlich bekannt, zur Entschlüsselung geheim Computernetzwerke 2013 6–8 Kryptographie mit symmetrischen Schlüsseln Ersetzungschiffre: eine Sache durch eine andere ersetzen – monoalphabetische Chiffre: einen Buchstaben durch einen anderen ersetzen Klartext: abcdefghijklmnopqrstuvwxyz Chiffretext: mnbvcxzasdfghjklpoiuytrewq z.B.: Klartext: bob, ich liebe dich. alice Chiffretext: nkn, sba pscbc vsba. mgsbc Frage: Wie knackt man diese Beispielchiffre: q Brute Force (wie schwierig ist das?) q andere Wege? Computernetzwerke 2013 6–9 Kryptographie mit symmetrischen Schlüsseln KA-B KA-B Klartext- Verschlüs- Chiffretext selung nachricht m K (m) A-B Entschlüs- Klartext selung m=K A-B ( KA-B(m) ) Kryptographie mit symmetrischen Schlüsseln: Bob and Alice kennen denselben (symmetrischen) Schlüssel K A-B § Der Schlüssel könnte zum Beispiel das Ersetzungsmuster der monoalphabetischen Chiffre sein § Frage: Wie einigen sich Alice und Bob auf einen Schlüssel? Computernetzwerke 2013 6–10 Public-Key-Kryptographie symmetrische Kryptographie § erfordert, dass Sender und Empfänger über einen gemeinsamen Schlüssel verfügen § Frage: Wie kann man sich überhaupt auf einen Schlüssel einigen (vor allem dann, wenn man sich noch nie “getroffen” hat)? Computernetzwerke 2013 Public-Key-Kryptographie § radikal anderer Ansatz [DiffieHellman76, RSA78] § Sender, Empfänger kennen keinen gemeinsamen geheimen Schlüssel § öffentlicher Verschlüsselungsschlüssel, den alle kennen § geheimen Entschlüsselungsschlüssel kennt nur der Empfänger 6–11 Public-Key-Kryptographie Computernetzwerke 2013 6–12 Die Diffie-Hellman Protokoll Zusammenfassung: Sicherheit basiert auf der Schwerigkeit der Diffie-Hellman Problem Annahmen: p ist eine größe Primzahl, g ist der Generator von Zp*, beide sind öffentlich bekannte Parametern der System Alice Bob select random x compute gx mod p gx mod p select random y compute gy mod p gy mod p compute k = (gy)x mod p Eigenschaften: Computernetzwerke 2013 compute k = (gx)y mod p KEIN Authentifizierung! 6–13 Digitale Unterschrift = Signierter MAC § Bob verschickt eine digital signierte Nachricht: Computernetzwerke 2013 6–14 Digitale Unterschrift = Signierter MAC § Alice überprüft die Signatur und die Integrität der digital signierten Nachricht: Computernetzwerke 2013 6–15 Zertifizierung öffentlicher Schlüssel Problem bei öffentlichen Schlüsseln: § Wenn Alice den öffentlichen Schlüssel von Bob erhält (von einer Webseite, per Email,…), wie kann sie sicherstellen, dass es wirklich Bobs Schlüssel ist, und nicht ein von Trudy erzeugter? Lösung: § vertrauenswürdige Zertifizierungsstelle (Certification Authority, CA) Computernetzwerke 2013 6–16 Zertifizierungsstelle § Zertifizierungsstelle/Certification Authority (CA): verknüpft einen öffentlichen Schlüssel mit einer bestimmten Entität E. § E registriert den öffentl. Schlüssel bei der CA: – E “beweist” die eigenen Identität gegenüber der CA. – CA erstellt ein Zertifikat, das E und den öffentlichen Schlüssel enthält. – Das Zertifikat wird von der CA unterschrieben und besagt: “Das ist der öffentliche Schlüssel von E.” Computernetzwerke 2013 6–17 Zertifizierungsstelle Computernetzwerke 2013 6–18 Zertifizierungsstelle § wenn Alice Bobs öffentlichen Schlüssel benötigt: – Bobs Zertifikat besorgen (von Bob oder von irgendwo sonst). – öffentlichen Schlüssel der CA anwenden, um die Verbindung zwischen Bobs öffentlichem Schlüssel und seiner Identität zu überprüfen – Verwenden des so überprüften öffentlichen Schlüssels von Bob Computernetzwerke 2013 6–19 Ein Zertifikat enthält: § Seriennummer (eindeutig für den Aussteller) § Information über den Zertifikatsinhaber, einschließlich des Algorithmus und des Schlüssels selbst (hier nicht gezeigt) § Info über Aussteller § Gültigkeitszeitraum § digitale Unterschrift des Aus-stellers Computernetzwerke 2013 6–20 Kapitel 6: Sicherheit § § § § § § 6.1 Was ist Netzwerksicherheit? 6.2 Grundlagen der Kryptographie 6.3 Anwendungssicherheit 6.4 Transportsicherheit (TLS, SSL) 6.5 Netzwersicherheit (IPSec) 6.6 Operative Sicherheit: Firewalls und IDS Computernetzwerke 2013 6–21 DNS § Ein einfache DNS Abfrage kann mehrere Rekords beinhalten (hostname, IP address, Resource Records) § Die emfangenen Information ist gespeichert für spätere verwendung (Cache) application frogstar.hit.bme.hu = ? 152.66.248.44 local name srv frogstar.hit.bme.hu = ? ns in hu top level name srv frogs tar.h it.bm e.hu =? n s in bme. name srv hu in hu name srv in bme.hu name srv in hit.bme.hu Computernetzwerke 2013 6–22 13 root servers (205 sites) Computernetzwerke 2013 6–23 DNS Beispiel root@tuzfalmeresclt:~# dig www.bme.hu @localhost ; <<>> DiG 9.5.1-P3 <<>> www.bme.hu @localhost ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 59313 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 0 ;; QUESTION SECTION: ;www.bme.hu. IN ;; ANSWER SECTION: www.bme.hu. 14400 IN ;; AUTHORITY SECTION: bme.hu. 14400 IN bme.hu. 14400 IN bme.hu. 14400 IN A A NS NS NS 152.66.115.35 ns.bme.hu. ns2.pantel.net. nic.bme.hu. ;; Query time: 4364 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Wed May 5 22:19:44 2010 ;; MSG SIZE rcvd: 107 Computernetzwerke 2013 6–24 Einfache “recursive query“ 22:19:43.579620 IP 10.105.1.40.43129 > 193.0.14.129.53: 36649 [1au] A? www.bme.hu. (39) 22:19:43.615802 IP 193.0.14.129.53 > 10.105.1.40.43129: 36649- 0/9/9 (504) 22:19:43.634634 IP 10.105.1.40.53377 > 193.0.14.129.53: 24520 [1au] NS? . (28) 22:19:43.684849 IP 193.0.14.129.53 > 10.105.1.40.53377: 24520*- 14/0/21 NS a.root-servers.net.,[|domain] 22:19:43.883583 IP 10.105.1.40.43480 > 193.6.16.1.53: 59363 [1au] A? www.bme.hu. (39) 22:19:43.930598 IP 193.6.16.1.53 > 10.105.1.40.43480: 59363- 0/3/5 (190) 22:19:44.479631 IP 10.105.1.40.60577 > 192.5.5.241.53: 12566% [1au] A? ns2.pantel.net. (43) 22:19:44.503629 IP 10.105.1.40.32234 > 152.66.115.1.53: 25786 [1au] A? www.bme.hu. (39) 22:19:44.503696 IP 10.105.1.40.29619 > 192.5.5.241.53: 46648% [1au] AAAA? ns2.pantel.net. (43) 22:19:44.551306 IP 152.66.115.1.53 > 10.105.1.40.32234: 25786* 1/3/6 A 152.66.115.35 (222) 22:19:44.590675 IP 192.5.5.241.53 > 10.105.1.40.60577: 12566- 0/15/16 (711) 22:19:44.590702 IP 192.5.5.241.53 > 10.105.1.40.29619: 46648- 0/15/16 (711) 22:19:44.634724 IP 10.105.1.40.38747 > 192.26.92.30.53: 51577% [1au] A? ns2.pantel.net. (43) 22:19:44.687762 IP 10.105.1.40.47813 > 192.26.92.30.53: 25972% [1au] AAAA? ns2.pantel.net. (43) 22:19:44.746422 IP 192.26.92.30.53 > 10.105.1.40.38747: 51577- 0/2/3 (107) 22:19:44.775192 IP 192.26.92.30.53 > 10.105.1.40.47813: 25972- 0/2/3 (107) 22:19:44.823264 IP 10.105.1.40.64788 > 212.24.160.1.53: 5666% [1au] A? ns2.pantel.net. (43) 22:19:44.875791 IP 212.24.160.1.53 > 10.105.1.40.64788: 5666*- 1/2/2 A 212.24.160.1 (107) 22:19:44.879600 IP 10.105.1.40.16055 > 212.24.160.1.53: 24986% [1au] AAAA? ns2.pantel.net. (43) 22:19:44.911290 IP 212.24.160.1.53 > 10.105.1.40.16055: 24986*- 0/1/1 (103) Computernetzwerke 2013 6–25 DNS spoofing / poisoning – Angriffe § § Die Cache der DNS Server kann mit falsche Information vergiften (poison) Wie kann man das erschaffen? – Man möchte die Adresse www.anything.hu auf seine eigene IP Adresse weiterleiten (zB:152.66.249.32) – Annäherung 1 (spoofing answer): • attacker submits a DNS query “www.anything.hu=?” to ns.victim.hu • a bit later it forges a DNS reply “www.anything.hu=152.66.249.32” • UDP makes forging easier but the attacker must still predict the query ID • No new trial is possible until the end of TTL (ns.victim.hu won’t try it again!) – Annäherung 2 (attacker has access to ns.attacker.hu): • the attacker modifies its local name server such that it responds a query “www.attacker.hu=?” with “www.anything.hu=152.66.249.32” • the attacker then submits a query “www.attacker.hu=?” to ns.victim.hu • ns.victim.hu sends the query “www.attacker.hu=?” to ns.attacker.hu • ns.attacker.hu responds with www.anything.hu=152.66.249.32 • This attack does not work generally due to restrictions on hints/non-glue records Computernetzwerke 2013 6–26 FTP – File Transfer Protocol typical FTP commands: client user interface RETR filename – retrieve (get) a file from the server STOR filename – store (put) a file on the server TYPE type – specify file type (e.g., A for ASCII) USER username – username on server PASS password – password on server user server protocol interpreter Kontroll Verbindung (FTP commands and replies) protocol interpreter data transfer function DateiVerbindung data transfer function file system Computernetzwerke 2013 file system 6–27 FTP security problems § Die Kontroll und Dataübertragung ist nicht geschützt – Passwörter können abgehört werden • FTP ist ein Text(ASCII) besirende Protokoll, die vereinfacht das Problem von Kennwort-Abhören – Datenübertragung kann modifiziert oder abgefangen werden server client % ftp ftp.epfl.ch <TCP connection setup to port 21 of ftp.epfl.ch> “220 ftp.epfl.ch FTP server (version 5.60) ready.” Connected to ftp.epfl.ch. Name: buttyan “USER buttyan” “331 Password required for user buttyan.” Password: kiskacsa “PASS kiskacsa” “230 User buttyan logged in.” … Computernetzwerke 2013 6–28 Sichere E-Mail § Alice möchte eine vertrauliche E-Mail m an Bob schicken Alice: § § § § erzeugt einen zufälligen symmetrischen Schlüssel KS verschlüsselt die Nachricht mit KS (aus Effizienzgründen) verschlüsselt KS mit Bobs öffentlichem Schlüssel sendet sowohl KS(m) als auch KB(KS) an Bob Computernetzwerke 2013 6–29 Sichere E-Mail q Alice möchte eine vertrauliche E-Mail m an Bob schicken Bob: § verwendet seinen privaten Schlüssel, um KS zu erhalten § verwendet KS, um KS(m) zu entschlüsseln und m zu lesen Computernetzwerke 2013 6–30 Sichere E-Mail § Alice möchte Absenderauthentifizierung und Nachrichtenintegrität sicherstellen § Alice unterschreibt die Nachricht digital § sie schickt sowohl die Nachricht als auch die Signatur Computernetzwerke 2013 6–31 Sichere E-Mail § Alice möchte Vertraulichkeit, Absenderauthentifizierung und Nachrichtenintegrität sicherstellen KA m . H( ) - . KA( ) - KA(H(m)) + . KS( ) m KS KS + . KB( ) K+ B + Internet + KB(KS ) Alice verwendet drei Schlüssel: ihren privaten Schlüssel, Bobs öffentlichen Schlüssel und einen neu erstellten symmetrischen Schlüssel Computernetzwerke 2013 6–32 Pretty Good Privacy (PGP) Eine PGP-signierte Nachricht: § Verfahren für E-MailVerschlüsselung im Internet, Defacto-Standard § verwendet symmetrische Kryptographie, Public-KeyKryptographie, Hashfunktionen und digitale Unter-schriften wie beschrieben § bietet Vertraulichkeit, Absenderauthentifizierung, Integrität § der Entwickler, Phil Zimmerman, war drei Jahre lang Ziel von FBIErmittlungen [nyomozás] Computernetzwerke 2013 ---BEGIN PGP SIGNED MESSAGE--Hash: SHA1 Bob:My husband is out of town tonight.Passionately yours, Alice ---BEGIN PGP SIGNATURE--Version: PGP 5.0 Charset: noconv yhHJRHhGJGhgg/12EpJ +lo8gE4vB3mqJhFEvZP9t6n7G6 m5Gw2 ---END PGP SIGNATURE--- 6–33 SMTP – Simple Mail Transfer Protocol sending host user agent user mails to be sent local MTA SMTP relay MTA TCP connection SMTP TCP port 25 relay MTA SMTP receiving host local MTA MDA user agent SMTP relay MTA user mailbox user Computernetzwerke 2013 6–34 SMTP – Simple Mail Transfer Protocol § SMTP ist verwendet von MTAs um miteinander zu kommunizieren. § SMTP ist ein Text (ASCII) basirendes Protokoll sending MTA (rivest.hit.bme.hu) receiving MTA (shamir.hit.bme.hu) <TCP connection establishment to port 25> “HELO rivest.hit.bme.hu.” “250 shamir.hit.bme.hu Hello rivest.hit.bme.hu., pleased to meet you” “MAIL from: [email protected]” “250 [email protected]... Sender ok” “RCPT to: [email protected]” “250 [email protected]… Recipient ok” “DATA” “354 Enter mail, end with a “.” on a line by itself” <message to be sent> . “250 Mail accepted” “QUIT” “221 shamir.hit.bme.hu delivering mail” Computernetzwerke 2013 6–35 SMTP Sicherheitsproblemen § SMTP bietet kein Schutz für die Email Nachrichten – Nachrichten können gelesen oder modifiziert werden von der MTAs – Falsche Nachrichten können einfach generiert werden % telnet frogstar.hit.bme.hu 25 § Example: Trying... Connected to frogstar.hit.bme.hu. Escape character is ‘^[’. 220 frogstar.hit.bme.hu ESMTP Sendmail 8.11.6/8.11.6; Mon, 10 Feb 2003 14:23:21 +0100 helo abcd.bme.hu 250 frogstar.hit.bme.hu Hello [152.66.249.32], pleased to meet you mail from: [email protected] 250 2.1.0 [email protected]... Sender ok rcpt to: [email protected] 250 2.1.5 [email protected]... Recipient ok data 354 Enter mail, end with "." on a line by itself Your fake message goes here. . 250 2.0.0 h1ADO5e21330 Message accepted for delivery quit 221 frogstar.hit.bme.hu closing connection Connection closed by foreign host. % Computernetzwerke 2013 6–36 Aber Vorsicht! Return-Path: <[email protected]> Received: from frogstar.hit.bme.hu ([email protected] [152.66.248.44]) by shamir.ebizlab.hit.bme.hu (8.12.7/8.12.7/Debian-2) with ESMTP id h1ADSsxG022719 for <[email protected]>; Mon, 10 Feb 2003 14:28:54 +0100 Received: from abcd.bme.hu ([152.66.249.32]) by frogstar.hit.bme.hu (8.11.6/8.11.6) with SMTP id h1ADO5e21330 for [email protected]; Mon, 10 Feb 2003 14:25:41 +0100 Date: Mon, 10 Feb 2003 14:25:41 +0100 From: [email protected] Message-Id: <[email protected]> To: undisclosed-recipients:; X-Virus-Scanned: by amavis-dc Status: Your fake message goes here. Computernetzwerke 2013 6–37 Telnet § Bietet remote login Service für Users § Text (ASCII) basierendes Protokoll Telnet client kernel Telnet server login shell kernel terminal driver TCP/IP TCP/IP pseudoterminal driver TCP connection user Computernetzwerke 2013 6–38 Telnet Sicherheit Problemen § Kennwörter sind im Klartext versendet client % telnet ahost.epfl.ch Connected to ahost.epfl.ch. Escape character is ‘^]’. server <TCP connection setup to port 23 of ahost.epfl.ch> <Telnet option negotiation> “UNIX(r) System V Release 4.0” “Login:” Login: b Login: bu Login: buttyan “b” “u” … “n” “Password:” Password: k “k” … Password: kiskacsa “a” <OS greetings and shell prompt, e.g., “%”> Computernetzwerke 2013 … 6–39 Kapitel 6: Sicherheit § § § § § § 6.1 Was ist Netzwerksicherheit? 6.2 Grundlagen der Kryptographie 6.3 Anwendungssicherheit 6.4 Transportsicherheit (TLS, SSL) 6.5 Netzwersicherheit (IPSec) 6.6 Operative Sicherheit: Firewalls und IDS Computernetzwerke 2013 6–40 What is SSL? § SSL – Secure Socket Layer § Sicheres Transportdienst zwischen Applications (zB., ein web server und ein browser) § SSL war entwickelt von Netscape § SSL Version 3.0 ist implementiert in ganz vielen Browsers (zB: Netscape Navigator und MS Internet Explorer) und in Web servers und weit verwendet im Internet § SSL v3.0 ist specifiziert im ein “Internet Draft“ (1996) § Wurde weiterentwickelt in RFC 2246 und war neubenennt als TLS v1.0 (Transport Layer Security) § Aktuelle Version ist TLS v1.1 (RFC 4346) Computernetzwerke 2013 6–41 Secure Sockets Layer (SSL) § Transportschichtsicherheit für beliebige TCP-basierte Anwendungen über SSL-Dienste. – z.B. zwischen Webbrowser und –server für E-Commerce (https) § Sicherheitsdienste: – Serverauthentifizierung, Datenverschlüsselung, Clientauthentifizierung (optional) Anwendung TCPSocket SSL-Teilschicht TCP TCP IP IP TCP-API Computernetzwerke 2013 Anwendung SSLSocket TCP mit SSL-Erweiterung 6–42 SSL Architektur SSL Handshake Protocol SSL Change Cipher Spec Protocol SSL Alert Protocol applications (e.g., HTTP) SSL Record Protocol TCP IP Computernetzwerke 2013 6–43 SSL: drei Phasen 1. Handshake: § Bob baut eine TCP-Verbindung zu Alice auf § authentifiziert Alice über ein CAsigniertes Zertifikat § erzeugt, verschlüsselt (mit Alices öffentl. Schlüssel) und verschickt ein Master Secret an Alice – Nonce-Austausch wird hier nicht gezeigt Computernetzwerke 2013 6–44 SSL: drei Phasen 2. Schlüsselableitung: § Alice und Bob verwenden das Master Secret, um vier Schlüssel zu erzeugen: – – – – EB: Schlüssel für Verschlüsselung Bob->Alice EA: Schlüssel für Verschlüsselung Alice->Bob MB: MAC-Schlüssel Bob->Alice MA: MAC-Schlüssel Alice->Bob § Verschlüsselungs- und MAC-Algorithmen können zwischen Bob und Alice ausgehandelt werden § warum vier Schlüssel? Computernetzwerke 2013 6–45 SSL: drei Phasen 3. Datentransfer TCP-Bytestrom n Bytes zu einem Block zusammenfassen b1b2b3 … bn d . H( ) d H(d) . H( ) SSL-RecordType Ver Len Format MB d H(d) d H(d) berechne MAC EB SSL seq. # verschlüssle d, MAC, SSL seq. # unverschlüsselt verschlüsselt mit EB Computernetzwerke 2013 6–46 Kapitel 6: Sicherheit § § § § § § 6.1 Was ist Netzwerksicherheit? 6.2 Grundlagen der Kryptographie 6.3 Anwendungssicherheit 6.4 Transportsicherheit (TLS, SSL) 6.5 Netzwersicherheit (IPSec) 6.6 Operative Sicherheit: Firewalls und IDS Computernetzwerke 2013 6–47 IPsec - Übersicht § IPsec ist ein Internet Standard für Network Layer Sicherheit – Bietet Schutz für IP und Protokolls darüber (ICMP, TCP, …) – Ermöglicht die Auswahl von benötigte Sicherheitdients und Algorithmen – Verwendet die korrekte kryptographischen Schlüsseln – Kann verwendet werden zwichen Hosts, Sicherheit Gateways (z.B., firewalls), und zwischen Host und ein Gateway § Komponenten: – ein Authentifizierungsprotokoll (Authentication Header – AH) – Kombinierte entschlüsselung und Authentifizierungsprotokoll (Encapsulated Security Payload – ESP) – Security Assoc. und Schlüssel Einrichtungsprotokoll (IKEv2) § Implementierungsmöglichkeiten von IPsec: – Innerhalb der native IP Stack – bump-in-the-stack (BITS): zwischen IP und ein Network-driver – bump-in-the-wire (BITW): ein separaten HW Gerät (security gateway) Computernetzwerke 2013 6–48 IPsec: Sicherheit auf der Netzwerkschicht § Vertraulichkeit: § – Sender verschlüsselt IPPayload – TCP- und UDP-Segmente; ICMP- und SNMP-Nachrichten. § § Authentifizierung: § – Zielhost kann Quell-IP authentifizieren § zwei zentrale Protokolle: – Authentication-Header-Protokoll (AH) – Encapsulation-SecurityProtokoll (ESP) Computernetzwerke 2013 für AH ebenso wie für ESP: Handshake von Quelle und Ziel: – logische Netzwerk-schichtVerbindung namens “Security Association (SA)” jede SA ist unidirektional eindeutig bestimmt durch: – Sicherheitsprotokoll (AH oder ESP) – Quell-IP – 32-Bit-Verbindungs-ID 6–49 Authentication-Header-Protkoll (AH) § bietet Quellauthentifizierung, Datenintegrität, keine Vertraulichkeit § AH-Header zwischen IPHeader und Datenfeld § Protokollfeld: 51 § Router unterwegs behandeln das Datagramm wie üblich IP-Header Computernetzwerke 2013 AH-Header umfasst: § Verbindungs-ID § Authentifizierungsdaten: von der Quelle signierter Hashwert über das Original-Datagramm § Next-Header-Feld: Payload-Typ (z.B., TCP, UDP, ICMP) AH-Header Daten (z.B., TCP-, UDP-Segment) 6–50 ESP-Protokoll § bietet Vertraulichkeit, § ESP-Authentifizie-rungsfeld Hostauthentifizierung, funktioniert ähnlich wie das in Datenintegrität AH § Daten und ESP-Trailer sind § Protokoll-ID = 50. verschlüsselt § Next-Header-Feld im ESPTrailer authentifiziert verschlüsselt IP-Header Computernetzwerke 2013 ESPESPTCP/UDP-Segment Header Trailer ESPAuth. 6–51 IPsec Dienstleistungen AH ESP (encryption only) ESP (encryption and authentication) integrity P P data origin authentication P P replay detection P P P confidentiality P P limited traffic flow confidentiality P P Computernetzwerke 2013 6–52 Operationsmodus (AH und ESP) § Transportmodus – Bietet Schutz für obere Schichten – Schutz ist verwendet auf der Payload der IP Packet • ESP in Transportmodus entschlüsselt und wahlweise authentifiziert die IP Payload aber nicht die IP Header • AH in Transportmodus authentifiziert die IP Payload und einige Felder der IP Header – Typischerweise verwendet zwischen Endsystemen § Tunnelmodus – Bietet Schutz für die ganze IP Packet – Die ganze IP Packet ist entschlüsselt, und platziert innerhalb von ein neuen IP Packet • ESP in Tunnelmodus entschlüsselt und wahlweise authentifiziert die ganze IP Packet • AH in Tunnelmodus authentifiziert die ganze Inhalt der IP packet einige Felder aus der IP Header – Üblicherweise verwendet zwischen zwei Sicherheitsgateways, er zwischen ein Host und ein Sicherheitsgateways Computernetzwerke 2013 6–53 VPN: Virtual Private Network tunnel SAs in both direction Internet Computernetzwerke 2013 local intranet 6–54 Authentication Header – AH 0 8 next header 16 payload length 31 reserved Security Parameters Index (SPI) sequence number authentication data (variable length) Computernetzwerke 2013 6–55 MAC § MAC ist kalkuliert über – IP Header Felder, die während der Übertragung nicht verändert wird – Die AH Header Fields – Die ganze PDU der übere Schicht header checksum 0000 0000... 0000... MAC authentication data payload AH IP TTL Computernetzwerke 2013 6–56 MAC Algorithmen Requirement Algorithm (notes) MUST SHOULD+ MAY HMAC-SHA1-96 [RFC2404] AES-XCBC-MAC-96 [RFC3566] HMAC-MD5-96 [RFC2403] (1) Computernetzwerke 2013 6–57 AH in Transport- und Tunnelmodus original IPv4 packet original IP header TCP/UDP header data AH in transport mode original IP header AH TCP/UDP header data authenticated except for mutable fields in the IP header AH in tunnel mode new IP header AH original IP header TCP/UDP header data authenticated except for mutable fields in the outer IP header Computernetzwerke 2013 6–58 Encapsulating Security Payload – ESP 0 16 24 31 Security Parameters Index (SPI) sequence number payload (variable length) padding (0-255 bytes) pad length authentication data (variable length) Computernetzwerke 2013 next header § Security Parameters Index – identifies the SA used to generate this encrypted packet § sequence number § payload – transport level segment (transfer mode) or encapsulated IP packet (tunnel mode) § padding – variable length padding § pad length § next header – identifies the type of data contained in the payload § authentication data – a (truncated) MAC computed over the ESP packet (SPI ... next header) 6–59 Entschlüsselung und MAC § Entschlüsselung – Verwendet über: payload, padding, pad length, und nächste Header Felder – IV ist nicht entschlüsselt, wenn benutzt ist § MAC – Grundlänge ist 3x32 bits – MAC ist kalkuliert über die SPI, sequence number, entschlüsselte payload, padding, pad length, und nächste Header Felder – Im Gegensatz zu AH, bei MAC ist die nächste Header nicht einkalkuliert. Computernetzwerke 2013 6–60 Entschlüsselungs- und MAC-Algorithmen Requirement MUST MUSTSHOULD+ SHOULD SHOULD NOT Encryption Algorithm NULL TripleDES-CBC [RFC2451] AES-CBC with 128-bit keys [RFC3602] AES-CTR [RFC3686] DES-CBC [RFC2405] Requirement MUST MUST SHOULD+ MAY Authentication Algorithm HMAC-SHA1-96 [RFC2404] NULL AES-XCBC-MAC-96 [RFC3566] HMAC-MD5-96 [RFC2403] Computernetzwerke 2013 6–61 ESP in Transport- und Tunnelmodus original IPv4 packet original IP header TCP/UDP header data ESP in transport mode original ESP TCP/UDP IP header header header ESP trailer data ESP MAC encrypted authenticated ESP in tunnel mode new ESP original IP header header IP header TCP/UDP header data ESP trailer ESP MAC encrypted authenticated Computernetzwerke 2013 6–62 Beispiel: corporate VPN with tunneling tunnel SAs in both direction local intranet Computernetzwerke 2013 Internet local intranet 6–63 IKEv2 generic message format § IKE SA initiator’s SPI § IKE SA responder’s SPI next payload mj ver mn exchange ver type § § flags message ID § length next payload C reserved payload length payload type specific header and payload data Computernetzwerke 2013 § initiator’s SPI – an 8 byte value chosen by the initiator to identify the IKE SA reponder’s SPI – an 8 byte value chosen by the responder to identify the IKE SA major and minor version – 2.0 exchange type – IKE_SA_INIT – IKE_AUTH – CREATE_CHILD_SA – INFORMATIONAL flags – I(nitiator) – set in messages sent by the original initiator – R(esponse) – indicates that this message is a response to a previous message with the same msg ID message ID – used to match responses and requests, and to detect retransmissions 6–64 Kapitel 6: Sicherheit § § § § § § 6.1 Was ist Netzwerksicherheit? 6.2 Grundlagen der Kryptographie 6.3 Anwendungssicherheit 6.4 Transportsicherheit (TLS, SSL) 6.5 Netzwersicherheit (IPsec) 6.6 Operative Sicherheit: Firewalls und IDS Computernetzwerke 2013 6–65 Firewalls § trennt das interne Netz der Organisation vom Rest des Internet; manche Pakete dürfen passieren, andere werden herausgefiltert. öffentliches Internet administriertes Netzwerk Firewall Computernetzwerke 2013 6–66 Firewalls: Warum? Denial-of-Service-Angriffe abwehren: • SYN-Flooding: Angreifer baut viele nutzlose TCP-Verbindungen auf, es bleiben keine Ressourcen für die “richtigen” Verbindungen Illegalen Zugriff auf oder Manipulation von internen Daten verhindern: • ein Angreifer könnte z.B. die CIA-Homepage durch eine eigene Version ersetzen Nur autorisierten Zugriff auf das interne Netz erlauben (definierte Menge von autorisierten Hosts/Benutzern) Drei Arten von Firewalls: • zustandslose Paketfilter • zustandsbasierte Paketfilter • Anwendungs-Gateways Computernetzwerke 2013 6–67 Zustandslose Paketfilter Sollte ein ankommendes Paket hereingelassen werden? Ein abgehendes Paket hinaus? § internes Netz ist mit dem Internet über eine Router-Firewall verbunden § Der Router betrachtet jedes Paket für sich, die Entscheidung, ob weitergeleitet wird, basiert auf : – – – – Quell- und Ziel-IP TCP/UDP-Quell- und Zielportnummern ICMP-Nachrichtentyp TCP-SYN- und ACK-Bits Computernetzwerke 2013 6–68 Zustandslose Paketfilter – Beispiel § Beispiel 1: Blockiere eingehende und ausgehende Datagramme mit IP-Protokollfeld 17 und entweder Quell- oder Ziel-Port 23. – alle ein- oder ausgehenden UDP-Flows und TelnetVerbindungen werden blockiert. § Beispiel 2: Eingehende TCP-Segmente mit ACK=0 blockieren. – hält externe Hosts davon ab, zu internen Hosts TCPVerbindungen aufzubauen, erlaubt es aber internen Hosts, nach Verbindungen nach außen zu initiieren. Computernetzwerke 2013 6–69 Zustandslose Paketfilter: mehr Beispiele Ziel Firewall-Regel Kein Web-Zugriff nach außen. Alle eingehenden Pakete zu jeder IP-Adresse und Port 80 verwerfen. Keine eingehenden TCP-Verbindungen, außer sie sprechen den eigenen Webserver an. Alle eingehenden TCP-SYN-Pakete verwerfen, außer sie gehen an IP-Adresse 130.207.244.203, Port 80. Vermeiden, dass Web-Radio die gesamte Alle eingehenden UDP-Pakete verwerfen, außer DNS und Router-Broadcasts. Bandbreite belegt. Verhindern, dass das eigene Netzwerk für einen Smurf-DoS-Angriff missbraucht wird. Eingehende ICMP-Pakete mit BroadcastZieladresse (z.B. 130.207.255.255) verwerfen. Verhindern, dass das eigene Netz mit Traceroute untersucht wird. Ausgehende ICMP-TTL-Expired-Pakete verwerfen. Computernetzwerke 2013 6–70 Access Control Lists § ACL: Liste von Regeln, die von oben nach unten auf eingehende Pakete angewandt wird: Paare von Aktionen und Kriterien Aktion Quell-IP Ziel-IP Protokoll Quell-Port Ziel-Port erlaube 222.22/16 nicht in 222.22/16 TCP > 1023 80 erlaube nicht in 222.22/16 TCP 80 > 1023 ACK erlaube 222.22/16 UDP > 1023 53 --- erlaube nicht in 222.22/16 222.22/16 UDP 53 > 1023 ---- verbiete alle alle alle alle alle alle Computernetzwerke 2013 222.22/16 nicht in 222.22/16 Flags egal 6–71 Zustandsbehaftete Paketfilter § zustandslose Paketfilter sind oft unbeholfen: – Pakete werden zugelassen, die “keinen Sinn machen”, z.B. Ziel-Port 80, ACK-Flag gesetzt, obwohl keine TCP-Verbindung existiert: Aktion Quell-IP Ziel-IP erlauben nicht in 222.22/16 222.22/16 Protokoll Quell-Port Ziel-Port Flags TCP 80 > 1023 ACK § zustandsbehafteter Paketfilter: verfolgt den Zustand jeder TCPVerbindung im Auge • liest den Verbindungsauf- (SYN) und –abbau (FIN) mit: kann bestimmen, ob ein- und ausgehende Pakete “sinnvoll” sind • Timeout für inaktive Verbindungen in der Firewall: alte Verbindungen nicht mehr durchlassen Computernetzwerke 2013 6–72 Zustandsbehaftete Paketfilter § ACL wird erweitert um anzuzeigen, ob es notwendig ist, die Zustandstabelle der Verbindungen ebenfalls zu prüfen action source address dest address proto source port dest port allow 222.22/16 outside of 222.22/16 TCP > 1023 80 allow outside of 222.22/16 TCP 80 > 1023 ACK allow 222.22/16 UDP > 1023 53 --- allow outside of 222.22/16 222.22/16 UDP 53 > 1023 ---- deny all all all all all all Computernetzwerke 2013 222.22/16 outside of 222.22/16 flag bit check conxion any x x 6–73 Anwendungs-Gateways § Pakete werden basierend auf Anwendungsdaten ebenso wie aufgrund von IP/TCP/UDPFeldern untersucht § Beispiel: nur bestimmte interne Benutzer dürfen Telnet nach außen verwenden Telnet-Session vom Host zum Gateway AnwendungsGateway Telnet-Session vom Gateway zum entfernten Host Router und Filter 1. verlange, dass alle Telnet-Verbindungen über das Gateway laufen 2. für autorisierte Benutzer baut das Gateway eine Telnet-Verbindung zum Zielhost auf; Gateway vermittelt die Daten zwischen den beiden Verbindungen 3. Router-Firewall blockiert alle Telnet-Verbindungen, die nicht vom Gateway stammen. Computernetzwerke 2013 6–74 Grenzen von Firewalls und Gateways § IP-Spoofing: ein Router kann nicht wissen, ob Daten “tatsächlich” von der angegebenen Quell-IP stammen § wenn mehrere Anwendungen Spezialregeln brauchen, hat jede ein eigenes AnwendungsGateway § Client-Software muss wissen, wie man das Gateway kontaktiert: – z.B. muss im Browser die Adresse des Web-Proxy eingestellt werden Computernetzwerke 2013 § Filter verwenden oft eine “Alles-oder-Nichts”-Regel für UDP § Abwägung: Kommunikationsmöglichkeiten mit der Außenwelt vs. Sicherheitslevel § viele stark geschützte Netzwerke sind noch immer Ziel von Angriffen 6–75 Intrusion-Detection-Systeme § Paketfilter: – arbeiten nur auf den TCP/IP-Headern – Daten unterschiedlicher Sitzungen können nicht korreliert werden § IDS: Intrusion-Detection-System – Deep Packet Inspection: betrachtet den Paketinhalt (vergleicht z.B., ob im Paket Zeichenketten vorkommen, die in einer Datenbank bekannter Angriffe und Viren vorkommen) – Korrelation mehrerer Pakete • Port-Scanning • Netzwerk-Mapping • DoS-Angriffe Computernetzwerke 2013 6–76 Intrusion-Detection-Systeme § mehrere IDS: verschiedene Tests an verschiedenen Stellen im Netz AnwendungsGateway Firewall Internet internes Netzwerk IDSSensoren Computernetzwerke 2013 Webserver FTPServer DNSServer Entmilitarisierte Zone (DMZ) 6–77