
二进制安全
Chen_zju
来csdn学习
展开
-
AFL-fuzz工具分析
网上afl-fuzz的资料比较少,大多是解释afl带的技术白皮书,介绍afl的原理和使用到的技术,但对于想要了解afl内部实现并加以利用和改进还是远远不够的。所以本人在学习afl过程中,把一些重要的东西记录下来,方便阅读和理解afl的代码。如果有写的不对的地方,欢迎指证。1. afl的fuzz工作流程1. main函数先进行初始化和选项处理;2. 执行input文件夹下的预先准备...原创 2018-06-24 14:48:43 · 13505 阅读 · 2 评论 -
Driller工具分析
1. Driller介绍driller在afl的基础上开发的crash模糊测试工具。Driller在AFL的基础上加入了动态符号执行引擎,当模糊测试发生stuck时,使用动态符号执行去突破这些限制,生成满足fuzz需求的新输入,使得fuzz能够继续执行。 总体上说,Driller结合了AFL的高效、低消耗、快速的优点和动态符号执行探索能力强的优点,又避免了AFL较难突破特殊的边界和动态符号执...原创 2018-06-24 14:50:49 · 5868 阅读 · 2 评论 -
Mocov论文概要
标题Mocov: Model Based Fuzzing Through Coverage Guided Technology Mocov:一个基于覆盖率引导的fuzz模型1. 摘要论文观点:盲目的随机的fuzz很难发现隐藏比较深的bug。所以提出了Mocov,一种基于代码覆盖率引导的fuzz技术,该技术借用了插桩和实时反馈来避免盲目性,以此来发现隐藏较深的bug。2. ...翻译 2018-07-04 20:36:50 · 634 阅读 · 0 评论 -
T-fuzz--fuzzing by program transformation论文概要
摘要fuzz的问题,有限覆盖率和深度bug挖掘。为了提高覆盖率,常用的方法是依靠不精确的启发式算法或者复杂的输入变异等技术。 T-fuzz通过去掉santiy check来提高覆盖率。T-fuzz利用覆盖率来引导产生输入。 当不能访问到新的路径时,T-fuzz会去掉check,以保证fuzz能继续进行,发现新的路径和bug。 这个方法有2个问题:1.去除check,导致结果不准确并会...翻译 2018-07-05 23:51:40 · 2485 阅读 · 2 评论 -
fairfuzz 论文概要
论文英文标题为:FairFuzz: A Targeted Mutation Strategy for Increasing Greybox Fuzz Testing Coverage在看论文时,简单每个记录了一些重要的点,方便阅读和回顾。如果需要详细了解论文内容,可看论文原文。摘要AFL的局限,覆盖率低。而覆盖率低,会导致有些没有被覆盖代码的bug不会被发现。本文提出2个方法来提高覆盖率。...原创 2018-11-23 15:36:34 · 2114 阅读 · 0 评论 -
driller/shellphish安装与简单例程
因为在学习过程中有用到driller,但是安装过程中经常碰到奇奇怪怪的问题,尤其是angr 8发布后全面放弃python2,导致兼容性较差,本人将最后安装成功的过程记录下来,仅供参考。注,时间为2018.11.27,各个仓库采用该时间点的最新源码,安装环境为ubuntu 16。另外,个人推荐使用shellphish的脚本fuzzer来使用driller,一方面功能比较全,性能好,另一方面自己写的...原创 2018-11-27 23:27:14 · 3975 阅读 · 5 评论