文章预览
关于Buzzer Buzzer是一款功能强大的模糊测试工具链,该工具基于Go语言开发,可以帮 助广大研究人员简单高效地开发针对eBPF的模糊测试策略。 功能介绍 下面给出的是当前版本的Buzzer整体架构: 元素解析: 1、ControlUnit:通过命令行标志--fuzzing_strategy启动指定的FuzzingStrategy; 2、eBPFGenerationLibrary:包含生成 eBPF 程序的逻辑; 3、ExecutionUnit:FFI 层与 eBPF Syscall 交互并加载/执行 eBPF 程序; 4、FuzzingStrategy:所有策略必须实现的接口; 模糊测试策略是eBPF 程序的生成方式和错误检测方式的结合。 目前,Buzzer 有三种可能的策略: 1、PointerArithmetic:生成随机 ALU 和 JMP 操作,然后尝试对映射指针进行指针算术运算,并写入它。如果写入的值在用户空间不可见,则假设我们写入了 OOB; 2、VerifierLogParser:生成随机 ALU 操作并解析 eBPF 验证程序日志的输出。在程序运
………………………………