IT学习网 - 爱学习 - 最具影响力综合资讯网站 -- 中国IT界的领航者!
热门关键字:      88888  as  xxx
站外
广告
站外
广告

Vuzzer自动漏洞挖掘工具简单分析附使用介绍

发布时间:2017-08-09 13:44文章来源:互联网文章作者: 互联网点击次数:
*本文原创作者:vickylzy,本文属FreeBuf原创奖励计划,未经许可禁止转载 Vuzzer 是由计算机科学机构 Vrije Universiteit Amsterdam、Amsterdam Department of Informatics 以及 International Institute of Information Technology, Hyderabad 共同开发的工
*本文原创作者:vickylzy,本文属FreeBuf原创奖励计划,未经许可禁止转载
Vuzzer 是由计算机科学机构 Vrije Universiteit Amsterdam、Amsterdam Department of Informatics 以及 International Institute of Information Technology, Hyderabad 共同开发的工具。 项目来源 : https://github.com/vusec/vuzzer 参考资料 :《VUzzer: Application-aware Evolutionary Fuzzing》

VUzzer 是什么?

为何选择 VUzzer

自动漏洞测试技术当前主要为基于fuzzing的有结果反馈能力的AFL与使用符号执行的driller等。 ? 符号执行(symbolic execution)的一大优势在于发现尽可能多的路径,实现高覆盖率,但其消耗大量运行空间的方式使其难以扩展,而vuzzer能在不使用符号执行的情况下,对AFL效率进行大幅的提升。 VUzzer使用应用感知的”智能“变异策略——基于数据流和控制流,使用轻量静态分析与动态分析,通过结果反馈和优化输入的生成过程以求产生更优秀更少的测试输入,达到加快挖掘效率,增加挖掘深度的目的。

案例

用以下简单的情况进行对比 ... read(fd,buf,size); if(buf[5] == 0xD8 && buf[4] == 0xFF){ //在汇编代码中以CMP形式出现,同时应注意其检查顺序 if(...) //if的嵌套 ...some useful code containg bug... }else{ ... EXIT_ERROR("Invalid file\n"); } 输入buf中的buf[4],buf[5]包含着tainted data。 对于工具AFL—-对程序进行黑盒测试的fuzzer:
1.必须通过变异输入完全猜对两字节为FFD8才能进入深层代码 2.必须找对该在buf[4],buf[5]的位置进行变异 3.作为一基于覆盖率的fuzzer,AFL追求发现新路径,当AFL没能通过if而进入了else,对其来说仍然发现了新路径,将会以这个进入else的输入作为新的反馈。可能致使AFL过分轻视if分支,这种情况在嵌套判断语句中会更加明显。
这将会使fuzzer浪费大量时间与运算资源,在else和其下的错误处理中。 而对于VUzzer:
1.在静态分析阶段,vuzzer会通过在程序的汇编码中寻找cmp指令集相关命令,将if语句中的判断值提取出来存储在Lcmp当中,找到这些magic bytes值是什么(如 FFD8) 2.而在动态分析中,通过不断迭代,将Lcmp 与取地址值类操作Llea中信息与种子文件输入和新生成输入进行类型匹配等,找到这些magic bytes在输入中的可能位置,更精准的进行变异 3.而对于嵌套判断语句引起的深度代码不易发现的问题,VUzzer的基本块(Basic Block)权重管理将会很好的解决这个问题
VUzzer 分析 对于应用反汇编后,汇编码中的每一个基本块(Basic Block),都有一个权重值,由于VUzzer追求更深层的代码,所以对可能执行到概率越小的块,他的权重值要更高,若从main到达块A的概率为P,其权重就为1/p。 但如何做到这一点? 以上图为例如果说有main开始,那么执行到main的概率就是1,main后有两个可能方向,那么就划分两者概率均为0.5,依次向下。 例如$H{概率}=E*0.5+P{外来}(0.5)*0.5=0.5$ 则$H{权重}=1/H{概率}=2$ 例图中蓝线所表示为F块触发概率为0.25,权重为倒数4 特别的,对于很小可能含有bug的错误处理块其权重为1(通过动态分析才能发现错误处理块) 由此有了,解决深层代码被隐藏的方法。

VUzzer 概述

VUzzer 概述 vuzzer顶层图(具体术语参见下表)
Vuzzer自动漏洞挖掘工具简单分析附使用介绍
本文由 IT学习网 整理,转载请注明“转自IT学习网”,并附上链接。
原文链接:http://www.ourlove520.com/Article/netsafe/gongju/1037844.html

标签分类:

上一篇:上一篇:Skype-Type:一款通过声音窃取键盘记录的Keylogger工具
下一篇: 下一篇:没有了
无觅关联推荐,快速提升流量