cb-multios 开源项目安装与配置指南
1. 项目基础介绍
cb-multios 是一个开源项目,它包含了 DARPA 挑战程序集,这些程序集专门设计用来包含各种导致崩溃的软件漏洞。这些挑战程序不仅仅是简单的测试用例,它们具有足够的复杂性,可以用来压力测试手动和自动化的漏洞发现工具。cb-multios 提供了功能全面的测试、引入的错误的触发器、补丁以及性能监控工具,使得它可以用来对补丁工具和漏洞缓解策略进行基准测试。
主要编程语言:C/C++
2. 项目使用的关键技术和框架
- DARPA Challenge Binaries (CBs):这是项目的主要组成部分,用于评估程序分析工具的性能。
- CGC 系统调用:在 DECREE 系统上运行的原始 CBs 使用了自定义的系统调用,这个项目将这些调用适配到了标准的 libc 功能和原生操作系统语义。
- Python 脚本:用于修改、构建和测试挑战程序的辅助脚本。
3. 项目安装和配置
准备工作
在开始安装之前,请确保您的系统已经安装了以下依赖项:
对于 MacOS 用户:
-
安装 i386 支持环境:
sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
对于 Linux 用户:
-
安装以下包:
sudo apt-get install libc6-dev libc6-dev-i386 gcc-multilib g++-multilib clang cmake
对于 Windows 用户:
-
安装以下工具:
- Visual Studio Build Tools
- Windows SDK (用于运行测试,可选)
- CMake 3.1+
- Clang 3.8+
安装步骤
-
克隆项目仓库:
git clone https://github.com/trailofbits/cb-multios.git
-
安装 Python 依赖:
sudo pip install xlsxwriter pycrypto defusedxml pyyaml matplotlib
-
构建挑战程序:
对于 MacOS 和 Linux 用户,运行以下命令:
./build.sh
如果您希望构建 64 位的挑战程序,请定义
BUILD64
环境变量:BUILD64=1 ./build.sh
对于 Windows 用户,运行以下命令:
powershell .\build.ps1
-
测试挑战程序:
使用
tester.py
脚本运行测试:./tester.py -a -o out.xlsx
这将运行所有挑战程序的测试并将结果输出到
out.xlsx
文件中。
请注意,这些步骤提供了一个基本的安装指南,具体的环境配置和依赖安装可能会因操作系统和具体版本的不同而有所变化。如果您在安装过程中遇到任何问题,建议查阅项目的官方文档和社区论坛。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考