中文

DRLGENCERT:基于深度学习的SSL/TLS实现中证书验证自动化测试

密码学与安全 2018-08-17 v1

摘要

安全套接层(SSL)与传输层安全(TLS)协议是网络安全的基础。SSL/TLS实现中的证书验证至关重要,并可能成为整个网络生态中的薄弱环节。在以往工作中,一些研究关注证书验证的自动化测试,其主要方法依赖于通过随机组合种子证书的部分以生成海量证书进行模糊测试。尽管所生成的证书可满足语义约束,但由于随机性,其代价相当高昂且性能有限。为弥补这一不足,本文提出DRLGENCERT,首个将深度强化学习应用于SSL/TLS实现中证书验证自动化测试的框架。DRLGENCERT以普通证书为输入,输出可高效触发差异的新生成证书。得益于深度强化学习,在生成证书时,我们的框架可根据前次修改的结果选择最佳下一步动作,而非简单的随机组合。同时,我们开发了一系列新技术以支撑整体设计,例如针对X.509证书的新特征提取方法、细粒度差分测试等。此外,我们实现了DRLGENCERT的原型并开展了一系列真实世界实验。结果表明DRLGENCERT相当高效,我们从181,900个证书种子中获得了84,661个触发差异的证书,即约46.5%的有效率。我们还评估了六种流行的SSL/TLS实现,包括GnuTLS、MatrixSSL、MbedTLS、NSS、OpenSSL与wolfSSL。DRLGENCERT成功发现了23个严重的证书验证缺陷,其中大多数此前未知。

关键词

引用

@article{arxiv.1808.05444,
  title  = {DRLGENCERT: Deep Learning-based Automated Testing of Certificate Verification in SSL/TLS Implementations},
  author = {Chao Chen and Wenrui Diao and Yingpei Zeng and Shanqing Guo and Chengyu Hu},
  journal= {arXiv preprint arXiv:1808.05444},
  year   = {2018}
}