Unvollständiger Entwurf der Stichwortliste zur Vorlesung

Anwendungen kryptografischer und anderer sicherheitstechnischer Methoden zur Absicherung elektronischer Kommunikation im Internet

 

Organisation

Vorlesungsnummer: 260072

Datum: 25.02.2008-29.02.2008

Uhrzeit: 10-16 Uhr

Ort: Einsteinstraße 60, ZIV-Pool 3 (Erdgeschoss)

URL: https://www.uni-muenster.de/ZIV/Lehre/Internet/

Skriptmaterialien: am gleichen Ort

Folien: https://www.uni-muenster.de/ZIV/Lehre/Internet/PublicKeyKryptografieFolien.pdf

Ergänzende Literaturempfehlungen:

Clifford Stoll, Kuckucksei, Fischer Taschenbuch, ISBN 3596139848

Simon Singh, Geheime Botschaften, Dtv Taschenbuch, ISBN 3423330716

Zahllose Artikel aus der Zeitschrift c't, Heise-Verlag

Wikipedia-Artikel http://de.wikipedia.org zu »Internetprotokoll« und dort verlinkte Artikel

Bruce Schneier, Applied Cryptography, Second Edition, John Wiley & Sons, ISBN 0471117099

David Kahn, The Codebreakers, Scribner Book Company, ISBN 0684831309

Virtuelle Maschinen:

WinXPPro-1 = Installation + TCP/IP-Filterung + Windows Update (nur automatisch, aber inkl. IE7) (+ VMware Tools)

WinXPPro-2 = dito + Benutzer eingerichtet + Windows + Datenausführungsverhinderung + Vollständige Dateinamen + Antivirus

WinXPPro-3 = dito + Internetoptionen + Firefox (ohne Quality-Feedback-Agent, unkonfiguriert)

Ubuntu710-1 = Installation + Updates (+ VMware Tools)

Ubuntu710-2 = dito + Thunderbird (unkonfiguriert)

UbuntuStart = Leer, mit Ubuntu-Alternate-Install-CD und mehr Devices

 

Motivation

Wiedergewinnung von etwas Privatsphäre und Anonymität

Wiedergewinnung von etwas vertraulichem Gedankenaustausch

Schutz eigener Daten und Interessen

Beispiel: Siemens verlor 1993/94 Vier-Mrd.-ICE-Südkorea-Auftrag: DGSE las Angebotfax, Alstom bot TGV günstiger

Beispiel: eigene Verbeamtung

Aufrechterhaltung der Nutzbarkeit des Rechners

Vermeidung der Beihilfe zu Kriminalität und Terrorismus

Vermeidung, das Ziel polizeilicher Ermittlungen zu werden

Verdächtige unaufgeklärter Strafverfahren bleiben 10 Jahre im Polizeicomputer

 

Geschichte des Internet

http://www.zakon.org/robert/internet/timeline/

1957: Gründung ARPA (Advanced Research Projects Agency) im DoD (Department of Defense) nach Sputnik-Schock

1961: Erste Theorien zu paketorientierten Netzen

1966: Erste Planungen zum ARPANET

29.10.1969 22:30 PST (30.10.1969 07:30 MEZ) Erste Verbindung im ARPANET (Los Angeles - Menlo Park, knapp 600 km)

1969: 4 Rechner

1971: 23 Rechner in 15 Universitäten

1973: Erste interntionale Verbindungen

1982: Festlegung von TCP/IP (Transmission Control Protocol / Internet Protocol)

1984: 1.000 Rechner überschritten

1987: 10.000 Rechner überschritten

1989: 100.000 Rechner überschritten

1989: Vorschlag für konkretes Konzept eines World Wide Web beim CERN

Dezember 1990: Erste World-Wide-Web-Verbindung beim CERN http://www.w3.org/2005/01/timelines/

1991: Entwicklung von PGP durch Phil Zimmermann http://www.philzimmermann.com

1992: 1.000.000 Rechner überschritten

1995: WWW übernimmt Spitzenposition bzgl. übertragener Datenmenge

1996: 10.000.000 Rechner überschritten

1996: Öffentliches Aufsehen durch staatliche Zensurmaßnahmen

China: Nur polizeilich registrierte Nutzer

Deutschland: Zensur von NetNews-Foren

Saudi-Arabien: Zugang nur für Universitäten und Krankenhäuser

Singapur: Religiöse und politische Internetseiten nur nach polizeilicher Registrierung

Heute sind Zensur und Mitlesen omnipräsent, Beispiel Echelon.

2001: 100.000.000 Rechner überschritten

Mitte 2006: Etwa 440.000.000 Rechner in 171 Ländern

Ende 2006: über 100.000.000 WWW-Server

 

Aufbau des Internet - Einführung

Sehr gute Beschreibung aller Einzelheiten in Wikipedia http://de.wikipedia.org

Das Internet = ein Netz von Netzen

Gemeinsames Protokoll (formalisierte Sprache zwischen Computern) aller Computer in allen Netzen: IP (Internet Protocol)

Darauf aufbauend viele Protokolle für Anwendungen: HTTP, SMTP, Telnet, FTP, IRC, ICQ, NNTP, ...

Unabhängig vom Transportmedium: Kupfer, Glasfaser, Funk, Laser, Satellit

Sogar Brieftauben möglich: RFCs 1149, 2549

Wer Verbindung zum Internet hat, ist Bestandteil des Internet

Es gibt keine Institution namens Internet und niemanden, der für das Internet verantwortlich ist

Es gibt Teilbereiche, für die Institutionen verantwortlich sind:

ICANN (Internet Corporation for Assigned Names and Numbers) betreibt IANA (Internet Assigned Numbers Authority)

Regional Internet Registries: RIPE NCC (Réseaux IP Européens, Network Coordination Centre; Europa+Mittlerer Osten)

Parallel dazu: AfriNIC (Afrika), APNIC (Asien+Pazifik), ARIN (Amerika), LACNIC (Lateinamerika+Karibik)

Internet seit 1969, WWW erst ab 1991

Viele Internetcafés bieten kein Internet, sondern nur WWW-Zugang

WWW und E-Mail sind nur zwei von vielen Teilen des Internet! ICQ, SSH, Internet-Telefonie u.v.a.m.

Internet nicht kostenlos: WWU+UKM+FH bezahlen etliche hunderttausend Euro pro Jahr für Anschlusskosten

 

Aufbau des Internet - IP-Pakete (Internet Protocol)

IP-Adressen = Adressen von Rechnern (Hausnummern), vier Ziffern aus 0...255

ALSO: Jeder Rechner muss kennen: Eigene IP-Adresse (evtl. beim Rechnerstart per Rundruf »Wer bin ich?« erfragt)

PRAXIS: ipconfig

ALSO: Adressierung IP-Pakete: Von-IP-Adresse, An-IP-Adresse

Paketinhalte können unterschiedlich interpretiert werden: Protokollnummer im Paketkopf: 1=ICMP, 6=TCP, 17=UDP, 47=GRE

InternetControlMessageProtocol TransmissionControlProtocol UserDatagramProtocol GenericRoutingEncapsulation

PRAXIS: ping 128.176.4.4 (ICMP Echo Request)

Verknüpfung von lokalen Netzen via Router (von Microsoft Gateway genannt) (Haus mit Türen an verschiedenen Straßen)

Lokale IP-Pakete direkt adressieren, nicht-lokale IP-Pakete an Router

ALSO: Jeder Rechner muss kennen: Eigene IP-Adresse, Default-Router, Netmask

Falls eigene IP-Adresse und Ziel-Adresse, durch Netmask betrachtet, gleich sind, lokal adressieren, sonst an Default-Router

ALSO: Adressierung IP-Pakete: Von-IP-Adresse, An-IP-Adresse, Via-IP-Adresse

Router nimmt Pakete, ersetzt Via-Adresse durch nächste Via-Adresse gemäß in ihm vorhandener Tabellen

Router leitet über einen durch die Tabellen festgelegten Netzwerkanschluss (Haustür) weiter

PRAXIS: Netmask: ipconfig/all, Routen: netstat -r

Jeder Netzanschluss hat eigene IP-Adresse - ein Rechner kann mehrere IP-Adressen haben (Hausnummern an jeder Haustür)

Router können Tabelleninhalte über das Internet (BGP über TCP oder eigene Protokolle 89=OSPF usw.), über statische Einträge usw. erhalten

Pakete durch fehlerhafte Tabellen im Kreis? Schutz durch TTL-Angabe (Time To Live)

Absender setzt TTL, jeder Router verringert TTL um eins, bei Null wird verworfen und Absender per ICMP (Internet Control Message Protocol) benachrichtigt

PRAXIS: auf realer Maschine: tracert 128.176.4.4 (oder vorgreifend: tracert www.washington.edu)

ALSO: Adressierung IP-Pakete: Von-IP-Adresse, An-IP-Adresse, Via-IP-Adresse, Time to Live (dazu Länge, Framentnummer usw.)

Letzter Router setzt Via-IP-Adresse auf An-IP-Adresse

ICMP-Pakete (Internet Control Message protocol) für Tests und Fehlermeldung: Echo Request (Ping), Echo Reply, Destination Unreachable, Time Exceeded usw.

IP-Adressen werden von zentralen Internet-Registraren (RIPE, AfriNIC, APNIC, ARIN, LACNIC) über lokale Registrare (DENIC usw.) blockweise vergeben

Uni Münster hat 128.176.0.0 bis 128.176.255.255, auch als 128.176.0.0/255.255.0.0 oder 128.176.0.0/16 geschrieben

Gewisse private IP-Adressbereiche 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 169.254.0.0/16 darf jeder verwenden, aber nicht nach außen durchlassen

IP-Adressbereich 127.0.0.0/8 bezeichnet immer den eigenen Rechner, unabhängig von sonst zugewiesenen IP-Adressen

Pakete können zwischendurch in Teilpakete fragmentiert werden (Medien haben maximale Paketgröße: MTU = Maximum Transmission Unit)

Nächste Via-Station re-assembliert Fragmente

 

Aufbau des Internet - UDP/IP-Pakete (User Datagram Protocol)

Ein Rechner kann mehrere Dienste beherbergen: Jeder Dienst hat eindeutige Portnummer (Zimmernummer) aus 1...65536

Well-Known Port Numbers: Überlicherweise benutzen bestimmte Dienste bestimmte Portnummern, Liste bei IANA

Mehrere Programme können gleichzeitig auf das Internet zugreifen: Zum Zuordnen der Antwortpakete ebenfalls Portnummern nötig

ALSO: Adressierung UDP/IP-Pakete: Von-IP-Adresse, Von-Portnummer, An-IP-Adresse, An-Portnummer, Via-IP-Adresse, Protokoll 17=UDP, Time To Live usw.

Gut für Audio/Video/Telefonie, wo einzelne Paketverluste nicht schaden (gibt Ruckler, oder Knacken)

Gut für Kommunikation in kleinen Mengen, wo alle Daten in ein Paket passen (Nameserverabfragen usw.)

 

Aufbau des Internet - TCP/IP-Pakete (Transmission Control Protocol)

IP-/ICMP-/UDP-Pakete können verloren gehen (z.B. Router-Überlastung), keine überwachte Verbindung, nur kleine Datenmengen pro Paket

TCP/IP sorgt für Eingangsbestätigungen und bei deren Ausbleiben für Retransmission von Paketen, virtuelle Verbindungen möglich

Portnummern wie bei UDP (aber eigenes Protokoll, daher eigener Nummernsatz: Gelbe und blaue Zimmertüren jeweils von 1...65535)

Sequenznummern zur Paketsortierung (Pakete können sich überholen)

Flaggen SYN, ACK, FIN, RST und mehr für Pakettyp: Verbindungsaufbau, -bestätigung, Daten, -bestätigung, Verbindungsabbau, -bestätigung, Rücksetzung

Verbindungaufbau (3-Wege-Handshake): Hin: SYN-Paket, Zurück: SYN+ACK-Paket, Hin: ACK-Paket

Paketfilter können Verbindungsaufbau unterdrücken, indem sie das SYN-Paket nicht durchlassen

Verbindungsabbau analog mit FIN statt SYN, gewaltsam mit RST

Flusssteuerung: Datenpakete werden mit ACK bestätigt, sonst erfolgt Retransmission:

TCP-Window: Wie viele noch unbestätigte Daten (-pakete) maximal unterwegs sein dürfen

TCP/IP-Verbindungen werden eindeutig erkannt an Kombination: Client-IP-Adresse, Client-Port, Server-IP-Adresse, Server-Port

PRAXIS: netstat, netstat -a

 

Aufbau des Internet - Funktionsweise von Paketfiltern

Einzelne IP-Pakete werden untersucht

Paketfilter können in sichtbaren Routern oder auch unsichtbar in »intelligenten Leitungen« stecken

Mögliche Entscheidungskriterien: Jede Kombination aus:

Richtung

Quell-IP-Adresse, Ziel-IP-Adresse

Protokollnummer (1=ICMP, 6=TCP, 17=UDP, 47=GRE usw.)

Bei ICMP: Pakettyp (Echo Request, Echo Reply, Host Unreachable usw.)

Bei TCP und UDP: Quell-Portnummer, Ziel-Portnummer

Bei TCP: Flags (SYN, ACK, FIN, RST usw.)

Weitere Eigenschaften wie Länge, Fragmentierung, Seriennummer usw.

Externe Informationen wie Uhrzeit usw.

Bei Paketfiltern auf Quell- oder Zielsystem: Welches Programm hat den Port geöffnet

Aber nicht: Wer bzw. welches Programm hat diesem Programm den Auftrag gegeben, den Port zu öffnen

(Trojanische Pferde können Outlook Express oder Internet Explorer bitten, Informationen weiterzugeben)

Inhalte schlechtes Kriterium, da über beliebig viele Pakete verteilt

Kein Virenschutz möglich - Virenscanner bleiben unverzichtbar

Kein Inhaltsfilter/Jugendschutz - dafür Application Firewalls nötig, die den Datenstrom zusammenbauen und komplett analysieren

Kein Filter aufgrund von WWW- oder Mail-Adressen - diese stehen irgendwo im Datenstrom, dafür wären Application Firewalls nötig

Kein Filter aufgrund von Rechnernamen - die Pakete enthalten nur die Adressen, viele Namen haben gleiche Adresse

Beispiel: Eingehende WWW-Anfrage filtern: Eingehendes Paket, Protokoll TCP, Ziel-Portnummer 80, Flags SYN=1 ACK=0 FIN=0 RST=0

Reaktionsmöglichkeiten: Paket wegwerfen, durchlassen, abändern, Antwortpaket (meist mit RST=Verbindungsabbruch) generieren

Stateful Packet Filter: Ändert Regeln abhängig von durchlaufenden Paketen

erlaubt z.B. bestimmte eingehende Pakete nur, wenn vorher durch ein ausgehendes Paket angefordert und Zeitfenster eingehalten

Auch Lastverteilung denkbar: Pakete verschiedener Verbindungen werden unterschiedlich weitergeleitet (WWU: POP, IMAP, WWW)

PRAXIS: Windows-TCP-Paketfilterung - sehr eingeschränkte Funktionalität (aktivieren, 53/tcp für DNS und GRE=47 für VPN erlauben)

PRAXIS: Windows-Firewall - eingeschränkte Funktionalität (aktivieren, keine Ausnahmen zulassen

Die meisten »Desktop Firewalls« sind nur Paketfilter mit mehr oder weniger eingeschränkter Funktionalität

PRAXIS: Linux-IPTables - volle Funktionalität

Reinitialisierung (habe ich in /etc/rc.local, was eigentlich zu spät ist):

/sbin/iptables -F # Alte Regeln weg

/sbin/iptables -X 2>/dev/null # Alte Chains weg

/sbin/iptables -P INPUT DROP # Nichts herein, falls nicht anders gesagt

/sbin/iptables -P FORWARD DROP # Nichts hindurch, falls nicht anders gesagt

/sbin/iptables -P OUTPUT ACCEPT # Alles heraus, falls nicht anders gesagt

/sbin/iptables -N both # Neue Chain (um doppelte Regeln zu vermeiden)

/sbin/iptables -A INPUT -j both # Hinein-Pakete und

/sbin/iptables -A FORWARD -j both # Hindurch-Pakete gleich behandeln

Erlaubnisse:

/sbin/iptables -A both -i lo -j ACCEPT # Interne Verbindungen (Interface »lo« = localhost)

/sbin/iptables -A both -p icmp -m icmp --icmp-type any -j ACCEPT # ICMP, mit ping testen

/sbin/iptables -A both -m tcp -p tcp ! --tcp-flags SYN,RST,ACK SYN -j ACCEPT # Alles TCP außer SYN-Paketen

Verbotsantworten:

/sbin/iptables -A both -m tcp -p tcp --dport 113 --tcp-flags SYN,RST,ACK SYN -j REJECT --reject-with tcp-reset # ident-Rückfragen

Ausgefeilter mit Stateful-Filterung (habe ich in /etc/rc.local)

/sbin/iptables -A both -m state --state ESTABLISHED,RELATED -j ACCEPT # bestehende/assoziierte Verbindungen

/sbin/iptables -A both -m state --state NEW -i lo -j ACCEPT # lokale Verbindungen

/sbin/iptables -A both -m state --state NEW -i vmnet+ -j ACCEPT # virtuelle Maschinen

/sbin/iptables -A both -m state --state NEW -p tcp --dport 113 -j REJECT --reject-with tcp-reset # ident-Rückfragen

 

Aufbau des Internet - Rechnernamen, Nameserver

IP-Adressen nicht nutzerfreundlich, Namen besser

Nameserver (meist über UDP) wandeln Namen in IP-Adressen um

Mehrere Namen für einen Rechner möglich: Kanonischer Name, Aliasname (Beispiel: news und sagnix), häufig für dienstbezogene Namen genutzt

ALSO: Jeder Rechner muss kennen: Eigene IP-Adresse, Default-Router, Netmask, Nameserver

Mehrere Nameserver wegen Ausfallsicherheit möglich

PRAXIS: ipconfig/all, ping zivunix, nslookup zivunix

Mehrere Adressen für einen Namen möglich: Lastverteilung

 

Aufbau des Internet - Domain Name Server (DNS)

Verschiedene Einrichtungen möchten gerne gleiche Namen verwenden: Welcher »www« ist gemeint?

Abhilfe: Domains: www.jura.uni-muenster.de = Rechner www in 3rd-Level-Domain jura in 2nd-Level-Domain uni-muenster in Toplevel-Domain de

Rechnernamen ohne Domainangabe werden in eigener Domain gesucht

ALSO: Jeder Rechner muss kennen: Eigene IP-Adresse, Default-Router, Netmask, Nameserver, eigene Domain

Domain-Hierarchie unabhängig von Netz-Topologie: Rechner völlig unterschiedlicher Adressen können in einer Domain zusammengefasst werden

Jede Domain hat einen oder mehrere Domain Name Server

Jeder Nameserver kennt: Rechner der eigenen Domain, Nameserver unter- und übergeordneter Domains

Oberhalb der Toplevel-Domainserver gibt es Root-Domain-Server (Politikum: Die meisten indirekt unter Kontrolle der US-Regierung)

Toplevel-Domains: anfangs: net, org, com, edu, gov, mil; später Länderdomains: de, ch, at, eu usw; neu: info, biz, name usw.

Politikum: ICANN beschließt über neue Topleveldomains. Zu viel Einfluss der US-Regierung.

Vergabe von Subdomains durch NIC (Network Information Center) der übergeordneten Domain: uni-muenster.de durch DENIC, jura durch uns

PRAXIS: nslookup (www, mail, pop, imap; auch mit verschiedenen Domains)

 

Aufbau des Internet - Mail-Exchanger und andere Records

Ein A-Record im Nameserver liefert die IP-Adresse zu einem Rechnernamen

Ein CNAME-Record liefert zu einem Rechnernamen einen anderen Rechnernamen (Alias, in Münster wenig genutzt)

Ein NS-Record liefert einen zuständigen Nameserver (meist mehrere)

Ein MX-Record liefert den Rechnernamen zu einer Maildomain (uni-muenster.de in perske@uni-muenster.de)

Zu einer Maildomain kann es mehrere MX-Einträge mit gleicher oder unterschiedlicher Priorität geben

Falls kein MX-Record, dann gilt der A-Record (aber manche Software fehlerhaft)

PRAXIS: nslookup -q=mx, nslookup -q=any; host -a; dig any (www, www.uni-muenster.de, www.uni-ms.de, ...)

Rückwärtsauflösung möglich falls ordentlich gepflegt: zu a.b.c.d gehört PTR-Record für d.c.b.a.in-addr.arpa

PRAXIS: nslookup -q=ptr 4.4.176.128.in-addr.arpa (oder -q=any)

 

Aufbau des Internet - NAT (Network Address Translation)

IP-Adressraum extrem knapp

NAT ermöglicht vielen Rechnern, unter der gleichen IP-Adresse nach außen aufzutreten

Lokal können private IP-Adressen verwendet werden

Ausgehende Verbindungen gehen über NAT-Router, der ersetzt lokale Adressen und Portnummern durch eigene

NAT-Router merkt sich in Tabelle, wie er Adressen in Antwortpaketen zurückübersetzen muss

Unaufgeforderte Pakete werden weggeworfen (es sei denn, es gibt dafür spezielle, händisch gepflegte Tabelleneinträge)

NAT wird benutzt beispielsweise:

Von VMware, damit die virtuelle Maschine die IP-Adresse der realen Maschine mitbenutzen können

Von Einwahlroutern, damit die eine zugewiesene IP-Adresse von einem ganzen lokalen Netz benutzt werden kann

Von Lastverteilern, die eingehende Verbindungen auf verschiedene Server verteilen

NAT ist schon eine sehr gute Paketfilter-Firewall, weil unaufgeforderte Pakete gar nicht erst ankommen

 

Aufbau des Internet - Richtige Firewalls

Application Firewalls auf Anwendungs-Ebene in DMZ (Demilitarized Zone) zusätzlich zu Paketfiltern

Datenströme werden zusammengesetzt und per getrennter Verbindung weitergeleitet

Vom Internet aus sollte nur die Firewall sichtbar sein, die stellvertretend (als Proxy) für die Clients handelt

Ermöglicht Virenfilterung, Content-Filterung (Jugendschutz) usw.

Richtige Firewalls bestehen nicht nur aus mehreren Systemen, sondern aus einem komplexen Konzept

PS: Jugendschutz hat im Grundgesetz höheren Stellenwert als Meinungs- und Pressefreiheit!

Intrusion Prevention Systeme (wie von der Uni eingesetzt)

Sammeln Informationen aus durchlaufenden Daten und korrelieren diese

Aktivieren Paketfilter, sobald verdächtige Konstellationen auftreten

 

Angriffswege gegen ein einzelnes System und Sicherungsmaßnahmen

Einzelnes System heißt nicht unbedingt ein einzelner Rechner

 

* Böse konstruierte IP-Pakete (WinNuke, Ping O'Death) nutzen Betriebssystemfehler

Keinerlei Schutzprogramme (Desktop Firewall, Antivirensoftware usw.) auf dem Rechner können helfen!

Einziger zuverlässiger Schutz: Beseitigung des Fehlers (Betriebssystemaktualisierung)

Unzuverlässiger Schutz: Externe Paketfilter (nur falls so konfiguriert, dass diese Pakete hängen bleiben)

Folgen: Denial Of Service oder gar Einbruch mit kompletter Übernahme des Rechners

PRAXIS: Windows-Update einstellen, Linux-Update einstellen

 

* Fehler in nicht benötigter Software

Deinstallieren: Was nicht da ist, kann auch keine Fehler haben

Gilt insbesondere auch für Windows-Komponenten

 

* Distributed Denial Of Service

Die Atombombe des Internets: (Zig)Tausende von Rechnern greifen gleichzeitig auf einen bestimmten Rechner zu

Die vielen Rechner wurden mit anderen Mitteln übernommen

Wegen der Überlastung des Netzanschlusses kommen zu wenig echte Pakete zeitgerecht an: Zusammenbruch der Verbindung

 

-- Name, Matrikel, Geburtstag und -ort, Semesteranschrift der Teilnehmer wegen Teilnahmebescheinigung einsammeln --

 

* Viren allgemein (keine genaue Definition)

Software, die sich verbreitet (»Würmer« aus eigener Kraft, »Viren« durch Mithilfe anderer Software oder des Nutzers)

Software, die Schaden ausübt (gegenüber dem befallenen System oder gar gegenüber Dritten)

 

* Böse konstruierte IP-Daten nutzern Softwarefehler in Dienstprogrammen

»Würmer« verbreiten sich auf diesem Weg, ohne dass der Nutzer mithelfen muss

Zuverlässiger Schutz: Beseitigung des Fehlers (Softwareaktualisierung) oder Abschaltung des Dienstprogramms

Unzuverlässiger Schutz gegen Buffer-Overflow-Fehler durch Ausführungsverhinderung

PRAXIS: Windows: Start | Systemsteuerung | Leistung und Wartung | System | Erweitert | Systemleistung |

Einstellungen | Datenausführungsverhinderung | für alle aktivieren

Neuere 64-Bit-Prozessoren können das besser (Not-eXecute-Flag auf Speicherbereiche)

PRAXIS: Unnötige Dienstprogramme deaktivieren (Problem: Hunderte von Autostartmöglichkeiten unter Windows)

Desktop Firewalls schützen gegen Ausnutzung von Softwarefehlern in versehentlich (!) gestarteten Dienstprogrammen

nur falls entsprechend konfiguriert (wer das kann, weiß meist aber auch den versehentlichen Start zu verhindern)

dies ist der einzige echte Schutz, den Desktop Firewalls bieten

Kein Schutz: Antivirensoftware

Falls das Dienstprogramm nicht mit Administrator-Rechten läuft, sind die Folgen für das befallene System begrenzt:

Niemals irgendwelche Software als Administrator ausführen außer wenn unbedingt notwendig!

PRAXIS: Eingeschränkte Nutzer einrichten: Start | Systemsteuerung | Benutzerkonten

Neues Konto erstellen | Verwalter | Weiter | Computeradministrator | Konto erstellen

Neues Konto erstellen | Nutzer | Weiter | Eingeschränkt | Konto erstellen

Konto ändern | Verwalter | Kennwort erstellen | Kennwort und Hinweis eingeben | Kennwort erstellen

Konto ändern | Nutzer | Kennwort erstellen | Kennwort und Hinweis eingeben | Kennwort erstellen

PRAXIS: Unangenehmen Hintergrund für Verwalter einrichten

 

* Bootsektor-Viren und Programm-Viren

Verbreitung über Austausch von Datenträgern (Boot-Disketten) oder Programmdateien, lange Zeit schlimmste Plage

Betriebssystem (Bootsektor-Virus) bzw. Programm (Programm-Virus) wurde scheinbar normal gestartet

aber jede eingelegte Diskette und jede beschreibbare Programmdatei wurde infiziert

Kein Schutz durch Paketfilter - erst die Summe vieler Pakete kann ein Programm-Virus ergeben

Einziger zuverlässiger Schutz

Niemals den Rechner starten, wenn fremde Medien in den Laufwerken liegen

Ausnahmslos niemals unbekannte Programme starten

Unzuverlässiger Schutz:

(Nach Erstinstallation) Boot-Reihenfolge im BIOS so ändern, dass nur von der eingebauten Festplatte gebootet wird

(Nicht gegen Bootviren) On-Access-Antivirensoftware, die jeden Lese- und jeden Schreibzugriff prüft

Schützt nur gegen bekannte Viren, nicht gegen unbekannte und nur manchmal gegen polymorphe.

Heutige Viren fast alle polymorph

Falls keine Backdoor im Virus: Rettung nach Booten vom sauberen Medium durch Virenscanner und -säuberer (z. B. Knoppicillin)

PRAXIS: Nachschlagen von »Bagle.c« auf http://vil.nai.com (legte perMail-Server durch ca. 100 Verseuchungen pro Sekunde lahm)

PRAXIS: Download von Testviren: http://www.eicar.org/anti_virus_test_file.htm

PRAXIS: Installation von Sophos Antivirus

PRAXIS: Testviren öffnen (Scan-on-access) und Festplatte prüfen (Scan-on-demand)

 

* Makro-Viren

Wie Programm-Viren, aber nicht als eigenständige Programme, sondern als Makros in Office-Dokumenten

Schutzmaßnahmen analog zu Programmviren:

Niemals unbekannte Office-Dateien starten; On-Access-Antivirensoftware

Grundsatz: Office-Dokumente niemals im DOC- oder XLS-Format verbreiten, sondern in makrofreie Formate (PDF, RTF, ...) umwandeln

PRAXIS: Word-Dokument als RTF oder PDF speichern

 

* E-Mail-Viren

Eigentlich keine Viren, sondern trojanische Pferde: Werden erst nach bewusst vom Nutzer durchgeführtem Öffnen aktiv

Verbreitung per automatisch generierter E-Mails

Empfänger- und Absender- (!) Adressen aus lokalen Adressbüchern, E-Mail-Ordnern, temporären (Internet- und sonst.) Dateien

Kein Schutz durch Paketfilter - erst die Summe vieler Pakete kann ein E-Mail-Virus ergeben

Unzuverlässige Schutzmaßnahmen

Niemals unbekannte Anlagen öffnen - auch wenn sie scheinbar von Bekannten stammen

E-Mail- und On-Access-Antivirensoftware

Namenstäuschungen vermeiden: Iloveyou.bmp.exe

PRAXIS: Vollständige Dateinamen anzeigen lassen (als Verwalter und als Nutzer)

Start | Systemsteuerung | Darstellung und Designs | Ordneroptionen | Ansicht | Erweiterte Einstellungen | Erweiterungen bei

bekannten Dateitypen ausblenden: AUS | Übernehmen | Alle zurücksetzen | Ja | OK

PRAXIS: In der Registry alle NeverShowExt umbenennen nach ExNeverShowExt

 

* WWW-Viren

Eigentlich trojanische Pferde, die zusammen mit dem Inhalt von bösartigen WWW-Seiten untergeschoben werden

Häufig unter Ausnutzung von Browser-Fehlern

Unzuverlässige Schutzmaßnahmen

Beseitigung der Browserfehler (Softwareaktualisierung)

Defensive Browser-Konfiguration

Zum Surfen eine virtuelle Maschine benutzen

Niemals Links aus zweifelhafter Quelle folgen

PRAXIS: Absicherung des Internet Explorer nach Anleitung

 

* Dialer

Trojanisches Pferd oder Virus, welches als Schadfunktion teure 0190, 0900- oder 118-Nummern anruft

Gleiche Schutzmaßnahmen wie gegen andere Viren und trojanische Pferde

Anti-Dialer ist analog zu Antivirensoftware ein mäßig guter Schutz, kann umgangen werden

Besser und viel komfortabler: DSL-Flatrate benutzen, Modems und ISDN-Karten raus, Verbindung zum Telefonnetz physisch trennen

 

* Spyware

Trojanisches Pferd, welches neben der gewünschten Funktion auch Informationen an den Hersteller oder Dritte weitergibt

Gleiche Schutzmaßnahmen wie gegen andere Viren und trojanische Pferde

Gegen dumme Spyware schützen Desktop Firewalls, die den Programmnamen kontrollieren

Kluge Spyware benutzt zugelassene Programme (Internet Explorer, svchost usw.) zur Datenübermittlung

Anti-Spyware ist analog zu Antivirensoftware ein mäßig guter Schutz

Selbst seriöse Softwarehäuser wie Microsoft, Opera u.a. stellen Spyware her (wieso benutzen Sie noch Windows? Das ist Spyware!)

 

* Phishing

Keine Weiterverbreitung, Keine Schadfunktion, trotzdem trojanisches Pferd

Nutzer wird dazu verleitet, auf einer nicht vertrauenswürdigen WWW-Seite schützenswerte persönliche Daten (PINs, TANs) preiszugeben

Zuverlässige Schutzmaßnahmen

Niemals Links zum Homebanking folgen, immer die richtige Adresse selbst eintippen (ggf. Lesezeichen)

Gehirn einschalten! Banken verbreiten niemals Mitteilungen per E-Mail!

Zertifikat genauestens prüfen (später)

Zusätzlich für Homebanking eine eigene virtuelle Maschine benutzen, die bei jedem Start den gleichen Zustand besitzt

 

* Social Engeneering

»Hier ist Ihre Bank, es gibt ein Problem, wir helfen Ihnen, können Sie uns drei TANs geben?«

Kann sich alles verdammt echt anhören

Niemals weich werden, niemals PINs, TANs oder auch nur Kontonummern oder ähnliche Daten herausgeben.

Analog bei Inkasso-Aufforderungen usw.

-- Liste der Geburtsdaten und Heimatanschriften vernichten -- Sind Sie reingefallen?

Mit den Daten könnte ich während der Semesterferien bei Ihnen einbrechen; Auskünfte von manchen Behörden über Sie erhalten usw.

Es sind schon Betrugsopfer deshalb auf dem Schaden sitzen geblieben, weil sie dem Betrüger ihre Kontonummer gegeben haben (Gerichtsurteile).

 

* Weitere betrügerische Aktionen

Polizeimitteilungen per E-Mail-Kettenbrief: Niemals weiterleiten, niemals beachten

Hoaxes: Virenwarnungen per E-Mail-Kettenbrief: Niemals weiterleiten, niemals beachten

Die angeblichen Reparaturanleitungen schädigen in Wirklichkeit das eigene System

Keine seriöse Einrichtung startet Kettenbriefe

Geschäftsangebote, Hilfegesuche bei Geldtransfer usw.

Genau wie in der Zeitung: Unseriös, niemals beachten

»Nigeria-Connection« und ähnliche: Die »Mithilfe« ist in Wirklichkeit Geldwäsche.

Jobangebote mit leichtem Verdienst, Kaufangebote u. ä.: Häufig soll man erst Geld bezahlen und hört dann nie wieder was

Andere Formen:

Bei eBay zuviel bezahlt: Rückerstattung auf anderes Konto = Geldwäsche; Nur an Ursprungskonto zurück!

Immer gesundes Misstrauen behalten: Sie sind über das Internet viel einfacher für die Gauner erreichbar

 

* Bedienungsfehler

Die Ursache für 99 % aller Probleme befindet sich zwischen Bildschirm und Rückenlehne

Beschränkung der Folgen

Regelmäßiges Backup durchführen

Neuinstallation häufig schneller als Reparatur, aber Konfiguration nachzuvollziehen ist schwierig

Mehrstufiges, aber handhabbares Backup-Konzept angepasst an individuelle Anforderungen entwickeln

Restore üben!

Arbeiten als eingeschränkter Nutzer

Problem: Zu sichernde Dateien liegen bei Windows quer über das ganze System verteilt

Image-Backup alle paar Wochen ernsthaft in Betracht ziehen: Booten von Knoppicillin oder Life-CD

mount /dev/hda /mnt ; dd if=/dev/zero of=/mnt/null bs=10M ; rm /mnt/null ; umount /mnt # spart Platz beim Komprimieren

mount /dev/hdb1 /mnt ; gzip </dev/hda >/mnt/hda-datum.gz ; umount /mnt # kopiert komprimiert

mount /dev/hdb1 /mnt ; gunzip </mnt/hda-datum.gz >/dev/hda ; umount /mnt # restauriert

Vor dem Einschlafen starten

 

* Datenverlust durch Defekt oder Diebstahl

Backup-Medien wegschließen (feuersicherer Tresor)

Backups an getrennten Orten aufbewahren

 

* Datenpreisgabe durch Diebstahl

Backup-Medien wegschließen (feuersicherer Tresor)

Backup-Daten verschlüsseln (entfällt bei verschlüsselten Dateien, falls zum Backup nicht entschlüsselt wird)

Verschlüsselte Backups sind wertlos, wenn der Schlüssel fehlt

Backups von verschlüsselten Daten lassen sich nicht leider komprimieren

Aber manches Verschlüsselungswerkzeug komprimiert vor dem Verschlüsseln

Komplettes Dateisystem oder zumindest vertrauliche Dateien verschlüsseln

Verschlüsselung hilft nicht gegen Online-Angriffe

PRAXIS: Komplett verschlüsseltes Ubuntu aus Alternate Install CD aufsetzen

 

* Physische Gewalt

Bauliche Sicherungsmaßnahmen

 

Zusammenfassung der Sicherungsmaßnahmen gegen Angriffe auf einzelnes System

Betriebssystem- und Softwareaktualisierung - das Fundament der ganzen Burg, extrem wichtig

Vernünftige Softwarekonfiguration, welche ungewolltes Aktivieren von Schadprogrammen erschwert - die Burgmauer, extrem wichtig

Nicht als Administrator, sondern als eingeschränkter Nutzer arbeiten - Schießpulver wegschließen, extrem wichtig

Unangenehmen Hintergrund für Verwalterkonten einrichten - das Warnschild an der Pulverkammertür, wichtig

Gehirn und gesunden Menschenverstand einschalten und nicht auf alles doppelklicken - die Wachen am Burgtor, extrem wichtig

Dateinamen vollständig anzeigen - Maskierungsverbot, damit die Burgtorwachen nicht getäuscht werden

Antiviren-Software - sehr wichtig, Wachsoldaten im Inneren der Burg gegen Feinde, die die Mauer bereits überwunden habe, aber nur gegen bekannte Feinde

Datenausführungsverhinderung - wichtig, verstärkt das Fundament durch Leimmatten, an denen Durchbuddler hängen bleiben, aber nur bei bestimmten Löchern

Desktop Firewall / Paketfilter (eingehend) - versperrt versehentlich geöffnete Türen, aber nur diese - als Zusatzschutz sinnvoll

Desktop Firewall / Paketfilter (ausgehend) - versperrt nur dummen Halunken den Weg ins Internet - nur Schadensbegrenzung im Katastrophenfall

Anti-Dialer-Software - versperrt nur dummen Halunken den Weg ins Telefonnetz - nur Schadensbegrenzung im Katastrophenfall

Anti-Spyware-Software - Hilfstruppen für Wachsoldaten (Antiviren-Software), erkennt vielleicht weitere Feinde

Regelmäßiges vernünftig organisiertes Backup = Bergfried mit Fluchttunnel in neue Burg, letzter Rückzug im Katastrophenfall - extrem wichtig

Verschlüsselung = Optimale Tarnung bei der Flucht vor Räubern, individuell unterschiedlich wichtig

Deinstallation nicht benötigter Software - keine Bäume oder Bauwerke in der Nähe der Burgmauer, die den Feinden nützen könnten

NAT-Router - eine Burg um die Burg, schützt auch gegen böse konstruierte IP-Pakete u. ä., extrem wichtig

Bauliche Maßnahmen gegen Diebstahl und Feuer

Schulung zur Wachsamkeit

 

Spuren im Netz

Im Internet gibt es weniger Anonymität als auf der Straße: Jeder darf Kameras aufstellen

Nationale Datenschutzgesetze im internationalen Netz de facto unwirksam

Echelon (USA+UK hören gesamten transatlantischen Daten- und Fernmeldeverkehr ab)

Jeder protokolliert: Einwahl, Webserver, Mailserver, häufig sogar Router

Anhand der Logs sind IP-Adressen den Personen zuzuordnen

In Deutschland Fernmeldegeheimnis: Herausgabe nur auf richterliche Anordnung gemäß §§ 100 StPO ff.

Aber auch Vorratsdatenspeicherung

Einbrecher sind meist nicht an Daten interessiert, sondern daran, sich hinter Ihnen zu verstecken!

Sorglosigkeit ist Beihilfe zum Terrorismus: Schon jetzt existieren Bot-Netze mit 100.000 befallenen fernsteuerbaren Rechnern.

Virenschreiber werden durch Spammer bezahlt; Spammer versenden Millionen Mails für 100 Dollar

 

E-Mail-Kopfzeilen

Geben Hinweise auf den Ursprung einer E-Mail, zeigen viele, meist fälschbare Spuren

Ausführlich: http://www.uni-muenster.de/ZIV/Hinweise/EMailBelaestigung.html

 

Angriffswege gegen Kommunikation verschiedener Systeme und Sicherungsmaßnahmen

Unabhängig davon ob einzelnes IP-Paket, E-Mail, Webseite oder Sonstiges

 

* Probleme bei der Nachrichtenübermittlung

Problem: Die Nachricht kommt nicht beim Empfänger an

Problem: Die Nachricht wird unterwegs von Dritten gelesen

Problem: Die Nachricht wird unterwegs von Dritten geändert

Problem: Dritte senden eine falsche Nachricht ab

 

* Problemlösung Kryptographie

Verschlüsselung

verhindert Lesen durch Dritte

Elektronische (Digitale) Signatur

beweist die Identität des Absenders

beweist die Unverändertheit der Nachricht

Hilft nicht gegen Verlust einer Nachricht

 

* Symmetrische Kryptographie (Secret-Key-Systeme)

Meist gleicher Schlüssel zum Verschlüsseln und Entschlüsseln

Meist gleicher Schlüssel zum Signieren und Verifizieren

Je zwei Teilnehmer benötigen einen Schlüssel

Beide müssen Schlüssel streng geheim halten

Anzahl Schlüssel wächst quadratisch mit der Teilnehmerzahl

 

* Wie helfen Secret-Key-Systeme?

Verschlüsseln verhindert Abhören

Verschlüsseln = Signieren (bei geeigneten Systemen), daher

Erfolgreiches Entschlüsseln beweist Unversehrtheit

Erfolgreiches Entschlüsseln beweist korrekten Absender

DEMO: an Caesar-Chiffre

 

* Eigenschaften von Secret-Key-Systemen

Rechenoperationen sind schnell

Beliebige Zahlen als Schlüssel

ab 128-Bit-Schlüssel gelten als sicher (2 hoch 128 Möglichkeiten)

Weniger als 64 Bit sind unsicher (alle Schlüssel ausprobieren)

Beispiele

Geheimschriften, DES, RC5, IDEA, Blowfish, Rijndael (AES)

 

* Asymmetrische Kryptographie (Public-Key-Systeme)

Nicht Einzelschlüssel, sondern Schlüsselpaare

Getrennte Schlüssel zum Verschlüsseln und Entschlüsseln

Getrennte Schlüssel zum Signieren und Verifizieren

Aus einem Schlüssel kann der andere nicht berechnet werden

Schlüssel zum Entschlüsseln und Signieren streng geheim

Schlüssel zum Verschlüsseln und Verifizieren öffentlich

Pro Teilnehmer nur ein Schlüsselpaar (oder zwei)

Anzahl Schlüssel wächst linear mit Teilnehmerzahl

Bildlich: Offene Vorhängeschlösser werden verteilt, nur der Empfänger hat den Schlüssel

 

* GRAFIK: Signieren und Verschlüsseln + Entschlüsseln und Verifizieren

 

* Wie helfen Public-Key-Systeme?

Nur ein bis zwei Schlüsselpaare pro Teilnehmer

Verschlüsseln und Signieren unabhängig voneinander

Verschlüsseln verhindert Abhören

Verifizieren der Signatur beweist korrekten Absender

Verifizieren der Signatur beweist Unversehrtheit

Neue Gefahr: Unterschieben falscher öffentlicher Schlüssel

 

* Eigenschaften von Public-Key-Systemen

Rechenoperationen sind meist sehr langsam (große Zahlen)

Nur Zahlen mit bestimmten Eigenschaften als Schlüssel

Systeme auf Basis großer Primzahlen

Beispiele: RSA, ElGamal/DH, Rabin, ...

2048-Bit-Schlüssel gelten als sicher

512-Bit-Schlüssel werden unsicher (Faktorisierung)

Systeme auf Basis elliptischer Kurven

170-Bit-Schlüssel gelten als sicher

Andere Systeme, auch Nur-Signier-Verfahren: DSS, ...

 

* Misch-Systeme

Vorteile beider Systeme nutzen

Secret-Key-Systeme für große Datenmengen (Geschwindigkeit)

Public-Key-Systeme für kleine Datenmengen (Schlüsselverwaltung)

Kryptografische Essenzen zur Datenreduktion

 

* Kryptographische Essenzen (Fingerprints)

Mathematische Hash-Funktion, Einweg-Funktion

Erzeugt aus Texten (Daten) beliebiger Länge eine Essenz

Essenz sehr kurz, meist 128 oder 160 Bit

Es ist praktisch unmöglich,

zu einer gegebenen Essenz einen Text zu finden

zwei ungleiche Texte mit gleicher Essenz zu finden (Geburtstagsangriff)

QUIZ: Wie viele Leute in einem Raum, bis >50% für gleichen Geburtstag? 23

DEMO: 4 Ich-schulde-100-Texte und 4 Ich-schulde-10000-Texte = 16 Kollisionsmöglichkeiten

Bei je 2^64 Texten (64 Leerzeichen einfach oder doppelt) = 2^128 Kollisionsmöglichkeiten

Abhilfe: Jedes nicht selbst erstellte Dokument vor dem Signieren leicht verändern

Dadurch Fälschungssicherheit auf 1:2^128 statt 1:2^64 usw.

Beispiele: MD2, MD5, SHA-1, RIPE-MD, ...

 

* GRAFIK: Signieren und Verschlüsseln (1-6) + Entschlüsseln und Verifizieren (1-6)

 

* Signieren

Mit geheimem Schlüssel des Senders

Essenz aus Nachricht bilden

Essenz mit Public-Key-System verschlüsseln, ergibt Signatur

 

* Verifizieren

Mit öffentlichem Schlüssel des Senders

Gefahr: Habe ich den richtigen Schlüssel?

Signatur entschlüsseln

Zum Vergleich: Essenz aus Nachricht bilden

Wenn beide Ergebnisse gleich, ist Verifizieren gelungen.

 

* Verschlüsseln

Mit öffentlichem Schlüssel des Empfängers

Gefahr: Habe ich den richtigen Schlüssel?

Mit Zufallszahl für Secret-Key-System

Gefahr: Zufallszahl muss zufällig sein

Nachricht (mit Signatur) mit Secret-Key-System verschlüsseln

Auch bei mehreren Empfängern nur einmal

An alle Empfänger übermitteln

Zufallszahl mit Public-Key-System verschlüsseln

Für jeden Empfänger einzeln

An jeden (oder alle) Empfänger übermitteln

 

* Entschlüsseln

Mit geheimem Schlüssel des Empfängers

Die mit dem eigenen Schlüssel verschlüsselte Zufallszahl heraussuchen

Zufallszahl mit Public-Key-System entschlüsseln

Nachricht (mit Signatur) mit Secret-Key-System entschlüsseln

 

* Anwendungen, die Public-Key-Systeme nutzen

PGP-Familie für E-Mail u. a.

PGP (Pretty Good Privacy)

GnuPG (Gnu Privacy Guard), auch in perMail oder Enigmail für Mozilla Thunderbird

PRAXIS: Schlüsselerzeugung mit perMail

PRAXIS: Mit perMail Schlüssel an andere Kursteilnehmer versenden

PRAXIS: Mit perMail signierte und/oder verschlüsselte E-Mails an andere Kursteilnehmer versenden

X.509-Familie für alles Mögliche

S/MIME (Secure Multipurpose Internet Mail Extensions) für E-Mail:

Microsoft Outlook,

Mozilla Thunderbird

SSL (Secure Sockets Layer) für WWW, POP, IMAP, News usw.

Bei SSL hat häufig nur der Server ein Schlüsselpaar

SSH (Secure SHell) statt Rlogin (Telnet), Rsh, Rcp (Ftp), Rdist

SSH zum Tunneln von X11- und anderen Verbindungen

u. v. a. m.

 

* Schlüsselverwaltung bei Public-Key-Systemen

Key-Server mit öffentlichen Schlüsseln

Gefahr: Untergeschobener Schlüssel mit falscher Identität

Mögliche Problemlösungen

»Sichere« Übergabe des Schlüssels

Persönliche Schlüsselübergabe oder

Unsichere Schlüsselübergabe plus persönliche Übergabe der Essenz des Schlüssels

Ausweiskontrolle, falls nicht persönlich bekannt

Telefon-Vergleich der Essenz des Schlüssels (bei bekannter Stimme)

Beglaubigungen (Zertifikate) vertrauenswürdiger Dritter

PRAXIS: https://mein-ziv.uni-muenster.de/testca/

PRAXIS: CA-Zertifikat mit Firefox importieren und gültig schalten

PRAXIS: Fingerprintkontrolle (absolut wichtig bei Homebanking, später mehr)

MD5 Fingerprint=DF:4F:AC:32:7D:0E:94:CB:E8:03:41:89:70:24:28:00

SHA1 Fingerprint=94:B4:C9:6E:D9:59:78:0E:10:5C:77:89:FB:C4:BC:AB:DE:39:F7:3D

PRAXIS: CA-Import in Thunderbird (Firefox: Rechtsklick, Ziel speichern unter; Thunderbird-Import)

PRAXIS: PKCS#12-Datei aus Firefox nach Thunderbird (oder Outlook oder ...)

PRAXIS: Signierte und später verschlüsselte E-Mails mit Thunderbird

 

* Zertifikate

Zertifikate sind elektronisch signierte Beglaubigungen

Festgelegte Formate (PGP, X.509, ...)

»Dieser öffentliche Schlüssel gehört zu dieser Identität«

Weitere Angaben (Gültigkeitsdauer, ...)

Jeder kann Zertifikate ausstellen

Nicht obskuren Firmen Geld in den Rachen schmeißen!

Zur Kontrolle der öffentliche Schlüssel des Ausstellers

Aus sicherer Quelle besorgen!

Empfänger entscheidet, ob er dem Aussteller traut

Ohne Vertrauen das Zertifikat nicht akzeptieren!

 

* Zertifizierung

Inhaber gibt öffentlichen Schlüssel »sicher« an Zertifizierer

Zertifizierer erstellt Zertifikat mit geheimem Schlüssel

Inhaber oder Zertifizierer geben »unsicher« Zertifikat weiter

 

* GRAFIK: Zertifikate (1-6)

 

* Zertifikatkontrolle

Partner erhält »sicher« öff. Schlüssel des Zertifizierers Z

Partner erhält »unsicher« öff. Schlüssel und Zertifikat von X

Partner verifiziert Zertifikat mit öff. Z-Schlüssel

Partner vertraut Zertifizierer

Dann weiß Partner, dass der öff. Schlüssel wirklich X gehört

 

* Zertifizierungsstellen

CA = Certification Authority

Zertifikate können unter Beachtung unterschiedlich hoher Sicherheitsanforderungen ausgestellt werden

Je höher die Sicherheitsanforderung, desto höher die Vertrauenswürdigkeit (Beweiswert) der Zertifikate

Sicherheitsanforderungen werden in Zertifizierungsrichtlinien (Policy) beschrieben

Zertifizierungsstellen verpflichten sich, Zertifikate nur unter Beachtung der Policy auszustellen

 

* Zertifizierungsketten

Nicht immer ist »sichere« Quelle für öffentlichen Zertifizierungs-Schlüssel erreichbar

Aber öffentlicher Zertifizierungs-Schlüssel kann selbst durch Dritten zertifiziert sein

Und dessen Schlüssel durch einen Vierten usw.

OK, falls:

Letzter öffentlicher Schlüssel der Kette aus »sicherer« Quelle erhalten

Und jedes Zertifikat der Kette erfolgreich verifiziert

Und jeder Zertifizierer der Kette voll vertrauenswürdig

Bei PGP ist man selbst das Ende der Kette

 

* GRAFIK: Zertifikate (7)

 

* Zertifizierungsketten

Ich weiß, der Schlüssel von X ist echt (valid), denn:

Ich habe »unsicher« Schlüssel und Zertifikat von X erhalten

Und das Zertifikat von X wurde von Z ausgestellt

Und ich vertraue (trust) den Zertifikaten von Z

Und ich weiß, der Schlüssel von Z ist echt (valid), denn:

Ich habe »unsicher« Schlüssel und Zertifikat von Z erhalten

Und das Zertifikat von Z wurde von Z2 ausgestellt

Und ich vertraue (trust) den Zertifikaten von Z2

Und ich weiß, der Schlüssel von Z2 ist echt (valid), denn:

Ich habe den Schlüssel von Z2 »sicher« erhalten (oder bin Z2)

 

* Zertifizierungshierarchien

Ketten können in Hierarchien gegliedert werden

Bei PGP möglich, bei X.509 quasi zwingend

Beispiel: DFN-Zertifizierungshierarchie

1. Telekom Root CA

2. DFN-PCA (Policy Certification Authority)

3. WWUCA, DFN-User-CA, andere CAs in den Einrichtungen

4. Nutzer, WWW-Server, ...

Kreuz-Zertifizierungen zwischen Hierarchien (DFN, c't, ...)

PRAXIS: Zertifikate von http://www.uni-muenster.de/WWUCA/ importieren

PRAXIS: Zertifizierungsketten mit Firefox nachvollziehen:

Manuell anhand DFN-PKI-Hierarchie

Halbautomatisch beim Überprüfen einer signierten E-Mail

 

* Standard-Format X.509

Verwendung bei S/MIME (E-Mail), SSL/TLS (WWW-Server), ...

Problem bei X.509-Implementierungen: Verordnetes Vertrauen

Oft nicht einstellbar, wem ich traue und wem nicht

Falls ich der Wurzel traue, traue ich allen Gliedern

Gängige WWW-Browser enthalten bereits öffentliche Schlüssel etlicher Zertifizierungsstellen

Diesen Ausstellern wird vom Browser automatisch getraut

Sehr sinnvoll für geschlossene Nutzergruppen

Einfachere Handhabung durch fehlende Einstellmöglichkeiten

Heutige Programme ungünstig für weltweite E-Mails

 

* Widerruf

Bei Kompromittierung vor Ablauf der Gültigkeit

PGP

Widerruf durch Schlüsselbesitzer

Signiert mit geheimem Schlüssel des Inhabers

Verteilung über Keyserver usw. unzuverlässig

X.509

Widerruf durch Zertifizierungsstelle

Signiert mit öff. Schlüssel der Zertifizierungsstelle

Verteilung über CRLs (Certificate Revocation List)

periodisch, Gültigkeitsdauer von CRLs beschränkt

Alternative: Online Certificate Status Protocol OCSP

PRAXIS: CRLs von DFN-PCA und WWUCA importieren

 

* Verbindungsaufbau mit einem SSL-Server

Abhörsichere Verbindungen mit HTTP- (WWW-) Servern

genauso: SMTP, POP, IMAP (E-Mail), NNTP (NetNews), ...

Nur Server benötigt Schlüsselpaar mit Zertifikaten

Client kann sich mit eigenen Zertifikaten ausweisen

Transport Level Security TLS 1.0 = RFC 2246, vormals SSL

Keine Datenübertragung, bevor Verschlüsselung etabliert ist:

Client: Hallo, ..., diese Methoden sind akzeptabel; Kommen

Methoden = Verschlüsselung, Wer sich ausweist, Kompression

Server: Hallo, ..., diese Methode wähle ich

Server: Hier mein öffentlicher Schlüssel mit Zertifikaten

Client überprüft alles, u. a.

Stimmt Server-IP-Adresse mit Angabe im Zertifikat überein?

Ist Server-Zertifikat in Ordnung?

Ggf. Nutzer fragen, ob Zertifikat akzeptabel

Server: Gib Client-Zertifikat einer dieser CAs/Typen

Client: Hier mein öffentlicher Schlüssel mit Zertifikaten, ...

Client: Hier Schlüsseldaten, mit Server-Schlüssel verschlüsselt

Beide berechnen Sitzungsschlüssel aus Schlüsseldaten

Umschaltung auf Secret-Key-Verschlüsselung mit Sitzungsschlüssel

Client: Hier meine Prüfsumme über alles Bisherige; Kommen

Server überprüft alles (ggf. auch Client-Zertifikat)

Server: Hier meine Prüfsumme über alles Bisherige; Fertig

Client überprüft alles; Fertig

Verschlüsselte Übertragung der Daten beginnt.

 

PRAXIS: Homebanking mit http://www.sparda-ms.de -> SpardaNet-Banking

Immer die Adresse eintippen oder aus Bookmark; nie einem Link dorthin folgen!

SHA1 Fingerprint=3b:21:06:25:11:06:f6:8c:8a:54:f5:c8:7a:a3:10:fc:fc:73:c5:a3

»Überprüfen Sie unser Zertifikat« ist Augenwischerei! (Kann nachgemacht werden)

Meine Sicherheitsmaßnahmen:

Fingerprint persönlich in Geschäftsstelle erfragt.

Virtuelle Maschine, die beim Ausschalten alle Änderungen vergisst (auch Viren und Updates, falls welche wären)

Ubuntu auf verschlüsseltem Dateisystem, fertig vorbereitete Bookmarks

IPTables, die nur ausgehende HTTPS-Verbindungen zu den beiden IP-Adressen von banking.sparda.de erlauben

Virtuelle Maschine läuft auf einer stark gesicherten realen Maschine hinter NAT-Router (sonst Angriff auf Boot-Partition)

 

Falls Zeit: Dialogverbindungen mit SSH

 

Falls Zeit: SSH-Tunnel

 

Falls Zeit: VPN-Tunnel

unverschlüsselt, aber sichere Passwortkontrolle: vpn-internet.uni-muenster.de

verschlüsselt: CISCO-Client

 

Falls Zeit: Steganographie

http://www.uni-muenster.de/ZIV/Lehre/Internet/Stegano.txt

 

Falls Zeit: Quantenkryptographie

Seit kurzem kommerzielles Produkt, funktioniert über zig Kilometer

http://de.wikipedia.org/wiki/Quantenkryptografie

 


Impressum | © 2012 Universität Münster
Zentrum für Informationsverarbeitung (ZIV)
Röntgenstraße 7-13
· 48149 Münster
Tel.: +49 251 83-31600 · Fax: +49 251 83-31555
E-Mail: ziv@uni-muenster.de