CN117892313A - 软件安全漏洞预测方法、装置、计算机设备及存储介质 - Google Patents
软件安全漏洞预测方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN117892313A CN117892313A CN202410058110.7A CN202410058110A CN117892313A CN 117892313 A CN117892313 A CN 117892313A CN 202410058110 A CN202410058110 A CN 202410058110A CN 117892313 A CN117892313 A CN 117892313A
- Authority
- CN
- China
- Prior art keywords
- vulnerability
- software
- target
- security
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 63
- 239000013598 vector Substances 0.000 claims abstract description 47
- 230000015654 memory Effects 0.000 claims description 28
- 238000012549 training Methods 0.000 claims description 18
- 230000005587 bubbling Effects 0.000 claims description 15
- 238000013528 artificial neural network Methods 0.000 claims description 13
- 230000008569 process Effects 0.000 claims description 12
- 238000012986 modification Methods 0.000 claims description 11
- 230000004048 modification Effects 0.000 claims description 11
- 238000011176 pooling Methods 0.000 claims description 10
- 230000003993 interaction Effects 0.000 claims description 9
- 238000013527 convolutional neural network Methods 0.000 claims description 7
- 230000009193 crawling Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 10
- 238000007781 pre-processing Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- 238000012423 maintenance Methods 0.000 description 5
- 238000012163 sequencing technique Methods 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 4
- 230000007123 defense Effects 0.000 description 4
- 238000005065 mining Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000007849 functional defect Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及软件安全漏洞技术领域,公开了一种软件安全漏洞预测方法、装置、计算机设备及存储介质。其中,方法包括:获取至少两个目标软件基于时间序列排布的目标时间漏洞数据和基于大小序列排布的目标版本漏洞数据;根据目标时间漏洞数据和目标版本漏洞数据确定多个特征参数中每个特征参数对应的目标特征向量;其中,多个特征参数为影响目标软件产生安全漏洞的多个漏洞标签信息对应的参数;通过训练好的预测模型基于每个特征参数对应的目标特征向量预测至少两个目标软件的安全漏洞概率。本发明最终提升了软件安全漏洞预测效率和精度,无需依赖人工经验,解决了由度量元选择引发的预测结果不稳定的问题。
Description
技术领域
本发明涉及软件安全漏洞技术领域,具体涉及一种软件安全漏洞预测方法、装置、计算机设备及存储介质。
背景技术
软件安全漏洞是由于开发过程或者维护过程中存在的错误而产生的、导致计算机无法正常运行的错误或者功能性缺陷。如果缺陷没有被及时发现或者修复,则可能会影响软件系统的功能,从而造成巨大的财产损失甚至威胁人身安全。
一套系统通常是由多个软件组成的,由于人力和计算资源的限制,要对系统中所有的软件和组件做全面的安全测试或漏洞挖掘是不现实的。这就需要一种技术能够帮助软件开发人员或运维人员确定哪些软件或组件具有最大的安全风险(即最有可能存在安全漏洞)。软件开发人员或运维人员可以根据安全漏洞预测结果做出风险管理决策,指导安全测试和漏洞挖掘的方向,制订软件安全防御工作的优先级。
相关技术中,软件安全漏洞预测技术通常是根据软件历史开发数据以及已发现的安全漏洞数据,来预测软件项目中的安全漏洞的数目和类型。目前研究者主要通过定义与软件安全漏洞强相关的度量,来实现安全漏洞的预测。这种基于软件度量的软件安全漏洞预测方法,首先从开源公共仓库或者开源社区中抽取软件历史开发数据,然后通过人工方式定义与软件安全漏洞强相关的度量元(例如,软件代码行数、内部函数调用数量、外部函数调用数量、函数嵌套的最大层数等),提取对应的度量特征,从而构造出安全漏洞数据集,最后通过软件安全漏洞数据集训练软件安全漏洞预测模型,并利用模型预测目标程序模块的软件安全漏洞信息。该方式基于手工定义与软件安全漏洞相关的度量元,软件安全漏洞预测结果的优劣直接取决于度量元的选择,其需要依赖人工经验确定度量元,导致预测结果不够高效和准确。
发明内容
有鉴于此,本发明提供了一种软件安全漏洞预测方法、装置、计算机设备及存储介质,以解决基于手工定义与软件安全漏洞相关的度量元,软件安全漏洞预测结果的优劣直接取决于度量元的选择,其需要依赖人工经验确定度量元,导致预测结果不够高效和准确的问题。
根据第一方面,本实施例提供一种软件安全漏洞预测方法,方法包括:
获取至少两个目标软件基于时间序列排布的目标时间漏洞数据和基于大小序列排布的目标版本漏洞数据;
根据目标时间漏洞数据和目标版本漏洞数据确定多个特征参数中每个特征参数对应的目标特征向量;其中,多个特征参数为影响目标软件产生安全漏洞的多个漏洞标签信息对应的参数;
通过训练好的预测模型基于每个特征参数对应的目标特征向量预测至少两个目标软件的安全漏洞概率;其中,预测模型包括至少一个选择子模型,选择子模型用于基于选择子模型的选择基数和至少两个目标软件的数量,采用冒泡排序方式预测至少两个目标软件的安全漏洞概率;其中,至少两个目标软件的数量大于选择子模型的选择基数。
通过执行上述实施方式,可以辅助软件开发人员或运维人员根据目标软件的安全漏洞预测结果,确定哪些目标软件或目标组件具有最大的安全风险,并据此做出风险管理决策、指导安全测试和漏洞挖掘的方向、制订软件安全防御工作的优先级,并且,最终提升了软件安全漏洞预测效率和精度,无需依赖人工经验,解决了由度量元选择引发的预测结果不稳定的问题。
在一种可选的实施方式中,若安全漏洞概率大于预设阈值,则目标软件产生安全漏洞;
若安全漏洞概率小于或等于预设阈值,则目标软件未产生安全漏洞。
通过执行上述实施方式,最终有利于确定目标软件是否产生安全漏洞。
在一种可选的实施方式中,获取目标软件基于时间序列排布的时间漏洞数据和基于大小序列排布的版本漏洞数据,包括:
从预设数据库中获取目标软件的目标初始漏洞数据;
基于目标软件的名称,和/或版本号,和/或漏洞编号,和/或漏洞发现者,和/或漏洞描述语言种类,和/或漏洞描述语言,和/或攻击向量,和/或漏洞利用方式,和/或攻击获得权限,和/或对保密性的影响,和/或对完整性的影响,和/或对可用性的影响,和/或漏洞基础评分,和/或漏洞严重程度,和/或漏洞利用评分,和/或漏洞影响评分,和/或所需用户交互程度,和/或漏洞发布日期,和/或漏洞修改日期,解析目标初始漏洞数据;
分割目标初始漏洞数据以形成第一索引表和第二索引表,第一索引表记录目标软件基于时间序列排布的目标时间漏洞数据,第二索引表记录目标软件基于大小序列排布的目标版本漏洞数据。
通过执行上述实施方式,可以从预设数据库解析出满足要求的时间维度序列化数据和版本序列化数据,最终有利于通过预测模型实现对目标软件的安全漏洞的精准预测。
在一种可选的实施方式中,通过软件安全漏洞趋势嵌入模型基于预设序列长度对目标时间漏洞数据和目标版本漏洞数据的集合进行序列截取;
软件安全漏洞趋势嵌入模型通过输入层、隐藏层和输出层构成循环神经网络,其中,隐藏层为具有512个节点的LSTM结构,隐藏层和输出层之间为全连接神经网络结构。
在一种可选的实施方式中,多个特征参数包括目标软件基于预设时间产生安全漏洞的漏洞数量、目标软件的基于预设时间产生安全漏洞的漏洞类型、目标软件的升级版本产生安全漏洞的漏洞数量,目标软件的升级版本产生安全漏洞的漏洞类型。
通过执行上述实施方式,有利于将目标软件的安全漏洞数据进行序列化处理,并标记出影响目标软件产生安全漏洞的多个漏洞标签信息。
在一种可选的实施方式中,选择子模型的选择基数为至少为二,当选择子模型的选择基数至少为二时,该选择子模型为二选一选择子模型,该选择子模型通过卷积层、池化层、全连接层构成卷积神经网络。
在一种可选的实施方式中,基于至少两个目标软件的数量和选择子模型的选择基数,采用组合方式对至少两个目标软件进行分组。
在一种可选的实施方式中,预测模型通过以下方式获取:
从预设数据库中获取测验软件的历史初始漏洞数据;
基于测验软件的名称,和/或版本号,和/或漏洞编号,和/或漏洞发现者,和/或漏洞描述语言种类,和/或漏洞描述语言,和/或攻击向量,和/或漏洞利用方式,和/或攻击获得权限,和/或对保密性的影响,和/或对完整性的影响,和/或对可用性的影响,和/或漏洞基础评分,和/或漏洞严重程度,和/或漏洞利用评分,和/或漏洞影响评分,和/或所需用户交互程度,和/或漏洞发布日期,和/或漏洞修改日期,解析历史初始漏洞数据;
分割历史初始漏洞数据以形成第一索引表和第二索引表,第一索引表记录测验软件基于时间序列排布的历史时间漏洞数据,第二索引表记录大小序列排布的历史版本漏洞数据;
从历史时间漏洞数据和历史版本漏洞数据中,分别提取测验软件基于预设时间产生安全漏洞的漏洞数量、测验软件的基于预设时间产生安全漏洞的漏洞类型、测验软件的升级版本产生安全漏洞的漏洞数量,升级版本产生安全漏洞的漏洞类型对应的历史特征向量;
基于历史特征向量对预测模型进行训练,以得到预测模型,预测模型包括至少一个选择子模型,在训练过程中,选择子模型用于基于选择子模型的选择基数和至少两个测验软件的数量,采用冒泡排序方式预测至少两个测验软件的安全漏洞概率。
通过执行上述实施方式,当对多个测验软件的安全风险进行排序时(即,按照存在安全漏洞的可能性高低进行排序),利用测验软件训练预测模型,并依次对每2个软件的安全漏洞进行预测,基于预测的结果采用冒泡方式,逐步将最有可能存在安全漏洞的软件选择出来,最终形成测验软件安全风险的排序结果,进而有利于训练好预测模型。
根据第二方面,本实施例提供一种软件安全漏洞预测装置,装置包括:
漏洞数据获取模块,用于获取至少两个目标软件基于时间序列排布的目标时间漏洞数据和基于大小序列排布的目标版本漏洞数据;
特征向量确定模块,用于根据目标时间漏洞数据和目标版本漏洞数据确定多个特征参数中每个特征参数对应的目标特征向量;其中,多个特征参数为影响目标软件产生安全漏洞的多个漏洞标签信息对应的参数;
安全漏洞预测模块,用于通过训练好的预测模型基于每个特征参数对应的目标特征向量预测至少两个目标软件的安全漏洞概率;其中,预测模型包括至少一个选择子模型,选择子模型用于基于选择子模型的选择基数和至少两个目标软件的数量,采用冒泡排序方式预测至少两个目标软件的安全漏洞概率。
根据第三方面,本实施例提供一种计算机设备,包括:
存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行第一方面或第一方面任一实施方式中的软件安全漏洞预测方法。
根据第四方面,本实施例提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机指令,计算机指令用于使计算机执行第一方面或第一方面任一实施方式中的软件安全漏洞预测方法。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的软件安全漏洞预测方法的流程示意图;
图2是根据本发明实施例的软件安全漏洞风险排序示意图;
图3是根据本发明实施例的又一软件安全漏洞预测方法的流程示意图;
图4是根据本发明实施例的软件安全漏洞趋势嵌入模块的软件安全漏洞预测流程示意图;
图5是根据本发明实施例的再一软件安全漏洞预测方法的流程示意图;
图6是根据本发明实施例的软件安全漏洞趋势模型示意图;
图7是根据本发明实施例的软件安全漏洞系统架构的结构示意图;
图8是根据本发明实施例的软件安全漏洞预测装置的结构框图;
图9是本发明实施例的计算机设备的硬件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
根据本发明实施例,提供了一种软件安全漏洞预测方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在本实施例中提供了一种软件安全漏洞预测方法,可用于本实施例中的移动终端,如手机、平板电脑等(结合实际情况描述执行主体),图1是根据本发明实施例的软件安全漏洞预测方法的流程图,如图1所示,该流程包括如下步骤:
步骤S101,获取至少两个目标软件基于时间序列排布的目标时间漏洞数据和基于大小序列排布的目标版本漏洞数据。
具体地,本实施例从两个不同维度获取目标软件的序列化安全漏洞数据。例如,本实施例将所获得的目标软件的目标初始漏洞数据按时间、版本两个维度进行序列化处理。在时间维度上,本实施例将同一目标软件的所有漏洞信息按照时间的先后顺序进行排序,形成时间维度序列化数据;在版本维度上,本实施例将同一目标软件的所有漏洞信息按照版本由小到大的顺序进行排序,形成版本维度序列化数据。
其中,上述中的目标初始漏洞数据是从国家漏洞数据库(NVD)等漏洞信息发布网站爬取得到,并对目标软件的目标初始漏洞数据进行解析,从中获取软件名称、软件版本号、漏洞CVE编号等19项信息。
在本实施例中,目标软件的数量至少为2个,也可以为2个或2个以上,不限于2个,本实施例中的目标软件的数量至少为2个。
在本实施例中,上述步骤S101,是通过软件安全漏洞爬取与预处理模块获取。
步骤S102,根据目标时间漏洞数据和目标版本漏洞数据确定多个特征参数中每个特征参数对应的目标特征向量;其中,多个特征参数为影响目标软件产生安全漏洞的多个漏洞标签信息对应的参数。
示例性地,对于时间维度序列化数据(目标时间漏洞数据)对应的特征参数可以是通过计算某一漏洞信息发布时间后1年内的漏洞数量,形成该漏洞信息的真实标签信息;对于版本维度序列化数据(目标版本漏洞数据),本实施例通过计算某一漏洞信息的升级版本所存在的漏洞数量,形成该漏洞信息的真实标签信息。在此基础上,本实施例最终可以将漏洞信息与其标签信息以TFRecord的形式存储为训练样本集和验证样本集。
在一示例中,当目标软件的数量为1个时,目标时间漏洞数据和目标版本漏洞数据确定多个特征参数中每个特征参数对应的目标特征向量可以为(Vt),进而实现1个目标软件安全漏洞趋势特征到实数向量空间的映射。但在本实施例中目标软件至少为2个。
在另一示例中,当目标软件的数量为2个时,目标时间漏洞数据和目标版本漏洞数据确定多个特征参数中每个特征参数对应的目标特征向量可以为(Vt,Vt',),进而实现2个目标软件安全漏洞趋势特征到实数向量空间的映射。
在另一示例中,当目标软件的数量为3个时,目标时间漏洞数据和目标版本漏洞数据确定多个特征参数中每个特征参数对应的目标特征向量可以为(Vt,Vt',Vt”,),进而实现3个目标软件安全漏洞趋势特征到实数向量空间的映射。
在本实施例中,步骤S102是通过软件安全漏洞趋势嵌入模块进行处理。
步骤S103,通过训练好的预测模型基于每个特征参数对应的目标特征向量预测至少两个目标软件的安全漏洞概率;其中,预测模型包括至少一个选择子模型,选择子模型用于基于选择子模型的选择基数和至少两个目标软件的数量,采用冒泡排序方式预测至少两个目标软件的安全漏洞概率;其中,至少两个目标软件的数量大于选择子模型的选择基数。
具体地,在本实施例中选择子模型的选择基数为二,因此,该选择子模型为二选一选择子模块,该二选一选择子模块用于从2个目标软件中选择更有可能存在安全漏洞的目标软件。
示例性地,当本实施例中的目标软件的数量为2时,则选择子模型为1。在本实施例中可以采用组合方式对至少两个目标软件进行分组,例如,每组包含2个目标软件,对于n个待预测的目标软件,n>2,则会产生C2 n个分组,也说明预测模型包含C2 n选择子模型。对于每一个分组,会建立1个二选一选择子模型。在创建预测模型的过程中,该预测模块会将目标软件不同时刻的安全漏洞趋势嵌入的目标特征向量(Vt,Vt',)作为输入数据,将后续1年内发布的漏洞数量较高的软件序号作为真实标签,进行训练。训练完成后,会获得C2 n个二选一的选择子模型。
如图2所示,为软件安全漏洞风险排序示意图,在对目标软件进行安全漏洞预测过程中,当需要对至少两个目标软件的安全风险进行排序时(即,按照存在安全漏洞的可能性高低进行排序),本实施例通过预测模型依次对每2个目标软件的安全漏洞进行预测,基于预测的结果采用冒泡方式,逐步将最有可能存在安全漏洞的软件选择出来,最终形成软件安全风险的排序结果。在图2中,软件即为本实施例中的目标软件。
在其他可替换的实施方式中,若预测模型所包含的至少一个选择子模块的选择基数为3时,则该选择子模块为三选一选择模块,例如,每组包含2个目标软件,对于n个待预测的目标软件,n>3,则会产生C3 n个分组,也说明预测模型包含C3 n选择子模型。对于每一个分组,会建立1个三选一选择子模型。即在图2中,本实施例通过预测模型依次对每3个目标软件的安全漏洞进行预测,基于预测结果采用冒泡方式,逐步将最有可能存在安全漏洞的软件选择出来,最终形成软件安全风险的排序结果。
在其他可替换的实施方式中,若预测模型所包含的至少一个选择子模块的选择基数为大于3时,仍按照上述分组方式进行,在此不再赘述。
在本实施例中,上述步骤S103,通过软件安全漏洞预测模块执行。
在一种可选的实施方式中,若安全漏洞概率大于预设阈值,则目标软件产生安全漏洞;若安全漏洞概率小于或等于预设阈值,则目标软件未产生安全漏洞。例如,预设阈值为0.5,安全漏洞概率为0.8,0.8>0.5,此时,说明目标软件产生安全漏洞,例如,预设阈值为0.5,安全漏洞概率为0.3,0.3<0.5,此时,说明目标软件尚未产生安全漏洞。
因此,本实施例中的软件安全漏洞预测方法,可以辅助软件开发人员或运维人员根据目标软件的安全漏洞预测结果,确定哪些目标软件或目标组件具有最大的安全风险,并据此做出风险管理决策、指导安全测试和漏洞挖掘的方向、制订软件安全防御工作的优先级。本实施例与现有的基于软件度量的软件安全漏洞预测方法相比,本实施例所提供的软件安全漏洞预测方法所提出的方法更高效、更准确,且不依赖人工经验,并且解决了由度量元选择引发的预测结果不稳定的问题。
在本实施例中提供了一种软件安全漏洞预测方法,可用于上述的移动终端,如手机、平板电脑等,图3是根据本发明实施例的软件安全漏洞预测方法的流程图,如图3所示,上述步骤S101,获取目标软件基于时间序列排布的时间漏洞数据和基于大小序列排布的版本漏洞数据,该流程包括如下步骤:
步骤S301,从预设数据库中获取目标软件的目标初始漏洞数据。
步骤S302,基于目标软件的名称,和/或版本号,和/或漏洞编号,和/或漏洞发现者,和/或漏洞描述语言种类,和/或漏洞描述语言,和/或攻击向量,和/或漏洞利用方式,和/或攻击获得权限,和/或对保密性的影响,和/或对完整性的影响,和/或对可用性的影响,和/或漏洞基础评分,和/或漏洞严重程度,和/或漏洞利用评分,和/或漏洞影响评分,和/或所需用户交互程度,和/或漏洞发布日期,和/或漏洞修改日期,解析目标初始漏洞数据。
示例性地,预设数据库为国家漏洞数据库(NVD),上述步骤S301和步骤S302,通过本实施例中的软件安全漏洞数据爬取与预处理模块执行。具体为软件安全漏洞数据爬取与预处理模块从NVD等软件安全漏洞信息发布网站爬取JSON版本的软件历史漏洞信息,随后对JSON格式的软件历史漏洞信息进行解析,将软件名称、软件版本号、漏洞CVE编号、漏洞发现者、漏洞描述语言种类、漏洞描述语言、攻击向量、漏洞利用方式、攻击获得权限、对保密性的影响、对完整性的影响、对可用性的影响、漏洞基础评分、漏洞严重程度、漏洞利用评分、漏洞影响评分、所需用户交互程度、漏洞发布日期、漏洞修改日期共19项信息保存到预设数据库中。
步骤S303,分割目标初始漏洞数据以形成第一索引表和第二索引表,第一索引表记录目标软件基于时间序列排布的目标时间漏洞数据,第二索引表记录目标软件基于大小序列排布的目标版本漏洞数据。
具体地,该步骤S303也是通过软件安全漏洞数据爬取与预处理模块执行,在上述步骤S302的基础上,该软件安全漏洞数据爬取与预处理模块对预设数据库中的数据进行分割,同一目标软件的所有漏洞信息保存在一张数据表中。对于同一目标软件的所有漏洞信息建立两张索引表,一张按照时间的先后顺序进行索引,另一张按照版本由小到大的顺序进行索引。在本实施例中第二索引表记录目标软件基于大小序列排布优选按照从小至大的顺序排布,当然也可以按照从大至小的顺序排布。
该软件安全漏洞数据爬取与预处理模块按照时间索引,计算数据库表中每一个漏洞信息发布后1年时间内的漏洞数量,并将计算结果保存为该漏洞的时间标签信息。此外,本实施例按照版本索引,计算数据库表中每一个漏洞信息后续版本所存在的漏洞数量,并将计算结果保存为该漏洞的版本标签信息。该模块将漏洞信息与计算得到的标签信息以TFRecord的形式存储为训练样本集和验证样本集。
本实施例通过上述步骤S301-步骤S303,软件安全漏洞数据爬取与预处理模块可以从预设数据库解析出满足要求的时间维度序列化数据和版本序列化数据,最终有利于通过预测模型实现对目标软件的安全漏洞的精准预测。
在一种可选的实施方式中,通过软件安全漏洞趋势嵌入模型基于预设序列长度对目标时间漏洞数据和目标版本漏洞数据的集合进行序列截取;软件安全漏洞趋势嵌入模型通过输入层、隐藏层和输出层构成循环神经网络,其中,隐藏层为具有512个节点的LSTM结构,隐藏层和输出层之间为全连接神经网络结构。
具体地,本实施例中的软件安全漏洞趋势嵌入模型所属于软件安全漏洞趋势嵌入模块。该软件安全漏洞趋势嵌入模块基于TensorFlow建立一个具有1个输入层、2个隐藏层和1个输出层的循环神经网络,该循环神经网络的展开数据为5,其中隐藏层为具有512个节点的LSTM结构,隐藏层和输出层之间为全连接神经网络结构。本实施例以目标软件的安全漏洞数据集作为输入对预测模型进行训练,最终得到目标软件的安全漏洞趋势模型。具体如图6所示,为安全漏洞趋势模型的示意图。
该软件安全漏洞趋势嵌入模块以20%的概率在LSTM隐藏层进行dropout操作,以batch为10对输入的安全漏洞数据集进行分批,以序列长度为5对安全漏洞数据集进行序列截取,并进行循环神经网络的展开,实现对目标软件安全漏洞趋势模型的建模。
软件安全漏洞趋势模块建立后,该软件安全漏洞趋势模块对从输入层到隐藏层的参数进行提取,并将其保存到ckpt文件中,作为软件安全漏洞趋势嵌入,供软件安全漏洞预测模块使用。
如图4所示,为本实施例中的软件安全漏洞趋势嵌入模块的软件安全漏洞预测流程示意图。在图4中,具体步骤包括:软件安全漏洞数据爬取、软件安全漏洞数据序列化、软件安全漏洞数据集生成、软件安全漏洞趋势建模、软件安全漏洞趋势特征嵌入、软件安全漏洞预测模型(二选一选择子模型)建模、软件安全风险排序。
在本实施例中的软件安全漏洞预测方法,在图4中,通过分析目标软件已经发现的安全漏洞数据,利用双层长短时记忆神经网络(LSTM)建立起软件安全漏洞趋势模型,将软件的安全漏洞趋势特征映射到向量空间,再以嵌入后的软件安全漏洞趋势特征作为输入,基于卷积神经网络(CNN)建立起软件安全漏洞预测模型,对两个目标软件或目标组件之间谁更有可能存在安全漏洞做出预测。
在一种可选的实施方式中,多个特征参数包括目标软件基于预设时间产生安全漏洞的漏洞数量、目标软件的基于预设时间产生安全漏洞的漏洞类型、目标软件的升级版本产生安全漏洞的漏洞数量,目标软件的升级版本产生安全漏洞的漏洞类型。
具体地,在本实施例中,预设时间可以为某一漏洞信息发布时间后1年内时间或半年内时间或3月时间,并不限于固定的时间。
示例性地,本实施例将所获得目标软件的目标初始漏洞数据按时间、版本两个维度进行序列化处理。在时间维度上,本实施例将同一目标软件的所有漏洞信息按照时间的先后顺序进行排序,形成时间维度序列化数据;在版本维度上,本实施例将同一软件的所有漏洞信息按照版本由小到大的顺序进行排序,形成版本维度序列化数据。在本实施例中,相当于将目标软件的安全漏洞数据进行序列化处理。
在此基础上,对于时间维度序列化数据,本实施例通过计算某一漏洞信息发布时间后1年内的漏洞数量,形成该漏洞信息的真实标签信息;对于版本维度序列化数据,本实施例通过计算某一漏洞信息的升级版本所存在的漏洞数量,形成该漏洞信息的真实标签信息。本实施例最终将漏洞信息与其标签信息以TFRecord的形式存储为训练样本集和验证样本集。在本实施例中,相当于目标软件安全漏洞数据集生成。
在一种可选的实施方式中,本实施例中的选择子模型的选择基数至少为二,当选择子模型的选择基数至少为二时,该选择子模型为二选一选择子模型,该选择子模型通过卷积层、池化层、全连接层构成卷积神经网络。
在本实施例中,二选一选择子模型所属于软件安全漏洞预测模型,该软件安全漏洞预测模型是通过软件安全漏洞预测模块形成,通过该模块建立一个二选一子模型,用于从2个目标软件中选择更有可能存在安全漏洞的目标软件,该模型是一个具有2个卷积层、2个池化层、3个全连接层的卷积神经网络。第1层为卷积层,其输入为安全漏洞趋势嵌入向量,其过滤器的尺寸为5*5,深度为6;第2层为池化层,其输入为第1层卷积层的输出,其过滤器的尺寸为2*2,步长为2;第3层为卷积层,其输入为第2层池化层的输出,其过滤器的尺寸为5*5,深度为16;第4层为池化层,其输入为第3层卷积层的输出,其过滤器的尺寸为2*2,步长为2;第5层为全连接层,节点数量为120;第6层为全连接层,节点数量为84;第7层为全连接层,节点数量为2。
在另一种可选的实施方式中,基于至少两个目标软件的数量和选择子模型的选择基数,采用组合方式对至少两个目标软件进行分组。
示例性地,通过软件安全漏洞预测模块将待预测的目标软件进行分组,每组包含2个目标软件,对于n个待预测的目标软件,会产生C2 n个分组。对于每一个分组,会建立1个二选一选择子模型。在建模过程中,该软件安全漏洞预测模块将目标软件不同时刻的安全漏洞趋势嵌入向量(Vt,Vt',)作为输入数据,将后续1年内发布的漏洞数量较高的软件序号作为真实标签,进行训练。训练完成后,会获得C2 n个二选一子模型。
在图4中,在安全漏洞预测过程中,该软件安全漏洞预测模块基于二选一选择子模型的预测结果,通过冒泡的方式,逐步将最有可能存在安全漏洞的目标软件选择出来,最终形成目标软件的安全风险的排序结果,即目标软件的安全漏洞预测结果。
在本实施例中提供了一种软件安全漏洞预测方法,可用于上述的移动终端,如手机、平板电脑等,图5是根据本发明实施例的软件安全漏洞预测方法的流程图,如图5所示,预测模型通过以下方式获取:
步骤S501,从预设数据库中获取测验软件的历史初始漏洞数据。
具体地,相当于软件安全漏洞数据爬取,从预设数据库(国家漏洞数据NVD)发布网站爬取软件历史漏洞数据。在该实施方式中,相当于获取训练样本集。
步骤S502,基于测验软件的名称,和/或版本号,和/或漏洞编号,和/或漏洞发现者,和/或漏洞描述语言种类,和/或漏洞描述语言,和/或攻击向量,和/或漏洞利用方式,和/或攻击获得权限,和/或对保密性的影响,和/或对完整性的影响,和/或对可用性的影响,和/或漏洞基础评分,和/或漏洞严重程度,和/或漏洞利用评分,和/或漏洞影响评分,和/或所需用户交互程度,和/或漏洞发布日期,和/或漏洞修改日期,解析历史初始漏洞数据。
在本实施例中,对测验软件的历史初始漏洞数据进行解析方式与上述解析目标初始漏洞数据的方式相同,在此不再详细赘述,具体参见上述方式。在本实施例中,简单概述就是对测验软件的历史初始漏洞数据进行解析,从中获取测验软件的名称、软件版本号、漏洞CVE编号等19项信息。
步骤S503,分割历史初始漏洞数据以形成第一索引表和第二索引表,第一索引表记录测验软件基于时间序列排布的历史时间漏洞数据,第二索引表记录大小序列排布的历史版本漏洞数据。
在本实施例分割历史初始漏洞数据与分割目标初始漏洞数据的方式相同,在此不再赘述。
步骤S504,从历史时间漏洞数据和历史版本漏洞数据中,分别提取测验软件基于预设时间产生安全漏洞的漏洞数量、测验软件的基于预设时间产生安全漏洞的漏洞类型、测验软件的升级版本产生安全漏洞的漏洞数量,升级版本产生安全漏洞的漏洞类型对应的历史特征向量。
示例性地,本实施例将某一时刻2个测验软件的安全漏洞趋势嵌入向量(Vt,Vt',)作为输入数据,将后续1年内发布的漏洞数量较高的软件序号作为真实标签,对软件安全漏洞预测模型进行训练。该真实标签即上述中的测验软件基于预设时间产生安全漏洞的漏洞数量、测验软件的基于预设时间产生安全漏洞的漏洞类型、测验软件的升级版本产生安全漏洞的漏洞数量,升级版本产生安全漏洞的漏洞类型。
步骤S505,基于历史特征向量对预测模型进行训练,以得到预测模型,预测模型包括至少一个选择子模型,在训练过程中,选择子模型用于基于选择子模型的选择基数和至少两个测验软件的数量,采用冒泡排序方式预测至少两个测验软件的安全漏洞概率。
具体地,本实施例将某一时刻2个测验软件的安全漏洞趋势嵌入向量(Vt,Vt',)作为输入数据,将后续1年内发布的漏洞数量较高的软件序号作为真实标签,对软件安全漏洞预测模型进行训练。训练完成后的预测模型能够从2个测验软件中选择更有可能存在安全漏洞的测验软件。
在本实施例中,当对多个测验软件的安全风险进行排序时(即,按照存在安全漏洞的可能性高低进行排序),本实施例利用测验软件安全漏洞预测模型依次对每2个测验软件的安全漏洞进行预测,基于预测的结果采用冒泡方式,逐步将最有可能存在安全漏洞的软件选择出来,最终形成测验软件安全风险的排序结果,进而有利于训练预测模型。
在本实施例中,软件安全风险的排序结果即为本实施例最终的产出,软件开发人员或运维人员可以根据该结果确定哪些软件或组件具有最大的安全风险,并据此做出风险管理决策、指导安全测试和漏洞挖掘的方向、制订软件安全防御工作的优先级。
综上,本实施例中的软件安全漏洞预测方法可以具体应用在软件安全漏洞预测系统架构中,如图7所示,为本实施例中的软件安全漏洞预测系统架构示意图,在图7中,该系统分别包括软件安全漏洞嵌入模块、软件安全漏洞预测模块、软件安全漏洞数据爬取与预处理模块,其中,软件安全漏洞爬取与预处理模块执行上述步骤S101,软件安全漏洞嵌入模块执行上述步骤S102,软件安全漏洞预测模块执行上述步骤S103。
本实施例中的软件安全漏洞预测方法,不依赖人工经验,避免了手动选择度量元的弊端,解决了由度量元选择引发的预测结果不稳定、不准确以及不够高效的问题。
基于相同构思,本实施例还提供一种软件安全漏洞预测装置,如图8所示,装置包括:
漏洞数据获取模块81,用于获取至少两个目标软件基于时间序列排布的目标时间漏洞数据和基于大小序列排布的目标版本漏洞数据;
特征向量确定模块82,用于根据目标时间漏洞数据和目标版本漏洞数据确定多个特征参数中每个特征参数对应的目标特征向量;其中,多个特征参数为影响目标软件产生安全漏洞的多个漏洞标签信息对应的参数;
安全漏洞预测模块83,用于通过训练好的预测模型基于每个特征参数对应的目标特征向量预测至少两个目标软件的安全漏洞概率;其中,预测模型包括至少一个选择子模型,选择子模型用于基于选择子模型的选择基数和至少两个目标软件的数量,采用冒泡排序方式预测至少两个目标软件的安全漏洞概率。
在一种可选的实施方式中,本实施例中的软件安全漏洞预测装置,还包括:安全漏洞确定模块,用于若安全漏洞概率大于预设阈值,则目标软件产生安全漏洞;若安全漏洞概率小于或等于预设阈值,则目标软件未产生安全漏洞。
在一种可选的实施方式中,漏洞数据获取模块81,包括:
目标初始漏洞数据获取子模块,用于从预设数据库中获取目标软件的目标初始漏洞数据;
目标初始漏洞数据解析子模块,用于基于目标软件的名称,和/或版本号,和/或漏洞编号,和/或漏洞发现者,和/或漏洞描述语言种类,和/或漏洞描述语言,和/或攻击向量,和/或漏洞利用方式,和/或攻击获得权限,和/或对保密性的影响,和/或对完整性的影响,和/或对可用性的影响,和/或漏洞基础评分,和/或漏洞严重程度,和/或漏洞利用评分,和/或漏洞影响评分,和/或所需用户交互程度,和/或漏洞发布日期,和/或漏洞修改日期,解析目标初始漏洞数据;
目标初始漏洞数据分割子模块,用于分割目标初始漏洞数据以形成第一索引表和第二索引表,第一索引表记录目标软件基于时间序列排布的目标时间漏洞数据,第二索引表记录目标软件基于大小序列排布的目标版本漏洞数据。
在一种可选的实施方式中,本实施例中的软件安全漏洞预测装置,通过软件安全漏洞趋势嵌入模型基于预设序列长度对目标时间漏洞数据和目标版本漏洞数据的集合进行序列截取;
软件安全漏洞趋势嵌入模型通过输入层、隐藏层和输出层构成循环神经网络,其中,隐藏层为具有512个节点的LSTM结构,隐藏层和输出层之间为全连接神经网络结构。
在一种可选的实施方式中,多个特征参数包括目标软件基于预设时间产生安全漏洞的漏洞数量、目标软件的基于预设时间产生安全漏洞的漏洞类型、目标软件的升级版本产生安全漏洞的漏洞数量,目标软件的升级版本产生安全漏洞的漏洞类型。
在一种可选的实施方式中,选择子模型的选择基数为至少为二,当选择子模型的选择基数至少为二时,该选择子模型为二选一选择子模型,该选择子模型通过卷积层、池化层、全连接层构成卷积神经网络。
在一种可选的实施方式中,基于至少两个目标软件的数量和选择子模型的选择基数,采用组合方式对至少两个目标软件进行分组。
在一种可选的实施方式中,预测模型通过以下模块获取:
历史初始漏洞数据获取子模块,用于从预设数据库中获取测验软件的历史初始漏洞数据;
历史初始漏洞数据解析子模块,用于基于测验软件的名称,和/或版本号,和/或漏洞编号,和/或漏洞发现者,和/或漏洞描述语言种类,和/或漏洞描述语言,和/或攻击向量,和/或漏洞利用方式,和/或攻击获得权限,和/或对保密性的影响,和/或对完整性的影响,和/或对可用性的影响,和/或漏洞基础评分,和/或漏洞严重程度,和/或漏洞利用评分,和/或漏洞影响评分,和/或所需用户交互程度,和/或漏洞发布日期,和/或漏洞修改日期,解析历史初始漏洞数据;
历史初始漏洞数据分割子模块,用于分割历史初始漏洞数据以形成第一索引表和第二索引表,第一索引表记录测验软件基于时间序列排布的历史时间漏洞数据,第二索引表记录大小序列排布的历史版本漏洞数据;
历史趋势特征向量提取子模块,用于从历史时间漏洞数据和历史版本漏洞数据中,分别提取测验软件基于预设时间产生安全漏洞的漏洞数量、测验软件的基于预设时间产生安全漏洞的漏洞类型、测验软件的升级版本产生安全漏洞的漏洞数量,升级版本产生安全漏洞的漏洞类型对应的历史特征向量;
软件漏洞预测模型训练子模块,用于基于历史特征向量对预测模型进行训练,以得到预测模型,预测模型包括至少一个选择子模型,在训练过程中,选择子模型用于基于选择子模型的选择基数和至少两个测验软件的数量,采用冒泡排序方式预测至少两个测验软件的安全漏洞概率。
上述各个模块和单元的更进一步的功能描述与上述对应实施例相同,在此不再赘述。
本实施例中的软件安全漏洞预测装置是以功能单元的形式来呈现,这里的单元是指ASIC(Application Specific Integrated Circuit,专用集成电路)电路,执行一个或多个软件或固定程序的处理器和存储器,和/或其他可以提供上述功能的器件。
本发明实施例还提供一种计算机设备,具有上述中的软件安全漏洞预测装置。
请参阅图9,图9是本发明可选实施例提供的一种计算机设备的结构示意图,如图9所示,该计算机设备包括:一个或多个处理器10、存储器20,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相通信连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在计算机设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在一些可选的实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个计算机设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图9中以一个处理器10为例。
处理器10可以是中央处理器,网络处理器或其组合。其中,处理器10还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路,可编程逻辑器件或其组合。上述可编程逻辑器件可以是复杂可编程逻辑器件,现场可编程逻辑门阵列,通用阵列逻辑或其任意组合。
其中,所述存储器20存储有可由至少一个处理器10执行的指令,以使所述至少一个处理器10执行实现上述实施例示出的方法。
存储器20可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器20可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些可选的实施方式中,存储器20可选包括相对于处理器10远程设置的存储器,这些远程存储器可以通过网络连接至该计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
存储器20可以包括易失性存储器,例如,随机存取存储器;存储器也可以包括非易失性存储器,例如,快闪存储器,硬盘或固态硬盘;存储器20还可以包括上述种类的存储器的组合。
该计算机设备还包括通信接口30,用于该计算机设备与其他设备或通信网络通信。
本发明实施例还提供了一种计算机可读存储介质,上述根据本发明实施例的方法可在硬件、固件中实现,或者被实现为可记录在存储介质,或者被实现通过网络下载的原始存储在远程存储介质或非暂时机器可读存储介质中并将被存储在本地存储介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件的存储介质上的这样的软件处理。其中,存储介质可为磁碟、光盘、只读存储记忆体、随机存储记忆体、快闪存储器、硬盘或固态硬盘等;进一步地,存储介质还可以包括上述种类的存储器的组合。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件,当软件或计算机代码被计算机、处理器或硬件访问且执行时,实现上述实施例示出的方法。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (11)
1.一种软件安全漏洞预测方法,其特征在于,所述方法包括:
获取至少两个目标软件基于时间序列排布的目标时间漏洞数据和基于大小序列排布的目标版本漏洞数据;
根据所述目标时间漏洞数据和所述目标版本漏洞数据确定多个特征参数中每个特征参数对应的目标特征向量;其中,所述多个特征参数为影响所述目标软件产生安全漏洞的多个漏洞标签信息对应的参数;
通过训练好的预测模型基于所述每个特征参数对应的目标特征向量预测所述至少两个目标软件的安全漏洞概率;其中,所述预测模型包括至少一个选择子模型,所述选择子模型用于基于选择子模型的选择基数和所述至少两个目标软件的数量,采用冒泡排序方式预测所述至少两个目标软件的安全漏洞概率;其中,所述至少两个目标软件的数量大于所述选择子模型的选择基数。
2.根据权利要求1所述的软件安全漏洞预测方法,其特征在于,若所述安全漏洞概率大于预设阈值,则所述目标软件产生安全漏洞;
若所述安全漏洞概率小于或等于预设阈值,则所述目标软件未产生安全漏洞。
3.根据权利要求1所述的软件安全漏洞预测方法,其特征在于,获取目标软件基于时间序列排布的时间漏洞数据和基于大小序列排布的版本漏洞数据,包括:
从预设数据库中获取所述目标软件的目标初始漏洞数据;
基于所述目标软件的名称,和/或版本号,和/或漏洞编号,和/或漏洞发现者,和/或漏洞描述语言种类,和/或漏洞描述语言,和/或攻击向量,和/或漏洞利用方式,和/或攻击获得权限,和/或对保密性的影响,和/或对完整性的影响,和/或对可用性的影响,和/或漏洞基础评分,和/或漏洞严重程度,和/或漏洞利用评分,和/或漏洞影响评分,和/或所需用户交互程度,和/或漏洞发布日期,和/或漏洞修改日期,解析所述目标初始漏洞数据;
分割所述目标初始漏洞数据以形成第一索引表和第二索引表,所述第一索引表记录所述目标软件基于时间序列排布的目标时间漏洞数据,所述第二索引表记录目标软件基于大小序列排布的目标版本漏洞数据。
4.根据权利要求3所述的软件安全漏洞预测方法,其特征在于,通过软件安全漏洞趋势嵌入模型基于预设序列长度对所述目标时间漏洞数据和所述目标版本漏洞数据的集合进行序列截取;
所述软件安全漏洞趋势嵌入模型通过输入层、隐藏层和输出层构成循环神经网络,其中,所述隐藏层为具有512个节点的LSTM结构,所述隐藏层和所述输出层之间为全连接神经网络结构。
5.根据权利要求1所述的软件安全漏洞预测方法,其特征在于,多个特征参数包括目标软件基于预设时间产生安全漏洞的漏洞数量、所述目标软件的基于预设时间产生安全漏洞的漏洞类型、所述目标软件的升级版本产生安全漏洞的漏洞数量,所述目标软件的所述升级版本产生安全漏洞的漏洞类型。
6.根据权利要求1所述的软件安全漏洞预测方法,其特征在于,所述选择子模型的选择基数为至少为二,当选择子模型的选择基数至少为二时,该选择子模型为二选一选择子模型,该选择子模型通过卷积层、池化层、全连接层构成卷积神经网络。
7.根据权利要求6所述的软件安全漏洞预测方法,其特征在于,基于所述至少两个目标软件的数量和所述选择子模型的选择基数,采用组合方式对所述至少两个目标软件进行分组。
8.根据权利要求1至7中任一项所述的软件安全漏洞预测方法,其特征在于,所述预测模型通过以下方式获取:
从预设数据库中获取测验软件的历史初始漏洞数据;
基于所述测验软件的名称,和/或版本号,和/或漏洞编号,和/或漏洞发现者,和/或漏洞描述语言种类,和/或漏洞描述语言,和/或攻击向量,和/或漏洞利用方式,和/或攻击获得权限,和/或对保密性的影响,和/或对完整性的影响,和/或对可用性的影响,和/或漏洞基础评分,和/或漏洞严重程度,和/或漏洞利用评分,和/或漏洞影响评分,和/或所需用户交互程度,和/或漏洞发布日期,和/或漏洞修改日期,解析所述历史初始漏洞数据;
分割所述历史初始漏洞数据以形成第一索引表和第二索引表,所述第一索引表记录所述测验软件基于时间序列排布的历史时间漏洞数据,所述第二索引表记录大小序列排布的历史版本漏洞数据;
从所述历史时间漏洞数据和所述历史版本漏洞数据中,分别提取所述测验软件基于预设时间产生安全漏洞的漏洞数量、所述测验软件的基于预设时间产生安全漏洞的漏洞类型、所述测验软件的升级版本产生安全漏洞的漏洞数量,所述升级版本产生安全漏洞的漏洞类型对应的历史特征向量;
基于所述历史特征向量对所述预测模型进行训练,以得到所述预测模型,所述预测模型包括至少一个选择子模型,在训练过程中,所述选择子模型用于基于选择子模型的选择基数和所述至少两个测验软件的数量,采用冒泡排序方式预测所述至少两个测验软件的安全漏洞概率。
9.一种软件安全漏洞预测装置,其特征在于,所述装置包括:
漏洞数据获取模块,用于获取至少两个目标软件基于时间序列排布的目标时间漏洞数据和基于大小序列排布的目标版本漏洞数据;
特征向量确定模块,用于根据所述目标时间漏洞数据和所述目标版本漏洞数据确定多个特征参数中每个特征参数对应的目标特征向量;其中,所述多个特征参数为影响所述目标软件产生安全漏洞的多个漏洞标签信息对应的参数;
安全漏洞预测模块,用于通过训练好的预测模型基于所述每个特征参数对应的目标特征向量预测所述至少两个目标软件的安全漏洞概率;其中,所述预测模型包括至少一个选择子模型,所述选择子模型用于基于选择子模型的选择基数和所述至少两个目标软件的数量,采用冒泡排序方式预测所述至少两个目标软件的安全漏洞概率。
10.一种计算机设备,其特征在于,包括:
存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求1至8中任一项所述的软件安全漏洞预测方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机指令,所述计算机指令用于使计算机执行权利要求1至8中任一项所述的软件安全漏洞预测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410058110.7A CN117892313A (zh) | 2024-01-15 | 2024-01-15 | 软件安全漏洞预测方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410058110.7A CN117892313A (zh) | 2024-01-15 | 2024-01-15 | 软件安全漏洞预测方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117892313A true CN117892313A (zh) | 2024-04-16 |
Family
ID=90639034
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410058110.7A Pending CN117892313A (zh) | 2024-01-15 | 2024-01-15 | 软件安全漏洞预测方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117892313A (zh) |
-
2024
- 2024-01-15 CN CN202410058110.7A patent/CN117892313A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107330731B (zh) | 一种识别广告位点击异常的方法和装置 | |
CN109388376B (zh) | 软件开发风险评估方法、装置、设备及可读存储介质 | |
CN110991658A (zh) | 模型训练方法、装置、电子设备和计算机可读存储介质 | |
CN116109121B (zh) | 基于大数据分析的用户需求挖掘方法及系统 | |
CN112217207A (zh) | 一种暂态电压稳定裕度预测方法及装置 | |
CN112613569A (zh) | 图像识别方法、图像分类模型的训练方法及装置 | |
CN116523284A (zh) | 基于机器学习的业务操作流程自动化评估方法、系统 | |
CN117743601B (zh) | 一种自然资源知识图谱补全方法、装置、设备及介质 | |
CN117235527A (zh) | 端到端容器化的大数据模型构建方法、装置、设备及介质 | |
CN111898766A (zh) | 基于自动机器学习的以太坊燃料限制预测方法及装置 | |
CN111638926A (zh) | 人工智能在Django框架中的一种实现方法 | |
CN117892313A (zh) | 软件安全漏洞预测方法、装置、计算机设备及存储介质 | |
EP3855316A1 (en) | Optimizing breakeven points for enhancing system performance | |
CN114201328A (zh) | 基于人工智能的故障处理方法、装置、电子设备及介质 | |
CN115186738A (zh) | 模型训练方法、装置和存储介质 | |
CN113610225A (zh) | 质量评估模型训练方法、装置、电子设备及存储介质 | |
CN115146596B (zh) | 召回文本的生成方法、装置、电子设备及存储介质 | |
CN114493379B (zh) | 基于政务数据的企业评价模型自动生成方法、装置及系统 | |
CN116028941B (zh) | 接口的漏洞检测方法、装置、存储介质及设备 | |
CN116541726B (zh) | 用于植被覆盖度估算的样本量确定方法、装置及设备 | |
CN113535594B (zh) | 业务场景测试用例的生成方法、装置、设备和存储介质 | |
CN115828103A (zh) | 混沌工程故障演练场景生成方法、装置、设备及存储介质 | |
CN117873856A (zh) | 一种软件测试方法、存储介质及计算机设备 | |
CN114386402A (zh) | 一种语句审核方法、装置、计算机设备及存储介质 | |
CN118170685A (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 |