SlideShare a Scribd company logo
1 of 40
Yurii Bilyk || 2014
SSL/P DLE:
History repeats itself
AGENDA
XOR Function
Symmetric-Key Crypto Basics
Padding Oracle Attack details
POODLE Attack
LIVE. DIE. REPEAT.
History Repeats Itself
Secure Socket Layer (SSL/TLS)
Key Exchange: RSA, Diffie-Hellman, PSK
Authentication: RSA, DSA, ECDSA
Symmetric Cipher: RC4, IDEA, DES, 3DES, AES
Data Integrity: SHA, MD5, MD4 and MD2
SSL/TLS Vulnerabilities History
2002
2013
Padding Oracle Attack discovery
BEAST Attack discovery
CRIME & BREACH Attack discovery
Lucky 13 Attack discovery
POODLE Attack discovery
2014
Heart Bleed
Issue in the realization of crypto
protocol/system
***IT happens
Not issue in the cipher
Modern Cryptography
After Computer Era
One-Time Pad (OTP)
A plaintext is paired with random,
secret key (or pad) which have the
same length (or more) as message
Each bit or char of the plaintext is
encrypted by combining it with the
corresponding bit or char from the pad
using modular addition
Unbreakable One-Time Pad (OTP)
Key is truly random
Key and at least as long as the
plaintext
Key never reused in whole or in
part, and kept completely secret
Symmetric-Key Cryptography
One shared key
Block ciphers
Stream ciphers
Stream Cipher
Flood Is Coming
Stream Ciphers
Key Stream is used (generated from Key)
Gamma (Key Stream) generator is pseudo
random with some period (bigger is better)
Works really fast ( XOR Key Stream with MSG)
Bit-Flipping Attack
Attacker know part and of
plaintext and place in encrypted
(for ex. amount of money)
Can change this part w/o
knowing key (nature of XOR)
Message Access Code (MAC)
Hash Functions (MD5, SHA, etc)
Encrypted data integrity check
Used not only in encryption
integrity check (web form data
validation, plaintext data, etc)
Block Cipher
Tetris Is Here
Block Ciphers
Fixed block size
Uses padding
Different modes (ECB, CBC, etc)
Electronic Codebook (ECB)
Each block processed individually
M y V e r y S e c r e t T e x t
L G l h 3 l a 1 X E K h X r A c
Plain Text
Encrypted
Electronic Codebook (ECB)
AES-256-ECB AES-256-CBCPlainText
Cipher Block Chaining (CBC)
Added initialization vector (IV)
More secure (by design)
Still vulnerable for padding attack
Cipher Block Chaining (CBC)
M y V e r y S e c r e t T e x t
L G l h 3 l a 1 X E K h X r A c
1 2 3 4 5 6 7 8
Plain Text
IV
Encrypted
Padding Types
Bit Padding (add 1 bit and zeros)
Byte Padding (add some bytes and
length of padding, add number of bytes
which equal to padding length, etc)
Mixed Padding (add 1 bit and then
bytes, for ex. MD5 padding)
Byte Padding
A B C D 0x00 0x00 0x00 0x00
A B C D 0x04 0x04 0x04 0x04
A B C D 0xFF 0xFF 0xFF 0x03
Zero Bytes Padding
Padding Length Bytes
0xFF Bytes + Padding Length Byte
Remember I'm offering you the truth. Nothing More.
Padding Oracle
Padding Oracle
Oracle: something that can prove
or refute your assumptions
Padding: building blocks to make
things the same size
Together: are nightmare of
cryptography
Padding Oracle Nightmare
You don’t need a KEY
Almost doesn’t depends on
cipher algorithm (CBC mode)
Faster that brute force attack
XOR Magic
It’s just a magic
Exercise (Swap Variables)
int a = 5, b = 10
a = a b // a = 15
a = a b // a = 10
b = a b // b = 5
The Magic XOR Rules
A A = 0
A 0 = A
A B = B A
(A B) C = A (B C)
Padding Oracle Attack: Details
M y M S G 3 3 3
L G l h 3 l a 1 X E K h X r A c
Plain M2
Encrypted C1 Encrypted C2
I K 7 u F Q s b
Intermediate I2
Padding Oracle Attack: Details
M2=C1 I2
I2=M2 C1
We CAN change result Plaintext M2 by
changing Encrypted C1 Message
Padding Oracle Attack: Last Byte
M y M S G 3 3 D
L G l h 3 l a A X E K h X r A B
I K 7 u F Q s C
C1[8] C2[8]
I2[8]
M2[8]
Padding Oracle Attack: Last Byte
1. Iterate byte PP from 0x00 to 0xFF (possible M2[8] byte)
2. Set A = C1[8] PP 0x01
3. Check Padding Oracle if we got correct padding (D = 0x01)
4. In case of correct padding we can calculate M2[8] last byte:
• M2[8] = C1[8] C
• Because C = D A
• Then C = 0x01 C1[8] PP 0x01
• We can simplify it to C = C1[8] PP
• In this case M2[8] = C1[8] C1[8] PP
• And finally M2[8] = PP, voila!
Padding Oracle Attack: Tools
POET – Apache MyFaces form padding oracle expl. tool
http://netifera.com/research/
PadBuster – ASP.NET (not only) padding oracle expl. tool
https://github.com/GDSSecurity/PadBuster
Bletchley – python based cryptography expl. multitool
https://code.google.com/p/bletchley/
• Use MAC in pair of encryption
• Don’t show Padding Errors to Attacker
• Use another cipher mode (CFB, etc)
How-to Mitigate?
POODLE? Are you kidding!?
Dogs are men’s best friends
POODLE: Basic Info
Old Good Padding Oracle
Present in ALL SSLv3 realizations
(architecture issue)
Wrong MAC usage
POODLE: Possible Exploitation
1
2
3
Hacker uses MITM attack
User should send the same
plaintext requests
(eg. GET request via XSS)
Attacker want to steal cookie
(know possible structure of the
plaintext request)
• Disable SSLv3 on the server
– web server, openssl, etc
• Disable SSLv3 support on the client
– web browser, library, etc
• Really, disable this old buggy SSLv3!
How-to Mitigate?
Outline
• Padding Oracle attack is still alive
• Usage of OLD protocols could cause
a lot of security issues
• Disable SSLv3 in your
products/environment
Thanks!
Yurii Bilyk
yubilyk@gmail.com

More Related Content

What's hot

Conventional Encryption NS2
Conventional Encryption NS2Conventional Encryption NS2
Conventional Encryption NS2
koolkampus
 
Computer network (3)
Computer network (3)Computer network (3)
Computer network (3)
NYversity
 
01204427-Hash_Crypto (1).ppt
01204427-Hash_Crypto (1).ppt01204427-Hash_Crypto (1).ppt
01204427-Hash_Crypto (1).ppt
GnanalakshmiV
 

What's hot (20)

Hash Function
Hash FunctionHash Function
Hash Function
 
Hash function
Hash functionHash function
Hash function
 
Message authentication with md5
Message authentication with md5Message authentication with md5
Message authentication with md5
 
Secure Hashing Techniques - Introduction
Secure Hashing Techniques - IntroductionSecure Hashing Techniques - Introduction
Secure Hashing Techniques - Introduction
 
Ch12
Ch12Ch12
Ch12
 
MD-5 : Algorithm
MD-5 : AlgorithmMD-5 : Algorithm
MD-5 : Algorithm
 
Conventional Encryption NS2
Conventional Encryption NS2Conventional Encryption NS2
Conventional Encryption NS2
 
Class3
Class3Class3
Class3
 
Hash Function & Analysis
Hash Function & AnalysisHash Function & Analysis
Hash Function & Analysis
 
6.hash mac
6.hash mac6.hash mac
6.hash mac
 
Cryptography Ashik
Cryptography AshikCryptography Ashik
Cryptography Ashik
 
Public key cryptography and message authentication
Public key cryptography and message authenticationPublic key cryptography and message authentication
Public key cryptography and message authentication
 
Cryptographic hash function md5
Cryptographic hash function md5Cryptographic hash function md5
Cryptographic hash function md5
 
Information and data security block cipher and the data encryption standard (...
Information and data security block cipher and the data encryption standard (...Information and data security block cipher and the data encryption standard (...
Information and data security block cipher and the data encryption standard (...
 
MD5Algorithm
MD5AlgorithmMD5Algorithm
MD5Algorithm
 
Hash crypto
Hash cryptoHash crypto
Hash crypto
 
Secret key cryptography
Secret key cryptographySecret key cryptography
Secret key cryptography
 
Symmetric Cipher Model, Substitution techniques, Transposition techniques, St...
Symmetric Cipher Model, Substitution techniques, Transposition techniques, St...Symmetric Cipher Model, Substitution techniques, Transposition techniques, St...
Symmetric Cipher Model, Substitution techniques, Transposition techniques, St...
 
Computer network (3)
Computer network (3)Computer network (3)
Computer network (3)
 
01204427-Hash_Crypto (1).ppt
01204427-Hash_Crypto (1).ppt01204427-Hash_Crypto (1).ppt
01204427-Hash_Crypto (1).ppt
 

Viewers also liked

padding oracle attack
padding oracle attackpadding oracle attack
padding oracle attack
Satish b
 

Viewers also liked (12)

SSLv3 and POODLE
SSLv3 and POODLESSLv3 and POODLE
SSLv3 and POODLE
 
Utilisation du SaaS : le cas du CRM
Utilisation du SaaS : le cas du CRMUtilisation du SaaS : le cas du CRM
Utilisation du SaaS : le cas du CRM
 
Malicious file upload attacks - a case study
Malicious file upload attacks - a case studyMalicious file upload attacks - a case study
Malicious file upload attacks - a case study
 
Poodle
PoodlePoodle
Poodle
 
AWS Partner Webcast - Web App Security on AWS: How to Make Shared Security Wo...
AWS Partner Webcast - Web App Security on AWS: How to Make Shared Security Wo...AWS Partner Webcast - Web App Security on AWS: How to Make Shared Security Wo...
AWS Partner Webcast - Web App Security on AWS: How to Make Shared Security Wo...
 
SSL Checklist for Pentesters (BSides MCR 2014)
SSL Checklist for Pentesters (BSides MCR 2014)SSL Checklist for Pentesters (BSides MCR 2014)
SSL Checklist for Pentesters (BSides MCR 2014)
 
CamSec Sept 2016 - Tricks to improve web app excel export attacks
CamSec Sept 2016 - Tricks to improve web app excel export attacksCamSec Sept 2016 - Tricks to improve web app excel export attacks
CamSec Sept 2016 - Tricks to improve web app excel export attacks
 
BSides MCR 2016: From CSV to CMD to qwerty
BSides MCR 2016: From CSV to CMD to qwertyBSides MCR 2016: From CSV to CMD to qwerty
BSides MCR 2016: From CSV to CMD to qwerty
 
Ssl attacks
Ssl attacksSsl attacks
Ssl attacks
 
padding oracle attack
padding oracle attackpadding oracle attack
padding oracle attack
 
Poodle
PoodlePoodle
Poodle
 
How to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheHow to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your Niche
 

Similar to SSL/POODLE: History repeats itself

Chapter8 27 nov_2010
Chapter8 27 nov_2010Chapter8 27 nov_2010
Chapter8 27 nov_2010
Umang Gupta
 
Introduction to security_and_crypto
Introduction to security_and_cryptoIntroduction to security_and_crypto
Introduction to security_and_crypto
James Wong
 
Introduction to security_and_crypto
Introduction to security_and_cryptoIntroduction to security_and_crypto
Introduction to security_and_crypto
Young Alista
 
Introduction to security_and_crypto
Introduction to security_and_cryptoIntroduction to security_and_crypto
Introduction to security_and_crypto
David Hoen
 
Introduction to security_and_crypto
Introduction to security_and_cryptoIntroduction to security_and_crypto
Introduction to security_and_crypto
Tony Nguyen
 
Introduction to security_and_crypto
Introduction to security_and_cryptoIntroduction to security_and_crypto
Introduction to security_and_crypto
Luis Goldster
 
Introduction to security_and_crypto
Introduction to security_and_cryptoIntroduction to security_and_crypto
Introduction to security_and_crypto
Fraboni Ec
 
12 symmetric key cryptography
12   symmetric key cryptography12   symmetric key cryptography
12 symmetric key cryptography
drewz lin
 

Similar to SSL/POODLE: History repeats itself (20)

Chapter8 27 nov_2010
Chapter8 27 nov_2010Chapter8 27 nov_2010
Chapter8 27 nov_2010
 
02 Information System Security
02  Information System Security02  Information System Security
02 Information System Security
 
Introduction to security_and_crypto
Introduction to security_and_cryptoIntroduction to security_and_crypto
Introduction to security_and_crypto
 
Introduction to security_and_crypto
Introduction to security_and_cryptoIntroduction to security_and_crypto
Introduction to security_and_crypto
 
Introduction to security_and_crypto
Introduction to security_and_cryptoIntroduction to security_and_crypto
Introduction to security_and_crypto
 
Introduction to security_and_crypto
Introduction to security_and_cryptoIntroduction to security_and_crypto
Introduction to security_and_crypto
 
Introduction to security_and_crypto
Introduction to security_and_cryptoIntroduction to security_and_crypto
Introduction to security_and_crypto
 
Introduction to security_and_crypto
Introduction to security_and_cryptoIntroduction to security_and_crypto
Introduction to security_and_crypto
 
Introduction to security_and_crypto
Introduction to security_and_cryptoIntroduction to security_and_crypto
Introduction to security_and_crypto
 
12 symmetric key cryptography
12   symmetric key cryptography12   symmetric key cryptography
12 symmetric key cryptography
 
unit 2.ppt
unit 2.pptunit 2.ppt
unit 2.ppt
 
What the f*ck is the internet? - vol. 1
What the f*ck is the internet? - vol. 1What the f*ck is the internet? - vol. 1
What the f*ck is the internet? - vol. 1
 
Pki by Steve Lamb
Pki by Steve LambPki by Steve Lamb
Pki by Steve Lamb
 
Jaimin chp-8 - network security-new -use this - 2011 batch
Jaimin   chp-8 - network security-new -use this -  2011 batchJaimin   chp-8 - network security-new -use this -  2011 batch
Jaimin chp-8 - network security-new -use this - 2011 batch
 
BCS_PKI_part1.ppt
BCS_PKI_part1.pptBCS_PKI_part1.ppt
BCS_PKI_part1.ppt
 
crypto1.ppt
crypto1.pptcrypto1.ppt
crypto1.ppt
 
needed.ppt
needed.pptneeded.ppt
needed.ppt
 
introduction to cryptography (basics of it)
introduction to cryptography (basics of it)introduction to cryptography (basics of it)
introduction to cryptography (basics of it)
 
crypto.ppt
crypto.pptcrypto.ppt
crypto.ppt
 
Computer security module 2
Computer security module 2Computer security module 2
Computer security module 2
 

Recently uploaded

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Recently uploaded (20)

Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 

SSL/POODLE: History repeats itself

  • 1. Yurii Bilyk || 2014 SSL/P DLE: History repeats itself
  • 2. AGENDA XOR Function Symmetric-Key Crypto Basics Padding Oracle Attack details POODLE Attack
  • 3. LIVE. DIE. REPEAT. History Repeats Itself
  • 4. Secure Socket Layer (SSL/TLS) Key Exchange: RSA, Diffie-Hellman, PSK Authentication: RSA, DSA, ECDSA Symmetric Cipher: RC4, IDEA, DES, 3DES, AES Data Integrity: SHA, MD5, MD4 and MD2
  • 5. SSL/TLS Vulnerabilities History 2002 2013 Padding Oracle Attack discovery BEAST Attack discovery CRIME & BREACH Attack discovery Lucky 13 Attack discovery POODLE Attack discovery 2014
  • 6. Heart Bleed Issue in the realization of crypto protocol/system ***IT happens Not issue in the cipher
  • 8. One-Time Pad (OTP) A plaintext is paired with random, secret key (or pad) which have the same length (or more) as message Each bit or char of the plaintext is encrypted by combining it with the corresponding bit or char from the pad using modular addition
  • 9. Unbreakable One-Time Pad (OTP) Key is truly random Key and at least as long as the plaintext Key never reused in whole or in part, and kept completely secret
  • 10. Symmetric-Key Cryptography One shared key Block ciphers Stream ciphers
  • 12. Stream Ciphers Key Stream is used (generated from Key) Gamma (Key Stream) generator is pseudo random with some period (bigger is better) Works really fast ( XOR Key Stream with MSG)
  • 13. Bit-Flipping Attack Attacker know part and of plaintext and place in encrypted (for ex. amount of money) Can change this part w/o knowing key (nature of XOR)
  • 14. Message Access Code (MAC) Hash Functions (MD5, SHA, etc) Encrypted data integrity check Used not only in encryption integrity check (web form data validation, plaintext data, etc)
  • 16. Block Ciphers Fixed block size Uses padding Different modes (ECB, CBC, etc)
  • 17. Electronic Codebook (ECB) Each block processed individually M y V e r y S e c r e t T e x t L G l h 3 l a 1 X E K h X r A c Plain Text Encrypted
  • 19. Cipher Block Chaining (CBC) Added initialization vector (IV) More secure (by design) Still vulnerable for padding attack
  • 20. Cipher Block Chaining (CBC) M y V e r y S e c r e t T e x t L G l h 3 l a 1 X E K h X r A c 1 2 3 4 5 6 7 8 Plain Text IV Encrypted
  • 21. Padding Types Bit Padding (add 1 bit and zeros) Byte Padding (add some bytes and length of padding, add number of bytes which equal to padding length, etc) Mixed Padding (add 1 bit and then bytes, for ex. MD5 padding)
  • 22. Byte Padding A B C D 0x00 0x00 0x00 0x00 A B C D 0x04 0x04 0x04 0x04 A B C D 0xFF 0xFF 0xFF 0x03 Zero Bytes Padding Padding Length Bytes 0xFF Bytes + Padding Length Byte
  • 23. Remember I'm offering you the truth. Nothing More. Padding Oracle
  • 24. Padding Oracle Oracle: something that can prove or refute your assumptions Padding: building blocks to make things the same size Together: are nightmare of cryptography
  • 25. Padding Oracle Nightmare You don’t need a KEY Almost doesn’t depends on cipher algorithm (CBC mode) Faster that brute force attack
  • 27. Exercise (Swap Variables) int a = 5, b = 10 a = a b // a = 15 a = a b // a = 10 b = a b // b = 5
  • 28. The Magic XOR Rules A A = 0 A 0 = A A B = B A (A B) C = A (B C)
  • 29. Padding Oracle Attack: Details M y M S G 3 3 3 L G l h 3 l a 1 X E K h X r A c Plain M2 Encrypted C1 Encrypted C2 I K 7 u F Q s b Intermediate I2
  • 30. Padding Oracle Attack: Details M2=C1 I2 I2=M2 C1 We CAN change result Plaintext M2 by changing Encrypted C1 Message
  • 31. Padding Oracle Attack: Last Byte M y M S G 3 3 D L G l h 3 l a A X E K h X r A B I K 7 u F Q s C C1[8] C2[8] I2[8] M2[8]
  • 32. Padding Oracle Attack: Last Byte 1. Iterate byte PP from 0x00 to 0xFF (possible M2[8] byte) 2. Set A = C1[8] PP 0x01 3. Check Padding Oracle if we got correct padding (D = 0x01) 4. In case of correct padding we can calculate M2[8] last byte: • M2[8] = C1[8] C • Because C = D A • Then C = 0x01 C1[8] PP 0x01 • We can simplify it to C = C1[8] PP • In this case M2[8] = C1[8] C1[8] PP • And finally M2[8] = PP, voila!
  • 33. Padding Oracle Attack: Tools POET – Apache MyFaces form padding oracle expl. tool http://netifera.com/research/ PadBuster – ASP.NET (not only) padding oracle expl. tool https://github.com/GDSSecurity/PadBuster Bletchley – python based cryptography expl. multitool https://code.google.com/p/bletchley/
  • 34. • Use MAC in pair of encryption • Don’t show Padding Errors to Attacker • Use another cipher mode (CFB, etc) How-to Mitigate?
  • 35. POODLE? Are you kidding!? Dogs are men’s best friends
  • 36. POODLE: Basic Info Old Good Padding Oracle Present in ALL SSLv3 realizations (architecture issue) Wrong MAC usage
  • 37. POODLE: Possible Exploitation 1 2 3 Hacker uses MITM attack User should send the same plaintext requests (eg. GET request via XSS) Attacker want to steal cookie (know possible structure of the plaintext request)
  • 38. • Disable SSLv3 on the server – web server, openssl, etc • Disable SSLv3 support on the client – web browser, library, etc • Really, disable this old buggy SSLv3! How-to Mitigate?
  • 39. Outline • Padding Oracle attack is still alive • Usage of OLD protocols could cause a lot of security issues • Disable SSLv3 in your products/environment