Windows内核模糊测试入门.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Windows 内核模糊测试入门 Ben Nagy 我 : - 不是 oldsk00l. 只是 old (老). - ~ 研究了5周的windows内核 - 有5年模糊测试的经验 - 讨厌一切技术 - Ruby和酒精能驱散一切痛苦 免责声明 :我意识到普遍的观点是模糊测试如果不谈BUG会 很糟。我没有任何Bug,就算我有Bug,我也不会告诉你。没 有bug,只有水獭和可疑性倾向的俄罗斯男人,还有很多红 框。我警告过了哈。 模糊测试秘诀 • 选择正确的目标 • 必要的知识储备 • 应用各种模糊测试方法 – 如何切入 (delivery) – 如何在代码中插入测试语句(Instrumentation) – 如何生成测试用例 (generation) – 怎么去扩展 模糊测试秘诀 • 切入,插桩, 用例生成 – 将他们正确地分割解耦! – 请停止写一些耦合过高的工具, 谢谢 • 优秀工具链有助于目标的快速重定位 – 使用糟糕的生成器开始模糊测试 – 冰冷的心找不到Bug 选择目标 n_bugs = p_bug * n_tests • p_bug / 目标不同测试速度也不同 • 可以平衡等式 – 更好的(可能更慢)用例生成器 – 更多地扩展 – 快速使用工具 ( 交付时间很关键! ) – 更好的样本 – 预备测试工具链 p_bug++ • 反馈驱动的模糊测试 – 通过代码覆盖率, 成功率或者其他指标 – 比如SAGE, bunny, EFS, Flayer – 优势 – 很好, 很高级, 找到一些初级测试工具根本不会找到的Bug – 劣势– 很慢开发难度大, windows 的支持很差 • 错误注入 / 深度插桩模糊测试 – 注入错误数据到被攻击代码的周围 – 优势 – 测试切入很简单 – 劣势– 需要检查到达率 • 崩溃样本分析 – 小代价高回报的技巧 – 需要一种测度覆盖率的方法 ( 对于内核来说难度较大 ) Target Selection n_bugs = p_bug * n_tests • 更一般地,BUG的数量没有多大意义 • 是否有更“有用”的BUG? • 如果有,如何定位它们 – 垃圾Bug – 后Fuzzing工具链 Target Selection n_bugs = p_bug * n_tests • Bug的实用性是客观存在的 • 卖掉? 应用? 修补? 散布出去? • 无论我们的有用性定义如何,我们能收获什么? – 能帮助形成有用的能力? – 真的是可以利用的吗? – 有人会购买吗? – 值得修复吗? – 带来名望还是提高性能力? Windows 内核简介 • Featuring “Barry the Kernel Otter” • 有些东西丢失甚至完全错误 • 所有都过于简化了 • 资源很丰富的! – MSDN ( 新的布局和导航很赞) – 这几位提供的资料,j00ru, Alex Ionescu, Tarjei Mandt – 还有这几个人 Russinovich / Solomon / Probert – 学术课程“CRK”, 可免费下载 – “WRK” ,完整Windows 内核源码树,和编译工具 Userland kernel32 ntdll “NT Executive” Dragons Hardware Userland kernel32 1. 建立 syscal

文档评论(0)

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

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

1亿VIP精品文档

相关文档