专业联系方式:honggfuzz缝隙发掘技能原理剖析
Google开发的AFL(WinAFL)、libfuzzer和honggfuzz是最著名的三大根据代码覆盖率的fuzzer。网上关于AFL(WinAFL)的剖析文章较多,而关于后两者的剖析文章较少。之前泉哥现已写过关于honggfuzz的文章:honggfuzz缝隙发掘技能深究系列。本文是自己学习期间的一个笔记,读者也可当成对泉哥文章的一点弥补。主张读者先阅览泉哥的文章,本文不会再触及重复的内容。
比较其它的fuzzer,honggfuzz有以下特色:
1.含有多个fuzz实在程序(Apache/OpenSSL等等)的示例
2.支撑耐久型fuzzing(Persistent Fuzzing)方式,即长生命周期进程重复调用被fuzz的API
3.支撑Linux/FreeBSD/NetBSD/MacOS/Windows(CygWin)/Android等简直全部干流操作系统
4.支撑根据软件和根据硬件(分支计数(branch counting),指令计数(instruction counting),Intel *** S(Branch Trace Store),Intel PT(Processor Tracing))的反应驱动(Feedback-Driven)
[1]、https://www.microsoft.com/download/details.aspx?id=36982
5.运用底层接口监督进程(linux和NetBSD下运用ptrace),与其它fuzzer比较更| Set-Cookie: _gorilla_csrf=MTU2MzE5MDkwMHxJalZOT0c4MU0zbEJPVmhsVDI1MlRrSTVWM3BJTlhoQlRHdzNSa2hUZEcxc2FFMUtMMDVpVVVocWMxRTlJZ289fCCWbHBsW-9n90ew27ro5Jb1zXiF11Mr1BFa192sGwFS; HttpOnly; Secure有或许从crash中发现并陈述被劫持/疏忽的信号(被fuzz的程序或许截获并躲藏)
全体结构
我们首要仍是来看一下代码的全体目录。
android&mac&linux&netbsd&posix&arch.h:对不同操作系统的支撑,头文件统一在arch.h,接下来剖析的代码以linux为例。该目录下有这些文件:
arch.c:arch.h中函数的完结
bfd.c:根据bfd(Binary File Descriptor)完结解析符号/反汇编等功能
perf.c/pt.c:经过perf来运用PT,跟根据硬件的反应驱动有关
trace.c:子进程暂停/停止时剖析记载
unwind.c:根据libunwind完结栈回溯
docs:文档
examples:运用honggfuzz进行fuzz的一些比如
hfuzz_cc&libhfuzz:hfuzz_cc编译被fuzz程序的源代码,添加libhfuzz.a库。libhfuzz目录下有这些文件:
instrument.c:完结各种SanitizerCoverage需求的回调函数
linux.c:封装了libhfcommon/ns.c中的nsEnter/nsIfaceUp/nsMountTmpfs等函数
memorycmp.c:对libc/Apache/SSL/libXML/Samba等程序中触及比较的函数封装,添加instrumentUpdateCmpMap函数,两个参数分别是函数的回来地址和之一次呈现不持平字符的方位。之一次呈现不持平字符的方位越靠后两个值越挨近持平,越有或许走到新的途径
fetch.c/persistent.c:这儿面的代码主要是用于耐久型fuzzing方式的,有两种 *** 运用该方式:
一是把被fuzz的API放在LLVMFuzzerTestOneInput中,然后运用hfuzz_cc/hfuzz_clang test.c -o test指令编译,honggfuzz -P -- ./test工作fuzzer
二是在调用被fuzz的API之前添加HF_ITER获取输入,然后运用hfuzz_cc/hfuzz_clang test.c -o test ~/honggfuzz/libfuzz/libfuzz.a指令编译,honggfuzz -P -- ./
为推动咸宁市纺织产品质量提升,进一步提高相关实验室的检验能力和水平,湖北省纤检局咸宁分局组织全市10家纱线生产企业开展产品质量检验比对活动,并于9月24日召开纱线质量比对数据分析会。 分析会上...
一起进步哦,很多早恋者两人来往固然很隐蔽,早恋让她藏好了,1|,盯得超紧。失恋不知道他们是对是错,家长高中都不算早恋了。早恋有这种想法没有任何问题,世界在成长。怎么办应对小学早恋不能持久,男生哪会喜欢...
黑客入侵电脑和智能手机已司空见惯,而一旦你房间里所有的家具都加入了连网的计算机芯片,就意味着所有的这些设备都可能被黑客入侵,智能家居需要怎样面对黑客入侵这一安全问题呢?毕竟,电脑被黑损失是只是数据,信...
本文导读目录: 1、你觉得科幻电影里有什么黑科技未来能应用到现实社会中? 2、那些年科幻电影里的黑科技有哪些成为了现实? 3、有哪些软件是电脑必备的黑科技 4、电影《黑豹》中的黑科技哪些早...
古琴音色(怎样判断古琴的音色好不好) 古人云,琴有九德,是说一张理想的琴,应具备九条标准,即所谓:奇、古、透、静、润、圆、清、匀、芳。逐字品读,也能理解,但对琴友而言,大多云里雾里,未得其解,九德具...
今天支付宝蚂蚁庄园2020年9月17日庄园小课堂的答案是什么呢?蚂蚁庄园庄园小课堂2020年9月17日的问题是【人们常称那些不被重视的人为坐冷板凳,“冷板凳”来源于哪个行当】和【小鸡宝宝考考你,切蛋糕...