Kapitel 6 Sicherheit

Werbung
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
Zugehörige Unterlagen
Herunterladen