利用动态污点跟踪优化模糊测试的方法ppt课件.ppt

上传人:本田雅阁 文档编号:3193228 上传时间:2019-07-28 格式:PPT 页数:20 大小:1.66MB
返回 下载 相关 举报
利用动态污点跟踪优化模糊测试的方法ppt课件.ppt_第1页
第1页 / 共20页
利用动态污点跟踪优化模糊测试的方法ppt课件.ppt_第2页
第2页 / 共20页
利用动态污点跟踪优化模糊测试的方法ppt课件.ppt_第3页
第3页 / 共20页
利用动态污点跟踪优化模糊测试的方法ppt课件.ppt_第4页
第4页 / 共20页
利用动态污点跟踪优化模糊测试的方法ppt课件.ppt_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《利用动态污点跟踪优化模糊测试的方法ppt课件.ppt》由会员分享,可在线阅读,更多相关《利用动态污点跟踪优化模糊测试的方法ppt课件.ppt(20页珍藏版)》请在三一文库上搜索。

1、利用动态污点跟踪优化 模糊测试的方法 报告人:赵斌 华中科技大学 2016年10月 重庆 汇报提纲 1.研究背景 2.研究意义 3.系统架构设计 4.实验与分析 5.总结展望 论文题目:利用动态污点跟踪优化模糊测试的方法 报告人:华中科技大学 赵斌 2 1.研究背景 优点: 一是模糊测试目标是二进制可执行代码, 不需要获取目标程序源代码,而白盒测试 方法是以获取目标软件源代码为前提,有 很大局限性; 二是模糊测试是动态执行的,相比静态分 析会提高检测的准确性; 三是模糊测试实现了自动化,不需要大量 测试人员参与。 缺点: 一是测试用例生成没有目标性,大量冗余 测试用例导致测试效率低下; 二是多

2、数模糊测试用例生成采用随机变 异或者人为变异,导致测试用例数量过 大,测试时间过长,测试效果不理想。 论文题目:利用动态污点跟踪优化模糊测试的方法 报告人:华中科技大学 赵斌 3 2.研究意义 利用动态污点跟踪优化模糊测试的方法减少冗余测试用例。 对有效测试用例并行化处理,进一步提高模糊测试效率。 论文题目:利用动态污点跟踪优化模糊测试的方法 报告人:华中科技大学 赵斌 4 3.系统架构设计 四个模块:模糊测试模块、 动态污点跟踪模块、相似度 计算模块、并行化处理模 块。 系统的执行分两个阶段, 第一阶段获取有效测试用例 集合; 第二阶段对每一有效测试用 例,采用并行化处理,将当 前进程状态和

3、污点状态迁移 到新的虚拟机中。 论文题目:利用动态污点跟踪优化模糊测试的方法 报告人:华中科技大学 赵斌 5 图1 系统架构图 3.1模糊测试 目前改进模糊测试程序方法,一是数据变异策略;二是代码覆盖率;三是数据变异位置 的优化。但这三方面改进都是围绕提高模糊测试端效率考虑,忽略了测试用例在被测端 的执行效果。 为解决大量冗余测试用例的问题,借助污点传播路径相似度比对方法过滤掉冗余测试用 例,生成有效测试用例集。 论文题目:利用动态污点跟踪优化模糊测试的方法 报告人:华中科技大学 赵斌 6 3.2动态污点跟踪 污点初始化:二进制程序与外界进行数据交换是借助系统调用完成的,所以通过监控系统 调用

4、,获取接受函数数据缓冲区,然后将缓冲区中的数据标记在影子内存中,从而实现污点 初始化. 指令执行分析:机器指令的操作数中含有污点,如果指令执行中污点复制到其它存储单元 就会发生污点传播,如果指令执行后污点被设置为空就会发生污点清除,所以通过获取指 令执行的情况,可以判断污点的状态。 污点传播路径的生成:通过对指令执行的分析,将发生污点传播与清除的指令按序记录在 日志文件中,从而生成污点传播路径. 论文题目:利用动态污点跟踪优化模糊测试的方法 报告人:华中科技大学 赵斌 7 3.2动态污点跟踪 根据对Intel x86机器指令的分析,将可能导致污点传播与清除的机器指令分成三类 一是数据移动指令,

5、包括mov、cmov、movsz、movzx、repmovs、lods、stos、 push、pop、pushad、popad、pushfd、popfd等; 二是算术运算指令,包括add、sub、mul、div、and、or、xor等; 三是特殊指令,包括call、leave等。 论文题目:利用动态污点跟踪优化模糊测试的方法 报告人:华中科技大学 赵斌 8 3.3相似度计算 原理:将污点传播路径中的每条指令进行排列后,形成一个数组,记为: , 然后在对数组Seq提取特征值,记为p。如果有两个污点传播路径数组的特征值p1和p2 ,可以定义相似性公式为:similarity=sim(p1,p2),

6、其中similarity表示两个特征值的相似 性。 方法:采用Simhash算法以及海明距离来计算污点传播路径的相似度. 具体步骤为: 步骤一 计算每条指令的哈希值; 步骤二 将每条指令哈希值与指令对应权值相乘; 步骤三 将步骤二结果相加合并; 步骤四 将步骤三合并结果降维,生成二进制形式的哈希值; 步骤五 计算步骤四的哈希值与已有污点传播路径哈希值的海明距离,海明距离越小说明 两条污点传播路径越相似,进而说明对应的两个测试用例相似,反之则为不相似. 论文题目:利用动态污点跟踪优化模糊测试的方法 报告人:华中科技大学 赵斌 9 3.3.1相似度比对算法的改进 1.词频乘以系数 TF-IDF (

7、Term Frequency - Inverted Document Frequency)方法用于评估一 个文件集合内某个词对某个文件的重要程度。受TF-IDF方法的启发,将机器指令 的权重定义为指令在一条污点传播路径中出现的频率与该指令对该路径的重要 程度的乘积.具体公式: 某指令在一路径内的高频率,以及该指令在所有路径集合中的低频率,可以产生出 高权重W. 这种方法有两点缺陷,一是IDF的简单结构并不能有效地反映指令的重要程度和 分布情况,使其无法很好地完成对权值调整的功能,所以TF-IDF算法的精度并不高 ;二是TF-IDF算法并没有体现出指令的位置信息,权重的计算方法应该体现污点传 播

8、路径的结构特征. 论文题目:利用动态污点跟踪优化模糊测试的方法 报告人:华中科技大学 赵斌 10 3.3.1相似度比对算法的改进 2.分割法 将几条指令组合在一起作为一个特征词汇,这种方法增加了特征词汇种类, 提升了比对效率。两个优点,一是考虑了污点传播路径中指令的位置,使权 值的确定更合理;二是增加了特征词汇的种类,使特征词汇的分布类似于文 档,这恰好符合Simhash算法的应用场景。 测试了G为1-40的情况,经过测试表明,当固定值G设定为30正确率达到了 最大,595次相似度比对鉴定出了588个不相似路径. 论文题目:利用动态污点跟踪优化模糊测试的方法 报告人:华中科技大学 赵斌 11

9、3.3.1相似度比对算法的改进 3.滑动窗口法 滑动窗口的方法与分割法类似,但是相比分割法,滑动窗口的方法更重视指 令的位置,并且它大幅度提升了特征词汇的种类,使指令序列更像一篇文档, 因此理论上相似度比对的效率更高.其具体实现的思想就是将报文污点序 列排成一个污点序列,设定一个窗口值W,以W次从该序列中取指令组成一 个特征词汇,与分割法不同的是滑动窗口每次滑动一个单位,而分割法是滑 动多个单位. 论文题目:利用动态污点跟踪优化模糊测试的方法 报告人:华中科技大学 赵斌 12 3.4并行化处理 将有效测试用例现场交由并行化处理模块做进一步处理.并行化处理模块 的主要作用是提高模糊测试漏洞挖掘和

10、定位的效率.并行化处理模块由多 个虚拟机组成,每个虚拟机运行的环境相同,包含有效测试用例执行现场.通 过虚拟机静态迁移方法,将源主机上的操作系统以及应用程序迁移到目 的主机来实现并行处理。 论文题目:利用动态污点跟踪优化模糊测试的方法 报告人:华中科技大学 赵斌 13 4.实验与分析 3.1 FTP和HTTP协议测试 实验详细环境如表1所示 论文题目:利用动态污点跟踪优化模糊测试的方法 报告人:华中科技大学 赵斌 14 FTPHTTP 操作系统Windows XP SP3 Ubuntu 12.04 Windows XP SP3 Ubuntu 12.04 虚拟机QEMU 1.0QEMU 1.0

11、文件系统HDFSHDFS 被测程序War-ftp1.65HFS 测试框架改进的Sulley改进的Sulley 测试程序ftpfuzz.py Python 2.7 HFSfuzz.py Python 2.7 插桩平台Pin 2.13 (Windows版本) Pin 2.13 (Windows版本) 表1实验环境 4.实验与分析 3.1 FTP和HTTP协议测试 系统优化后如图2(a)所示, 论文题目:利用动态污点跟踪优化模糊测试的方法 报告人:华中科技大学 赵斌 15 图2(a)系统运行示意图 4.实验与分析 3.1 FTP和HTTP协议测试 由二进制插装平台Pin实现动态污点跟踪,记录污点传播

12、情况,而后进行相 似度计算.如图2(b)所示 论文题目:利用动态污点跟踪优化模糊测试的方法 报告人:华中科技大学 赵斌 16 图2(b)虚拟机迁移示意图 4.实验与分析 3.2性能分析 论文题目:利用动态污点跟踪优化模糊测试的方法 报告人:华中科技大学 赵斌 17 FTP测试测试 用例HTTP测试测试 用例 优化前34869452 优化后1014608 表2优化前后效率对比 4.实验与分析 3.2性能分析 论文题目:利用动态污点跟踪优化模糊测试的方法 报告人:华中科技大学 赵斌 18 表3 优化前后的模糊测试性能对比 优优化前优优化后 测试协议FTPHTTPFTPHTTP 测试用例348694

13、5234869452 有效测试用例348694521014608 第一次测试时间1h20m3h39m2h14m6h2m 第二次测试时间1h20m3h39m40m24m 漏洞定位时间58h6m157h32m3h23m2h2m 5.总结展望 本文设计并实现了原型系统,并对2个协议进行了测试,实验结果表明系统 能有效过滤冗余测试用例,显著提高模糊测试的效率.今后将侧重以下几方 面工作:增加对未知协议的支持,使系统适用性增强;进一步改进相似度比 对算法,提高路径比对的准确性; Pin插装被测程序对程序的稳定性产生了 影响,探索对程序稳定性产生较小影响的其他方法. 论文题目:利用动态污点跟踪优化模糊测试的方法 报告人:华中科技大学 赵斌 19 谢谢!

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1