1
Juraj j Somorovsky vsky. . Syste temat atic Fuzzing and Testing g of TLS Libraries es
Systematic Fuzzing and Testing of TLS Libraries
Juraj Somorovsky
1
Systematic Fuzzing and Testing of TLS Libraries Juraj Somorovsky 1 - - PowerPoint PPT Presentation
Systematic Fuzzing and Testing of TLS Libraries Juraj Somorovsky 1 Juraj j Somorovsky vsky. . Syste temat atic Fuzzing and Testing g of TLS Libraries es 1 Transport Layer Security The most important crypto protocol HTTP, SMTP,
1
Juraj j Somorovsky vsky. . Syste temat atic Fuzzing and Testing g of TLS Libraries es
1
2
Juraj j Somorovsky vsky. . Syste temat atic Fuzzing and Testing g of TLS Libraries es
2
3
Juraj j Somorovsky vsky. . Syste temat atic Fuzzing and Testing g of TLS Libraries es
3
Secure Sockets Layer (SSL), SSLv2 SSLv3 Trasnsport Layer Security TLS 1.1 TLS 1.2 TLS 1.3 Wagner, Schneier: Analysis of SSLv3 Bleichenbacher’s attack Padding oracle attack
BEAST, CRIME, BREACH, Lucky 13
1995 2000 2005 2010 2015
5
Juraj j Somorovsky vsky. . Syste temat atic Fuzzing and Testing g of TLS Libraries es
5
6
Juraj j Somorovsky vsky. . Syste temat atic Fuzzing and Testing g of TLS Libraries es
6
7
Juraj j Somorovsky vsky. . Syste temat atic Fuzzing and Testing g of TLS Libraries es
7
8
Juraj j Somorovsky vsky. . Syste temat atic Fuzzing and Testing g of TLS Libraries es
8
9
Juraj j Somorovsky vsky. . Syste temat atic Fuzzing and Testing g of TLS Libraries es
10
Juraj j Somorovsky vsky. . Syste temat atic Fuzzing and Testing g of TLS Libraries es
10
ClientHello ServerHello Certificate ServerHelloDone ChangeCipherSpec (Client-) Finished ChangeCipherSpec (Server-) Finished ClientKeyExchange Application Application
11
Juraj j Somorovsky vsky. . Syste temat atic Fuzzing and Testing g of TLS Libraries es
11
12
Juraj j Somorovsky vsky. . Syste temat atic Fuzzing and Testing g of TLS Libraries es
12
ClientHello ServerHello Certificate ServerHelloDone ChangeCipherSpec (Client-) Finished ChangeCipherSpec (Server-) Finished ClientKeyExchange Application Application ServerKeyExchange Heartbeat Heartbeat Certificate CertificateVerify
13
Juraj j Somorovsky vsky. . Syste temat atic Fuzzing and Testing g of TLS Libraries es
14
Juraj j Somorovsky vsky. . Syste temat atic Fuzzing and Testing g of TLS Libraries es
14
Secure Sockets Layer (SSL), SSLv2 SSLv3 Trasnsport Layer Security TLS 1.1 TLS 1.2 TLS 1.3 Wagner, Schneier: Analysis of SSLv3 Bleichenbacher’s attack
BEAST, CRIME, BREACH, Lucky 13
1995 2000 2005 2010 2015 Padding oracle attack
15
Juraj j Somorovsky vsky. . Syste temat atic Fuzzing and Testing g of TLS Libraries es
15
ClientHello ServerHello Certificate ServerHelloDone ChangeCipherSpec (Client-) Finished ChangeCipherSpec (Server-) Finished ClientKeyExchange
16
Juraj j Somorovsky vsky. . Syste temat atic Fuzzing and Testing g of TLS Libraries es
16
17
Juraj j Somorovsky vsky. . Syste temat atic Fuzzing and Testing g of TLS Libraries es
17
Server
Heartbeat Heartbeat
18
Juraj j Somorovsky vsky. . Syste temat atic Fuzzing and Testing g of TLS Libraries es
18
Server
Heartbeat Heartbeat
20
Juraj j Somorovsky vsky. . Syste temat atic Fuzzing and Testing g of TLS Libraries es
20
Ciphertext C = Enc(M) C1 valid/invalid M = Dec(C) C2 valid/invalid … (repeated several times)
21
Juraj j Somorovsky vsky. . Syste temat atic Fuzzing and Testing g of TLS Libraries es
22
Juraj j Somorovsky vsky. . Syste temat atic Fuzzing and Testing g of TLS Libraries es
22
23
Juraj j Somorovsky vsky. . Syste temat atic Fuzzing and Testing g of TLS Libraries es
ClientHello ServerHello Certificate ServerHelloDone ClientKeyExchange ChangeCipherSpec (Client-) Finished ChangeCipherSpec (Server-) Finished ClientKeyExchange Application Application
24
Juraj j Somorovsky vsky. . Syste temat atic Fuzzing and Testing g of TLS Libraries es
25
Juraj j Somorovsky vsky. . Syste temat atic Fuzzing and Testing g of TLS Libraries es
25
26
Juraj j Somorovsky vsky. . Syste temat atic Fuzzing and Testing g of TLS Libraries es
26
27
Juraj j Somorovsky vsky. . Syste temat atic Fuzzing and Testing g of TLS Libraries es
27
ClientHelloMessage cipherSuites: ModifiableByteArray cipherSuiteLength: ModifiableInteger … getCipherSuites() getCipherSuiteLength()
29
Juraj j Somorovsky vsky. . Syste temat atic Fuzzing and Testing g of TLS Libraries es
29
30
Juraj j Somorovsky vsky. . Syste temat atic Fuzzing and Testing g of TLS Libraries es
30
32
Juraj j Somorovsky vsky. . Syste temat atic Fuzzing and Testing g of TLS Libraries es
33
Juraj j Somorovsky vsky. . Syste temat atic Fuzzing and Testing g of TLS Libraries es
33
34
Juraj j Somorovsky vsky. . Syste temat atic Fuzzing and Testing g of TLS Libraries es
34
35
Juraj j Somorovsky vsky. . Syste temat atic Fuzzing and Testing g of TLS Libraries es
35
ClientHelloMessage cipherSuites cipherSuiteLength clientRandom extensions extensionLength ….
36
Juraj j Somorovsky vsky. . Syste temat atic Fuzzing and Testing g of TLS Libraries es
37
Juraj j Somorovsky vsky. . Syste temat atic Fuzzing and Testing g of TLS Libraries es
37
38
Juraj j Somorovsky vsky. . Syste temat atic Fuzzing and Testing g of TLS Libraries es
Server
38
C
Valid / Invalid
Ciphertext Decryption failed
41
Juraj j Somorovsky vsky. . Syste temat atic Fuzzing and Testing g of TLS Libraries es
H e l l
pad mac
42
Juraj j Somorovsky vsky. . Syste temat atic Fuzzing and Testing g of TLS Libraries es
42
H e l l
pad mac
43
Juraj j Somorovsky vsky. . Syste temat atic Fuzzing and Testing g of TLS Libraries es
43
H e l l
H e l l
Decrypted data Mask data pad mac
44
Juraj j Somorovsky vsky. . Syste temat atic Fuzzing and Testing g of TLS Libraries es
44
H e l l
H e l l
Decrypted data Mask data
16
45
Juraj j Somorovsky vsky. . Syste temat atic Fuzzing and Testing g of TLS Libraries es
45
Decrypted data Mask data
1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F
46
Juraj j Somorovsky vsky. . Syste temat atic Fuzzing and Testing g of TLS Libraries es
46
C
RECORD OVERFLOW / BAD RECORD MAC
http://web-in-security.blogspot.co.at/2016/05/curious- padding-oracle-in-openssl-cve.html
47
Juraj j Somorovsky vsky. . Syste temat atic Fuzzing and Testing g of TLS Libraries es
47
48
Juraj j Somorovsky vsky. . Syste temat atic Fuzzing and Testing g of TLS Libraries es
49
Juraj j Somorovsky vsky. . Syste temat atic Fuzzing and Testing g of TLS Libraries es
49