恶意文档检测模型的主动学习方法、电子设备及存储介质与流程

文档序号:26103302发布日期:2021-07-30 18:14阅读:61来源:国知局
恶意文档检测模型的主动学习方法、电子设备及存储介质与流程

本申请涉及恶意文档检测技术领域,特别涉及一种恶意文档检测模型的主动学习方法、电子设备及计算机可读存储介质。



背景技术:

文档通常具有跨平台的特性,是藏匿和传播恶意代码的重要媒介,由此引起的安全事件不胜枚举。早期,基于签名匹配的检测方法被广泛用于防范恶意文档,也有动态、静态以及混合态的启发式检测等方法。为了实现恶意文档的智能化检测,机器学习技术在该领域逐渐得到应用。

在大数据时代,恶意软件、恶意文档的数量也呈现高速增长的趋势。若使用被动学习方法训练、维护检测模型,样本标记的工作将十分耗时耗力,而且样本冗余度往往较高,主动学习是解决这一问题的有效途径主动学习的核心在于使模型主动选择高价值的样本进行增量学习,能够显著降低样本标记的工作量。但常规的主动学习方法存在选取的样本质量较差,进而导致在提升检测模型性能方面的作用有限。



技术实现要素:

有鉴于现有技术中存在的上述问题,本申请提供了一种恶意文档检测模型的主动学习方法、电子设备及计算机可读存储介质,本申请实施例采用的技术方案如下:

一种恶意文档检测模型的主动学习方法,包括:

获取包含多个未标注的样本的样本集,并确定所述样本的差异性、不确定度和估计风险,其中,所述差异性表征所述样本与所述样本集中所述样本的差异程度,所述不确定度表征所述样本的信息量的丰富程度,所述估计风险表征误导恶意文档检测模型的风险的高低程度;

基于所述差异性、所述不确定度和所述估计风险对所述样本的训练价值进行评估;

选取训练价值符合预设条件的所述样本构建训练集,通过所述训练集对所述恶意文档检测模型进行训练,并更新所述恶意文档检测模型。

在一些实施例中,所述确定所述样本的差异性,包括:

通过聚类算法对所述样本集中的所述样本进行聚类处理,以获取一个或多个样本簇,每个所述样本簇包括多个所述样本;

确定所述样本与所述样本簇的质心的向量距离,以及所述样本簇的平均质心距离;

基于所述向量距离和所述平均质心距离的比值,确定所述样本的所述差异性。

在一些实施例中,通过如下公式确定所述样本的差异性:

其中,r表示所述差异性;d(x,y)为计算x和y两点之间向量距离的函数;sunk表示所确定的样本的向量坐标;si表示所述样本簇中第i个样本的向量坐标;n表示所述样本簇中样本的数量;c表示所述样本簇的质心的向量坐标。

在一些实施例中,所述确定所述样本的估计风险,包括:

通过所述恶意文档检测模型为所述样本簇中的所述样本添加第一标签;其中,所述第一标签用于标识所述样本属于恶意文档或非恶意文档;

基于所述样本的第一标签与所述样本簇中样本的第一标签的差异程度,确定所述估计风险。

在一些实施例中,通过如下公式确定所述样本的估计风险:

其中,s表示所述估计风险;lunk表示所确定的所述样本的第一标签的取值,li表示所述样本簇中第i个样本的第一标签的取值,其中,lunk,li∈{0,1},当第一标签标识样本属于恶意文档时,lunk或li取0,当第一标签标识样本属于非恶意文档时,lunk或li取1。

在一些实施例中,所述确定所述样本的不确定度,包括:

通过所述恶意文档检测模型确定所述样本属于恶意文档的第一概率和属于非恶意文档的第二概率;

基于所述第一概率和所述第二概率的差异程度,确定所述不确定度,其中,所述不确定度与所述第一概率和所述第二概率的差异程度的绝对值成反比。

在一些实施例中,所述基于所述差异性、所述不确定度和所述估计风险对所述样本的训练价值进行评估,包括:

将所述差异性、所述不确定度和所述估计风险输入所述采样器,通过所述采样器对所述样本的训练价值进行评估,其中,所述采样器为机器学习模型。

在一些实施例中,所述选取训练价值符合预设条件的所述样本构建训练集,包括:

向训练价值符合预设条件的所述样本添加第二标签;其中,所述第二标签用于标识所述样本属于恶意文档或非恶意文档;

基于添加有所述第二标签的所述样本构建所述训练集。

一种电子设备,至少包括存储器和处理器,所述存储器上存储有程序,所述处理器在执行所述存储器上的程序时实现如上所述的方法。

一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,在执行所述计算机可读存储介质中的所述计算机可执行指令时实现如上所述的方法。

本申请实施例的恶意文档检测模型的主动学习方法,基于差异性、不确定度和估计风险能够对样本的训练价值进行准确评估,在此基础上能够选取出训练价值较高的样本构建训练集,基于该训练集中的样本对恶意文档检测模型进行训练,能够提高恶意文档检测模型的泛化能力,能够为恶意文档检测模型提供的信息量较大,且不容易误导恶意文档检测模型,不仅能够过滤掉冗余样本,减少标记工作,且能够排出干扰信息,有助于提高恶意文档检测模型的准确性。

附图说明

图1为本申请实施例的恶意文档检测模型的主动学习方法的第一种实施例的流程图;

图2为本申请实施例的恶意文档检测模型的主动学习方法的第二种实施例的流程图;

图3为本申请实施例的恶意文档检测模型的主动学习方法中采样器对样本的训练价值进行评估的流程图;

图4为本申请实施例的电子设备的结构框图。

具体实施方式

此处参考附图描述本申请的各种方案以及特征。

应理解的是,可以对此处申请的实施例做出各种修改。因此,上述说明书不应该视为限制,而仅是作为实施例的范例。本领域的技术人员将想到在本申请的范围和精神内的其他修改。

包含在说明书中并构成说明书的一部分的附图示出了本申请的实施例,并且与上面给出的对本申请的大致描述以及下面给出的对实施例的详细描述一起用于解释本申请的原理。

通过下面参照附图对给定为非限制性实例的实施例的可选形式的描述,本申请的这些和其它特性将会变得显而易见。

还应当理解,尽管已经参照一些具体实例对本申请进行了描述,但本领域技术人员能够确定地实现本申请的很多其它等效形式。

当结合附图时,鉴于以下详细说明,本申请的上述和其他方面、特征和优势将变得更为显而易见。

此后参照附图描述本申请的具体实施例;然而,应当理解,所申请的实施例仅仅是本申请的实例,其可采用多种方式实施。熟知和/或重复的功能和结构并未详细描述以避免不必要或多余的细节使得本申请模糊不清。因此,本文所申请的具体的结构性和功能性细节并非意在限定,而是仅仅作为权利要求的基础和代表性基础用于教导本领域技术人员以实质上任意合适的详细结构多样地使用本申请。

本说明书可使用词组“在一种实施例中”、“在另一个实施例中”、“在又一实施例中”或“在其他实施例中”,其均可指代根据本申请的相同或不同实施例中的一个或多个。

恶意文件检测模型用于对一种或多种格式的文档是否属于恶意文档进行检测,例如,该恶意文档检测模型可用于检测.pdf格式的文档是否属于恶意文档。该恶意文档检测模型为机器学习模型,该机器学习模型可为例如线性判别分析模型、决策树模型或神经网络模型等。在实际应用时,可收集属于恶意文档的样本和非恶意文档的样本,基于获取的样本构建检测模型训练集和测试集,使用检测模型训练集对初始的恶意文档检测模型进行训练,并通过测试集对训练后的恶意文档检测模型的性能进行测试,在恶意文档检测模型的性能满足要求时,确定恶意文档检测模型训练完成。在恶意文档检测模型使用过程中,为提高恶意文档检测模型的检测性能,需要定期对该恶意文档检测模型进行增量学习,并更新该恶意文档检测模型。

图1为本申请实施例的恶意文档检测模型的主动学习方法的流程图,参见图1所示,本申请实施例的恶意文档检测模型的主动学习方法具体包括如下步骤:

s1,获取包含多个未标注的样本的样本集,并确定样本的差异性、不确定度和估计风险,其中,差异性表征样本与样本集中样本的差异程度,不确定度表征样本的信息量的丰富程度,估计风险表征误导恶意文档检测模型的风险的高低程度。

样本集中的样本可以通过网络获取,如实时传输的样本,或邮件中作为附件的样本,也可以从另一电子设备获取样本。可选的,该样本集中的样本可为恶意文件检测模型所要检测的文档。在获取到文档的情况下,可对文档进行预处理,如图2所示,在该恶意文档检测模型仅针对一种或多种特定格式的文档进行检测时,可对文件进行过滤,以获取该一种或多种特定格式的目标文档。继而,从该文档中提取检测特征,可选的,检测特征可包括例如文档的逻辑结构对象的数量、文档大小及字节熵等特征,以.pdf格式的文档为例,逻辑结构对象可包括obj、sream、page、javascript、encrypt、embeddedfile、uri、acroform等对象。在获取到检测特征的情况下,对检测特征进行备份,一份检测特征输送至恶意文档检测模型以对文档是否属于恶意文档进行检测,另一份文档及检测特征用于构建样本集。当然,针对其他类型的文档,检测特征的具体特征参数可能不同。

差异性表征样本与其他样本的差异程度,机器学习模型所学习的样本的差异性越大,则机器学习模型的泛化能力越高,对新鲜样本的适应能力越强。不确定度表征样本的信息量的丰富程度,样本的不确定度越高,则样本能够提供为机器学习模型的信息量越大,所具有的训练价值越高。不确定度通常与机器学习模型对未知的样本进行识别的模糊程度成正相关,也即,机器学习模型对未知的样本进行识别的模糊程度越高,则该样本的不确定度越高,机器学习模型对未知的样本进行识别的模糊程度越低,则该样本的不确定度越低。估计风险表征误导机器学习模型的风险的高低程度,机器学习模型学习估计风险较高的样本,会导致机器学习模型的检测准确性降低,所以,应避免选用估计风险较高的样本对机器学习模型进行训练。

s2,基于差异性、不确定度和估计风险对样本的训练价值进行评估。

其中,差异性较大、不确定度较高且估计风险较小的样本通常具有较高的训练价值,也即,能够提高机器学习模型的泛化能力,能够为机器学习模型所提供的信息量较大,且误导机器学习模型的风险较低的样本具有较高的训练价值;差异性较小、不确定度较低或估计风险较大的样本则训练价值较低,也即,不利于提高机器学习模型的泛化能力的样本、能够为机器学习模型提供的信息量较小的样本,或者误导机器学习模型的风险较高的样本的训练价值较低。

可选的,可分别针对差异性、不确定度和估计风险配置第一阈值、第二阈值和第三阈值,基于第一阈值、第二阈值和第三预置对样本集中的样本的训练价值进行评估,并对样本集中的样本进行分类。样本可包括两个或多个类型,如可将样本划分为第一类和第二类,第一类的样本的训练价值高于第二类的样本的训练价值。具体的,可将差异性大于第一阈值、不确定度大于第二阈值且估计风险小于第三阈值的样本的训练价值评估为高价值(high-value),并将high-value的样本确定为第一类;将差异性小于第一阈值、不确定度小于第二阈值或估计风险大于第三阈值的样本的训练介质评估为低价值(low-value),并将low-value的样本确定为第二类。

s3,选取训练价值符合预设条件的样本构建训练集,通过训练集对恶意文档检测模型进行训练,并更新恶意文档检测模型。

其中,该预设条件用于表征样本具有较高的训练价值,可选取训练介质评估为high-value的样本构建训练集,继而通过训练集中的样本对恶意文档检测模型进行增量学习,在恶意文档检测模型满足终止条件时,停止增量学习,并将原始的恶意文档检测模型更新为增量学习完成的恶意文档检测,通过该增量学习完成的恶意文档检测模型对文档进行检测。可选的,终止条件可具有多种类型,一种情况下,终止条件可为增量学习的样本数量达到预设数量和预设比例,例如,在预设数量为2000时,且属于恶意文档的样本和属于非恶意文档的样本的预设比例为1:1,即使训练集中有5000个样本,在增量学习完成2000个样,且属于恶意文档的样本和属于非恶意文档的样本的预设比例符合1:1时,确定满足终止条件,停止增量学习。另一种情况下,终止条件可为恶意文档检测模型分类的准确度达到预设阈值。例如,在构建训练集的同时,也可构建测试集,当通过测试集中的样本对训练后的恶意文档检测模型进行测试时,如果恶意文档检测模型对文档进行检测的准确度达到预设阈值,则确定增量学习已经满足终止条件,停止增量学习。又一种情况下,终止条件也可为训练集中的样本已经全部训练完成,例如,在训练集中具有5000个样本,当这5000个样本已经全部学习完成时,则可确定增量学习已经满足终止条件,停止增量学习。

本申请实施例的恶意文档检测模型的主动学习方法,基于差异性、不确定度和估计风险能够对样本的训练价值进行准确评估,在此基础上能够选取出训练价值较高的样本构建训练集,基于该训练集中的样本对恶意文档检测模型进行训练,能够提高恶意文档检测模型的泛化能力,能够为恶意文档检测模型提供的信息量较大,且不容易误导恶意文档检测模型,不仅能够过滤掉冗余样本,减少标记工作,且能够排出干扰信息,有助于提高恶意文档检测模型的准确性。

在一些实施例中,确定样本的差异性,包括:

s11,通过聚类算法对样本集中的样本进行聚类处理,以获取一个或多个样本簇,每个样本簇包括多个样本。

具体的,可将样本的检测特征作为坐标参数形成样本的向量坐标,基于聚类算法对样本的向量坐标进行聚类处理,以获取一个或多个样本簇。如可通过si表示该样本簇中第i个样本的向量坐标,通过sunk表示所确定的样本的向量坐标,则si可包括(检测特征1,检测特征2,…,检测特征n),sunk也可包括(检测特征1,检测特征2,…,检测特征n)。在一个可选的实施例中,si可包括(逻辑结构对象的数量,文档大小,…,字节熵),sunk也可包括(逻辑结构对象的数量,文档大小,…,字节熵)。其中,该聚类算法可为k均值剧烈算法(k-means)、均值漂移聚类算法或基于密度的聚类算法(dbscan)等。聚类处理所获得的样本簇中可具有n个样本。

s12,确定样本与样本簇的质心的向量距离,以及样本簇的平均质心距离。

在获得样本簇的情况下,可确定该样本簇的质心的向量坐标c,以及该样本簇中样本的向量坐标,可通过si表示该样本簇中第i个样本的向量坐标,通过sunk表示所确定的样本的向量坐标。向量距离即为在向量空间中样本与质心之间的距离,平均质心距离为样本簇中全部样本与质心的向量距离的平均值。

s13,基于向量距离和平均质心距离的比值,确定样本的差异性。

可选的,样本的差异性的计算公式可如下所示:

其中,r表示差异性;d(x,y)为计算x和y两点之间向量距离的函数;sunk表示所确定的样本的向量坐标;si表示样本簇中第i个样本的向量坐标;n表示样本簇中样本的数量;c表示样本簇的质心的向量坐标。

在一些实施例中,确定样本的估计风险,包括:

s21,通过恶意文档检测模型为样本簇中的样本添加第一标签;其中,第一标签用于标识样本属于恶意文档或非恶意文档。

也即,通过未进行增量学习的恶意文档检测模型,预测样本簇中样本属于恶意文档或非恶意文档,并添加第一标签。

s22,基于样本的第一标签与样本簇中样本的第一标签的差异程度,确定估计风险。

可选的,样本的估计风险可通过如下公式确定:

其中,s表示估计风险;lunk表示所确定的样本的第一标签的取值,li表示样本簇中第i个样本的第一标签的取值,其中,lunk,li∈{0,1},当第一标签标识样本属于恶意文档时,lunk或li取0,当第一标签标识样本属于非恶意文档时,lunk或li取1。

在一些实施例中,确定样本的不确定度,包括:

s31,通过恶意文档检测模型确定样本属于恶意文档的第一概率和属于非恶意文档的第二概率。

也即,通过未增量学习的恶意文档检测模型预测样本簇中的样本属于恶意文档的概率(也即第一概率)和属于非恶意文档的概率(也即第二概率)。

s32,基于第一概率和第二概率的差异程度,确定不确定度,其中,不确定度与第一概率和第二概率的差异程度的绝对值成反比。

可选的,不确定度的计算公式可如下所示:

其中,u表示不确定度;p1表示第一概率;p2表示第二概率。

在一些实施例中,可训练一采样器,该采样器也为机器学习模型,可将差异性、不确定度和估计风险输入采样器,通过采样器对样本的训练价值进行评估。

可选的,可从获取的样本集中人工选取一部分样本作为第一类的样本,并选取另一部分样本作为第二类的样本,基于选取的第一类的样本和第二类的样本构建采样器的训练集和测试集,分别计算采样器的训练集和采样器的测试集中样本的差异性、不确定度和估计风险三项指标,通过采样器的训练集中的样本的三项指标作为输入,对初始化的采样器模型进行训练,并通过采样器的测试集中的样本的三项指标对训练完成的采样器进行测试,在采样器的性能满足要求时,确定采样器训练完成。

例如,当采样器采用决策树模型时,可从样本集中人工选取2000个训练价值较高的样本作为第一类的样本,并从样本集中人工选取2000个训练价值较低的样本作为第二类的样本,基于这4000个样本构建采样器的训练集。计算采样器的训练集中的样本的差异性、不确定度和估计风险,并对差异性、不确定度和估计风险进行归一化处理,将决策树模型的最大深度设置为7,最小样本分割数设置为2,将叶子节点的最小样本数设置为1。将差异性、不确定度和估计风险作为输入,将样本的训练价值作为输出,对初始化的决策树模型进行训练,直至决策树模型符合终止条件时,确定采样器训练完成。

在一个具体实施例中,采用决策树模型的采样器对样本的训练价值的评估过程可如图3所示,以样本集中剩余27451个样本为例;在根节点处,判断样本集中的样本的估计风险(s)是否小于等于0.95,将估计风险(s)小于等于0.95的21440个样本确定为高价值(high-value),并分配到第一层级的内部节点,将估计风险大于0.95的6011样本确定为低价值(low-value)的样本,并分配到第一层级的叶子节点;在第一层级的内部节点处,判断样本的不确定度(u)是否小于等于0,将不确定度小于等于0的3633个样本确定为low-value的样本,并分配到第二层级的叶子节点,将不确定度大于0的17807个样本确定为high-value,并分配到第二层级的内部节点处;在第二层级的内部节点处,判断不确定度(u)是否小于等于0.002,将u≤0.002的15855个样本确定为high-value,并分配到第三层级的内部节点处,将u>0.002的1952个样本确定为low-value,并分配到第三层级的叶子节点处;在第三层级的内部节点处,判断不确定度(u)是否小于等于0,将u>0的15805个样本确定为high-value,并分配到第四层级的叶子节点处,将u≤0的50个样本确定为high-value,并分配到第四层级的内部节点处;在第四层级的内部节点处判断差异性(r)是否小于等于0.028,将r≤0.028的28个样本分配到第五层级的一个内部节点处,将r>0.028的22个样本分配到第五层级的另一个内部节点处;在第五层级的一个内部节点处判断估计风险(s)是否小于等于0.05,将s>0.05的22个样本确定为high-value,并分配到第六层级的一个叶子节点处,将s≤0.05的6个样本确定为high-value,并分配到第六层级的内部节点处;在第五层级的另一个内部节点处判断差异性(r)是否小于0.028,将r≤0.028的7个样本确定为low-value,并分配到第六层级的另一个叶子节点处,经r>0.028的15个样本确定为high-value,并分配到第六层级的又一个叶子节点处;在第六层级侧内部节点处判断差异性(r)是否小于等于0.023,将r≤0.023的1个样本确定为low-value,并分配到第七层级的一个叶子节点处,将r>0.023的5个样本确定为high-value,并分配到第七层级的另一个叶子节点处。至此,27451个样本的训练价值评估完成,采样器评估为high-value的样本可确定为第一类的样本,采样器评估为low-value的样本可确定为第二类的样本。

继续配合图2所示,在一些实施例中,选取训练价值符合预设条件的样本构建训练集,包括:

向训练价值符合预设条件的样本添加第二标签;其中,第二标签用于标识样本属于恶意文档或非恶意文档;

基于添加有第二标签的样本构建训练集。

也即,在选取到训练价值较高的第一类的样本的情况下,可向该第一类的样本添加第二标签,以标识样本属于恶意文档,或者标识该样本属于非恶意文档。在恶意文档检测模型进行增量学习时,该第二标签作为恶意文档检测模型的输出。继而,基于该添加有第二标签的样本构建训练集。可选的,可人工向第一类的样本添加第二标签,也即,通过专家、逆向分析师或病毒工程师等人员向第一类的样本添加第二标签。也可通过例如检测沙箱或启发式检测引擎等应用程序向第一类的样本添加第二标签。

配合图4所示,本申请实施例还提供了一种电子设备,至少包括存储器102和处理器101,所述存储器102上存储有程序,所述处理器101在执行所述存储器102上的程序时实现如上任一实施例所述的恶意文档检测的主动学习方法。

本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,在执行所述计算机可读存储介质中的所述计算机可执行指令时实现如上任一实施例所述的恶意文档检测的主动学习方法。

本领域技术人员应明白,本申请的实施例可提供为方法、电子设备、计算机可读存储介质或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质上实施的计算机程序产品的形式。当通过软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。

上述处理器可以是通用处理器、数字信号处理器、专用集成电路(application-specificintegratedcircuit,asic),可编程逻辑器件(programmablelogicdevice,pld)或其组合。上述pld可以是复杂可编程逻辑器件(complexprogrammablelogicdevice,cpld),现场可编程逻辑门阵列(field-programmablegatearray,fpga),通用阵列逻辑(genericarraylogic,简称gal)或其任意组合。通用处理器可以是微处理器或者任何常规的处理器等。

上述存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。存储器是计算机可读介质的示例。

上述可读存储介质可为磁碟、光盘、dvd、usb、只读存储记忆体(rom)或随机存储记忆体(ram)等,本申请对具体的存储介质形式不作限定。

以上实施例仅为本申请的示例性实施例,不用于限制本申请,本申请的保护范围由权利要求书限定。本领域技术人员可以在本申请的实质和保护范围内,对本申请做出各种修改或等同替换,这种修改或等同替换也应视为落在本申请的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1