模式测试串讲-李显.pptx

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
模糊测试串讲 李显 目录 1. 什么是模糊测试 2.模糊测试的基本原理 3.模糊测试工具AFL演示 论文《Directed Greybox Fuzzing》串讲 1.什么是模糊测试 模糊测试 (fuzz testing, fuzzing)是一种软件测试技术。其核心思想是将自动或半自动生成的随机数据输入到一个程序中,并监视程序异常,以发现可能的程序错误,比如内存泄漏。模糊测试常常用于检测软件或计算机系统的安全漏洞。 2.模糊测试的基本原理 模糊引擎算法中,测试用例的生成方式主要有2种: 1)基于变异:根据已知数据样本通过变异的方法生成新的测试用例; 2)基于生成:根据已知的协议或接口规范进行建模,生成测试用例; 2.-模糊测试的基本原理—变异的方式 bitflip,按位翻转,1变为0,0变为1 arithmetic,整数加/减算术运算 interest,把一些特殊内容替换到原文件中 dictionary,把自动生成或用户提供的token替换/插入到原文件中 havoc,中文意思是“大破坏”,是前面几种变异的组合 splice,中文意思是“绞接”,此阶段会将两个文件拼接起来得到一个新的文件 3.AFL的演示 /google/AFL AFL的运行流程 论文《Directed Greybox Fuzzing》串讲 问题的提出: Fuzzing由于随机突变的特点,在验证问题的时候常常需要花费大量的时间; 对于一些场景,软件打补丁后的安全验证,fuzzing并不是最好的选项; 因此,有人提出了Directed Fuzzing的概念,他的核心思想是用户可以指定一个需要fuzzing的位置(代码行数),然后它会在变异种子的时候,会往指定的位置走,并且在指定的位置进行充分的fuzzing,这样就使得fuzzing有了更为直接的方向,适应于特定诸如补丁之后的验证等场景。 /aflgo/aflgo Directed Greybox Fuzzing AFLgo的实验比对结果 心脏出血漏洞(英语:Heartbleed bug),也简称为心血漏洞,是一个出现在加密程序库OpenSSL的安全漏洞,该程序库广泛用于实现互联网的传输层安全(TLS)协议。它于2012年被引入了OpenSSL中,2014年4月首次向公众披露。只要使用的是存在缺陷的OpenSSL实例,无论是服务器还是客户端,都可能因此而受到攻击。此问题的原因是在实现TLS的心跳扩展时没有对输入进行适当验证(缺少边界检查)[3],因此漏洞的名称来源于“心跳”(heartbeat)。该程序错误属于缓冲区过读,即可以读取的数据比应该允许读取的还多。 CVE-2014-0160 AFLgo发现这个漏洞只用了不到20分钟,但是符号执行的工具工具Katch跑了24个小时也没有跑出来。 附录 AFL:/google/AFL AFLgo:/aflgo/aflgo Oss-fuzz: /google/oss-fuzz

文档评论(0)

___________ + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档