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

分类检测模型训练方法和装置、分类检测方法和装置与流程

2022-03-16 01:10:57 来源:中国专利 TAG:


1.本公开涉及安全领域,特别涉及一种分类检测模型训练方法和装置、分类检测方法和装置。


背景技术:

2.目前对于安卓恶意应用的研究主要在于判断其是否为恶意,而缺乏对基于其恶意行为特征的更精准的分类的研究。在现有技术中,安卓恶意应用分类方式主要包括以下两种。第一种是通过恶意应用家族进行分类,另一种是通过病毒名称关键词匹配。


技术实现要素:

3.发明人通过研究发现,对于上述第一种安卓恶意应用分类方式,尽管在恶意应用家族中总结了安卓恶意应用的恶意行为特征,但是很多不同的恶意应用家族可能具有相似甚至完全相同的恶意行为,因此会导致分类标准模糊,存在重合冗余的问题。并且通过人工分析和聚类合并恶意家族的方式需要花费巨大人力,并且依赖于人工主观判断,存在准确度低的问题。对于上述第二种安卓恶意应用分类方式,即通过病毒名称关键词匹配类别,也就是通过条件判断语句判断病毒名称中是否包含该分类的关键词。由于不同的杀毒引擎病毒名称的命名规则不同,所以无法实现通用,而且这种条件判断分类精度较低。
4.据此,本公开提供一种分类检测方案,在无需人工干预的情况下有效克服分类检测效率低、准确度低的问题。
5.根据本公开实施例的第一方面,提供一种分类检测模型训练方法,包括:对恶意样本apk进行反编译,以得到目标文件,并从所述目标文件中提取出静态特征;利用沙箱工具从所述恶意样本apk中提取出动态特征;利用所述静态特征和所述动态特征生成训练数据集;利用预设的特征选取模型从所述训练数据集中选取出第一特征样本集合;利用所述第一特征样本集合对预设分类器进行训练,以得到经过训练的分类检测模型。
6.在一些实施例中,所述特征选取模型为随机森林模型;所述分类器为朴素贝叶斯分类器。
7.在一些实施例中,利用十折交叉验证算法对随机森林模型中的决策树个数进行优化。
8.在一些实施例中,所述目标文件包括androidmanifest.xml文件和smali文件,所述从所述目标文件中提取出静态特征包括:从所述androidmanifest.xml文件中提取出权限特征;从所述smali文件中提取api调用特征;根据所述权限特征和所述api调用特征生成静态特征。
9.在一些实施例中,利用所述第一特征样本集合对预设分类器进行训练包括:利用递归特征消除算法,按照分类权重从大到小的顺序从所述第一特征样本集合中提取出预定数量个特征样本,以生成第二特征样本集合;利用所述第二特征样本集合对预设分类器进行训练。
10.根据本公开实施例的第二方面,提供一种分类检测模型训练装置,包括:第一静态特征提取模块,被配置为对恶意样本apk进行反编译,以得到目标文件,并从所述目标文件中提取出静态特征;第一动态特征提取模块,被配置为利用沙箱工具从所述恶意样本apk中提取出动态特征;训练数据生成模块,被配置为利用所述静态特征和所述动态特征生成训练数据集;训练模块,被配置为利用预设的特征选取模型从所述训练数据集中选取出第一特征样本集合,利用所述第一特征样本集合对预设分类器进行训练,以得到经过训练的分类检测模型。
11.在一些实施例中,所述特征选取模型为随机森林模型;所述分类器为朴素贝叶斯分类器。
12.在一些实施例中,训练模块被配置为利用十折交叉验证算法对随机森林模型中的决策树个数进行优化。
13.在一些实施例中,所述目标文件包括androidmanifest.xml文件和smali文件;第一静态特征提取模块被配置为从所述androidmanifest.xml文件中提取出权限特征,从所述smali文件中提取api调用特征,根据所述权限特征和所述api调用特征生成静态特征。
14.在一些实施例中,训练模块被配置为利用递归特征消除算法,按照分类权重从大到小的顺序从所述第一特征样本集合中提取出预定数量个特征样本,以生成第二特征样本集合,利用所述第二特征样本集合对预设分类器进行训练。
15.根据本公开实施例的第三方面,提供一种分类检测模型训练装置,包括:存储器,被配置为存储指令;处理器,耦合到存储器,处理器被配置为基于存储器存储的指令执行实现如上述任一项所述的方法。
16.根据本公开实施例的第四方面,提供一种分类检测方法,包括:对待检测apk进行反编译,以得到目标文件,并从所述目标文件中提取出静态特征;利用沙箱工具从所述待检测apk中提取出动态特征;利用所述静态特征和所述动态特征生成样本数据集;利用预设的特征选取模型从所述样本数据集中选取出第三特征样本集合;利用上述任一项所述的分类检测模型训练方法所得到的分类检测模型对所述第三特征样本集合进行分类检测处理,以得到所述待检测apk的分类结果。
17.在一些实施例中,利用所述分类检测模型对所述第三特征样本集合进行分类检测处理包括:利用递归特征消除算法,按照分类权重从大到小的顺序从所述第三特征样本集合中提取出预定数量个特征样本,以生成第四特征样本集合;利用所述分类检测模型对所述第四特征样本集合进行分类检测处理。
18.根据本公开实施例的第五方面,提供一种分类检测装置,包括:第二静态特征提取模块,被配置为对待检测apk进行反编译,以得到目标文件,并从所述目标文件中提取出静态特征;第二动态特征提取模块,被配置为利用沙箱工具从所述待检测apk中提取出动态特征;样本生成模块,被配置为利用所述静态特征和所述动态特征生成样本数据集;分类检测模块,被配置为利用预设的特征选取模型从所述样本数据集中选取出第三特征样本集合,利用上述任一实施例所述的分类检测模型训练方法所得到的分类检测模型对所述样本数据集进行分类检测处理,以得到所述待检测apk的分类结果。
19.在一些实施例中,分类检测模块被配置为利用所述分类检测模型对所述第三特征样本集合进行分类检测处理包括:利用递归特征消除算法,按照分类权重从大到小的顺序
从所述第三特征样本集合中提取出预定数量个特征样本,以生成第四特征样本集合;利用所述分类检测模型对所述第四特征样本集合进行分类检测处理。
20.根据本公开实施例的第六方面,提供一种分类检测装置,包括:存储器,被配置为存储指令;处理器,耦合到存储器,处理器被配置为基于存储器存储的指令执行实现如上述任一实施例所述的方法。
21.根据本公开实施例的第七方面,提供一种计算机可读存储介质,其中,计算机可读存储介质存储有计算机指令,指令被处理器执行时实现如上述任一实施例涉及的方法。
22.通过以下参照附图对本公开的示例性实施例的详细描述,本公开的其它特征及其优点将会变得清楚。
附图说明
23.为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
24.图1为本公开一个实施例的分类检测模型训练方法的流程示意图;
25.图2为本公开另一个实施例的分类检测模型训练方法的流程示意图;
26.图3为本公开一个实施例的分类检测模型训练装置的结构示意图;
27.图4为本公开另一个实施例的分类检测模型训练装置的结构示意图;
28.图5为本公开一个实施例的分类检测方法的流程示意图;
29.图6为本公开一个实施例的分类检测装置的结构示意图;
30.图7为本公开另一个实施例的分类检测装置的结构示意图。
具体实施方式
31.下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
32.除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
33.同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
34.对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
35.在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
36.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
37.图1为本公开一个实施例的分类检测模型训练方法的流程示意图。在一些实施例中,下列的分类检测模型训练方法步骤由分类检测模型训练装置执行。
38.在步骤101,对恶意样本apk(android application package,安卓应用程序包)进行反编译,以得到目标文件,并从目标文件中提取出静态特征。
39.在一些实施例中,目标文件包括androidmanifest.xml文件和smali文件。通过从androidmanifest.xml文件中提取出权限特征,从smali文件中提取api调用特征,根据权限特征和api调用特征生成静态特征。
40.在步骤102,利用沙箱工具从恶意样本apk中提取出动态特征。
41.在一些实施例中,利用droidbox工具生成json格式的日志,从该日志中提取出应用程序运行后发生的动态行为以作为动态特征。
42.在步骤103,利用静态特征和动态特征生成训练数据集。
43.在步骤104,利用预设的特征选取模型从训练数据集中选取出第一特征样本集合。
44.在一些实施例中,特征选取模型为随机森林(random forest,简称:rf)模型。
45.在一些实施例中,利用十折交叉验证算法对随机森林模型中的决策树个数进行优化。例如,利用十折交叉验证算法对随机森林模型中的参数n_estimators进行优化调整。从而避免因参数n_estimators太小而导致欠拟合,还可避免参数n_estimators太大而导致计算速度较慢,无法显著提升随机森林模型的输出效果。例如,在参数n_estimators取81时随机森林模型能获得最佳的输出效果。
46.在步骤105,利用第一特征样本集合对预设分类器进行训练,以得到经过训练的分类检测模型。
47.在一些实施例中,预设分类器为朴素贝叶斯(naive bayes,简称:nb)分类器。
48.这里需要说明的是,在已知条件概率分布的基础上,通过假设各个特征变量满足条件独立性,根据朴素贝叶斯分类器计算出特征样本属于每一类的后验概率,则后验概率值最大的类别就是该特征样本的预测结果。
49.由于随机森林算法和朴素贝叶斯算法本身并不是本公开的发明点所在,因此这里不展开描述。
50.在本公开上述实施例提供的分类检测模型训练方法中,通过利用随机森林模型提取出信息增益较大的特征样本,并利用朴素贝叶斯分类器进行训练,从而能够得到对恶意应用进行有效分类的分类检测模型。
51.图2为本公开另一个实施例的分类检测模型训练方法的流程示意图。在一些实施例中,下列的分类检测模型训练方法步骤由分类检测模型训练装置执行。
52.在步骤201,对恶意样本apk进行反编译,以得到目标文件,并从目标文件中提取出静态特征。
53.在一些实施例中,目标文件包括androidmanifest.xml文件和smali文件。通过从androidmanifest.xml文件中提取出权限特征,从smali文件中提取api调用特征,根据权限特征和api调用特征生成静态特征。
54.在步骤202,利用沙箱工具从恶意样本apk中提取出动态特征。
55.在一些实施例中,利用droidbox工具生成json格式的日志,从该日志中提取出应用程序运行后发生的动态行为以作为动态特征。
56.在步骤203,利用静态特征和动态特征生成训练数据集。
57.在步骤204,利用预设的特征选取模型从训练数据集中选取出第一特征样本集合。
58.在一些实施例中,特征选取模型为随机森林模型。
59.在一些实施例中,利用十折交叉验证算法对随机森林模型中的决策树个数进行优化。
60.在步骤205,利用递归特征消除算法,按照分类权重从大到小的顺序从第一特征样本集合中提取出预定数量个特征样本,以生成第二特征样本集合。
61.这里需要说明的是,通过利用递归特征消除算法,能够去除第一特征样本集合中与分类检测关联性不大的特征样本,从而能够缩短训练时间,提高分类精度。
62.由于递归特征消除算法本身并不是本公开的发明点所在,因此这里不展开描述。
63.在步骤206,利用第二特征样本集合对预设分类器进行训练,以得到经过训练的分类检测模型。
64.在一些实施例中,预设分类器为朴素贝叶斯分类器。
65.图3为本公开一个实施例的分类检测模型训练装置的结构示意图。如图3所示,分类检测模型训练装置包括第一静态特征提取模块31、第一动态特征提取模块32、训练数据生成模块33和训练模块34。
66.第一静态特征提取模块31被配置为对恶意样本apk进行反编译,以得到目标文件,并从目标文件中提取出静态特征。
67.在一些实施例中,目标文件包括androidmanifest.xml文件和smali文件。第一静态特征提取模块31通过从androidmanifest.xml文件中提取出权限特征,从smali文件中提取api调用特征,根据权限特征和api调用特征生成静态特征。
68.第一动态特征提取模块32被配置为利用沙箱工具从恶意样本apk中提取出动态特征。
69.在一些实施例中,第一动态特征提取模块32利用droidbox工具生成json格式的日志,从该日志中提取出应用程序运行后发生的动态行为以作为动态特征。
70.训练数据生成模块33被配置为利用静态特征和动态特征生成训练数据集。
71.训练模块34被配置为利用预设的特征选取模型从训练数据集中选取出第一特征样本集合,利用第一特征样本集合对预设分类器进行训练,以得到经过训练的分类检测模型。
72.在一些实施例中,特征选取模型为随机森林模型,预设分类器为朴素贝叶斯分类器。
73.在一些实施例中,训练模块34利用十折交叉验证算法对随机森林模型中的决策树个数进行优化。
74.在一些实施例中,训练模块34利用递归特征消除算法,按照分类权重从大到小的顺序从第一特征样本集合中提取出预定数量个特征样本,以生成第二特征样本集合,利用第二特征样本集合对预设分类器进行训练。
75.这里需要说明的是,通过利用递归特征消除算法,能够去除第一特征样本集合中与分类检测关联性不大的特征样本,从而能够缩短训练时间,提高分类精度。
76.图4为本公开另一个实施例的分类检测模型训练装置的结构示意图。如图4所示,
分类检测模型训练装置包括存储器41和处理器42。
77.存储器41用于存储指令,处理器42耦合到存储器41,处理器42被配置为基于存储器存储的指令执行实现如图1、2中任一实施例涉及的方法。
78.如图4所示,该分类检测模型训练装置还包括通信接口43,用于与其它设备进行信息交互。同时,该分类检测模型训练装置还包括总线44,处理器42、通信接口43、以及存储器41通过总线44完成相互间的通信。
79.存储器41可以包含高速ram存储器,也可还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。存储器41也可以是存储器阵列。存储器41还可能被分块,并且块可按一定的规则组合成虚拟卷。
80.此外,处理器42可以是一个中央处理器cpu,或者可以是专用集成电路asic,或是被配置成实施本公开实施例的一个或多个集成电路。
81.本公开同时还涉及一种计算机可读存储介质,其中计算机可读存储介质存储有计算机指令,指令被处理器执行时实现如图1、2中任一实施例涉及的方法。
82.图5为本公开一个实施例的分类检测方法的流程示意图。在一些实施例中,下列的分类检测方法步骤由分类检测装置执行。
83.步骤501,对待检测apk进行反编译,以得到目标文件,并从目标文件中提取出静态特征。
84.在一些实施例中,目标文件包括androidmanifest.xml文件和smali文件。通过从androidmanifest.xml文件中提取出权限特征,从smali文件中提取api调用特征,根据权限特征和api调用特征生成静态特征。
85.在步骤502,利用沙箱工具从待检测apk中提取出动态特征。
86.在一些实施例中,利用droidbox工具生成json格式的日志,从该日志中提取出应用程序运行后发生的动态行为以作为动态特征。
87.在步骤503,利用静态特征和动态特征生成样本数据集。
88.在步骤504,利用预设的特征选取模型从样本数据集中选取出第三特征样本集合。
89.在一些实施例中,特征选取模型为随机森林模型。
90.在步骤505,利用分类检测模型对第三特征样本集合进行分类检测处理,以得到待检测apk的分类结果。
91.这里使用的分类检测模型是利用图1或图2所示实施例所得到的分类检测模型。
92.在一些实施例中,通过利用递归特征消除算法,按照分类权重从大到小的顺序从第三特征样本集合中提取出预定数量个特征样本,以生成第四特征样本集合,利用分类检测模型对第四特征样本集合进行分类检测处理。
93.这里需要说明的是,通过利用递归特征消除算法,能够去除第三特征样本集合中与分类检测关联性不大的特征样本,从而能够提高分类精度。
94.图6为本公开一个实施例的分类检测装置的结构示意图。如图6所示,分类检测装置包括第二静态特征提取模块61、第二动态特征提取模块62、样本生成模块63和分类检测模块64。
95.第二静态特征提取模块61被配置为对待检测apk进行反编译,以得到目标文件,并从目标文件中提取出静态特征。
96.在一些实施例中,目标文件包括androidmanifest.xml文件和smali文件。通过从androidmanifest.xml文件中提取出权限特征,从smali文件中提取api调用特征,根据权限特征和api调用特征生成静态特征。
97.第二动态特征提取模块62被配置为利用沙箱工具从待检测apk中提取出动态特征。
98.在一些实施例中,第二动态特征提取模块62利用droidbox工具生成json格式的日志,从该日志中提取出应用程序运行后发生的动态行为以作为动态特征。
99.样本生成模块63被配置为利用静态特征和动态特征生成样本数据集。
100.分类检测模块64被配置为利用预设的特征选取模型从所述样本数据集中选取出第三特征样本集合,利用分类检测模型训练方法所得到的分类检测模型对第三特征样本集合进行分类检测处理,以得到待检测apk的分类结果。
101.在一些实施例中,分类检测模块64被配置为利用递归特征消除算法,按照分类权重从大到小的顺序从第三特征样本集合中提取出预定数量个特征样本,以生成第四特征样本集合,利用分类检测模型对第四特征样本集合进行分类检测处理。
102.这里需要说明的是,通过利用递归特征消除算法,能够去除第三特征样本集合中与分类检测关联性不大的特征样本,从而能够提高分类精度。
103.这里使用的分类检测模型是利用图3或图4所示实施例所得到的分类检测模型。
104.图7本公开另一个实施例的分类检测装置的结构示意图。如图7示,分类检测装置包括存储器71、处理器72、通信接口73和总线74。图7和图4的不同之处在于,在图7所述实施例中,处理器72被配置为基于存储器存储的指令执行实现如图5中任一实施例涉及的方法。
105.本公开同时还涉及一种计算机可读存储介质,其中计算机可读存储介质存储有计算机指令,指令被处理器执行时实现如图5任一实施例涉及的方法。
106.在一些实施例中,在上面所描述的功能单元模块可以实现为用于执行本公开所描述功能的通用处理器、可编程逻辑控制器(programmable logic controller,简称:plc)、数字信号处理器(digital signal processor,简称:dsp)、专用集成电路(application specific integrated circuit,简称:asic)、现场可编程门阵列(field-programmable gate array,简称:fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件或者其任意适当组合。
107.本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
108.本公开的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本公开限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本公开的原理和实际应用,并且使本领域的普通技术人员能够理解本公开从而设计适于特定用途的带有各种修改的各种实施例。
再多了解一些

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

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

相关文献