安全评估方法、装置和模型训练方法、装置与流程

文档序号:31695842发布日期:2022-10-01 05:16阅读:54来源:国知局
安全评估方法、装置和模型训练方法、装置与流程

1.本公开涉及安全评估技术领域,尤其是一种安全评估方法、装置和模型训练方法、装置。


背景技术:

2.随着信息技术的发展,各种安装包的版本迭代速度不断增大。为了保障网络信息安全,需要对各版本的安装包进行安全评估。
3.相关技术中,利用已收集的漏洞库中各个漏洞的概念验证(proof of concept,poc)进行尝试攻击验证,以实现安装包的安全评估。


技术实现要素:

4.然而,这种方式效率较低,无法满足各安装包版本高速迭代的场景。此外,由于许多漏洞的poc并未被收集,这些漏洞在尝试攻击验证的方式下均无法被检测,这导致安装包的安全评估结果不准确。
5.为了解决上述问题,本公开实施例提出了如下解决方案。
6.根据本公开实施例的一方面,提供一种安全评估方法,包括:获取第一安装包的多个特征信息;对每个特征信息进行不同的n种处理,以分别得到对应的n个输入数据,n≥2;将第n组输入数据输入训练好的第n个机器学习模型,以得到第n组输出结果,1≤n≤n,其中,第n组输入数据包括每个特征信息对应的所述n个输入数据中的第n个输入数据,第n组输出结果包括所述第一安装包具有的至少一个漏洞的标识;和根据n组输出结果中的至少一组输出结果对所述第一安装包进行安全评估。
7.在一些实施例中,对每个特征信息进行不同的n种处理包括:基于文本表达算法对每个特征信息进行第1种处理,以分别得到对应的所述n个输入数据中的第1个输入数据;和对每个特征信息对应的所述n个输入数据中的第r个输入数据进行降维处理,以分别得到对应的所述n个输入数据中的第r+1个输入数据,1≤r≤n-1。
8.在一些实施例中,所述方法还包括:在第一评估方式下,确定第i组输入数据与所述n组输入数据中除第i组输入数据外的n-1组输入数据中的每组输入数据之间的相似度,其中,第i组输入数据为所述n组输入数据中数据量最大的一组输入数据;其中,根据n组输出结果中的至少一组输出结果对所述第一安装包进行安全评估包括:在第i组输入数据与至少一个第j组输入数据之间的相似度大于预设阈值的情况下,根据一个第j组输出结果对所述第一安装包进行安全评估;和在第i组输入数据与所述n-1组输入数据中的每组输入数据之间的相似度均不大于所述预设阈值的情况下,根据第i组输出结果对所述第一安装包进行安全评估。
9.在一些实施例中,确定第i组输入数据与所述n-1组输入数据中的每组输入数据之间的相似度包括:确定每个特征信息对应的所述n个输入数据中的第i个输入数据与第k个输入数据之间的欧式距离,以得到第i组输入数据与第k组输入数据之间的多个欧式距离,
其中,第k组输入数据为所述n-1组输入数据中的每组输入数据;和将所述多个欧式距离的平均值确定为第i组输入数据与第k组输入数据之间的相似度。
10.在一些实施例中,在所述至少一个第j组输入数据包括多个第j组输入数据的情况下,根据数据量最小的一个第j组输出结果对所述第一安装包进行安全评估。
11.在一些实施例中,所述方法还包括:在第二评估方式下,确定所述第一安装包的检测模式;其中,根据n组输出结果中的至少一组输出结果对所述第一安装包进行安全评估包括:在所述检测模式为第一模式的情况下,根据所述n组输出结果中每个漏洞的标识对所述第一安装包进行安全评估;和在所述检测模式为第二模式的情况下,根据所述n组输出结果中每组数据结果均包括的漏洞的标识对所述第一安装包进行安全评估。
12.在一些实施例中,所述方法还包括:获取作为样本的第二安装包的多个样本特征信息;确定每个样本特征信息的漏洞信息,所述漏洞信息表示样本特征信息是否关联漏洞,并且,在关联漏洞的情况下还包括所关联的漏洞的标识;对每个样本特征信息进行所述n种处理,以分别得到对应的n个样本输入数据;和将每个样本特征信息对应的所述n个样本输入数据中的第n个样本输入数据作为输入、并将该样本特征信息的漏洞信息作为输出,对第n个机器学习模型进行训练。
13.在一些实施例中,所述方法还包括:根据所述多个样本特征信息确定所述第二安装包调用的至少一个组件;和获取所述至少一个组件具有的漏洞特征信息;其中,确定每个样本特征信息的漏洞信息包括:将每个样本特征信息与所述漏洞特征信息进行匹配,以确定该样本特征信息的漏洞信息。
14.在一些实施例中,所述多个特征信息包括语法特征信息、依赖关系特征信息、目录特征信息、函数特征信息、参数特征信息和版本特征信息中的至少一项。
15.在一些实施例中,第n个机器学习模型包括决策树模型。
16.在一些实施例中,所述第一安装包包括固件安装包。
17.根据本公开实施例的另一方面,提供一种模型训练方法,包括:获取作为样本的安装包的多个样本特征信息;确定每个样本特征信息的漏洞信息,所述漏洞信息表示样本特征信息是否关联漏洞,并且,在关联漏洞的情况下还包括所关联的漏洞的标识;对每个样本特征信息进行不同的n种处理,以分别得到对应的n个样本输入数据,n≥2;和将每个样本特征信息对应的所述n个样本输入数据中的第n个样本输入数据作为输入、并将该样本特征信息的漏洞信息作为输出,对第n个机器学习模型进行训练,1≤n≤n。
18.在一些实施例中,对每个样本特征信息进行不同的n种处理包括:基于文本表达算法对每个样本特征信息进行第1种处理,以分别得到对应的所述n个样本输入数据中的第1个样本输入数据;和对每个样本特征信息对应的所述n个样本输入数据中的第r个样本输入数据进行降维处理,以分别得到对应的所述n个样本输入数据中的第r+1个样本输入数据,1≤r≤n-1。
19.根据本公开实施例的又一方面,提供一种安全评估装置,包括:获取模块,被配置为获取第一安装包的多个特征信息;处理模块,被配置为对每个特征信息进行不同的n种处理,以分别得到对应的n个输入数据,n≥2;输入模块,被配置为将第n组输入数据输入训练好的第n个机器学习模型,以得到第n组输出结果,1≤n≤n,其中,第n组输入数据包括每个特征信息对应的所述n个输入数据中的第n个输入数据,第n组输出结果包括所述第一安装
包具有的至少一个漏洞的标识;和评估模块,被配置为根据n组输出结果中的至少一组输出结果对所述第一安装包进行安全评估。
20.根据本公开实施例的还一方面,提供一种安全评估装置,包括:存储器;以及耦接至所述存储器的处理器,被配置为基于存储在所述存储器中的指令,执行上述任意一个实施例所述的安全评估方法。
21.根据本公开实施例的还一方面,提供一种模型训练装置,包括:获取模块,被配置为获取作为样本的安装包的多个样本特征信息;确定模块,被配置为确定每个样本特征信息的漏洞信息,所述漏洞信息表示样本特征信息是否关联漏洞,并且,在关联漏洞的情况下还包括所关联的漏洞的标识;处理模块,被配置为对每个样本特征信息进行不同的n种处理,以分别得到对应的n个样本输入数据,n≥2;和训练模块,被配置为将每个样本特征信息对应的所述n个样本输入数据中的第n个样本输入数据作为输入、并将该样本特征信息的漏洞信息作为输出,对第n个机器学习模型进行训练,1≤n≤n。
22.根据本公开实施例的还一方面,提供一种模型训练装置,包括:存储器;以及耦接至所述存储器的处理器,被配置为基于存储在所述存储器中的指令,执行上述任意一个实施例所述的模型训练方法。
23.根据本公开实施例的还一方面,提供一种安全评估系统,包括:上述任意一个实施例所述的安全评估装置;以及上述任意一个实施例所述的模型训练装置。
24.根据本公开实施例的还一方面,提供一种计算机可读存储介质,包括计算机程序指令,其中,所述计算机程序指令被处理器执行时实现上述任意一个实施例所述的安全评估方法或模型训练方法。
25.根据本公开实施例的还一方面,提供一种计算机程序产品,包括计算机程序,其中,所述计算机程序被处理器执行时实现上述任意一个实施例所述的安全评估方法或模型训练方法。
26.本公开实施例中,对第一安装包的多个特征信息进行n种处理,并将对每个特征信息进行第n种处理所得到的第n组输入数据输入训练好的第n个机器学习模型,以得到n个机器学习模型一一对应的n组输出结果。然后,根据n组输出结果中至少一组输出结果所包括的漏洞的标识对第一安装包进行安全评估,而不再需要利用漏洞的poc进行尝试攻击验证。如此,既可以提高安装包的安全评估的效率,又可以提高安装包的安全评估的准确率。
27.下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。
附图说明
28.为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
29.图1是根据本公开一些实施例的安全评估方法的流程示意图;
30.图2a是根据本公开另一些实施例的安全评估方法的流程示意图;
31.图2b是根据本公开又一些实施例的安全评估方法的流程示意图;
32.图3是根据本公开一些实施例的模型训练方法的流程示意图;
33.图4是根据本公开一些实施例的安全评估装置的结构示意图;
34.图5是根据本公开一些实施例的模型训练装置的结构示意图;
35.图6是根据本公开一些实施例的电子装置的结构示意图。
具体实施方式
36.下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
37.除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
38.同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
39.对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
40.在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
41.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
42.图1是根据本公开一些实施例的安全评估方法的流程示意图。
43.如图1所示,安全评估方法包括步骤102~步骤108。
44.在步骤102,获取第一安装包的多个特征信息。
45.第一安装包可以是用户选择的待评估的任何安装包,例如,软件安装包、固件安装包等。
46.在一些实施例中,可以对第一安装包进行逆向处理,以从第一安装包的源代码中提取得到多个特征信息。多个特征信息可以包括源代码特征信息和源代码指纹特征信息。
47.在一些实施例中,多个特征信息可以包括语法特征信息、依赖关系特征信息、目录特征信息、函数特征信息、参数特征信息和版本特征信息中的至少一项。
48.在步骤104,对每个特征信息进行不同的n种处理,以分别得到对应的n个输入数据。这里,n≥2。
49.例如,多个特征信息包括函数特征信息a和版本特征信息b。可以对函数特征信息a进行n种处理以得到函数特征信息a对应的n个输入数据,并对版本特征信息b进行n种处理以得到版本特征信息b对应的n个输入数据。
50.n种处理可以包括基于文本表达算法进行的处理。在一些实施例中,n种处理还可以包括象限重组处理、降维处理等。后文将对此进一步说明。
51.在步骤106,将第n组输入数据输入训练好的第n个机器学习模型,以得到第n组输出结果。
52.这里,第n组输入数据包括每个特征信息对应的n个输入数据中的第n个输入数据,1≤n≤n。
53.即,每组输入数据包括对多个特征信息中的每个特征信息进行n种处理中的同一种处理得到的输入数据。
54.仍以多个特征信息包括函数特征信息a和版本特征信息b为例进行说明。假设n=2,则第1组输入数据包括函数特征信息a对应的第1个输入数据和版本特征信息b对应的第1个输入数据;第2组输入数据包括函数特征信息a对应的第2个输入数据和版本特征信息b对应的第2个输入数据。
55.在这种情况下,可以将第1组输入数据输入训练好的第1个机器学习模型以得到第1组输出结果,并将第2组输入数据输入训练好的第2个机器学习模型以得到第2组输出结果。
56.这里,第n组输出结果包括第一安装包具有的至少一个漏洞的标识。
57.例如,第n个机器学习模型可以是支持向量机(support vector machine,svm)模型、决策树模型等机器学习模型。
58.例如,第一安装包具有的漏洞的标识可以是漏洞的通用漏洞披露(common vulnerabilities and exposures,cve)标识。
59.应理解,n组输出结果中每组输出结果可以相同或不同。
60.在步骤108,根据n组输出结果中的至少一组输出结果对第一安装包进行安全评估。
61.例如,可以根据n组输出结果中的一组输出结果对第一安装包进行安全评估;又例如,可以根据n组输出结果对第一安装包进行安全评估。
62.作为一些实现方式,可以将n组输出结果中至少一组输出结果所包括的每个漏洞的标识作为安全评估结果。
63.作为另一些实现方式,可以根据n组输出结果中至少一组输出结果所包括的每个漏洞的标识确定对应的安全风险,并基于这些安全风险得到安全评估结果。安全评估结果可以表示为安全风险等级、安全风险评估值等形式。
64.上述实施例中,对第一安装包的多个特征信息进行n种处理,并将对每个特征信息进行第n种处理所得到的第n组输入数据输入训练好的第n个机器学习模型,以得到n个机器学习模型一一对应的n组输出结果。然后,根据n组输出结果中至少一组输出结果所包括的漏洞的标识对第一安装包进行安全评估,而不再需要利用漏洞的poc进行尝试攻击验证。如此,既可以提高安装包的安全评估的效率,又可以提高安装包的安全评估的准确率。
65.下面结合一些实施例进一步说明图1所示的安全评估方法。
66.在一些实施例中,第一安装包包括固件安装包。相关技术中,利用漏洞的poc对固件安装包进行尝试攻击验证的前提是固件已安装在实体设备上。如果没有实体设备,则无法对固件安装包进行安全评估。
67.在本公开的实施例中,即便没有实体设备,仍然可以对固件安装包进行高效、准确的安全评估。这可以降低对固件安装包进行安全评估的成本。
68.在一些实施例中,可以按照以下方式对每个特征信息进行不同的n种处理。首先,可以基于文本表达算法对每个特征信息进行第1种处理,以分别得到对应的n个输入数据中的第1个输入数据。然后,可以对每个特征信息对应的n个输入数据中的第r个输入数据进行降维处理,以分别得到对应的n个输入数据中的第r+1个输入数据。这里,1≤r≤n-1。
69.应理解,对第r个输入数据进行降维处理,这意味着每个特征信息对应的n个输入数据中的第r+1个输入数据的数据量小于第r个输入数据的数据量。
70.以函数特征信息a为例来说。首先,可以基于文本表达算法对函数特征信息a进行处理,以将字符串形式的函数特征信息a转化为对应的第1个输入数据矩阵。然后,可以对第1个输入数据矩阵进行降维处理,以得到对应的第2个输入数据矩阵。例如,假设第1个输入数据矩阵是3(行)
×
3(列)的矩阵,则第2个输入数据矩阵可以是3(行)
×
2(列)的矩阵。每个特征信息对应的n个输入数据矩阵例如,可以是词向量。
71.上述实施例中,基于文本表达算法对每个特征信息进行第1种处理,再对每个特征信息对应的第r个输入数据进行降维处理。如此,可以减小第r+1组输入数据的数据量,从而可以减小第r+1个机器学习模型的处理压力,提高得到第r+1组输出结果的速度。
72.图2a是根据本公开另一些实施例的安全评估方法的流程示意图。
73.如图2a所示,安全评估方法还包括步骤202。在这些实施例中,步骤108包括步骤1082和步骤1084。
74.在步骤202,在第一评估方式下,确定第i组输入数据与n组输入数据中除第i组输入数据外的n-1组输入数据中的每组输入数据之间的相似度。
75.这里,第i组输入数据为n组输入数据中数据量最大的一组输入数据。例如,第i组输入数据可以是基于文本表达算法对每个输入数据进行处理所得到的第1组输入数据。
76.第i组输入数据的数据量最大,这意味着第i组输入数据对应的第i组输出结果的准确率是n组输出结果中最高的。
77.在步骤1082,在第i组输入数据与至少一个第j组输入数据之间的相似度大于预设阈值的情况下,根据一个第j组输出结果对第一安装包进行安全评估。
78.应理解,至少一个第j组输入数据包括步骤202的n-1组输入数据中与第i组输入数据之间的相似度大于预设阈值的每组输入数据。即,j可以取1至n之间除i以外的任意一个整数。
79.第i组输入数据与第j组输入数据之间的相似度大于预设阈值,这意味着第i组输入数据对应的第i组输出结果与第j组输入数据对应的第j组输出结果的相似度较高。换言之,第j组输出结果的准确率与第i组输出结果的准确率近似。
80.在这种情况下,根据准确率高且能够快速得到的任意一个第j组输出结果对第一安装包进行安全评估。
81.在步骤1084,在第i组输入数据与n-1组输入数据中的每组输入数据之间的相似度均不大于预设阈值的情况下,根据第i组输出结果对第一安装包进行安全评估。
82.第i组输入数据与其它每组输入数据之间的相似度均不大于预设阈值,这意味着第i组输入数据对应的第i组输出结果与其它每组输入数据对应的每组输出结果的相似度较低。
83.在这种情况下,根据准确率高的第i组输出结果对第一安装包进行安全评估。
84.以n=2为例进行说明。假设第1组输入数据的数据量大于第2组输入数据的数据量。在这种情况下,可以配置激活函数δ=(x,y),并根据(x
×
第1组输出结果+y
×
第2组输出结果)对第一安装包进行安全评估。
85.如果第1组输入数据与第2组输入数据之间的相似度大于预设阈值,则δ=(x=0,y
=1),此时,根据第2组输出结果对第一安装包进行安全评估。如果第1组输入数据与第2组输入数据之间的相似度不大于预设阈值,则δ=(x=1,y=0),此时,根据第1组输出结果对第一安装包进行安全评估。
86.上述实施例中,确定第i组输入数据与其它每组输入数据之间的相似度。然后,在第j组输入数据与第i组输入数据之间的相似度大于预设阈值时,根据第j组输出结果对第一安装包进行安全评估;在其它每组输入数据与第i组输入数据之间的相似度均不大于预设阈值时,根据第i组输出结果对第一安装包进行安全评估。如此,可以在保证安装包的安全评估的准确率的同时,进一步提高安装包的安全评估的效率。
87.在一些实施例中,在步骤1082,在至少一个第j组输入数据包括多个第j组输入数据的情况下,可以根据数据量最小的一个第j组输出结果对第一安装包进行安全评估。如此,可以在保证安装包的安全评估的准确率的同时,更进一步地提高安装包的安全评估的效率。
88.下面说明步骤202的一些实现方式。
89.在一些实现方式中,可以首先确定每个特征信息对应的n个输入数据中的第i个输入数据与第k个输入数据之间的欧式距离,以得到第i组输入数据与第k组输入数据之间的多个欧式距离。
90.这里,第k组输入数据为n-1组输入数据中的每组输入数据。即,k可以取1至n之间除i以外的每个整数。
91.应理解,每个特征信息对应的第i个输入数据均属于第i组输入数据,且每个特征信息对应的第k个输入数据均属于第k组输入数据。第i组输入数据与第k组输入数据之间的多个欧式距离的数量等于步骤102中获得的第一安装包的多个特征信息的数量。
92.例如,第1组输入数据包括对函数特征信息a进行第1种处理得到的对应的第1个输入数据a1、以及对版本特征信息b进行第1种处理得到的对应的第1个输入数据b1。第2组输入数据包括对函数特征信息a进行第2种处理得到的对应的第2个输入数据a2、以及对版本特征信息b进行第2种处理得到的对应的第2个输入数据b2。
93.在这种情况下,可以确定函数特征信息a在第1组输入数据中的第1个输入数据a1与在第2组输入数据中的第2个输入数据a2之间的欧式距离,并确定版本特征信息b在第1组输入数据中的第1个输入数据b1与在第2组输入数据中的第2个输入数据b2之间的欧式距离,以得到2个欧式距离。
94.然后,可以将第i组输入数据与第k组输入数据之间的多个欧式距离的平均值确定为第i组输入数据与第k组输入数据之间的相似度。
95.在这些实现方式下,可以准确地计算每两组输入数据之间的相似度,从而有助于在保证安装包的安全评估的准确率的同时,进一步提高安装包的安全评估的效率。
96.图2b是根据本公开又一些实施例的安全评估方法的流程示意图。
97.如图2b所示,安全评估方法还包括步骤204。在这些实施例中,步骤108包括步骤1086和步骤1088。
98.在步骤204,在第二评估方式下,确定第一安装包的检测模式。
99.作为一些实现方式,第一安装包的检测模式可以由用户输入。例如,用户选择待评估的第一安装包后,可以进一步选择第一安装包的检测模式。
100.在步骤1086,在检测模式为第一模式的情况下,根据n组输出结果中每个漏洞的标识对第一安装包进行安全评估。
101.即,在检测模式为第一模式的情况下,根据n组输出结果的并集对第一安装包进行安全评估。这种方式下,可以对第一安装包进行全面的安全评估。
102.在步骤1088,在检测模式为第二模式的情况下,根据n组输出结果中每组数据结果均包括的漏洞的标识对第一安装包进行安全评估。
103.即,在检测模式为第二模式的情况下,根据n组输出结果的交集对第一安装包进行安全评估。这种方式下,可以对第一安装包进行更准确的安全评估。
104.上述实施例中,在检测模式为第一模式的情况下,根据n组输出结果中每个漏洞的标识对第一安装包进行安全评估,并在检测模式为第二模式的情况下,根据n组输出结果中每组数据结果均包括的漏洞的标识对第一安装包进行安全评估。如此,可以按需对安装包进行全面的安全评估或准确的安全评估。
105.图3是根据本公开一些实施例的模型训练方法的流程示意图。
106.如图3所示,模型训练方法包括步骤302~步骤308。
107.在步骤302,获取作为样本的安装包的多个样本特征信息。
108.为了方便说明,后文将作为样本的安装包称为第二安装包。
109.第二安装包可以是通过网络爬虫的方式获得的任何安装包,例如,软件安装包、固件安装包等。
110.在一些实施例中,可以对第二安装包进行逆向处理,以从第二安装包的源代码中提取得到多个样本特征信息。多个特征信息可以包括源代码样本特征信息和源代码指纹样本特征信息。
111.在一些实施例中,多个样本特征信息可以包括语法样本特征信息、依赖关系样本特征信息、目录样本特征信息、函数样本特征信息、参数样本特征信息和版本样本特征信息中的至少一项。
112.在步骤304,确定每个样本特征信息的漏洞信息。
113.这里,漏洞信息表示样本特征信息是否关联漏洞,并且,在关联漏洞的情况下还包括所关联的漏洞的标识。每个样本特征信息所关联的漏洞的标识可以是例如,cve标识。
114.作为一些实现方式,可以基于用户对每个样本特征信息进行的人工标注,确定每个样本特征信息的漏洞信息。例如,用户可以根据经验判断样本特征信息是否关联漏洞、以及关联哪些漏洞,并据此进行人工标注。
115.作为另一些实现方式,可以根据多个样本特征信息确定第二安装包调用的至少一个组件,并获取这至少一个组件具有的漏洞特征信息。组件具有的漏洞特征信息是指组件具有的漏洞的特征信息。
116.在这些实现方式下,将每个样本特征信息与至少一个组件具有的漏洞特征信息进行匹配,以确定该样本特征信息的漏洞信息。
117.例如,如果样本特征信息与某一个漏洞的漏洞特征信息匹配成功,则可以确定该样本特征信息与这一个漏洞关联;如果样本特征信息与每个漏洞的漏洞特征信息均未匹配成功,则可以确定该样本特征信息与漏洞不关联。
118.这些实现方式下,可以自动确定样本特征信息的漏洞信息,而不需要用户进行人
工标注。如此,可以提高模型的训练效率,降低人工成本。
119.在步骤306,对每个样本特征信息进行不同的n种处理,以分别得到对应的n个样本输入数据。
120.应理解,这里对每个样本特征信息进行的n种处理与步骤104中的n种处理相同。相关之处参见前文实施例即可,这里不再赘述。
121.在步骤308,将每个样本特征信息对应的n个样本输入数据中的第n个样本输入数据作为输入、并将该样本特征信息的漏洞信息作为输出,对第n个机器学习模型进行训练。
122.上述实施例中,将对每个样本特征信息进行第n种处理所得到的第n个样本输入数据作为输入,并将该样本特征信息的漏洞信息作为输出,对第n个机器学习模型进行训练。如此,后续可以利用训练好的n个机器学习模型对安装包进行高效、准确地安全评估。
123.下面结合一些实施例进一步说明图3所示的模型训练方法。
124.在一些实施例中,第n个机器学习模型包括决策树模型。如此,以少量的样本特征信息对机器学习模型进行训练即可得到准确率高的训练好的机器学习模型。
125.在一些实施例中,可以按照以下方式对每个样本特征信息进行不同的n种处理。首先,可以基于文本表达算法对每个样本特征信息进行第1种处理,以分别得到对应的n个样本输入数据中的第1个样本输入数据。然后,可以对每个样本特征信息对应的n个样本输入数据中的第r个样本输入数据进行降维处理,以分别得到对应的n个样本输入数据中的第r+1个样本输入数据。
126.即,每个样本特征信息对应的n个样本输入数据中的第r+1个样本输入数据的数据量小于第r个样本输入数据的数据量。
127.上述实施例中,基于文本表达算法对每个样本特征信息进行第1种处理,再对每个样本特征信息对应的第r个样本输入数据进行降维处理。如此,可以提高第r+1个机器学习模型的训练效率。
128.应理解,上述任意一个实施例的安全评估方法可以包括上述任意一个实施例的模型训练方法中的一个或多个步骤。
129.图4是根据本公开一些实施例的安全评估装置的结构示意图。
130.如图4所示,安全评估装置400可以包括获取模块401、处理模块402、输入模块403和评估模块404。
131.获取模块401可以被配置为获取第一安装包的多个特征信息。
132.处理模块402可以被配置为对每个特征信息进行不同的n种处理,以分别得到对应的n个输入数据。这里,n≥2。
133.输入模块403可以被配置为将第n组输入数据输入训练好的第n个机器学习模型,以得到第n组输出结果。1≤n≤n。这里,第n组输入数据包括每个特征信息对应的n个输入数据中的第n个输入数据,并且,第n组输出结果包括第一安装包具有的至少一个漏洞的标识。
134.评估模块404可以被配置为根据n组输出结果中的至少一组输出结果对第一安装包进行安全评估。
135.应理解,安全评估装置400还可以包括其它各种模块,以执行上述任意一个实施例的安全评估方法。
136.图5是根据本公开一些实施例的模型训练装置的结构示意图。
137.如图5所示,模型训练装置500可以包括获取模块501、确定模块502、处理模块503和训练模块504。
138.获取模块501可以被配置为获取作为样本的安装包的多个样本特征信息。
139.确定模块502可以被配置为确定每个样本特征信息的漏洞信息。这里,漏洞信息表示样本特征信息是否关联漏洞,并且,在关联漏洞的情况下还包括所关联的漏洞的标识。
140.处理模块503可以被配置为对每个样本特征信息进行不同的n种处理,以分别得到对应的n个样本输入数据。这里,n≥2。
141.训练模块504可以被配置为将每个样本特征信息对应的n个样本输入数据中的第n个样本输入数据作为输入、并将该样本特征信息的漏洞信息作为输出,对第n个机器学习模型进行训练。这里,1≤n≤n。
142.应理解,模型训练装置500还可以包括其它各种模块,以执行上述任意一个实施例的模型训练方法。
143.图6是根据本公开一些实施例的电子装置的结构示意图。
144.如图6所示,电子装置600包括存储器601以及耦接至该存储器601的处理器602,处理器602被配置为基于存储在存储器601中的指令,执行上述任意一个实施例的安全评估方法或模型训练方法。
145.存储器601例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如可以存储有操作系统、应用程序、引导装载程序(boot loader)以及其他程序等。
146.电子装置600还可以包括输入输出接口603、网络接口604、存储接口605等。这些接口603、604、605之间、以及存储器601与处理器602之间例如可以通过总线606连接。输入输出接口603为显示器、鼠标、键盘、触摸屏等输入输出设备提供连接接口。网络接口604为各种联网设备提供连接接口。存储接口605为sd卡、u盘等外置存储设备提供连接接口。
147.应理解,在被配置为执行上述任意一个实施例的安全评估方法时,电子装置600可以是安全评估装置;在被配置为执行上述任意一个实施例的模型训练方法时,电子装置600可以是模型训练装置。
148.本公开实施例还提供了一种安全评估系统,包括上述任意一个实施例的安全评估装置(例如,安全评估装置400)、以及上述任意一个实施例的模型训练装置(例如,模型训练装置500)。
149.本公开实施例还提供了一种计算机可读存储介质,包括计算机程序指令,该计算机程序指令被处理器执行时实现上述任意一个实施例的方法。
150.本公开实施例还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述任意一个实施例的方法。
151.至此,已经详细描述了本公开的各实施例。为了避免遮蔽本公开的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。
152.本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于装置实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
153.本领域内的技术人员应当明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
154.本公开是参照根据本公开实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解,可由计算机程序指令实现流程图中一个流程或多个流程和/或方框图中一个方框或多个方框中指定的功能。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
155.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
156.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
157.虽然已经通过示例对本公开的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本公开的范围。本领域的技术人员应该理解,可在不脱离本公开的范围和精神的情况下,对以上实施例进行修改或者对部分技术特征进行等同替换。本公开的范围由所附权利要求来限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1