跳到主要导航 跳到搜索 跳到主要内容

Coverage-directed Differential Testing of X.509 Certificate Validation in SSL/TLS Implementations

  • Pengbo Nie
  • , Chengcheng Wan
  • , Jiayu Zhu
  • , Ziyi Lin
  • , Yuting Chen*
  • , Zhendong Su
  • *此作品的通讯作者
  • Shanghai Jiao Tong University
  • The University of Chicago
  • Alibaba Group Holding Ltd.
  • Swiss Federal Institute of Technology Zurich

科研成果: 期刊稿件文章同行评审

摘要

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.

源语言英语
文章编号3510416
期刊ACM Transactions on Software Engineering and Methodology
32
1
DOI
出版状态已出版 - 22 2月 2023
已对外发布

指纹

探究 'Coverage-directed Differential Testing of X.509 Certificate Validation in SSL/TLS Implementations' 的科研主题。它们共同构成独一无二的指纹。

引用此