a study of the tls ecosystem
play

A study of the TLS ecosystem Olivier Levillain ANSSI / Tlcom - PowerPoint PPT Presentation

A study of the TLS ecosystem Olivier Levillain ANSSI / Tlcom SudParis / Edite September 23th 2016 O. Levillain (ANSSITSPEdite) A study of the TLS ecosystem 2016-09-23 1 / 44 SSL/TLS in a nutshell State of the art and focus on the


  1. A study of the TLS ecosystem Olivier Levillain ANSSI / Télécom SudParis / Edite September 23th 2016 O. Levillain (ANSSI–TSP–Edite) A study of the TLS ecosystem 2016-09-23 1 / 44

  2. SSL/TLS in a nutshell State of the art and focus on the Record Protocol Observation and analysis of the HTTPS ecosystem Implementation aspects and focus on the parsing problem Conclusion and perspectives

  3. SSL/TLS in a nutshell

  4. SSL/TLS in a nutshell Overview of the protocol SSL/TLS: a security protocol providing Client Server C l i e n t H e l l o ◮ server (and client) authentication l o H e l e r r v ◮ data confidentiality and integrity S e e a t i c t i f e r C e o n o D e l l r H r v e S e Two phases C l i e n t K e y E x c h a n g e C h a n g e ◮ Handshake Protocol C i p h e r S p e c F i n i s h e d ◮ algorithm negotiation c p e ◮ server authentication e r S p h C i n g e h a C d ◮ key exchange s h e n i F i ◮ Record Protocol Application data ◮ application data exchanges O. Levillain (ANSSI–TSP–Edite) A study of the TLS ecosystem 2016-09-23 4 / 44

  5. SSL/TLS in a nutshell SSL/TLS: a basic block of Internet security Netscape IETF SSLv3 TLS 1.2 SSLv2 TLS 1.0 TLS 1.1 TLS 1.3 1995 1999 2006 2008 2016? 1994 A 20-year old protocol ◮ originally designed by Netscape to secure HTTP connections (SSL) ◮ maintained since 2001 by the IETF (TLS) ◮ now used for a broad spectrum of applications ◮ to secure almost every cleartext protocols ◮ to provide VPNs ◮ to authenticate peers in an EAP exchange O. Levillain (ANSSI–TSP–Edite) A study of the TLS ecosystem 2016-09-23 5 / 44

  6. SSL/TLS in a nutshell The complexity of the protocol The specifications (50+ RFCs) describe many variants ◮ 5 protocol versions ◮ 300+ ciphersuites ◮ 20+ extensions ◮ interesting features ◮ compression ◮ renegotiation ◮ session resumption (2 methods) A rich subject to study from different points of view O. Levillain (ANSSI–TSP–Edite) A study of the TLS ecosystem 2016-09-23 6 / 44

  7. Part I State of the art and focus on the Record Protocol

  8. State of the art and focus on the Record Protocol A history of vulnerabilities Overview Many flaws and attacks devised since 1995 ◮ it is hard to find relevant categories ◮ several issues may be considered in different categories The proposed categories are: ◮ flaws affecting the Handshake Protocol ◮ attacks against the Record Protocol ◮ certificate-related issues ◮ implementation bugs Publications describing the state of the art: [SSTIC 12, SSTIC 15] O. Levillain (ANSSI–TSP–Edite) A study of the TLS ecosystem 2016-09-23 8 / 44

  9. State of the art and focus on the Record Protocol A history of vulnerabilities Flaws affecting the Handshake Protocol SSLv3 TLS 1.2 SSLv2 TLS 1.0 TLS 1.1 TLS 1.3 1995 1999 2006 2008 2016? 1994 Weak crypto parameters • FREAK [BBD+15] • LogJam [ABD+15] • • First MD5 collisions [WY05] SLOTH [BL16] Specification flaws • • DROWN [ASS+16] Bleichenbacher • • • [Ble98] 3Shake [BDF+14] SSLv2 Insecure • down negotiation renegotiation KCI [HGFS15] Cross-protocol attacks • • • RSA/DHE DHE/ECDHE FREAK confusion confusion [BBD+15] [WS96] [MVVP12] O. Levillain (ANSSI–TSP–Edite) A study of the TLS ecosystem 2016-09-23 9 / 44

  10. State of the art and focus on the Record Protocol A history of vulnerabilities Attacks against the Record Protocol SSLv3 TLS 1.2 SSLv2 TLS 1.0 TLS 1.1 TLS 1.3 1995 1999 2006 2008 2016? 1994 CBC mode • • Rogaway BEAST • POODLE [Rog95] [DR11] [MDK14] • • Vaudenay Lucky 13 [Vau02] [AP13] Weak algorithms • Sweet32 • • • First RC4 biases TLS Plaintext Recovery with RC4 [ABP+13,IOWM13,GPdM15] Compression • CRIME [RD12] • TIME [BS13] • BREACH [PHG13] O. Levillain (ANSSI–TSP–Edite) A study of the TLS ecosystem 2016-09-23 10 / 44

  11. State of the art and focus on the Record Protocol Focus on the Record Protocol Description of the Record Protocol | P | < 2 14 Plaintext P Compression (optional) Compressed C | C | < | P | + 1024 MAC MAC C MAC C MAC Padding AEAD step Encryption (XOR) C MAC Pad Encryption (CBC mode) MAC’ed then MAC’ed then Padded Authenticated and Encrypted record then Encrypted record Encrypted record Stream cipher mode CBC mode AEAD mode O. Levillain (ANSSI–TSP–Edite) A study of the TLS ecosystem 2016-09-23 11 / 44

  12. State of the art and focus on the Record Protocol Focus on the Record Protocol Proofs of concept against the Record Protocol Considered attacks ◮ BEAST, exploiting CBC using implicit IV ◮ Lucky 13, a CBC padding oracle ◮ POODLE, an SSLv3-specific CBC padding oracle ◮ plaintext recovery using RC4 statistical biases ◮ CRIME and TIME, compression side-channel (client-side) ◮ TIME and BREACH, compression side-channel (server-side) O. Levillain (ANSSI–TSP–Edite) A study of the TLS ecosystem 2016-09-23 12 / 44

  13. State of the art and focus on the Record Protocol Focus on the Record Protocol Proofs of concept against the Record Protocol Considered attacks ◮ BEAST, exploiting CBC using implicit IV ◮ Lucky 13, a CBC padding oracle ◮ POODLE, an SSLv3-specific CBC padding oracle ◮ plaintext recovery using RC4 statistical biases ◮ CRIME and TIME, compression side-channel (client-side) ◮ TIME and BREACH, compression side-channel (server-side) All the attacks were illustrated by a PoC targeting HTTPS ◮ powerful (but realistic) attacker ◮ typical targets are authentication cookies O. Levillain (ANSSI–TSP–Edite) A study of the TLS ecosystem 2016-09-23 12 / 44

  14. State of the art and focus on the Record Protocol Focus on the Record Protocol BEAST: CBC using implicit IV Hypotheses: ◮ the connection uses CBC with implicit IV (TLS < 1.1) ◮ the attacker is able to observe encrypted packets ◮ the plaintext is partially controlled, adaptively ◮ multiple connections containing the secret can be triggered Proposed countermeasures: ◮ use TLS 1.1 ◮ use AEAD suites (requires TLS ≥ 1.2) ◮ use RC4 ◮ split the records O. Levillain (ANSSI–TSP–Edite) A study of the TLS ecosystem 2016-09-23 13 / 44

  15. State of the art and focus on the Record Protocol Focus on the Record Protocol RC4 statistical biases Hypotheses: ◮ the connection uses RC4 ◮ the attacker is able to observe encrypted packets ◮ multiple connections containing the secret can be triggered Proposed countermeasures: ◮ use AEAD suites (requires TLS ≥ 1.2) ◮ use CBC mode ◮ use another streamcipher ◮ randomise the secret location O. Levillain (ANSSI–TSP–Edite) A study of the TLS ecosystem 2016-09-23 14 / 44

  16. State of the art and focus on the Record Protocol Focus on the Record Protocol Record Protocol: the long-term solution | P | < 2 14 Plaintext P Compression (optional) Compressed C | C | < | P | + 1024 MAC MAC C MAC C MAC Padding AEAD step Encryption (XOR) C MAC Pad Encryption (CBC mode) MAC’ed then MAC’ed then Padded Authenticated and Encrypted record then Encrypted record Encrypted record RC4 Stream cipher mode CBC mode AEAD mode O. Levillain (ANSSI–TSP–Edite) A study of the TLS ecosystem 2016-09-23 15 / 44

  17. State of the art and focus on the Record Protocol Focus on the Record Protocol Record Protocol: the long-term solution | P | < 2 14 Plaintext P Compression (disabled) Compressed C | C | < | P | + 1024 MAC MAC C MAC C MAC Padding AEAD step Encryption (XOR) C MAC Pad Encryption (CBC mode) MAC’ed then MAC’ed then Padded Authenticated and Encrypted record then Encrypted record Encrypted record RC4 Stream cipher mode CBC mode AEAD mode O. Levillain (ANSSI–TSP–Edite) A study of the TLS ecosystem 2016-09-23 15 / 44

  18. State of the art and focus on the Record Protocol Focus on the Record Protocol Record Protocol: when TLS 1.2/AEAD is not an option In the absence of the long-term solution (e.g. for compatibility reasons) ◮ specific short-term fixes exist for most attacks ◮ we propose to avoid the repetition as a defense-in-depth mechanism The masking principle (borrowed from the side-channel community): ◮ instead of sending a secret s ◮ draw a random string m of the same length as s ◮ send ( m , s ⊕ m ) ◮ the intended value remains the same ◮ but the representation is different each time Publication describing MCookies and similar countermeasures: [ASIA-CCS 15] O. Levillain (ANSSI–TSP–Edite) A study of the TLS ecosystem 2016-09-23 16 / 44

  19. State of the art and focus on the Record Protocol Focus on the Record Protocol Application to HTTP cookies: MCookies Web application Client Server setcookie(’sid’, Set-Cookie: sid=C564A5F3EB ’C564A5F3EB’) Cookie: sid=C564A5F3EB sid=’C564A5F3EB’ Cookie: sid=C564A5F3EB sid=’C564A5F3EB’ O. Levillain (ANSSI–TSP–Edite) A study of the TLS ecosystem 2016-09-23 17 / 44

  20. State of the art and focus on the Record Protocol Focus on the Record Protocol Application to HTTP cookies: MCookies Web application Client Server setcookie(’sid’, Set-Cookie: sid=5437624523:9153C7B6C8 ’C564A5F3EB’) Cookie: sid=5437624523:9153C7B6C8 sid=’C564A5F3EB’ Set-Cookie: sid=CB06AE36CC:0E620BC527 Cookie: sid=CB06AE36CC:0E620BC527 sid=’C564A5F3EB’ Set-Cookie: sid=974113A1CE:5225B65225 O. Levillain (ANSSI–TSP–Edite) A study of the TLS ecosystem 2016-09-23 17 / 44

Recommend


More recommend