Secure Sockets Layer (SSL) and Transport Layer Security (TLS) are two protocols for security protection over Internet. Certificate validation is critical for establishing SSL/TLS connections; meanwhile it is the most dangerous code in the world in case that it may not validate X.509 certificates correctly during the SSL/TLS handshake protocol. To minimize the risk, an engineering approach to testing of certificate validation in SSL/TLS implementation is necessary. In this project, we will develop a stochastic approach to certificate optimization that facilitates the use of easily-accessed certificates for black-box testing of certificate validation code. In particular, the new approach supports: mutating X.509 certificates and employing the Markov chain Monte Carlo (MCMC) sampling technique to mutate and diversify the certificates in a test suite. A fine-grained differential testing strategy will also be designed to complement the test certificate generation approach, allowing engineers to identify flaws in certificate validation code by comparing the behaviors between different SSL/TLS implementations. Generally speaking, we will provide a cost-effective approach to testing the certificate validation code. The approach is expected to enhance the security of SSL/TLS connections and is as well adapted to other testing processes.
安全套接字层(SSL)和传输层安全(TLS)是重要的互联网安全协议,用以支持互联网安全连接及保障用户使用安全可靠的网络服务。X.509证书验证是保障SSL/TLS安全连接的关键,而其一旦在握手协议中出错,亦将成为非常危险的代码。为降低风险,本课题拟提出一种针对网络安全证书验证代码的测试及测试证书随机性优化技术。课题主要研究内容包括:选取真实网络证书,测试SSL/TLS工具;通过证书变种操作和马尔可夫链蒙特卡罗(MCMC)采样技术,随机性优化测试证书,使其具有多样性和较高代码覆盖率;设计一种细粒度差别测试策略,通过比较不同SSL/TLS工具在证书验证过程中差异,辨识及定位验证代码中缺陷;构建适用于证书验证代码的测试工具。总之,课题将提供一种高效的、针对网络安全证书验证代码的测试技术,该技术有益于提升网络安全,并且可以为其它软件测试过程所借鉴。
如何支持互联网实现安全连接、保护互联网用户隐私、保障用户使用可信网络服务是互联网安全的关键。安全套接字层(SSL)和传输层安全(TLS)是当前最广泛使用的互联网安全协议,其利用密钥算法在互联网上提供端点身份认证与通讯保密,为互联网用户提供可靠的端到端的安全服务。X.509证书则是网站和互联网用户相互认证、建立SSL/TLS连接的主要凭据。. 课题研究针对网络安全证书验证代码的测试及测试证书随机性优化技术。课题预期完成目标包括:(1)分析X.509证书结构,研究其触发证书验证代码安全漏洞的可能,研究如何通过改变证书结构生成新的测试证书;2. 研究如何扩大测试套装分散度(即多样性)的方式;3. 研究如何利用多个SSL/TLS工具对证书的验证差异来发现工具缺陷;4. 研究适用于证书验证代码的测试方法与工具。. 围绕上述目标,课题对计划书原定的各项研究内容展开了研究,取得如下研究成果:(1)针对安全协议支撑软件的测试。课题针对实际的开源软件,包括Openssl、Gnutls、PolarSSL等具体的SSL/TLS实现中的证书验证功能,提出基于变种的、针对SSL/TLS支撑软件的测试技术。(2)对SSL/TLS实现库中函数调用关系深入研究,通过研究实现中动态调用序列,并将其与正确的调用序列相匹配,旨在找出客户错误使用TLS API的问题。(3)针对商用实现中库函数中存在隐式锁,课题提出从闭源API方法中检测隐式锁的方法,以合成出可能引发程序死锁的隐式锁,扩展现有锁检测技术能力。
{{i.achievement_title}}
数据更新时间:2023-05-31
F_q上一类周期为2p~2的四元广义分圆序列的线性复杂度
一种改进的多目标正余弦优化算法
基于混合优化方法的大口径主镜设计
变可信度近似模型及其在复杂装备优化设计中的应用研究进展
瞬态波位移场计算方法在相控阵声场模拟中的实验验证
针对微机电系统的测试访问与测试优化方法研究
基于证书密码体制研究
基于证书数字签名研究
高效无证书密码体制及其应用