应用漏洞修复方法、装置、设备及存储介质与流程
未命名
07-12
阅读:91
评论:0
1.本技术涉及数据处理领域,尤其涉及一种应用漏洞修复方法、装置、设备及存储介质。
背景技术:
2.漏洞是在硬件、软件、协议的具体实现或系统安全策略上存在的缺陷,从而攻击者能够通过漏洞在未授权的情况下访问或破坏系统。例如,当应用存在漏洞时,攻击者可以通过网络植入木马、病毒等方式来攻击或控制整个电脑,窃取电脑中的重要资料和信息,甚至破坏系统。应用漏洞识别与修复是应用运营中的一个痛点。当应用出现漏洞时,对漏洞进行快速识别,并进行修复,才能保证应用的正常运营,保证应用的安全性。
3.但是目前对应用漏洞的识别效率不高,无法及时地对漏洞进行修复。
技术实现要素:
4.鉴于以上内容,有必要提供一种应用漏洞修复方法、装置、设备及存储介质,能够解决如何提高应用漏洞的识别效率,及时对漏洞进行修复的技术问题。
5.本技术的第一方面提供一种应用漏洞修复方法,应用于电子设备,所述应用漏洞修复方法包括:根据目标应用对应的业务日志数据,确定所述目标应用对应的业务特征序列;
6.将所述业务特征序列与漏洞特征序列库进行匹配,确定所述业务特征序列对应的目标特征序列,并确定所述目标特征序列对应的目标漏洞;
7.确定所述目标应用对应的运行环境特征,并确定所述运行环境特征对应的目标修复组件;
8.根据所述目标修复组件,确定所述目标漏洞对应的修复规则;
9.根据所述目标修复组件和所述修复规则,对所述目标应用进行漏洞修复。
10.根据本技术的一个可选的实施例,所述漏洞特征序列库包括多个漏洞特征序列,所述将所述业务特征序列与漏洞特征序列库进行匹配,确定所述业务特征序列对应的目标特征序列包括:
11.计算所述业务特征序列与每个所述漏洞特征序列的匹配值;
12.根据所述匹配值,在所述漏洞特征序列库中确定匹配特征序列;
13.将与所述业务特征序列匹配值最大的匹配特征序列,确定为所述业务特征序列对应的目标特征序列。
14.根据本技术的一个可选的实施例,所述业务特征序列包括多个属性特征,所述计算所述业务特征序列与每个所述漏洞特征序列的匹配值,包括:
15.获取所述漏洞特征序列对应的特征序列树;
16.将所述多个属性特征代入所述特征序列树,确定每个所述属性特征对应的特征值和特征权重;
17.根据所述特征值和所述特征权重,计算每个所述属性特征的分值;
18.根据所述多个属性特征各自对应的分值,得到所述业务特征序列与每个所述漏洞特征序列对应的匹配值。
19.根据本技术的一个可选的实施例,所述根据所述目标修复组件和所述修复规则,对所述目标应用进行漏洞修复包括:
20.获取所述目标特征序列对应的记录应用版本;
21.确定所述目标应用的当前应用版本;
22.判断所述当前应用版本是否小于或等于所述记录应用版本;
23.若所述当前应用版本小于或等于所述记录应用版本,根据所述目标修复组件和所述修复规则,对所述目标应用进行漏洞修复。
24.根据本技术的一个可选的实施例,所述根据目标应用对应的业务日志数据,确定所述目标应用对应的业务特征序列,包括:
25.从业务日志数据中提取历史业务数据,所述历史业务数据包括用户使用所述目标应用对应的历史用户数据;
26.对所述历史业务数据进行归一化处理,得到归一化的历史业务数据;
27.对所述归一化的历史业务数据中用于表征地域属性的数据进行特征提取,得到地域属性特征;
28.对所述归一化的历史业务数据中用于表征业务类型的数据进行特征提取,得到业务属性特征;
29.对所述归一化的历史业务数据中用于表征故障类型的数据进行特征提取,得到故障属性特征;
30.根据所述地域属性特征、所述业务属性特征和所述故障属性特征,确定所述目标应用对应的业务特征序列。
31.根据本技术的一个可选的实施例,所述对所述目标应用进行漏洞修复之后,所述方法还包括:
32.获取所述目标应用进行漏洞修复后的业务日志;
33.根据所述业务日志,确定所述目标漏洞是否修复失败;
34.若所述目标漏洞修复失败,确定所述目标应用对应的历史修复应用,所述历史修复应用已成功修复所述目标漏洞;
35.根据所述历史修复应用,确定所述目标应用对应的修复策略;
36.根据所述修复策略,继续对所述目标应用进行修复。
37.根据本技术的一个可选的实施例,所述根据所述历史修复应用,确定所述目标应用对应的修复策略,包括:
38.获取所述历史修复应用修复所述目标漏洞期间的历史修复数据;
39.提取所述历史修复数据中的多个修复特征;
40.根据所述多个修复特征和所述多个修复特征之间的出现顺序,确定所述目标应用对应的修复策略。
41.本技术的第二方面提供一种应用漏洞修复装置,所述应用漏洞修复装置包括:
42.序列确定模块,用于根据目标应用对应的业务日志数据,确定所述目标应用对应
的业务特征序列;
43.漏洞确定模块,用于将所述业务特征序列与漏洞特征序列库进行匹配,确定所述业务特征序列对应的目标特征序列,并确定所述目标特征序列对应的目标漏洞;
44.组件确定模块,用于确定所述目标应用对应的运行环境特征,并确定所述运行环境特征对应的目标修复组件;
45.规则确定模块,用于根据所述目标修复组件,确定所述目标漏洞对应的修复规则;
46.漏洞修复模块,用于根据所述目标修复组件和所述修复规则,对所述目标应用进行漏洞修复。
47.本技术的第三方面提供一种电子设备,所述电子设备包括:
48.存储器,存储计算机可读指令;及
49.处理器,执行所述存储器中存储的计算机可读指令以实现所述应用漏洞修复方法。
50.本技术的第四方面提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可读指令,所述计算机可读指令被电子设备中的处理器执行以实现所述应用漏洞修复方法。
51.由以上技术方案可以看出,本技术通过根据目标应用对应的业务日志数据,确定所述目标应用对应的业务特征序列,并将所述业务特征序列与漏洞特征序列库进行匹配,确定所述业务特征序列对应的目标特征序列,并确定所述目标特征序列对应的目标漏洞,能够根据目标应用的运行数据自动确定目标应用是否存在目标漏洞,实现了自动识别目标漏洞的目的。同时,本技术通过确定所述目标应用对应的运行环境特征,并确定所述运行环境特征对应的目标修复组件,可以自动识别出适用于目标应用进行漏洞修复的修复组件,从而提高修复漏洞的成功率。此外,本技术通过确定适用于目标漏洞的修复规则,并基于确定修复规则对目标漏洞修复,可以提高修复的准确率。
附图说明
52.图1是本技术实施例提供的一种应用漏洞修复方法的流程示意图。
53.图2是本技术实施例提供的一种漏洞特征序列库的场景示意图。
54.图3是本技术实施例中提供的一种特征序列树的场景示意图。
55.图4是本技术实施例提供的一种应用漏洞修复装置的结构示意图。
56.图5是本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
57.以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本技术实施例的描述中,“示例性”、“或者”、“例如”等词用于表示作例子、例证或说明。本技术实施例中被描述为“示例性”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性”、“或者”、“例如”等词旨在以具体方式呈现相关概念。
58.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术中的技术领域
的技术人员通常理解的含义相同。本技术的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本技术。应理解,本技术中除非另有说明,“/”表示或的意思。例如,a/b可以表示a或b。本技术中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b三种情况。“至少一个”是指一个或者多个。“多个”是指两个或多于两个。例如,a、b或c中的至少一个,可以表示:a,b,c,a和b,a和c,b和c,a、b和c七种情况。应当理解的是,本文的流程图中所示步骤的顺序可以改变,某些也可以省略。
59.漏洞是在硬件、软件、协议的具体实现或系统安全策略上存在的缺陷,从而攻击者能够通过漏洞在未授权的情况下访问或破坏系统。例如,当应用存在漏洞时,攻击者可以通过网络植入木马、病毒等方式来攻击或控制整个电脑,窃取电脑中的重要资料和信息,甚至破坏系统。应用漏洞识别与修复是应用运营中的一个痛点。当应用出现漏洞时,对漏洞进行快速识别,并进行修复,才能保证应用的正常运营,保证应用的安全性。但是目前对应用漏洞的识别效率不高,无法及时地对漏洞进行修复。
60.为了提高提高应用漏洞的识别效率,及时对漏洞进行修复,本技术实施例提供一种应用漏洞修复方法、电子设备及计算机可读存储介质。所述应用漏洞修复方法可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
61.人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
62.其中,该应用漏洞修复方法可以应用于一个或者多个电子设备中,所述电子设备是一种能够按照事先设定或存储的计算机可读指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(application specific integrated circuit,asic)、可编程门阵列(field-programmable gate array,fpga)、数字信号处理器(digital signal processor,dsp)、嵌入式设备等。所述电子设备可以是任何一种可与用户进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、个人数字助理(personal digital assistant,pda)、游戏机、交互式网络电视(internet protocol television,iptv)、智能穿戴式设备等。所述电子设备可以包括网络设备和/或用户设备。其中,所述网络设备包括,但不限于单个网络电子设备、多个网络电子设备组成的电子设备组或基于云计算(cloud computing)的由大量主机或网络电子设备构成的云。所述电子设备所处的网络包括,但不限于:互联网、广域网、城域网、局域网、虚拟专用网络(virtual private network,vpn)等。
63.为了使本技术实施例提供的应用漏洞修复方法的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对该应用漏洞修复方法进行详细描述。
64.请参照图1,图1为本技术实施例提供的一种应用漏洞修复方法的流程示意图。根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。
65.101,根据目标应用对应的业务日志数据,确定所述目标应用对应的业务特征序
列。
66.目标应用为待进行漏洞查询的应用,可以是一个或多个应用。业务日志数据为所述目标应用在运行期间产生的日志数据。例如,业务日志数据可以包括用户在目标应用上进行操作的数据、也可以包括目标应用运行时产生的数据,如目标应用响应于用户操作时产生的数据。
67.可以预先设置时间段,获取目标应用预设时间段内的业务日志数据。预设时间段可以为一个礼拜、半个月、一个月、三个月等。
68.根据所述业务日志数据可以确定所述目标应用对应的业务特征序列。所述业务特征序列用于识别所述目标应用对应的应用漏洞。
69.在本技术的一些实施例中,所述根据目标应用对应的业务日志数据,确定所述目标应用对应的业务特征序列,包括:
70.从业务日志数据中提取历史业务数据,所述历史业务数据包括用户使用所述目标应用对应的历史用户数据;
71.对所述历史业务数据进行归一化处理,得到归一化的历史业务数据;
72.对所述归一化的历史业务数据中用于表征地域属性的数据进行特征提取,得到地域属性特征;
73.对所述归一化的历史业务数据中用于表征业务类型的数据进行特征提取,得到业务属性特征;
74.对所述归一化的历史业务数据中用于表征故障类型的数据进行特征提取,得到故障属性特征;
75.根据所述地域属性特征、所述业务属性特征和所述故障属性特征,确定所述目标应用对应的业务特征序列。
76.在本技术的实施例中,归一化处理可以包括以下至少一种:线性归一化处理(比如最大值、最小值和经验值)、对数归一化(比如使用去对数函数)和标准差归一化(比如对服从正态分布的数据)。通过对历史业务数据进行归一化处理后,可以实现去量纲,防止不同值阈影响识别结果,同时还可提升计算速度。
77.其中,所述地域属性特征用于确定用户使用所述目标应用时所在的地域信息。所述地域属性特征可以包括以下至少一种:所述电子设备发起网络地址的归属地、所述电子设备常用地等。
78.在本技术的一些实施例中,可以通过字典学习来提取归一化的历史业务数据中用于表征地域属性的数据。具体的,可以预先构建初始字典库,初始字典库中存储有用于描述对象与地域属性之间的映射关系,比如电子设备上登陆网络地址、初始分配归属地等;之后根据业务操作的实际情况,确定电子设备在预设时间段所对应的常用地址,若确定该常用地址与上一次对应的常用地址不同,则根据对应的常用地址来新增至少一条对象与地域属性的映射关系数据,并根据时间段来保存对象与地域属性的历史映射关系数据,得到更新的字典库;之后查询更新的字典库,对归一化后的历史业务数据进行匹配,得到相匹配的各地域属性的数据。
79.业务属性特征可以用于表示所述目标应用可以进行的业务类型。业务类型可以包括供应业务、生产业务、销售业务、核算业务等一种或多种业务类型。根据业务属性特征可
以更准确地识别出应用的漏洞。不同业务数据具有不同的业务标识。可以根据业务类型数据对应的标识,在归一化的历史业务数据中确定表征业务类型的数据。对确定的表征业务类型的数据进行特征提取,得到业务属性特征。
80.历史业务数据中存在对目标应用进行报错的数据,所述报错的数据可以用于表征故障类型的数据。根据表征故障类型的数据,可以确定出现的相同故障类型。所述故障属性特征用于表征故障类型。
81.所述业务特征序列中包括所述地域属性特征、所述业务属性特征和所述故障属性特征各自对应的信息。在本技术的一些实施例中,所述业务特征序列中还可以包括其他的属性特征。例如,所述业务属性特征还可以包括所述故障属性特征对应的用户操作特征。所述用户操作特征用于记录用户在目标应用上的操作行为。所述用户操作特征可以是所述故障属性特征对应的故障发生前的预设时刻内,用户在目标应用上的操作行为。记录下的每个用户操作特征都具有其对应的故障属性特征。应用出现故障,可能是由于用户在目标应用上的操作导致的,所以通过记录故障属性特征对应的用户操作特征,使得业务特征序列可以更好地反映当前目标应用近期的情况,从而可以提高目标应用漏洞确认的准确性。
82.使用上述实施例中的方法,通过对归一化的历史业务数据中不同类型的数据进行特征提取,得到多种类型的细粒化特征,如地域属性特征、业务属性特征和故障属性特征;并根据确定的多种细粒化特征生成业务特征序列。本案是通过对历史业务数据进行特征提取得到的特征序列,所以生成的业务特征序列相较于历史业务数据而言,包含了更少的特征,这样使得在业务特征序列与漏洞特征序列计进行匹配时,可以减少了匹配时的运算量。可以理解的是,由于业务特征序列包含了进行匹配时必要的特征,所以在减少匹配运算量的同时,也不会影响匹配的结果。
83.102,将所述业务特征序列与漏洞特征序列库进行匹配,确定所述业务特征序列对应的目标特征序列,并确定所述目标特征序列对应的目标漏洞。
84.所述漏洞特征序列库包括一个或多个漏洞特征序列。将所述业务特征序列与漏洞特征序列库中的每个漏洞特征序列进行匹配,从漏洞特征序列中确定所述业务特征序列对应的目标特征序列。可以理解的是,业务特征序列中包含的元素类型数量与漏洞特征序列中包含的元素类型数量一致。例如,漏洞特征序列中包含三种元素类型;业务特征序列中也包含三种元素类型。其中漏洞特征序列中每种元素类型在业务特征序列中存在对应的元素类型。
85.漏洞特征序列库中的每个漏洞特征序列,都包括对应的一个漏洞。图2为本技术实施例提供的一种漏洞特征序列库的场景示意图。如图2所示,所述漏洞特征序列库包括四个漏洞特征序列,其中每个漏洞特征序列对应的一个漏洞。当将一漏洞特征序列确定为所述业务特征序列对应的目标特征序列后,将所述漏洞特征序列对应的漏洞确定为所述目标特征序列对应的目标漏洞。
86.在本技术的一些实施例中,所述将所述业务特征序列与漏洞特征序列库进行匹配,确定所述业务特征序列对应的目标特征序列,包括:
87.计算所述业务特征序列与每个所述漏洞特征序列的匹配值;
88.根据所述匹配值,在所述漏洞特征序列库中确定匹配特征序列;
89.将与所述业务特征序列匹配值最大的匹配特征序列,确定为所述业务特征序列对
应的目标特征序列。
90.预先设置匹配度阈值,匹配度阈值可以根据实际情况进行设置,如设置为60%、70%等。若所述业务特征序列与一漏洞特征序列的匹配值大于或等于匹配度阈值,将所述漏洞特征序列确定为匹配特征序列。若所述业务特征序列与所有的漏洞特征序列的匹配值都小于匹配度阈值,确定所述漏洞特征序列库中不存在所述业务特征序列对应的匹配特征序列,从而可以确定所述目标应用不存在漏洞,流程结束。
91.在本技术的一些实施例中,所述业务特征序列包括多个属性特征,所述计算所述业务特征序列与每个所述漏洞特征序列的匹配值,包括:
92.获取所述漏洞特征序列对应的特征序列树;
93.将所述多个属性特征代入所述特征序列树,确定每个所述属性特征对应的特征值和特征权重;
94.根据所述特征值和所述特征权重,计算每个所述属性特征的分值;
95.根据所述多个属性特征各自对应的分值,得到所述业务特征序列与每个所述漏洞特征序列对应的匹配值。
96.例如,所述业务特征序列包括地域属性特征、业务属性特征和故障属性特征等三个属性特征。将所述三个属性特征代入所述漏洞特征序列对应的特征序列树。所述漏洞特征序列对应的特征序列树中包含与业务特征序列中属性特征数量相同的特征,即包含三个特征。其中三个特征分别与三个属性特征一一对应。图3为本技术实施例中提供的一种特征序列树的场景示意图。如图3所示,所述特征序列树包括三个特征层级,每个特征层级对应一个特征和该特征对应的权重值。所述三个特征分别与地域属性特征、业务属性特征和故障属性特征等三个属性特征存在一一对应的关系。例如,特征一对应地域属性特征,特征二对应业务属性特征和特征三对应故障属性特征。
97.可以根据漏洞特征序列中包含的特征,构建其对应的特征序列树。可以理解的是,设置漏洞特征序列对应的特征序列树后,若漏洞特征系列发生更新,可以对其对应的特征序列树进行更新。
98.通过将业务特征序列代入漏洞特征序列对应的特征序列树,可以提高计算匹配值的效率,从而提高了目标漏洞确认的效率。
99.103,确定所述目标应用对应的运行环境特征,并确定所述运行环境特征对应的目标修复组件。
100.所述运行环境特征用于表征所述目标应用的运行环境信息。所述运行环境特征包括目标应用运行的语言环境。确定的目标修复组件的语言环境与目标应用的语言环境一致。在本技术的一些实施例中,所述运行环境特征还可以包括目标应用运行的设备特征。所述设备特征用于表征所述目标应用运行的电子设备的设备信息。确定的目标修复组件与所述目标应用运行的电子设备相兼容,可以在电子设备上对目标应用进行漏洞修复。修复组件为对电子设备上进行修复的组件。当一修复组件的与一目标应用对应的运行环境特征相匹配,确定该修复组件为该目标应用的目标修复组件。
101.104,根据所述目标修复组件,确定所述目标漏洞对应的修复规则。
102.可以预先根据不同的修复组件,设置其各自对应的不同漏洞的修复规则。不同的修复组件在修复同一漏洞时,可以采用相同的修复规则,或采用不同的修复规则。例如,可
以设置每个修复组件对应的漏洞规则映射表,所述漏洞规则映射表中包括漏洞与修复规则之间的映射关系。所述漏洞规则映射表可以存储在预设的区块链中。
103.105,根据所述目标修复组件和所述修复规则,对所述目标应用进行漏洞修复。
104.目标应用在进行版本升级时,会自动修复先前出现的漏洞,所以不同应用版本的目标应用在出现相同的业务特征序列时,旧应用版本的目标应用可能存在应用漏洞,新应用版本的目标应用可能不存在应用漏洞。为了避免应用版本导致的漏洞检测错误的事件发生,在本技术的一些实施例中,所述根据所述目标修复组件和所述修复规则,对所述目标应用进行漏洞修复,包括:
105.获取所述目标特征序列对应的记录应用版本;
106.确定所述目标应用的当前应用版本;
107.判断所述当前应用版本是否小于或等于所述记录应用版本;
108.若所述当前应用版本小于或等于所述记录应用版本,根据所述目标修复组件和所述修复规则,对所述目标应用进行漏洞修复。若所述当前应用版本大于所述记录应用版本,则不对所述目标应用进行漏洞修复,流程结束。
109.在设置所述漏洞特征序列库中的漏洞特征序列时,会存储每个漏洞特征序列对应的应用版本。一个漏洞特征序列对应一个目标应用的应用版本。可以根据记录的应用版本,确定目标特征序列对应的记录应用版本。版本比较规则可以是多种多样的。版本可以用版本号表示,版本号可以由数字和间隔点组成,这些数字优先级的顺序是从左到右逐渐降低,这时预设的版本号比较规则可以是:通过依次比较版本号中的数字,来确定当前应用版本是否小于或等于记录应用版本。如果当前应用版本小于或等于记录应用版本,则判定该目标应用为需要进行漏洞修复的程序;否则,判定该目标应用不需要进行漏洞修复。例如,某个目标应用的当前应用版本是4.1,该目标应用对应的目标特征序列的记录应用版本是4.2,预设的版本号比较规则对这两个版本号先比较优先级最高位对应的4,由于最高位对应的两个数据相等,然后接着比较优先级次之的数字,这时由于1小于2,则判定版本号4.1小于版本号4.2,即当前应用版本小于记录应用版本,该目标应用需要进行漏洞修复。
110.通过上述实施例,可以采用比较版本号的方式来确定目标应用是否需要进行漏洞修复,这样可以快速确定哪些版本的目标应用需要进行漏洞修复,从而提高漏洞修复效率,也提高了漏洞修复的准确率。
111.为了进一步保证目标应用的漏洞修复的效果,在本技术的一些实施例中,所述对所述目标应用进行漏洞修复之后,所述方法还包括:
112.获取所述目标应用进行漏洞修复后的业务日志;
113.根据所述业务日志,确定所述目标漏洞是否修复失败;
114.若所述目标漏洞修复失败,确定所述目标应用对应的历史修复应用,所述历史修复应用已成功修复所述目标漏洞;
115.根据所述历史修复应用,确定所述目标应用对应的修复策略;
116.根据所述修复策略,继续对所述目标应用进行修复。
117.根据所述业务日志确定所述目标应用的当前特征序列,并将所述当前特征序列与所述业务特征序列进行匹配,确定所述目标漏洞是否修复失败。例如,若所述当前特征序列与所述业务特征序列进行匹配的匹配值大于预设阈值,确定所述当前特征序列与所述业务
特征序列匹配成功;若所述当前特征序列与所述业务特征序列进行匹配的匹配值小于或等于所述预设阈值,确定所述当前特征序列与所述业务特征序列匹配失败。当所述当前特征序列与所述业务特征序列匹配成功,说明进行漏洞修复前的特征序列和进行漏洞修复后的特征序列的差异较小,本次漏洞修复对目标应用的改变较小,确定所述目标漏洞修复失败。当所述当前特征序列与所述业务特征序列匹配失败,说明进行漏洞修复前的特征序列和进行漏洞修复后的特征序列的差异较大,本次漏洞修复对目标应用的改变较大,确定所述目标漏洞修复成功。关于所述当前特征序列与所述业务特征序列进行匹配的一些具体实现方法可以参见上文中业务特征序列与漏洞特征序列进行匹配的相关描述,在此不再赘述。根据业务日志确定当前特征序列的一些具体实现方式也可以参见上文中对根据业务日志数据确定业务特征序列的相关描述。
118.历史修复应用为其他设备上成功修复所述目标漏洞的应用。可以理解的是,所述历史修复应用和所述目标应用为同一款应用,应用版本可以相同也可以不同,在此不做任何限定。
119.可以根据历史修复应用的历史修复记录,确定所述目标应用对应的修复策略。所述修复策划用于复现所述历史修复应用修复所述目标漏洞时使用的方法。在本技术的一些实施例中,所述根据所述历史修复应用,确定所述目标应用对应的修复策略包括:获取所述历史修复应用修复所述目标漏洞期间的历史修复数据;提取所述历史修复数据中的多个修复特征;根据所述多个修复特征和所述多个修复特征之间的出现顺序,确定所述目标应用对应的修复策略。所述修复特征用于表征修复步骤,所述多个修复特征之间的出现顺序用于表征多个修复步骤之间的执行顺序。所述修复策略中包括多个修复步骤和所述多个修复步骤之间的执行顺序。
120.在本技术的一些实施例中,可以根据所述修复策略对所述目标漏洞对应的修复规则进行更新,使得更新后的修复规则与修复策略一致。
121.通过上述实施方式,可以进一步对目标应用的漏洞修复的情况进行检验,在目标应用的漏洞修复失败后,可以根据其他应用的修复经验继续对修复失败的目标漏洞进行修复,进一步提高了应用漏洞修复的准确性。
122.由以上技术方案可以看出,上述实施例通过根据目标应用对应的业务日志数据,确定所述目标应用对应的业务特征序列,并将所述业务特征序列与漏洞特征序列库进行匹配,确定所述业务特征序列对应的目标特征序列,并确定所述目标特征序列对应的目标漏洞,能够根据目标应用的运行数据自动确定目标应用是否存在目标漏洞,实现了自动识别目标漏洞的目的。同时,本技术通过确定所述目标应用对应的运行环境特征,并确定所述运行环境特征对应的目标修复组件,可以自动识别出适用于目标应用进行漏洞修复的修复组件,从而提高修复漏洞的成功率。此外,本技术通过确定适用于目标漏洞的修复规则,并基于确定修复规则对目标漏洞修复,可以提高修复的准确率。
123.图4是本技术实施例提供的一种应用漏洞修复装置的结构示意图。如图4所示,所述应用漏洞修复装置10包括序列确定模块110、漏洞确定模块111、组件确定模块112、规则确定模块113和漏洞修复模块114。本技术所称的模块/单元是指一种能够被处理器13所获取,并且能够完成固定功能的一系列计算机可读指令段,其存储在存储器12中。在本实施例中,关于各模块/单元的功能将在后续的实施例中详述。
124.序列确定模块110,用于根据目标应用对应的业务日志数据,确定所述目标应用对应的业务特征序列;
125.漏洞确定模块111,用于将所述业务特征序列与漏洞特征序列库进行匹配,确定所述业务特征序列对应的目标特征序列,并确定所述目标特征序列对应的目标漏洞;
126.组件确定模块112,用于确定所述目标应用对应的运行环境特征,并确定所述运行环境特征对应的目标修复组件;
127.规则确定模块113,用于根据所述目标修复组件,确定所述目标漏洞对应的修复规则;
128.漏洞修复模块114,用于根据所述目标修复组件和所述修复规则,对所述目标应用进行漏洞修复。
129.在本技术的一些实施例中,所述漏洞特征序列库包括多个漏洞特征序列,所述序列确定模块110,还用于计算所述业务特征序列与每个所述漏洞特征序列的匹配值;
130.根据所述匹配值,在所述漏洞特征序列库中确定匹配特征序列;
131.将与所述业务特征序列匹配值最大的匹配特征序列,确定为所述业务特征序列对应的目标特征序列。
132.在本技术的一些实施例中,所述序列确定模块110,还用于获取所述漏洞特征序列对应的特征序列树;
133.将所述多个属性特征代入所述特征序列树,确定每个所述属性特征对应的特征值和特征权重;
134.根据所述特征值和所述特征权重,计算每个所述属性特征的分值;
135.根据所述多个属性特征各自对应的分值,得到所述业务特征序列与每个所述漏洞特征序列对应的匹配值。
136.在本技术的一些实施例中,漏洞修复模块114还用于获取所述业务特征序列的目标应用版本;
137.确定所述目标特征序列对应的记录应用版本;
138.判断所述当前应用版本是否小于或等于所述记录应用版本;
139.若所述当前应用版本小于或等于所述记录应用版本,根据所述目标修复组件和所述修复规则,对所述目标应用进行漏洞修复。
140.在本技术的一些实施例中,序列确定模块110还用于从业务日志数据中提取历史业务数据,所述历史业务数据包括用户使用所述目标应用对应的历史用户数据;
141.对所述历史业务数据进行归一化处理,得到归一化的历史业务数据;
142.对所述归一化后的历史业务数据中用于表征地域属性的数据进行特征提取,确定得到地域属性特征;
143.对所述归一化后的历史业务数据中用于表征业务类型的数据进行特征提取,确定得到业务属性特征;
144.对所述归一化后的历史业务数据中用于表征故障类型的数据进行特征提取,确定得到故障属性特征;
145.根据所述地域属性特征、所述业务属性特征和所述故障属性特征,确定所述目标应用对应的业务特征序列。
146.在本技术的一些实施例中,所述应用漏洞修复装置10还包括修复检测模块,所述修复检测模块用于获取所述目标应用进行漏洞修复后的业务日志;
147.根据所述业务日志,确定所述目标漏洞是否修复失败;
148.若所述目标漏洞修复失败,确定所述目标应用对应的历史修复应用,所述历史修复应用已成功修复所述目标漏洞;
149.根据所述历史修复应用,确定所述目标应用对应的修复策略;
150.根据所述修复策略,继续对所述目标应用进行修复。
151.在本技术的一些实施例中,所述应用漏洞修复装置10还用于获取所述历史修复应用修复所述目标漏洞期间的历史修复数据;
152.提取所述历史修复数据中的多个修复特征;
153.根据所述多个修复特征和所述多个修复特征之间的出现顺序,确定所述目标应用对应的修复策略。
154.由以上技术方案可以看出,上述实施例通过根据目标应用对应的业务日志数据,确定所述目标应用对应的业务特征序列,并将所述业务特征序列与漏洞特征序列库进行匹配,确定所述业务特征序列对应的目标特征序列,并确定所述目标特征序列对应的目标漏洞,能够根据目标应用的运行数据自动确定目标应用是否存在目标漏洞,实现了自动识别目标漏洞的目的。同时,本技术通过确定所述目标应用对应的运行环境特征,并确定所述运行环境特征对应的目标修复组件,可以自动识别出适用于目标应用进行漏洞修复的修复组件,从而提高修复漏洞的成功率。此外,本技术通过确定适用于目标漏洞的修复规则,并基于确定修复规则对目标漏洞修复,可以提高修复的准确率。
155.图5是本技术实施例提供的一种电子设备的结构示意图。如图5所示,所述电子设备1包括,但不限于,存储器12、处理器13,以及存储在所述存储器12中并可在所述处理器13上运行的计算机可读指令,例如应用漏洞修复程序。
156.本领域技术人员可以理解,所述示意图仅仅是电子设备1的示例,并不构成对电子设备1的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述电子设备1还可以包括输入输出设备、网络接入设备、总线等。
157.所述处理器13可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器13是所述电子设备1的运算核心和控制中心,利用各种接口和线路连接整个电子设备1的各个部分,及执行所述电子设备1的操作系统以及安装的各类应用程序、程序代码等。
158.示例性的,所述计算机可读指令可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器12中,并由所述处理器13执行,以完成本技术。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机可读指令段,该计算机可读指令段用于描述所述计算机可读指令在所述电子设备1中的执行过程。例如,所述计算机可读指令可以被分割成序列确定模块110、漏洞确定模块111、组件确定模块112、规则确定
模块113和漏洞修复模块114。
159.所述存储器12可用于存储所述计算机可读指令和/或模块,所述处理器13通过运行或执行存储在所述存储器12内的计算机可读指令和/或模块,以及调用存储在存储器12内的数据,实现所述电子设备1的各种功能。所述存储器12可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备的使用所创建的数据等。存储器12可以包括非易失性和易失性存储器,例如:硬盘、内存、插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)、至少一个磁盘存储器件、闪存器件、或其他存储器件。
160.所述存储器12可以是电子设备1的外部存储器和/或内部存储器。进一步地,所述存储器12可以是具有实物形式的存储器,如内存条、tf卡(trans-flash card)等等。
161.所述电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实现上述实施例方法中的全部或部分流程,也可以通过计算机可读指令来指令相关的硬件来完成,所述的计算机可读指令可存储于一计算机可读存储介质中,该计算机可读指令在被处理器执行时,可实现上述各个方法实施例的步骤。
162.其中,所述计算机可读指令包括计算机可读指令代码,所述计算机可读指令代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机可读指令代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)。
163.本技术所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
164.结合图1,所述电子设备1中的所述存储器12存储计算机可读指令实现一种应用漏洞修复方法,所述处理器13可执行所述计算机可读指令从而实现:
165.根据目标应用对应的业务日志数据,确定所述目标应用对应的业务特征序列;
166.将所述业务特征序列与漏洞特征序列库进行匹配,确定所述业务特征序列对应的目标特征序列,并确定所述目标特征序列对应的目标漏洞;
167.确定所述目标应用对应的运行环境特征,并确定所述运行环境特征对应的目标修复组件;
168.根据所述目标修复组件,确定所述目标漏洞对应的修复规则;
169.根据所述目标修复组件和所述修复规则,对所述目标应用进行漏洞修复。
170.具体地,所述处理器13对上述计算机可读指令的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。
171.在本技术所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的
划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
172.所述计算机可读存储介质上存储有计算机可读指令,其中,所述计算机可读指令被处理器13执行时用以实现以下步骤:
173.根据目标应用对应的业务日志数据,确定所述目标应用对应的业务特征序列;
174.将所述业务特征序列与漏洞特征序列库进行匹配,确定所述业务特征序列对应的目标特征序列,并确定所述目标特征序列对应的目标漏洞;
175.确定所述目标应用对应的运行环境特征,并确定所述运行环境特征对应的目标修复组件;
176.根据所述目标修复组件,确定所述目标漏洞对应的修复规则;
177.根据所述目标修复组件和所述修复规则,对所述目标应用进行漏洞修复。
178.所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
179.另外,在本技术各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
180.因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本技术的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本技术内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
181.此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。所述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一、第二等词语用来表示名称,而并不表示任何特定的顺序。
182.最后应说明的是,以上实施例仅用以说明本技术的技术方案而非限制,尽管参照较佳实施例对本技术进行了详细说明,本领域的普通技术人员应当理解,可以对本技术的技术方案进行修改或等同替换,而不脱离本技术技术方案的精神和范围。
技术特征:
1.一种应用漏洞修复方法,应用于电子设备,其特征在于,所述应用漏洞修复方法包括:根据目标应用对应的业务日志数据,确定所述目标应用对应的业务特征序列;将所述业务特征序列与漏洞特征序列库进行匹配,确定所述业务特征序列对应的目标特征序列,并确定所述目标特征序列对应的目标漏洞;确定所述目标应用对应的运行环境特征,并确定所述运行环境特征对应的目标修复组件;根据所述目标修复组件,确定所述目标漏洞对应的修复规则;根据所述目标修复组件和所述修复规则,对所述目标应用进行漏洞修复。2.如权利要求1所述的应用漏洞修复方法,其特征在于,所述漏洞特征序列库包括多个漏洞特征序列,所述将所述业务特征序列与漏洞特征序列库进行匹配,确定所述业务特征序列对应的目标特征序列,包括:计算所述业务特征序列与每个所述漏洞特征序列的匹配值;根据所述匹配值,在所述漏洞特征序列库中确定匹配特征序列;将与所述业务特征序列匹配值最大的匹配特征序列,确定为所述业务特征序列对应的目标特征序列。3.如权利要求2所述的应用漏洞修复方法,其特征在于,所述业务特征序列包括多个属性特征,所述计算所述业务特征序列与每个所述漏洞特征序列的匹配值,包括:获取所述漏洞特征序列对应的特征序列树;将所述多个属性特征代入所述特征序列树,确定每个所述属性特征对应的特征值和特征权重;根据所述特征值和所述特征权重,计算每个所述属性特征的分值;根据所述多个属性特征各自对应的分值,得到所述业务特征序列与每个所述漏洞特征序列对应的匹配值。4.如权利要求1所述的应用漏洞修复方法,其特征在于,所述根据所述目标修复组件和所述修复规则,对所述目标应用进行漏洞修复,包括:获取所述目标特征序列对应的记录应用版本;确定所述目标应用的当前应用版本;判断所述当前应用版本是否小于或等于所述记录应用版本;若所述当前应用版本小于或等于所述记录应用版本,根据所述目标修复组件和所述修复规则,对所述目标应用进行漏洞修复。5.如权利要求1所述的应用漏洞修复方法,其特征在于,所述根据目标应用对应的业务日志数据,确定所述目标应用对应的业务特征序列,包括:从业务日志数据中提取历史业务数据,所述历史业务数据包括用户使用所述目标应用对应的历史用户数据;对所述历史业务数据进行归一化处理,得到归一化的历史业务数据;对所述归一化的历史业务数据中用于表征地域属性的数据进行特征提取,得到地域属性特征;对所述归一化的历史业务数据中用于表征业务类型的数据进行特征提取,得到业务属
性特征;对所述归一化的历史业务数据中用于表征故障类型的数据进行特征提取,得到故障属性特征;根据所述地域属性特征、所述业务属性特征和所述故障属性特征,确定所述目标应用对应的业务特征序列。6.如权利要求1所述的应用漏洞修复方法,其特征在于,所述对所述目标应用进行漏洞修复之后,所述方法还包括:获取所述目标应用进行漏洞修复后的业务日志;根据所述业务日志,确定所述目标漏洞是否修复失败;若所述目标漏洞修复失败,确定所述目标应用对应的历史修复应用,所述历史修复应用已成功修复所述目标漏洞;根据所述历史修复应用,确定所述目标应用对应的修复策略;根据所述修复策略,继续对所述目标应用进行修复。7.如权利要求6所述的应用漏洞修复方法,其特征在于,所述根据所述历史修复应用,确定所述目标应用对应的修复策略,包括:获取所述历史修复应用修复所述目标漏洞期间的历史修复数据;提取所述历史修复数据中的多个修复特征;根据所述多个修复特征和所述多个修复特征之间的出现顺序,确定所述目标应用对应的修复策略。8.一种应用漏洞修复装置,其特征在于,所述应用漏洞修复装置包括:序列确定模块,用于根据目标应用对应的业务日志数据,确定所述目标应用对应的业务特征序列;漏洞确定模块,用于将所述业务特征序列与漏洞特征序列库进行匹配,确定所述业务特征序列对应的目标特征序列,并确定所述目标特征序列对应的目标漏洞;组件确定模块,用于确定所述目标应用对应的运行环境特征,并确定所述运行环境特征对应的目标修复组件;规则确定模块,用于根据所述目标修复组件,确定所述目标漏洞对应的修复规则;漏洞修复模块,用于根据所述目标修复组件和所述修复规则,对所述目标应用进行漏洞修复。9.一种电子设备,其特征在于,所述电子设备包括:存储器,存储有计算机可读指令;及处理器,执行所述存储器中存储的计算机可读指令以实现如权利要求1至7中任意一项所述的应用漏洞修复方法。10.一种计算机可读存储介质,其特征在于:所述计算机可读存储介质中存储有计算机可读指令,所述计算机可读指令被电子设备中的处理器执行以实现如权利要求1至7中任意一项所述的应用漏洞修复方法。
技术总结
本申请涉及数据处理领域,提供一种应用漏洞修复方法、装置、电子设备及存储介质。该应用漏洞修复方法包括根据目标应用对应的业务日志数据,确定所述目标应用对应的业务特征序列;将所述业务特征序列与漏洞特征序列库进行匹配,确定所述业务特征序列对应的目标特征序列,并确定所述目标特征序列对应的目标漏洞;确定所述目标应用对应的运行环境特征,并确定所述运行环境特征对应的目标修复组件;根据所述目标修复组件,确定所述目标漏洞对应的修复规则;根据所述目标修复组件和所述修复规则,对所述目标应用进行漏洞修复。本申请实施例可以及时地对漏洞进行修复,提高了应用漏洞的识别效率。别效率。别效率。
技术研发人员:程宏亮
受保护的技术使用者:平安科技(深圳)有限公司
技术研发日:2023.03.23
技术公布日:2023/7/7
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
