一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

漏洞处理方法、装置、电子设备及存储介质与流程

2022-08-17 05:28:51 来源:中国专利 TAG:


1.本技术涉及人工智能技术领域,更具体地,涉及一种漏洞处理方法、装置、电子设备及存储介质。


背景技术:

2.随着信息技术的快速发展,不可避免的会出现大量漏洞。权威机构会对于已经发现的漏洞进行评测,并发布对应的修复补丁用于修复。然而,大多修复补丁需要重启服务,容易对业务造成损失,使得运维人员不敢轻易安装补丁,但是如果不安装补丁,又会使得业务存在安全威胁的风险。


技术实现要素:

3.鉴于上述问题,本技术实施例提出了一种漏洞处理方法、装置、电子设备及存储介质,以改善上述问题。
4.第一方面,本技术实施例提供了一种漏洞处理方法,方法包括:获取目标漏洞对应的目标属性信息;获取目标漏洞对应的目标属性信息对应的目标特征表示向量;基于目标特征表示向量以及预设分类规则,预测目标漏洞是否为危险漏洞;在目标漏洞为危险漏洞的情况下,执行与危险漏洞匹配的预设处理操作。
5.第二方面,本技术实施例提供了一种漏洞处理装置,装置包括:目标属性信息获取模块、目标特征表示向量获取模块、预测模块以及处理模块。其中,目标属性信息获取模块,用于获取目标漏洞对应的目标属性信息;目标特征表示向量获取模块,用于获取目标漏洞对应的目标属性信息对应的目标特征表示向量;预测模块,用于基于目标特征表示向量以及预设分类规则,预测目标漏洞是否为危险漏洞;处理模块,用于在目标漏洞为危险漏洞的情况下,执行与危险漏洞匹配的预设处理操作。
6.第三方面,本技术实施例提供了一种电子设备,包括处理器以及存储器;一个或多个程序被存储在存储器中并被配置为由处理器执行以实现上述的方法。
7.第四方面,本技术实施例提供了一种计算机可读存储介质,计算机可读存储介质中存储有程序代码,其中,在程序代码被处理器运行时执行上述的方法。
8.第五方面,本技术实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述的方法。
9.本技术实施例提供的一种漏洞处理方法、装置、电子设备及存储介质,通过获取目标漏洞对应的目标属性信息,再获取目标漏洞对应的目标属性信息对应的目标特征表示向量,再基于目标特征表示向量以及预设分类规则,预测目标漏洞是否为危险漏洞,再在目标漏洞为危险漏洞的情况下,执行与危险漏洞匹配的预设处理操作。从而通过前述方式可以对目标漏洞是否为危险漏洞进行预测,并在预测目标漏洞为危险漏洞的情况下,执行与危
险漏洞匹配的预设处理操作,由于只对预测为危险漏洞的漏洞进行匹配的处理操作,而不必对所有的漏洞进行处理,在保证运维效率的同时可以降低危险漏洞带来的安全威胁。
附图说明
10.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
11.图1示出了本技术实施例提出的一种漏洞处理方法的流程图;
12.图2示出了本技术实施例提出的另一种漏洞处理方法的流程图;
13.图3示出了本技术实施例提出的一种词向量模型训练方法的流程图;
14.图4示出了本技术实施例提出的另一种漏洞处理方法的流程图;
15.图5示出了图4所示实施例提出的一种漏洞处理方法中s330的一种实施方式的流程图;
16.图6示出了图4所示实施例提出的一种漏洞处理方法中s340的一种实施方式的流程图;
17.图7示出了本技术实施例提出的一种确定各个目标属性对应的初始权重的方法的流程示意图;
18.图8示出了本技术实施例提出的一种漏洞处理方法中应用预设分类规则进行漏洞预测过程的流程图;
19.图9示出了本技术实施例提出的一种漏洞处理方法中获取各个目标属性信息对应的目标特征表示向量的流程图;
20.图10示出了本技术实施例提出的一种漏洞处理方法的流程图;
21.图11示出了图10所示实施例提出的一种漏洞处理方法中s650的一种实施方式的流程图;
22.图12示出了本技术实施例提出的一种漏洞处理装置的框图;
23.图13示出了用于执行根据本技术实施例的漏洞处理方法的另一种电子设备的结构框图;
24.图14示出了本技术实施例的用于保存或者携带实现根据本技术实施例的漏洞处理方法的程序代码的存储单元。
具体实施方式
25.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
26.人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解
智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
27.人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
28.自然语言处理(nature language processing,nlp)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。
29.机器学习(machine learning,ml)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
30.其中,随着人工智能技术的发展,人工智能技术在多个领域展开了广泛的研究和应用,本技术实施例提供的技术方案涉及到人工智能技术在信息安全领域的应用。具体涉及人工智能的自然语言处理和机器学习技术,例如,利用自然语言处理技术对文本进行处理,利用机器学习技术训练初始模型,得到预设分类规则。
31.漏洞是在硬件、软件、协议的具体实现或系统安全策略上存在的缺陷,从而可以使攻击者能够在未授权的情况下访问或破坏系统。
32.大规模网络安全事件普遍具有突发性,波及范围大,影响深远的特点。这些安全威胁所使用的漏洞都是已具有cve(common vulnerabilities&exposures,通用漏洞披露)编码的公开漏洞,并且已具有修复补丁。但是由于这些漏洞并未公开漏洞细节,且没有出现利用代码,从而导致运维人员普遍忽视了这些漏洞的重要性,从而造成了大规模网络安全事件的发生。
33.当前行业内对于已公开的漏洞普遍要求运维人员安装修复补丁,但是由于每年cve数量众多,且大多修复补丁需要重启服务,容易对业务造成损失,运维人员不敢轻易安装补丁。但是如果不安装补丁,又会使得业务存在安全威胁的风险。这就使得运维人员很难进行抉择。
34.为了改善上述问题,发明人提出了本技术提供的漏洞处理方法、装置、电子设备及存储介质,在该方法中,通过获取目标漏洞对应的目标属性信息,再获取目标漏洞对应的目标属性信息对应的目标特征表示向量,再基于目标特征表示向量以及预设分类规则,预测目标漏洞是否为危险漏洞,再在目标漏洞为危险漏洞的情况下,执行与危险漏洞匹配的预设处理操作。
35.从而通过前述方式可以对目标漏洞是否为危险漏洞进行预测,并在预测目标漏洞
为危险漏洞的情况下,执行与危险漏洞匹配的预设处理操作,由于只对预测为危险漏洞的漏洞进行匹配的处理操作,而不必对所有的漏洞进行处理,既可以降低危险漏洞带来的安全威胁,也可以降低频繁处理漏洞带来的运维效率低的问题。
36.本技术实施例提供的方法,各步骤的执行主体可以是计算机设备,该计算机设备是指具备数据计算、处理和存储能力的电子设备。该计算机设备可以是诸如pc(personalcomputer,个人计算机)、平板电脑、智能手机、可穿戴设备、智能机器人、车载终端等终端;也可以是服务器。其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器。
37.需要说明的是,其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn(content delivery network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器,还可以是提供车联网服务、路网协同、车路协同、智能交通、自动驾驶、工业互联网服务、数据通信(如4g、5g等)等专门或平台服务器。
38.下面将结合附图具体描述本技术的各实施例。
39.请参阅图1,图1所示为本技术一实施例提出的一种漏洞处理方法的流程图,该方法包括:
40.s110,获取目标漏洞对应的至少一个目标属性信息。
41.可以理解的是,本技术实施例中所提到的漏洞是指已经被发现的漏洞,这些漏洞在被发现之后会进行评测以及修复,从而获得对应的cve编码以及修复补丁。此外,在这些漏洞进行评测之后,便可以生成这些漏洞各自对应的属性信息。其中,漏洞对应的属性信息有多种,例如漏洞编码(也可以称为漏洞id/标识)、漏洞标题、漏洞厂商、漏洞描述、漏洞评分、发布日期等。
42.其中,目标漏洞可以理解为后续将要进行是否为危险漏洞预测的漏洞。而目标属性信息是指用于后续进行是否为危险漏洞预测的属性信息。目标属性信息可以是属性信息中的一个或者多个。例如,目标属性信息包括漏洞标题、漏洞描述、漏洞厂商或者漏洞评分中的至少一个。例如,可以只选择漏洞标题作为目标属性信息,也可以只选择漏洞厂商作为目标属性信息,还可以选择漏洞厂商以及漏洞描述作为目标属性信息,还可以选择漏洞厂商、漏洞描述以及漏洞评分作为目标属性信息,还可以选择漏洞标题、漏洞厂商、漏洞描述、漏洞评分作为目标属性信息。
43.可以理解的是,选择漏洞标题可以分析出漏洞的危害情况,选择漏洞厂商可以分析漏洞的影响范围,选择漏洞描述可以分析漏洞出现利用代码的可能性,选择漏洞评分可以代表传统安全视角认为此漏洞的综合情况。而具体选择哪些属性信息作为目标属性信息,可以根据实际安全需要进行确定。
44.本技术实施例的目标漏洞可以有多种获得方式。
45.作为一种方式,目标漏洞可以由用户提供。在一些应用场景中,当用户想要知道某个漏洞是否是危险漏洞,从而判断是否需要进行处理时,可以提供该漏洞作为目标漏洞。
46.作为另外一种方式,可以通过监控爬虫从cve公布站点获取漏洞数据。在一些场景中,可以通过利用监控爬虫设置监控任务,定期对cve站点公布的漏洞进行监控。例如,可以
通过监控爬虫定期获取过去一定时间内cve站点公布的漏洞,例如过去一周、一个月或者半年等时间段内公布的漏洞。在监控爬虫获取到漏洞后,将这些漏洞作为目标漏洞。
47.进而,在获取到目标漏洞之后,便可以进一步获取到目标漏洞对应的至少一个目标属性信息。
48.s120,获取目标漏洞对应的至少一个目标属性信息对应的目标特征表示向量。
49.为了便于后续进行目标漏洞是否为危险漏洞的预测,可以将目标漏洞对应的至少一个目标属性信息分别转换为向量的形式,进而得到目标漏洞对应的至少一个目标属性信息中各个目标属性信息分别对应的目标特征表示向量。
50.示例性地,假设获取的目标漏洞对应的目标属性信息包括漏洞标题“函数竞争条件漏洞”,则可以对“函数竞争条件漏洞”进行向量化处理,从而获取“函数竞争条件漏洞”对应的表示向量,作为目标漏洞对应的目标属性信息对应的目标特征表示向量。
51.需要说明的是,上述只以目标漏洞对应的目标属性信息包括漏洞标题,从而得到目标漏洞对应的目标属性信息对应的一个目标特征表示向量为例进行说明,可以理解的是,当目标漏洞对应的目标属性信息还包括其他,此时,分别针对其他目标属性信息,分别可以获得一个目标特征表示向量。也即,目标漏洞对应的目标属性信息对应的目标特征表示向量可以有多个。在目标漏洞对应的目标属性信息对应的目标特征表示向量可以有多个时,需要结合这多个目标特征表示向量以及预设分类规则,共同预测目标漏洞是否为危险漏洞。
52.s130,基于目标特征表示向量以及预设分类规则,预测目标漏洞是否为危险漏洞。
53.本实施例中,危险漏洞是指未来一定时间内可能出现恶意利用代码,从而造成大规模影响的漏洞,或者说威胁较大,需要进行补丁修复处理的漏洞。
54.可以理解的是,利用预设分类规则可以对目标特征表示向量进行处理,得到处理结果,从而根据处理结果判断目标漏洞是否为危险漏洞。
55.作为一种方式,预设分类规则可以是一种二分类规则,即最终的分类结果包括两种类型,分别对应目标漏洞为危险漏洞以及目标漏洞不是危险漏洞这两种情况。
56.作为一种方式,预设分类规则可以包括两个部分,一个部分用于计算目标漏洞为危险漏洞的概率,另一个部分用于根据计算出的概率与漏洞概率阈值进行比较,进而再根据比较结果判断目标漏洞是否为危险漏洞,例如,当计算出的概率大于漏洞概率阈值时,判断目标漏洞为危险漏洞。在这种情况下,预设分类规则包括漏洞概率阈值以及至少一个目标属性信息中每个目标属性信息分别对应的权重,基于目标特征表示向量以及预设分类规则,预测目标漏洞是否为危险漏洞,包括:基于至少一个目标属性信息中每个属性信息分别对应的目标特征表示向量以及每个目标属性信息分别对应的权重,得到目标漏洞对应的预测概率;基于目标漏洞对应的预测概率以及漏洞概率阈值,预测目标漏洞是否为危险漏洞。
57.示例地,假设目标漏洞包括4个目标属性信息,分别是漏洞标题、漏洞厂商、漏洞描述、漏洞评分,其中,漏洞标题对应的目标特征表示向量为x1,对应的权重为w1、漏洞厂商对应的目标特征表示向量为x2,对应的权重为w2、漏洞描述对应的目标特征表示向量为x3,对应的权重为w3、漏洞评分对应的目标特征表示向量为x4,对应的权重为w4。并且假设漏洞概率阈值为p。
58.首先,计算目标漏洞对应的预测概率z,目标漏洞对应的预测概率z=x1w1 x2w3
x3w3 x4w4。
59.然后判断目标漏洞对应的预测概率z与漏洞概率阈值p的大小,若z大于p,则可以预测目标漏洞为危险漏洞,若z小于p,则可以预测目标漏洞不是危险漏洞。
60.作为一种方式,可以采用训练得到的神经网络模型对目标特征向量进行处理,预测目标漏洞是否为危险漏洞。这种情况下,预设分类规则可以基于训练后的神经网络模型得到。
61.s140,在目标漏洞为危险漏洞的情况下,执行与危险漏洞匹配的预设处理操作。
62.在得到预测结果之后,即预测得到目标漏洞是否为危险漏洞之后,便可以根据预测结果,执行相应的处理操作。
63.其中,当目标漏洞为危险漏洞时,可以有多种预设处理操作的方式。
64.作为一种方式,当目标漏洞为危险漏洞时,可以输出针对目标漏洞的危险提示,例如,输出“xx漏洞为危险漏洞,建议进行修复”,以便于运维人员知道该漏洞存在较大的威胁,进而便于运维人员后续在空闲的时候进行补丁修复操作。或者进而便于运维人员将该预测结果作为初步结果,后续再结合专家经验分析,最终确定是否对该目标漏洞进行补丁修复。该过程可以结合专家经验,提高对漏洞进行处理的可靠度,同时可以避免对所有漏洞进行专家分析,降低人工成本。
65.作为另外一种方式,当目标漏洞为危险漏洞时,可以直接获取与目标漏洞对应的修复补丁,利用修复补丁对危险漏洞进行修复。也可以在目标漏洞为危险漏洞的情况下,获取未来一定时间内的业务状态,在未来一定时间内的业务状态存在空闲状态时,在空闲时间段内容获取与目标漏洞对应的修复补丁,利用修复补丁对危险漏洞进行修复。上述过程中,不管当目标漏洞为危险漏洞时,是直接进行补丁修复,还是先判断当前业务状态为空闲状态时再进行补丁修复,均是自动进行补丁修复的,避免人工进行操作,降低人工成本。同时,上述过程中先判断业务状态为空闲状态时再进行补丁修复,可以避免影响正在进行中的其他业务,减少对业务系统的干扰。
66.其中,当目标漏洞不是危险漏洞时,可以输出不是危险漏洞的提示,以便于运维人员知道该漏洞存在的威胁较小,如果重启并修复该漏洞对业务损失大,运维人员则可以不必进行修复。
67.本技术实施例提供的一种漏洞处理方法,通过获取目标漏洞对应的目标属性信息,再获取目标漏洞对应的目标属性信息对应的目标特征表示向量,再基于目标特征表示向量以及预设分类规则,预测目标漏洞是否为危险漏洞,再在目标漏洞为危险漏洞的情况下,执行与危险漏洞匹配的预设处理操作。从而通过前述方式可以对目标漏洞是否为危险漏洞进行预测,并在预测目标漏洞为危险漏洞的情况下,执行与危险漏洞匹配的预设处理操作,由于只对预测为危险漏洞的漏洞进行匹配的处理操作,而不必对所有的漏洞进行处理,在保证运维效率的同时可以降低危险漏洞带来的安全威胁。
68.此外,考虑到属性信息是包括漏洞编码(也可以称为漏洞id/标识)、漏洞标题、漏洞厂商、漏洞描述、漏洞评分、发布日期等信息的。而其中,漏洞编码、漏洞评分、发布日期等属性信息是数字型属性信息或者标称型属性数据,漏洞标题、漏洞厂商、漏洞描述等属性信息是文字型属性信息。其中,由于数值型数据或者标称型数据不需要经过复杂处理,可以看做是同一种情况。因此,在从属性信息中确定的目标属性信息,可以有三种情况,即只包括
数字型属性信息或者标称型属性数据,只包括文字型属性信息,或者既包括数字型属性信息或者标称型属性数据,也包括文字型属性信息。因此,若目标属性信息中包括文字型属性信息,为了后续便于对目标漏洞进行预测,在一些方式中,请参阅图2,图2所示为本技术一实施例提出的一种漏洞处理方法的流程图,该方法包括:
69.s210,获取目标漏洞对应的目标属性信息,目标属性信息包括文字型属性信息。
70.s220,对文字型属性信息进行分词处理,得到多个分词文本。
71.在对文字型属性信息进行分词处理后,可以将文字型属性信息拆分为多个部分,而其中每个部分被作为一个分词文本。例如,若获取的目标漏洞对应的目标属性信息包括漏洞标题“函数竞争条件漏洞”,则可以对“函数竞争条件漏洞”进行分词处理,那么分词处理所得到的多个分词文本分别可以包括“函数”“竞争条件”以及“漏洞”。
72.s230,基于词向量模型,获取多个分词文本分别对应的词向量,其中,分词文本对应的词向量为携带文本语义的向量。
73.需要说明的是,在本实施例中分词文本对应的词向量可以理解为某个分词文本对应的表示向量,即使用向量来表征一个词语,并且分词文本对应的词向量为携带文本语义的向量,通过考虑词向量携带的文本语义,可以提高对于后续预测漏洞是否为危险漏洞的准确性。
74.作为一种方式,在得到多个分词文本后,可以使用的词向量模型来获取多个分词文本中各个分词文本分别对应的词向量。沿用上述示例,可以分别获取“函数”对应的词向量、“竞争条件”对应的词向量以及“漏洞”对应的词向量。
75.在一个或多个实施例中,对分词进行处理可以利用word2vec或者glove(global vectors for word representation)。需要说明的是,word2vec是一用来训练以产生词向量的相关模型。word2vec模型可以为三层神经网络,其中,word2vec模型的输入层用于对词语进进行独热编码,word2vec模型的的隐藏层为线性单元。word2vec模型的输出层的维度跟word2vec模型的输入层的维度一样,且是基于softmax回归实现的。其中,softmax回归是逻辑回归(logistic regression)的一般形式,且softmax回归可以用于多分类。在训练过程中,可以看作通过神经网络训练n-gram语言模型,并在训练过程中求出词语对应的词向量。在基于word2vec完成训练后,可用来映射每个词到一个向量,以及可用来表示词对词之间的关系,进而实现基于word2vec模型来得到每个分词文本对应的词向量。glove是一个基于全局词频统计的词表征工具,它可以把一个词语表达成一个由实数组成的向量,这些向量捕捉到了词语之间一些语义特性,比如相似性以及类比性等。
76.为了提高词向量模型在漏洞处理工作中的使用效果,请参阅图3,图3所示为一种词向量模型训练方法的流程图,该方法包括:
77.s231,获取第二训练集,第二训练集包括各样本漏洞对应的目标属性信息。
78.第二训练集是用于训练得到训练词向量模型的训练集,因此,为了提高词向量模型在漏洞处理工作中的使用效果,可以考虑使用多个漏洞对应的属性信息作为训练数据来对初始词向量模型进行训练。如此,可以使得训练得到的词向量模型能够进一步的考虑文字型属性信息包括的各个分词文本在所对应的语境中的实际意思。
79.例如,假设文字型属性信息为“苹果用户面临的漏洞”,那么其中的苹果可以理解为一种水果,也可以理解为手机品牌,而结合语境可知对于“苹果”后接的是“用户”,所以其
结合语义含义所对应的实际要表达的意图可以确定苹果为手机品牌。
80.因此,利用各样本漏洞对应的目标属性信息作为训练集来对初始词向量模型进行训练,从而得到词向量模型,可以提高词向量模型在漏洞处理工作中的使用效果。
81.s232,对各样本漏洞对应的目标属性信息进行分词,得到各样本漏洞对应的目标属性信息对应的多个样本分词文本。
82.在获取第二训练集之后,为了后续对初始词向量模型进行训练,可以首先对各样本漏洞对应的目标属性信息进行分词,得到各样本漏洞对应的目标属性信息对应的多个样本分词文本。
83.s233,对多个样本分词文本进行降维转换处理,得到目标词库。
84.目标词库可以理解为由多个样本分词文本分别经过降维转换处理后得到的向量组成的词库。在得到各样本漏洞对应的目标属性信息对应的多个样本分词文本之后,可以对每个分词文本进行降维转换处理,从而得到目标词库。
85.作为一种方式,对每个分词文本进行降维转换处理的方式可以通过对多个样本分词文本进行特征哈希的方式实现,从而得到的目标词库为独热编码词库,即one-hot词库。
86.s234,基于目标词库对初始词向量模型进行训练,得到词向量模型。
87.最后,便可以基于目标词库对初始词向量模型进行训练,得到词向量模型。
88.本实施例中,通过各样本漏洞对应的目标属性信息作为训练集来对初始词向量模型进行训练,从而得到词向量模型,可以提高词向量模型在漏洞处理工作中的使用效果。同时,由于对多个样本分词文本进行降维转换处理,可以简化训练过程,降低对初始词向量模型的训练难度。
89.s240,对多个分词文本分别对应的词向量进行均值计算,得到目标特征表示向量。
90.需要说明的是,上述过程是得到了文字型属性信息中各个分词文本分别对应的词向量,而为了得到整个目标属性信息对应的目标特征表示向量,就需要对多个分词文本分别对应的词向量进行处理。
91.作为一种方式,可以对多个分词文本分别对应的词向量进行均值计算,得到目标特征表示向量。其中,均值计算可以理解为对多个分词文本对应的词向量进行求平均处理。可选地,求平均处理可以是将各个分词文本对应的词向量相加取平均值,也可以是将各个分词文本对应的词向量加权相加再取平均值。
92.需要说明的是,目标属性信息是可以包括多种属性信息的,例如,可以包括漏洞标题、漏洞厂商、漏洞描述以及漏洞评分四种属性信息,其中,包括了漏洞标题、漏洞厂商以及漏洞描述三种文字型属性信息,这种情况下,在对多个分词文本分别对应的词向量进行均值计算,得到目标特征表示向量的时候,是将同一个目标属性信息对应的多个分词文本的词向量进行均值计算,从而得到同一个目标属性信息对应的目标特征表示向量的。例如,将漏洞标题对应的多个分词文本的词向量进行均值计算,将漏洞厂商对应的多个分词文本的词向量进行均值计算,以及将漏洞描述对应的多个分词文本的词向量进行均值计算,从而得到三个目标特征表示向量。
93.需要说明的是,若目标属性信息中包括数值型属性信息或者标称型属性数据,则不必进行分词再获取目标特征表示向量。可以直接将数值型属性信息或者标称型属性数据表示为目标特征表示向量。
94.s250,基于目标特征表示向量以及预设分类规则,预测目标漏洞是否为危险漏洞。
95.s260,在目标漏洞为危险漏洞的情况下,执行与危险漏洞匹配的预设处理操作。
96.本技术实施例提供的一种漏洞处理方法,获取目标漏洞对应的目标属性信息后,在目标漏洞对应的目标属性信息包括文字型属性信息的情况下,会对文字型属性信息进行分词处理,得到多个分词文本,然后基于词向量模型,获取多个分词文本分别对应的词向量,然后对多个分词文本分别对应的词向量进行均值计算,得到目标特征表示向量,进而基于目标特征表示向量以及预设分类规则,预测目标漏洞是否为危险漏洞,并且在目标漏洞为危险漏洞的情况下,执行与危险漏洞匹配的预设处理操作。从而通过前述方式,依次对文字型属性信息进行分词、向量化以及均值处理操作,从而得到文字型属性信息对应的目标特征表示向量,方便了后续直接基于目标特征表示向量以及预设分类规则对目标漏洞进行预测。并且,本技术实施例的漏洞处理方法是基于语义识别的方式对目标漏洞进行预测,充分考虑了各个目标属性信息的语义对于漏洞预测的影响,提高了目标漏洞预测的准确性。
97.作为一种方式中,预设分类规则可以基于训练后的神经网络模型得到。在这种情况下,本实施例的漏洞处理方法可以包括预设分类规则建立部分以及预设分类规则应用部分,请参阅图4,图4所示为本技术一实施例提出的一种漏洞处理方法的流程图,该方法包括:
98.s310,获取第一训练集,第一训练集包括各样本漏洞对应的目标属性信息以及各样本漏洞对应的分类标签。
99.本实施例中,为了后续可以基于目标特征表示向量以及预设分类规则,预测目标漏洞是否为危险漏洞,需要先建立预设分类规则。而为了建立预设分类规则,可以先获取用于对初始模型进行训练的训练样本集合,即第一训练集,第一训练集中可以包括各样本漏洞对应的目标属性信息以及各样本漏洞对应的分类标签,其中,分类标签是指样本漏洞为危险漏洞或者不是危险漏洞的分类标签。
100.作为一种方式,可以获取历史上公布的漏洞,并从中随机选择部分已经出现恶意利用代码的漏洞作为携带危险漏洞标签的样本漏洞,以及随机选择部分已被公开,但是长期均未出现恶意利用代码的漏洞作为携带不是危险漏洞标签的样本漏洞。在获取样本漏洞之后,可以进一步获取样本漏洞对应的目标属性信息。
101.s320,获取各样本漏洞对应的目标属性信息对应的第一特征表示向量,以及各样本漏洞对应的分类标签对应的第二特征表示向量。
102.其中,第一特征向量可以理解为样本漏洞对应的目标属性信息对应的特征表示向量,第二特征向量可以理解为样本漏洞对应的分类标签对应的特征表示向量。
103.可以理解的是,第一训练集中可以包括多个样本漏洞,每一个样本漏洞可以对应多个目标属性信息,而针对每一个样本漏洞的每一个目标属性信息,均可以对应获得一个特征表示向量,每一个目标属性信息对应的特征表示向量即为一个第一特征表示向量。而第一训练集中的多个样本漏洞对应的是同一个分类标签,因此,针对同一个样本漏洞存在一个第二特征表示向量。
104.示例性地,假设第一训练集中包括n个样本漏洞,每个样本漏洞对应的目标属性信息包括漏洞标题、漏洞厂商、漏洞描述以及漏洞评分四种。此外,可以对第一训练集中的n个样本漏洞依次从1-n进行编号,因此,对应第1个样本漏洞,可以获取到漏洞标题、漏洞厂商、
漏洞描述以及漏洞评分分别对应的一个第一特征表示向量,对应第1个样本漏洞,还可以获取到第二特征表示向量。同理,对应第n个样本漏洞,可以获取到漏洞标题、漏洞厂商、漏洞描述以及漏洞评分分别对应的一个第一特征表示向量,对应第n个样本漏洞,还可以获取到第二特征表示向量。
105.其中,由于分类标签属于标称型信息,因此可以直接将分类标签表示为特征表示向量,即获取到各样本漏洞对应的分类标签对应的第二特征表示向量。
106.其中,获取各样本漏洞对应的目标属性信息对应的第一特征表示向量的方法,可以参考前述内容中获取目标漏洞对应的目标属性信息对应的目标特征表示向量的方法。
107.s330,基于各第一特征表示向量以及各第二特征表示向量,得到目标属性信息对应的初始权重。
108.本实施例中,为了使得初始模型在训练的过程中收敛更快以及尽量往目标希望的方向收敛,可以基于第一特征表示向量以及各第二特征表示向量,得到目标属性信息对应的初始权重。
109.作为一种方式,如图5所示,基于各第一特征表示向量以及各第二特征表示向量,得到目标属性信息对应的初始权重,包括:
110.s331,对各第一特征表示向量进行均值计算,得到第一平均特征表示向量,以及对各第二特征表示向量进行均值计算,得到第二特征平均表示向量。
111.可以理解的是,为了充分体现各个目标属性信息对于预测目标漏洞是否为危险漏洞时的重要程度,可以计算各个目标属性信息各自对应的初始权重。因此,本实施例中,对各第一特征表示向量进行均值计算是指在第一训练集中,在相同的目标属性信息对应的第一特征表示向量之间进行均值计算,从而得到某个目标属性信息对应的第一平均特征表示向量。
112.示例性地,若样本漏洞的目标属性信息包括漏洞标题、漏洞厂商、漏洞描述以及漏洞评分。则分别获取到第1-n个样本漏洞的漏洞标题各自对应的第一特征表示向量,将第1-n个样本漏洞的漏洞标题各自对应的第一特征表示向量进行相加求平均,得到漏洞标题对应的第一平均特征表示向量。分别获取到第1-n个样本漏洞的漏洞厂商各自对应的第一特征表示向量,将第1-n个样本漏洞的漏洞厂商各自对应的第一特征表示向量进行相加求平均,得到漏洞厂商对应的第一平均特征表示向量。同理,可以得到漏洞描述对应的第一平均特征表示向量以及漏洞评分对应的第一平均特征表示向量。
113.由于同一个样本漏洞只对应一个第二特征表示向量,对各第二特征表示向量进行均值计算,可以是指在第一训练集中,在各个样本漏洞对应的第二特征表示向量之间进行均值计算得到第二特征平均表示向量。
114.s332,基于各第一特征表示向量、第一平均特征表示向量、各第二特征表示向量以及第二平均特征表示向量,得到目标属性信息对应的初始权重。
115.作为一种方式,基于各第一特征表示向量、第一平均特征表示向量、各第二特征表示向量以及第二平均特征表示向量,得到目标属性信息对应的初始权重,可以采用以下公式:
[0116][0117]
其中,ρ表示某个目标属性信息对应的权重,i表示第一训练集中的第i个样本漏洞,xi表示第i个样本漏洞,在该目标属性信息下对应的第一特征表示向量,x表示该目标属性信息对应的第一平均特征表示向量,yi表示第i个样本漏洞对应的第二他表示向量,y表示第二特征平均表示向量。
[0118]
从而通过上述公式,在获取到各第一特征表示向量、第一平均特征表示向量、各第二特征表示向量以及第二平均特征表示向量的情况下,可以通过公式计算得到各个目标属性信息对应的初始权重。
[0119]
s340,基于各第一特征表示向量、各第二特征表示向量以及目标属性信息对应的初始权重,对初始模型进行训练,得到预设分类规则。
[0120]
作为一种方式,如图6所示,基于各第一特征表示向量、各第二特征表示向量以及目标属性信息对应的初始权重,对初始模型进行训练,以更新目标属性信息对应的初始权重,得到预设分类规则,包括:
[0121]
s341,将初始权重输入初始模型,作为初始模型的初始化权重,其中,至少一个目标属性信息中的每个目标属性信息分别对应一个初始权重。
[0122]
可以理解的是,每个样本漏洞可以有多个目标属性信息,因此,在样本漏洞有多个目标属性信息的情况下,将初始权重输入初始模型,可以是将各个目标属性信息对应的初始权重分别输入初始模型,分别作为初始模型的初始化权重。
[0123]
s342,基于各第一特征表示向量以及各第二特征表示向量对初始分类模型的初始化权重进行迭代更新,得到至少一个目标属性信息中每个目标属性信息分别对应的权重。
[0124]
将初始权重作为初始模型的初始化权重之后,便可以依次将第一训练集中的第一个样本漏洞对应的各第一特征表示向量以及第二特征表示向量输入初始模型,初始模型基于初始化权重对样本漏洞对应的各个目标属性信息的第一特征向量进行加权计算以及后续处理,得到一个预测值,然后基于预测值与第二特征表示向量构造损失函数,并使用梯度下降算法更新初始模型中的初始化权重,至此,便完成了对初始化权重的一次迭代更新,可以得到一个更新后的权重。在继续利用多个样本漏洞的第一特征表示向量以及各第二特征表示向量对初始分类模型的权重进行迭代更新,可以得到更新后的权重,进而得到训练好的神经网络模型。
[0125]
s343,基于至少一个目标属性信息中每个目标属性信息分别对应的权重以及漏洞概率阈值,得到预设分类规则。
[0126]
其中,预设分类规则可以是基于更新后的权重进行分类类别概率计算,得到目标漏洞属于危险漏洞或者不属于危险漏洞的预测概率,然后再基于目标漏洞属于危险漏洞或者不属于危险漏洞的预测概率与漏洞概率阈值的比较,从而得到目标漏洞所属于的分类类别的规则。因此,在得到至少一个目标属性信息中每个目标属性信息分别对应的权重之后,便可以基于至少一个目标属性信息中每个目标属性信息分别对应的权重,以及漏洞概率阈值得到预设分类规则。
[0127]
作为一种方式,初始模型可以基于逻辑回归函数建模得到。在这种情况下,基于各
第一特征表示向量以及各第二特征表示向量对初始分类模型的初始化权重进行迭代更新,得到至少一个目标属性信息中每个目标属性信息分别对应的权重,包括:将各第一特征表示向量以及各第二特征表示向量输入逻辑回归函数,对逻辑回归函数的初始化权重参数进行迭代更新,得到至少一个目标属性信息中每个目标属性信息分别对应的权重参数,其中,逻辑回归函数的初始化权重参数包括初始权重。
[0128]
其中,逻辑回归函数可以表示为以下公式:
[0129][0130]
其中,h
θ
(x)表示在输入值为x,参数为θ的前提下,目标漏洞为危险漏洞的概率。
[0131]
逻辑回归函数的损失函数可以表示为以下公式:
[0132][0133]
梯度下降算法可以表示为以下公式:
[0134][0135]
本实施例中,基于逻辑回归函数建模得到初始分类模型,可以做到轻量级实现,简化对目标漏洞的预测过程。
[0136]
s350,获取目标漏洞对应的目标属性信息。
[0137]
s360,获取目标漏洞对应的目标属性信息对应的目标特征表示向量。
[0138]
s370,基于目标特征表示向量以及预设分类规则,预测目标漏洞是否为危险漏洞。
[0139]
s380,在目标漏洞为危险漏洞的情况下,执行与危险漏洞匹配的预设处理操作。
[0140]
本技术实施例提供的一种漏洞处理方法,通过对初始模型进行训练得到分类模型,利用分类模型得到预设分类规则,再利用预设分类规则对目标漏洞是否为进行预测,并在目标漏洞为危险漏洞的情况下,执行与危险漏洞匹配的预设处理操作,由于基于训练得到的分类模型得到的预设分类规则,可以提高对目标漏洞进行预测的准确性。
[0141]
下面再对本技术实施例的漏洞处理方法进行详细介绍。其中,本技术实施例提供的漏洞处理方法包括预设分类规则建立部分以及应用预设分类规则进行漏洞处理部分。
[0142]
首先对本技术实施例提供的漏洞处理方法中预设分类规则建立部分内容进行介绍。该方法可以应用于服务器上,服务器可以通过设置cve监控爬虫从cve公布站点获取多个样本漏洞以及对应的属性信息,将属性信息中漏洞标题、漏洞厂商、漏洞描述以及漏洞评分确定为目标属性信息,至此,各样本漏洞数据包括各样本漏洞对应的目标属性信息以及各样本漏洞对应的分类标签。
[0143]
下面结合图7,图7示出了本技术实施例提出的一种确定各个目标属性对应的初始权重的方法的流程示意图,如图7所示,该方法包括:
[0144]
s410,判断漏洞标题、漏洞厂商、漏洞描述以及漏洞评分的类型。
[0145]
s421a,使用词向量模型对漏洞标题、漏洞厂商、漏洞描述进行分词处理,得到漏洞标题、漏洞厂商、漏洞描述分别对应的分词文本。
[0146]
需要说明的是,词向量模型根据实现的功能进行划分可以有多种类型。例如,一种类型是,词向量模型可以具有实现分词功能的分词模块以及实现向量化处理的向量化模
块,此时,使用词向量模型便能够同时完成分词以及向量化处理过程。又例如,另一种类型是,词向量模型本身不具有实现分词功能的分词模块,仅能够接收分词之后的分词文本,再将接收到的分词文本通过向量化模块进行向量化处理,此时,词向量是以分词文本作为输入文件输入的。
[0147]
此处使用的是具有实现分词功能的分词模块以及实现向量化处理的向量化模块的词向量模型。
[0148]
由于漏洞标题、漏洞厂商、漏洞描述属于文字型属性信息,因此,在获取各样本漏洞对应的目标属性信息对应的第一特征表示向量时,针对每一个样本漏洞目标属性信息中的漏洞标题、漏洞厂商、漏洞描述,可以使用词向量模型进行分词以及向量化处理。
[0149]
在进行分词处理之前,首先需要对词向量模型进行初始化操作,初始化操作包括设置类初始化参数以及设置类属性,其中,类初始化参数包括:保留的最大词数、过滤参数、大小写的开启状态、词语分隔符、每个字符的状态以及文档个数等。此外,还需要设置类属性,设置类属性包括:设置是否统计单词在训练期间出现的次数、设置是否统计单词在训练期间所出现的文档或文本的数量、设置是否统计单词的数量排名或者索引等。在设置完类初始化参数以及设置完类属性之后,便能够利用词向量模型对漏洞标题、漏洞厂商、漏洞描述进行分词处理,得到分词文本。
[0150]
其中,在设置类属性之后,可以将类属性结果以字典的格式输出。此外还可以把对象序列化,并且以json的格式存储起来。存储以后后续可以通过反序列化得到对象。
[0151]
s422a,使用词向量模型对漏洞标题、漏洞厂商、漏洞描述分别对应的分词文本进行向量化处理,得到漏洞标题、漏洞厂商、漏洞描述各自对应的第一特征表示向量。
[0152]
在进行分词处理得到分词文本之后,接下来,对分词文本进行后续向量化处理,得到第一特征表示向量。其中,首先将分词后的分词文本进行哈希(hash)处理转化成独热(one_hot)编码,随后在词向量模型中将one_hot编码进行向量化,得到各个分词文本对应的词向量,然后分别对漏洞标题、漏洞厂商、漏洞描述各自对应的词向量进行均值计算,并将均值计算结果以矩阵形式输出,最终得到各样本漏洞对应的漏洞标题、漏洞厂商、漏洞描述这三种目标属性信息各自对应的第一特征表示向量。
[0153]
其中,上述过程中使用的词向量模型是在初始词向量模型经过训练之后得到的,对初始词向量模型进行训练的过程中,可以使用漏洞标题、漏洞厂商、漏洞描述这三种属性信息作为训练样本进行训练。首先将样本中的漏洞标题、漏洞厂商、漏洞描述进行分词处理,得到分词文本,然后将分词得到的各个分词文本进行哈希处理转化成独热词库,利用独热词库对词向量模型进行训练,得到训练好的词向量模型,由于训练过程中使用的是漏洞标题、漏洞厂商、漏洞描述等属性信息作为训练样本进行训练,使得训练后得到的词向量模型能够充分挖掘漏洞相关文本中的信息,提升后续词向量模型在漏洞处理工作中的处理识别能力。
[0154]
其中,可以理解的是,在训练词向量模型的时候,可以使用漏洞标题、漏洞厂商、漏洞描述等属性信息,同时对向量化模块以及分词模块进行联合训练,从而得到具有向量化功能以及分词功能的词向量模块。由于是使用漏洞标题、漏洞厂商、漏洞描述等属性信息,对向量化模块以及分词模块进行联合训练,因此,可以综合协调向量化模块以及分词模块的参数,从而进一步提升后续词向量模型在漏洞处理工作中的处理识别能力。
[0155]
s420b,将漏洞评分转化为第一特征表示向量。
[0156]
由于漏洞评分属于数值型属性信息或者标称型属性信息,因此可以直接将数值型属性信息或者标称型属性数据表示为第一特征表示向量。
[0157]
s430,将各样本漏洞对应的分类标签进行向量表示,得到对应的第二特征表示向量。
[0158]
通过上述步骤可以得到各样本漏洞对应的目标属性信息对应的第一特征表示向量,然后再将各样本漏洞对应的分类标签进行向量表示,得到对应的第二特征表示向量。
[0159]
s440,将各样本漏洞对应的目标属性信息对应的第一特征表示向量进行均值计算,得到第一平均特征表示向量,以及对各第二特征表示向量进行均值计算,得到第二特征平均表示向量。
[0160]
接着,再将各样本漏洞对应的目标属性信息对应的第一特征表示向量进行均值计算,得到第一平均特征表示向量,以及对各第二特征表示向量进行均值计算,得到第二特征平均表示向量。
[0161]
s450,将各第一特征表示向量、第一平均特征表示向量、各第二特征表示向量以及第二平均特征表示向量输入权重计算式进行初始权重计算,计算得到各个目标属性信息对应的初始权重。
[0162]
最后将各第一特征表示向量、第一平均特征表示向量、各第二特征表示向量以及第二平均特征表示向量输入权重计算式进行初始权重计算,计算得到各个目标属性信息对应的初始权重。
[0163]
最后便可以将第一特征表示向量、各第二特征表示向量以及各个目标属性信息对应的初始权重输入逻辑回归函数,进行模型训练,得到分类模型,进而得到预设分类规则。
[0164]
请参阅图8,图8为本技术实施例提供的漏洞处理方法中应用预设分类规则进行漏洞预测过程的流程图,流程如下:
[0165]
s510,利用监控爬虫从漏洞公布站点获取目标漏洞以及目标漏洞对应的漏洞标题、漏洞厂商、漏洞描述以及漏洞评分。
[0166]
在建立预设分类规则之后,便可以应用预设分类规则进行漏洞处理。
[0167]
该流程可以应用于服务器上,服务器可以通过设置cve监控爬虫从cve公布站点获取目标漏洞以及对应的至少一个属性信息,例如选取爬取的属性信息中的漏洞标题、漏洞厂商、漏洞描述以及漏洞评分确定为目标属性信息,然后获取各个目标属性信息对应的目标特征表示向量。
[0168]
s520,获取目标漏洞对应的漏洞标题、漏洞厂商、漏洞描述以及漏洞评分各自对应的目标特征向量表示。
[0169]
其中,再结合图9所示,图9示出了获取各个目标属性信息对应的目标特征表示向量的流程示意图,该流程包括以下步骤:
[0170]
s521,使用词向量模型对目标属性信息进行分词处理,得到对应的分词文本。
[0171]
本实施例中,可以使用具有分词模块以及词向量处理模块的词向量模型进行分词处理,得到分词文本。
[0172]
s522,对分词文本进行哈希转化,得到独热编码。
[0173]
s523,将独热编码进行向量化,得到对应的词向量。
[0174]
s524,对词向量进行均值计算,得到均值计算结果。
[0175]
s525,将均值计算结果以矩阵形式输出,得到目标属性信息对应的目标特征表示向量。
[0176]
本实施例中,先将目标漏洞的漏洞标题、漏洞厂商以及漏洞描述分别输入词向量模型,词向量模型首先在分词模块的中对目标漏洞的漏洞标题、漏洞厂商以及漏洞描述分别进行分词处理,得到目标漏洞的漏洞标题、漏洞厂商以及漏洞描述分别对应的分词文本。
[0177]
然后,词向量模型再调用将目标漏洞的漏洞标题、漏洞厂商以及漏洞描述分别对应的分词文本进行hash处理转化成one_hot编码,得到目标漏洞的漏洞标题、漏洞厂商以及漏洞描述分别对应的分词文本的one_hot编码。
[0178]
然后,词向量模型再在向量化模块中将one_hot编码进行向量化,得到目标漏洞的漏洞标题、漏洞厂商以及漏洞描述分别对应的分词文本对应的词向量,并对目标漏洞的漏洞标题、漏洞厂商以及漏洞描述分别对应的分词文本对应的词向量进行均值计算,最后将均值计算结果以矩阵形式输出,最终得到目标漏洞对应的漏洞标题、漏洞厂商、漏洞描述这三个目标属性信息各自对应的目标特征表示向量。
[0179]
其中,由于漏洞评分属于数值型属性信息或者标称型属性信息,因此可以直接将数值型属性信息或者标称型属性数据表示为特征表示向量,从而得到漏洞评分对应的目标特征表示向量。
[0180]
s530,利用分类规则对目标漏洞对应的漏洞标题、漏洞厂商、漏洞描述以及漏洞评分各自对应的目标特征向量表示进行处理,得到漏洞预测结果。
[0181]
在得到漏洞标题、漏洞厂商、漏洞描述以及漏洞评分这四个目标属性信息各自对应的目标特征表示向量之后,便可以利用预设分类规则对目标漏洞对应的漏洞标题、漏洞厂商、漏洞描述以及漏洞评分这4个目标属性信息各自对应的目标特征表示向量进行处理,预测得到目标漏洞是否为危险漏洞的预测结果。
[0182]
具体地,首先将漏洞标题、漏洞厂商、漏洞描述以及漏洞评分各自对应的目标特征表示向量,以及漏洞标题、漏洞厂商、漏洞描述以及漏洞评分各自对应的权重进行加权求和,得到目标漏洞对应的预测概率。
[0183]
然后判断目标漏洞对应的预测概率与漏洞概率阈值的大小,若目标漏洞对应的预测概率大于漏洞概率阈值,则可以预测目标漏洞为危险漏洞,若目标漏洞对应的预测概率小于漏洞概率阈值,则可以预测目标漏洞不是危险漏洞。
[0184]
最后,便可以根据目标漏洞的预测结果,执行相应的操作,例如,若分类规则预测的预测结果是预测目标漏洞为危险漏洞,则执行与危险漏洞匹配的预设处理操作,例如可以是输出危险漏洞的提示,或者直接进行补丁修复。
[0185]
其中,在上述预测目标漏洞是否为危险漏洞的过程中,也可以采用分类模型,具体地,直接将目标漏洞对应的漏洞标题、漏洞厂商、漏洞描述以及漏洞评分这4个目标属性信息各自对应的目标特征表示向量输入分类模型,从而得到分类模型的输出结果,即目标漏洞是否为危险漏洞的结果,进而实现预测目标漏洞是否为危险漏洞。
[0186]
请参阅图10,图10所示为本技术一实施例提出的一种漏洞处理方法的流程图,本实施例中,危险漏洞包括多个危险级别,该方法包括:
[0187]
s610,获取目标漏洞对应的至少一个目标属性信息。
[0188]
s620,获取目标漏洞对应的至少一个目标属性信息对应的目标特征表示向量;
[0189]
s630,基于目标特征表示向量以及预设分类规则,预测目标漏洞是否为危险漏洞,以及预测危险漏洞对应的目标危险级别。
[0190]
本实施例中,预设分类规则可以包括两个部分,一个部分用于计算目标漏洞为危险漏洞的概率,另一个部分用于根据计算出的概率与漏洞概率阈值进行比较。其中,漏洞阈值可以有多个,每一个漏洞阈值对应一个漏洞级别,漏洞阈值中的最小漏洞阈值用于判断目标漏洞是否为最低级别危险漏洞。
[0191]
例如,漏洞阈值可以包括0.6、0.7、0.8、0.9,其中0.6为最小漏洞阈值,对应最低漏洞级别一级,也就是说如果计算出的目标漏洞为危险漏洞的概率大于或者等于0.6时,便可以认为目标漏洞为危险漏洞,当目标漏洞为危险漏洞的概率处于0.6到0.7之间时(包括0.6),预测目标漏洞为危险漏洞,且预测得到危险漏洞的危险级别为一级,当目标漏洞为危险漏洞的概率处于0.7到0.8之间时(包括0.7),预测目标漏洞为危险漏洞,且预测得到危险漏洞的危险级别为二级,当目标漏洞为危险漏洞的概率处于0.8到0.9之间时(包括0.8),预测目标漏洞为危险漏洞,且预测得到危险漏洞的危险级别为三级,当目标漏洞为危险漏洞的概率大于或者等于0.9时,预测目标漏洞为危险漏洞,且预测得到危险漏洞的危险级别为四级。
[0192]
s640,基于预设对应关系,确定目标危险级别对应的目标处理期限,预设对应关系包括多个危险级别以及与每个危险级别分别对应的目标处理期限。
[0193]
本实施例中,目标处理期限是指目标漏洞的目标危险级别对应的处理期限,表示在该处理期限内,需要对目标漏洞进行修复。可以理解的是,目标漏洞的目标危险级别越高,对应的目标处理期限越小,即需要尽快处理。
[0194]
为了能够基于预设对应关系,确定目标危险级别对应的目标处理期限,可以预先建立预设对应关系。预设对应关系是指危险级别与对应的处理期限之间的对应关系。因此,预设对应关系包括多个危险级别以及与每个危险级别分别对应的目标处理期限。可选地,预设对应关系可以根据经验进行设置。
[0195]
可以理解的是,目标处理期限可以是从预测得到目标处理期限的时刻开始算起,也可以是从获取到目标漏洞的时刻开始算起。
[0196]
示例性地,在预设关系中,危险漏洞的危险级别包括由低到高依次增加的一级、二级、三级以及四级,其中,一级对应的处理期限为90天,二级对应的处理期限为60天,三级对应的处理期限为30天,四级对应的处理期限为15天。
[0197]
s650,基于目标处理期限,执行与危险漏洞匹配的预设处理操作。
[0198]
在得到目标处理期限之后,便可以基于目标处理期限,执行与危险漏洞匹配的预设处理操作。
[0199]
作为一种方式,如图11所示,基于目标处理期限,执行与危险漏洞匹配的预设处理操作,包括:
[0200]
s651,获取目标处理期限内的业务繁忙度以及目标漏洞对应的漏洞修复时长。
[0201]
其中,业务繁忙度是指业务繁忙的程度。由于大多修复补丁需要重启服务,容易对业务造成损失,而又可以理解的是,在业务繁忙的时候进行修复会对业务造成较大损失,而在业务不繁忙的时候进行修复,则对业务造成的损失相对较小,因此,可以权衡修复漏洞带
来的业务损失以及漏洞危害带来的业务损失,在修复漏洞带来的业务损失处于可接受的范围内的时候,考虑进行修复。
[0202]
由前述内容可知,每个目标漏洞对应一个危险级别,每个危险级别又可以根据预设对应关系得到一个处理期限。因此,针对每个目标漏洞,均可以知道该漏洞对应的目标处理期限。
[0203]
因此,为了能够判断后续进行漏洞修复时的业务损失是否可接受,可以首先获取目标处理期限内的业务繁忙度以及漏洞修复时长。
[0204]
其中,漏洞修复时长是指修复漏洞所花费的时长。其中,漏洞修复时长可以根据目标漏洞的大小、漏洞厂商以及漏洞描述等确定。
[0205]
s652,基于目标处理期限内的业务繁忙度以及漏洞修复时长,执行与危险漏洞匹配的预设处理操作。
[0206]
作为一种方式,基于目标处理期限内的业务繁忙度以及漏洞修复时长,执行与危险漏洞匹配的预设处理操作包括:在可修复时长大于所述漏洞修复时长的情况下,在可修复时长对应的起始时刻对目标漏洞进行修复;或者,在可修复时长小于所述漏洞修复时长的情况下,输出修复提示。其中,可修复时长为业务繁忙度小于繁忙度阈值的连续时长。
[0207]
其中,繁忙度阈值是衡量业务繁忙度是否在可接受范围内的标准,可以根据实际业务情况、业务重要性等进行设置。业务繁忙度大于或者等于繁忙度阈值时,可以认为业务繁忙,不宜进行漏洞修复,在业务繁忙度小于繁忙度阈值时,可以认为业务不繁忙,可以进行漏洞修复。对应的,可修复时长是指可以进行漏洞修复的时长,即业务繁忙度小于繁忙度阈值的连续时长。
[0208]
可以理解的是,目标处理期限内的业务繁忙度在不同时间节点是可变的,例如,目标处理期限为30天,在30天内,可能存在节日或者纪念日等特殊日期,在节日或者纪念日期间,业务繁忙度大于繁忙度阈值,而在其他时间段,业务繁忙度可能小于繁忙度阈值。同时,考虑到某些漏洞修复时间较长,会持续一段时间,因此,为了避免在修复漏洞期间既存在业务不繁忙的时候,也存在业务繁忙的时候,从而可能对业务造成较大影响,因此,可以在可修复时长大于漏洞修复时长的情况下,在可修复时长对应的起始时刻对目标漏洞进行修复。而在可修复时长小于或等于漏洞修复时长的情况下,仅输出修复提示,该修复提示可以用于提示用户尽快保存资料,并开始修复。例如输出的修复提示可以为“即将开始修复,请保存资料”,“请尽快保存资料并修复”等。
[0209]
作为一种方式,获取目标处理期限内的业务繁忙度,包括:基于历史业务繁忙度数据以及业务变化率,预测目标处理期限内的业务繁忙度。
[0210]
可以理解的是,历史业务繁忙度数据对于预测获取目标处理期限内的业务繁忙度有较大的参考意义,例如,对于节日、纪念日等,在一年内的日期是固定的,因此,在这些特殊时期,目标处理期限内的业务繁忙度与历史上同一时期的业务繁忙度相似度很大,但考虑到业务变化情况,也不能完全使用历史上同一时期的业务繁忙度作为目标期限内的业务繁忙度,因此,可以基于历史业务繁忙度数据以及业务变化率,预测目标处理期限内的业务繁忙度。
[0211]
其中,业务变化率是指业务增长率,当业务增长时,业务增长率为正值,当业务下降时,业务增长率为负值。可选地,业务增长率可以通过在线用户总数量、注册用户增长数、
用户流量等进行确定。
[0212]
作为一种方式,可以将历史上同时期的业务繁忙度与业务增长率的乘积作为目标处理期限内的业务繁忙度。
[0213]
作为另外一种方式,考虑到业务增长的同时,系统也会不断的扩容或者优化,因此,可以根据系统扩容的优化的程度计算出一个适应参数,从而将历史上同时期的业务繁忙度与业务增长率以及适应参数三者的乘积作为目标处理期限内的业务繁忙度。其中,适应参数是指随着业务增长对系统业务繁忙度影响程度的系数。
[0214]
此外,本技术实施例的方式虽然可以对大部分漏洞进行预测是否为危险漏洞,但是考虑到对于某些用户而言,仅关注自身可能遇到的漏洞,因此,为了进一步减少用户重启服务的次数,可以获取存储软件资料的资料库,将危险漏洞与资料库中的软件资料进行比对,当危险漏洞与资料库中的软件资料匹配时,再决定是否进行后续修复的流程。
[0215]
需要说明的是,本技术提供以上一些具体可实施方式的示例,在互不抵触的前提下,各个实施例示例之间可任意组合,以形成新一种漏洞处理方法。应当理解的,对于由任意示例所组合形成的新一种漏洞处理方法,均应落入本技术的保护范围。
[0216]
请参阅图12,图12示出了本技术一实施例提出的一种漏洞处理装置500的框图,该装置500包括:目标属性信息获取模块510、目标特征表示向量获取模块520、预测模块530以及处理模块540。
[0217]
目标属性信息获取模块510,用于获取目标漏洞对应的至少一个目标属性信息;
[0218]
目标特征表示向量获取模块520,用于获取目标漏洞对应的至少一个目标属性信息对应的目标特征表示向量;
[0219]
预测模块530,用于基于目标特征表示向量以及预设分类规则,预测目标漏洞是否为危险漏洞;
[0220]
处理模块540,用于在目标漏洞为危险漏洞的情况下,执行与危险漏洞匹配的预设处理操作。
[0221]
作为一种方式,目标漏洞对应的目标属性信息包括文字型属性信息,目标特征表示向量获取模块520包括:
[0222]
分词子模块,用于对文字型属性信息进行分词处理,得到多个分词文本;
[0223]
词向量获取子模块,用于基于词向量模型,获取多个分词文本分别对应的词向量,其中,分词文本对应的词向量为携带文本语义的向量;
[0224]
第一均值计算子模块,用于对多个分词文本分别对应的词向量进行均值计算,得到目标特征表示向量。
[0225]
作为一种方式,该装置500还包括:
[0226]
第二训练集获取模块,用于获取第二训练集,第二训练集包括各样本漏洞对应的目标属性信息。
[0227]
样本分词模块,用于对各样本漏洞对应的目标属性信息进行分词,得到各样本漏洞对应的目标属性信息对应的多个样本分词文本。
[0228]
降维转换处理模块,用于对多个样本分词文本进行降维转换处理,得到目标词库。
[0229]
词向量模型训练模块,用于基于目标词库对初始词向量模型进行训练,得到词向量模型。
[0230]
作为一种方式,预设分类规则包括漏洞概率阈值以及至少一个目标属性信息中每个目标属性信息分别对应的权重,预测模块530包括:
[0231]
预测概率计算子模块,用于基于至少一个目标属性信息中每个属性信息分别对应的目标特征表示向量以及每个目标属性信息分别对应的权重,得到目标漏洞对应的预测概率;
[0232]
预测子模块,用于基于目标漏洞对应的预测概率以及漏洞概率阈值,预测目标漏洞是否为危险漏洞。
[0233]
作为一种方式,该装置500还包括:
[0234]
第一训练集获取模块,用于获取第一训练集,第一训练集包括各样本漏洞对应的目标属性信息以及各样本漏洞对应的分类标签。
[0235]
样本特征表示向量获取模块,用于获取各样本漏洞对应的目标属性信息对应的第一特征表示向量,以及各样本漏洞对应的分类标签对应的第二特征表示向量。
[0236]
初始权重获得模块,用于基于各第一特征表示向量以及各第二特征表示向量,得到目标属性信息对应的初始权重。
[0237]
初始模型训练模块,用于基于各第一特征表示向量、各第二特征表示向量以及目标属性信息对应的初始权重,对初始模型进行训练,以更新目标属性信息对应的初始权重,得到预设分类规则。
[0238]
作为一种方式,初始权重获得模块包括:
[0239]
第二均值计算子模块,用于对各第一特征表示向量进行均值计算,得到第一平均特征表示向量,以及对各第二特征表示向量进行均值计算,得到第二特征平均表示向量;
[0240]
初始权重获得子模块,用于基于各第一特征表示向量、第一平均特征表示向量、各第二特征表示向量以及第二平均特征表示向量,得到目标属性信息对应的初始权重。
[0241]
作为一种方式,初始模型训练模块包括:
[0242]
输入子模块,用于将初始权重输入初始模型,作为初始模型的初始化权重,其中,至少一个目标属性信息中的每个目标属性信息分别对应一个初始权重。
[0243]
迭代更新子模块,用于基于各第一特征表示向量以及各第二特征表示向量对初始分类模型的初始化权重进行迭代更新,得到至少一个目标属性信息中每个目标属性信息分别对应的权重。
[0244]
预设分类规则获得子模块,用于基于至少一个目标属性信息中每个目标属性信息分别对应的权重以及漏洞概率阈值,得到预设分类规则。
[0245]
作为一种方式,迭代更新子模块,包括:
[0246]
迭代更新单元,用于将各第一特征表示向量以及各第二特征表示向量输入逻辑回归函数,对逻辑回归函数的初始化权重参数进行迭代更新,得到至少一个目标属性信息中每个目标属性信息分别对应的的权重参数,其中,逻辑回归函数的初始化权重参数包括初始权重。
[0247]
作为一种方式,处理模块包括:
[0248]
危险提示输出子模块,用于在目标漏洞为危险漏洞的情况下,输出针对目标漏洞的危险提示。
[0249]
作为一种方式,至少一个目标属性信息包括漏洞标题、漏洞描述、漏洞厂商或者漏
洞评分中的至少一个。
[0250]
本技术实施例提供的一种漏洞处理装置,通过获取目标漏洞对应的目标属性信息,再获取目标漏洞对应的目标属性信息对应的目标特征表示向量,再基于目标特征表示向量以及预设分类规则,预测目标漏洞是否为危险漏洞,再在目标漏洞为危险漏洞的情况下,执行与危险漏洞匹配的预设处理操作。从而通过前述方式可以对目标漏洞是否为危险漏洞进行预测,并在预测目标漏洞为危险漏洞的情况下,执行与危险漏洞匹配的预设处理操作,由于只对预测为危险漏洞的漏洞进行匹配的处理操作,而不必对所有的漏洞进行处理,在保证运维效率的同时可以降低危险漏洞带来的安全威胁。
[0251]
需要说明的是,本技术中装置实施例与前述方法实施例是相互对应的,装置实施例中具体的原理可以参见前述方法实施例中的内容,此处不再赘述。
[0252]
下面将结合图13对本技术提供的一种电子设备进行说明。
[0253]
请参阅图13,基于上述的漏洞处理方法,本技术实施例还提供的另一种包括可以执行前述漏洞处理方法的处理器104的电子设备200,该电子设备200可以为智能手机、平板电脑、计算机或者便携式计算机等设备。电子设备200还包括存储器104、网络模块106以及屏幕108。其中,该存储器104中存储有可以执行前述实施例中内容的程序,而处理器102可以执行该存储器104中存储的程序。
[0254]
其中,处理器102可以包括一个或者多个用于处理数据的核以及消息矩阵单元。处理器102利用各种接口和线路连接整个电子设备200内的各个部分,通过运行或执行存储在存储器104内的指令、程序、代码集或指令集,以及调用存储在存储器104内的数据,执行电子设备200的各种功能和处理数据。可选地,处理器102可以采用数字信号处理(digital signal processing,dsp)、现场可编程门阵列(field-programmable gate array,fpga)、可编程逻辑阵列(programmable logic array,pla)中的至少一种硬件形式来实现。处理器102可集成中央处理器(central processing unit,cpu)、图像处理器(graphics processing unit,gpu)和调制解调器等中的一种或几种的组合。其中,cpu主要处理操作系统、用户界面和应用程序等;gpu用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器102中,单独通过一块通信芯片进行实现。
[0255]
存储器104可以包括随机存储器(random access memory,ram),也可以包括只读存储器(read-only memory)。存储器104可用于存储指令、程序、代码、代码集或指令集。存储器104可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储终端100在使用中所创建的数据(比如电话本、音视频数据、聊天记录数据)等。
[0256]
网络模块106用于接收以及发送电磁波,实现电磁波与电信号的相互转换,从而与通讯网络或者其他设备进行通讯,例如和音频播放设备进行通讯。网络模块106可包括各种现有的用于执行这些功能的电路元件,例如,天线、射频收发器、数字信号处理器、加密/解密芯片、用户身份模块(sim)卡、存储器等等。网络模块106可与各种网络如互联网、企业内部网、无线网络进行通讯或者通过无线网络与其他设备进行通讯。上述的无线网络可包括蜂窝式电话网、无线局域网或者城域网。例如,网络模块106可以与基站进行信息交互。
[0257]
屏幕108可以进行界面内容的显示,也可以用于响应触控手势。
[0258]
需要说明的是,为了实现更多的功能,电子设备200还可以保护更多的器件,例如,还可以保护用于进行人脸信息采集的结构光传感器或者还可以保护用于采集虹膜的摄像头等。
[0259]
请参考图14,其示出了本技术实施例提供的一种计算机可读存储介质的结构框图。该计算机可读介质1100中存储有程序代码,程序代码可被处理器调用执行上述方法实施例中所描述的方法。
[0260]
计算机可读存储介质1100可以是诸如闪存、eeprom(电可擦除可编程只读存储器)、eprom、硬盘或者rom之类的电子存储器。可选地,计算机可读存储介质1100包括非易失性计算机可读介质(non-transitory computer-readable storage medium)。计算机可读存储介质1100具有执行上述方法中的任何方法步骤的程序代码1110的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码1110可以例如以适当形式进行压缩。
[0261]
基于上述的漏洞处理方法,根据本技术实施例的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述的各种可选实现方式中提供的方法。
[0262]
综上,本技术实施例提供的一种漏洞处理方法、装置、电子设备、存储介质及计算机程序产品或计算机程序,通过获取目标漏洞对应的目标属性信息,再获取目标漏洞对应的目标属性信息对应的目标特征表示向量,再基于目标特征表示向量以及预设分类规则,预测目标漏洞是否为危险漏洞,再在目标漏洞为危险漏洞的情况下,执行与危险漏洞匹配的预设处理操作。从而通过前述方式可以对目标漏洞是否为危险漏洞进行预测,并在预测目标漏洞为危险漏洞的情况下,执行与危险漏洞匹配的预设处理操作,由于只对预测为危险漏洞的漏洞进行匹配的处理操作,而不必对所有的漏洞进行处理,在保证运维效率的同时可以降低危险漏洞带来的安全威胁。
[0263]
最后应说明的是:以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献