SlideShare a Scribd company logo
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)

Hardware Network Trojans for neural Networks
Hardware Network Trojans for neural NetworksHardware Network Trojans for neural Networks
Hardware Network Trojans for neural Networks
 
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
 

Recently uploaded

Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
Bhaskar Mitra
 

Recently uploaded (20)

Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara Laskowska
 
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomSalesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
 
In-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsIn-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT Professionals
 
Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutes
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityOptimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through Observability
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1
 

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