基于大模型的业务逻辑漏洞检测方法及介质与流程
本申请涉及网络安全,尤其涉及web应用安全中的访问控制漏洞检测,特别地涉及一种基于大模型的业务逻辑漏洞检测方法、设备、系统、介质及产品。
背景技术:
1、业务逻辑漏洞是一种常见的web应用程序安全风险,其本质在于应用程序在处理用户请求时未能对业务操作的有效性、合法性或所有权进行充分的校验,导致攻击者可以通过操纵请求参数、绕过业务流转步骤或滥用正常功能来实现非授权的数据访问或操作。在企业级应用中,业务逻辑漏洞往往直接导致敏感数据泄露、用户隐私侵犯乃至财产损失,已成为高危风险类型。随着企业数字化转型的推进,业务系统承载的用户数据和交易规模急剧增长,业务逻辑检测的准确性与覆盖率直接关系到企业的合规运营与用户信任度,因此,开发高效、智能的业务逻辑检测方案具有重要的现实意义。
2、相关技术中,传统的业务逻辑检测技术主要依赖于静态应用程序安全测试(static application security testing, sast)工具和人工渗透测试。其中,sast工具通常基于正则表达式匹配或抽象语法树(abstract syntax tree,ast)的规则引擎,通过预设的漏洞模式库对源代码进行扫描,试图发现潜在的业务逻辑缺陷。然而,这种规则驱动本质上是对代码结构的机械匹配,无法理解代码背后所承载的业务逻辑语义。另一方面,人工渗透测试虽然能够借助测试人员的经验对业务逻辑进行一定程度的推理,但其效率低下、成本高昂,且受限于测试人员的主观认知边界,难以覆盖所有可能的业务分支和异常路径。尤其是在面对复杂的业务流转、深层嵌套的权限校验或非显式的关联校验时,传统的手工测试方法更是力不从心。
3、综上所述,相关技术中业务逻辑检测方案的准确性、覆盖率和自动化程度均难以满足实际需求。因此,如何提高业务逻辑漏洞检测的准确性和覆盖率,是本领域亟待解决的问题。
技术实现思路
1、有鉴于此,本申请实施例提供一种基于大模型的业务逻辑漏洞检测方法、设备、系统、介质及产品,能够解决上述至少一种技术问题。
2、第一方面,本申请实施例提供一种基于大模型的业务逻辑漏洞检测方法,该方法包括:通过对目标应用程序的源代码文件进行静态分析提取api路由路径,并从api路由路径中筛选出待检测的高风险接口;针对每个高风险接口,通过递归追踪方法调用链路,提取与高风险接口对应的controller层、service层和dao层的代码片段,构建完整的业务逻辑代码上下文;将业务逻辑代码上下文输入至大语言模型,并利用预配置的安全审计提示词引导大语言模型对业务逻辑代码上下文进行鉴权逻辑分析,输出判定结果,其中,判定结果包括存在漏洞、不存在漏洞或存在缺失函数;当判定结果为存在缺失函数时,自动定位缺失函数的代码位置,提取缺失函数的完整代码作为补充上下文,并将补充上下文与业务逻辑代码上下文共同输入至大语言模型再次进行鉴权逻辑分析,直至大语言模型输出存在漏洞或不存在漏洞的确定性判定结果;根据确定性判定结果生成包含漏洞类型字段、风险等级字段和修复建议字段的结构化检测结果。
3、第二方面,本申请实施例提供一种基于大模型的业务逻辑漏洞检测装置,该系统包括:筛选模块,用于通过对目标应用程序的源代码文件进行静态分析提取api路由路径,并从api路由路径中筛选出待检测的高风险接口;构建模块,用于针对每个高风险接口,通过递归追踪方法调用链路,提取与高风险接口对应的controller层、service层和dao层的代码片段,构建完整的业务逻辑代码上下文;鉴权分析模块,用于将业务逻辑代码上下文输入至大语言模型,并利用预配置的安全审计提示词引导大语言模型对业务逻辑代码上下文进行鉴权逻辑分析,输出判定结果,其中,判定结果包括存在漏洞、不存在漏洞或存在缺失函数;鉴权分析模块,还用于当判定结果为存在缺失函数时,自动定位缺失函数的代码位置,提取缺失函数的完整代码作为补充上下文,并将补充上下文与业务逻辑代码上下文共同输入至大语言模型再次进行鉴权逻辑分析,直至大语言模型输出存在漏洞或不存在漏洞的确定性判定结果;生成模块,用于根据确定性判定结果生成包含漏洞类型字段、风险等级字段和修复建议字段的结构化检测结果。
4、第三方面,本申请实施例提供一种电子设备,包括:处理器以及存储有计算机程序指令的存储器;处理器执行计算机程序指令时实现如第一方面的基于大模型的业务逻辑漏洞检测方法的步骤。
5、第四方面,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现如第一方面的基于大模型的业务逻辑漏洞检测方法的步骤。
6、第五方面,本申请实施例提供了一种计算机程序产品,所述计算机程序产品被存储在非易失的存储介质中,所述计算机程序产品被处理器执行时实现如第一方面的基于大模型的业务逻辑漏洞检测方法的步骤。
7、第六方面,本申请实施例提供了一种芯片,该芯片包括处理器和通信接口,通信接口和处理器耦合,处理器用于运行程序或指令,实现如第一方面的基于大模型的业务逻辑漏洞检测方法的步骤。
8、本申请提供一种基于大模型的业务逻辑漏洞检测方法、设备、系统、介质及产品,能够在获取到完整的业务逻辑代码上下文的基础上进行语义层面的鉴权逻辑分析,该业务逻辑代码上下文通过递归追踪方法调用链路将controller层、service层和dao层的代码片段按调用关系聚合,避免了无关代码对大语言模型判断的干扰,使得大语言模型能够聚焦于与鉴权逻辑直接相关的代码结构,从而提升了对复杂业务逻辑的理解准确度。同时,当大语言模型在分析过程中发现代码里调用了某个函数去做鉴权/校验,但该函数的完整定义不在当前上下文里,则通过自动定位缺失函数并补充其完整代码后再次输入大语言模型进行迭代分析,使得大语言模型能够在获取完整鉴权相关信息后重新验证,有效改善了因信息不全导致的大语言模型输出不确定性问题,提升漏洞判定的真实性和准确性。由此,能够改善相关技术因无法理解业务逻辑语义而导致的检测准确性不足和覆盖率有限的问题,提升对业务逻辑代码语义的理解能力,从而在对业务逻辑漏洞进行自动化检测的同时提升了检测准确率和覆盖率。
1.一种基于大模型的业务逻辑漏洞检测方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,通过对目标应用程序的源代码文件进行静态分析提取api路由路径,并从api路由路径中筛选出待检测的高风险接口,包括:
3.根据权利要求1所述的方法,其特征在于,通过递归追踪方法调用链路,提取与所述高风险接口对应的controller层、service层和dao层的代码片段,包括:
4.根据权利要求3所述的方法,其特征在于,构建完整的业务逻辑代码上下文,包括:
5.根据权利要求1所述的方法,其特征在于,所述安全审计提示词至少包含以下组成部分:
6.根据权利要求1或5所述的方法,其特征在于,自动定位缺失函数的代码位置,包括:
7.根据权利要求1所述的方法,其特征在于,提取缺失函数的完整代码,包括:
8.根据权利要求1或5所述的方法,其特征在于,将所述补充上下文与所述业务逻辑代码上下文共同输入至大语言模型再次进行鉴权逻辑分析,直至大语言模型输出存在漏洞或不存在漏洞的确定性判定结果,包括:
9.根据权利要求1所述的方法,其特征在于,所述结构化检测结果还包括受影响代码位置字段,其内容包括高风险接口的url路径、controller方法名、缺失函数所在文件路径与行号,以及调用链中各层方法的全限定类名列表。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如权利要求1-9中任一项所述的方法。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com