CN116737111B - 一种基于场景化的安全需求分析方法 - Google Patents
一种基于场景化的安全需求分析方法 Download PDFInfo
- Publication number
- CN116737111B CN116737111B CN202311014088.8A CN202311014088A CN116737111B CN 116737111 B CN116737111 B CN 116737111B CN 202311014088 A CN202311014088 A CN 202311014088A CN 116737111 B CN116737111 B CN 116737111B
- Authority
- CN
- China
- Prior art keywords
- security
- safety
- requirement
- baseline
- model
- 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
- 238000004458 analytical method Methods 0.000 title claims abstract description 24
- 238000012549 training Methods 0.000 claims abstract description 30
- 238000000034 method Methods 0.000 claims description 43
- 230000008569 process Effects 0.000 claims description 24
- 238000012795 verification Methods 0.000 claims description 20
- 238000010801 machine learning Methods 0.000 claims description 19
- 238000011161 development Methods 0.000 claims description 16
- 238000012423 maintenance Methods 0.000 claims description 6
- 238000013507 mapping Methods 0.000 claims description 6
- 238000012544 monitoring process Methods 0.000 claims description 6
- 238000005457 optimization Methods 0.000 claims description 6
- 230000000694 effects Effects 0.000 claims description 5
- 238000010276 construction Methods 0.000 claims description 4
- 238000005516 engineering process Methods 0.000 claims description 4
- 239000013598 vector Substances 0.000 claims description 4
- 230000008859 change Effects 0.000 claims description 3
- 238000003058 natural language processing Methods 0.000 claims description 3
- 230000001502 supplementing effect Effects 0.000 claims description 3
- 230000007704 transition Effects 0.000 claims 1
- 230000018109 developmental process Effects 0.000 description 20
- 230000003068 static effect Effects 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 238000005336 cracking Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 238000012502 risk assessment Methods 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
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/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/36—Creation of semantic tools, e.g. ontology or thesauri
- G06F16/367—Ontology
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Animal Behavior & Ethology (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于场景化的安全需求分析方法,涉及计算机安全领域,通过构建数据集,收集大量的业务场景描述以及与之关联的安全需求和安全基线。然后,构建安全图谱,其中节点代表不同的业务场景、安全需求和安全基线,边代表它们之间的关系。通过训练链接预测模型,可以预测新加入的数据中未有明确关联关系的节点之间可能存在的边。采用新的数据集训练得到安全需求与基线预测模型可用于预测安全需求和安全基线;当有新的业务场景、安全需求、安全基线数据出现时,采用增量学习的方式重新训练模型。本发明采用模型预测安全需求和安全基线,可降低安全需求分析的工作量。
Description
技术领域
本发明涉及计算机安全领域,更具体地说,涉及一种基于场景化的安全需求分析方法。
背景技术
在应用系统开发中,需求分析是至关重要的阶段,其目标在于明确系统“应该做什么”,并且其质量直接影响开发生命周期的后续阶段。需求可以根据不同的描述者和上下文有多种不同的形式,如用户需求、软件需求、功能需求、系统需求、技术需求、业务需求或产品需求。在这些需求中,安全需求是一个关键的部分,其广义上的目标是实现系统的机密性、完整性和可用性。
安全需求分析与风险分析紧密相关,需要考虑资产价值、威胁可能性和系统脆弱性等多个因素。比如,交易系统和内容发布系统的资产价值是不同的,网络游戏系统可能更容易受到攻击,而不同的技术选型可能具有本身的脆弱性。由于这些复杂的因素,安全需求分析的过程需要大量的人力投入,但往往安全部门无法提供足够的人力来完成这项任务。
由于安全需求是非功能性需求,其目的是为业务服务的,因此在进行安全需求分析之前,必须对业务背景有深入的理解。然而,这也给安全需求分析带来了额外的难度。因此,为了降低安全需求分析的难度和工作量,业界开始尝试将安全需求分析的工作分散到产品经理或架构师中。
发明内容
本发明要解决的技术问题是提供一种基于场景化的安全需求分析方法,这种方法通过将安全场景与安全基线关联映射,使得安全业务人员可以基于相关的业务需求场景选择相应的安全场景,从而自动产生相应的安全需求。这种方法可以大幅度降低安全需求分析人员的安全能力需求和安全需求分析的工作量。
为了达到上述目的,本发明采取以下技术方案:
一种基于场景化的安全需求分析方法,包括如下步骤:
S1: 构建数据集,该数据集包含从不同来源和渠道收集的大量业务场景描述以及与之关联的安全需求和所述安全需求对应的安全基线,其中:
所述安全基线表示所述安全需求对应的最低标准;该数据集中,每个业务场景关联至少一个安全需求,每个安全需求关联至少一个安全基线;
S2:构建安全图谱,其中节点代表不同的业务场景、安全需求和安全基线,边代表它们之间的关系,从业务场景节点指向安全需求节点,再从安全需求节点指向安全基线节点;
S3:通过自然语言处理技术提取S2中知识图片节点的特征,边的特征使用边的类型作为特征;所述类型包括两种,一种是业务场景和安全需求之间边,另一种是安全需求和安全基线之间的边;根据提取的特征,采用链接预测算法训练一个链接预测模型,该链接预测模型的目标是预测任意两个节点之间是否存在边;
S4:扩大S1中的数据集中的业务场景、安全需求和安全基线以及其对应的关联,并同时根据S2中的方法构造扩大的安全图谱,其中,扩大的安全图谱可以包括孤立的节点;
S5:采用S3中的链接预测模型预测扩大的安全图谱中的任意两个节点之间是否存在边,并在预测存在边时补上对应的边得到修正过的安全图谱;
S6:根据S5中得到的修正过的安全图谱得到一个新的数据集中,所述新的数据集中包含业务场景、安全需求和安全基线以及它们之间对应的关系,所述业务场景、安全需求和安全基线通过修正过的安全图谱的节点决定,所述对应的关系通过修正过的安全图谱的边决定;
所述业务场景的描述以文本形式存在,关联的安全需求和安全基线以标签的形式存在,每一种业务场景都对应一组或多组安全需求和安全基线标签;该数据集进一步被分为训练集和验证集,用于支持机器学习模型的训练和验证;
S7: 利用机器学习算法,包括但不限于基于Transformer架构的模型,利用S6中得到的训练集对模型进行训练,训练过程中,业务场景描述作为输入,对应的安全需求和安全基线标签作为模型预测的目标;模型通过学习业务场景描述与安全需求和安全基线标签的映射关系,进行参数优化;在训练结束后,利用验证集对模型进行效果验证和模型选择,得到最终的安全需求与基线预测模型;
S8: 当开发者需要知道一个业务场景对应需要的安全需求和安全基线时,开发者将业务场景描述输入S7中得到的安全需求与基线预测模型,并根据所述安全需求与基线预测模型得到的输出结果进行开发过程中的安全需求和安全基线的参考;
S9: 当有新的业务场景、安全需求、安全基线数据出现时,如果从业务场景到安全需求再到安全基线的关联关系是完整的,则纳入S1中的数据集作为增量数据,如果关联关系是非明确的,则纳入S4中的数据集作为增量数据;
当S1或S4中数据集的增量数据积累到超过预设的阈值量时,采用增量学习的方式重新训练链接预测模型或安全需求与基线预测模型。
其中,所述方法还包括将安全需求与基线预测模型集成至DevSecOps体系中,所述DevSecOps体系涵盖软件开发和运维的全过程,包括需求收集、代码开发、构建、部署和持续监测。
其中,S1中还包括使用词袋模型或TF-IDF或word2vec或BERT等模型将文本数据转换为可以被机器学习算法理解的向量。
在一些实施例中,所述方法还包括:
设计并实现一个图形用户界面,使业务人员可以通过该界面输入具体的业务场景;
构建一个后端服务,该服务在接收到业务场景的输入后,调用已训练好的安全需求与基线预测模型,将输入的业务场景转换为模型能够接受的格式,并将结果传递给安全需求与基线预测模型;
安全需求与基线预测模型在处理输入数据后,输出对应的安全需求和基线,后端服务将这些输出转换为业务人员可以理解的格式,并通过图形用户界面展示给业务人员。
在一些实施例中,所述链接预测算法为TransE或TransH算法。
本发明相对于现有技术的优点在于:
本发明方法通过构建安全图谱,将业务场景、安全需求和安全基线以及它们之间的关系以图谱形式进行可视化。通过训练链接预测模型,可以预测新加入的数据中未有明确关联关系的节点之间可能存在的边,从而为后续的机器学习模型提供更丰富的数据。这种方法不仅提高了数据的利用率,还提高了安全需求分析的效率和准确性。
本发明方法通过将业务场景描述和关联的安全需求及基线信息构建成数据集,这个方法自动化地处理了大量的业务场景和安全需求信息。当开发者需要知道一个业务场景对应需要的安全需求和安全基线时,他们只需要将业务场景描述输入到安全需求与基线预测模型,就可以得到实时的反馈和指导,这大大提高了开发效率和安全性。
本发明方法能将安全需求与基线预测模型集成至DevSecOps体系中,这意味着安全需求和基线预测可以在软件开发和运维的全过程中,包括需求收集、代码开发、构建、部署和持续监测等环节起到作用,从而实现了全流程的安全管理和监控,提高了系统的安全性。
本发明方法中,当有新的业务场景描述和关联的安全需求、安全基线数据出现时,将这些新数据标记为增量数据,并根据其关联关系是否完整加入不同的数据集,可以适应新出现的业务场景和安全需求,提供准确的预测。
附图说明
图1是未采用安全图谱时的本发明总体流程图;
图2是采用安全图谱时的本发明总体流程图;
图3是本发明方法中将基线预测模型集成至DevSecOps体系的流程图。
具体实施方式
下面结合附图对本发明的具体实施方式作描述。
首先介绍什么是业务场景。比如,在一个网络商店的业务流程中,可能包括“用户登录”、“添加商品到购物车”、“进行付款”、“查看购物历史”等不同的场景,这些都是对应的业务场景。
而在每一个业务场景中,都有一些关联的安全需求。以“用户登录”为例,这个场景可能包括的安全需求有“密码的安全存储”、“验证用户身份”、“防止暴力破解密码”等。业务场景对应的安全基线则是为每一个安全需求设定一个“最低标准”。这个标准是达成该安全需求所必需的。例如,“密码的安全存储”这一安全需求,它的基线可能是“必须使用至少128位的加密算法来存储密码”。
我们需要根据行业标准、法规要求,甚至是自己公司的安全策略,为每个安全需求设定一个适当的基线。
安全基线定义了系统或应用在安全方面应达到的最低标准。它的作用有以下几点:
1)安全基线为开发人员提供了明确的指导,让他们知道在设计和实现系统或应用时需要达到哪些安全标准。这样,开发人员就能根据这些标准来编写代码,避免因不清楚安全要求而导致的安全漏洞。
2)有了基线,开发人员不必在每次开发新系统或应用时重新确定安全要求。他们只需参照基线,就可以快速、准确地知道自己的安全目标。
3)基线保证了系统或应用在安全方面达到了一定的最低水平。这样,即使在疏忽或错误的情况下,系统或应用的安全性也不会低于基线。
4)通过设定基线,可以为安全审计和评估提供一个参考标准。审计人员可以对照基线来检查系统或应用的实际安全状态,发现并纠正偏离基线的地方。
接下来,在进行安全需求分析时,我们就可以根据具体的业务场景,寻找对应的安全规则和安全基线,本发明的目标是通过机器学习的关联方式,大大简化安全需求分析的过程,使得非专业的安全人员也能进行安全需求分析。
虽然从表面上看,业务场景、安全需求和安全基线之间的关系似乎很直观和简单,但实际情况可能要复杂得多。这是因为:
1)随着业务规模的扩大,每天可能会产生数以万计的新业务场景,手动将它们映射到具体的安全需求和基线可能是不现实的。而机器学习算法可以自动处理大量数据,大大提高效率。
2)业务场景、安全需求和安全基线都不是静态的,它们会随着时间和环境的变化而变化。例如,新的业务需求可能会产生新的业务场景,新的安全威胁可能会改变安全基线。机器学习算法可以通过持续学习和优化,更好地适应这种动态变化。
3)业务场景、安全需求和安全基线之间的关系可能并不总是一一对应的。一个业务场景可能涉及多个安全需求,一个安全需求可能对应多个业务场景。通过机器学习,我们可以发现这些复杂的、非直接的关系,并利用它们进行更准确的预测。
4)对于未来新出现的业务场景,我们可能无法直接找到对应的安全需求和基线。然而,通过训练过的机器学习模型,我们有可能根据现有的数据,预测出这些新场景可能对应的安全需求和基线。
在以下简化的实施例中,如图1所示,可以利用机器学习进行匹配,具体方法如下:
S1: 构建数据集,该数据集包含从不同来源和渠道收集的大量业务场景描述以及与之关联的安全需求和所述安全需求对应的安全基线,其中:
所述安全基线表示所述安全需求对应的最低标准;
所述业务场景描述以文本形式存在,关联的安全需求和安全基线以标签的形式存在,每一种业务场景都对应一组或多组安全需求和安全基线标签;该数据集进一步被分为训练集和验证集,用于支持机器学习模型的训练和验证;
这个步骤中,可以使用词袋模型、TF-IDF、word2vec或BERT等模型将文本数据转换为可以被机器学习算法理解的向量。对于标签数据,如果存在未被标记的数据,可以考虑使用主动学习等方法进行标记。具体来说,可以先使用已有的标记数据训练一个初步的模型,然后让这个模型预测未标记的数据。对于模型不确定的预测,可以人工参与进行标记。这样,就可以逐渐扩大标记数据的规模,同时也使模型更加准确。
除了主动学习,还有其他的方式可以处理未标记的数据,如半监督学习(部分数据有标签)和无监督学习(所有数据无标签)。这些方法根据问题的特性和数据的可用性来选择。
S2: 利用机器学习算法,包括但不限于基于Transformer架构的模型,利用训练集对模型进行训练,训练过程中,业务场景描述作为输入,对应的安全需求和安全基线标签作为模型预测的目标;模型通过学习业务场景描述与安全需求和安全基线标签的映射关系,进行参数优化;在训练结束后,利用验证集对模型进行效果验证和模型选择,得到最终的安全需求与基线预测模型;
这个步骤中,可以考虑使用多任务学习(Multi-Task Learning)的方法,这样可以同时预测出业务场景对应的多个安全需求和安全基线。此外,考虑到数据可能存在类别不平衡的情况,可以使用过采样、欠采样或者SMOTE等方法进行处理。
S3: 当开发者需要知道一个业务场景对应需要的安全需求和安全基线时,开发者将业务场景描述输入安全需求与基线预测模型,并根据所述安全需求与基线预测模型得到的输出结果进行开发过程中的安全需求和安全基线的参考;
S4: 当有新的业务场景描述和关联的安全需求、安全基线数据出现时,将这些新数据标记为增量数据,并将它们加入到训练集和验证集中进行模型的增量学习训练得到最新优化后的安全需求与基线预测模型,并返回步骤S3。
这个步骤中,不仅进行增量学习,还可以定期进行全量的模型重新训练,这样可以防止模型过度拟合增量数据。此外,可以考虑使用模型版本管理工具(如MLflow)来跟踪不同版本的模型,以便于在需要的时候能够快速回退到之前的模型版本。
在以下实施例中,考虑一个具体的场景:
假设我们正在开发一个在线银行系统。这个系统需要处理各种业务场景,比如客户登录、转账、申请信用卡等。
在S1步骤,我们构建了一个数据集,该数据集包含了各种业务场景描述,如“客户需要登录账户”、“客户需要进行转账操作”等,以及与这些场景相关的安全需求和安全基线。例如,“客户需要登录账户”这个场景可能关联的安全需求包括“需要验证用户身份”,其安全基线可能是“至少需要二次身份验证”。这些文本数据通过TF-IDF、word2vec等方式转换为机器可以理解的向量,标签数据则通过主动学习等方式进行标记。
在S2步骤,我们使用基于Transformer架构的机器学习模型对这个数据集进行训练。模型通过学习业务场景描述与安全需求和安全基线标签的映射关系,进行参数优化。在训练结束后,我们使用验证集进行效果验证和模型选择,得到最终的安全需求与基线预测模型。
在S3步骤,当开发者需要知道一个新的业务场景,例如“客户需要在线申请信用卡”,应对应的安全需求和安全基线时,他们可以将这个业务场景描述输入安全需求与基线预测模型中,然后根据模型的输出结果进行开发。这样,开发者可以根据模型预测的安全需求和安全基线,例如“需要验证用户的信用信息”和“需要使用安全的加密算法”,进行安全性设计和编码。
在S4步骤,当新的业务场景描述和关联的安全需求、安全基线数据出现时,例如“客户需要在线修改手机号”,我们可以将这些新数据加入到训练集和验证集中进行模型的增量学习。通过这种方式,我们可以不断更新和优化我们的安全需求与基线预测模型,使其始终能够适应新的业务场景。
在另外一些更完整的实施例中,如图2所示,考虑到数据集中一些业务场景、安全需求和安全基线之间的关联可能并非非常完善的情况下,为了增加更多的数据,采用如下方法:
S1: 构建数据集,该数据集包含从不同来源和渠道收集的大量业务场景描述以及与之关联的安全需求和所述安全需求对应的安全基线,其中:
所述安全基线表示所述安全需求对应的最低标准;该数据集中,每个业务场景关联至少一个安全需求,每个安全需求关联至少一个安全基线;
S2:构建安全图谱,其中节点代表不同的业务场景、安全需求和安全基线,边代表它们之间的关系,从业务场景节点指向安全需求节点,再从安全需求节点指向安全基线节点;
S3:通过自然语言处理技术提取S2中知识图片节点的特征,边的特征使用边的类型作为特征;所述类型包括两种,一种是业务场景和安全需求之间边,另一种是安全需求和安全基线之间的边;根据提取的特征,采用链接预测算法训练一个链接预测模型,该链接预测模型的目标是预测任意两个节点之间是否存在边;
S4:扩大S1中的数据集中的业务场景、安全需求和安全基线以及其对应的关联,并同时根据S2中的方法构造扩大的安全图谱,其中,扩大的安全图谱可以包括孤立的节点;
S5:采用S3中的链接预测模型预测扩大的安全图谱中的任意两个节点之间是否存在边,并在预测存在边时补上对应的边得到修正过的安全图谱;
S6:根据S5中得到的修正过的安全图谱得到一个新的数据集中,所述新的数据集中包含业务场景、安全需求和安全基线以及它们之间对应的关系,所述业务场景、安全需求和安全基线通过修正过的安全图谱的节点决定,所述对应的关系通过修正过的安全图谱的边决定;
所述业务场景的描述以文本形式存在,关联的安全需求和安全基线以标签的形式存在,每一种业务场景都对应一组或多组安全需求和安全基线标签;该数据集进一步被分为训练集和验证集,用于支持机器学习模型的训练和验证;
S7: 利用机器学习算法,包括但不限于基于Transformer架构的模型,利用S6中得到的训练集对模型进行训练,训练过程中,业务场景描述作为输入,对应的安全需求和安全基线标签作为模型预测的目标;模型通过学习业务场景描述与安全需求和安全基线标签的映射关系,进行参数优化;在训练结束后,利用验证集对模型进行效果验证和模型选择,得到最终的安全需求与基线预测模型;
S8: 当开发者需要知道一个业务场景对应需要的安全需求和安全基线时,开发者将业务场景描述输入S7中得到的安全需求与基线预测模型,并根据所述安全需求与基线预测模型得到的输出结果进行开发过程中的安全需求和安全基线的参考;
S9: 当有新的业务场景、安全需求、安全基线数据出现时,如果从业务场景到安全需求再到安全基线的关联关系是完整的,则纳入S1中的数据集作为增量数据,如果关联关系是非明确的,则纳入S4中的数据集作为增量数据;
当S1或S4中数据集的增量数据积累到超过预设的阈值量时,采用增量学习的方式重新训练链接预测模型或安全需求与基线预测模型。
在这个实施例中,S1构建的数据集是相对完整的数据集,也就是说节点之间的关联关系都是明确的。但是实际上,在实际实践过程中,数据集中的一些业务场景、安全需求、安全基线之间的关系可能并非完全明确,因此采用链接预测模型从图谱角度根据结构化方式对数据集进行完善后,再使用机器学习模型进行安全需求与基线预测模型,可以大大提高准确率。
在一些实施例中,还可以将安全需求与基线预测模型集成至DevSecOps体系中,所述DevSecOps体系涵盖软件开发和运维的全过程,包括需求收集、代码开发、构建、部署和持续监测。
DevSecOps 是一个软件工程文化和实践,它的目标是在 DevOps(开发和运维)的基础上增加安全考虑因素,以提高软件开发和部署的安全性。在 DevSecOps 中,安全措施并不是在软件开发周期的后期才被引入,而是从一开始就纳入到了整个生命周期中。DevSecOps 的目标是通过持续、自动化的方式来提高安全性,以适应快速迭代的软件开发过程。
为了将我们的安全需求与基线预测模型集成到 DevSecOps 体系中,我们可以采用以下步骤(如图3所示):
1、在收集业务需求时,利用模型为每一个新的业务需求自动预测出相应的安全需求和基线。这将帮助开发团队更早地了解到安全需求,从而在早期阶段就能考虑和规划安全相关的实现。
2、在代码开发阶段,通过集成开发环境 (IDE) 插件将模型直接嵌入到开发者的工作流程中。这样,开发者在编写代码时,可以实时获取当前业务场景下的安全需求和基线预测,以实时符合安全规范。
3、在自动构建和测试的过程中,模型可以作为静态代码分析 (SCA) 工具或动态应用安全测试 (DAST) 工具的一部分,对新生成的代码进行安全需求和基线的检查。
4、在自动部署阶段,模型可以被用来检查部署环境的安全需求和基线,以防止潜在的安全威胁。
5、在系统运行阶段,利用模型对新出现的业务场景进行安全需求和基线的预测,并根据预测结果自动调整安全策略。
将安全需求与基线预测模型集成到DevSecOps体系中,可以使得开发团队在项目的早期阶段就意识到和遵循安全需求,自动化的工具帮助提高了安全验证的效率,减少人为错误,实时监控与调整策略确保系统持续的安全性,从而简化了安全管理,使开发和运维过程更高效、更便捷。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
Claims (5)
1.一种基于场景化的安全需求分析方法,其特征在于,包括如下步骤:
S1: 构建数据集,该数据集包含从不同来源和渠道收集的大量业务场景描述以及与之关联的安全需求和所述安全需求对应的安全基线,其中:
所述安全基线表示所述安全需求对应的最低标准;该数据集中,每个业务场景关联至少一个安全需求,每个安全需求关联至少一个安全基线;
S2:构建安全图谱,其中节点代表不同的业务场景、安全需求和安全基线,边代表它们之间的关系,从业务场景节点指向安全需求节点,再从安全需求节点指向安全基线节点;
S3:通过自然语言处理技术提取S2中节点的特征,边的特征使用边的类型作为特征;所述类型包括两种,一种是业务场景和安全需求之间边,另一种是安全需求和安全基线之间的边;根据提取的特征,采用链接预测算法训练一个链接预测模型,该链接预测模型的目标是预测任意两个节点之间是否存在边;
S4:扩大S1中的数据集中的业务场景、安全需求和安全基线以及其对应的关联,并同时根据S2中的方法构造扩大的安全图谱,其中,扩大的安全图谱可以包括孤立的节点;
S5:采用S3中的链接预测模型预测扩大的安全图谱中的任意两个节点之间是否存在边,并在预测存在边时补上对应的边得到修正过的安全图谱;
S6:根据S5中得到的修正过的安全图谱得到一个新的数据集中,所述新的数据集中包含业务场景、安全需求和安全基线以及它们之间对应的关系,所述业务场景、安全需求和安全基线通过修正过的安全图谱的节点决定,所述对应的关系通过修正过的安全图谱的边决定;
所述业务场景的描述以文本形式存在,关联的安全需求和安全基线以标签的形式存在,每一种业务场景都对应一组或多组安全需求和安全基线标签;该数据集进一步被分为训练集和验证集,用于支持机器学习模型的训练和验证;
S7: 利用机器学习算法,包括但不限于基于Transformer架构的模型,利用S6中得到的训练集对模型进行训练,训练过程中,业务场景描述作为输入,对应的安全需求和安全基线标签作为模型预测的目标;模型通过学习业务场景描述与安全需求和安全基线标签的映射关系,进行参数优化;在训练结束后,利用验证集对模型进行效果验证和模型选择,得到最终的安全需求与基线预测模型;
S8: 当开发者需要知道一个业务场景对应需要的安全需求和安全基线时,开发者将业务场景描述输入S7中得到的安全需求与基线预测模型,并根据所述安全需求与基线预测模型得到的输出结果进行开发过程中的安全需求和安全基线的参考;
S9: 当有新的业务场景、安全需求、安全基线数据出现时,如果从业务场景到安全需求再到安全基线的关联关系是完整的,则纳入S1中的数据集作为增量数据,如果关联关系是非明确的,则纳入S4中的数据集作为增量数据;
当S1或S4中数据集的增量数据积累到超过预设的阈值量时,采用增量学习的方式重新训练链接预测模型或安全需求与基线预测模型。
2.根据权利要求1所述基于场景化的安全需求分析方法,其特征在于,所述方法还包括将安全需求与基线预测模型集成至DevSecOps体系中,所述DevSecOps体系涵盖软件开发和运维的全过程,包括需求收集、代码开发、构建、部署和持续监测。
3.根据权利要求1所述基于场景化的安全需求分析方法,其特征在于,S1中还包括使用词袋模型或TF-IDF或word2vec或BERT模型将文本数据转换为可以被机器学习算法理解的向量。
4.根据权利要求1所述基于场景化的安全需求分析方法,其特征在于,所述方法还包括:
设计并实现一个图形用户界面,使业务人员可以通过该界面输入具体的业务场景;
构建一个后端服务,该服务在接收到业务场景的输入后,调用已训练好的安全需求与基线预测模型,将输入的业务场景转换为模型能够接受的格式,并将结果传递给安全需求与基线预测模型;
安全需求与基线预测模型在处理输入数据后,输出对应的安全需求和基线,后端服务将这些输出转换为业务人员可以理解的格式,并通过图形用户界面展示给业务人员。
5.根据权利要求1所述基于场景化的安全需求分析方法,其特征在于,所述链接预测算法为TransE或TransH算法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311014088.8A CN116737111B (zh) | 2023-08-14 | 2023-08-14 | 一种基于场景化的安全需求分析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311014088.8A CN116737111B (zh) | 2023-08-14 | 2023-08-14 | 一种基于场景化的安全需求分析方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116737111A CN116737111A (zh) | 2023-09-12 |
CN116737111B true CN116737111B (zh) | 2023-10-13 |
Family
ID=87906385
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311014088.8A Active CN116737111B (zh) | 2023-08-14 | 2023-08-14 | 一种基于场景化的安全需求分析方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116737111B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117093935B (zh) * | 2023-10-16 | 2024-03-19 | 深圳海云安网络安全技术有限公司 | 一种业务系统的分类方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109683854A (zh) * | 2018-12-21 | 2019-04-26 | 北京国舜科技股份有限公司 | 一种软件安全需求分析方法及系统 |
CN109697050A (zh) * | 2019-01-07 | 2019-04-30 | 浙江大学 | 一种基于知识图谱面向电商领域的需求描述模型设计方法 |
CN112116078A (zh) * | 2020-09-22 | 2020-12-22 | 工业互联网创新中心(上海)有限公司 | 一种基于人工智能的信息安全基线学习方法 |
CN113011461A (zh) * | 2021-02-19 | 2021-06-22 | 中国科学院软件研究所 | 通过知识学习增强基于分类的软件需求跟踪链接恢复方法及电子装置 |
CN115599345A (zh) * | 2022-10-19 | 2023-01-13 | 四川中烟工业有限责任公司(Cn) | 一种基于知识图谱的应用安全需求分析推荐方法 |
CN115860118A (zh) * | 2022-12-06 | 2023-03-28 | 国家石油天然气管网集团有限公司 | 一种智慧管网知识模型的安全构建方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11662982B1 (en) * | 2021-11-19 | 2023-05-30 | International Business Machines Corporation | Intelligent recommendation for creation of software architectural diagrams |
-
2023
- 2023-08-14 CN CN202311014088.8A patent/CN116737111B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109683854A (zh) * | 2018-12-21 | 2019-04-26 | 北京国舜科技股份有限公司 | 一种软件安全需求分析方法及系统 |
CN109697050A (zh) * | 2019-01-07 | 2019-04-30 | 浙江大学 | 一种基于知识图谱面向电商领域的需求描述模型设计方法 |
CN112116078A (zh) * | 2020-09-22 | 2020-12-22 | 工业互联网创新中心(上海)有限公司 | 一种基于人工智能的信息安全基线学习方法 |
CN113011461A (zh) * | 2021-02-19 | 2021-06-22 | 中国科学院软件研究所 | 通过知识学习增强基于分类的软件需求跟踪链接恢复方法及电子装置 |
CN115599345A (zh) * | 2022-10-19 | 2023-01-13 | 四川中烟工业有限责任公司(Cn) | 一种基于知识图谱的应用安全需求分析推荐方法 |
CN115860118A (zh) * | 2022-12-06 | 2023-03-28 | 国家石油天然气管网集团有限公司 | 一种智慧管网知识模型的安全构建方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN116737111A (zh) | 2023-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2019261735B2 (en) | System and method for recommending automation solutions for technology infrastructure issues | |
Treveil et al. | Introducing MLOps | |
US11562304B2 (en) | Preventative diagnosis prediction and solution determination of future event using internet of things and artificial intelligence | |
AU2019216644B2 (en) | Automation and digitizalization of document processing systems | |
CN111695613B (zh) | 数据标注系统、计算机可读存储介质及电子设备 | |
JP2021121922A (ja) | 特徴抽出に基くマルチモデルトレーニング方法及び装置、電子機器と媒体 | |
US20220138345A1 (en) | System and method for recommending secure transfer measures for personal identifiable information in integration process data transfers | |
CN116737111B (zh) | 一种基于场景化的安全需求分析方法 | |
CN112529100B (zh) | 多分类模型的训练方法、装置、电子设备及存储介质 | |
CN114997263B (zh) | 基于机器学习的结训率分析方法、装置、设备及存储介质 | |
CA3216548A1 (en) | Industry specific machine learning applications | |
CN107329770A (zh) | 针对软件安全性bug修复的个性化推荐方法 | |
CN113658002B (zh) | 基于决策树的交易结果生成方法、装置、电子设备及介质 | |
Fracca et al. | Estimating activity start timestamps in the presence of waiting times via process simulation | |
CN115358728B (zh) | 基于云计算的erp数据处理方法 | |
US20240112065A1 (en) | Meta-learning operation research optimization | |
US11568177B2 (en) | Sequential data analysis apparatus and program | |
US20230385036A1 (en) | Mapping data models to facilitate code generation | |
CN112182069B (zh) | 代理人留存预测方法、装置、计算机设备及存储介质 | |
CN114493850A (zh) | 基于人工智能的在线公证方法、系统及存储介质 | |
Trivedi | Machine learning fundamental concepts | |
CN118151915B (zh) | 基于可视化技术的前端组件开发方法及系统 | |
CN118094639B (zh) | 基于人工智能的企业大数据挖掘方法及系统 | |
US20240303360A1 (en) | Artificial intelligence (ai) model trained using clustering and reinforcement learning for data de-identification engine | |
Siddeshwara et al. | Design and Development of Modern day Machine Learning Applications-A Survey |
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 |