云计算时代软件开发变革与逻辑漏洞挖掘分析技术面临的挑战

2024-12-24
来源:网络整理

【摘要】随着云计算等新一代信息技术的快速发展,软件开发正在发生深刻的变革。程序从单一应用向大型分布式系统演进,代码和业务逻辑漏洞有着复杂的成因和外在表现。它已经变得更加占据主导地位,并通过供应链影响了大量下游云平台相关的软件组件。然而,现有的漏洞挖掘方法大多是针对特定的编程语言特性而设计的,同时关注基本语法和语义信息。他们缺乏对程序和业务语言无关的逻辑链特性的深刻理解,与逻辑漏洞生成机制之间存在矛盾。限制逻辑漏洞挖掘和分析的水平。因此,现有的逻辑漏洞挖掘和分析技术主要面临以下困难: 1)逻辑漏洞的建模和分析能力不足,即无法支持复杂逻辑漏洞的建模和分析; 2)逻辑漏洞挖掘利用能力不足。也就是说,逻辑漏洞无法被有效挖掘和利用。针对上述困境,本文从逻辑漏洞分析和挖掘两个方面进行研究。针对第一个困境,研究了逻辑漏洞的语言无关特性的分析方法。针对第二个困境,研究了云平台通用组件的代码层逻辑漏洞和业务层逻辑漏洞。 ,应用层逻辑漏洞的挖掘方法。具体研究内容和成果包括: 1、与语言无关的逻辑漏洞特征提取与表示技术。针对现有漏洞分析方法难以提取和表征逻辑漏洞的语言无关性原因和本质的问题,本章首先分析了逻辑漏洞的语言无关性。特征,分析代码和业务逻辑漏洞的代码层原因,探究此类特征的逻辑本质;进一步从垂直代码层次结构和水平编程语句属性两个角度实现与语言无关的特征提取,并使用图数据库进行表征。支持快速漏洞复现分析和漏洞模型构建。

支付逻辑漏洞_逻辑漏洞之支付漏洞_逻辑漏洞挖掘

实验证明,该技术可以提取和表征逻辑漏洞的语言无关特征,支持各种逻辑漏洞的快速复现、验证和分析,包括:代码逻辑漏洞,如拒绝服务算法逻辑漏洞;业务逻辑漏洞,如条件竞态逻辑漏洞等。这部分的研究内容可以有效支持逻辑漏洞的递归分析,支持后续逻辑漏洞挖掘模型的建立,最终支持多个CVE漏洞的挖掘。 2、基于静态程序逻辑理解的代码层逻辑漏洞挖掘。针对目前云平台代码层通用组件逻辑漏洞挖掘方法,存在难以从漏洞成因本质出发挖掘漏洞、随机性强、效果差等问题。首先,基于上述逻辑提出的漏洞语言无关特征的提取和表征方法,总结代码级算法逻辑编辑漏洞的发生模式;进一步,以一些典型的漏洞类型为例,提出了一种基于程序逻辑结构和安全策略违规的逻辑漏洞挖掘新模型;最后,结合具体的编程语言,实例化漏洞语言无关的特征模型,实例化漏洞语言无关的特征模型。挖掘特定编程语言中出现的特定类型的代码逻辑漏洞。实验证明,本文提出的漏洞挖掘方法能够更加高效、准确地挖掘代码级算法逻辑漏洞。实验发现数十个未公开的逻辑漏洞,并申请了8个CVE漏洞号。 3、基于动态程序逻辑推导的业务层逻辑漏洞挖掘。针对目前云平台业务层通用组件逻辑漏洞挖掘方法测试深度不足、测试效果不佳的问题,首先基于公开的业务逻辑描述信息进行静态分析。将业务层的逻辑特征划分为测试组。每个测试组都与潜在的漏洞相关联,创建逻辑漏洞测试模型;然后分析业务层设计与实现不一致的逻辑缺陷,缓解动态测试深度不够等问题,提高测试的深度和覆盖率;最后构建实例化的逻辑漏洞测试样本序列,实现目标业务的逻辑漏洞测试,并基于状态机稀疏匹配算法检测逻辑漏洞。

实验证明,本文提出的基于动态程序逻辑推演的漏洞挖掘方法可以深度测试程序业务逻辑,有效提高测试覆盖的深度和广度,最终挖掘出知名开源公众中多个未公开的业务逻辑漏洞云平台。 4、基于程序运行时逻辑特征的应用层逻辑漏洞挖掘。鉴于目前云平台应用层通用组件逻辑漏洞挖掘方法,很难发现隐藏在数据背后的代码执行后门漏洞。本文首先针对此类应用的后门逻辑漏洞。评估植入方法并分析当今应用层的常见组件,特别是机器学习预训练模型面临的逻辑漏洞植入风险;进一步提出了针对此类应用的动态执行特性的非侵入式获取方法,获取部署应用层组件时的关键调用逻辑特性。进一步在获得的信息基础上构建函数调用栈树形结构,提出一种异常调用逻辑的检测方法。实验证明,本文提出的非侵入式执行信息获取方法能够在加载应用程序时更高效地获取更多关键逻辑特征。所提出的逻辑漏洞检测方法可以检测应用层常见组件的漏洞,最终发现真实网络环境中的十几种攻击。

分享