网易首页 > 网易号 > 正文 申请入驻

青草莓谈fuzzing: 聊一下灰白盒模糊测试的样本进化

0
分享至

总之,样本进化的目的是提高被测程序测试的时候的代码覆盖率,毕竟低的代码覆盖率,测试效果一定好不到哪里去不是

不同于黑盒模糊测试工具通过模型变异生成用例 灰白盒模糊测试工具主要通过样本进化,然后基于样本库生成用例

灰白盒模糊测试一般基于样本库开始,甚至大多数测试之初并没有初始样本或只有工具给的简单初始样本

仅仅基于这样的样本进行变异测试很难达到理想的效果,因此灰白盒模糊测试工具引入了样本进化的概念

通过对被测程序进行插装,在运行的过程当中得到被测程序的运行状态,基于运行状态进行样本进化,然后继续循环测试

面临的问题1是插装,这个目前一般有以下几种

编译插装 一般在编译的过程中由编译器完成,比如 c,c++的gcc编译器和clang编译器都支持

编译中间文件插装 通过编译过程中生成的中间汇编文件进行插装,AFL等采用

二进制插装 这个一般是运行时结合一些动态插装工具插装,比如使用pin工具

面临的问题2是得到被测程序的运行状态

通常得到的是某一次运行被测程序代码块pc运行的顺序流

简单来说,模糊测试工具会将出现过的pc指针记录下来,当新出现一个pc值,认为被测代码运行到了一个以前没有覆盖过的代码,因此将本次变异的样本保存到样本库

实际上我们通过pc运行的顺序流得到的不仅仅是这些信息,我们可以得到的信息有

这次运行一共运行了那些代码块

运行了那些新的代码块

代码执行的顺序

循环语句执行的次数

我们可以细化我们得到的信息,来优化我们的样本进化

不仅仅通过代码覆盖,我们还可以通过其他信息来进行样本进化,比如一次运行分配了多少内存,消耗了多长时间等

各种各样的信息都可以用来进行样本进化,当然要避免样本爆炸这样的情况发生

面临的问题3是样本库的生成和选取

样本库来自用户定义,工具赋予和样本进化

每次选取新的样本进行变异,简单随机抽取显然是不够的,不同的样本应该赋予不同的权重,比如有些样本是刚刚新增的,有些样本能都到达更多的新路径,为不同的样本设置不同的权重也是要考虑的问题

除了上诉情况,还有一种,我们得到的是被测程序执行路径的完整符号表达式

当我们判断出执行路径的if语句已经被执行,但是else语句还没有被执行时,我们可以使用数学的手段通过符号表达式将能够进入 else分支的样本计算出来

这种情况就是符号执行技术与模糊测试结合

当然由于种种条件的限制,符号执行技术目前只作为灰白盒模糊测试工具的辅助被少量应用,而且效果貌似并不好

现在比较火的AI也经常被讨论用于和灰白盒模糊测试工具进行结合来优化样本进化

一种是通过代码覆盖情况给变异算法进行打分,来训练工具尽量采用那些分数高的变异算法

一种是通过代码覆盖情况给样本进行打分,来训练工具进行采用那些分数高的变异样本来调用被测程序进行测试,丢弃分数低的变异样本

还有一种是通过大量的已发现问题和对应的触发样本来进行训练,尽量让模糊测试工具变异出分数高的样本进行测试

利用AI面临的问题是,不同的测试用例和被测对象,都要进行不同的训练,真实应用中往往不现实

目前很多项目采用局部符号执行和变异结合或者局部AI训练和变异结合的手段,作为普通灰白盒模糊测试的辅助的尝试

还有一种是将静态扫描与灰白盒结合

这样可以得到那些路径还没有覆盖,这些没有覆盖的路径与那些已经变异出来的样本路径更近,优先调度这些样本

总之,样本进化的主要目的是提高被测程序测试的时候的代码覆盖率,毕竟低的代码覆盖率,测试效果一定好不到哪里去不是

青草莓科技



声明:个人原创,仅供参考

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
欧洲多国爆发示威活动,法国遭遇股债汇三杀

欧洲多国爆发示威活动,法国遭遇股债汇三杀

第一财经资讯
2026-10-19 22:13:07
破防了!一位美女妈妈在家长会上出圈,被吐槽“这是孩子的班会,不是选美大赛”,评论区吵翻

破防了!一位美女妈妈在家长会上出圈,被吐槽“这是孩子的班会,不是选美大赛”,评论区吵翻

火山詩话
2026-10-19 08:27:01
经济日报的评论,替一个断掉的踏板撑腰

经济日报的评论,替一个断掉的踏板撑腰

鲁先生的笔
2026-10-19 23:29:24
随着马尔穆什破门+热刺3-1,英超最新积分榜出炉

随着马尔穆什破门+热刺3-1,英超最新积分榜出炉

侧身凌空斩
2026-10-20 05:00:53
李小冉老公被执行2111万

李小冉老公被执行2111万

雷达财经
2026-10-19 10:35:15
豆包回应“国内超一半算力在造爽剧”:字节只有约10%算力用于视频生成模型的训练和推理

豆包回应“国内超一半算力在造爽剧”:字节只有约10%算力用于视频生成模型的训练和推理

澎湃新闻
2026-10-19 13:08:27
麻豆停运,原来是为了入驻抖音?

麻豆停运,原来是为了入驻抖音?

吃瓜党二号头目
2026-10-19 19:15:36
今夜,终于暴涨了

今夜,终于暴涨了

中国基金报
2026-10-20 00:32:13
国防大学原教研室主任黄彬将军逝世,享年84岁

国防大学原教研室主任黄彬将军逝世,享年84岁

澎湃新闻
2026-10-19 12:26:31
驴友在4500米亚丁高反离世,期间姐姐全网求免费直升机,牧民报价1万被她拉黑

驴友在4500米亚丁高反离世,期间姐姐全网求免费直升机,牧民报价1万被她拉黑

可达鸭面面观
2026-10-19 21:43:29
李小冉发文承认离婚:“去年已离互不牵扯,互不打扰,祝各自安好”

李小冉发文承认离婚:“去年已离互不牵扯,互不打扰,祝各自安好”

韩小娱
2026-10-19 20:06:00
炸锅了!老干妈再引争议:你让工人下岗,消费者就让你下架!

炸锅了!老干妈再引争议:你让工人下岗,消费者就让你下架!

故事终将光明磊落
2026-10-19 12:47:52
太离谱了!婚期将近,男方亲戚两次致电让未过门的女生前去帮忙,男友就在身边没阻拦,女生选择推迟订婚

太离谱了!婚期将近,男方亲戚两次致电让未过门的女生前去帮忙,男友就在身边没阻拦,女生选择推迟订婚

火山詩话
2026-10-18 08:15:10
牛逼!刚刚公布:GDP增速4.6%,人均收入大涨5.3%

牛逼!刚刚公布:GDP增速4.6%,人均收入大涨5.3%

说财猫
2026-10-19 11:00:27
个人是养老第一责任人?!

个人是养老第一责任人?!

News脑洞
2026-10-19 09:49:49
一座机场,中美杀疯了

一座机场,中美杀疯了

刻面
2026-10-19 14:34:10
刘强东硬刚抖音,引爆全网!

刘强东硬刚抖音,引爆全网!

大佬灼见
2026-10-19 22:42:34
中国驻菲律宾大使就菲反华政客污蔑抹黑中方言论向菲外长拉扎罗提出严正交涉

中国驻菲律宾大使就菲反华政客污蔑抹黑中方言论向菲外长拉扎罗提出严正交涉

环球网资讯
2026-10-19 21:32:11
第39届金鸡奖来了,看完提名名单,我要说:内娱影坛要完了!

第39届金鸡奖来了,看完提名名单,我要说:内娱影坛要完了!

八卦南风
2026-10-19 13:39:47
南京林业大学原副校长汪大纲教授逝世

南京林业大学原副校长汪大纲教授逝世

双一流高校
2026-10-20 01:00:28
2026-10-20 08:51:00
安全测试小王
安全测试小王
安全测试小王的日常分享
7文章数 0关注度
往期回顾 全部

科技要闻

王晟:近千亿资金涌入后 具身智能开始退烧

头条要闻

两名男性设局和女局长接触并发生关系 其中一人未成年

头条要闻

两名男性设局和女局长接触并发生关系 其中一人未成年

体育要闻

从NBA退役10年后,他真去警局上班了

娱乐要闻

奚梦瑶回应重返维密:还是很开心的

财经要闻

宁德时代的大时代结束了吗?

汽车要闻

不知道二代海鸥多好玩? 上赛道跑两圈 很过瘾的

态度原创

时尚
健康
数码
本地
房产

4种“棒针毛衣”穿搭,美翻了!

看着很健康的人,怎么会突然猝死?

数码要闻

苹果官宣10月29日举办特别活动!首款触屏MacBook Pro有望发布

本地新闻

因新荣记出圈,这座浙东小城才是吃货天堂

房产要闻

最新房价:海口,三亚齐跌!

无障碍浏览 进入关怀版