CN114328265A - 一种软件安全性分析方法及系统 - Google Patents
一种软件安全性分析方法及系统 Download PDFInfo
- Publication number
- CN114328265A CN114328265A CN202210008623.8A CN202210008623A CN114328265A CN 114328265 A CN114328265 A CN 114328265A CN 202210008623 A CN202210008623 A CN 202210008623A CN 114328265 A CN114328265 A CN 114328265A
- Authority
- CN
- China
- Prior art keywords
- software
- failure mode
- sample
- requirement
- word
- 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
- 238000004458 analytical method Methods 0.000 title claims abstract description 68
- 238000003062 neural network model Methods 0.000 claims description 10
- 238000007477 logistic regression Methods 0.000 claims description 7
- 238000007781 pre-processing Methods 0.000 claims description 4
- 230000011218 segmentation Effects 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 claims 1
- 238000000034 method Methods 0.000 abstract description 17
- 238000012360 testing method Methods 0.000 abstract description 5
- 238000013461 design Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 16
- 230000018109 developmental process Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 238000011161 development Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 230000007547 defect Effects 0.000 description 4
- 238000009825 accumulation Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000009849 deactivation Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明涉及一种软件安全性分析方法及系统,属于软件开发和测试技术领域,解决了现有技术中软件安全性分析方法分析结果准确率低、可靠性差的问题。该方法包括:建立软件失效数据知识库;基于所述软件失效数据知识库,根据目标软件的需求文档和/或软件系统关键词为所述目标软件匹配相应的软件失效模式,根据所述软件失效模式更新所述目标软件的需求文档。该方法提高了软件安全性分析的效率和质量,进而减低软件质量风险。
Description
技术领域
本发明涉及软件开发和测试技术领域,尤其涉及一种软件安全性分析方法及系统。
背景技术
计算机的强大功能以及高度自动化的过程能力使系统的软件和硬件的复杂性显著增加。使得因人类所犯的错误而引起的设计故障的数目呈非线性增长。由于软件和硬件的复杂性,使得企图证明一个实际控制系统的计算机硬件和软件的设计是正确的,或企图证明系统内的失效机制已被完全消除,都成为徒劳无益的、对于人们又是力所不及的活动。加之对于大型复杂软件系统的穷举测试是不可能做到的,许多软件又不可能在实际环境中进行测试,使得软件系统的安全性问题显得更加突出。
软件安全性是保障整个系统安全性的重要条件。保证软件安全性的关键在于软件设计时综合考虑全部外部因素(包括各种异常条件),合理地设计、定义和分配功能、时序和接口,使得危险条件出现时软件可以处于一种安全的状态,并将可能的损失降低到最小。
需求是软件安全性设计的重要阶段,据统计,在我国航天航空等领域,超过70%的软件缺陷来自需求和架构等早期阶段,以某重点系统的统计数据为例,在需求审查中41%的软件问题与软件安全性需求相关,而软件工程化检查结果表明,关键级软件安全性需求密度仅达到0.67个/万行代码,国外同类水平为25-30个/万行代码。软件安全性工作缺失、安全性需求不足将给产品带来安全隐患。软件安全性可靠性不足的原因主要有以下几个方面:一是设计团队对软件定位认识不深,软件专业队伍人才短缺,对安全性需求分析及安全性设计主要依赖于团队经验;二是随着信息化技术的迅猛发展,软件规模和复杂度攀升,软件研制周期压缩,缺少安全性需求的充分分析。
现有技术中,主要通过下述方式进行软件安全性分析:根据系统安全性需求、环境需求、接口需求和系统危险分析报告,确定安全性关键需求;根据危险发生的可能性和严重性对安全性关键需求排序,并标识到需求规格说明中;根据软件安全性需求的功能描述和重要度排序,从系统危险清单选取系统危险,参照相似系统的常见失效模式,识别和分析系统危险所对应的软件失效模式;针对不同类型的软件失效模式,根据软件功能层次关系,分析其对本层、上一层和系统层的影响;逐类分析每一种失效模式产生的原因,并提出相对应的改进措施;将软件的失效模式、失效影响、失效原因和对应的改进措施进行记录,获得软件失效模式及影响分析表;依据软件失效模式,确定所分析的软件故障树顶事件;收集软件功能数据流及运行状态,分析导致顶事件故障的事件及其逻辑关系,构造故障树;分析故障树的底事件,获取相应的软件安全性需求。
现有技术中至少存在以下缺陷:对软件安全性的分析主要参照相似系统的常见失效模式,参照层面主要在系统层面上、缺少软件功能、接口、状态等设计要素具体层面上的参考,缺少软件设计要素、安全性可靠性准则、失效模式数据、项目案例的追溯关系,导致软件/FPGA软件安全性需求不足,给产品带来安全隐患。
发明内容
鉴于上述的分析,本发明旨在提供一种软件安全性分析方法,用以解决现有软件安全性分析方法效率低、可靠性差、安全隐患大的问题。
一方面,本发明提供了一种软件安全性分析方法,包括:
建立软件失效数据知识库;
基于所述软件失效数据知识库,根据目标软件的需求文档和/或软件系统关键词为所述目标软件匹配相应的软件失效模式,以及
根据所述软件失效模式更新所述目标软件的需求文档。
进一步的,所述根据目标软件的需求文档为所述目标软件匹配相应的软件失效模式,具体包括:
构建软件失效模式的特征词库;
利用中文分词算法将所述需求文档转换为词序列;
基于所述特征词库以及词序列利用TF-IDF算法获得需求文档对应的特征向量;
利用优化好的多类别分类神经网络模型基于所述需求文档的特征向量获得所述目标软件的软件失效模式。
进一步的,所述特征词库包括专家特征词库和GINI特征词库;具体通过下述方式构建所述GINI特征词库:
对样本库中的每一样本需求文档分别进行预处理获得所有样本需求文档对应的所有中文词;
计算获得每一中文词对应每一类软件失效模式的GINI指数值;
对于每一类软件失效模式,按照GINI指数值将其对应的中文词进行降序排序,并选取排序在前M位的中文词作为所述GINI特征词库中的特征词;
对于每一中文词,计算获得其对应每一类软件失效模式的GINI指数值的和,并按照GINI指数值的和对相应的中文词进行降序排序,并选取排序在前N位的中文词作为所述GINI特征词库中的特征词;
将所述每一类软件失效模式对应的前M位的特征词和所述前N位的特征词组成所述GINI特征词库。
进一步的,具体通过下述方式计算获得每一中文词对应每一类软件失效模式的GINI指数值:
其中,Mtotal为样本库中需求文档的总数量,Mi-true表示样本库中包含第i个中文词的样本需求文档的数量,Mi-false表示样本库中不包含第i个中文词的样本需求文档的数量;pi-true,j-true表示样本库中包含第i个中文词的所有样本需求文档中,匹配第j个软件失效模式的样本需求文档所占的比例;pi-true,j-false表示样本库中包含第i个中文词的所有样本需求文档中,不匹配第j个软件失效模式的样本需求文档所占的比例;pi-false,j-true表示样本库中不包含第i个中文词的所有样本需求文档中,匹配第j个软件失效模式的样本需求文档所占的比例;pi-false,j-false表示样本库不包含第i个中文词的所有样本需求文档中,不匹配第j个软件失效模式的样本需求文档所占的比例,其中,i的取值范围为[1,2,3...S],S表示样本库中包含的不同中文词的总数量,j的取值范围为[1,2,3...T],T表示软件失效模式的类别数量。
进一步的,具体通过下述方式获得目标软件的需求文档对应的特征向量:
通过下述公式计算获得所述特征向量中的每一元素值:
countk表示所述特征词库中第i个特征词在所述目标软件的需求文档中出现的总次数,countdoc-total为所述目标软件的需求文档中包含的中文词的总数量,wk'表示所述特征向量中第k个元素的元素值,k的取值范围为[1,2,3...Q],Q表示所述特征词库中特征词的数量。
进一步的,还包括:利用TF-IDF算法对所述特征向量进行修正:
其中wk为修正后的特征向量中的第k个元素的值,countsample-total为所述样本库中包含的所有中文词的数量,countsample-k为第k个特征词在所述样本库中出现的总次数。
进一步的,所述多类别分类神经网络模型包括依次连接的输入层、至少一个全连接隐藏层以及逻辑回归层;
所述输入层的节点数量与目标软件的需求文档对应的特征向量的元素数量相同;所述逻辑回归层的节点数量与软件失效模式的类别数量相同。
进一步的,每一类软件失效模式对应至少一个关键词;
所述根据目标软件的软件系统关键词为所述目标软件匹配相应的软件失效模式,具体包括:
获取所述软件系统的关键词,将所述软件系统的关键词与所述软件失效模式对应的关键词进行匹配,进而为所述目标软件匹配相应的软件失效模式。
进一步的,所述软件失效模式包括独立失效模式、组合失效模式、状态失效模式、场景失效模式、输入接口失效模式以及输出接口失效模式:
所述根据所述软件失效模式更新所述目标软件的需求文档,具体包括:
根据匹配的软件失效模式对目标软件进行安全性分析,确定目标软件的安全性需求及适用标准,进而更新所述目标软件的需求文档。
另一方面,本发明提供了一种软件安全性分析系统,包括:
知识库建立模块,用于建立软件失效数据知识库;
失效匹配模块,用于基于所述软件失效数据知识库,根据目标软件的需求文档和/或软件系统关键词为所述目标软件匹配相应的软件失效模式;
安全性分析更新模块,用于根据所述软件失效模式更新所述目标软件的需求文档。
与现有技术相比,本发明至少可实现如下有益效果之一:
1、本发明提出的软件安全性分析方法及系统,基于建立的软件失效数据知识库,为待分析目标软件匹配相应的软件失效模式,并进行相应的安全性分析,进而根据匹配的软件失效模式更新目标软件的需求文档,提高了软件安全性分析的效率和质量,为目标软件在可靠性安全性方面的设计、编码、测试提供指导,从而提升软件可靠性和安全性设计水平,降低了软件质量风险。
2、本发明提出的软件安全性分析方法及系统,根据需求文档的特征向量通过多分类神经网络模型能够自动匹配目标软件的软件失效模式,并基于软件失效数据知识库,可以自动分析出软件项目的安全性、可靠性需求,节省了软件开发人员分析的时间,可以有效提高效率。同时可以减少由于软件开发人员主观因素导致的安全性设计缺陷,进一步提高软件质量。
本发明中,上述各技术方案之间还可以相互组合,以实现更多的优选组合方案。本发明的其他特征和优点将在随后的说明书中阐述,并且,部分优点可从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过说明书以及附图中所特别指出的内容中来实现和获得。
附图说明
附图仅用于示出具体实施例的目的,而并不认为是对本发明的限制,在整个附图中,相同的参考符号表示相同的部件。
图1为本发明实施例软件安全性分析方法的流程图;
图2为本发明实施例执行软件安全性分析的示意图;
图3为本发明实施例软件安全性分析系统的示意图。
具体实施方式
下面结合附图来具体描述本发明的优选实施例,其中,附图构成本申请一部分,并与本发明的实施例一起用于阐释本发明的原理,并非用于限定本发明的范围。
本发明的一个具体实施例,公开了一种软件安全性分析方法。如图1 所示,该方法包括:
S110、建立软件失效数据知识库。
S120、基于所述软件失效数据知识库,根据目标软件的需求文档和/ 或软件系统关键词为所述目标软件匹配相应的软件失效模式,以及
S130、根据所述软件失效模式更新所述目标软件的需求文档。
优选的,依据国家标准、国家军用标准、行业标准中关于软件可靠性和安全性设计相关标准要求,软件/FPGA设计中正反两方面的可靠性和安全性设计经验,国内外相关的书籍、资料中对设计经验的积累,建立“软件设计要求-安全性可靠性准则-失效模式数据”的3层知识表示结构,进而构建软件失效数据知识库。软件失效数据知识库主要包括软件安全性分析准则集、软件安全失效模式库、项目案例库三个方面,三者之间存在固定的映射关系。具体如下:
软件安全性分析准则集:对于软件的每一个“设计要素”,软件安全性分析准则集根据国标等标准,将具体标准条款实例化为“设计要素”对应的安全性分析准则,覆盖标准中软件安全性需求所考虑的内容: a)安全运行模式、运行状态与安全条件;b)容错和容失效;c)危险命令处理; d)接口;e)数据;f)定时、吞吐量和规模等,以达到符合标准条款的目的。
软件安全失效模式库:即软件失效模式库,包括独立失效模式、组合失效模式、状态失效模式、场景失效模式、输入接口失效模式以及输出接口失效模式6个子库,分类与结构均来源于软件需求要素,一方面通过相似软件需求、实现相似失效模式的复用,另一方面通过覆盖软件需求、实现对软件需求无遗漏的安全性分析。
项目案例库:项目案例库使用标准规定的记录格式,将软件“输入”→“处理过程”→“输出”的失效传递过程、对应失效控制过程,以及软件安全性需求获取过程进行记录,形成对安全性项目结果的积累和迭代复用。
优选的,S120中,基于软件失效数据知识库,根据目标软件的需求文档为所述目标软件匹配相应的软件失效模式,具体包括:
S1201、构建软件失效模式的特征词库。
S1202、利用中文分词算法将所述需求文档转换为词序列;即将需求文档中的每一句子分为多个中文词。
S1203、基于所述特征词库以及词序列利用TF-IDF算法获得需求文档对应的特征向量;
S1204、利用优化好的多类别分类神经网络模型基于需求文档的特征向量获得所述目标软件的软件失效模式。
优选的,特征词库包括专家特征词库和GINI特征词库;S1201中,具体通过下述方式构建所述GINI特征词库:
S12011、对样本库中的每一样本需求文档分别进行预处理获得所有样本需求文档对应的所有中文词;具体的,样本库中包括多个需求文档以及每一需求文档对应匹配的软件失效模式。对每一需求文档进行预处理指的是使用停用词表去除需求文档中对匹配软件失效模式无意义的,如“的,了,着”等字,并使用中文分词算法对需求文档中的句子进行分词,从而获得需求文档对应的中文词,遍历每一需求文档进而获得样本库中包含的所有中文词。
S12012、计算获得样本库中每一中文词对应每一类软件失效模式的 GINI指数值;需要说明的是,存在相同的中文词时,无需对相同的中文词进行再次计算。
S12013、对于每一类软件失效模式,按照GINI指数值将其对应的中文词进行降序排序,并选取排序在前M位的中文词作为所述GINI特征词库中的特征词。
S12014、对于每一中文词,计算获得其对应每一类软件失效模式的 GINI指数值的和,并按照GINI指数值的和对相应的中文词进行降序排序,并选取排序在前N位的中文词作为所述GINI特征词库中的特征词;需要说明的是,相同中文词无需重复计算。
S12015、将每一类软件失效模式对应的前M位的特征词和S12014 中获得的前N位的特征词组成所述GINI特征词库,即获得的GINI特征词库中包括的特征词的数量为a×M+N,其中,a表示软件失效模式的类别数量。
优选的,S12012中,具体通过下述方式计算获得每一中文词对应每一类软件失效模式的GINI指数值:
其中,Mtotal为样本库中需求文档的总数量,Mi-true表示样本库中包含第i个中文词的样本需求文档的数量,Mi-false表示样本库中不包含第i个中文词的样本需求文档的数量;pi-true,j-true表示样本库中包含第i个中文词的所有样本需求文档中,匹配第j个软件失效模式的样本需求文档所占的比例;pi-true,j-false表示样本库中包含第i个中文词的所有样本需求文档中,不匹配第j个软件失效模式的样本需求文档所占的比例;pi-false,j-true表示样本库中不包含第i个中文词的所有样本需求文档中,匹配第j个软件失效模式的样本需求文档所占的比例;pi-false,j-false表示样本库中不包含第i个中文词的所有样本需求文档中,不匹配第j个软件失效模式的样本需求文档所占的比例,其中,i的取值范围为[1,2,3...S],S表示样本库中包含的不同中文词的总数量,j的取值范围为[1,2,3...T],T表示软件失效模式的类别数量。
优选的,S1203中,具体通过下述方式获得目标软件的需求文档对应的特征向量:
通过下述公式计算获得所述特征向量中的每一元素值:
countk表示所述特征词库中第i个特征词在所述目标软件的需求文档中出现的总次数,countdoc-total为所述目标软件的需求文档中包含的中文词的总数量,wk'表示所述特征向量中第k个元素的元素值,k的取值范围为[1,2,3...Q],Q表示所述特征词库中特征词的数量。
优选的,为了进一步提高特征向量的准确性以及软件安全性分析的准确性,还包括:利用TF-IDF算法对所述特征向量进行修正:
其中wk为修正后的特征向量中的第k个元素的值,countsample-total为所述样本库中包含的所有中文词的数量,countsample-k为第k个特征词在所述样本库中出现的总次数。
优选的,所述多类别分类神经网络模型包括依次连接的输入层、至少一个全连接隐藏层以及逻辑回归层;优选的,包括三个全连接隐藏层,每一全连接隐藏层包括4096个节点。
所述输入层的节点数量与目标软件的需求文档对应的特征向量的元素数量相同;所述逻辑回归层的节点数量与软件失效模式的类别数量相同。
在训练多类别分类神经网络模型计算训练样本误差时,误差值等于逻辑回归层所有节点的误差值之和。在使用本模型匹配目标软件的软件失效模式时,通过判断模型输出矢量的每个元素值是否大于0.5,来推测目标软件是否匹配相应的软件失效模式,大于0.5时,判定目标软件匹配该类软件失效模式;否则,判定目标软件不匹配该类软件失效模式。
优选的,每一类软件失效模式对应至少一个关键词;
所述根据目标软件的软件系统为所述目标软件匹配相应的软件失效模式,具体包括:
获取所述软件系统的功能、接口、状态等关键词,将所述软件系统的关键词与所述软件失效模式对应的关键词进行匹配,具体可以通过字符串匹配进行关键词匹配,进而为所述目标软件匹配相应的软件失效模式。
优选的,所述软件失效模式包括独立失效模式、组合失效模式、状态失效模式、场景失效模式、输入接口失效模式以及输出接口失效模式。
如图2所示,在实际应用中,当软件处于开发阶段,还未生成相应的需求文档或开发文档时,可以根据软件系统功能、接口、状态等关键词进行软件失效模式匹配,基于软件失效数据知识库,根据软件失效模式获得相应的安全性、可靠性分析结果以及适用标准,软件开发人员可以据此生成初步的软件需求文档或者开发文档,并基于软件需求文档或者开发文档采用多类别分类神经网络模型匹配相应的软件失效模式,进而对初步软件需求文档或开发文档进行更新、完善及改进,从而提高软件安全性和可靠性。
所述根据所述软件失效模式更新所述目标软件的需求文档,具体包括:
根据匹配的软件失效模式对目标软件进行安全性分析,确定目标软件的安全性需求及适用标准,进而更新所述目标软件的需求文档。
具体的,输入接口失效分析:基于软件输入接口分析失效原因,识别软件输入接口的失效模式,包括软件接口数据、时序、通信、故障处理等失效模式,实现输入接口安全性分析。
输出接口失效分析:基于软件输出接口分析失效原因,识别软件输出接口的失效模式,包括软件接口数据、时序、通信等失效模式,实现输出接口安全性分析。
独立功能失效分析:基于软件功能分析失效原因,识别软件独立功能的失效模式,包括软件功能的数据、时序、故障处理等独立失效模式,实现独立功能安全性分析。
组合功能失效分析:基于功能之间的层次、从属关系,识别软件多功能的组合失效模式,包括多功能数据处理、时序处理、故障处理等组合失效模式,再结合独立功能失效分析结果,实现组合功能的安全性分析。
状态失效分析:基于软件工作状态,识别软件工作状态存在的失效模式,包括软件状态进入/退出条件、状态冲突、转移条件、状态异常、非法状态等失效模式,实现状态的安全性分析。
场景失效分析:基于软件工作状态,识别场景的失效模式,包括软件场景顺序异常、时序异常、错误场景、场景关键数据取值等失效模式,实现场景的安全性分析。
失效模式匹配的标准数据:建立每类失效模式与适用标准(国家标准、国家军用标准、行业标准)之间的对应关系,获取失效模式适用的标准。
具体的,软件失效数据知识库中包括软件失效模式以及与软件失效模式相对应的安全性、可靠性需求结果以及适用标准,获取目标软件的软件失效模式后,可直接将其对应的安全性、可靠性需求结果以及适用标准推送给软件开发人员,从而有助于软件开发人员根据推送结果对软件的需求文档和/或软件系统进行更新、完善及改进,从而提高软件的安全性以及可靠性。
本发明的另一个实施例,公开了一种软件安全性分析系统。
由于该系统实施例与前述方法实施例基于相同的工作原理,重复之处可以参考前述方法实施例,在此不再赘述。
具体的,如图3所示,该系统包括:
知识库建立模块110,用于建立软件失效数据知识库。
失效匹配模块120,用于基于所述软件失效数据知识库,根据目标软件的需求文档和/或软件系统关键词为所述目标软件匹配相应的软件失效模式,以及;
安全性分析更新模块130,用于根据所述软件失效模式更新所述目标软件的需求文档。
本发明实施例公开的提出软件安全性分析方法及系统,首先,基于建立的软件失效数据知识库,为待分析目标软件匹配相应的软件失效模式,并进行相应的安全性分析,进而根据匹配的软件失效模式更新目标软件的需求文档,提高了软件安全性分析的效率和质量,为目标软件在可靠性安全性方面的设计、编码、测试提供指导,从而提升软件可靠性和安全性设计水平,降低了软件质量风险。其次,本发明实施例公开的软件安全性分析方法及系统,根据需求文档的特征向量通过多分类神经网络模型能够自动匹配目标软件的软件失效模式,并基于软件失效数据知识库,可以自动分析出软件项目的安全性、可靠性需求,节省了软件开发人员分析的时间,可以有效提高效率。同时可以减少由于软件开发人员主观因素导致的安全性设计缺陷,进一步提高软件质量。
本领域技术人员可以理解,实现上述实施例方法的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读存储介质中。其中,所述计算机可读存储介质为磁盘、光盘、只读存储记忆体或随机存储记忆体等。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
Claims (10)
1.一种软件安全性分析方法,其特征在于,包括:
建立软件失效数据知识库;
基于所述软件失效数据知识库,根据目标软件的需求文档和/或软件系统关键词为所述目标软件匹配相应的软件失效模式,以及
根据所述软件失效模式更新所述目标软件的需求文档。
2.根据权利要求1所述的软件安全性分析方法,其特征在于,所述根据目标软件的需求文档为所述目标软件匹配相应的软件失效模式,具体包括:
构建软件失效模式的特征词库;
利用中文分词算法将所述需求文档转换为词序列;
基于所述特征词库以及词序列利用TF-IDF算法获得需求文档对应的特征向量;
利用优化好的多类别分类神经网络模型基于所述需求文档的特征向量获得所述目标软件的软件失效模式。
3.根据权利要求2所述的软件安全性分析方法,其特征在于,所述特征词库包括专家特征词库和GINI特征词库;具体通过下述方式构建所述GINI特征词库:
对样本库中的每一样本需求文档分别进行预处理获得所有样本需求文档对应的所有中文词;
计算获得每一中文词对应每一类软件失效模式的GINI指数值;
对于每一类软件失效模式,按照GINI指数值将其对应的中文词进行降序排序,并选取排序在前M位的中文词作为所述GINI特征词库中的特征词;
对于每一中文词,计算获得其对应每一类软件失效模式的GINI指数值的和,并按照GINI指数值的和对相应的中文词进行降序排序,并选取排序在前N位的中文词作为所述GINI特征词库中的特征词;
将所述每一类软件失效模式对应的前M位的特征词和所述前N位的特征词组成所述GINI特征词库。
4.根据权利要求3所述的软件安全性分析方法,其特征在于,具体通过下述方式计算获得每一中文词对应每一类软件失效模式的GINI指数值:
其中,Mtotal为样本库中需求文档的总数量,Mi-true表示样本库中包含第i个中文词的样本需求文档的数量,Mi-false表示样本库中不包含第i个中文词的样本需求文档的数量;pi-true,j-true表示样本库中包含第i个中文词的所有样本需求文档中,匹配第j个软件失效模式的样本需求文档所占的比例;pi-true,j-false表示样本库中包含第i个中文词的所有样本需求文档中,不匹配第j个软件失效模式的样本需求文档所占的比例;pi-false,j-true表示样本库不包含第i个中文词的所有样本需求文档中,匹配第j个软件失效模式的样本需求文档所占的比例;pi-false,j-false表示样本库中不包含第i个中文词的所有样本需求文档中,不匹配第j个软件失效模式的样本需求文档所占的比例,其中,i的取值范围为[1,2,3...S],S表示样本库中包含的不同中文词的总数量,j的取值范围为[1,2,3...T],T表示软件失效模式的类别数量。
7.根据权利要求2或3所述的软件安全性分析方法,其特征在于,所述多类别分类神经网络模型包括依次连接的输入层、至少一个全连接隐藏层以及逻辑回归层;
所述输入层的节点数量与目标软件的需求文档对应的特征向量的元素数量相同;所述逻辑回归层的节点数量与软件失效模式的类别数量相同。
8.根据权利要求1所述的软件安全性分析方法,其特征在于,每一类软件失效模式对应至少一个关键词;
所述根据目标软件的软件系统关键词为所述目标软件匹配相应的软件失效模式,具体包括:
获取所述软件系统的关键词,将所述软件系统的关键词与所述软件失效模式对应的关键词进行匹配,进而为所述目标软件匹配相应的软件失效模式。
9.根据权利要求1、2、8任意一项所述的软件安全性分析方法,其特征在于,所述软件失效模式包括独立失效模式、组合失效模式、状态失效模式、场景失效模式、输入接口失效模式以及输出接口失效模式:
所述根据所述软件失效模式更新所述目标软件的需求文档,具体包括:
根据匹配的软件失效模式对目标软件进行安全性分析,确定目标软件的安全性需求及适用标准,进而更新所述目标软件的需求文档。
10.一种软件安全性分析系统,其特征在于,包括:
知识库建立模块,用于建立软件失效数据知识库;
失效匹配模块,用于基于所述软件失效数据知识库,根据目标软件的需求文档和/或软件系统关键词为所述目标软件匹配相应的软件失效模式;
安全性分析更新模块,用于根据所述软件失效模式更新所述目标软件的需求文档。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210008623.8A CN114328265A (zh) | 2022-01-05 | 2022-01-05 | 一种软件安全性分析方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210008623.8A CN114328265A (zh) | 2022-01-05 | 2022-01-05 | 一种软件安全性分析方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114328265A true CN114328265A (zh) | 2022-04-12 |
Family
ID=81024794
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210008623.8A Pending CN114328265A (zh) | 2022-01-05 | 2022-01-05 | 一种软件安全性分析方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114328265A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116149992A (zh) * | 2022-12-16 | 2023-05-23 | 中国航空综合技术研究所 | 航空机载软件安全性分析规则的关联推送方法及其系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150286712A1 (en) * | 2014-04-03 | 2015-10-08 | GM Global Technology Operations LLC | Function-based method for classifying and fusing system behavior information in product development |
CN105975573A (zh) * | 2016-05-04 | 2016-09-28 | 北京广利核系统工程有限公司 | 一种基于knn的文本分类方法 |
CN108255728A (zh) * | 2018-01-18 | 2018-07-06 | 中国电子产品可靠性与环境试验研究所((工业和信息化部电子第五研究所)(中国赛宝实验室)) | 软件的失效模式的识别方法及装置 |
CN110442324A (zh) * | 2019-06-18 | 2019-11-12 | 湖南大学 | 一种软件需求文本表述缺陷检测方法、系统以及计算机存储介质 |
CN112463642A (zh) * | 2020-12-16 | 2021-03-09 | 北京京航计算通讯研究所 | 一种基于故障模式的软件设计缺陷核查方法及系统 |
CN113849401A (zh) * | 2021-09-18 | 2021-12-28 | 航天中认软件测评科技(北京)有限责任公司 | 一种基于dfmea的fpga软件故障模式分析方法和装置 |
-
2022
- 2022-01-05 CN CN202210008623.8A patent/CN114328265A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150286712A1 (en) * | 2014-04-03 | 2015-10-08 | GM Global Technology Operations LLC | Function-based method for classifying and fusing system behavior information in product development |
CN105975573A (zh) * | 2016-05-04 | 2016-09-28 | 北京广利核系统工程有限公司 | 一种基于knn的文本分类方法 |
CN108255728A (zh) * | 2018-01-18 | 2018-07-06 | 中国电子产品可靠性与环境试验研究所((工业和信息化部电子第五研究所)(中国赛宝实验室)) | 软件的失效模式的识别方法及装置 |
CN110442324A (zh) * | 2019-06-18 | 2019-11-12 | 湖南大学 | 一种软件需求文本表述缺陷检测方法、系统以及计算机存储介质 |
CN112463642A (zh) * | 2020-12-16 | 2021-03-09 | 北京京航计算通讯研究所 | 一种基于故障模式的软件设计缺陷核查方法及系统 |
CN113849401A (zh) * | 2021-09-18 | 2021-12-28 | 航天中认软件测评科技(北京)有限责任公司 | 一种基于dfmea的fpga软件故障模式分析方法和装置 |
Non-Patent Citations (2)
Title |
---|
YING-CHAO WANG等: "FPGA Software Security Testing Excitation Random Generation Based on SFMEA and SFTA", 《2019 6TH INTERNATIONAL CONFERENCE ON DEPENDABLE SYSTEMS AND THEIR APPLICATIONS (DSA)》, 26 March 2020 (2020-03-26), pages 465 - 469 * |
何鑫: "软件安全性与可靠性分析技术研究", 《计算机测量与控制》, vol. 20, no. 11, 13 March 2013 (2013-03-13), pages 3017 - 3020 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116149992A (zh) * | 2022-12-16 | 2023-05-23 | 中国航空综合技术研究所 | 航空机载软件安全性分析规则的关联推送方法及其系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11790256B2 (en) | Analyzing test result failures using artificial intelligence models | |
CN111459799B (zh) | 一种基于Github的软件缺陷检测模型建立、检测方法及系统 | |
US8312440B2 (en) | Method, computer program product, and hardware product for providing program individuality analysis for source code programs | |
CN113326244B (zh) | 一种基于日志事件图和关联关系挖掘的异常检测方法 | |
CN107862327B (zh) | 一种基于多特征的安全缺陷识别系统和方法 | |
CN110543422A (zh) | 一种用于fpr的软件包代码缺陷数据处理方法、系统及介质 | |
CN113778894A (zh) | 测试用例的构建方法、装置、设备及存储介质 | |
CN113722719A (zh) | 针对安全拦截大数据分析的信息生成方法及人工智能系统 | |
CN117215935A (zh) | 一种基于多维度代码联合图表示的软件缺陷预测方法 | |
CN114329482A (zh) | 基于排序的c/c++漏洞及其补丁间链接恢复系统及方法 | |
CN107577738A (zh) | 一种通过svm文本挖掘处理数据的fmeca方法 | |
CN110806962A (zh) | 日志级别的预测方法、设备及存储介质 | |
CN112463642B (zh) | 一种基于故障模式的软件设计缺陷核查方法及系统 | |
US11586976B2 (en) | Method and apparatus for creating tests for execution in a storage environment | |
CN111240971A (zh) | 风控规则测试用例的生成方法、装置、服务器和存储介质 | |
CN114328265A (zh) | 一种软件安全性分析方法及系统 | |
CN116340172A (zh) | 基于测试场景的数据收集方法、装置及测试用例检测方法 | |
CN112463641B (zh) | 一种用于软件缺陷核查的故障模式集构建方法及系统 | |
Li et al. | Arb-bert: An automatic aging-related bug report classification method based on bert | |
CN113723436A (zh) | 数据的处理方法、装置、计算机设备和存储介质 | |
US10120652B2 (en) | System and method for representing software development requirements into standard diagrams | |
KR102563376B1 (ko) | 문장 데이터 클래스 분류 및 클래스 사전 생성을 위한 신경망 학습 방법 | |
CN117150439B (zh) | 基于多源异构数据融合的汽车制造参数检测方法及系统 | |
CN111881128B (zh) | 大数据回归验证方法及大数据回归验证装置 | |
CN117193718A (zh) | 一种有效的软件需求可跟踪性链接恢复的机器学习方法 |
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 |