论文阅读-IDFUZZ: Intelligent Directed Grey-box Fuzzing

一.局限:

现有方法将到目标的距离衡量输入与目标代码的远近,存在大量无效变异,不一定能到目标分支。

二.创新点:

建立了一个新导航,它不再只是告诉距离目标的距离多少,而是一个智能导航
1.准备阶段:分支编码提供"地图",明确当前位置和下一步方向:
dom_bbs[i] :由静态分析获取 target_dominance_analysis()
output_vector = [0, 0, 0, 0, 0]
output_vector = [1, 1, 0.625, 0, 0] A类
用二进制记录你走了哪条岔路:比如走了第1条和第3条 → 二进制101 → 转成0~1之间的小数(5/8=0.625)
2.准备数据集:收集历史模糊测试输入,识别哪些操作能靠近目标, 自适应数据集让探测更灵敏,只关注有效信号:
·模糊测试会生成海量输入,但大部分是"无效经验"(比如总是卡在在第一个)。
·精选数据:只保留接近目标的输入(覆盖较多dom-BBs的输入),剔除重复路径的输入(100条都卡在同一个块的记录,选1条代表性的)。
·最终得到一个小而精的数据集(约1000条记录),避免模型学坏。
3.梯度过滤与聚类精准定位关键字段,避免无效挖掘:
通过将输入输入训练好的模型得到输出,我们可以得到下面的雅各比矩阵,每个梯度代表第 n个输入字节对第 m 个分支编码dom-BB覆盖状态的影响程度,越大影响越大。

1)计算输入字节对某个覆盖状态的"敏感度"-梯度
2)梯度过滤:避免误判敏感字节
对比不同梯度向量,只保留那些在当前分支敏感度高,但在其他分支敏感度低"的字节
3)单个字节不够,多个字节共同作用
把位置相邻、敏感度都很高的字节聚成"关键区域"

三.建模:

|-------------|-------------|-----------------------|
| 静态分析 | 看懂程序结构 | 编译 Pass、生成 .bc、画调用图 |
| 路径建模 | 找出通往目标的必经之路 | 提取支配函数、生成支配图 |
| 动态 fuzz | 不断尝试输入 | 启动 AFL,收集覆盖率 |
| 智能引导 | 让 fuzz 更聪明 | 神经网络实时反馈,指导变异 |

相关推荐
介一安全5 小时前
【Frida Android】基础篇8:Java层Hook基础——调用带对象参数的方法
android·网络安全·逆向·安全性测试·frida
emma羊羊7 小时前
【SSRF漏洞】Server-Side Request Forgery 服务器端请求伪造
网络安全·pikachu·ssrf
介一安全9 小时前
【Frida Android】基础篇4:Java层Hook基础——调用静态方法
android·网络安全·逆向·安全性测试·frida
火白学安全12 小时前
《Python红队攻防脚本零基础编写:入门篇(一)》
python·安全·web安全·网络安全·系统安全
闲看云起1 天前
Bert:从“读不懂上下文”的AI,到真正理解语言
论文阅读·人工智能·深度学习·语言模型·自然语言处理·bert
介一安全1 天前
【Frida Android】基础篇6:Java层Hook基础——创建类实例、方法重载、搜索运行时实例
android·java·网络安全·逆向·安全性测试·frida
xixixi777771 天前
云计算平台的技术安全需求主要分为“端-管-云”三个部分
网络安全·云端·管道·终端安全·客户端安全
贝塔实验室1 天前
QPSK信号载波同步技术---极性Costas 法载波同步
计算机网络·算法·网络安全·数学建模·信息与通信·信号处理·傅立叶分析
闲看云起1 天前
论文阅读《LIMA:Less Is More for Alignment》
论文阅读·人工智能·语言模型·自然语言处理