首页
论坛
课程
招聘
[分享]关于 fuzz 的 一点总结
2019-3-11 20:37 53059

[分享]关于 fuzz 的 一点总结

2019-3-11 20:37
53059

对 fuzz 的一点总结

写在前面

其实,本来是想去年年底总结一下的,可人总是容易拖延,这一拖延就不知道到了什么时候。

 

古人说,穷则思变。正好借着机会,整理一下之前的一个学习思路,日后可以定期更新一下本篇文章(关于 fuzz 主题吧)。

安全行业资讯的一些来源

fuzz 书籍

fuzzer 分类

  1. 注入向量或攻击向量

应用程序

  • 服务端

  • 客户端

  • 文件/媒体类
    ------ 图形库
    ------ 内存处理
    ------ OS 系统调用
    ------ 网络 API

  • 文件系统 ------ NFS CIFS ISCSI RPC
  • APPS/GUI ------- OSI 应用层
  • 蓝牙/无线协议 ----- 无线数据链路层
  1. 测试用例复杂程度

    输入 软件层面 解码/语法验证/语义验证

    a. 静态/随机的基于模板的 fuzzer ==> 请求-响应 协议,文件格式

    b. 基于块的 fuzzer ==> 校验和/长度值校验

    c. 动态生成/基于进化的 fuzzer ==> 无需理解协议/文件格式 基于反馈的

    d. 基于模型/模拟的 fuzzer

(以上是 fuzz 软件安全测试书中的定义)

  • 或者按下面这种分也可以:
  1. 基于生成/基于变异的fuzzer

  2. 输入感知/程序感知与否的fuzzer

fuzz wiki

fuzz-project 项目挖掘到的一些漏洞

 

学习如何 fuzz

 

github 上的 awesome fuzz 系列

fuzz 教程/思路/文章

fuzz 工具源码分析

fuzz 原理/方法论

安全研究团队博客

ppt/pdf/conference

fuzz 工具

fuzz 测试用例/种子(文件格式类)

  1. 常见的种子库网站:

... 主要靠平时积累

  1. 格式转换,由其他格式转换而来,比如图片类/文档格式类;

  2. 爬虫,大规模地从互联网上爬取,后续做精简;

  3. 一些项目(类似项目)所自带的 test suite/corpus/testdata;

  4. 历史的 poc,回归测试用例(openjpeg-fuzzdata);

  5. 基于语法的,定义规则生成测试用例,典型的比如说 domato。

测试用例去重

fuzz 工作的想法

在开始 fuzz 前不得不考虑的 7件事

 

其实 关于 如何 fuzz,上面的很多博客文章中阐述得已经相当的清晰明了,我说下关于我自身的体会:

 

首先选定一类目标,先看下是否以往有人 fuzz 过,如果有的话,有无必要复现当时他的一个过程;

 

有的话,可以尝试复现,后面看是否可以改进,按照自己的思路进行fuzz;没有的话,粗略看一下就完事儿了。

  1. 挑选 fuzz 目标,找到其存在的攻击面;

  2. 选择 适合该类目标的 fuzzer, 搭建环境,开始 fuzz;

  3. 根据 fuzz 的结果,评估总结之前的工作,决定下一步的方向。

  • 其实,对于一些比较复杂的软件系统(比如浏览器)来说,fuzz 之前的准备工作应该会比较漫长,需要明确一个大概的思路,以及在哪些模块会出问题,可能出问题,这样后面的过程就会好做一点。

写在最后

随着安全行业的日趋成熟,漏洞挖掘逐渐变成一项越来越难的工作。在我看来,不论最终漏洞能否挖到,在安全研究中不断学习、不断提升自我,与志同道合的朋友们一起成长才应该是真正乐趣所在,总之,开心就好!


[看雪官方培训] Unicorn Trace还原Ollvm算法!《安卓高级研修班》2021年6月班开始招生!!

最后于 2019-11-21 11:43 被fyb波编辑 ,原因: update
收藏
点赞42
打赏
分享
打赏 + 6.00
打赏次数 2 金额 + 6.00
 
赞赏  SekaiWu   +5.00 2019/03/13
赞赏  Editor   +1.00 2019/03/12 感谢分享~
最新回复 (48)
雪    币: 24
活跃值: 活跃值 (19)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
Maccha 活跃值 2019-3-11 20:52
2
0
留着慢慢看
雪    币: 203
活跃值: 活跃值 (12)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
wyfe 活跃值 2019-3-11 21:01
3
0
学习,非常不错
雪    币: 1281
活跃值: 活跃值 (96)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
八岛 活跃值 1 2019-3-12 01:59
4
0
感谢
雪    币: 4897
活跃值: 活跃值 (665)
能力值: ( LV13,RANK:491 )
在线值:
发帖
回帖
粉丝
houjingyi 活跃值 10 2019-3-12 10:08
5
0
很全面,感谢
雪    币: 4713
活跃值: 活跃值 (713)
能力值: (RANK:30 )
在线值:
发帖
回帖
粉丝
CCkicker 活跃值 2019-3-12 10:58
6
0
感谢分享!
雪    币: 15599
活跃值: 活跃值 (14832)
能力值: (RANK:75 )
在线值:
发帖
回帖
粉丝
Editor 活跃值 2019-3-12 11:03
7
0
 感谢分享~
雪    币: 3268
活跃值: 活跃值 (455)
能力值: ( LV9,RANK:260 )
在线值:
发帖
回帖
粉丝
fyb波 活跃值 1 2019-3-12 11:04
8
0
如果大家有什么建议 或者文中有什么错误的话,欢迎指出来,我更新改正一下
雪    币: 168
活跃值: 活跃值 (221)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
编程小白 活跃值 2019-3-12 21:03
9
0
mark
雪    币: 3471
活跃值: 活跃值 (405)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
smartdon 活跃值 1 2019-3-13 09:50
10
0
谢谢楼主
雪    币: 58
活跃值: 活跃值 (231)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
wonderzdh 活跃值 1 2019-3-13 11:12
11
0
留名留名
雪    币: 47
活跃值: 活跃值 (95)
能力值: ( LV12,RANK:330 )
在线值:
发帖
回帖
粉丝
AJISky 活跃值 7 2019-3-14 14:35
12
0
收藏再说,顺便问个问题,带参数(参数类型不定有内存地址,有常量的)的function如何fuzz?参数准备感觉都不容易吧
雪    币: 3268
活跃值: 活跃值 (455)
能力值: ( LV9,RANK:260 )
在线值:
发帖
回帖
粉丝
fyb波 活跃值 1 2019-3-14 16:44
13
0
比如 libfuzzer 那样,写个 函数 自己 生成参数 ,然后 变异 fuzz 可以么?
雪    币: 17
活跃值: 活跃值 (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
小熊ppt 活跃值 2019-3-17 17:20
14
0
马,学习中
雪    币: 3268
活跃值: 活跃值 (455)
能力值: ( LV9,RANK:260 )
在线值:
发帖
回帖
粉丝
fyb波 活跃值 1 2019-3-19 22:20
15
0
文章更新了一下,提到的那两本电子书 链接,如果有侵犯版权的话,我就删掉
最后于 2019-3-19 22:20 被fyb波编辑 ,原因:
雪    币: 6988
活跃值: 活跃值 (5628)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
pureGavin 活跃值 2 2019-3-25 20:55
16
0
mark,楼主辛苦了
雪    币:
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
zoniony 活跃值 2019-3-26 07:31
17
0
感谢整理
雪    币: 688
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
maomaolk 活跃值 2019-4-3 14:39
18
0
mark
雪    币: 28
活跃值: 活跃值 (126)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
Concord 活跃值 2019-4-7 15:07
19
0
mark
雪    币: 1246
活跃值: 活跃值 (73)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
weishi 活跃值 2019-4-9 15:29
20
0
mark,前路漫漫,感谢分享
雪    币: 260
活跃值: 活跃值 (49)
能力值: ( LV7,RANK:111 )
在线值:
发帖
回帖
粉丝
ReeHeiHei 活跃值 1 2019-4-23 15:12
21
0
maek,感谢分享
雪    币: 1829
活跃值: 活跃值 (182)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
音货得福 活跃值 1 2019-4-23 18:10
22
0
好文, 感谢
雪    币: 5165
活跃值: 活跃值 (275)
能力值: ( LV4,RANK:45 )
在线值:
发帖
回帖
粉丝
从黎明到衰落 活跃值 1 2019-5-7 16:11
23
0
Mark,感谢分享
雪    币: 321
活跃值: 活跃值 (11)
能力值: ( LV2,RANK:150 )
在线值:
发帖
回帖
粉丝
cmdhz 活跃值 3 2019-7-4 21:05
24
0
感谢整理分享
雪    币: 30
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
GoLwhy 活跃值 2019-7-26 18:19
25
0
感谢,最近也在研究fuzz,有兴趣交流一下吗
游客
登录 | 注册 方可回帖