CN112380537A - 一种检测恶意软件的方法、装置、存储介质和电子设备 - Google Patents

一种检测恶意软件的方法、装置、存储介质和电子设备 Download PDF

Info

Publication number
CN112380537A
CN112380537A CN202011384531.7A CN202011384531A CN112380537A CN 112380537 A CN112380537 A CN 112380537A CN 202011384531 A CN202011384531 A CN 202011384531A CN 112380537 A CN112380537 A CN 112380537A
Authority
CN
China
Prior art keywords
sample
model
malicious
software
feature
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
CN202011384531.7A
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.)
Beijing Topsec Technology Co Ltd
Beijing Topsec Network Security Technology Co Ltd
Beijing Topsec Software Co Ltd
Original Assignee
Beijing Topsec Technology Co Ltd
Beijing Topsec Network Security Technology Co Ltd
Beijing Topsec Software Co Ltd
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 Beijing Topsec Technology Co Ltd, Beijing Topsec Network Security Technology Co Ltd, Beijing Topsec Software Co Ltd filed Critical Beijing Topsec Technology Co Ltd
Priority to CN202011384531.7A priority Critical patent/CN112380537A/zh
Publication of CN112380537A publication Critical patent/CN112380537A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/562Static detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/213Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
    • G06F18/2132Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on discrimination criteria, e.g. discriminant analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Biomedical Technology (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Virology (AREA)
  • Machine Translation (AREA)

Abstract

本申请实施例提供一种检测恶意软件的方法、装置、存储介质和电子设备,该方法包括:从待检测软件中提取待检测特征;利用训练好的判别模型对待检测特征进行检测,以得到用于确定软件是否为恶意软件的检测结果,训练好的判别模型是利用正常特征样本、恶意特征样本和对抗样本训练得到的,正常特征样本是从正常软件样本中提取的样本,恶意特征样本是从恶意软件样本中提取的样本,对抗样本是由包含判别模型的生成式对抗网络中的生成模型对恶意特征样本进行变换处理后获得的。借助于上述技术方案,本申请实施例能够提高检测效率和鲁棒性。

Description

一种检测恶意软件的方法、装置、存储介质和电子设备
技术领域
本申请涉及软件检测技术领域,尤其涉及一种检测恶意软件的方法、装置、存储介质和电子设备。
背景技术
恶意软件是指在计算机或者终端上执行恶意操作的应用程序。在计算机或者终端安装恶意软件之后,恶意软件会进行恶意扣费、发送欺诈信息或窃取用户个人信息等操作,严重影响安全性。因此,恶意软件的检测是十分必要的。
在相关技术中,通过字符串特征码和人工规则的启发式来检测恶意软件。但是,这种检测恶意软件的方法严重依赖于分析师的能力,需要分析师针对已有软件样本进行人工分析,找出相应的特征,从而存在着检测效率比较低的问题。
发明内容
本申请实施例的目的在于提供一种检测恶意软件的方法、装置、存储介质和电子设备,以提高检测效率。
第一方面,本申请实施例提供了一种检测恶意软件的方法,该方法包括:从待检测软件中提取待检测特征;利用训练好的判别模型对待检测特征进行检测,以得到用于确定软件是否为恶意软件的检测结果,训练好的判别模型是利用正常特征样本、恶意特征样本和对抗样本训练得到的,正常特征样本是从正常软件样本中提取的样本,恶意特征样本是从恶意软件样本中提取的样本,对抗样本是由包含判别模型的生成式对抗网络中的生成模型对恶意特征样本进行变换处理后获得的。
因此,本申请实施例通过从待检测软件中提取待检测特征后,可以通过训练好的判别模型对待检测特征进行检测,以确定待检测软件是否为恶意软件,从而相比于现有的恶意软件的检测方法,其可提高检测效率。
此外,本申请实施例通过由生成模型对恶意特征样本进行变换处理后生成的对抗样本,并且可利用判别模型来不断防御对抗样本,从而可提高判别模型的鲁棒性。
在一个可能的实施例中,在利用训练好的判别模型对待检测特征进行检测之前,方法还包括:固定初始判别模型的参数,根据初始判别模型输出的检测结果对初始生成模型进行训练,以得到训练后的生成模型,并由训练后的生成模型对恶意特征样本进行变换处理,以获得对抗样本,检测结果是在固定初始生成模型的参数的情况下,由初始判别模型对正常特征样本、恶意特征样本或者对抗样本进行检测后获得的;固定优化后的生成模型的参数,利用对抗样本对初始判别模型进行训练,以获得训练好的判别模型。
因此,借助于上述技术方案,本申请实施例可通过训练生成式对抗网络来获得训练好的判别模型,并且在训练生成式对抗网络的过程中,可通过生成模型和判别模型之间的对抗学习来提高判别模型的鲁棒性。
在一个可能的实施例中,由训练后的生成模型对恶意特征样本进行变换处理,包括:根据公式
Figure BDA0002808268270000021
对恶意特征样本进行进行变换处理;其中,
Figure BDA0002808268270000022
表示第m个对抗样本,xm表示第m个恶意特征样本,wm表示第m个恶意特征样本对应的权重,bm表示第m个恶意特征样本对应的偏移量,m为正整数。
在一个可能的实施例中,根据初始判别模型输出的检测结果对初始生成模型进行训练,包括:利用检测结果对初始生成模型的第一目标函数进行优化,第一目标函数为:
Figure BDA0002808268270000031
其中,L1表示第一目标函数值,SMalicious为恶意软件样本库,ym表示第m个恶意特征样本对应的类型标记,
Figure BDA0002808268270000032
表示第m个对抗样本对应的检测结果。
在一个可能的实施例中,利用对抗样本对初始判别模型进行训练,包括:利用对抗样本对初始判别模型的第二目标函数进行优化,第二目标函数为:
Figure BDA0002808268270000033
其中,L2表示第二目标函数值,fD(xm)表示第m个恶意特征样本对应的检测结果,yn表示第n个正常特征样本对应的类型标记,fD(xn)表示第n个正常特征样本对应的检测结果。
在一个可能的实施例中,待检测特征包括以下特征信息中的至少一种特征信息:软件大小信息、导入动态链接库的数量信息、导入函数的数量信息、代码节的属性信息、图像信息、可打印字符信息和字节熵直方图信息。
因此,本申请实施例可借助于上述特性信息来保证判别模型的精准性。
第二方面,本申请实施例提供了一种检测恶意软件的装置,该装置包括:提取模块,用于从待检测软件中提取待检测特征;检测模块,用于利用训练好的判别模型对待检测特征进行检测,以得到用于确定软件是否为恶意软件的检测结果,训练好的判别模型是利用正常特征样本、恶意特征样本和对抗样本训练得到的,正常特征样本是从正常软件样本中提取的样本,恶意特征样本是从恶意软件样本中提取的样本,对抗样本是由包含判别模型的生成式对抗网络中的生成模型对恶意特征样本进行变换处理后获得的。
在一个可能的实施例中,装置还包括:第一训练模块,用于固定初始判别模型的参数,根据初始判别模型输出的检测结果对初始生成模型进行训练,以得到训练后的生成模型,并由训练后的生成模型对恶意特征样本进行变换处理,以获得对抗样本,检测结果是在固定初始生成模型的参数的情况下,由初始判别模型对正常特征样本、恶意特征样本或者对抗样本进行检测后获得的;第二训练模块,用于固定优化后的生成模型的参数,利用对抗样本对初始判别模型进行训练,以获得训练好的判别模型。
第三方面,本申请实施例提供了一种存储介质,该存储介质上存储有计算机程序,该计算机程序被处理器运行时执行第一方面或第一方面的任一可选的实现方式所述的方法。
第四方面,本申请实施例提供了一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当所述电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行第一方面或第一方面的任一可选的实现方式所述的方法。
第五方面,本申请提供一种计算机程序产品,所述计算机程序产品在计算机上运行时,使得计算机执行第一方面或第一方面的任意可能的实现方式中的方法。
为使本申请实施例所要实现的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例提供的一种检测恶意软件的方法的流程图;
图2示出了本申请实施例提供的一种训练生成式对抗网络的方法的结构流程图;
图3示出了本申请实施例提供的一种检测恶意软件的装置的结构框图;
图4示出了本申请实施例提供的一种电子设备的结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
近年来,随着机器学习的兴起,可将机器学习技术应用到恶意软件的检测中,并展现出了良好的性能。检测技术的不断提升也进一步刺激了攻击方,攻击方也随之采取各种各样的攻击措施,对干扰机器学习检测有一定的作用。
也就是说,攻击方可通过干扰训练、生成对抗样本等破坏机器学习任务(例如,生成式对抗网络(Generative Adversarial Networks,GAN)是一种生成对抗样本的典型方法),而防御方则研究如何提高机器学习的鲁棒性。
此外,在相关技术中,可在原始样本中直接添加噪声,并基于GAN生成对抗神经网络的样本。但是,直接在原始样本中添加噪声,生成的对抗样本无法逃避本申请实施例中的基于结构化的特征的检测,并且,GAN模型的目标是生成能够干扰检测的对抗样本,即现有技术是以生成模型为主,判别模型仅是辅助部分,它最终的目标是生成对抗样本;针对Powershell指令混淆,先利用GAN基于混淆指令生成恶意样本,再利用生成的恶意样本和正常样本训练支持向量机(Support Vector Machine,SVM)检测模型。但是,除了GAN之外,还需要使用SVM检测模型,从而引起了模型复杂度较高的问题。
此外,虽然现有的基于机器学习的检测方法摆脱了对人工分析的依赖,但由于机器学习是经过学习训练集数据而获得检测能力,因此对训练集中不包含的一些新型恶意软件往往出现检测错误。同时,一些机器学习已经被证明容易受到生成对抗攻击,鲁棒性较差。
基于此,本申请实施例巧妙地提出了一种检测恶意软件的方案,通过从待检测软件中提取待检测特征,随后利用训练好的判别模型对待检测特征进行检测,以得到用于确定软件是否为恶意软件的检测结果。其中,训练好的判别模型是利用正常特征样本、恶意特征样本和对抗样本训练得到的,正常特征样本是从正常软件样本中提取的样本,恶意特征样本是从恶意软件样本中提取的样本,对抗样本是由包含判别模型的生成式对抗网络中的生成模型对恶意特征样本进行变换处理后获得的。
因此,本申请实施例通过从待检测软件中提取待检测特征后,可以通过训练好的判别模型对待检测特征进行检测,以确定待检测软件是否为恶意软件,从而相比于传统的恶意软件的检测方法,其可提高检测效率。同时,由于本申请实施例是通过待检测软件中提取的待检测特征来进行的,且该检测方法对新型恶意软件提取的特征也是适用的,从而也能够实现对新型恶意软件的检测。
此外,本申请实施例通过由生成模型对恶意特征样本进行变换处理后生成的对抗样本,并且可利用判别模型来不断防御对抗样本,从而也可提高判别模型的鲁棒性。
请参见图1,图1示出了本申请实施例提供的一种检测恶意软件的方法的流程图。应理解,图1所示的方法可以由检测恶意软件的装置执行,该装置可以与下文中的图3所示的检测恶意软件的装置对应,该装置可以是能够执行该方法的各种设备,例如,如个人计算机、服务器或网络设备等,本申请实施例并不限于此,具体包括如下步骤:
步骤S110,从软件样本中提取特征样本。
应理解,软件样本可包括正常软件样本和恶意软件样本。其中,正常软件样本和恶意软件样本均为可移植可执行的文件(Portable Executable,PE文件)。
还应理解,正常软件样本还可称为良性软件样本,也可称为非恶意软件样本等。也就是说,正常软件样本的具体名称可根据实际需求来进行替换,本申请实施例并不局限于此。
对应地,恶意软件样本的具体名称也可根据实际需求来进行替换,本申请实施例并不局限于此。
还应理解,特征样本所包含的具体特征信息可根据实际需求来进行设置,本申请实施例并不局限于此。
例如,特征样本包含以下特征信息中的至少一种特征信息:软件大小信息、导入动态链接库的数量信息、导入函数的数量信息、代码节的属性信息、图像信息、可打印字符信息和字节熵直方图信息。其中,软件大小信息可以是指软件的大小;导入动态链接库的数量信息可以是指在windows系统中导入动态链接库库中的文件的数量;导入函数的数量信息可以是指导入的功能函数的数量;代码节的属性信息可以包括软件中的每个代码节的名称、大小和熵;图像信息可以包括软件文件中的图标等图像;可打印字符信息可以是指软件中可打印的字符(例如,签名和发行商名称);字节熵直方图信息可以是指利用软件中所有字节部分提取的字节熵直方图。
对应的,正常软件样本对应的正常特征样本、恶意软件样本对应的恶意特征样本和由生成模型对恶意特征样本进行变换处理后获得的对抗样本均是与特征样本类似的,其均可包含上述特征信息中的至少一种特征信息,后续不再一一说明,具体可参见上述相关描述。
为了便于理解本申请实施例,下面通过具体的实施例来进行描述。
具体地,可从VirusTotal服务网站等能够查询到恶意软件的平台收集正常软件样本和恶意软件样本,并可将收集到的正常软件样本和恶意软件样本放入到样本库中。其中,正常软件样本库为SBenign,恶意软件样本库为SMalicious。以及,还可从样本库中读取正常软件样本和恶意软件样本,并可从正常软件样本中提取正常特征样本,以及还可从恶意软件样本中提取恶意特征样本。以及,还可分别对正常特征样本和恶意特征样本进行类型的标记,从而便于后续有监督的分类。
例如,在正常特征样本为xn且xn∈SBenign,以及恶意特征样本为xm且xm∈SMalicious的情况下,可将良性特征样本标记为yn且yn的取值为0,以及还可将恶意特征样本标记为ym且ym的取值为1,从而可能够根据样本标记的具体值来确定特征样本为正常特征样本还是恶意特征样本。
步骤S120,利用特征样本训练生成式对抗网络。
应理解,生成式对抗网络可包括生成模型、和与生成模型形成对抗学习的判别模型。
也就是说,生成模型可对恶意特征样本做变换处理,并加入噪声,从而可为判别模型提供对抗样本,从而相比于现有的直接在数据中添加噪声的方案,本申请实施例通过对从软件中提取的特征做变换,使得判别模型能够不断学习对抗样本,从而提高了判别模型的鲁棒性,并且训练好的判别模型还能够检测出在数据中直接添加噪声的攻击数据。
还应理解,判别模型还可称为判别器,也可称为检测器,也可称为检测模型等。
对应地,生成模型也可称为生成器。
还应理解,生成模型对恶意特征样本做变换处理的具体变换处理方式可根据实际需求来进行设置,本申请实施例并不局限于此。
例如,生成模型可对恶意特征样本做线性变换处理,也可对恶意特征样本做傅里叶变换处理,也可对恶意特征样本做对数函数的转换处理,也可对恶意特征样本做模糊量化变换等。
为了理解本申请实施例,下面以线性变换为例来进行描述。
具体地,在对恶意特征样本进行类型标记且可第一次固定初始生成模型的参数的情况下,可将标记的正常特征样本和标记的恶意特征样本都输入到初始判别模型中,并且初始判别模型的作用就是把正常特征样本识别为0,以及把恶意特征样本识别为1,从而初始判别模型可输出第一次检测结果。
应理解,初始生成模型是指未训练好的生成模型。对应地,下文中的第一优化后的生成模型和第二次优化后的生成模型等均是指未训练好的生成模型。
还应理解,初始判别模型是指未训练好的判别模型。
这里需要说明的是,在后续将对抗样本输入到初始判别模型中的情况下,也可继续将标记的正常特征样本和标记的恶意特征样本继续输入到初始判别模型中,本申请实施例并不局限于此。
随后,可第一次固定初始判别模型的参数,并利用第一次检测结果对用于实现特征的错误识别的初始生成模型进行优化,以获得第一次优化后的生成模型,即可利用第一次检测结果对初始生成模型对应的第一目标函数进行优化,然后第一次优化后的生成模型可对恶意特征样本继续进行变换处理,并加入噪声,以获得新的对抗样本。其中,第一目标函数可看作用于表示模型的期望输出和实际输出的差距的损失函数的加和。
应理解,恶意特征样本的变换处理公式可根据实际需求来进行设置,本申请实施例并不局限于此。
可选地,可根据以下公式对恶意特征样本进行进行变换处理:
Figure BDA0002808268270000101
其中,
Figure BDA0002808268270000102
表示第m个对抗样本,xm表示第m个恶意特征样本,wm表示第m个恶意特征样本对应的权重,bm表示第m个恶意特征样本对应的偏移量,m为正整数。同时,对抗样本对应的类型标记
Figure BDA0002808268270000106
为1。
这里需要说明的是,由于生成的对抗样本要保持原有的功能不变,若删除软件文件中的导入函数或者代码指令等可能会损坏原有的功能,故本申请实施例仅考虑向原始软件文件中插入函数、指令和可打印字符等逃避检测的攻击场景,所以,对于对恶意特征样本进行进行变换处理的公式中的wm和bm来说,需要保证wm,i>1,且bm,i大于0,且i表示变换特征对应的维度。
例如,对于wm来说,在wm为三维向量
Figure BDA0002808268270000107
的情况下,则需要保证三维向量中的wm,1、wm,2和wm,3均大于1。
还应理解,第一目标函数的具体公式也可根据实际需求来进行设置,本申请实施例并不局限于此。
例如,第一目标函数为:
Figure BDA0002808268270000103
其中,L1为第一目标函数值,wm表示第m个恶意特征样本对应的权重,bm表示第m个恶意特征样本对应的偏移量,SMalicious为恶意软件样本库,ym表示第m个恶意特征样本对应的类型标记,
Figure BDA0002808268270000104
表示第m个对抗样本对应的检测结果(即判别模型对第m个对抗样本的检测结果)。并且,上述公式中的
Figure BDA0002808268270000105
表示损失函数。
应理解,本申请实施例中为了区分生成模型和判别模型,则可将生成模型用符号G表示,而判别模型为符号D表示。
这里需要说明的是,第一目标函数中的ym-1就是为了实现错误识别。由于对抗样本对应的对应的类型标记ym为1,从而通过ym-1可实现将对抗样本识别为良性特征样本。
这里还需要说明的是,对第一目标函数进行优化的过程可以看作对第一函数中的wm和bm进行优化的过程,即第一函数中的初始wm和初始bm可以是预先设置的,后续可不断地对第一函数中的wm和bm进行更新。
随后,可第二次固定第一次优化后的生成模型的参数,并将对抗样本输入到初始判别模型中,以获得第二次检测结果。
这里需要说明的是,对初始判别模型进行训练的过程可以看作不断优化初始判别模型的第二目标函数中的wm和bm的过程。
应理解,第二目标函数的具体公式也可根据实际需求来进行设置,本申请实施例并不局限于此。
例如,第二目标函数为:
Figure BDA0002808268270000111
其中,L2为第二目标函数值,D为,ym表示第m个恶意特征样本对应的类型标记,fD(xm)表示第m个恶意特征样本对应的检测结果,
Figure BDA0002808268270000112
表示第m个对抗样本对应的检测结果,yn表示第n个正常特征样本对应的类型标记,fD(xn)表示第n个正常特征样本对应的检测结果。
随后,可第二次固定初始判别模型的参数,并利用第二次检测结果对第一次优化后的生成模型进行优化,以获得第二次优化后的生成模型,即可利用第二次检测结果对第一目标函数进行优化,然后第二次优化后的生成模型可对恶意特征样本进行变换处理,并加入噪声,以获得对抗样本。
随后,可重复上述步骤,直至第一目标函数的结果趋近于0(或者说,第一目标函数收敛)或者到达最大重复次数,则生成模型训练完成,则此时可认为对于训练好的生成模型生成的对抗样本来说,初始判别模型已经无法识别。
后续,可利用正常特征样本、恶意特征样本和训练好的生成模型生成的对抗样本来训练初始判别模型(或者说,使得初始判别模型同时学习正常特征样本、恶意特征样本和对抗样本),以获得训练好的且能够防御生成模型攻击的判别模型,即本申请实施例的训练过程是先训练生成模型,然后再训练判别模型。
也就是说,固定初始判别模型的参数,根据初始判别模型输出的检测结果对初始生成模型进行训练,以得到训练后的生成模型,并由训练后的生成模型对恶意特征样本进行变换处理,以获得对抗样本,检测结果是在固定初始生成模型的参数的情况下,由初始判别模型对正常特征样本、恶意特征样本或者对抗样本进行检测后获得的;固定优化后的生成模型的参数,利用对抗样本对初始判别模型进行训练,以获得训练好的判别模型。
这里需要说明的是,虽然步骤S110和步骤S120示出了生成式对抗网络的训练过程,但本领域的技术人员应当理解,在生成式对抗网络(或者判别模型)训练好的情况下,其可省略步骤S110和步骤S120,并可直接执行步骤S130和步骤S140。
步骤S130,从待检测软件中提取待检测特征。
应理解,从待检测软件中提取待检测特征的具体过程可根据实际需求来进行设置,本申请实施例并不局限于此。
步骤S140,利用训练好的判别模型对待检测特征进行检测,以得到用于确定软件是否为恶意软件的检测结果。其中,训练好的判别模型是利用正常特征样本、恶意特征样本和对抗样本训练得到的,正常特征样本是从正常软件样本中提取的样本,恶意特征样本是从恶意软件样本中提取的样本,对抗样本是由包含判别模型的生成式对抗网络中的生成模型对恶意特征样本进行变换处理后获得的。
应理解,训练好的判别模型可以从训练好的生成式对抗网络中隔离出的判别模型。
因此,本申请实施例通过从待检测软件中提取待检测特征后,可以通过训练好的判别模型对待检测特征进行检测,以确定待检测软件是否为恶意软件,从而相比于现有的恶意软件的检测方法,其可提高检测效率。
此外,本申请实施例通过由生成模型对恶意特征样本进行变换处理后生成的对抗样本,并且可利用判别模型来不断防御对抗样本,从而可提高判别模型的鲁棒性。
为了便于理解本申请实施例,下面通过具体的实施例来进行描述。
请参见图2,图2示出了本申请实施例提供的一种训练生成式对抗网络的方法的结构流程图。如图2所示,该训练生成式对抗网络的方法包括:
从样本库中提取特征样本,并提取特征样本中的特征样本,并对特征样本进行标记。其中,可将良性特征样本标记为0,并将恶意特征样本标记为1。
随后,在固定初始生成模型的参数的情况下,可将特征样本输入到初始判别模型中,以获得初始判别模型输出的检测结果。随后,可固定初始判别模型的参数,利用检测结果来优化初始生成模型,并利用优化后的生成模型来生成对抗样本,然后固定优化后的生成模型的参数,并将对抗样本输入到初始判别模型中。
在经过多次交互训练之后,待生成模型训练完成后,可利用正常特征样本、恶意特征样本和训练好的生成模型生成的对抗样本来训练初始判别模型,以获得训练完成后的判别模型。
其中,每次交互训练是指将判别模型的检测结果传输给生成模型,然后生成模型将对抗样本传输给判别模型。
应理解,上述检测恶意软件的方法仅是示例性的,本领域技术人员根据上述的方法可以进行各种变形,该变形之后的方案也属于本申请的保护范围。
请参见图3,图3示出了本申请实施例提供的一种检测恶意软件的装置300的结构框图,应理解,该装置300能够执行上述方法实施例中的各个步骤,该装置300具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。该装置300包括至少一个能以软件或固件(firmware)的形式存储于存储器中或固化在装置300的操作系统(operatingsystem,OS)中的软件功能模块。具体地,该装置300包括:
提取模块310,用于从待检测软件中提取待检测特征;检测模块320,用于利用训练好的判别模型对待检测特征进行检测,以得到用于确定软件是否为恶意软件的检测结果,训练好的判别模型是利用正常特征样本、恶意特征样本和对抗样本训练得到的,正常特征样本是从正常软件样本中提取的样本,恶意特征样本是从恶意软件样本中提取的样本,对抗样本是由包含判别模型的生成式对抗网络中的生成模型对恶意特征样本进行变换处理后获得的。
在一个可能的实施例中,该装置300还包括:第一训练模块(未示出),用于固定初始判别模型的参数,根据初始判别模型输出的检测结果对初始生成模型进行训练,以得到训练后的生成模型,并由训练后的生成模型对恶意特征样本进行变换处理,以获得对抗样本,检测结果是在固定初始生成模型的参数的情况下,由初始判别模型对正常特征样本、恶意特征样本或者对抗样本进行检测后获得的;第二训练模块(未示出),用于固定优化后的生成模型的参数,利用对抗样本对初始判别模型进行训练,以获得训练好的判别模型。
在一个可能的实施例中,第一训练模块,具体用于:
根据公式
Figure BDA0002808268270000141
对恶意特征样本进行进行变换处理;
其中,
Figure BDA0002808268270000142
表示第m个对抗样本,xm表示第m个恶意特征样本,wm表示第m个恶意特征样本对应的权重,bm表示第m个恶意特征样本对应的偏移量,m为正整数。
在一个可能的实施例中,第一训练模块,具体用于利用检测结果对初始生成模型的第一目标函数进行优化,第一目标函数为:
Figure BDA0002808268270000151
其中,L1表示第一目标函数值,SMalicious为恶意软件样本库,ym表示第m个恶意特征样本对应的类型标记,
Figure BDA0002808268270000153
表示第m个对抗样本对应的检测结果。
在一个可能的实施例中,第二训练模块,具体用于利用对抗样本对初始判别模型的第二目标函数进行优化,第二目标函数为:
Figure BDA0002808268270000152
其中,L2表示第二目标函数值,fD(xm)表示第m个恶意特征样本对应的检测结果,yn表示第n个正常特征样本对应的类型标记,fD(xn)表示第n个正常特征样本对应的检测结果。
在一个可能的实施例中,待检测特征包括以下特征信息中的至少一种特征信息:软件大小信息、导入动态链接库的数量信息、导入函数的数量信息、代码节的属性信息、图像信息、可打印字符信息和字节熵直方图信息。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法中的对应过程,在此不再过多赘述。
请参见图4,图4示出了本申请实施例提供的一种电子设备400的结构框图。如图4所示,电子设备400可以包括处理器410、通信接口420、存储器430和至少一个通信总线440。其中,通信总线440用于实现这些组件直接的连接通信。其中,本申请实施例中设备的通信接口420用于与其他节点设备进行信令或数据的通信。处理器410可以是一种集成电路芯片,具有信号的处理能力。上述的处理器410可以是通用处理器,包括中央处理器(CentralProcessing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(ApplicationSpecific Integrated Circuit,简称ASIC)、现场可编程逻辑门阵列(Field ProgrammableGate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器410也可以是任何常规的处理器等。
存储器430可以是,但不限于,随机存取存储器(Random Access Memory,简称RAM),只读存储器(Read Only Memory,简称ROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),可擦除只读存储器(Erasable Programmable Read-OnlyMemory,简称EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-OnlyMemory,简称EEPROM)等。存储器430中存储有计算机可读取指令,当计算机可读取指令由处理器410执行时,电子设备400可以执行上述方法实施例中的各个步骤。
电子设备400还可以包括存储控制器、输入输出单元、音频单元、显示单元。
存储器430、存储控制器、处理器410、外设接口、输入输出单元、音频单元、显示单元各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通信总线440实现电性连接。处理器410用于执行存储器430中存储的可执行模块,例如电子设备400包括的软件功能模块或计算机程序。
输入输出单元用于提供给用户输入数据实现用户与服务器(或本地终端)的交互。输入输出单元可以是,但不限于,鼠标和键盘等。
音频单元向用户提供音频接口,其可包括一个或多个麦克风、一个或者多个扬声器以及音频电路。
显示单元在电子设备与用户之间提供一个交互界面(例如用户操作界面)或用于显示图像数据给用户参考。在本实施例中,显示单元可以是液晶显示器或触控显示器。若为触控显示器,其可为支持单点和多点触控操作的电容式触控屏或电阻式触控屏等。支持单点和多点触控操作是指触控显示器能感应到来自该触控显示器上一个或多个位置处同时产生的触控操作,并将该感应到的触控操作交由处理器进行计算和处理。
可以理解,图4所示的结构仅为示意,电子设备400还可包括比图4中所示更多或者更少的组件,或者具有与图4所示不同的配置。图4中所示的各组件可以采用硬件、软件或其组合实现。
本申请提供一种存储介质,该存储介质上存储有计算机程序,该计算机程序被处理器运行时执行实施例所述的方法。
本申请还提供一种计算机程序产品,所述计算机程序产品在计算机上运行时,使得计算机执行方法实施例所述的方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统的具体工作过程,可以参考前述方法中的对应过程,在此不再过多赘述。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

Claims (10)

1.一种检测恶意软件的方法,其特征在于,包括:
从待检测软件中提取待检测特征;
利用训练好的判别模型对所述待检测特征进行检测,以得到用于确定所述软件是否为恶意软件的检测结果,所述训练好的判别模型是利用正常特征样本、恶意特征样本和对抗样本训练得到的,所述正常特征样本是从正常软件样本中提取的样本,所述恶意特征样本是从恶意软件样本中提取的样本,所述对抗样本是由包含所述判别模型的生成式对抗网络中的生成模型对所述恶意特征样本进行变换处理后获得的。
2.根据权利要求1所述的方法,其特征在于,在所述利用训练好的判别模型对所述待检测特征进行检测之前,所述方法还包括:
固定初始判别模型的参数,根据所述初始判别模型输出的检测结果对初始生成模型进行训练,以得到训练后的生成模型,并由所述训练后的生成模型对所述恶意特征样本进行变换处理,以获得所述对抗样本,所述检测结果是在固定所述初始生成模型的参数的情况下,由所述初始判别模型对所述正常特征样本、所述恶意特征样本或者所述对抗样本进行检测后获得的;
固定所述优化后的生成模型的参数,利用所述对抗样本对所述初始判别模型进行训练,以获得所述训练好的判别模型。
3.根据权利要求2所述的方法,其特征在于,所述由所述训练后的生成模型对所述恶意特征样本进行变换处理,包括:
根据公式
Figure FDA0002808268260000011
对所述恶意特征样本进行进行变换处理;
其中,
Figure FDA0002808268260000012
表示第m个对抗样本,xm表示第m个恶意特征样本,wm表示所述第m个恶意特征样本对应的权重,bm表示所述第m个恶意特征样本对应的偏移量,m为正整数。
4.根据权利要求3所述的方法,其特征在于,所述根据所述初始判别模型输出的检测结果对初始生成模型进行训练,包括:
利用所述检测结果对所述初始生成模型的第一目标函数进行优化,所述第一目标函数为:
Figure FDA0002808268260000021
其中,L1表示第一目标函数值,SMalicious为恶意软件样本库,ym表示所述第m个恶意特征样本对应的类型标记,
Figure FDA0002808268260000022
表示所述第m个对抗样本对应的检测结果。
5.根据权利要求4所述的方法,其特征在于,所述利用所述对抗样本对所述初始判别模型进行训练,包括:
利用所述对抗样本对所述初始判别模型的第二目标函数进行优化,所述第二目标函数为:
Figure FDA0002808268260000023
其中,L2表示第二目标函数值,fD(xm)表示所述第m个恶意特征样本对应的检测结果,yn表示第n个正常特征样本对应的类型标记,fD(xn)表示第n个正常特征样本对应的检测结果。
6.根据权利要求1所述的方法,其特征在于,所述待检测特征包括以下特征信息中的至少一种特征信息:软件大小信息、导入动态链接库的数量信息、导入函数的数量信息、代码节的属性信息、图像信息、可打印字符信息和字节熵直方图信息。
7.一种检测恶意软件的装置,其特征在于,包括:
提取模块,用于从待检测软件中提取待检测特征;
检测模块,用于利用训练好的判别模型对所述待检测特征进行检测,以得到用于确定所述软件是否为恶意软件的检测结果,所述训练好的判别模型是利用正常特征样本、恶意特征样本和对抗样本训练得到的,所述正常特征样本是从正常软件样本中提取的样本,所述恶意特征样本是从恶意软件样本中提取的样本,所述对抗样本是由包含所述判别模型的生成式对抗网络中的生成模型对所述恶意特征样本进行变换处理后获得的。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
第一训练模块,用于固定初始判别模型的参数,根据所述初始判别模型输出的检测结果对初始生成模型进行训练,以得到训练后的生成模型,并由所述训练后的生成模型对所述恶意特征样本进行变换处理,以获得所述对抗样本,所述检测结果是在固定所述初始生成模型的参数的情况下,由所述初始判别模型对所述正常特征样本、所述恶意特征样本或者所述对抗样本进行检测后获得的;
第二训练模块,用于固定所述优化后的生成模型的参数,利用所述对抗样本对所述初始判别模型进行训练,以获得所述训练好的判别模型。
9.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至6任一所述的检测恶意软件的方法。
10.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当所述电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1至6任一所述的检测恶意软件的方法。
CN202011384531.7A 2020-11-30 2020-11-30 一种检测恶意软件的方法、装置、存储介质和电子设备 Pending CN112380537A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011384531.7A CN112380537A (zh) 2020-11-30 2020-11-30 一种检测恶意软件的方法、装置、存储介质和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011384531.7A CN112380537A (zh) 2020-11-30 2020-11-30 一种检测恶意软件的方法、装置、存储介质和电子设备

Publications (1)

Publication Number Publication Date
CN112380537A true CN112380537A (zh) 2021-02-19

Family

ID=74590266

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011384531.7A Pending CN112380537A (zh) 2020-11-30 2020-11-30 一种检测恶意软件的方法、装置、存储介质和电子设备

Country Status (1)

Country Link
CN (1) CN112380537A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113065132A (zh) * 2021-03-25 2021-07-02 深信服科技股份有限公司 一种宏程序的混淆检测方法、装置、电子设备和存储介质
CN113868660A (zh) * 2021-12-01 2021-12-31 北京华云安信息技术有限公司 恶意软件检测模型的训练方法、装置以及设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170353481A1 (en) * 2016-06-06 2017-12-07 Samsung Electronics Co., Ltd. Malware detection by exploiting malware re-composition variations using feature evolutions and confusions
CN109359439A (zh) * 2018-10-26 2019-02-19 北京天融信网络安全技术有限公司 软件检测方法、装置、设备及存储介质
CN110210226A (zh) * 2019-06-06 2019-09-06 深信服科技股份有限公司 一种恶意文件检测方法、系统、设备及计算机存储介质
CN110826059A (zh) * 2019-09-19 2020-02-21 浙江工业大学 面向恶意软件图像格式检测模型的黑盒攻击的防御方法及其装置
CN110933104A (zh) * 2019-12-11 2020-03-27 成都卫士通信息产业股份有限公司 恶意命令检测方法、装置、设备及介质
KR102120200B1 (ko) * 2019-12-27 2020-06-17 주식회사 와이햇에이아이 악성 코드 수집 방법 및 시스템
CN111475810A (zh) * 2020-04-13 2020-07-31 广州锦行网络科技有限公司 一种恶意软件检测器训练方法及系统、检测方法及系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170353481A1 (en) * 2016-06-06 2017-12-07 Samsung Electronics Co., Ltd. Malware detection by exploiting malware re-composition variations using feature evolutions and confusions
CN109359439A (zh) * 2018-10-26 2019-02-19 北京天融信网络安全技术有限公司 软件检测方法、装置、设备及存储介质
CN110210226A (zh) * 2019-06-06 2019-09-06 深信服科技股份有限公司 一种恶意文件检测方法、系统、设备及计算机存储介质
CN110826059A (zh) * 2019-09-19 2020-02-21 浙江工业大学 面向恶意软件图像格式检测模型的黑盒攻击的防御方法及其装置
CN110933104A (zh) * 2019-12-11 2020-03-27 成都卫士通信息产业股份有限公司 恶意命令检测方法、装置、设备及介质
KR102120200B1 (ko) * 2019-12-27 2020-06-17 주식회사 와이햇에이아이 악성 코드 수집 방법 및 시스템
CN111475810A (zh) * 2020-04-13 2020-07-31 广州锦行网络科技有限公司 一种恶意软件检测器训练方法及系统、检测方法及系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
AURELIEN GERON著, 宋能辉译: "机器学习实战", 31 October 2020, 机械工业出版社, pages: 520 - 521 *
孙博文;黄炎裔;温俏琨;田斌;吴鹏;李祺;: "基于静态多特征融合的恶意软件分类方法", 网络与信息安全学报, vol. 2020, no. 11, 15 November 2017 (2017-11-15), pages 69 - 71 *
张善文等: "图像模式识别", vol. 2020, 西安电子科技大学出版社, pages: 25 - 29 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113065132A (zh) * 2021-03-25 2021-07-02 深信服科技股份有限公司 一种宏程序的混淆检测方法、装置、电子设备和存储介质
CN113065132B (zh) * 2021-03-25 2023-11-03 深信服科技股份有限公司 一种宏程序的混淆检测方法、装置、电子设备和存储介质
CN113868660A (zh) * 2021-12-01 2021-12-31 北京华云安信息技术有限公司 恶意软件检测模型的训练方法、装置以及设备

Similar Documents

Publication Publication Date Title
CN110826059B (zh) 面向恶意软件图像格式检测模型的黑盒攻击的防御方法及其装置
CN106778241B (zh) 恶意文件的识别方法及装置
CN111027069B (zh) 恶意软件家族检测方法、存储介质和计算设备
JP6697123B2 (ja) プロファイル生成装置、攻撃検知装置、プロファイル生成方法、および、プロファイル生成プログラム
RU2708356C1 (ru) Система и способ двухэтапной классификации файлов
CN110808968A (zh) 网络攻击检测方法、装置、电子设备和可读存储介质
CN111818198B (zh) 域名检测方法、域名检测装置和设备以及介质
Zhou et al. Visual similarity based anti-phishing with the combination of local and global features
CN110572393A (zh) 一种基于卷积神经网络的恶意软件流量分类方法
CN112241530B (zh) 恶意pdf文档的检测方法及电子设备
CN110034921A (zh) 基于带权模糊hash的webshell检测方法
US11775749B1 (en) Content masking attacks against information-based services and defenses thereto
CN112380537A (zh) 一种检测恶意软件的方法、装置、存储介质和电子设备
Yoo et al. The image game: exploit kit detection based on recursive convolutional neural networks
Manasrah et al. DGA-based botnets detection using DNS traffic mining
CN114372267B (zh) 一种基于静态域的恶意网页识别检测方法、计算机及存储介质
CN112329012B (zh) 针对包含JavaScript的恶意PDF文档的检测方法及电子设备
CN114448664B (zh) 钓鱼网页的识别方法、装置、计算机设备及存储介质
CN116015703A (zh) 模型训练方法、攻击检测方法及相关装置
CN111967503A (zh) 多类型异常网页分类模型的构建方法、异常网页检测方法
CN113495886A (zh) 用于模型训练的污染样本数据的检测方法及装置
Haruta et al. A novel visual similarity-based phishing detection scheme using hue information with auto updating database
CN108804917B (zh) 一种文件检测方法、装置、电子设备及存储介质
Sakkatos et al. Analysis of text-based CAPTCHA images using Template Matching Correlation technique
CN112163217B (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