Kapitel 9: Kryptographische Hash-Funktionen · Starke Hash-Funktion H: H hat alle Eigenschaften...
Transcript of Kapitel 9: Kryptographische Hash-Funktionen · Starke Hash-Funktion H: H hat alle Eigenschaften...
IT-Sicherheit
Kapitel 9: Kryptographische Hash-Funktionen
© Prof. Dr. Helmut Reiser, LRZ, WS 18/19 IT-Sicherheit
Krauss-Maffei von Hackern erpresst
■ Krauss-Maffei seit 21.11.18 von Ransomware-Trojaner betroffen ❑ Server wurden abgeschaltet ❑ Produktion wurde gedrosselt ❑ Verbindungen zu den Kunden wurden unterbrochen ❑ Angeblich wurde Lösegeld gefordert ❑ Vor allem Standort München betroffen (1.800 Mitarbeiter) ❑ BSI wurde informiert ❑ Keine Info über Trojaner, vermutet wird Emotet
❑ Kraus-Maffei ❑ Führender Hersteller von Produktionsmaschinen zur Gummi- und
Kunststoffverarbeitung ❑ Sitz in München, 5000 Mitarbeiter weltweit ❑ Nicht zu verwechseln mit dem Rüstungskonzern Krauss-Maffei-
Wegmann
!2
© Prof. Dr. Helmut Reiser, LRZ, WS 18/19 IT-Sicherheit
Klinikum Fürstenfeldbruck lahmgelegt
❑ 14.11.18: „Virus legt sämtliche Rechner lahm“ ❑ 450 Rechner betroffen, kein Rechner funktioniert mehr ❑ Verschlüsselungstrojaner Emotet ❑ Verschickt als E-Mail Anhang ❑ Klinik meldet sich bei Integrierter Leitstelle ab, keine
Patientenaufnahme mehr ❑ Alle anderen Tätigkeiten werden wieder auf Papier ausgeführt
❑ Blutproben und (Labor-) Befunde ❑ Dokumentation und Medikation ❑ Essen Auswahl
❑ 16.11.18: Staatsanwaltschaft ermittelt ❑ 19.11.18: Normalität kehrt wieder ein
!3
© Prof. Dr. Helmut Reiser, LRZ, WS 18/19 IT-Sicherheit
Emotet Trojaner
❑ Verbreitet per E-Mail ❑ Vertrauenswürdiger Absender (Kollege, Geschäftpartner, Telekom-
Rechnung) ❑ Gutes Deutsch; Rechnungskorrektur oder -reklamation wegen
falscher MwSt. ❑ DOC-Anhang
❑ Enthält Macros (Power Shell Skript) ❑ „sei mit Office365 erstellt, Nutzer müsse „Enable Content“ beim
Öffnen klicken“ ❑ Skript lädt Schadsoftware nach und startet diese
❑ Schadfunktion: ❑ Nachladen beliebiger Schadfunktion ist möglich ❑ Passwort Diebstahl ❑ Online-Banking Trojaner „Trickbot“ ❑ Verbreitung über SMB-Schwachstellen im Netz
!4
© Prof. Dr. Helmut Reiser, LRZ, WS 18/19 IT-Sicherheit
Emotet: was tun?
❑ BSI Info vom 5.12.18: ❑ Infizierte Systeme tiefgreifend verändert und müssen neu
aufgesetzt werden ❑ Schutzmaßnahmen:
❑ Sensibilisieren ❑ Sicherheitsupdates ❑ Anti-Viren Software ❑ mehrstufige Backups ❑ Monitoring und Netz-Segmentierung ❑ Interne Nutzer stellen größte Gefahr da -> Minimale Rechte ❑ Deaktivieren von Makros und OLE-Objekten in Office ❑ Einschränkung von Windows Scripting Host (WSH) ❑
!5
© Prof. Dr. Helmut Reiser, LRZ, WS 18/19 IT-Sicherheit
Cybercriminals steal 38.642 Eather
❑ https://securityaffairs.co/wordpress/73436/digital-id/ethereum-scanning-port-8545.html
❑ Cybercriminals steal 38.643 Eather worth more than 20.500.000 $
❑ Mirai-Botnet, scanned Internet nach Port 8545; Ethereum Clients (Cryptowährung)
❑ Poorly configured Clients offer a JSON-RPC interface on 8545
❑ Attackers use remote JSON-RPC to steal funds from unsecured crypto
❑ Transfered to Ethereum Account 0x957cD4Ff9b3894FC78b5134A8DC72b032fFbC464.
!6
© Prof. Dr. Helmut Reiser, LRZ, WS 18/19 IT-Sicherheit
SamSam Ransomware
❑ US-CERT AA18-337A vom 3.12.18 ❑ SamSam
❑ Targeted multiple Industries, including critical infrastructures ❑ Exploit Windows Servers via Remote Desktop Protocol (RDP) ❑ Allows infection of victims with minimal detection, no user interaction
required ❑ After gaining access, escalation of privileges, installation of malware
or ransomware ❑ After paying bitcoins victims receive links to download crypto keys ❑ Cyber actors purchased RDP credentials from darknet marketplaces ❑ Different Versions SamSam1 - SamSam4
!7
Prof. Dr. Helmut Reiser, LRZ, WS 2018/19 IT-Sicherheit
Inhalt
■ Definition: Kryptographische Hash-Verfahren
■ Angriffe gegen One-Way-Hash-Funktionen
■ Konstruktion von Hash-Funktionen
■ Algorithmen:
■ MD5
■ SHA-3 (Keccak)
!8
Prof. Dr. Helmut Reiser, LRZ, WS 2018/19 IT-Sicherheit
Hash-Funktionen zur Integritätssicherung
■ Ziel: Sicherstellen, dass Manipulationen an einer übertragenen Nachricht erkannt werden.
■ Beispiel Software-Distribution:
!9
10110100 01011001 10101100 11001011 10110100
10100100 01000110 11001011
Chuck
Alice
Bob
Mallet
Prof. Dr. Helmut Reiser, LRZ, WS 2018/19 IT-Sicherheit
Herkömmliche vs. kryptographische Hash-Funktionen
■ Prüfsummen dienen der Erkennung von (unbeabsichtigten) Übertragungsfehlern, z.B. beim IPv4-Header:
■ Kryptographische Prüfsummen sollen auch absichtliche Manipulationen erschweren
!10
Quelle: nmap.org
16-bit Addition / Einerkomplement
Prof. Dr. Helmut Reiser, LRZ, WS 2018/19 IT-Sicherheit
Kryptographische Hash-Funktionen: Grundlagen
■ Hash-Funktionen ❑ bilden „Universum“ auf endlichen Bildbereich ab ❑ sind nicht injektiv ❑ Bildbereich i.d.R. sehr viel kleiner als Universum ❑ Kollisionen möglich:
■ Kryptographische Hash-Funktion H: ❑ Eingabe: beliebig langes Wort m aus dem Universum U ❑ Ausgabe: Hashwert H(m) mit fester Länge ❑ H soll möglichst kollisionsresistent sein
!11
Prof. Dr. Helmut Reiser, LRZ, WS 2018/19 IT-Sicherheit
Beispiel■ MD5-Hashwerte sind immer 128 Bits lang
❑ egal, wie lange die Eingabe ist
■ Weil es nur 2128 verschiedene MD5-Hashwerte gibt, existieren beliebig viele Dateien mit demselben MD5-Hashwert ❑ = Kollision
■ Zwei sehr ähnliche, aber nicht identische Eingaben sollen nicht denselben MD5-Hashwert haben ❑ = Kollisionsresistenz
■ Angreifer versucht, die Nachricht m „sinnvoll“ in m‘ abzuändern, so dass md5(m) = md5(m‘)
!12
Prof. Dr. Helmut Reiser, LRZ, WS 2018/19 IT-Sicherheit
Def. Kryptographische Hashfunktion
■ Schwache Hash-Funktion H: ● H besitzt die Eigenschaften einer Einwegfunktion ● Hashwert H(m) = h mit |h|=k (z.B. k = 128 Bits) ist bei gegebener
Nachricht m einfach zu berechnen ● Bei gegebenem h = H(m) für ist es praktisch unmöglich, eine
(sinnvolle) m‘ zu finden mit:
■ Starke Hash-Funktion H: ● H hat alle Eigenschaften einer schwachen Hash-Funktion ● Es ist zusätzlich praktisch unmöglich, eine Kollision zu finden, d.h. ein
Paar verschiedene Eingabewerte m und m‘ mit:
!13
❑ Antwort: 253 (ab n=253 ist P > 0,5)
Prof. Dr. Helmut Reiser, LRZ, WS 2018/19 IT-Sicherheit
Birthday Attack auf One-Way-Hash-Funktionen
■ Wie viele Personen brauchen Sie, damit mit Wahrscheinlichkeit P > 0,5 eine weitere Person mit Ihnen Geburtstag hat?
!14
■ Wie viele Personen brauchen Sie, damit mit Wahrscheinlichkeit P > 0,5 zwei Personen am selben Tag Geburtstag haben?❑ Antwort: 23 (ab n=23 ist P > 0,5)
■ Wie können Sie dieses Wissen für Angriffe gegen Hash-Funktionen nutzen?
Eine Kollision zu finden ist deutlich einfacher als zu einem gegebenen Hash-Wert einen passenden Text!
Prof. Dr. Helmut Reiser, LRZ, WS 2018/19 IT-Sicherheit
Birthday Attack: Vorgehensweise
1. Alice sichert mit einem k Bits langen Hash eine Nachricht M 2. Mallet erzeugt 2k/2 Variationen der Nachricht M
■ Die Wahrscheinlichkeit für eine Kollision ist größer 0,5.
■ Wie können 2k/2 Variationen erzeugt werden? ❑ Z.B. Einfügen von „Space – Backspace – Space“ Zeichen zwischen Wörtern ❑ Wörter durch Synonyme ersetzen ❑ .....
!15
Prof. Dr. Helmut Reiser, LRZ, WS 2018/19 IT-Sicherheit
Beispiel für einen Brief mit 2^37 Variationen
■ [Stal 98]
!16
Prof. Dr. Helmut Reiser, LRZ, WS 2018/19 IT-Sicherheit
Konstruktion kryptographischer Hash-Funktionen
■ Folge von Kompressionsfunktionen G ■ Nachricht m wird in Blöcke Mi mit fester Länge y zerlegt ■ Hash-Verfahren wird mit Initialisierungswert IV vorbelegt
■ Letzter Block Mn muss ggf. auf vorgegebene Länge y „aufgefüllt“ werden (Padding)
■ Als Kompressionsfunktion G können verwendet werden: ❑ Hash-Funktionen auf der Basis symmetrischer Blockchiffren ❑ Dedizierte Hash-Funktionen
!17
G GIV
M1 M2m =
G
Mn + Padding
Hash-Wert
■ DES im Cipher Block Chaining (CBC) Mode
■ Letzter Output Block ist Hashwert ■ Länge des Hashwerts?
DESK
Prof. Dr. Helmut Reiser, LRZ, WS 2018/19 IT-Sicherheit
DES als Kompressionsfunktion
!18
M1 M2m = Mn + Padding
Hash-Wert
Mn-1
O1
DESK DESK DESK
O2 OnOn-1
64 Bits
Prof. Dr. Helmut Reiser, LRZ, WS 2018/19 IT-Sicherheit
Hash-Funktionen: MD5 (1991)
!19
■ Ausgabelänge 128 Bit, arbeitet auf 512-Bit-Eingabeblöcken
■ Funktionsweise, Überblick:
Prof. Dr. Helmut Reiser, LRZ, WS 2018/19 IT-Sicherheit
MD5: Ablauf
1. Padding Bits der Nachricht hinzufügen 2. Länge der Originalnachricht (mod 264) anfügen 3. Nachricht in 512-Bit-Blöcke aufteilen 4. Initialisierung von 32-Bit-Variablen:
5. Zuweisung a=A, b=B, c=C, d=D 6. Kompressionsfunktion angewendet auf jeden
(Teil-)Block
!20
A = 0x01234567 C = 0xFEDCBA98B = 0x89ABCDEF D = 0x76543210
abcd
Yi
Runde 1 Runde 2 Runde 3 Runde 4
abcd
Prof. Dr. Helmut Reiser, LRZ, WS 2018/19 IT-Sicherheit
Sicherheit von MD5
■ Differentielle Kryptanalyse auf MD5 mit nur einer Runde [Bers 92]: ❑ Für jede der 4 Runden einzeln möglich ❑ Angriff auf alle 4 Runden konnte nicht gezeigt werden
■ Pseudokollision [BoBo 93]: ❑ Zwei verschiedene Variablenbelegungen von a,b,c,d führen für
verschiedene Inputblöcke zum gleichen Outputblock ❑ Damals schien eine Erweiterung des Ansatzes zu einem allgemeinen
Angriff nicht möglich ■ Erzeugung einer Kollision in der Kompressionsfunktion
[Dobb 96]: ❑ Zwei 512 Bit Blöcke produzieren den selben 128 Bit Output ❑ Bis dahin gefährlichster bekannter Angriff
!21
Prof. Dr. Helmut Reiser, LRZ, WS 2018/19 IT-Sicherheit
Sicherheit von MD5 (Forts.)■ Kollision gefunden [Wang,Feng,Lai,Yu 2004]:
❑ MD5(M,Ni) = MD5(M’,Ni‘) ❑ M und M‘ zu finden dauert ca. eine Stunde (IBM P690 Cluster) ❑ danach Ni und Ni‘ zu finden 15 Sek. bis 5 Minuten ❑ funktioniert mit beliebigen Initialisierungsvektor IV ❑ In der Arbeit werden auch Kollisionen für MD4, HAVAL-128 und
RIPEMD-128 angegeben ❑ Ende des MD5CRK-Projekts (distributed birthday attack)
■ Kollision in X.509 Zertifikat gefunden (Kollision in den Schlüsseln) [de Weger 2005]
■ Kollision in X.509 Zertifikat mit unterschiedlichen Identitäten [Stevens, Lenstra, de Weger 2006/2007]
➡MD5 (und SHA-1) nicht mehr verwenden! ➡Algorithmen mit längeren Hash-Werten verwenden:
z.B. SHA-256, Whirlpool, SHA-3, o.ä.!22
Prof. Dr. Helmut Reiser, LRZ, WS 2018/19 IT-Sicherheit
Sicherheit von MD5 (Forts.)■ Bislang umfangreichster, praktisch relevanter Angriff [SSALMOW08]:
http://www.win.tue.nl/hashclash/rogue-ca/
!23
Prof. Dr. Helmut Reiser, LRZ, WS 2018/19 IT-Sicherheit
Sicherheit von MD5 (Forts.)■ Bislang umfangreichster, praktisch relevanter Angriff [SSALMOW08]:
http://www.win.tue.nl/hashclash/rogue-ca/
■ Alle Browser, die RapidSSL-Zertifikaten vertrauten, vertrauten auch den mit dem „rogue CA certificate“ ausgestellten Zertifikaten
■ Man-in-the-Middle Angriffe: Browser kann bei SSL-Zertifikaten, die MD5-Hashsummen verwenden, die Server-Authentizität nicht mehr zuverlässig prüfen
!24
Prof. Dr. Helmut Reiser, LRZ, WS 2018/19 IT-Sicherheit
SHA-3
■ 10/2012 vom NIST als Nachfolger von SHA-2 standardisiert
■ 2007: Wettbewerb ähnlich zu AES-Standardisierung: ❑ motiviert durch erfolgreiche Angriffe auf MD5 und SHA-1 ❑ 64 Einreichungen, 14 Algorithmen in engerer Auswahl, 5 Finalisten ❑ Gewinner: Keccak von Bertoni, Daemen, Peeters und van Assche
■ Innovativer Ansatz: Sponge-Funktion
!25
Bildquelle: http://sponge.noekeon.org
Zwei Phasen: absorbing/squeezing
Variable Output-Länge
Prof. Dr. Helmut Reiser, LRZ, WS 2018/19 IT-Sicherheit
Keccak: Parametrisierung und Keccak-f
■ Als SHA-3 standardisierte Varianten umfassen u.a. ❑ SHA3-256: r=1152, c=448, Ausgabe abgeschnitten nach 256 Bits ❑ SHA3-512: r=576, c=1024, Ausgabe abgeschnitten nach 512 Bits
■ f[b] Keccak Permutationsfunktion; Breite der Perumutationb = c + r = 25*2l
■ Funktion f betrachtet State als dreidimensionales Array von GF[2] a[5][5][w] mit w = 2l, b = c + r = 25*2l
Beispiel SHA3-256: b = 1152 + 448 = 1600, d.h. l = 6, w = 64
■ Jede Anwendung von f besteht aus nr Runden:nr = 12 + 2*l, d.h. für SHA3-256: nr = 24
!26
Prof. Dr. Helmut Reiser, LRZ, WS 2018/19 IT-Sicherheit
Keccak: Terminologie zum State
!27
Bildquelle: http://keccak.noekeon.org/Keccak-reference-3.0.pdf
Prof. Dr. Helmut Reiser, LRZ, WS 2018/19 IT-Sicherheit
Keccak-f: Runden
■ Jede Runde besteht aus fünf Schritten: ❑
● Addition von Rundenkonstanten ● Nichtlinearität ● Erhöhung der Diffusion in allen drei Dimensionen
!28
Prof. Dr. Helmut Reiser, LRZ, WS 2018/19 IT-Sicherheit
Keccak-f: Runden
■ Jede Runde besteht aus fünf Schritten: ❑
● Addition von Rundenkonstanten ● Nichtlinearität ● Erhöhung der Diffusion in allen drei Dimensionen
!29
𝜌
Prof. Dr. Helmut Reiser, LRZ, WS 2018/19 IT-Sicherheit
Keccak: Bewertung
■ Innovativer Ansatz: ❑ Vermeidet Probleme klassischer Merkle-Damgard-Konstrukte wie MD5; ❑ ist entsprechend aber noch weniger von Kryptanalytikern untersucht. ❑ Komplementär zu SHA-2 verwendbar.
■ Variable Output-Länge ❑ ermöglicht flexible Anpassung an jeweiligen Bedarf ❑ Gute Eignung als PRNG für Stream Ciphers
■ Effiziente Implementierung in Hard- und Software möglich
■ Konservative Sicherheitsreserve durch große Rundenzahl
!30