Ein verteiltes System ist im Prinzip der Zusammenschluss mehrerer Rechner zur Lösung einer gemeinsamen Aufgabe. Eines der größten verteilten Systeme ist das Internet mit seinen Applikationen. Teil 6 behandelt die Sicherheit von verteilten Systemen.
Skript-Anfang
VS_1_So2014 – Seite 1
Skript-Ende
VS_6_So2014 – Seite 70
Sicherheit
Als Sicherheit bezeichnet man Eigenschaften von informationsverarbeitenden und -lagernden Systemen, die die Schutzziele Vertraulichkeit, Verfügbarkeit und Integrität sicherstellen. Informationssicherheit dient dem Schutz vor Gefahren bzw. Bedrohungen, der Vermeidung von wirtschaftlichen Schäden und der Minimierung von Risiken.
Schutzziele
Welche Schutzziele gibt es?
Zeichen
Name (engl.)
Name (dt.)
Bedrohung
Beispiel
C
Confidentiality
Vertraulichkeit
Unerlaubtes Lesen
Mitlesen (eavesdropping)
I
Integrity
Integrität
Unerlaubtes Schreiben
Vortäuschen einer Identität (masquerading)
Nachrichten verändern/verfälschen
Nachrichten wiederholen (replaying)
A
Availability
Verfügbarkeit
Störung des Betriebs (Grund für skalierbare fehlertolerante Systeme)
DDoS, Viren, Trojaner, etc.
Welche Schutzmaßnahmen gibt es?
Firewalls
VPNs
Verschlüsselung
Firewall
Was sind Firewalls?
Können als Hard- oder Software realisiert sein (iptables, Windows Firewall, WLAN Router)
Befindet sich als Schutzmauer zwischen sicherem Netz (LAN) und unsicherem Netz (Internet)
Wovor schützen Firewalls?
Sie halten unerwünschter Pakete fern
Beschränkt den Netzwerkzugriff (Absender, Empfänger, Transportprotokoll und Dienste)
Filterung des Absender und Empfängers anhand IP-Adresse
Filtern des Transportprotokolls nach UDP/TCP
Filtern nach Anwendung bzw. Dienst anhand Port
Wovor schützen Firewalls nicht?
Unerlaubtes Mitlesen von unverschlüsselten Nachrichten
Welche Firewall-Typen gibt es?
Paketfilter
Application Level Gateway
Proxy
Intrusion Prevention System (IPS)
Intrusion Detection System (IDS)
Was sind Paketfilter-Firewalls?
Blockieren von Paketen anhand von Regeln
Zwei Varianten (stateful/stateless)
Stateless = Jedes Paket wird unabhängig und stur nach den Regeln verarbeitet (einfach)
Stateful = Stellt Zusammenhang zwischen ein- und ausgehenden Paketen her (komplex)
Was sind Nachteile der Paketfilter-Firewalls?
Die Menge der Regeln kann schnell unübersichtlich werden
Die korrekte Konfiguration wird durch kryptische Syntax erschwert
Eigentlich erwünschte Kommunikation kann erschwert und verhindert werden
Was könnte ein Beispiel für eine stateful Firewall sein?
Die Firewall blockt alle eingehende Pakete
Ein Client aus dem LAN versendet ein Paket an einen Server außerhalb des LANs
Nun wird die Antwort (Pakete) von der Adresse des Servers durchgelassen
Welchen Vorteil hat die stateful Firewall?
Bei der stateless Firewall müssen feste Regeln eingetragen werden, um die Kommunikation in beide Richtungen zu erlauben
Bei der stateful Firewall werden dynamisch Einträge für angeforderte eingehende Pakete erzeugt und wieder entfernt
In welche Richtung wird Kommunikation von einer Firewall verhindert?
Die Kommunikation wird von Außen nach Innen verhindert
Welche Anwendungen haben mit Firewalls Probleme?
Peer-To-Peer-Anwendungen
Was sind Application Level Gateways (ALG)?
Pakete werden nun anhand ihres Inhalts gefiltert
Sie arbeiten dafür auf OSI-Layer 7 und kennen die Anwendungsprotokolle (z.B. HTTP)
Was sind die Vorteile von ALGs?
Sie können unabhängig vom Port die Pakete auf ihren eigentlichen Inhalt prüfen
Was sind Proxy Server?
Sie fangen Verbindungen nach Außen von den internen Systemen ab
Sie öffnen stattdessen selbst mit dem Ziel eine Verbindung
Sie schicken die Anfrage selbst an das Ziel und verhalten sich wie „Stellvertreter“
Schlussendlich leiten sie die Antworten des Ziels an den Anfragenden weiter
Sie speichern die Antworten als Caching-Mechanismus
Was ist ein HTTP Proxy?
Ein Browser (Client) will eine Website aufrufen
Der Client stellt die Verbindung mit dem Proxy her
Der Proxy wertet den HTTP Header aus, um das Ziel zu erfahren
Der Proxy stellt die Anfrage an den Webserver
Die Antwort des Webservers wird gecached und an den Client weiter geleitet
Woher weiß der Proxy welcher Webserver kontaktiert werden soll?
Das steht im HTTP Header
Welches Probleme kann der HTTP Proxy haben?
Er kann nicht in verschlüsselte Nachrichten hinein schauen
Aber er muss die Nachrichten auswerten, um das Ziel zu kennen
Der Client bedient sich deshalb der HTTP CONNECT Nachrichten
Wie läuft eine verschlüsselte Kommunikation über HTTP Proxy ab?
Client baut TCP-Verbindung zum Proxy auf
Client sendet HTTP CONNECT mit IP und Port des Zielservers an den Proxy
Proxy öffnet normale TCP-Verbindung zum Server (Tunnel aufgebaut)
Nun können beliebige Daten in beide Richtungen versendet werden
Was ist Tunneling?
Mit Hilfe der HTTP CONNECT Nachrichten lassen sich beliebige TCP basierte Protokolle durch einen HTTP Proxy tunneln
Wie beendet der Client den Tunnel?
Indem er die TCP-Verbindung zum Server beendet
Der Proxy erkennt dies in den Paketen und schließt den Tunnel
Was sind Intrusion Detection Systeme (IDS)?
System zur Erkennung von Angriffen
Wahrnehmung wird durch Sensoren (Firewall) ermöglicht
Mustererkennung überprüft Verhaltensmuster
Reaktion wird bei Bedarf ausgelöst (z.B. E-Mail an Administrator)
Was sind Intrusion Prevention Systeme (IPS)?
Intrusion-Detection-Systeme, die nicht nur Benachrichtigungen erzeugen, sondern einen entdeckten Angriff abwehren können
Virtual Private Network (VPN)
Wofür benötigt man VPNs?
Stellen die Vertraulichkeit von Kommunikation her (kein unerlaubtes Mitlesen)
Verschlüsselung des gesamten Datenverkehrs zwischen Endpunkten im Netzwerk
Entfernte Systeme verhalten sich so, als ob sie sich im gleichen lokalen Netzwerk befinden
Verschlüsselung
Was ist Verschlüsselung?
Ein Klartext wird in einen Geheimtext (Chiffrat) übersetzt
Ein Geheimtext wird in den Klartext zurück übersetzt
Was sind die Suites der NSA?
Suite B sind öffentlich bekannte und empfohlene Algorithmen
Suite A sind streng geheime Algorithmen für hochsensitive Daten
Was ist symmetrische Verschlüsselung?
Beide Seiten kennen einen gemeinsamen geheimen Schlüssel
Die Daten werden mit dem Schlüssel ent- und verschlüsselt
Wird bei Blockchiffren und One-Time-Pad verwendet
Was ist das One-Time-Pad?
Zufälliger Schlüssel mit exakter Länge der Nachricht
Schlüssel darf nicht mehrmals verwendet werden und muss geheim bleiben
Nachricht wird mit dem Schlüssel über XOR kombiniert
Bietet eine sehr starke Verschlüsselung
Durch seine Nachteile aber nur selten zu gebrauchen
Was sind Nachteile vom One-Time-Pad?
Der Schlüssel darf nicht mehrmals verwendet werden
Die Erzeugung eines zufälligen langen Schlüssels ist kompliziert
Bei großen Datenmengen muss auch ein ebenso großer Schlüssel ausgetauscht werden (Doppelte Datenmenge)
Was sind Blockchiffren?
Nachrichten mit einer festen Länge werden ver- und entschlüsselt
Längere Nachrichten werden in Blöcke segmentiert
Bei Bedarf werden Blöcke mittels Padding aufgefüllt
Jeder Block wird mit dem gleichen Schlüssel verschlüsselt
Typische Implementierung ist AES (Nachfolger von DES, 3-DES)
Welches Problem tritt bei Blockchiffren auf?
Gleiche Textblöcke erzeugen gleiche Chiffrate
Dadurch können Angreifer Rückschlüsse auf den Klartext ziehen
Wie löst man das Problem der gleichen Chiffrate?
Mittels eines Betriebsmodus wie dem Cipher Block Chaining
Was macht man, um den gesamten Text zu verschlüsseln?
Auftrennung des Textes in Blöcke geeigneter Länge
Einsatz von Betriebsmodi wie dem CBC
Was ist das Cipher Block Chaining?
Erweitert die Blockchiffre
Der aktuelle Klartext wird mit dem vorherigen Chiffrat über XOR verknüpft
Dadurch werden Muster im Klartext verhindert und keine identischen Chiffrate gebildet
Zum Entschlüsseln wird das letzte und vorletzte Chiffrat und der Schlüssel benötigt
Wie verschlüsselt man den ersten Block?
Mit einem zufälligen Initialisierungsvektor IV
Wie entschlüsselt man das überhaupt?
Mit den letzten zwei Chiffren
Der IV wird nicht benötigt
Welche Auswirkung hat ein Übertragungsfehler in einem Block?
Der betroffene Block und sein Nachfolger können nicht mehr entschlüsselt werden
Was ist asymmetrische Verschlüsselung?
Es gibt einen öffentlichen und einen privaten Schlüssel
Nachrichten werden mit dem öffentlichen Schlüssel verschlüsselt
Nachrichten können nur mit dem privaten Schlüssel entschlüsselt werden
Herzlich willkommen! Ich bin Max, ein Informatiker mit über 15 Jahren Berufserfahrung. Hier teile ich meine Leidenschaften, Erlebnisse und Perspektiven. Ich lade dich ein, gemeinsam mit mir auf eine Entdeckungsreise zu gehen.
Um dir ein optimales Erlebnis zu bieten, verwenden wir Technologien wie Cookies, um Geräteinformationen zu speichern und/oder darauf zuzugreifen. Wenn du diesen Technologien zustimmst, können wir Daten wie das Surfverhalten oder eindeutige IDs auf dieser Website verarbeiten. Wenn du deine Zustimmung nicht erteilst oder zurückziehst, können bestimmte Merkmale und Funktionen beeinträchtigt werden.
Funktional
Immer aktiv
Die technische Speicherung oder der Zugang ist unbedingt erforderlich für den rechtmäßigen Zweck, die Nutzung eines bestimmten Dienstes zu ermöglichen, der vom Teilnehmer oder Nutzer ausdrücklich gewünscht wird, oder für den alleinigen Zweck, die Übertragung einer Nachricht über ein elektronisches Kommunikationsnetz durchzuführen.
Vorlieben
Die technische Speicherung oder der Zugriff ist für den rechtmäßigen Zweck der Speicherung von Präferenzen erforderlich, die nicht vom Abonnenten oder Benutzer angefordert wurden.
Statistiken
Die technische Speicherung oder der Zugriff, der ausschließlich zu statistischen Zwecken erfolgt.Die technische Speicherung oder der Zugriff, der ausschließlich zu anonymen statistischen Zwecken verwendet wird. Ohne eine Vorladung, die freiwillige Zustimmung deines Internetdienstanbieters oder zusätzliche Aufzeichnungen von Dritten können die zu diesem Zweck gespeicherten oder abgerufenen Informationen allein in der Regel nicht dazu verwendet werden, dich zu identifizieren.
Marketing
Die technische Speicherung oder der Zugriff ist erforderlich, um Nutzerprofile zu erstellen, um Werbung zu versenden oder um den Nutzer auf einer Website oder über mehrere Websites hinweg zu ähnlichen Marketingzwecken zu verfolgen.