内生安全思想多维多向度赋能:破解逻辑漏洞 “难发现、难验证、难防御” 困局

发布者:夏于桐发布时间:2026-09-04浏览次数:11

Image

伴随政务、金融与企业数字化业务的高速发展,越权访问、业务逻辑绕过等逻辑漏洞,已成为软件安全领域需要重点应对的现实安全挑战。与内存崩溃类漏洞不同,逻辑漏洞表现为程序能够正常执行,但业务运行结果突破既定安全边界,由此带来难发现、难验证、难防御的核心治理命题。邬江兴院士提出的内生安全理论,依托动态异构冗余构造,借助多执行体差异化运行、交叉验证与动态裁决机制实现对单点失效与未知风险的抑制管控,将这套“架构免疫”思想拓展到通用业务软件领域,为逻辑漏洞治理开辟全新技术路径。

复旦大学大数据研究院陈平团队立足内生安全理论开展系统性研究,为破解逻辑漏洞“三难”治理命题提供新思路。卫今博士后等研究人员构建智能体驱动的自适应漏洞挖掘方法,通过动态感知程序运行状态、定位测试覆盖瓶颈、迭代重构测试策略,提升复杂软件深层漏洞的挖掘效能。在此基础上,团队联合郑州大学宋岳婉童开展跨单位协同研究,将内生安全体系中的动态、异构、冗余、裁决机制融入对象级授权防护,搭建面向软件逻辑漏洞的运行时内生安全防线。两项研究成果先后被国际安全顶刊 IEEE TDSC、Computers & Security 收录。该研究跳出传统安全工具的既有技术范式,从智能体驱动漏洞挖掘、运行时内生防御两大维度开展技术攻关,形成“一攻一防”完整技术闭环,验证了内生安全机制在复杂应用软件场景下的适配能力,推动软件安全建设由传统“事后打补丁”模式,向着主动感知、动态验证、内生免疫的新型安全范式演进。

Image

🧩 现实困境:大模型模糊测试遭遇 “覆盖率平台期”

大模型技术的普及,为自动化漏洞挖掘带来新机遇,也带来新的现实瓶颈。当前行业普遍利用大语言模型自动生成模糊测试适配器Harness,以此降低人工编写测试驱动的高昂成本。但陈平团队在大量实验实践中观察到一个普遍现象:仅仅生成能够编译运行的测试适配器,并不足以实现深度漏洞挖掘。很多模糊测试任务初期代码覆盖率快速上涨,随后便陷入长期停滞,即便不断增加测试算力与迭代次数,也很难触及软件内部的深层代码分支,也就是学术界所说的覆盖率平台期。

团队经过大量程序分析与测试复盘发现,覆盖率停滞的根源,并不单纯是随机变异样本数量不足,而是程序内部客观存在大量阻碍测试推进的Fuzzer Blockers。一部分阻塞来源于输入样本本身,测试驱动已经具备访问目标代码的条件,但随机生成输入很难满足魔法数字、校验规则、复杂文件格式等严苛前置约束;另一部分阻塞则来自测试驱动Harness自身,缺少必要的初始化流程、API 调用时序与运行环境配置,无论输入如何变化,都无法抵达目标执行路径。传统 “生成测试驱动之后便放任盲目变异” 的工作模式,缺少对程序运行状态的感知能力,更无法自主定位、消解这些结构性障碍。

Image

图1  ProteusFuzz 对模糊测试阻塞因素(Fuzzer Blockers)的分类及对应缓解策略

🚀 ProteusFuzz:引入诊断智能体,构建闭环式模糊测试体系

立足这一问题,团队创新性引入诊断智能体,提出ProteusFuzz自适应闭环模糊测试框架,把大模型从单纯的代码生成器升级为测试全流程的动态决策单元。整套系统不再是一套运行逻辑固化的静态工具,而是构建起 “生成—运行—监测—诊断—修复—再运行” 的完整闭环。系统首先解析源代码、文档与调用关系构建程序知识库,生成初始测试驱动投入测试流程;在测试持续运行过程中,覆盖感知诊断智能体实时监控代码覆盖指标,一旦识别覆盖率增长趋于停滞,就自动开展根因研判,区分阻塞来自输入样本还是测试驱动。

Image

图2  ProteusFuzz 自适应智能体驱动的闭环模糊测试框架

如果判定障碍来自输入约束,则调用Seed修复器,结合目标分支前置约束生成满足格式条件的测试样本;若是测试驱动本身存在缺陷,则由Harness修复器补充初始化逻辑、调用时序与环境配置,重构测试驱动。对于逻辑上本身不可达的代码分支,系统会直接排除在优化目标之外,避免片面追求纸面覆盖率。在libpng、libpcap等真实开源库漏洞挖掘案例中,该闭环机制成功破解传统工具难以逾越的路径障碍,触发CVE-2025-64506、CVE-2025-11961等高危漏洞。

📊 实验验证:兼顾漏洞挖掘能力与检测精确率

研究选取20个广泛使用的C/C++开源程序库开展对照实验,在统一算力约束下,ProteusFuzz 相比多款主流基线工具实现16.18%-43.12%不等的分支覆盖率提升;累计识别 4136 项测试阻塞问题,成功化解2222项可修复的结构性障碍。在漏洞挖掘实效上,框架共计发现21个全新软件缺陷,包含2个正式 CVE 编号以及12个零日漏洞未被对比工具独立触发,同时维持85.71%的检测精确率。智能体不会无节制调用大模型资源,仅在监测到覆盖率停滞的客观信号后才启动诊断,实现漏洞发现能力与结果可靠性的兼顾。

Image

图3  ProteusFuzz 在 20 个真实 C/C++ 库上的总体覆盖率与阻塞问题解决结果

从技术演进角度看,ProteusFuzz最重要的贡献,是推动模糊测试从静态工具向具备感知、分析、决策、重构能力的自主测试智能体演进。它不仅能够用于开源组件漏洞挖掘,也为软件供应链安全检测、关键软件上线前自动化质检、大规模漏洞挖掘平台建设,提供了一套可迭代的技术底座。

⚠️ 产业痛点:遗留 Java 系统难以根治对象级越权风险

漏洞挖掘可以尽可能多地找出软件缺陷,但产业现实很难做到把所有漏洞全部清零。大量政务、金融、企业级Java业务系统,即便已经部署登录、角色、接口鉴权,对象直接引用越权(IDOR/BOLA)这类逻辑漏洞依旧频繁爆发。这类漏洞的典型场景十分常见:攻击者使用普通合法账号,仅修改请求中的资源编号,在身份认证完全通过的情况下,就能够读取、篡改其他用户的业务数据。

深究问题本质,其根源并不是系统完全没有鉴权逻辑,而是出现了身份数据的语义断裂。用户身份、租户、角色信息保存在上层Controller、Service业务模块,当向下调用JDBC、MyBatis执行数据库操作时,仅传递订单ID、任务 ID这类资源标识符,数据库访问层丢失了主体归属上下文。上层业务的权限校验一旦出现疏漏、代码bug或者配置错误,底层便没有二次校验屏障。传统修复方式需要大规模修改业务与Mapper代码,对于运行多年的遗留系统而言,改造成本高、业务回滚风险大,很多业务场景下并不具备落地条件。

🛡 IDORacle:下沉校验关口,打造低侵入运行时内生防线

在完成漏洞挖掘技术攻关的基础上,陈平团队联合郑州大学宋岳婉童,将内生安全 “不无条件信任上层逻辑、独立动态裁决” 的核心思想引入业务应用防护,提出IDORacle运行时防护框架。该框架依托Java Agent实现低侵入部署,不需要大规模修改原有业务代码,将安全校验下沉到SQL语句提交数据库之前的边界,构建起对象级权限管控的最后一道防线。系统不再简单判断 “用户是否可以调用接口”,而是每一次数据库访问前重新校验:当前用户,是否有权操作这一条具体的数据对象。

Image

图4  IDORacle对传统Java-SQL执行路径的运行时安全重构:从越权访问到对象级授权裁决

IDORacle分为上下文感知重写、运行时授权裁决两大阶段。在上下文感知重写阶段,系统提取用户身份、租户、角色等可信安全上下文,跨同步请求、异步任务完成链路传递;拦截即将执行的SQL语句,完成语法解析,生成SQL模板指纹,绑定对应的授权策略。进入运行时授权裁决阶段后,框架并不采用简单粗暴统一追加字段条件的处理方式,而是搭建异构授权Guard体系,适配现实业务多种多样的数据归属关系,支持直接字段归属、多表关联推导所有权、租户组成员校验、敏感字段独立权限等多种场景。最终输出放行、动态改写SQL、阻断操作、仅审计留存四类决策,全部操作留存完整审计日志,满足事后溯源需求。

✅ 实测效果:安全防护与生产性能的双向平衡

在RuoYi、XXL-Job、BootDo等真实开源漏洞场景下,框架展现出差异化的防护能力:针对可以改写SQL的场景自动补充归属约束;针对需要业务逻辑判断的场景,执行前置授权断言,拒绝越权操作。实测结果显示,面对构造的全部对象越权攻击场景,IDORacle实现100%攻击阻断且零误报,合法用户访问自有业务数据不受干扰。针对生产环境最关心的性能开销,框架引入模板缓存优化,关闭缓存的最坏场景下单次校验平均耗时0.17ms;开启缓存后平均开销降至 0.017ms,优化幅度达到90%,能够适配高并发业务的运行要求。

Image

图5  IDORacle 在 RuoYi、XXL-Job 与 BootDo 等真实漏洞场景中的运行时防护方式

IDORacle的核心创新,是重构了系统内部的安全信任关系。传统业务系统默认上层业务权限逻辑永远可靠,而该框架在数据库访问底层建立独立裁决链路,形成多层纵深校验。即便上层业务出现未知逻辑缺陷,底层依旧可以拦截越权行为,为大量不便重构代码的政务、金融遗留Java系统,提供了现实可行的加固方案,也为“漏洞发现在线防御审计追踪”一体化应用安全体系开辟新的实现思路。

Image

图6  IDORacle 在真实漏洞场景下的端到端请求延迟对比

💡 理论延伸:内生安全思想向应用软件领域的拓展落地

两项成果一攻一防,构成一套完整的研究逻辑,也为内生安全理论拓展出新的应用疆域。过往内生安全的工程实践,大多集中在网络设备、拟态平台、大模型安全领域,核心思想是不追求打造零缺陷系统,依靠动态异构冗余与交叉裁决,将“未知的未知”风险转化为概率可控事件。陈平团队的研究,把这套思想下沉到通用应用软件层面。

ProteusFuzz承担“主动发现未知风险”的角色,依托智能体闭环机制,主动挖掘潜藏在程序深处的未知缺陷,把未知漏洞转化为可被捕获分析的已知问题;IDORacle承担“运行阶段容忍未知风险”的角色,面对来不及修复、尚未被发现的漏洞,依靠底层独立裁决,约束缺陷带来的安全危害。二者相互配合,共同推动软件安全范式,从漏洞出现之后再修补的被动模式,走向主动感知、动态验证、内生免疫的主动安全范式。

📝 客观审视:技术定位与现实边界

也应当客观看到,两套技术并非万能解药。ProteusFuzz受程序分析能力约束,依旧无法覆盖全部程序路径;IDORacle也需要业务专家配合梳理授权策略模板,它们是传统SDL安全开发体系的重要补充,而不是替代。

站在产业视角,国内大量关键行业软件高度依赖开源组件,同时沉淀了规模庞大的遗留业务系统。底层组件潜藏深层缺陷、存量系统改造阻力巨大,是长期客观存在的现实困境。过去安全防护高度依赖人工挖洞、人工修改代码,而内生安全思路引导下的技术方案,尝试将安全能力内化于系统运行机制之中,依靠架构闭环对抗未知风险,降低对于人力的过度依赖。

🔭 未来展望:值得持续深耕的研究方向

面向未来,该方向依旧留有大量值得深耕的研究空间。对于智能体驱动模糊测试,如何降低知识库构建成本,提升对大型复杂程序的适配能力,推动技术落地大规模供应链检测平台是重要方向;对于运行时授权防护,如何实现授权策略自动推导,适配微服务跨进程复杂链路,仍有待进一步探索。更长远来看,打通漏洞挖掘与运行防御的数据链路,实现漏洞信息自动反哺防护策略,构建“挖掘防护迭代”的完整闭环,将是极具价值的研究路线。

软件逻辑漏洞已经成为数字社会不可忽视的安全威胁。陈平团队立足内生安全原创理论完成工程化验证,针对逻辑漏洞“难发现、难验证、难防御”的行业痛点给出新思路,为复杂应用软件逻辑漏洞治理提供新的技术路径。

Image