一种开源操作系统零日漏洞的预测方法及系统
本技术涉及系统安全,尤其涉及一种开源操作系统零日漏洞的预测方法及系统。
背景技术:
1、现代开源软件供应链的兴起深刻重塑了软件构建范式,降低了开发成本并显著提升了交付效率。然而,这种高度复用也带来了系统性耦合风险:数以百万计的软件包通过错综复杂的依赖关系交织成庞大的拓扑网络,使得单一组件的微小缺陷极易引发全局性的连锁反应(例如heartbleed事件),在此背景下,软件包风险评估已成为保障软件供应链安全的标配手段。
2、现有技术中,主流实践普遍采用基于已知漏洞库(cve/nvd)的静态扫描技术,这些方法主要通过匹配软件物料清单(sbom)中的组件指纹,结合通用漏洞评分系统或openssfscorecard等静态启发式规则进行风险判定,尽管此类技术具有实施门槛低、结果直观的特点,但在面对大规模、动态演化的现代依赖生态时,逐渐暴露出以下局限性:
3、1、幸存者偏差(survivorship bias)与基础比率谬误:现有方法过度依赖历史漏洞披露数据,这无法对那些缺乏维护、虽无cve但极度脆弱的组件进行有效识别。
4、2、缺乏拓扑传播与爆炸半径建模:传统的清单式扫描仅关注漏洞组件,却忽略了依赖边的可达性差异,无法量化风险沿依赖路径传播的条件概率,导致无法区分“直接核心依赖”与“深层未使用的传递依赖”,进而造成严重的误报与风险错配。
5、3、静态回溯性与滞后性:现有评估多为静态快照,仅能对已披露的漏洞进行事后响应(retrospective patching),缺乏对持续集成/持续部署(ci/cd)过程中依赖关系动态演化(temporal dynamics)的建模能力,无法在漏洞爆发前提供前瞻性的风险预警。
技术实现思路
1、本技术提供一种开源操作系统零日漏洞的预测方法及系统,以解决上述技术问题。
2、第一方面,本技术提供一种开源操作系统零日漏洞的预测方法,包括:
3、步骤s100、构建软件依赖拓扑图,包括构建包含节点和边的有向依赖拓扑图,其中节点代表软件包,边代表依赖引用关系;
4、步骤s200、计算节点的内生基础风险概率以及为每条边动态分配传播权重;
5、步骤s300、将内生基础风险概率以及传播权重输入至概率图模型中,采用迭代算法在依赖拓扑图上进行全网风险传播计算,获得稳定的全局风险分布;
6、步骤s400、根据全局风险分布,将软件包划分为不同的风险等级。
7、优选的,步骤s100包括:
8、步骤s110、获取外部数据,外部数据包括漏洞库、维护行为数据以及元数据;
9、步骤s120、解析目标包,提取其依赖项;
10、步骤s130、递归解析依赖项的子依赖,构建出有向依赖拓扑图。
11、优选的,节点
i的内生基础风险概率如下式所示:
12、;
13、;
14、其中,表示可靠性权重,表示直接证据得分,表示间接证据得分,表示节点历史爆发过的cve中cvss的最高值。
15、优选的,直接证据得分如下式所示:
16、;
17、其中,表示幂律放大参数,表示非零微小基线。
18、优选的,间接证据得分如下式所示:
19、
;
20、其中,表示openssf scorecard综合评分,表示scorecard检查项可用覆盖率,表示最低有用性保留系数。
21、优选的,步骤s200中,为每条边动态分配传播权重包括:
22、获取依赖边对应的软件包版本约束、依赖类型及可选依赖标识;
23、根据版本约束确定版本约束修正系数;
24、根据依赖类型确定依赖类型修正系数;
25、根据可选依赖标识确定可选依赖修正系数;
26、将基础概率与版本约束修正系数、依赖类型修正系数及可选依赖修正系数进行组合计算,得到对应依赖边的传播权重,将各依赖边对应的传播权重构建为风险传播矩阵。
27、优选的,传播权重如下式所示:
28、
;
29、其中,表示基础概率,表示版本约束修正系数,表示依赖类型修正系数,表示可选依赖修正系数,表示传播权重上限。
30、优选的,步骤s300包括:
31、步骤s310、将各节点的内生基础风险概率作为节点初始风险值输入概率图模型以及将基于传播权重构建的风险传播矩阵输入概率图模型;
32、步骤s320、基于概率图模型按照预设迭代规则更新各节点风险值,概率图模型配置为马尔可夫网络模型;
33、步骤s330、当相邻两次迭代所得全局风险概率变化量低于预设收敛阈值时,停止迭代,获得稳定的全局风险分布,如下式所示:
34、;
35、其中,表示节点
i的内生基础风险概率,表示节点
i在第
t+1轮迭代后的风险概率,表示节点
i的所有上游依赖节点集合,表示传播权重,表示上游依赖
j在第
t轮迭代中的当前风险概率。
36、优选的,步骤s400还包括根据全局风险分布中软件包对应的风险概率与内生基础风险概率的差值,确定软件包的风险来源为组件自身风险或依赖传播风险。
37、第二方面,本技术提供一种开源操作系统零日漏洞的预测系统,包括:
38、操作系统层;
39、运行于操作系统层上的资源层,资源层包括数值计算与图算法库、漏洞数据库、openssf scorecard数据库、证据融合算法库以及npm软件包注册表;
40、运行于资源层上的应用功能层,包括拓扑构建模块、内生风险计算模块、传播矩阵生成模块、迭代收敛引擎模块以及分级预警模块;拓扑构建模块分别与内生风险计算模块及传播矩阵生成模块进行数据交互;内生风险计算模块和传播矩阵生成模块分别与迭代收敛引擎模块连接;迭代收敛引擎模块与分级预警模块连接,以完成风险传播计算及风险预警
41、本技术的预测方法及系统至少具有如下有益效果:
42、(1)本技术的预测方法通过构建软件依赖拓扑图,并计算软件包的内生基础风险概率及依赖边的传播权重,将节点自身风险与依赖传播风险统一纳入概率图模型进行迭代传播计算,获得全局风险分布,实现了对软件供应链中风险传播过程的动态建模,与现有仅基于历史漏洞数据库进行静态扫描的技术相比,本技术不仅能够量化漏洞在依赖关系中的传播影响范围,而且能够综合评估软件包自身风险与依赖传播风险的共同作用,识别无历史漏洞记录但具有较高传播风险的软件包,从而提高零日漏洞预测的准确性和风险预警能力,并降低传统静态评估带来的误报率和风险错配问题。
43、(2)本技术突破了基础比率谬误的限制:本技术不再单纯依赖“是否有历史cve”来判断安全性,而是通过融合维护行为数据与历史数据,识别出那些“暂无cve但极度危险”的组件,有效填补了对零日漏洞预测的空白。
44、(3)本技术实现了拓扑级的精准风险量化:区别于传统的静态清单扫描,本技术引入了轨迹条件化的传播权重和概率图模型(马尔可夫传播机制),能够精准量化“爆炸半径”,区分直接依赖与深层传递依赖的实际威胁差异,大幅降低误报率。
45、(4)本技术提供了可解释的风险归因:本技术通过计算软件包对应的风险概率与内生基础风险概率的差值,能够清晰界定一个包的高风险是源于自身代码质量,还是源于恶劣的上下游环境,为安全人员提供明确的修复指引(修代码还是换依赖)。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com