SADT: Syntax-Aware Differential Testing of Certificate Validation in SSL/TLS Implementations
Abstract
The security assurance of SSL/TLS critically depends on the correct validation of X.509 certificates. Therefore, it is important to check whether a certificate is correctly validated by the SSL/TLS implementations. Although differential testing has been proven to be effective in finding semantic bugs, it still suffers from the following limitations: (1) The syntax of test cases cannot be correctly guaranteed. (2) Current test cases are not diverse enough to cover more implementation behaviours. This paper tackles these problems by introducing SADT, a novel syntax-aware differential testing framework for evaluating the certificate validation process in SSL/TLS implementations. We first propose a tree-based mutation strategy to ensure that the generated certificates are syntactically correct, and then diversify the certificates by sharing interesting test cases among all target SSL/TLS implementations. Such generated certificates are more likely to trigger discrepancies among SSL/TLS implementations, which may indicate some potential bugs.
BibTeX
@inproceedings{Quan-al:ASE20,
author = {Lili Quan and
Qianyu Guo and
Hongxu Chen and
Xiaofei Xie and
Xiaohong Li and
Yang Liu and
Jing Hu},
title = {{SADT:} {Syntax-Aware} Differential Testing of Certificate Validation in {SSL/TLS} Implementations},
booktitle = {ASE},
pages = {524--535},
publisher = {{IEEE}},
year = {2020},
}