CN114598443A - 恶意软件检测器训练方法、检测器、电子设备及存储介质 - Google Patents

恶意软件检测器训练方法、检测器、电子设备及存储介质 Download PDF

Info

Publication number
CN114598443A
CN114598443A CN202210201495.9A CN202210201495A CN114598443A CN 114598443 A CN114598443 A CN 114598443A CN 202210201495 A CN202210201495 A CN 202210201495A CN 114598443 A CN114598443 A CN 114598443A
Authority
CN
China
Prior art keywords
data set
original
sample data
malware
malicious software
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
Application number
CN202210201495.9A
Other languages
English (en)
Inventor
王海州
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Agricultural Bank of China
Original Assignee
Agricultural Bank of China
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Agricultural Bank of China filed Critical Agricultural Bank of China
Priority to CN202210201495.9A priority Critical patent/CN114598443A/zh
Publication of CN114598443A publication Critical patent/CN114598443A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/006Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving public key infrastructure [PKI] trust models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种恶意软件检测器训练方法、检测器、电子设备及存储介质。恶意软件检测器训练方法包括:获取原始样本数据集,并得到原始样本数据集的原始恶意软件检测率;获取每个原始样本的特征参数,特征参数用于表征原始样本为恶意软件的不确定程度;根据特征参数,从原始样本数据集中选择占总样本比例为α的代表样本数据集,并得到代表样本数据集的恶意软件检测率,其中,α大于0且小于1,恶意软件检测率与原始恶意软件检测率的差值在第一预设范围内;将代表样本数据集输入预设训练模型进行训练,得到恶意软件检测器。本发明提供的恶意软件检测器训练方法能够在降低模型训练难度的同时,确保训练后模型的准确率。

Description

恶意软件检测器训练方法、检测器、电子设备及存储介质
技术领域
本发明涉及软件安全技术领域,尤其涉及一种恶意软件检测器训练方法、检测器、电子设备及存储介质。
背景技术
目前,数量庞大的恶意软件对安卓***安全和用户权益构成了极大威胁。因此,研究安卓恶意软件检测方法是移动端操作***安全防护领域的重要内容之一。
可解释性安卓恶意软件检测方法主要为基于规则的安卓恶意软件检测方法,该方法主要是提取出获取恶意软件频繁请求但良性软件很少请求的权限,以此作为检测安卓恶意软件的规则,再利用该规则集检测恶意软件。
然而,发明人发现:基于规则的安卓恶意软件检测方法能够体现特征与检测结果之间的因果关系,但该方法建立在大量人工分析的基础上,模型的训练难度高。
发明内容
本发明提供了一种恶意软件检测器训练方法、检测器、电子设备及存储介质,其能够在降低模型训练难度的同时,确保训练后模型的准确率。
根据本发明的一方面,提供了一种恶意软件检测器训练方法,包括:获取原始样本数据集,并得到所述原始样本数据集的原始恶意软件检测率,其中,所述原始样本数据集中包括多个原始样本;获取每个所述原始样本的特征参数,所述特征参数用于表征所述原始样本为恶意软件的不确定程度;根据所述特征参数,从所述原始样本数据集中选择占总样本比例为α的代表样本数据集,并得到所述代表样本数据集的恶意软件检测率,其中,α大于0且小于1,所述恶意软件检测率与所述原始恶意软件检测率的差值在第一预设范围内;将所述代表样本数据集输入预设训练模型进行训练,得到恶意软件检测器。
根据本发明的另一方面,提供了一种恶意软件检测器,包括:原始样本检测率获取模块,用于获取原始样本数据集,并得到所述原始样本数据集的原始恶意软件检测率,其中,所述原始样本数据集中包括多个原始样本;特征参数获取模块,用于获取每个所述原始样本的特征参数,所述特征参数用于表征所述原始样本为恶意软件的不确定程度;代表样本检测率获取模块,用于根据所述特征参数,从所述原始样本数据集中选择占总样本比例为α的代表样本数据集,并得到所述代表样本的恶意软件检测率,其中,α大于0且小于1,所述恶意软件检测率与所述原始软件检测率的差值在第一预设范围内;检测器训练模块,用于将所述代表样本数据集输入预设训练模型进行训练,得到恶意软件检测器。
根据本发明的另一方面,提供了一种电子设备,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的恶意软件检测器训练方法。
根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的恶意软件检测器训练方法。
与相关技术,本发明实施例至少具有如下优点:
通过根据原始样本的特征参数,从原始样本数据集中选择代表样本数据集,一方面能够使输入预设模型进行训练的样本数据的数量变少,从而使模型无需训练大量数据,进而降低了模型训练的难度;另一方面,能够确保恶意软件检测率与原始恶意软件检测率的差值在第一预设范围内,使得通过代表样本数据集训练,能够达到与通过原始样本数据集训练相同的训练效果,从而确保了训练后预设模型的准确率;此外,上述的模型训练方法无需人工分析,能够极大的减少人力成本。
应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例一提供的恶意软件检测器训练方法的流程图;
图2是根据本发明实施例二提供的恶意软件检测器训练方法的流程图;
图3是根据本发明实施例三提供的恶意软件检测器训练方法的流程图;
图4是根据本发明实施例四提供的恶意软件检测器训练方法的流程图;
图5是根据本发明实施例四提供的恶意软件检测器训练方法的原理框图;
图6根据本发明实施例五提供的恶意软件检测器的结构示意图;
图7是实现本发明实施例六的恶意软件检测器训练方法的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例一
图1为本发明实施例一提供了一种恶意软件检测器训练方法的流程图,如图1所示,该方法包括:
S110、获取原始样本数据集,并得到原始样本数据集的原始恶意软件检测率。
具体的说,原始样本数据集中包括多个原始样本,在获取原始样本数据集时,同时可以得知原始样本的种类(恶意软件或良性软件),也就是说,此时能够知道原始样本数据集中恶意软件的具体数量;将原始样本输入特征集训练分类器中,即可得到每个样本被分类为恶意软件或良性软件的概率(如一个样本为恶意软件的概率为0.6,良性软件的概率为0.4,则判定该样本为恶意软件);假设原始样本数据集中恶意软件的具体数量为500个,而通过特征集训练分类器检测出来的恶意软件数量为450个,则原始样本数据集的原始恶意软件检测率为450/500=90%。
S120、获取每个原始样本的特征参数。
具体的说,特征参数用于表征原始样本为恶意软件的不确定程度。在本实施例中,特征参数为信息熵,可以通过以下方式获取原始样本的信息熵:
将多个原始样本输入预设训练分类器,得到每个原始样本被分类为恶意软件或良性软件的概率;根据以下公式得到所述信息熵:
Figure BDA0003529514260000051
其中,n为原始样本数量,i为原始样本序号,p(yi)为原始样本被分类为恶意软件或良性软件的概率,H(Y)为所述信息熵。
需要说明的是,预设训练分类器可以为前述提及的特征集训练分类器,本实施例并不对预设训练分类器的种类作具体限定,仅需能够区分原始样本为恶意软件或良性软件即可。
S130、根据特征参数,从原始样本数据集中选择占总样本比例为α的代表样本数据集,并得到代表样本数据集的恶意软件检测率。
具体的说,α大于0且小于1,恶意软件检测率与原始恶意软件检测率的差值在第一预设范围内。
值得一提的是,为了确保恶意软件检测率与原始恶意软件检测率的差值在第一预设范围内,在从原始样本数据集中选择占总样本比例为α的代表样本数据集之前,还会根据信息熵的大小对原始样本数据集中的多个原始样本进行降序排列,再选择多个原始样本中信息熵最大、且占总样本比例为α的样本作为代表样本数据集。由于信息熵越大,表示原始样本为恶意软件的不确定程度越高,即越难以判断原始样本是否为恶意软件,通过上述方式,使得代表样本数据集的选择更具有针对性,且覆盖范围更广,从而能够满足恶意软件检测率与原始恶意软件检测率的差值在第一预设范围内,进而确保了后续训练的准确率。
S140、将代表样本数据集输入预设训练模型进行训练,得到恶意软件检测器。
具体的说,本实例中的预设训练模型可以为基于AdaBoost算法构建的检测模型。
与相关技术,本发明实施例至少具有如下优点:通过根据原始样本的特征参数,从原始样本数据集中选择代表样本数据集,一方面能够使输入预设模型进行训练的样本数据的数量变少,从而使模型无需训练大量数据,进而降低了模型训练的难度;另一方面,能够确保恶意软件检测率与原始恶意软件检测率的差值在第一预设范围内,使得通过代表样本数据集训练,能够达到与通过原始样本数据集训练相同的训练效果,从而确保了训练后预设模型的准确率;此外,上述的模型训练方法无需人工分析,能够极大的减少人力成本。
实施例二
图2为本发明实施例二提供的一种恶意软件检测器训练方法的流程图,本实施例是对前述实施例的举例说明,具体说明了:如何确保恶意软件检测率与原始恶意软件检测率的差值在第一预设范围内。
具体的说,如图2所示,该方法包括:
S210、获取原始样本数据集,并得到原始样本数据集的原始恶意软件检测率。
S220、获取每个原始样本的特征参数。
S230、根据特征参数,从原始样本数据集中选择占总样本比例为α的代表样本数据集,并得到代表样本数据集的恶意软件检测率。
S240、判断恶意软件检测率与原始恶意软件检测率的差值是否在第一预设范围内,若是,则执行步骤S260;若否,则执行步骤S250。
具体的说,第一预设范围可以根据实际需求设置,如可以设置为0-0.3%,本实施例并不对第一预设范围的大小作具体限定。
S250、调整α的大小,并执行步骤S230。
具体的说,若恶意软件检测率与原始恶意软件检测率的差值不在第一预设范围内,则会不断的增大α,直至新的恶意软件检测率与原始恶意软件检测率的差值在第一预设范围;若初始选择的α即可满足新的恶意软件检测率与原始恶意软件检测率的差值在第一预设范围内,则可适当缩小α,以尽可能的减少代表样本的数量,从而尽可能降低模型训练的难度。
S260、将代表样本数据集输入预设训练模型进行训练,得到恶意软件检测器。
不难发现,本实施例中的步骤S210至步骤S230、S260与前述实施方式中的步骤S110至步骤S140一致,为了避免重复,此处不再赘述。
实施例三
图3为本发明实施例三提供的一种恶意软件检测器训练方法的流程图,本实施例是对前述实施例的举例说明,具体说明了:如何得到恶意软件检测器。
具体的说,如图3所示,该方法包括:
S310、获取原始样本数据集,并得到原始样本数据集的原始恶意软件检测率。
S320、获取每个原始样本的特征参数。
S330、根据特征参数,从原始样本数据集中选择占总样本比例为α的代表样本数据集,并得到代表样本数据集的恶意软件检测率。
S340、将代表样本数据集输入基于AdaBoost算法的检测模型,提取初始检测规则。
具体的说,本实施例中基于AdaBoost算法的检测模型构建了多个相互依赖的决策树,通过所有的决策树加权最终决策分类结果。样本选择和属性选择作为产生决策树的两个随机过程,可以有效的减少过拟合的问题。同时,通过多棵树的组合进行检测恶意软件,避免了单树判别造成的欠拟合问题,可以显著提高检测效果。
为了便于理解,下面对本实施例提取初始规则的方法进行具体的说明:
规则r={if f1∩f2∩f3…∩fn then result},由规则体和检测结果组成。其中,规则体C={f1∩f2∩f3…∩fn}是一个从树模型的多个节点中提取出的逻辑连接字之间的布尔表达式,检测结果为应用程序为恶意或良性。当随机树的叶节点存在时,所有的叶节点与根节点组成一条规则。例如,“if android.intent.category.test>0.5Then malware”。其中“android.intent.category.test>0.5”为一个逻辑连接字,“&”为布尔表达式,“malware”为检测结果。
S350、去除每个初始检测规则中多余的逻辑连接字,并将去除多余的逻辑连接字的初始检测规则作为精简检测规则。
具体的说,本实施例可以通过leave-one-out剪枝法对初始检测规则进行剪枝,以去除初始检测规则中多余的逻辑连接字。
leave-one-out剪枝法具体为:获取初始检测规则的初始错误率,以及初始检测规则去除每个逻辑连接字后的多个错误率;判断每个错误率与初始错误率的差值是否在第二预设范围内;在判定不在预设范围内时,将与该错误率对应的逻辑连接字作为多余的逻辑连接字;去除多余的逻辑连接字。
需要说明的是,第二预设范围可以根据实际需求设置,如可以设置为0-0.1%,本实施例并不对第二预设范围的大小作具体限定。
请参见表1,为本实施例精简规则提取方法代码:
Figure BDA0003529514260000091
表1
为了便于理解,下面对本实施例如何去除多余的逻辑连接字进行具体的举例说明:
假设第二预设范围为0.05%,初始检测规则为A and B and C or D(A,B,C,D均为规则,and和or为逻辑连接字),初始规则的初始错误率为2%,则分别单独去除A、B、C、D,得到第一规则:B and C or D;第二规则:A and C or D;第三规则:A and B or D;第四规则:A and B and C。第一规则的错误率为2.1%,第二规则的错误率为2.02%,第三规则的错误率为2.08%,第四规则的错误率为2.2%,则与规则B对应的逻辑连接字为多余的逻辑连接字,去除。以此类推,直至去除初始检测规则中所有多余的逻辑连接字。
S360、根据精简检测规则构建恶意软件检测器。
不难发现,本实施例中的步骤S310至步骤S330、S360与前述实施方式中的步骤S210至步骤S230、S260一致,为了避免重复,此处不再赘述。
实施例四
图4为本发明实施例四提供的一种恶意软件检测器训练方法的流程图,本实施例是在前述实施例的基础上做了进一步的改进,具体改进之处在于:在得到精简规则之后,还会去除精简规则中的冗余规则,再根据去除冗余规则后的精简检测规则,构建恶意软件检测器。通过此种方式,能够实现恶意软件的有效检测,并提高恶意软件检测器的可解释性。
具体的说,如图4所示,该方法包括:
S410、获取原始样本数据集,并得到原始样本数据集的原始恶意软件检测率。
S420、获取每个原始样本的特征参数。
S430、根据特征参数,从原始样本数据集中选择占总样本比例为α的代表样本数据集,并得到代表样本数据集的恶意软件检测率。
S440、将代表样本数据集输入基于AdaBoost算法的检测模型,提取初始检测规则。
S450、去除每个初始检测规则中多余的逻辑连接字,并将去除多余的逻辑连接字的初始检测规则作为精简检测规则。
S460、获取精简检测规则的评价指标参数。
具体的说,本实施例中的评价指标参数包括以下之一或其任意组合:规则出现频率、规则错误率以及规则长度。
更具体的,规则出现频率为满足该条规则的样本数量占总样本数量的比例;规则错误率为使用该规则进行分类造成的错误率,错误率越小代表规则的检测恶意软件的能力越好;规则长度为规则的逻辑连接字的数量,数量越少代表规则的可读性越高,解释性越强。
S470、根据评价指标参数去除精简检测规则中的冗余规则。
具体的说,首先在产生冲突的检测规则中,选择错误率低、频率高和长度短的规则。然后构建一个包含样本序列、规则和样本标签的规则矩阵作为规则训练集,如表2所示。其中,样本序号指的是恶意软件或良性软件,矩阵里的值为1,代表该样本符合对应规则,矩阵的值为0,代表该样本不符合对应规则。接着利用该规则训练集训练Adaboost分类器获得规则的重要度,最后,通过对规则的重要度降序排序可以最重要的规则,剔除冗余规则。
Figure BDA0003529514260000111
表2
S480、根据去除冗余规则后的精简检测规则,构建恶意软件检测器。
请参见图5,为了便于理解,下面对本实例的恶意软件检测器训练方法进行具体的说明:
恶意软件检测器训练方法原理框架主要包括2个模块,代表样本选择和规则检测模型构建。在代表样本选择模块中,利用信息熵对样本进行选择,去掉冗余样本,选择出代表样本作为新的数据集;在检测规则提取模块中,利用新数据集训练Adaboost模型,然后从训练好的随机森林模型中进行初始规则提取、规则度量、规则剪枝、冗余规则剔除等操作,得到精简的规则集,最后利用精简的规则集构建恶意软件规则检测器,实现对Android恶意软件的检测,得到应用程序为恶意或良性的检测结果,以及该应用程序为恶意或良性的解释结果。
上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
实施例五
图6为本发明实施例五提供的一种恶意软件检测器的结构示意图。如图6所示,该恶意软件检测器包括:
原始样本检测率获取模块1,用于获取原始样本数据集,并得到所述原始样本数据集的原始恶意软件检测率,其中,所述原始样本数据集中包括多个原始样本;
特征参数获取模块2,用于获取每个所述原始样本的特征参数,所述特征参数用于表征所述原始样本为恶意软件的不确定程度;
代表样本检测率获取模块3,用于根据所述特征参数,从所述原始样本数据集中选择占总样本比例为α的代表样本数据集,并得到所述代表样本的恶意软件检测率,其中,α大于0且小于1,所述恶意软件检测率与所述原始软件检测率的差值在第一预设范围内;
检测器训练模块4,用于将所述代表样本数据集输入预设训练模型进行训练,得到恶意软件检测器。
不难发现,本实施例为与第一实施例相对应的装置实施例,本实施例可与第一实施例互相配合实施。第一实施例中提到的相关技术细节在本实施例中依然有效,为了减少重复,这里不再赘述。相应地,本实施例中提到的相关技术细节也可应用在第一实施例中。
值得一提的是,本实施例中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施例中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施例中不存在其它的单元。
下面对本实施例提供的恶意软件检测器进行具体的实验分析:
首先将80%的数据作为训练集,20%的数据作为测试集。
其次利用训练集对基于规则提取的恶意软件检测模型参数进行选择。在选择代表样本时,输入的特征为274维,代表样本比例为0.5。在训练随机森林模型时,采用十折交叉验证方法进行调参,轮流地将训练集中80%的数据作为训练数据,20%的数据作为验证数据来优化模型参数,最终树的数量为100,每个决策树随机选择的特征数目为241。从基于AdaBoost算法的检测模型中提取规则时,采用十折交叉验证方法进行调参,轮流地将训练集中80%的数据作为训练数据,20%的数据作为验证数据来优化模型参数,规则最小频率阈值为5e-04,错误率阈值为0.04,规则长度阈值为3。
最后,利用测试集计算可解释性恶意软件检测规则提取方法(RBE)与9种对比方法的评价指标,包括准确率、精确率、召回率和F值。其中,9种对比方法包括:决策树(DT)、梯度提升树方法(GDBT)、神经网络方法(MLP)、逻辑回归方法(LR)、提升树方法(ADABOOST)和贝叶斯斯算法(NB)、RFRULES方法、EBBAM方法和Sigpid方法。6种检测工具包括:AntiVir,AVG,BitDefender,ClamAV,ESET,F-Secure。
Figure BDA0003529514260000141
表3恶意软件检测实验结果
Figure BDA0003529514260000142
表4恶意软件检测工具对比实验结果
由实验结果可知:
(1)可解释性恶意软件检测规则提取方法优于对比方法。将前述实施例的恶意软件检测器训练方法与其他基础分类算法对比,实验结果显示,基于规则提取的恶意软件检测算法的精确率(0.974)、召回值(0.982)和F1值(0.978)皆高于其他算法。该方法通过从树模型中自动提取出少量、复杂度低且准确率高的判决规则,挖掘出特征之间的布尔逻辑关系与检测结果之间的关系,实现对恶意软件的有效检测,相比于其他对比方法中的单一模型,具有更好的检测效果。
(2)可解释性恶意软件检测规则提取方法优于对比恶意软件检测工具。将本实施例的恶意软件检测器与恶意软件检测工具进行对比分析,对比分析工具为AntiVir,AVG,BitDefender,ClamAV,ESET,F-Secure。可解释性Android恶意软件检测规则提取方法的检测率(召回率)为98.2%,高于6个检测工具。检测工具利用专家总结出的规则进行检测,规则的时效性不足,对恶意软件检测的能力不足,如F-Secre工具只能达到64.16%的检测率(召回率)。相比于检测工具,可解释性Android恶意软件检测规则提取方法从机器学习模型中提取规则,具有时效性,能够实现恶意软件的有效检测。
将案例分析、规则数量和解释度作为实验结果的评价指标,其中,举例解释为利用解释结果来解释特定恶意软件家族,评估解释结果是否符合家族特征,规则数量为规则集中的规则条数。规则集的解释度计算公式如下:
Figure BDA0003529514260000151
其中,RuleSet为规则集,weighti为单条规则的权重,
Figure BDA0003529514260000152
为单条规则的解释度,i为规则的个数。
Figure BDA0003529514260000153
其中,maxAttribute的值为属性数量,curCondition的值单条规则的条件数量。
首先将DREBIN数据集中的80%的数据作为训练集,20%的数据作为测试集。然后利用训练集对基于规则提取的Android恶意软件检测模型参数进行选择。从DREBIN数据集中选择出的274维特征作为输入特征集。
在选择代表样本时,使用随机森林算法计算样本的分类概率,树的数量为100,样本比例最佳参数为0.5。在训练随机森林模型时,采用十折交叉验证方法进行调参,轮流地将训练集中80%的数据作为训练数据,20%的数据作为验证数据来优化模型参数,树的数量为100,每个决策树随机选择的特征数目为241。
从基于AdaBoost算法的检测模型中提取规则时,采用十折交叉验证方法进行调参,轮流地将训练集中80%的数据作为训练数据,20%的数据作为验证数据来优化模型参数。其中,规则最小频率阈值为5e-04,错误率阈值为0.04,规则长度阈值为3,AdaBoost算法的树的数量为100棵。
其次,利用测试集分别计算可解释性Android恶意软件检测规则提取方法(RBE)与RFRULES(2019)方法的评价指标即解释度和规则数量。
最后,分别选取DREBIN数据集中的FakeInstall家族(925个恶意软件)和Dowgin(3385个恶意软件)作为新数据集,重复以上过程,分别输出可解释性Android恶意软件检测规则提取方法(RBE)和EBBAM方法(2018)的解释结果。
Figure BDA0003529514260000161
表5恶意软件可解释性对比实验结果
Figure BDA0003529514260000162
表6恶意软件可解释性对比实验结果(Fake Installer家族)
Figure BDA0003529514260000171
表7恶意软件可解释性对比实验结果(Dowgin家族)
由实验结果可知:
可解释性恶意软件检测规则提取方法(RBE方法)解释度优于RFRULES方法。RBE方法的规则数量(34条)比RFRULES方法(255条)规则数量少221条,解释度(99.73%)比对比方法提高了1.04%,因此,本文方法比RFRULES方法具有更好的解释性。
可解释性恶意软件检测规则提取方法(RBE方法)解释度优于EBBAM方法。以FakeInstaller恶意软件家族和Dowgin恶意软件家族为例进行对比分析。
Fake Installer恶意软件家族存在两个恶意行为:(1)在不经过用户的允许下吸费;(2)程序后门远程控制用户手机。由表6的实验结果可知,规则“If Permission:SEND_SMS>0.5∩android.intent.action.VIEW<=0.5”显示该恶意家族在获取短信权限的同时不需要经过用户的同意,而EBBAM方法简单的利用SEND_SMS权限来解释该行为。该权限是一个良性软件也常用的权限,这只能说明该特征对分类器的贡献很大,但是无法直接利用该特征区分出该软件为恶意软件还是良性软件。规则“android.intent.Test>0.5∩android.app.KeyguardManager.exitKeyguardSecurely≤0.5”显示当Andorid***在测试模式和解锁模式时,远程服务器可能会控制Android***,而EBBAM方法仅利用READ PHONE STATE权限来解释该行为,该特征与检测结果之间难以直接建立逻辑关系。
Dowgin恶意家族是一个与某些应用程序捆绑在一起的广告恶意软件。该家族存在两个恶意行为:(1)设备不停下载、安装其他恶意软件造成用户手机卡顿,影响手机的正常使用;(2)将用户的设备信息发送到远程端。由表7的实验结果可知,
android.app.DownloadManager.addCompletedDownload>1.5∩android.intent.acti-on.ACTTIONP ACKAGEADDED<=0.5规则表示该应用程序下载恶意软件而不经过用户的同意。
android.app.NotificationManafer.notify>4显示该恶意软件在通知栏显示消息超过4次,另外,
android.telephony.TelephonyManager.getSimSerialNumber>1.5∩java.net.URL.openStream<=0.5显示该恶意软件获取用户的号码并发送给某个链接。而EBBAM方法中,最重要的4个特征都与这两种行为无直接关系,都是正常软件会使用的特征。
综上所述,前述实施例中的恶意软件检测器训练方法能够反映特征之间的相互作用与检测结果之间的因果关系,规则复杂度较低,具有更高的可解释性。
实施例六
图7示出了可以用来实施本发明的实施例的电子设备10的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
如图7所示,电子设备10包括至少一个处理器11,以及与至少一个处理器11通信连接的存储器,如只读存储器(ROM)12、随机访问存储器(RAM)13等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器11可以根据存储在只读存储器(ROM)12中的计算机程序或者从存储单元18加载到随机访问存储器(RAM)13中的计算机程序,来执行各种适当的动作和处理。在RAM 13中,还可存储电子设备10操作所需的各种程序和数据。处理器11、ROM 12以及RAM 13通过总线14彼此相连。输入/输出(I/O)接口15也连接至总线14。
电子设备10中的多个部件连接至I/O接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;存储单元18,例如磁盘、光盘等;以及通信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许电子设备10通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理器11可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。处理器11执行上文所描述的各个方法和处理,例如恶意软件检测器训练方法。
在一些实施例中,恶意软件检测器训练方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可以经由ROM 12和/或通信单元19而被载入和/或安装到电子设备10上。当计算机程序加载到RAM 13并由处理器11执行时,可以执行上文描述的恶意软件检测器训练方法的一个或多个步骤。备选地,在其他实施例中,处理器11可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行恶意软件检测器训练方法。
本文中以上描述的***和技术的各种实施方式可以在数字电子电路***、集成电路***、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上***的***(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程***上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储***、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储***、该至少一个输入装置、和该至少一个输出装置。
用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行***、装置或设备使用或与指令执行***、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体***、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在电子设备上实施此处描述的***和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的***和技术实施在包括后台部件的计算***(例如,作为数据服务器)、或者包括中间件部件的计算***(例如,应用服务器)、或者包括前端部件的计算***(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的***和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算***中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将***的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算***可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (11)

1.一种恶意软件检测器训练方法,其特征在于,包括:
获取原始样本数据集,并得到所述原始样本数据集的原始恶意软件检测率,其中,所述原始样本数据集中包括多个原始样本;
获取每个所述原始样本的特征参数,所述特征参数用于表征所述原始样本为恶意软件的不确定程度;
根据所述特征参数,从所述原始样本数据集中选择占总样本比例为α的代表样本数据集,并得到所述代表样本数据集的恶意软件检测率,其中,α大于0且小于1,所述恶意软件检测率与所述原始恶意软件检测率的差值在第一预设范围内;
将所述代表样本数据集输入预设训练模型进行训练,得到恶意软件检测器。
2.根据权利要求1所述的恶意软件检测器训练方法,其特征在于,所述特征参数为信息熵;
所述获取每个所述原始样本的特征参数,包括:
将多个所述原始样本输入预设训练分类器,得到每个所述原始样本被分类为恶意软件或良性软件的概率;
根据以下公式得到所述信息熵:
Figure FDA0003529514250000011
其中,n为原始样本数量,i为原始样本序号,p(yi)为原始样本被分类为恶意软件或良性软件的概率,H(Y)为所述信息熵。
3.根据权利要求1所述的恶意软件检测器训练方法,其特征在于,所述根据所述特征参数,从所述原始样本数据集中选择占总样本比例为α的代表样本数据集,包括:
根据所述信息熵的大小对所述原始样本数据集中的多个原始样本进行降序排列;
选择所述多个原始样本中信息熵最大、且占总样本比例为α的样本作为所述代表样本数据集。
4.根据权利要求1-3中任一项所述的恶意软件检测器训练方法,其特征在于,在得到所述代表样本数据集的恶意软件检测率之后,还包括:
判断所述恶意软件检测率与所述原始恶意软件检测率的差值是否在所述第一预设范围内;
在判定在所述第一预设范围内时,再执行所述将所述代表样本数据集输入预设训练模型;
在判定不在所述第一预设范围内时,调整α的大小,得到新的恶意软件检测率,直至所述新的恶意软件检测率与所述原始恶意软件检测率的差值在所述第一预设范围内。
5.根据权利要求1所述的恶意软件检测器训练方法,其特征在于,所述将所述代表样本数据集输入预设训练模型进行训练,得到恶意软件检测器,包括:
将所述代表样本数据集输入基于AdaBoost算法的检测模型,提取初始检测规则,其中,所述初始检测规则为由多个逻辑连接字连接的特征表达式;
去除每个所述初始检测规则中多余的逻辑连接字,并将去除多余的逻辑连接字的初始检测规则作为精简检测规则;
根据所述精简检测规则构建所述恶意软件检测器。
6.根据权利要求5所述的恶意软件检测器训练方法,其特征在于,所述去除每个所述初始检测规则中多余的逻辑连接字,包括:
获取所述初始检测规则的初始错误率,以及所述初始检测规则去除每个逻辑连接字后的多个错误率;
分别判断每个所述错误率与所述初始错误率的差值是否在第二预设范围内;在判定不在所述预设范围内时,将与该错误率对应的逻辑连接字作为所述多余的逻辑连接字;
去除所述多余的逻辑连接字。
7.根据权利要求5所述的恶意软件检测器训练方法,其特征在于,在根据所述精简检测规则构建所述恶意软件检测器之前,还包括:
获取所述精简检测规则的评价指标参数;
根据所述评价指标参数去除所述精简检测规则中的冗余规则;
所述根据所述精简检测规则构建所述恶意软件检测器,包括:
根据去除所述冗余规则后的精简检测规则,构建所述恶意软件检测器。
8.根据权利要求7所述的恶意软件检测器训练方法,其特征在于,所述评价指标参数包括以下之一或其任意组合:
规则出现频率、规则错误率以及规则长度。
9.一种恶意软件检测器,其特征在于,包括:
原始样本检测率获取模块,用于获取原始样本数据集,并得到所述原始样本数据集的原始恶意软件检测率,其中,所述原始样本数据集中包括多个原始样本;
特征参数获取模块,用于获取每个所述原始样本的特征参数,所述特征参数用于表征所述原始样本为恶意软件的不确定程度;
代表样本检测率获取模块,用于根据所述特征参数,从所述原始样本数据集中选择占总样本比例为α的代表样本数据集,并得到所述代表样本的恶意软件检测率,其中,α大于0且小于1,所述恶意软件检测率与所述原始软件检测率的差值在第一预设范围内;
检测器训练模块,用于将所述代表样本数据集输入预设训练模型进行训练,得到恶意软件检测器。
10.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-8中任一项所述的恶意软件检测器训练方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-8中任一项所述的恶意软件检测器训练方法。
CN202210201495.9A 2022-03-03 2022-03-03 恶意软件检测器训练方法、检测器、电子设备及存储介质 Pending CN114598443A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210201495.9A CN114598443A (zh) 2022-03-03 2022-03-03 恶意软件检测器训练方法、检测器、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210201495.9A CN114598443A (zh) 2022-03-03 2022-03-03 恶意软件检测器训练方法、检测器、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN114598443A true CN114598443A (zh) 2022-06-07

Family

ID=81807872

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210201495.9A Pending CN114598443A (zh) 2022-03-03 2022-03-03 恶意软件检测器训练方法、检测器、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN114598443A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115795314A (zh) * 2023-02-07 2023-03-14 山东海量信息技术研究院 一种关键样本采样方法、***、电子设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115795314A (zh) * 2023-02-07 2023-03-14 山东海量信息技术研究院 一种关键样本采样方法、***、电子设备及存储介质
CN115795314B (zh) * 2023-02-07 2023-05-12 山东海量信息技术研究院 一种关键样本采样方法、***、电子设备及存储介质

Similar Documents

Publication Publication Date Title
US20200202449A1 (en) Risk identification model building and risk identification
CN114329201B (zh) 深度学习模型的训练方法、内容推荐方法和装置
CN109471783B (zh) 预测任务运行参数的方法和装置
CN114118287A (zh) 样本生成方法、装置、电子设备以及存储介质
CN114363019A (zh) 钓鱼网站检测模型的训练方法、装置、设备及存储介质
CN114598443A (zh) 恶意软件检测器训练方法、检测器、电子设备及存储介质
CN113904943A (zh) 账号检测方法、装置、电子设备和存储介质
CN113204695A (zh) 网站识别方法和装置
CN115603955B (zh) 异常访问对象识别方法、装置、设备和介质
CN116862580A (zh) 短信触达时间预测方法、装置、计算机设备及存储介质
CN113536087B (zh) 作弊站点的识别方法、装置、设备、存储介质及程序产品
CN115567572A (zh) 确定对象异常度的方法、装置、设备以及存储介质
CN115665285A (zh) 数据处理方法、装置、电子设备及存储介质
CN114254028A (zh) 事件属性抽取方法、装置、电子设备和存储介质
CN114462625A (zh) 决策树的生成方法、装置、电子设备及程序产品
CN113612777A (zh) 训练方法、流量分级方法、装置、电子设备以及存储介质
CN113688240A (zh) 威胁要素提取方法、装置、设备及存储介质
CN113052325A (zh) 在线模型的优化方法、装置、设备、存储介质及程序产品
CN114037058B (zh) 预训练模型的生成方法、装置、电子设备以及存储介质
CN109241428B (zh) 用户性别的确定方法、装置、服务器及存储介质
CN113239687B (zh) 一种数据处理方法和装置
CN110971501B (zh) 广告消息的确定方法、***、设备和存储介质
CN114037061A (zh) 预训练模型的生成方法、装置、电子设备以及存储介质
CN115758142A (zh) 深度学习模型的训练方法、数据处理方法和装置
CN116319972A (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