Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1109/SP.2015.39guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

A Messy State of the Union: Taming the Composite State Machines of TLS

Published: 17 May 2015 Publication History

Abstract

Implementations of the Transport Layer Security (TLS) protocol must handle a variety of protocol versions and extensions, authentication modes, and key exchange methods. Confusingly, each combination may prescribe a different message sequence between the client and the server. We address the problem of designing a robust composite state machine that correctly multiplexes between these different protocol modes. We systematically test popular open-source TLS implementations for state machine bugs and discover several critical security vulnerabilities that have lain hidden in these libraries for years, and have now finally been patched due to our disclosures. Several of these vulnerabilities, including the recently publicized FREAK flaw, enable a network attacker to break into TLS connections between authenticated clients and servers. We argue that state machine bugs stem from incorrect compositions of individually correct state machines. We present the first verified implementation of a composite TLS state machine in C that can be embedded into OpenSSL and accounts for all its supported cipher suites. Our attacks expose the need for the formal verification of core components in cryptographic protocol libraries, our implementation demonstrates that such mechanized proofs are within reach, even for mainstream TLS implementations.

Cited By

View all
  • (2023)Extracting protocol format as state machine via controlled static loop analysisProceedings of the 32nd USENIX Conference on Security Symposium10.5555/3620237.3620630(7019-7036)Online publication date: 9-Aug-2023
  • (2023)Three lessons from threemaProceedings of the 32nd USENIX Conference on Security Symposium10.5555/3620237.3620310(1289-1306)Online publication date: 9-Aug-2023
  • (2023)Stealth Key Exchange and Confined Access to the Record Protocol Data in TLS 1.3Proceedings of the 2023 ACM SIGSAC Conference on Computer and Communications Security10.1145/3576915.3623099(2901-2914)Online publication date: 15-Nov-2023
  • Show More Cited By

Recommendations

Reviews

A. Squassabia

By bringing consolidated structure to the panoply of requirements that make up the transport layer security (TLS) standard, this paper allows practitioners to formulate a framework for testing how compliant several of their open-source software (OSS) implementations are. TLS and its precursors have been, for a couple of decades, the lifeblood of secure communication across the Web. Backward compatibility, feature bloat, and many specifications unaware of each other over that lengthy period have together provided a fertile substrate for the culturing of software bugs. This paper contributes a method for framing the assembly of those requirements into a cohesive whole, a mechanism for testing relevant OSS implementations for compliance with that structured assembly, the outcome of such testing (which includes serious vulnerabilities), and an implementation of TLS geared toward correctness rather than performance (therefore arguably not production-ready). The authors have acknowledged limitations as well; for instance, testing is not exhaustive as it disregards many combinations of configuration parameters or content, and vetting, albeit partially automated, depends heavily on manual intervention. The effort is, however, worthwhile. In addition, the methodology can be an inspiration for other software engineering challenges. The mechanisms are focused on the correctness of TLS, but the underlying guidance can be generalized for the verification of certain software artifacts that are otherwise very difficult to test. Online Computing Reviews Service

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image Guide Proceedings
SP '15: Proceedings of the 2015 IEEE Symposium on Security and Privacy
May 2015
923 pages
ISBN:9781467369497

Publisher

IEEE Computer Society

United States

Publication History

Published: 17 May 2015

Author Tags

  1. Transport Layer Security
  2. cryptographic protocols
  3. formal methods
  4. man-in-the-middle attacks
  5. software verification

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 22 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2023)Extracting protocol format as state machine via controlled static loop analysisProceedings of the 32nd USENIX Conference on Security Symposium10.5555/3620237.3620630(7019-7036)Online publication date: 9-Aug-2023
  • (2023)Three lessons from threemaProceedings of the 32nd USENIX Conference on Security Symposium10.5555/3620237.3620310(1289-1306)Online publication date: 9-Aug-2023
  • (2023)Stealth Key Exchange and Confined Access to the Record Protocol Data in TLS 1.3Proceedings of the 2023 ACM SIGSAC Conference on Computer and Communications Security10.1145/3576915.3623099(2901-2914)Online publication date: 15-Nov-2023
  • (2023)Coverage-directed Differential Testing of X.509 Certificate Validation in SSL/TLS ImplementationsACM Transactions on Software Engineering and Methodology10.1145/351041632:1(1-32)Online publication date: 22-Feb-2023
  • (2022)A Symbolic Analysis of Privacy for TLS 1.3 with Encrypted Client HelloProceedings of the 2022 ACM SIGSAC Conference on Computer and Communications Security10.1145/3548606.3559360(365-379)Online publication date: 7-Nov-2022
  • (2022)Predicting IPv4 services across all portsProceedings of the ACM SIGCOMM 2022 Conference10.1145/3544216.3544249(503-515)Online publication date: 22-Aug-2022
  • (2022)RetinaProceedings of the ACM SIGCOMM 2022 Conference10.1145/3544216.3544227(530-544)Online publication date: 22-Aug-2022
  • (2022)TEOProceedings of the 20th Annual International Conference on Mobile Systems, Applications and Services10.1145/3498361.3539774(302-315)Online publication date: 27-Jun-2022
  • (2021)A large-scale analysis of HTTPS deploymentsJournal of Computer Security10.3233/JCS-20007029:1(25-50)Online publication date: 1-Jan-2021
  • (2021)Guided Feature Identification and Removal for Resource-constrained FirmwareACM Transactions on Software Engineering and Methodology10.1145/348756831:2(1-25)Online publication date: 24-Dec-2021
  • Show More Cited By

View Options

View options

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media