CN115795058B - 一种威胁建模方法、系统、电子设备及存储介质 - Google Patents
一种威胁建模方法、系统、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115795058B CN115795058B CN202310052956.5A CN202310052956A CN115795058B CN 115795058 B CN115795058 B CN 115795058B CN 202310052956 A CN202310052956 A CN 202310052956A CN 115795058 B CN115795058 B CN 115795058B
- Authority
- CN
- China
- Prior art keywords
- security
- functional elements
- threat
- business
- data flow
- 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.)
- Active
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Abstract
本申请提供了一种威胁建模方法、系统、电子设备及存储介质,方法包括:获取并解析业务文档,识别一个或多个功能要素;从知识库中获取与一个或多个功能要素对应的目标数据流图;基于知识库确定目标数据流图中的安全敏感组件和/或数据流;确定与安全敏感组件和/或数据流关联的安全威胁与消减措施,基于安全敏感组件和/或数据流以及与安全敏感组件和/或数据流关联的安全威胁与消减措施生成业务威胁模型。通过预先根据经验和知识将表征业务逻辑的功能要素与表征技术架构的数据流图及其组件和数据流映射起来,无需进行复杂的数据流图绘制工作,可以大大减轻威胁建模的压力和难度,提高威胁建模的效率。
Description
技术领域
本公开主要涉及软件开发安全技术领域,特别涉及一种威胁建模方法、系统、电子设备及存储介质。
背景技术
威胁建模是针对某分析对象可能面临的威胁进行识别、量化和解决的一种结构化方法。在安全开发中,威胁建模通常定义在需求分析和设计阶段,通过建立一个可落地的检查清单和安全基线,在系统的各环节进行风险识别和管理。传统的威胁建模方法是由微软提出的基于面向过程的STRIDE安全威胁模型。STRIDE安全威胁模型基于数据流图(DateFlow Diagram, DFD)来实现,首先通过数据流关系图将系统分解成各个部件,并证明每个部件都不容易受到相关威胁的攻击,然后对部件中识别出来的威胁进行分类。
不过,传统的威胁建模方法由于流程烦琐、人工投入要求高等缺点,已经逐渐不再适应要求高效且规模越来越大的软件开发现状。传统的威胁建模方法依赖于准确地绘制数据流图,这是一种过重的建模方法,需要耗费大量的时间和精力,尤其是当构建一个复杂系统时,图会很复杂,绘制图表会变得非常困难。数据流图的绘制要求对开发和产品都有比较深入的了解,如果有遗漏可能会导致威胁分析不全面,可能需要产品经理、开发人员、安全人员坐在一起完成。
因而,如何采用一种轻量、高效,同时又能准确反映安全问题的威胁建模方法,是一个亟需解决的问题。
发明内容
本公开的实施例旨在提供一种威胁建模方法、系统、电子设备及存储介质,以解决上述问题。
在本公开的第一方面中,提供了一种威胁建模方法,包括以下步骤:
获取并解析业务文档,识别一个或多个功能要素;
从知识库中获取与所述一个或多个功能要素对应的目标数据流图;
基于所述知识库确定所述目标数据流图中的安全敏感组件和/或数据流;
确定与所述安全敏感组件和/或数据流关联的安全威胁与消减措施,基于所述安全敏感组件和/或数据流以及与所述安全敏感组件和/或数据流关联的安全威胁与消减措施生成业务威胁模型。
可选地,所述获取并解析业务文档,识别一个或多个功能要素,包括以下步骤:
对获取到的业务文档进行预处理;
将预处理后的所述业务文档输入预先构建的命名实体识别模型,根据所述命名实体识别模型的输出结果,确定一个或多个功能要素;
其中,所述命名实体识别模型是根据带标注的业务文档样本数据集训练得到的。
可选地,所述命名实体识别模型的训练方法包括以下步骤:
对业务文档样本数据进行预处理,获得带标注的业务文档样本数据集;
基于BiLSTM-CRF结构构建命名实体识别初始模型;
利用所述带标注的业务文档样本数据集对所述命名实体识别初始模型进行训练,获得满足训练结束条件的命名实体识别模型。
可选地,所述命名实体识别模型的输出结果包括角色、操作、操作对象中的至少一种命名实体类型以及属于所述命名实体类型的至少一个命名实体实例,将所有的所述命名实体实例确定为功能要素。
可选地,所述知识库中预先存储有多个原子场景、与每一所述原子场景关联的多个功能要素和与每一所述原子场景一一对应的数据流图,所述从知识库中获取与所述一个或多个功能要素对应的目标数据流图,包括以下步骤:
从所述知识库中匹配与所述一个或多个功能要素关联的目标原子场景;
获取与所述目标原子场景对应的目标数据流图。
可选地,所述基于所述知识库确定所述目标数据流图中的安全敏感组件和/或数据流,包括以下步骤:
获取所述目标数据流图中的所有组件和数据流;
基于所述知识库从所述所有组件和数据流中确定出预先标记的安全敏感组件和/或数据流。
可选地,所述业务文档为业务迭代文档,所述功能要素为业务变更要素,所述确定与所述安全敏感组件和/或数据流关联的安全威胁与消减措施之前,还包括:
从所述安全敏感组件和/或数据流中剔除与业务变更无关的安全敏感组件和/或数据流。
在本公开的第二方面中,提供了一种威胁建模系统,包括:
功能要素识别模块,用于获取并解析业务文档,识别一个或多个功能要素;
目标数据流图获取模块,用于从知识库中获取与所述一个或多个功能要素对应的目标数据流图;
安全敏感组件和/或数据流确定模块,基于所述知识库确定所述目标数据流图中的安全敏感组件和/或数据流;
业务威胁模型生成模块,确定与所述安全敏感组件和/或数据流关联的安全威胁与消减措施,基于所述安全敏感组件和/或数据流以及与所述安全敏感组件和/或数据流关联的安全威胁与消减措施生成业务威胁模型。
本公开的实施例提供的技术方案可以有以下有益效果:
通过解析业务文档,识别一个或多个功能要素,再从知识库中获取与一个或多个功能要素对应的目标数据流图,并确定目标数据流图中的安全敏感组件和数据流,进而分析关联的安全威胁和消减措施,构建出业务威胁模型。通过预先根据经验和知识将表征业务逻辑的功能要素与表征技术架构的数据流图及其组件和数据流映射起来,无需进行复杂的数据流图绘制工作,可以大大减轻威胁建模的压力和难度,提高威胁建模的效率。
应当理解,发明内容部分中所描述的内容并非旨在限定本公开的实施例的关键或重要特征,亦非用于限制本公开的范围。本公开的其它特征将通过以下的描述变得容易理解。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
图1为根据一示例性实施例示出的一种威胁建模方法流程图;
图2为根据一示例性实施例示出的一种命名实体识别模型的训练方法流程图;
图3为根据一示例性实施例示出的一种威胁建模系统的结构示意图;
图4为根据一示例性实施例示出的一种电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
在本公开的实施例的描述中术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
实施例一:
参照图1,本公开的实施例一提出了一种威胁建模方法,包括步骤S101-S104:
S101:获取并解析业务文档,识别一个或多个功能要素;
具体地,本公开的一个实施例提出的威胁建模方法获取用户输入的业务文档,并进行解析,以识别业务产品的功能要素。
业务文档是指描述产品的业务逻辑或功能的文档。它可以是产品功能列表的形式,也可以是业务逻辑图、功能架构图等图表形式,本公开对此不作具体限定。
功能要素是指从业务文档中识别出的描述产品功能要点的关键词。可选地,功能要素是指操作动作,例如上传、输入、展示等,例如评论功能;或者,功能要素是指业务角色,例如用户、云服务提供商等;再或者,功能要素是指操作对象,例如评论列表、引导页面等。
通过解析业务文档,提取产品功能要素,能够从形式多样的业务文档中识别出标准化的关键功能点,便于后续进行分析处理。
进一步地,所述获取并解析业务文档,识别一个或多个功能要素,包括步骤S1011-S1012:
S1011:对获取到的业务文档进行预处理;
S1012:将预处理后的所述业务文档输入预先构建的命名实体识别模型,根据所述命名实体识别模型的输出结果,确定一个或多个功能要素;
其中,所述命名实体识别模型是根据带标注的业务文档样本数据集训练得到的。
具体地,预先构建一个命名实体识别模型,用于对业务文档进行解析,以识别其中的功能要素。
命名实体识别(Named Entity Recognition,NER),是自然语言处理中的一项基础任务,应用范围非常广泛。命名实体一般指的是文本中具有特定意义或者指代性强的实体,通常包括人名、地名、机构名、日期时间、专有名词等。
命名实体识别模型就是从非结构化的输入文本中抽取出上述实体,并且可以按照业务需求识别出更多类别的实体。因此实体这个概念可以很广,只要是业务需要的特殊文本片段都可以称为实体。
业务文档是一种非结构化的文本,通过预先构建一个命名实体识别模型,可以从这些非结构化的文本中提取出需要的结构化数据作为模型的输出结果,将输出结果确定为功能要素。功能要素就是预先定义的一类结构化数据。
在将业务文档输入命名实体识别模型之前,先对业务文档进行预处理。预处理的目的是为了获得符合命名实体识别模型输入要求的数据,方便后续的识别和分类。预处理操作包括但不限于去除非文本部分、分词、去除停用词、序列化处理。例如,可以将业务文档输入Bert模型,获得对应的词嵌入向量序列。本公开对预处理的方法不作具体限制。
通过命名实体识别技术,能够将非结构化的业务文档处理成结构化的数据,即功能要素,以自动化的方式替代了原本需要人工识别的步骤,大大提高了准确率和效率。
进一步地,参照图2,所述命名实体识别模型的训练方法包括步骤S201-S203:
S201:对业务文档样本数据进行预处理,获得带标注的业务文档样本数据集;
具体地,收集海量的业务文档样本数据,可以是从客户手中收集,也可以是利用爬虫抓取网络资源中的业务文档样本,对收集到的样本数据进行预处理,包括但不限于去除非文本部分、分词、去除停用词、序列化处理,并对样本数据进行标注。所谓标注是指对样本数据中包含的需要识别的命名实体添加识别标签。由此获得带标注的业务文档样本数据集。其中,命名实体识别常用BIO标法和BIOES标法,其中B-begin表示开始,I-inside表示内部,O-outside表示非实体,E-end表示实体尾部,S-single表示该词本身就是一个实体。
示例性地,对分字处理后的文本序列“需,上,传,企,业,营,业,执,照”进行BIO标注,获得标注结果“需O,上B-OPE,传I-OPE,企B-OBJ,业I-OBJ,营I-OBJ,业I-OBJ,执I-OBJ,照I-OBJ”,将带标注的文本序列加入样本数据集,其中O代表该字符不属于命名实体的部分,B-OPE代表操作首字符,I-OPE代表操作非首字符,B-OBJ代表操作对象首字符,I-OBJ代表操作对象非首字符。
当然也可以采用BIOES等标注方法对文本进行规范化标注以获得带标注的业务文档样本数据集,本公开对此不作具体限制。
S202:基于BiLSTM-CRF结构构建命名实体识别初始模型;
具体地,BiLSTM-CRF是目前比较流行的序列标注算法,基于BiLSTM-CRF模型结构,可以构建一个用于命名实体识别的初始模型。
长短时期记忆神经网络(Long Short Term Memory,LSTM)是循环神经网络RNN的一种,而双向长短期记忆神经网络(Bi-directional Long Short Term Memory,BiLSTM)模型则是由2个独立的LSTM构成,输入序列分别以正序和逆序输入至2个LSTM进行特征提取,将2个输出向量(即提取后的特征向量)进行拼接后形成的词向量作为该词的最终特征表达。BiLSTM对文本特征提取效率和性能要优于单个LSTM结构模型。条件随机场(ConditionalRandom Field,CRF)是给定一组输入序列条件下另一组输出序列的条件概率分布模型,在自然语言处理中被广泛应用。
可选地,基于BiLSTM-CRF结构构建的命名实体识别初始模型可以包括输入层、BiLSTM层、CRF层、输出层。
将BiLSTM和CRF结合在一起,可以使模型既像CRF一样考虑序列前后之间的关联性,又拥有LSTM的特征抽取及拟合能力。
S203:利用所述带标注的业务文档样本数据集对所述命名实体识别初始模型进行训练,获得满足训练结束条件的命名实体识别模型。
具体地,将带标注的业务文档样本数据集输入命名实体识别初始模型中进行训练,以获得满足预设的训练结束条件的命名实体识别模型。训练结束条件可以是根据定义的损失函数(loss function)判定,或者根据输出结果的准确率(accuracy)判定,本公开对此不作具体限制。
可选地,可以将带标注的业务文档样本数据集分成训练集和测试集,使用训练集来训练模型,再将训练好的模型在测试集上计算误差,以误差最小为训练结束条件。
通过收集海量的业务文档样本数据,并选择BiLSTM-CRF结构进行模型训练,获得命名实体识别模型,能够较好地用于抽取业务文档特征,识别需要的命名实体。
进一步地,所述命名实体识别模型的输出结果包括角色、操作、操作对象中的至少一种命名实体类型以及属于所述命名实体类型的至少一个命名实体实例,将所有的所述命名实体实例确定为功能要素。
具体地,预先定义角色、操作、操作对象三种命名实体类型,每一种命名实体类型均涵盖了一些预先存储的命名实体实例。将预处理后的业务文档输入预先构建的命名实体识别模型后,模型输出的结果将包含角色、操作、操作对象中的至少一种命名实体类型以及属于命名实体类型的至少一个命名实体实例,该命名实体实例即为功能要素。
下表示例性地示例性地示出了三类命名实体类型分别包含的一些命名实体实例。
以“需上传企业营业执照”这一语句为例,命名实体识别模型可识别出“操作”和“操作对象”两种命名实体类型,这两种命名实体类型分别包含有“上传”、“企业营业执照”两个命名实体实例,则将“上传”、“企业营业执照”这两个命名实体实例确定为功能要素。
可选地,命名实体类型不限于角色、操作、操作对象三类,用户可以根据具体业务类型或场景定义需要识别的命名实体类型及相应的命名实体实例。本公开对此不作具体限制。
以预先定义的一些表征业务文档关键信息的命名实体类型和实例为基础,利用命名实体识别模型进行命名实体识别,能够直接将命名实体识别模型的输出结果确定为本实施例所需要识别的功能要素,能够自动化地从非结构化的业务文档中识别出结构化、标准化的功能要素,更便于后续的威胁分析,减少了人工的参与,大大提高了威胁建模的效率。
S102:从知识库中获取与所述一个或多个功能要素对应的目标数据流图;
具体地,预先构建的知识库中存储了与一个或多个功能要素对应的数据流图。也就是说,在知识库中预先存储了一个或者多个功能要素与预先绘制好的数据流图的映射关系,当识别出业务产品涉及的功能要素之后,可基于预先定义的映射关系从知识库中获取相应的目标数据流图。
数据流图(Date Flow Diagram, DFD)包括带编号的要素(数据存储和过程),通过数据流连接起来,并与外部实体相互作用(在开发者或者组织控制之外的实体)。其四大核心元素为:外部实体、进程、数据存储、数据流,此外还有信任边界。
其中,外部实体是指人或在控制范围之外的代码,例如用户;
进程是指任何运行的代码;
数据流是指进程间或进程与数据存储间的交互,例如网络连接、HTTP、RPC、LPC;
数据存储是指存储数据的东西,例如文件、数据库、Windows注册表、共享内存;
信任边界是指不同主体汇聚的位置,也就是实体与不同权限实体之间交叉的位置。信任边界勾勒出各个主体之间的攻击界面。
在数据流图中,数据流是最可能存在安全威胁的元素。
在本公开的一种实施例中,将数据流图中的元素划分为组件和数据流两大类,其中组件包括了外部实体、进程、数据存储。
由于数据流图中的元素反映的是技术维度的划分,而功能要素则反映的是业务层面或者功能层面的划分,且数据流图的绘制对于技术理解要求较高,往往需要研发人员和安全人员的共同参与,对产品经理等业务人员并不友好,是一项非常耗费精力的工作,因此,通过预先根据经验和知识将业务逻辑与技术架构映射,即预先存储与一个或者多个功能要素对应的数据流图,可以大大减轻威胁建模工作的压力和难度。
进一步地,所述知识库中预先存储有多个原子场景、与每一所述原子场景关联的多个功能要素和与每一所述原子场景一一对应的数据流图,所述从知识库中获取与所述一个或多个功能要素对应的目标数据流图,包括步骤S301-S302:
S301:从所述知识库中匹配与所述一个或多个功能要素关联的目标原子场景;
具体地,知识库中预先存储有多个原子场景、与每一原子场景关联的多个功能要素。当识别出功能要素之后,可以从知识库中直接匹配出与功能要素关联的目标原子场景。对每一个业务应用软件来说,其功能场景可以分解为多个原子场景,例如登录、注册、修改密码、发送邮件、上传照片等等;不同的业务应用软件可能包含不同的原子场景,也可能共有一些原子场景,例如登录场景,在很多业务应用软件中都存在。
功能要素与原子场景相互关联。一个原子场景可能与一个或多个功能要素关联。可以理解为,功能要素是原子场景的一些具体描述。以登录场景为例,相关的功能要素可以包括但不限于用户、账号、密码、输入、验证码等。当然,不同的原子场景可能由一些共同的功能要素来描述,功能要素与原子场景之间构成了网状的关联关系。
可选地,以带有节点和边的图来存储功能要素与原子场景之间的关联关系。图的节点分为原子场景节点和功能要素节点,原子场景节点之间互不关联,功能要素节点之间也互不关联;图的边代表功能要素节点与原子场景节点之间的关联关系,一个原子场景节点可能与多个功能要素节点之间存在边,一个功能要素节点也可能与多个原子场景节点之间存在边。当从知识库中匹配与功能要素关联的目标原子场景时,将与多个功能要素节点有最多数量的重合边的原子场景节点确定为目标原子场景。
S302:获取与所述目标原子场景对应的目标数据流图。
具体地,知识库中预先存储有与每一原子场景一一对应的数据流图,当确定了目标原子场景后,即可从知识库中获取与目标原子场景对应的目标数据流图。预先绘制好原子场景的数据流图并存储在知识库中,可以大大降低威胁建模的工作量,节省时间和精力。
可选地,利用知识图谱技术构建知识库。知识图谱的基本单位是由“实体(Entity)-关系(Relationship)-实体(Entity)”构成的三元组。将功能要素、原子场景、数据流图、组件和数据流、安全威胁与消减措施等作为实体,结合实体之间的关联关系,可以构建一个威胁建模知识图谱。
通过预先构建存储有功能要素-原子场景-数据流图之间的映射关系的知识库,能够根据从业务文档中识别出的功能要素直接确定出该业务产品包含了哪些原子场景,再获取相应的数据流图,能够快速、准确、细粒度地将业务层面或者功能层面与技术层面关联起来,极大地降低了人力分析的成本,提高了威胁建模的效率。
S103:基于所述知识库确定所述目标数据流图中的安全敏感组件和/或数据流;
具体地,基于知识库从目标数据流图中确定出安全敏感组件和/或数据流。所谓安全敏感,是指存在潜在的安全威胁。在一个数据流图中,并非所有的组件和数据流都存在潜在的安全威胁,当一个组件或数据流可能存在潜在的安全威胁时,可以将其定性为安全敏感。
进一步地,所述基于所述知识库确定所述目标数据流图中的安全敏感组件和/或数据流,包括步骤S401-S402:
S401:获取所述目标数据流图中的所有组件和数据流;
S402:基于所述知识库从所述所有组件和数据流中确定出预先标记的安全敏感组件和/或数据流。
具体地,从目标数据流图中获取所有的组件和数据流,即目标数据流图中的所有元素。进一步识别其中是否存在安全敏感组件和/或数据流。由于在知识库中预先存储有已标记为安全敏感的组件和数据流信息,因而可以基于知识库从目标数据流图的所有组件和数据流中确定出预先标记的安全敏感组件和/或数据流。所谓安全敏感,是指存在潜在的安全威胁。在一个数据流图中,并非所有的组件和数据流都存在潜在的安全威胁,当一个组件或数据流可能存在潜在的安全威胁时,可以将其定性为安全敏感。
通过预先分析数据流图中的元素是否存在潜在威胁,并存储在知识库中,可避免每次引用该数据流图时重复分析,提高了威胁建模效率。
S104:确定与所述安全敏感组件和/或数据流关联的安全威胁与消减措施,基于所述安全敏感组件和/或数据流以及与所述安全敏感组件和/或数据流关联的安全威胁与消减措施生成业务威胁模型。
具体地,基于已识别出的安全敏感组件和/或数据流,从知识库中获取关联的安全威胁与消减措施,基于安全敏感组件和/或数据流与相应的安全威胁与消减措施生成业务威胁模型。业务威胁模型的表现形式可以是列表形式、矩阵形式等,本公开对此不做具体限制。
可选地,生成业务安全威胁与消减措施清单,其中包含安全敏感组件和/或数据流与安全威胁、消减措施的对应关系。
优选地,本公开还提出了一种可选的具体实施方式。所述业务文档为业务迭代文档,所述功能要素为业务变更要素,所述确定与所述安全敏感组件和/或数据流关联的安全威胁与消减措施之前,还包括:
从所述安全敏感组件和/或数据流中剔除与业务变更无关的安全敏感组件和/或数据流。
具体地,本公开还提出了一种威胁建模方法,该威胁建模方法的具体实施包括,获取并解析的业务文档为业务迭代文档,从中识别的功能要素为业务变更要素。所谓业务迭代文档是指业务产品在每次迭代时描述业务逻辑或功能架构改变的文档,可以是迭代功能列表的形式,也可以是业务逻辑图、功能架构图等图表的形式。所谓业务变更要素是指从业务迭代文档中识别出的描述迭代要点的关键词。可选地,业务变更要素是指迭代操作动作,例如新增、减少、上传、优化等;或者,业务变更要素是指变更的业务角色,例如用户、云服务提供商等;再或者,业务变更要素是指业务变更的对象,例如评论列表、引导页面等。
当识别出一个或多个业务变更要素之后,从知识库中获取与一个或多个业务变更要素对应的目标数据流图,再基于知识库确定目标数据流图中的安全敏感组件和/或数据流。在进一步确定与安全敏感组件和/或数据流关联的安全威胁与消减措施之前,从安全敏感组件和/或数据流中剔除与业务变更无关的安全敏感组件和/或数据流。在一次迭代中,并非所有的组件和数据流都会受影响,在分析安全威胁之前事先剔除与业务变更无关的安全敏感组件和/或数据流,能够将威胁分析聚焦在本次迭代影响的范围内,避免不必要的全局重复分析。
可选地,当确定出该次迭代影响的安全敏感组件和/或数据流之后,基于与这些安全敏感组件和/或数据流关联的安全威胁与消减措施更新之前已有的业务威胁模型。
通过解析业务迭代文档,提取此次迭代中的业务变更要素,能够从形式多样的迭代文档中识别出标准化的关键功能迭代要点,便于后续分析此次产品迭代涉及的安全威胁变化情况。通过剔除与业务变更无关的安全敏感组件和/或数据流,能够将威胁分析聚焦在本次迭代影响的范围内,避免不必要的全局重复分析。这种基于业务迭代文档进行威胁模型更新的方法,能够达到在敏捷开发频繁迭代的情境下对威胁模型的有效性进行动态评估并及时更新的效果。
实施例二:
基于同一发明构思,本公开实施例二提供了一种威胁建模系统,该威胁建模系统的具体实施可参见上述方法实施例一的相关描述,重复之处不再赘述,如图3所示,该威胁建模系统500主要包括:
功能要素识别模块510,用于获取并解析业务文档,识别一个或多个功能要素;
目标数据流图获取模块520,用于从知识库中获取与所述一个或多个功能要素对应的目标数据流图;
安全敏感组件和/或数据流确定模块530,基于所述知识库确定所述目标数据流图中的安全敏感组件和/或数据流;
业务威胁模型生成模块540,确定与所述安全敏感组件和/或数据流关联的安全威胁与消减措施,基于所述安全敏感组件和/或数据流以及与所述安全敏感组件和/或数据流关联的安全威胁与消减措施生成业务威胁模型。
实施例三:
参照图4,本公开的实施例还提出了一种电子设备600,该电子设备600包括至少一个处理器610;以及,与所述至少一个处理器610通信连接的存储器620;其中,所述存储器620存储有可被所述至少一个处理器710执行的指令,所述指令被所述至少一个处理器610执行,以使所述至少一个处理器610能够执行本公开的实施例一所述的威胁建模方法。
上述电子设备600中的上述元件可通过总线彼此连接,总线例如数据总线、地址总线、控制总线、扩展总线和局部总线之一或其任意组合。
实施例四:
本公开的实施例还提出了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本公开的实施例一所述的威胁建模方法。
本领域内的技术人员应当明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本公开是参照根据本公开的实施例的方法、装置、设备和计算机程序产品的流程图和/或方框图来描述的。应理解为可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本公开的较佳实施例,并不用以限制本公开,凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (9)
1.一种威胁建模方法,其特征在于,包括以下步骤:
获取并解析业务文档,识别一个或多个功能要素,所述业务文档为描述产品的业务逻辑或功能的文档,所述一个或多个功能要素为描述产品功能要点的关键词;
从知识库中获取与所述一个或多个功能要素对应的目标数据流图;
基于所述知识库确定所述目标数据流图中的安全敏感组件和/或数据流;
确定与所述安全敏感组件和/或数据流关联的安全威胁与消减措施,基于所述安全敏感组件和/或数据流以及与所述安全敏感组件和/或数据流关联的安全威胁与消减措施生成业务威胁模型;
其中,所述知识库中预先存储有多个原子场景、与每一所述原子场景关联的多个功能要素和与每一所述原子场景一一对应的数据流图,所述从知识库中获取与所述一个或多个功能要素对应的目标数据流图,包括以下步骤:
从所述知识库中匹配与所述一个或多个功能要素关联的目标原子场景;
获取与所述目标原子场景对应的目标数据流图。
2.根据权利要求1所述的威胁建模方法,其特征在于,所述获取并解析业务文档,识别一个或多个功能要素,包括以下步骤:
对获取到的业务文档进行预处理;
将预处理后的所述业务文档输入预先构建的命名实体识别模型,根据所述命名实体识别模型的输出结果,确定一个或多个功能要素;
其中,所述命名实体识别模型是根据带标注的业务文档样本数据集训练得到的。
3.根据权利要求2所述的威胁建模方法,其特征在于,所述命名实体识别模型的训练方法包括以下步骤:
对业务文档样本数据进行预处理,获得带标注的业务文档样本数据集;
基于BiLSTM-CRF结构构建命名实体识别初始模型;
利用所述带标注的业务文档样本数据集对所述命名实体识别初始模型进行训练,获得满足训练结束条件的命名实体识别模型。
4.根据权利要求2所述的威胁建模方法,其特征在于,所述命名实体识别模型的输出结果包括角色、操作、操作对象中的至少一种命名实体类型以及属于所述命名实体类型的至少一个命名实体实例,将所有的所述命名实体实例确定为功能要素。
5.根据权利要求1所述的威胁建模方法,其特征在于,所述基于所述知识库确定所述目标数据流图中的安全敏感组件和/或数据流,包括以下步骤:
获取所述目标数据流图中的所有组件和数据流;
基于所述知识库从所述所有组件和数据流中确定出预先标记的安全敏感组件和/或数据流。
6.根据权利要求1所述的威胁建模方法,其特征在于,所述业务文档为业务迭代文档,所述功能要素为业务变更要素,所述确定与所述安全敏感组件和/或数据流关联的安全威胁与消减措施之前,还包括:
从所述安全敏感组件和/或数据流中剔除与业务变更无关的安全敏感组件和/或数据流。
7.一种威胁建模系统,其特征在于,包括:
功能要素识别模块,用于获取并解析业务文档,识别一个或多个功能要素,所述业务文档为描述产品的业务逻辑或功能的文档,所述一个或多个功能要素为描述产品功能要点的关键词;
目标数据流图获取模块,用于从知识库中获取与所述一个或多个功能要素对应的目标数据流图;
安全敏感组件和/或数据流确定模块,基于所述知识库确定所述目标数据流图中的安全敏感组件和/或数据流;
业务威胁模型生成模块,确定与所述安全敏感组件和/或数据流关联的安全威胁与消减措施,基于所述安全敏感组件和/或数据流以及与所述安全敏感组件和/或数据流关联的安全威胁与消减措施生成业务威胁模型;
其中,所述知识库中预先存储有多个原子场景、与每一所述原子场景关联的多个功能要素和与每一所述原子场景一一对应的数据流图,所述目标数据流图获取模块从知识库中获取与所述一个或多个功能要素对应的目标数据流图,包括:
从所述知识库中匹配与所述一个或多个功能要素关联的目标原子场景;
获取与所述目标原子场景对应的目标数据流图。
8.一种电子设备,其特征在于,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1-6任一项所述的威胁建模方法。
9.一种存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-6任一项所述的威胁建模方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310052956.5A CN115795058B (zh) | 2023-02-03 | 2023-02-03 | 一种威胁建模方法、系统、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310052956.5A CN115795058B (zh) | 2023-02-03 | 2023-02-03 | 一种威胁建模方法、系统、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115795058A CN115795058A (zh) | 2023-03-14 |
CN115795058B true CN115795058B (zh) | 2023-05-12 |
Family
ID=85429586
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310052956.5A Active CN115795058B (zh) | 2023-02-03 | 2023-02-03 | 一种威胁建模方法、系统、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115795058B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113901818A (zh) * | 2021-09-26 | 2022-01-07 | 四川大学 | 一种面向威胁情报的实体识别及关系抽取方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070157311A1 (en) * | 2005-12-29 | 2007-07-05 | Microsoft Corporation | Security modeling and the application life cycle |
CN104636663A (zh) * | 2014-12-29 | 2015-05-20 | 国家电网公司 | 一种基于业务数据流模型的安全威胁分析方法 |
CN110717049B (zh) * | 2019-08-29 | 2020-12-04 | 四川大学 | 一种面向文本数据的威胁情报知识图谱构建方法 |
CN111914408B (zh) * | 2020-07-15 | 2024-03-08 | 中国民航信息网络股份有限公司 | 面向威胁建模的信息处理方法、系统及电子设备 |
CN113282759B (zh) * | 2021-04-23 | 2024-02-20 | 国网辽宁省电力有限公司电力科学研究院 | 一种基于威胁情报的网络安全知识图谱生成方法 |
CN114499919B (zh) * | 2021-11-09 | 2023-09-05 | 江苏徐工工程机械研究院有限公司 | 一种工程机械通信安全网络威胁建模的方法及系统 |
CN114626069A (zh) * | 2022-03-10 | 2022-06-14 | 中国建设银行股份有限公司 | 威胁建模方法及装置 |
-
2023
- 2023-02-03 CN CN202310052956.5A patent/CN115795058B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113901818A (zh) * | 2021-09-26 | 2022-01-07 | 四川大学 | 一种面向威胁情报的实体识别及关系抽取方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115795058A (zh) | 2023-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110852065B (zh) | 一种文档审核方法、装置、系统、设备及存储介质 | |
US10133650B1 (en) | Automated API parameter resolution and validation | |
US8650022B2 (en) | Method and an apparatus for automatic semantic annotation of a process model | |
WO2019075390A1 (en) | BOX BLACK MATCHING MOTOR | |
US20190005029A1 (en) | Systems and methods for natural language processing of structured documents | |
US20220197923A1 (en) | Apparatus and method for building big data on unstructured cyber threat information and method for analyzing unstructured cyber threat information | |
CN111061833A (zh) | 数据处理方法、装置、电子设备和计算机可读存储介质 | |
CN113609261B (zh) | 基于网络信息安全的知识图谱的漏洞信息挖掘方法和装置 | |
US10911379B1 (en) | Message schema management service for heterogeneous event-driven computing environments | |
CN112783786B (zh) | 测试案例的生成方法、装置、设备、介质和程序产品 | |
CN111079408A (zh) | 一种语种识别方法、装置、设备及存储介质 | |
CN111881300A (zh) | 面向第三方库依赖的知识图谱构建方法及系统 | |
Välja et al. | Automated architecture modeling for enterprise technology manageme using principles from data fusion: A security analysis case | |
CN115795059A (zh) | 一种面向敏捷开发的威胁建模方法及系统 | |
CN115795058B (zh) | 一种威胁建模方法、系统、电子设备及存储介质 | |
CN116881971A (zh) | 一种敏感信息泄露检测方法、设备及存储介质 | |
CN116821903A (zh) | 检测规则确定及恶意二进制文件检测方法、设备及介质 | |
CN112835810B (zh) | 一种基于日志分析的接口测试方法及装置 | |
CN112464237B (zh) | 一种静态代码安全诊断方法及装置 | |
CN114610576A (zh) | 一种日志生成监控方法和装置 | |
Tsoukalas et al. | An ontology-based approach for automatic specification, verification, and validation of software security requirements: Preliminary results | |
CN108768742B (zh) | 网络构建方法及装置、电子设备、存储介质 | |
Rattan et al. | Detecting high level similarities in source code and beyond | |
Alqahtani | Automated Extraction of Security Concerns from Bug Reports | |
US20240045955A1 (en) | Identifying security events in programming code for logging |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |