crypto-corpus
收藏github2023-08-21 更新2024-05-31 收录
下载链接:
https://github.com/randombit/crypto-corpus
下载链接
链接失效反馈官方服务:
资源简介:
用于模糊测试各种加密解析器的加密格式数据集,包括ASN.1数据、X.509证书、CRL、OCSP响应、PKCS加密垫等,所有文件名基于内容的SHA-1哈希,便于去重。
本数据集旨在为多种加密解析器进行模糊测试,收录了ASN.1数据、X.509证书、CRL、OCSP响应以及PKCS加密垫等加密格式,所有文件名称均基于内容生成SHA-1哈希值,以便于实现去重。
创建时间:
2016-12-17
原始信息汇总
数据集概述
本数据集用于测试各种加密解析器的模糊测试,包含以下类型的数据:
- asn1: ASN.1数据,BER编码
- cert: X.509证书,BER编码
- crl: X.509证书撤销列表,BER编码
- ocsp: OCSP响应,BER编码
- pkcs1: PKCS v1.5加密填充
- pkcs8: PKCS #8私钥,BER编码
- spki: X.509 subjectPublicKeyInfo结构,BER编码
- tls_client: TLS服务器流量(用于测试客户端)
- tls_server: TLS客户端流量(用于测试服务器)
- x509_dn: X.509 Distinguished Names
- x509_path: 一系列X.509证书(所有BER编码),可能有效也可能无效
数据集命名规则
所有文件名应为其内容的SHA-1哈希值的小写十六进制表示,便于去重。
数据集来源
初始版本的数据集来源于BoringSSL和OpenSSL的语料库数据,一些参考输入,以及OSS-Fuzz在运行Botan模糊测试器时生成的语料库数据。
数据集扩展
接受添加新语料库值的PR(Pull Request)。
数据集目标
目标是确保任何数据项都有明确的格式,以便在多个实现之间共享测试。目前尚未包含modexp等数学函数的语料库,但应予以考虑。
搜集汇总
数据集介绍

构建方式
crypto-corpus数据集的构建过程主要依赖于多种加密解析器的模糊测试数据。该数据集整合了来自BoringSSL和OpenSSL的初始语料库数据,并结合了OSS-Fuzz在运行Botan模糊测试时生成的数据。所有文件均以其内容的SHA-1哈希值命名,便于去重和识别。此外,数据集还接受通过PR(Pull Request)方式添加的新语料数据,以确保其持续更新和扩展。
特点
crypto-corpus数据集涵盖了多种加密格式的数据,包括ASN.1、X.509证书、CRL、OCSP响应、PKCS v1.5加密填充、PKCS #8私钥、X.509 subjectPublicKeyInfo结构等。这些数据以BER编码形式存储,确保了格式的统一性和可解析性。数据集的命名规则采用小写十六进制SHA-1哈希值,便于高效管理和去重。其目标是为多种加密实现提供标准化的测试数据,从而提升加密解析器的鲁棒性和兼容性。
使用方法
crypto-corpus数据集的使用方法主要围绕加密解析器的测试和验证展开。用户可以通过下载数据集中的各类加密格式文件,用于测试其加密解析器的兼容性和鲁棒性。由于数据集中的文件均以SHA-1哈希值命名,用户可以通过哈希值快速识别和去重文件。此外,用户还可以通过提交PR的方式向数据集中添加新的测试数据,以丰富数据集的覆盖范围。该数据集特别适用于开发者和研究人员在加密协议实现中进行模糊测试和安全性验证。
背景与挑战
背景概述
crypto-corpus数据集是一个专门用于模糊测试各种加密解析器的语料库,涵盖了ASN.1、X.509证书、TLS协议等多种加密相关数据格式。该数据集由BoringSSL和OpenSSL的语料数据、参考输入以及OSS-Fuzz在运行Botan模糊测试时生成的数据共同构成,旨在为不同加密实现提供统一的测试基准。其创建时间可追溯至开源社区对加密协议安全性测试需求的增加,主要研究人员和机构包括BoringSSL、OpenSSL以及Google的OSS-Fuzz团队。该数据集在加密协议解析器的安全性测试领域具有重要影响力,为研究人员和开发者提供了丰富的测试用例。
当前挑战
crypto-corpus数据集面临的挑战主要集中在两个方面。其一,加密协议解析器的模糊测试需要覆盖多种复杂的编码格式和协议规范,如ASN.1、X.509和TLS等,这些格式的多样性和复杂性使得生成有效的测试用例变得极具挑战性。其二,数据集的构建过程中需要确保数据的唯一性和可重复性,因此采用SHA-1哈希值作为文件名以去重,但这也对数据的管理和扩展提出了更高的要求。此外,如何将数据集扩展到更多加密算法和数学函数(如模幂运算)的测试用例,也是未来需要解决的重要问题。
常用场景
经典使用场景
crypto-corpus数据集广泛应用于加密解析器的模糊测试领域。通过提供多种加密格式的数据样本,如ASN.1、X.509证书、TLS协议流等,该数据集为研究人员和开发者提供了一个标准化的测试平台,用于验证和提升加密解析器的鲁棒性和安全性。
实际应用
在实际应用中,crypto-corpus数据集被广泛用于加密软件和协议的开发与测试。例如,TLS协议实现者可以利用该数据集中的TLS流数据,测试其客户端或服务器在处理异常流量时的表现。此外,证书颁发机构(CA)也可以使用该数据集中的X.509证书样本,验证其证书解析器的兼容性和安全性。
衍生相关工作
crypto-corpus数据集催生了一系列与加密解析器模糊测试相关的研究工作。例如,基于该数据集的研究成果被应用于改进BoringSSL和OpenSSL等主流加密库的解析器实现。此外,该数据集还为OSS-Fuzz等自动化模糊测试工具提供了重要的数据支持,推动了加密系统安全性的持续提升。
以上内容由遇见数据集搜集并总结生成



