本发明属于软件开发,尤其涉及基于stride威胁建模的多维威胁分析方法及系统。
背景技术:
1、本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。
2、近年来,随着互联网应用的普及和软件工程的发展,软件系统的功能和结构都愈加复杂,系统面临的威胁也在不断增加;威胁建模作为一种在软件设计初期发现系统结构中潜在风险的技术,已经成为解决软件安全问题的重要手段;业内诸多企业从开发者角度出发,使用stride威胁建模技术进行威胁分析以预防和消除企业系统中的威胁。
3、stride威胁建模是由微软提出的一种威胁建模方法,将威胁类型分为spoofing(仿冒)、tampering(篡改)、repudiation(抵赖)、information disclosure(信息泄漏)、denial of service(拒绝服务)和elevation of privilege(权限提升),是对系统的已知威胁进行分类并采取相应的缓解措施;但是,stride安全威胁模型在应用于数据安全的解决方案时,存在局限性:分类是一维的,经分析只能知道系统可能会面临某类威胁的攻击,但不能确定这类威胁的攻击发生在系统的何处,无法构建完善的安全解决方案。
技术实现思路
1、为克服上述现有技术的不足,本发明提供了基于stride威胁建模的多维威胁分析方法及系统,从多种维度出发分析和解决对于数据安全的威胁。
2、为实现上述目的,本发明的一个或多个实施例提供了如下技术方案:
3、本发明第一方面提供了基于stride威胁建模的多维威胁分析方法。
4、基于stride威胁建模的多维威胁分析方法,对stride威胁建模方法进行改进,增加威胁组件和威胁类型之间的关联关系,从而识别到发生威胁的威胁组件,对威胁组件进行缓解措施,包括:
5、对待分析软件涉及的业务场景进行分解,并标识各个场景中的资产;
6、以资产为数据,为每个场景绘制数据流图,并识别数据流图中的威胁组件;
7、对各威胁组件间的交互数据进行威胁分析,从威胁知识库中确定各威胁组件的威胁类型,建立威胁字典,存储威胁组件和威胁类型之间的关联关系;
8、确定待分析软件存在的威胁类型,进而从威胁字典中查找对应的威胁组件;
9、对于查找到的威胁组件,确定对应的威胁缓解措施。
10、进一步的,所述业务场景的分解,是对待分析软件所涉及的业务进行场景划分;
11、所述资产,是有价值的资源,易被攻击受到威胁的资源,包括保密数据、私有数据和重要数据。
12、进一步的,所述为每个场景绘制数据流图,是对场景进行数据流分析,得到数据流图的四个核心要素:外部实体、进程、数据流、数据存储,从而得到数据流图。
13、进一步的,所述威胁知识库,存储着各种威胁类型和对应的威胁缓解措施。
14、进一步的,所述建立威胁字典,具体为:
15、从客户对业务的需求分析中,识别业务中可能存在的安全威胁,从而确定威胁组件与威胁类型的关联关系;
16、从各组件之间交互中,识别可能存在的潜在安全需求,从而确定威胁组件与威胁类型的关联关系;
17、通过审查代码的方式,根据检查工具发现代码中存在的潜在威胁,从而确定威胁组件与威胁类型的关联关系;
18、根据stride模型的模型规则,确定威胁组件与威胁类型的关联关系。
19、进一步的,所述确定待分析软件存在的威胁类型,采用威胁建模软件threadmodeling tool识别待分析软件存在的威胁类型。
20、进一步的,所述确定对应的威胁缓解措施,是基于威胁知识库中每种威胁类型对应的威胁缓解措施,通过威胁组件对应的威胁类型,确定威胁组件对应的威胁缓解措施。
21、本发明第二方面提供了基于stride威胁建模的多维威胁分析系统。
22、基于stride威胁建模的多维威胁分析系统,基于stride威胁建模方法,增加威胁组件和威胁类型之间的关联关系,从而识别到发生威胁的威胁组件,对威胁组件进行缓解措施,包括以下模块:
23、场景分解模块,被配置为:对待分析软件涉及的业务场景进行分解,并标识各个场景中的资产;
24、组件识别模块,被配置为:以资产为数据,为每个场景绘制数据流图,并识别数据流图中的威胁组件;
25、字典建立模块,被配置为:对各威胁组件间的交互数据进行威胁分析,从威胁知识库中确定各威胁组件的威胁类型,建立威胁字典,存储威胁组件和威胁类型之间的关联关系;
26、威胁分析模块,被配置为:确定待分析软件存在的威胁类型,进而从威胁字典中查找对应的威胁组件;
27、措施确定模块,被配置为:对于查找到的威胁组件,确定对应的威胁缓解措施。
28、本发明第三方面提供了计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现如本发明第一方面所述的基于stride威胁建模的多维威胁分析方法中的步骤。
29、本发明第四方面提供了电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的程序,所述处理器执行所述程序时实现如本发明第一方面所述的基于stride威胁建模的多维威胁分析方法中的步骤。
30、以上一个或多个技术方案存在以下有益效果:
31、1)发现威胁全面性
32、本发明通过多个维度将威胁与组件相关联,构建威胁与组件对应关系的字典,通过键值威胁的名称定位威胁发生的相关组件,同时支持评估维度的扩充。
33、2)发现威胁的即时性,提高软件开发的工作效率
34、新威胁的扩充只需要添加新的键值及对应的组件,无需重新构建字典,显著提高了发现威胁的即时性。
35、本发明附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
1.基于stride威胁建模的多维威胁分析方法,其特征在于,对stride威胁建模方法进行改进,增加威胁组件和威胁类型之间的关联关系,从而识别到发生威胁的威胁组件,对威胁组件进行缓解措施,包括:
2.如权利要求1所述的基于stride威胁建模的多维威胁分析方法,其特征在于,所述业务场景的分解,是对待分析软件所涉及的业务进行场景划分;
3.如权利要求1所述的基于stride威胁建模的多维威胁分析方法,其特征在于,所述为每个场景绘制数据流图,是对场景进行数据流分析,得到数据流图的四个核心要素:外部实体、进程、数据流、数据存储,从而得到数据流图。
4.如权利要求1所述的基于stride威胁建模的多维威胁分析方法,其特征在于,所述威胁知识库,存储着各种威胁类型和对应的威胁缓解措施。
5.如权利要求1所述的基于stride威胁建模的多维威胁分析方法,其特征在于,所述建立威胁字典,具体为:
6.如权利要求1所述的基于stride威胁建模的多维威胁分析方法,其特征在于,所述确定待分析软件存在的威胁类型,采用威胁建模软件thread modeling tool识别待分析软件存在的威胁类型。
7.如权利要求1所述的基于stride威胁建模的多维威胁分析方法,其特征在于,所述确定对应的威胁缓解措施,是基于威胁知识库中每种威胁类型对应的威胁缓解措施,通过威胁组件对应的威胁类型,确定威胁组件对应的威胁缓解措施。
8.基于stride威胁建模的多维威胁分析系统,其特征在于,基于stride威胁建模方法,增加威胁组件和威胁类型之间的关联关系,从而识别到发生威胁的威胁组件,对威胁组件进行缓解措施,包括以下模块:
9.一种电子设备,其特征是,包括:
10.一种存储介质,其特征是,非暂时性地存储计算机可读指令,其中,当所述计算机可读指令由计算机执行时,执行权利要求1-7任一项所述的方法。