CN115291836A - 一种基于stride方法的威胁建模自动化识别系统和方法 - Google Patents
一种基于stride方法的威胁建模自动化识别系统和方法 Download PDFInfo
- Publication number
- CN115291836A CN115291836A CN202210905267.XA CN202210905267A CN115291836A CN 115291836 A CN115291836 A CN 115291836A CN 202210905267 A CN202210905267 A CN 202210905267A CN 115291836 A CN115291836 A CN 115291836A
- Authority
- CN
- China
- Prior art keywords
- threat
- data flow
- flow graph
- type
- rule
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 63
- 230000003993 interaction Effects 0.000 claims abstract description 58
- 238000006243 chemical reaction Methods 0.000 claims description 14
- 238000004458 analytical method Methods 0.000 claims description 13
- 238000012545 processing Methods 0.000 claims description 13
- 238000012216 screening Methods 0.000 claims description 13
- 238000010586 diagram Methods 0.000 claims description 11
- 238000012552 review Methods 0.000 claims description 9
- 230000002452 interceptive effect Effects 0.000 claims description 7
- 238000010276 construction Methods 0.000 claims description 6
- 238000002372 labelling Methods 0.000 claims description 6
- 238000012795 verification Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 abstract description 8
- 230000009471 action Effects 0.000 description 5
- 238000013461 design Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000001066 destructive effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000000246 remedial effect Effects 0.000 description 1
- 238000000547 structure data Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/10—Requirements analysis; Specification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Multimedia (AREA)
- Computational Linguistics (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于STRIDE方法的威胁建模自动识别方法和系统,根据数据流图中的组件信息和预先构建的规则模型判断得到威胁列表;对数据流图进行解析和提取,得到威胁识别所需的关键信息;基于STRIDE方法对开源数据进行收集和处理,并提取制定类型规则和交互规则,构建为最终的规则模型。本发明实施例的技术方案,体现了在威胁建模过程中,根据数据流图中的信息,准确识别出其威胁列表,提前了发现威胁,解决威胁的时机,在软件设计初期,有效地保障了软件系统的安全性。
Description
技术领域
本发明涉及软件开发技术领域,具体为一种基于STRIDE方法的威胁建模自动化识别方法和系统。
背景技术
如今,几乎所有软件系统都面临各种威胁,并且随着技术的发展,威胁的数量也在增加。当系统被实际攻击后再进行补救,不仅已经造成了损失,而且往往维护代价巨大。若是能在设计初期,就近可能对威胁进行充分且全面的分析,并制定对应的威胁小件方法,不仅可以指导后续开发和测试阶段的工作,同时可以降低威胁造成的损失,将其扼杀在摇篮中。
而威胁建模是一种结构化方法,用来在设计初期,识别、量化并应对威胁,利用抽象的方法来帮助思考风险。威胁建模允许系统安全人员传达安全漏洞的破坏力,然后定义防范或减轻系统威胁的对策,并按轻重缓急实施补救措施。
目前比较主流的威胁建模方法包括攻击树和STRIDE等方法,不过威胁建模的实践过程还面临着挑战。一方面,威胁建模具有较高的知识门槛,往往此类工作是由具备一定安全领域知识的专家来进行,非安全领域的诸多项目人员难以参与其中;另一方面,当前主流的操作方式为人工进行,这经常要花费安全专家较长的时间完成。如果可以威胁建模中最为核心的威胁识别步骤进行自动化,不仅可以大幅度减少安全专家的工作量,增加项目进展速度,同时还可以方便更大范围内的项目人员参与到威胁建模的工作中来,有助于开发和测试人员更好的理解威胁和消减威胁。
发明内容
本发明的目的在于提供一种基于STRIDE方法的威胁建模自动化识别方法和系统,以解决上述背景技术中提出的问题。
为了解决上述技术问题,本发明提供如下技术方案:一种基于STRIDE方法的威胁建模自动化识别系统,该系统包括输入模块、识别模块、审阅模块和输出模块;
所述输入模块用于将待威胁识别的系统数据流图输入系统;
所述识别模块用于根据预先构建的威胁建模自动识别模型对本次输出的数据流图进行自动识别,得到所有符合模型规则结果,并汇总为本次系统数据流图的威胁列表;
所述审阅模块用于对识别模块产生的威胁列表进行审阅操作,以对识别结果进行校验,校验通过后的威胁将作为最终的威胁列表;
所述输出模块用于将最终的威胁列表进行格式化转换,按具体需要以不同文件格式进行输出保存。
进一步的,所述输入模块包括数据流图检查单元、数据流图解析单元、数据流图格式化单元;
所述数据流图检查单元用于对数据流图的输入进行检查,与预先定义的输入格式进行比较,得到检查结果;
所述数据流图解析单元用于从输入的数据流图中提取组件信息集合,所述组件信息集合包括组件类型信息和组件关联信息;
所述数据流图格式化单元用于将提取的组件信息集合格式化为系统内部的数据结果;
进一步的,所述识别模块包括类型规则判断单元、交互规则判断单元、威胁合并单元;
所述类型规则判断单元用于通过类型规则模型,对数据流图中涉及到类型规则进行判断,形成类型威胁集合;
所述交互规则判断单元用于通过交互规则模型,对数据流图中涉及到交互规则进行判断,形成交互威胁集合;
所述威胁合并单元用于将类型规则集合与交互规则集合进行合并处理,得到威胁列表
进一步的,所述审阅模块包括威胁编辑单元;
所述威胁编辑单元用于对识别生成的威胁列表进行判断,可进行增加新威胁,删除和编辑原有威胁的操作;
进一步的,所述输出模块包括文件转化单元和文件导出单元;
所述文件转化单元用于将威胁列表的数据结构转化为目标文件格式的所需结构;
所述文件导出单元用于根据转化完毕的数据结构,将其保存为目标格式文件。
一种基于STRIDE方法的威胁建模自动化识别方法,该方法的执行步骤如下:
S1:根据输入的数据流图中的组件信息判断得到类型威胁集合;
S2:根据输入的数据流图中的组件信息判断得到交互威胁集合;
S3:根据数据流图的类型威胁集合和交互威胁集合合并处理得到威胁集合。
所述步骤S1,具体为:
S101:对本次识别的数据流图进行格式检查和解析,得到组件信息;
S102:对组件信息进行格式化和提取,获得与类型规则相关的组件信息集合;
S103:将获取的组件信息集合输入类型规则模型中,得到本次数据流图威胁识别的类型威胁集合。
在所述步骤S103中,所述类型规则模型是基于STRIDE方法进行构建的模型,其中构建的步骤如下:
S1031:获取原始威胁信息集合;
S1032:对威胁信息进行数据处理,对重复部分进行合并,并对描述格式进行统一格式转换;
S1033:对处理后的威胁信息,进行STRIDE类型标注,获得STRIDE威胁集合;
S1034:根据顶层组件与STRIDE威胁的潜在对应关系,对组件集合和STRIDE威胁集合进行集合乘机运算,获取潜在顶层类型规则集合;
S1035:对潜在顶层类型规则集合进行筛选,获取顶层类型规则集合;
S1036:将底层组件在顶层类型规则集合中进行替换,得到潜在底层类型规则集合;
S1037:对潜在顶层类型规则集合进行筛选,获取底层类型规则集合;
S1038:将顶层类型规则集合与底层类型规则集合进行合并处理,得到类型规则集合。
所述步骤S2,具体为:
S201:对本次识别的数据流图进行格式检查和解析,得到组件信息;
S202:对组件信息进行格式化和提取,获得与交互规则相关的组件信息集合;
S203:将获取的组件信息集合输入交互规则模型中,得到本次数据流图威胁识别的交互威胁集合。
在所述步骤S203中,所述交互规则模型是基于类型规则模型进行构建的模型,其中构建的步骤如下:
S2031:通过组件之间的潜在数据流关系,对数据流两端组件进行类型规则集合乘积,得到潜在交互规则集合;
S2032:对潜在交互规则集合进行筛选,获取交互规则集合;
与现有技术相比,本发明所达到的有益效果是:
1.本发明通过对软件系统设计中的数据流图内容进行分析,得到数据流图的组件信息集合,之后根据组件信息结合威胁建模自动识别规则模型中的类型规则和交互规则,分别获得类型威胁列表和交互威胁列表,再进行威胁列表合并和审阅,最后得到完整的数据流图威胁列表;实现了在威胁建模的流程中,进行自动化的威胁识别,降低自动识别的工作量,加快威胁建模的速度,同时降低了威胁建模的门槛,非安全领域的项目成员也可以参与进威胁建模当中;
2.将从开源数据源中收集得到的潜在威胁数据进行处理,通过威胁建模筛选,STRIDE威胁标注两个步骤,收集得到威胁库,再对所有威胁进行威胁描述转换与相关链接挂载,增加其可理解性,之后从类型规则和交互规则两个角度对规则进行制定,分别得到规则集合,而由此汇总的得到的威胁建模自动识别模型支持对数据流图的威胁自动识别,能够支持威胁建模的实践。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1是本发明的一种基于STRIDE方法的威胁建模自动化识别方法的流程示意图;
图2是本发明一种基于STRIDE方法的威胁建模自动化识别方法的整体框架图;
图3是本发明的顶层组件与威胁潜在对应关系的示意图;
图4是本发明一种基于STRIDE方法的威胁建模自动化识别方法伪代码表示示意图;
图5是本发明的顶层组件之间潜在数据流的示意图;
图6是本发明实施例中的一种基于STRIDE方法的威胁建模自动化识别系统的架构图;
图7是基于STRIDE方法的威胁建模自动化识别系统整体示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1:请参阅图1,本发明提供技术方案:一种基于STRIDE方法的威胁建模自动化识别系统,该系统包括输入模块、识别模块、审阅模块和输出模块;
所述输入模块用于将待威胁识别的系统数据流图输入系统;
所述数据流图是指由外部交互方、处理过程、数据存储和数据流四类组件构成的有向图,其中外部交互方、处理过程和数据存储在图中承担节点角色,数据流在图中承担边的角色;
所述识别模块用于根据预先构建的威胁建模自动识别模型对本次输出的数据流图进行自动识别,得到所有符合模型规则结果,并汇总为本次系统数据流图的威胁列表;
所述“威胁建模自动识别模型”的中文含义是指一种基于STRIDE方法支持威胁建模自动识别的规则模型,包含类型规则和交互规则;所述STRIDE方法是一种将威胁按照影响后果分为六类的方法,具体六类分别为仿冒,篡改,抵赖,信息泄露,拒绝服务和特权提升;所述威胁建模是指一种在设计初期对软件系统可能面临的威胁进行分析和制订消减措施的结构化方法;所述自动识别是指在威胁建模步骤中的威胁识别步骤,采用自动化的方式替代人工分析;所述类型规则是指该规则进行逻辑判断时,主要依托于威胁和组件类型之间的对应关系;所述交互规则是指该规则进行逻辑判断是,主要依托于威胁和组件交互即数据流之间的对应关系;
所述审阅模块用于对识别模块产生的威胁列表进行审阅操作,以对识别结果进行校验,校验通过后的威胁将作为最终的威胁列表;
所述输出模块用于将最终的威胁列表进行格式化转换,按具体需要以不同文件格式进行输出保存。
进一步的,所述输入模块包括数据流图检查单元、数据流图解析单元、数据流图格式化单元;
所述数据流图检查单元用于对数据流图的输入进行检查,与预先定义的输入格式进行比较,得到检查结果;
所述数据流图的输入为数据流图的数据结构数据,本系统默认传入为邻接表形式记录的图数据;所述预先定义的输入格式指预置在系统中,针对邻接表的具体组织形式的格式化限制;所述检查结果是指将输入的数据流图数据与预置的格式化限制进行比对的结果,其体现了输入数据是否满足了预置的格式化限制;
所述数据流图解析单元用于从输入的数据流图中提取组件信息集合,所述组件信息集合包括组件类型信息和组件关联信息;
所述组件类型信息指组件类型这一属性值;组件关联信息指数据流组件的源组件和目标组件信息;
所述数据流图格式化单元用于将提取的组件信息集合格式化为系统内部的数据结果;
进一步的,所述识别模块包括类型规则判断单元、交互规则判断单元、威胁合并单元;
所述类型规则判断单元用于通过类型规则模型,对数据流图中涉及到类型规则进行判断,形成类型威胁集合;
所述交互规则判断单元用于通过交互规则模型,对数据流图中涉及到交互规则进行判断,形成交互威胁集合;
所述威胁合并单元用于将类型规则集合与交互规则集合进行合并处理,得到威胁列表
进一步的,所述审阅模块包括威胁编辑单元;
所述威胁编辑单元用于对识别生成的威胁列表进行判断,可进行增加新威胁,删除和编辑原有威胁的操作;
进一步的,所述输出模块包括文件转化单元和文件导出单元;
所述文件转化单元用于将威胁列表的数据结构转化为目标文件格式的所需结构;
所述文件导出单元用于根据转化完毕的数据结构,将其保存为目标格式文件。
实施例2:一种基于STRIDE方法的威胁建模自动化识别方法,该方法的执行步骤如下:
S1:根据输入的数据流图中的组件信息判断得到类型威胁集合;
对数据流图中的组件类型信息逐个进行判断,如果与预先构建完成的类型规则模型中的规则相符,则该条规则关联的威胁将被加入到威胁列表中;反之,则不将该威胁加入到威胁列表中;
S2:根据输入的数据流图中的组件信息判断得到交互威胁集合;
对数据流图中的组件交互信息逐个进行判断,如果与预先构建完成的交互规则模型中的规则相符,则该条规则关联的威胁将被加入到威胁列表中;反之,则不将该威胁加入到威胁列表中;
S3:根据数据流图的类型威胁集合和交互威胁集合合并处理得到威胁集合。
将类型威胁集合与交互威胁集合进行汇总,并以威胁作为关键值进行合并,把与同一威胁关联的组件合并为一个列表,并使该列表与威胁对应保存。
所述步骤S1,具体为:
S101:对本次识别的数据流图进行格式检查和解析,得到组件信息;
在本步骤中,数据流图需要以JSON格式下的邻接表数据结构导入系统,并按照预设的标准格式进行检查。示例性的,假设此时输入了一个缺少数据流的邻接表数据,相对于预设的标准格式,明显缺少信息,因此不符合格式检查,将被提醒修改后重新输入。当通过检查后,将把数据解析初始化为系统内部的组件类对象,组件信息也被转移至组件类中;
S102:对组件信息进行格式化和提取,获得与类型规则相关的组件信息集合;
类型规则相关的组件信息指组件类型和组件属性值两个,后续进行规则判断时,主要需要将这两个值与规则进行对比;
S103:将获取的组件信息集合输入类型规则模型中,得到本次数据流图威胁识别的类型威胁集合;
规则模型对于输入的组件信息集合采取遍历方式进行判断,匹配每个组件的类型和属性值,当组件的类型值和属性值都与一条规则匹配时,将该规则关联的威胁添加入威胁列表之中;
在所述步骤S103中,所述类型规则模型是基于STRIDE方法进行构建的模型,其中构建的步骤如下:
S1031:获取原始威胁信息集合;
该原始威胁信息的收集范围为OWASP Top Ten,微软Threat Modeling Tool和Commen Weakness Enumeration三个开源数据源,将其中的条目涉及到的标题和描述信息进行收集,构建为原始威胁信息集合;
S1032:对威胁信息进行数据处理,对重复部分进行合并,并对描述格式进行统一格式转换;
三个开源数据源的威胁信息存在部分的重叠,对其中重复的部分进行合并剔除,确保无重复数据;再对标题描述的格式进行统一转换,相较于原有的短语式标题,将其同意转化为“由于某某原因,攻击者可以采取某某行为,造成某某后果”的格式,此处“某某原因”被替换为原来的短语式标题,而“某某行为”和“某某后果”将在S1033步骤中进行替换。
S1033:对处理后的威胁信息,进行STRIDE类型标注,获得STRIDE威胁集合;
根据标题和描述对所有威胁信息进行逐个分析,必要时借助源数据相关的信息,如案例代码,攻击示例等,理解威胁可能造成的后果,并将其划分至STRIDE六大类之中,为所有威胁信息进行STRIDE类型标注,得到STRIDE威胁集合。
S1034:根据顶层组件与STRIDE威胁的潜在对应关系,对组件集合和STRIDE威胁集合进行集合乘机运算,获取潜在顶层类型规则集合;
根据图3中展示的顶层组件与STRIDE威胁的潜在对应关系,将威胁集合与组件集合进行集合乘积操作,此操作后将获得各种潜在的类型规则集合。
S1035:对潜在顶层类型规则集合进行筛选,获取顶层类型规则集合;
根据分析组件的常见技术和威胁的具体原因,对组件和威胁的匹配程度进行分析,将其中无法产生关联的规则剔除,筛选得到顶层类型规则集合。
S1036:将底层组件在顶层类型规则集合中进行替换,得到潜在底层类型规则集合;
顶层组件与底层组件之间存在从属关系,当顶层组件类型规则确定后,需要进一步细分,通过将顶层组件替换为下属的底层组件,得到替换后的潜在底层类型规则集合。
S1037:对潜在底层类型规则集合进行筛选,获取底层类型规则集合;
参考S1035步骤中的分析手段,同潜在底层类型规则集合进行筛选,得到底层类型规则集合。
S1038:将顶层类型规则集合与底层类型规则集合进行合并处理,得到类型规则集合。
同一顶层组件下的底层组件,其类型规则之间可能存在重复,对于重复的规则,可以仅保留顶层组件的类型规则,并将其底层组件的类型规则剔除,反之如果无重复,则应从顶层组件中类型规则中剔除。经过合并处理后,最终得到类型规则集合。
所述步骤S2,具体为:
S201:对本次识别的数据流图进行格式检查和解析,得到组件信息;
本步骤与S101相同,具体参考S101;
S202:对组件信息进行格式化和提取,获得与交互规则相关的组件信息集合;
交互规则的判断主要依托于数据流组件的属性信息,除此之外还有其余组件的组件类型和组件属性值两个;
S203:将获取的组件信息集合输入交互规则模型中,得到本次数据流图威胁识别的交互威胁集合。
规则模型对于输入的组件信息集合采取遍历方式进行判断,首先根据数据流的源组件和目标组件两个信息匹配规则,其次匹配每个组件的类型和属性值,当所有值与一条规则匹配时,将该规则关联的威胁添加入威胁列表之中;
在所述步骤S203中,所述交互规则模型是基于类型规则模型进行构建的模型,其中构建的步骤如下:
S2031:获取原始威胁信息集合;
本步骤与S1031相同,具体参考S1031;
S2032:对威胁信息进行数据处理,对重复部分进行合并,并对描述格式进行统一格式转换;
本步骤与S1032相同,具体参考S1032。
S2033:对处理后的威胁信息,进行STRIDE类型标注,获得STRIDE威胁集合;
本步骤与S1033相同,具体参考S1033。
S2034:根据顶层组件之间的潜在数据流可能性,对组件类型规则集合进行乘积运算,获取潜在交互规则集合;
根据图4中展示的顶层组件之间的潜在数据流可能性,将组件类型集合进行集合乘积操作,此操作后将获得潜在的交互规则集合。
S2035:对潜在交互类型规则集合进行筛选,获取交互规则集合;
根据分析组件的常见技术和威胁的具体原因,对组件和威胁的匹配程度进行分析,将其中无法产生关联的规则剔除,筛选得到顶层交互规则集合。
具体实施例1:本实施例选取了Adam Shostack的《Threat Modeling:Designingfor Security》中的iNTegrity作为研究案例展开验证。该案例由Michael Howard创建,并且在微软内作为课堂练习使用了多年,书中展示的是一个精简版本。这个iNTegrity工具可以读取确定自上次检查以来,更改了任何文件或注册表项的资源,是一个简单的文件完整性检查工具。
在图6中展示了iNTegrity的DFD,可以看到该DFD主要包含的节点包括一个外部实体Admin,两个处理过程Integrity host Software和INTegrity Admin Console,以及四个存储过程registry,filesystem,Config data和Integrity files,而边一共包含9个数据流。在该著作中并未为以上组件制定更细粒度的组件类型,因此,这里根据对其描述的理解,为部分组件分配细粒度组件类型,如INTegrity Admin Console并分配为WebApplication,而Integrity Host Software则被分配为Host类型的处理过程。相应地根据该工具的描述,registry可以认为存于关系型数据库中即SQL Database,而filesystem则更适合为File System类型组件,其余的组件也被分配为较为合适的类型。
当本实施例被输入到系统中时,执行数据流图处理步骤:本实施例会遍历本次数据流图中的所有组件信息,对其格式化标准进行检查;满足检查后的数据流图将被实例化为所需的组件类,包含必要的组件信息;再根据后续需要提取出类型信息集合与交互规则信息;
数据流图处理完毕后,执行威胁自动识别处理步骤:本实施例会首先遍历类型组件信息,同时通过预先构建的类型规则模型进行判断,将满足类型规则的关联威胁添加入威胁列表;再对交互规则信息进行逐一扫描,借由交互规则模型进行判断,将满足交互规则的关联威胁加入威胁列表;最后将两个威胁列表进行合并处理,得到最终的威胁列表。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于STRIDE方法的威胁建模自动化识别系统,其特征在于:该系统包括输入模块、识别模块、审阅模块和输出模块;
所述输入模块用于将待威胁识别的系统数据流图输入系统;
所述识别模块用于根据预先构建的威胁建模自动识别模型对本次输出的数据流图进行自动识别,得到所有符合模型规则结果,并汇总为本次系统数据流图的威胁列表;
所述审阅模块用于对识别模块产生的威胁列表进行审阅操作,以对识别结果进行校验,校验通过后的威胁将作为最终的威胁列表;
所述输出模块用于将最终的威胁列表进行格式化转换,按具体需要以不同文件格式进行输出保存。
2.根据权利要求1所述的一种基于STRIDE方法的威胁建模自动化识别系统,其特征在于:所述输入模块包括数据流图检查单元、数据流图解析单元、数据流图格式化单元;
所述数据流图检查单元用于对数据流图的输入进行检查,与预先定义的输入格式进行比较,得到检查结果;
所述数据流图解析单元用于从输入的数据流图中提取组件信息集合,所述组件信息集合包括组件类型信息和组件关联信息;
所述数据流图格式化单元用于将提取的组件信息集合格式化为系统内部的数据结果。
3.根据权利要求1所述的一种基于STRIDE方法的威胁建模自动化识别系统,其特征在于:所述识别模块包括类型规则判断单元、交互规则判断单元、威胁合并单元;
所述类型规则判断单元用于通过类型规则模型,对数据流图中涉及到类型规则进行判断,形成类型威胁集合;
所述交互规则判断单元用于通过交互规则模型,对数据流图中涉及到交互规则进行判断,形成交互威胁集合;
所述威胁合并单元用于将类型规则集合与交互规则集合进行合并处理,得到威胁列表。
4.根据权利要求1所述的一种基于STRIDE方法的威胁建模自动化识别系统,其特征在于:所述审阅模块包括威胁编辑单元;
所述威胁编辑单元用于对识别生成的威胁列表进行判断,可进行增加新威胁,删除和编辑原有威胁的操作。
5.根据权利要求1所述的一种基于STRIDE方法的威胁建模自动化识别系统,其特征在于:所述输出模块包括文件转化单元和文件导出单元;
所述文件转化单元用于将威胁列表的数据结构转化为目标文件格式的所需结构;
所述文件导出单元用于根据转化完毕的数据结构,将其保存为目标格式文件。
6.一种基于STRIDE方法的威胁建模自动化识别方法,其特征在于:采用权利要求1-5任意一项自动化识别系统,该方法的执行步骤如下:
S1:根据输入的数据流图中的组件信息判断得到类型威胁集合;
S2:根据输入的数据流图中的组件信息判断得到交互威胁集合;
S3:根据数据流图的类型威胁集合和交互威胁集合合并处理得到威胁集合。
7.根据权利要求6所述的一种基于STRIDE方法的威胁建模自动化识别方法,其特征在于:所述步骤S1,具体为:
S101:对本次识别的数据流图进行格式检查和解析,得到组件信息;
S102:对组件信息进行格式化和提取,获得与类型规则相关的组件信息集合;
S103:将获取的组件信息集合输入类型规则模型中,得到本次数据流图威胁识别的类型威胁集合。
8.根据权利要求7所述的一种基于STRIDE方法的威胁建模自动化识别方法,其特征在于:
在所述步骤S103中,所述类型规则模型是基于STRIDE方法进行构建的模型,其中构建的步骤如下:
S1031:获取原始威胁信息集合;
S1032:对威胁信息进行数据处理,对重复部分进行合并,并对描述格式进行统一格式转换;
S1033:对处理后的威胁信息,进行STRIDE类型标注,获得STRIDE威胁集合;
S1034:根据顶层组件与STRIDE威胁的潜在对应关系,对组件集合和STRIDE威胁集合进行集合乘机运算,获取潜在顶层类型规则集合;
S1035:对潜在顶层类型规则集合进行筛选,获取顶层类型规则集合;
S1036:将底层组件在顶层类型规则集合中进行替换,得到潜在底层类型规则集合;
S1037:对潜在顶层类型规则集合进行筛选,获取底层类型规则集合;
S1038:将顶层类型规则集合与底层类型规则集合进行合并处理,得到类型规则集合。
9.根据权利要求6所述的一种基于STRIDE方法的威胁建模自动化识别方法,其特征在于:所述步骤S2,具体为:
S201:对本次识别的数据流图进行格式检查和解析,得到组件信息;
S202:对组件信息进行格式化和提取,获得与交互规则相关的组件信息集合;
S203:将获取的组件信息集合输入交互规则模型中,得到本次数据流图威胁识别的交互威胁集合。
10.根据权利要求9所述的一种基于STRIDE方法的威胁建模自动化识别方法,其特征在于:
在所述步骤S203中,所述交互规则模型是基于类型规则模型进行构建的模型,其中构建的步骤如下:
S2031:通过组件之间的潜在数据流关系,对数据流两端组件进行类型规则集合乘积,得到潜在交互规则集合;
S2032:对潜在交互规则集合进行筛选,获取交互规则集合。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210905267.XA CN115291836A (zh) | 2022-07-29 | 2022-07-29 | 一种基于stride方法的威胁建模自动化识别系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210905267.XA CN115291836A (zh) | 2022-07-29 | 2022-07-29 | 一种基于stride方法的威胁建模自动化识别系统和方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115291836A true CN115291836A (zh) | 2022-11-04 |
Family
ID=83826442
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210905267.XA Pending CN115291836A (zh) | 2022-07-29 | 2022-07-29 | 一种基于stride方法的威胁建模自动化识别系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115291836A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115795059A (zh) * | 2023-02-03 | 2023-03-14 | 北京安普诺信息技术有限公司 | 一种面向敏捷开发的威胁建模方法及系统 |
CN117459323A (zh) * | 2023-12-21 | 2024-01-26 | 杭州海康威视数字技术股份有限公司 | 智能进化物联网设备的威胁建模方法和装置 |
-
2022
- 2022-07-29 CN CN202210905267.XA patent/CN115291836A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115795059A (zh) * | 2023-02-03 | 2023-03-14 | 北京安普诺信息技术有限公司 | 一种面向敏捷开发的威胁建模方法及系统 |
CN117459323A (zh) * | 2023-12-21 | 2024-01-26 | 杭州海康威视数字技术股份有限公司 | 智能进化物联网设备的威胁建模方法和装置 |
CN117459323B (zh) * | 2023-12-21 | 2024-02-27 | 杭州海康威视数字技术股份有限公司 | 智能进化物联网设备的威胁建模方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11221832B2 (en) | Pruning engine | |
CN108256074B (zh) | 校验处理的方法、装置、电子设备和存储介质 | |
CN115291836A (zh) | 一种基于stride方法的威胁建模自动化识别系统和方法 | |
CN111190881A (zh) | 一种数据治理方法和系统 | |
EP3695310A1 (en) | Blackbox matching engine | |
EP3674918B1 (en) | Column lineage and metadata propagation | |
WO2019051388A1 (en) | AUTOMATION OF GENERATION OF ENGINE MODELS OF LIBRARY SUGGESTIONS | |
CN101404037B (zh) | 一种检测及定位电子文本内容剽窃的方法 | |
CN103793652A (zh) | 一种基于静态分析的应用系统代码安全扫描装置 | |
Wagner et al. | Analyzing text in software projects | |
Capiluppi et al. | Detecting Java software similarities by using different clustering techniques | |
CN109816038A (zh) | 一种物联网固件程序分类方法及其装置 | |
CN110989991B (zh) | 检测应用程序中源代码克隆开源软件的方法及系统 | |
Veizaga et al. | Leveraging natural-language requirements for deriving better acceptance criteria from models | |
Abbas et al. | Making sense of failure logs in an industrial devops environment | |
Wang et al. | FastTransLog: A Log-based Anomaly Detection Method based on Fastformer | |
Akbari et al. | Vulnerability detector using parse tree annotation | |
CN110309062A (zh) | 用例生成方法、装置、电子设备及存储介质 | |
US20120036110A1 (en) | Automatically Reviewing Information Mappings Across Different Information Models | |
US20230138699A1 (en) | Systems and Methods of Creating and Using a Transparent, Computer-processable Contractual Natural Language | |
Hamborg et al. | Automated Generation of Timestamped Patent Abstracts at Scale to Outsmart Patent-Trolls | |
WO2023218594A1 (ja) | 情報処理装置 | |
RU2574827C2 (ru) | Автоматизированная система разработки, принятия и применения нормативных правовых актов с использованием их записи на формальном языке | |
Huang et al. | Revealing Hidden Threats: An Empirical Study of Library Misuse in Smart Contracts | |
Nadler et al. | Governance and Regulations Implications on Machine Learning |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |