Affiliation:
1. Shanghai Jiao Tong University, Shanghai, China
2. University of Chicago, United States
3. Alibaba Group Inc., Shanghai, China
4. ETH Zurich, Switzerland
Abstract
Secure Sockets Layer (SSL) and Transport Security (TLS) are two secure protocols for creating secure connections over the Internet. X.509 certificate validation is important for security and needs to be performed before an SSL/TLS connection is established. Some advanced testing techniques, such as
frankencert
, have revealed, through randomly mutating Internet accessible certificates, that there exist unexpected, sometimes critical, validation differences among different SSL/TLS implementations. Despite these efforts, X.509 certificate validation still needs to be thoroughly tested as this work shows.
This article tackles this challenge by proposing
transcert
, a coverage-directed technique to much more effectively test real-world certificate validation code. Our core insight is to (1) leverage easily accessible Internet certificates as seed certificates and (2) use code coverage to direct certificate mutation toward generating a set of diverse certificates. The generated certificates are then used to reveal discrepancies, thus potential flaws, among different certificate validation implementations.
We implement
transcert
and evaluate it against
frankencert
,
NEZHA
, and
RFCcert
(three advanced fuzzing techniques) on five widely used SSL/TLS implementations. The evaluation results clearly show the strengths of
transcert
: During 10,000 iterations,
transcert
reveals 71 unique validation differences, 12×, 1.4×, and 7× as many as those revealed by
frankencert
,
NEZHA
, and
RFCcert
, respectively; it also supplements
RFCcert
in conformance testing of the SSL/TLS implementations against 120 validation rules, 85 of which are exclusively covered by
transcert
-generated certificates. We identify 17 root causes of validation differences, all of which have been confirmed and 11 have never been reported previously. The
transcert
-generated X.509 certificates also reveal that the primary goal of certificate chain validation is stated ambiguously in the widely adopted public key infrastructure standard RFC 5280.
Funder
National Natural Science Foundation of China
Alibaba Group through Alibaba Innovative Research (AIR) programme
CCF-Huawei Innovative Research programme
Publisher
Association for Computing Machinery (ACM)
Reference55 articles.
1. A hitchhiker’s guide to statistical tests for assessing randomized algorithms in software engineering;Arcuri Andrea;Softw. Test. Verif. Reliabil.,2014
2. Deprecating secure sockets layer version 3.0;Barnes Richard L.;RFC,2015
3. Michail Basios, Lingbo Li, Fan Wu, Leslie Kanthan, and Earl T. Barr. 2017. Optimising darwinian data structures on google guava. In Search Based Software Engineering, Tim Menzies and Justyna Petke (Eds.). Springer International Publishing, Cham, 161–167.
4. Adam Bates, Joe Pletcher, Tyler Nichols, Braden Hollembaek, Dave Tian, Kevin R. B. Butler, and Abdulrahman Alkhelaifi. 2014. Securing SSL certificate verification through dynamic linking. In Proceedings of the ACM SIGSAC Conference on Computer and Communications Security. ACM, 394–405.
5. Benjamin Beurdouche, Karthikeyan Bhargavan, Antoine Delignat-Lavaud, Cédric Fournet, Markulf Kohlweiss, Alfredo Pironti, Pierre-Yves Strub, and Jean Karim Zinzindohoue. 2015. A messy state of the union: Taming the composite state machines of TLS. In Proceedings of the IEEE Symposium on Security and Privacy (SP’15). IEEE Computer Society, 535–552.
Cited by
1 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Beyond Current Cryptography;Advances in Information Security, Privacy, and Ethics;2024-07-12