Savior:引领混合测试新纪元
savior-source source code for savior fuzzer 项目地址: https://gitcode.com/gh_mirrors/sa/savior-source
项目介绍
Savior 是一款创新的混合测试工具,旨在通过结合模糊测试(Fuzzing)和符号执行(Concolic Execution)的优势,实现更高效的软件漏洞检测。Savior 的核心理念是通过“漏洞驱动”的策略,优先处理那些更有可能触发漏洞的代码路径,从而显著提升测试效率。
项目技术分析
Savior 的技术架构由多个关键组件构成:
- Fuzzer:基于 AFL 2.50b 的修改版本,负责生成和变异测试用例。
- KLEE:符号执行引擎,用于生成约束条件并探索程序的不同执行路径。
- DMA:基于 SVF 的静态分析器,用于分析程序的控制流和数据流。
- Coordinator:基于 Python 的框架,协调各个组件的工作流程。
- Clang:经过修改的 LLVM Clang 前端,用于为 UBSAN 插入元数据节点。
这些组件协同工作,通过静态分析和动态执行相结合的方式,深入挖掘潜在的软件漏洞。
项目及技术应用场景
Savior 适用于多种软件测试场景,特别是那些需要高效率漏洞检测的领域:
- 安全研究:用于发现和验证软件中的安全漏洞。
- 软件开发:在开发过程中进行持续集成测试,确保代码质量。
- 学术研究:作为研究混合测试技术的实验平台。
项目特点
- 漏洞驱动:Savior 通过优先处理可能触发漏洞的代码路径,显著提高了测试效率。
- 混合测试:结合模糊测试和符号执行的优势,全面覆盖程序的执行路径。
- 易于集成:提供 Docker 构建方式,简化了环境配置和部署过程。
- 开源社区支持:项目代码开源,鼓励社区贡献和改进。
结语
Savior 作为一款创新的混合测试工具,不仅在技术上实现了突破,更在实际应用中展现了强大的潜力。无论你是安全研究人员、软件开发者还是学术研究者,Savior 都能为你提供一个高效、可靠的测试平台。立即尝试 Savior,开启你的漏洞检测新旅程!
参考文献:
@INPROCEEDINGS {savior,
author = {Y. Chen and P. Li and J. Xu and S. Guo and R. Zhou and Y. Zhang and T. Wei and L. Lu},
booktitle = {2020 IEEE Symposium on Security and Privacy (SP)},
title = {SAVIOR: Towards Bug-Driven Hybrid Testing},
year = {2020},
volume = {},
issn = {2375-1207},
pages = {2-2},
keywords = {fuzzing;bug-finding;hybrid-testing;sanitizers},
doi = {10.1109/SP.2020.00002},
url = {https://doi.ieeecomputersociety.org/10.1109/SP.2020.00002},
publisher = {IEEE Computer Society},
address = {Los Alamitos, CA, USA},
month = {may}
}
项目地址:Savior GitHub
savior-source source code for savior fuzzer 项目地址: https://gitcode.com/gh_mirrors/sa/savior-source
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考