您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[腾讯]:AI驱动二进制安全-从静态到动态的探索 - 发现报告

AI驱动二进制安全-从静态到动态的探索

2025-12-10腾讯陈***
AI智能总结
查看更多
AI驱动二进制安全-从静态到动态的探索

演讲人周小贺 About me kunlun 专注车联网、物联网、AI与浏览器等前沿场景的安全攻防研究,在漏洞挖掘方面拥有大量实战经验。长期聚焦构建AI时代的安全新范式,致力于漏洞挖掘与攻防对抗的智能化。 拥有丰富的车联网、Ai安全竞赛经验,在多场国家级、省级以及知名平台竞赛中得到前三。 在国内赏金平台提交物联网、车联网赏金漏洞超六位数。 传统困境与AI契机PART01 目录 从工具链到智能体PART02 PART03二进制智能体的探索 PART04AI驱动安全的新范式 传统困境与AI契机PART 01 传统安全分析的困境 二进制安全分析面临的系统性挑战 核心痛点 门槛较高 重复劳动 •多架构:x86/ARM/MIPS•多格式:ELF/PE/Mach-O•10+种保护机制•培养周期:2-3年•人工逆向:500行/小时 •78%时间做机械工作•反编译阅读:35%•格式解析:25%•环境配置:18%•创造性分析:仅22% 转化率:0.05%人力:3专家×30天周期:平均45天 效率低下 •单CVE分析:72小时•复杂样本:2-3周•静态误报率:60-80%•Fuzzing盲目性:99%无效•0day响应:7-14天 漏洞挖掘的"不可能三角" AI带来的范式转变 从断裂的工具管道到连续的认知闭环 AI的三大核心能力 跨域推理(Cross-Domain Reasoning)关联静态特征与动态行为,例如判断“strcpy调用+网络输入=潜在溢出风险”。 语义抽象(Semantic Abstraction)将汇编代码映射到高层意图,例如识别“CRC32校验”而非简单的循环与异或操作。 从已知漏洞中提取通用规律,并通过迁移学习将这些规律应用于新样本分析。 Claude 4等主流LLM在汇编语义理解任务上达到78%准确率,能力不逊于大部分安全工程师 技术演进路径 真实案例:格式化字符串漏洞分析 传统模式(2小时) 1.IDA找printf调用(20分钟)2 .人工记录地址3.切换GDB,手工下断点(50分钟)4 .切换终端写ex p lo i t (50分钟) 总计:12步操作,4次工具切换,3次人工判断 A I模式(18分钟) 1.静态识别printf +污点追踪(3分钟)2 .动态验证+参数提取(8分钟)3.生成exploit +测试验证(7分钟) 总计:5个R eA c t循环,0次人工干预 小结 AI会取代我吗 "AI不是银弹,而是攻克'重复劳动'和'知识壁垒'的最优解" 它将二进制安全从'手工艺'推向'工程化',从'精英游戏'推向'规模化生产' 3年→1年 10x 漏洞产出提升 时间效率提升从平均2-3天缩短至数小时 人力门槛降低1年经验+AI辅助≈ 3年经验专家 从工具链到智能体PART 02 认知引擎 从Agent到CognitiveEngine 传统:Agent = LLM + Tools + Memory升级:CognitiveEngine = LLM + Tools + Memory + Learning + Validator 推理层(Reasoning)采用通用模型 记忆层(Context)向量数据库+图数据库双存储架构 执行层(Execution)不是简单的工具编排,而是智能化发散 学习层(Evolution)强化学习驱动的策略优化与案例库积累 验证层(Truth)多路径交叉验证,消除AI幻觉 深度耦合的认知回路:推理层产生假设,执行层调用工具验证,记忆层积累上下文,学习层优化策略,验证层确保准确性。数据在层间持续流动、迭代优化,形成自我进化的闭环系统。 架构全景图 用户层 Web UI反馈回路1:人机协同修正 编排层Task Planner → ReAct-ML Engine → Strategy Selector反馈回路2:策略自适应调整 能力层静态分析(IDA/Ghidra) +动态调试(GDB/QEMU) +智能Fuzzing(AFL++/LibFuzzer) +知识图谱反馈回路3:工具结果验证 环境层Docker Swarm集群+ GPU加速预设环境、自安装完善 关键技术特性 增量缓存相同二进制的静态分析结果可复用自我学习,举一反三 弹性调度根据任务复杂度动态分配计算资源根据任务种类选择智能体以及镜像、工具 故障隔离每个分析任务运行在独立容器单任务崩溃不影响全局稳定性 ReAct-ML模式 传统ReAct的局限 Think → Act → Observe (单次循环,无记忆,无学习能力) ReAct-ML的五个增强 02 03 Multi-Path Observe Memory-Augmented Think Plan-Driven Act 短期记忆维持当前任务上下文(函数调用图、数据流),长期记忆通过向量检索调取历史类似案例。采用子agent架构,每个agent拥有独立记忆,处理复杂任务时,子agent会和主agent共享上下文。04 先生成3-5步计划,每步执行前评估成本(Token消耗、时间)。如果第2步发现计划有误,立即重新规划,避免盲目执行。 对关键判断同时启动3条并行验证路径。判断整数溢出时:路径1静态分析算数表达式,路径2符号执行求解边界值,路径3动态插桩观察实际值。确保任务准确性。 05 Meta-Reflection Reinforcement Learn 每完成5个任务触发元反思:"我的策略选择是否最优?"分析成功率、平均耗时、资源消耗,自动生成优化建议。 从历史经验中学习并总结。AI学会从"偏好符号执行"进化到"优先Fuzzing+约束求解组合"。 ReAct-ML效果验证 在自建vulnerable测试集上的对比实验 分层感知网络:动态调焦 动态调焦机制 初始状态AI看到L0全局视图→发现可疑点自动zoom in到L2查看函数细节→需要精确分析时进一步zoom in到L3查看汇编→分析完毕zoom out回到L0保持全局感知。技术实现:伪图数据库(抽象成图数据库)存储调用关系,向量数据库存储语义相似度,动态Prompt构建根据当前焦点层级实时生成不同详细度的上下文。 40%上下文相关性通过人工评估提升 2.3xToken利用率每Token信息熵提升 20MB可处理规模从2MB提升到20MB 工具语义映射层:语义转换与增强 解决方案:智能适配层 技术优势 双路径架构:开源vs闭源 开源路径 闭源路径 输入:有源码的软件 流程: 流程: 1.智能反汇编(IDA/Ghidra + AI注释)2.二进制级污点分析3.基于语义的变异(保持协议合法性)4.Emulation-based fuzzing(QEMU/Unicorn) 1.智能编译(auto-fix Makefile,注入sanitizer)2.源码级污点分析(Clang Static Analyzer)3.基于AST的变异(保持语法合法性)4.Coverage-guided fuzzing(源码插桩) 统一之处:无论哪条路径,最终都会汇入同一个ReAct-ML循环。两条路径共享核心引擎,确保一致的分析质量。 智能编译:开源路径思路 痛点:开源项目编译环境千奇百怪 依赖缺失、版本冲突、自定义构建脚本,传统方案需要人工读README反复试错。 依赖修复 环境探测 发现缺失自动生成安装脚本,版本冲突建议降级或compat层,自定义脚本AI理解逻辑生成等价脚本 AI读取CMakeLists.txt、Makefile,识别依赖并检测系统,映射到对应包管理器的包名 插桩注入 验证测试 编译成功后运行自带测试套件,确认插桩未破坏功能,输出可直接用于Fuzzing的二进制 自适应模拟执行:闭源路径亮点 传统模拟执行的困境 静态感知:多维因果推断 传统污点分析是线性的:从Source到Sink画一条线。但真实代码不是线性的,是复杂的网络。我们构建了因果推断图——一个多源多汇的网络。关键特性 多路径分析 AI能同时追踪多个污点源的传播。识别污点合流点:"两个不可信输入混合后,风险更高" 条件敏感 传统工具看到if (len > 1024) return; strcpy(...)就放心了。AI会深入思考:"len来自用户输入,攻击者可以发送len<=1024的恶意数据,条件可以被绕过" 净化点识别 AI识别污点被"净化"的点。代码调用了sanitize_input(),污点应该消失。但AI不会盲目信任,会去验证这个sanitize函数是否真的安全 反事实推理 "如果我移除这个检查,污点能传播到哪里?"用于发现防御的薄弱点 价值:减少误报(识别被净化的污点)、发现深层漏洞(多污点合流的复杂场景)、可解释性(生成人类可读的污点传播报告) 动态增强:协议感知的种子生成 Fuzzing的第一步是种子生成。随机字节99.9%都是无效的,因为现代协议都有复杂的格式校验。我们让AI去学习协议。 AI阅读三种材料 三层生成策略 70%合法种子完全符合协议,用于建立覆盖率基线(HTTP请求、JSON对象、PNG文件头)20%边界种子合法但极端:空字符串、巨大数值、特殊字符(Content-Length: 0, 2^31-1,-1)10%畸形种子故意破坏一个字段,测试错误处理(HTTP版本写成"HTTP/9.9"、JSON缺少右括号) •协议RFC文档(如果有)•代码中的解析逻辑•网络抓包样本(如果提供) AI推断 •消息格式(字段类型、长度、顺序)•校验算法(CRC、魔数、长度字段)•状态机(必须先发HELLO再发DATA) 动态增强:进化式变异策略 传统Fuzzing的变异是盲目的:随机翻转几个比特、插入几个字节。已经逐渐无法适应现代安全,我们结合遗传算法和AI的语义理解设计了进化式变异。 保结构变异(60%)识别消息的结构(JSON的Key-Value、HTTP的Header-Body),只变异值不变异结构。{"user": "admin"} →{"user": "admin' OR '1'='1"} 适应度函数(遗传算法核心) fitness = (新覆盖率×10) + (执行深度×5) + (接近崩溃×20)接近崩溃的判断:触发ASAN警告但未崩溃+5分,执行时间异常(>平均值10倍) +3分,内存使用激增+3分效果对比(5个开源项目) 2.8x崩溃发现速度相比传统方法 0.3%传统AFL变异平均有效变异率 4.7%进化式变异平均有效变异率(9倍提升) 实战全景:三阶段完整流程 阶段3:智能Fuzzing 阶段1:静态分析 AFL++ •危险函数识别•风险评分•污点追踪•因果图构建 •针对高危点动态验证•断点分析•约束条件提取输出:可达性确认+约束方程 二进制智能体的探索PART 03 UI/基本功能设计 登录页面 UI/基本功能设计 UI/基本功能设计 登录页面 UI/基本功能设计 登录页面 UI/基本功能设计 登录页面 UI/基本功能设计 登录页面 UI/基本功能设计 登录页面 案例:pwn 大部分基础堆、栈题都能应付,难度较高的题目仍需人工辅助 案例:pwn 大部分基础堆、栈题都能应付,难度较高的题目仍需人工辅助 案例:pwn 大部分基础堆、栈题都能应付,难度较高的题目仍需人工辅助 案例:pwn 大部分基础堆、栈题都能应付,难度较高的题目仍需人工辅助 案例:pwn 大部分基础堆、栈题都能应付,难度较高的题目仍需人工辅助 案例:pwn 大部分基础堆、栈题都能应付,难度较高的题目仍需人工辅助 案例:pwn 大部分基础堆、栈题都能应付,难度较高的题目仍需人工辅助 Challenge-vulnerab