CN112001424A - 基于对抗训练的恶意软件开放集家族分类方法和装置 - Google Patents
基于对抗训练的恶意软件开放集家族分类方法和装置 Download PDFInfo
- Publication number
- CN112001424A CN112001424A CN202010741391.8A CN202010741391A CN112001424A CN 112001424 A CN112001424 A CN 112001424A CN 202010741391 A CN202010741391 A CN 202010741391A CN 112001424 A CN112001424 A CN 112001424A
- Authority
- CN
- China
- Prior art keywords
- network
- training
- family
- classifier
- samples
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/561—Virus type analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Security & Cryptography (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Biology (AREA)
- Software Systems (AREA)
- Virology (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了基于对抗训练的恶意软件开放集家族分类方法和装置,首先获取训练样本的特征图像;通过生成对抗网络、第一分类器网络和第二分类器网络组成联合训练网络,由训练样本对生成对抗网络、第一分类器网络和第二分类器网络进行联合训练,将最后训练完成的第二分类器,作为恶意软件开放集分类器;针对待分类的测试样本,获取测试样本的特征图像;将测试样本的特征图像输入到恶意软件开放集分类器中,由恶意软件开放集分类器得到测试样本的家族分类结果。本发明能够训练出准确率和稳定性高的恶意软件开放集分类器,该分类器能对开放环境下的恶意软件样本进行家族分类,即不仅能对属于训练集旧家族的样本进行正确分类,而且能区分新旧家族样本。
Description
技术领域
本发明涉及一种及网络空间安全技术领域,特别涉及一种基于对抗训练的恶意软件开放集家族分类方法和装置。
背景技术
近年来,智能手机、计算机等智能设备已经成为了人们日常生活的一部分,计算机信息技术的发展解放了人们的大脑,便利了人们的生活,各式各样的软件被开发出来。然而,就在人们享受着软件带来的便利的同时,恶意软件开发者也看到了背后的利益,开始利用恶意软件窃取个人信息、破坏电脑运行。恶意软件是用来实现恶意功能的代码或程序,以实现获取数据、破坏系统等目的。其广义上可以分为计算机病毒、蠕虫、后门、广告软件等。虽然恶意软件的检测技术在与恶意代码入侵的对抗中迅速发展,但恶意软件易于生成、形态多样、传播迅速等特性使其仍威胁着网络空间安全。
一方面,近年来每年新增恶意软件的数量都居高不下,呈现指数级增长。卡巴斯基实验室通过卡巴斯基安全网络获得了来自全球数百万卡巴斯基产品用户的恶意统计信息,发布了《卡巴斯基安全报告2019》。该报告指出:2019年卡巴斯基解决方案共拦截了9.75亿次网络攻击,检测到超过2461万个独特的恶意代码,且该年度加密勒索软件攻击高达46156次。而根据国家信息中心联合瑞星公司最新发布的《2019年中国网络安全报告》,2019年瑞星“云安全”系统截获病毒样本数量高达1.03亿个,较2018年同期上涨32.69%。该报告指出,2019年勒索软件和挖矿病毒呈现爆发态势,共截获勒索软件174万个,挖矿病毒213万个。由此可见,恶意软件对中国乃至世界互联网构成巨大的安全威胁。
另一方面,大部分恶意软件是在现有恶意软件的基础上经过变体得到,同族恶意软件的产生速度快。2018年,全球近50万台路由器受到了攻击,其目的在于传播一种恶意软件从而构建大规模的僵尸网络。2019年,KSN发现了一个名为Riltok的大规模金融威胁,主要针对全球银行客户进行攻击。
对恶意软件进行家族分类是重要的恶意软件分析和防御技术。基于深度学习的分类技术在计算机视觉等领域取得了很多成果,在恶意软件家族分类领域也得到了很多应用。传统的分类模型是基于闭集假设,即假设每个待分类样本所属的家族都已包含在训练所用的家族集中。然而现实的分类面对的是开放集环境,无法在训练时收集到所有可能的样本家族,即待分类样本可能属于在训练中从未见过的新家族。因此,基于传统模型的恶意软件分类可能得到“过于自信”的结果,即在面对一个新家族样本时,也会强行将其划分到旧家族中,从而造成分类错误。因为恶意软件本身具有对抗检测的特性,新的恶意软件家族会不断产生,这使得上述的误分类问题不可避免。
针对恶意软件家族分类问题,目前业界更多地关注闭集环境下的恶意软件分类,而忽略了现实开放环境下新家族存在的可能性。而已有的关于恶意软件开放集分类的研究,大多从离群点的角度对恶意软件新家族进行检测,通过沙箱等环境抽取恶意软件的行为特征。传统方法有时会忽略旧家族的分类,且在整体分类效果和模型训练时间上都存在提升空间。
发明内容
本发明的第一目的在于克服现有技术的缺点与不足,提供一种基于对抗训练的恶意软件开放集家族分类方法,通过方法能够训练出准确率和稳定性高的恶意软件开放集分类器,该分类器能对开放环境下的恶意软件样本进行家族分类,即不仅能对属于训练集旧家族的样本进行正确分类,而且能区分新旧家族样本。
本发明的第二目的在于提供一种基于对抗训练的恶意软件开放集家族分类装置。
本发明的第三目的在于提供一种存储介质。
本发明的第四目的在于提供一种计算设备。
本发明的第一目的通过下述技术方案实现:一种基于对抗训练的恶意软件开放集家族分类方法,步骤包括:
获取已知旧家族的恶意软件,作为训练样本;
提取训练样本的家族特征,并将其转化为特征图像,得到训练样本的特征图像;
通过生成对抗网络、第一分类器网络和第二分类器网络组成联合训练网络,其中生成对抗网络生成器网络的输出分别作为生成对抗网络判别器网络、第一分类器网络和第二分类器网络的输入;
通过训练样本针对生成对抗网络、第一分类器网络和第二分类器网络进行联合训练,将最后训练完成的第二分类器,作为恶意软件开放集分类器;
针对待分类的恶意软件,作为测试样本;
提取测试样本的家族特征,并将其转换为特征图像,得到测试样本的特征图像;
将测试样本的特征图像输入到恶意软件开放集分类器中,由恶意软件开放集分类器得到测试样本的家族分类结果,确定测试样本属于新家族还是旧家族,当属于旧家族时,确定测试样本所属旧家族。
优选的,生成对抗网络为DCGAN网络结构;
第一分类器网络和第二分类器网络分别由VGG网络结构得到;其中第二分类器网络中,VGG网络结构的后三层全连接层中,将倒数第三层全连接层替换成卷积层加最大池化层。
优选的,通过训练样本针对生成对抗网络、第一分类器网络和第二分类器网络进行联合训练的具体过程:
步骤1)、训练生成对抗网络中的判别器网络:从先验分布中获取样本,将样本送入生成对抗网络中生成器网络生成假样本,将假样本和旧家族训练样本送入生成对抗网络中判别器网络进行判断,训练判别器网络;
步骤2)、训练生成对抗网络中的生成器网络:从先验分布中获取样本,将样本送入生成对抗网络中生成器网络生成假样本,假样本分别经过判别器网络和第一分类器,误差用于训练生成器网络;
步骤3)、训练第一分类器网络:从先验分布中获取样本,将样本送入生成对抗网络中生成器网络生成假样本,将生成器网络生成的假样本和旧家族训练样本分别送入第一分类器网络,计算分类误差和均匀分布误差,根据分类误差和均匀分布误差对第一分类器网络进行训练;
步骤4)、训练第二分类器网络:从先验分布中获取样本,将样本送入生成对抗网络中生成器网络生成假样本,将假样本作为模拟新家族样本;
将模拟新家族样本和旧家族训练样本送入第二分类器网络,对第二分类器网络进行训练;其中,第二分类器网络在对旧家族训练样本进行分类时,计算中心损失、交叉熵损失以及限制特征量大小;第二分类器网络在对模拟新家族样本进行分类时,计算相对熵和压缩特征量大小;并且在训练过程中,将相对熵、中心损失、交叉熵损失、特征量损失以一定权重组合后进行反向传播;
迭代执行上述步骤1)至步骤4),直到完成训练。
更进一步的,第二分类器网络在训练过程中,通过最小化模拟新家族样本的预测分布与标准均匀分布之间的KL散度,扩大旧家族训练样本与模拟新家族样本得分的分离程度;
第二分类器网络在训练过程中,对旧家族训练样本和模拟新家族样本的深度特征分别进行了特征大小的惩罚,使得模拟新家族样本的深度特征量压缩到0,旧家族训练样本的深度特征量大于设定的下界;并且,计算旧家族训练样本的中心损失,将同一类旧家族训练样本的深度特征汇聚至中心点。
更进一步的,第二分类器网络在训练过程中,通过中心损失为每个旧家族找到该类的深度特征中心点,实现每个旧家族训练样本的深度特征在训练过程中离相应中心点距离的平方和尽可能小,达到类内样本的聚集。
更进一步的,第二分类器网络训练得到的恶意软件开放集分类器在针对测试样本进行分类时,判定恶意软件开放集分类器输出的最大概率得分的大小,若该最大概率得分均低于阈值,则判断测试样本属于新家族,否则,将该最大概率得分对应家族判定测试样本的所属旧家族。
优选的,针对于训练样本和测试样本提取家族特征时,采用特征抽取工具抽取样本的623维特征,并且扩充到1024位;然后对特征进行归一化处理,每一维特征对应一个图像像素的灰度值。
本发明的第二目的通过下述技术方案实现:一种基于对抗训练的恶意软件开放集家族分类装置,包括:
第一获取模块,用于获取已知旧家族的恶意软件,作为训练样本;
第一特征提取模块,用于提取训练样本的家族特征,并将其转化为特征图像,得到训练样本的特征图像;
联合训练网络构建模块,用于通过生成对抗网络、第一分类器网络和第二分类器网络组成联合训练网络,其中生成对抗网络生成器网络的输出分别作为生成对抗网络判别器网络、第一分类器网络和第二分类器网络的输入;
训练模块,用于通过训练样本针对生成对抗网络、第一分类器网络和第二分类器网络进行联合训练,将最后训练完成的第二分类器,作为恶意软件开放集分类器;
第二获取模块,用于针对待分类的恶意软件,作为测试样本;
第二特征提取模块,用于提取测试样本的家族特征,并将其转换为特征图像,得到测试样本的特征图像;
分类模块,用于将测试样本的特征图像输入到恶意软件开放集分类器中,由恶意软件开放集分类器得到测试样本的家族分类结果,确定测试样本属于新家族还是旧家族,当属于旧家族时,确定测试样本所属旧家族。
本发明的第三目的通过下述技术方案实现:一种计算设备,包括处理器以及用于存储处理器可执行程序的存储器,所述处理器执行存储器存储的程序时,实现本发明第一目的所述的基于对抗训练的恶意软件开放集家族分类方法。
本发明的第四目的通过下述技术方案实现:一种存储介质,存储有程序,所述程序被处理器执行时,实现本发明第一目的所述的基于对抗训练的恶意软件开放集家族分类方法。
本发明相对于现有技术具有如下的优点及效果:
(1)本发明基于对抗训练的恶意软件开放集家族分类方法,首先获取已知旧家族的恶意软件,作为训练样本;获取训练样本的特征图像;通过生成对抗网络、第一分类器网络和第二分类器网络组成联合训练网络,通过训练样本针对生成对抗网络、第一分类器网络和第二分类器网络进行联合训练,将最后训练完成的第二分类器,作为恶意软件开放集分类器;针对待分类的测试样本,获取测试样本的特征图像;将测试样本的特征图像输入到恶意软件开放集分类器中,由恶意软件开放集分类器得到测试样本的家族分类结果。基于本发明上述方法,能够训练出准确率和稳定性高的恶意软件开放集分类器,该分类器能对开放环境下的恶意软件样本进行家族分类,即不仅能对属于训练集旧家族的样本进行正确分类,而且能区分新旧家族样本。
(2)本发明基于对抗训练的恶意软件开放集家族分类方法中,通过训练样本针对生成对抗网络、第一分类器网络和第二分类器网络进行联合训练,具体为,在每次迭代训练时,依次对判别器网络、生成器网络、第一分类器网络和第二分类器网络进行训练,在迭代训练完成后,将最终的第二分类器网络作为恶意软件开放集分类器。由上述可知,本发明基于对抗训练的方式进行联合训练网络的搭建,较传统的基于距离的方法模型,具有训练时间短、稳定性高以及可靠性高的优点。
(3)本发明基于对抗训练的恶意软件开放集家族分类方法中,第二分类器网络在训练过程中,第二分类器网络在对旧家族训练样本进行分类时,计算中心损失、交叉熵损失以及限制特征量大小;第二分类器网络在对模拟新家族样本进行分类时,计算相对熵和压缩特征量大小;上述限制特征量大小的操作可以使得旧家族样本的的深度特征量高于一定值,而压缩特征量的操作可以使得模拟新家族样本的深度特征量接近于0,从而实现新旧家族的特征量大小分离,加大新旧家族概率得分的差距,提高恶意软件开放集分类器的对新旧家族样本分类的准确率。
(4)本发明基于对抗训练的恶意软件开放集家族分类方法中,在对第二分类器进行训练时,通过最小化模拟新家族样本的预测分布与标准均匀分布之间的KL散度,扩大旧家族训练样本与模拟新家族样本得分的分离程度;另外,第二分类器网络在训练过程中,对旧家族训练样本和模拟新家族样本的深度特征分别进行了特征大小的惩罚,使得模拟新家族样本的深度特征量压缩到0,旧家族训练样本的深度特征量大于设定的下界,实现旧家族样本与新家族样本间差距的进一步扩大;本发明方法中上述操作可以使得训练后的第二分类器即恶意软件开放集分类器,能够更加准确的区分出旧家族和新家族样本。
(5)本发明基于对抗训练的恶意软件开放集家族分类方法中,第二分类器网络在训练过程中,通过中心损失为每个旧家族找到该类的深度特征中心点,实现每个旧家族训练样本的深度特征在训练过程中离相应中心点距离的平方和尽可能小,达到类内样本的聚集,使得样本旧家族分类的准确率得到进一步提高。
附图说明
图1是本发明方法流程图。
图2是本发明方法中搭建的联合训练网络架构图。
图3是本发明方法中生成对抗网络判别器网络的训练过程图。
图4是本发明方法中生成对抗网络生成器网络的训练过程图。
图5是本发明方法中联合训练网络的第一分类器网络的训练过程。
图6是本发明方法中联合训练网络的第二分类器网络的训练过程。
图7是本发明方法和现有技术中恶意软件家族分类方法的分类评价指标对比图。
图8a是本发明方法中10次分类试验后得到的分类评价指标曲线图。
图8b是现有恶意软件家族分类方法中10次分类试验后得到的分类评价指标曲线图。
图9是本发明装置的结构框图。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
实施例1
本实施例公开了一种基于对抗训练的恶意软件开放集家族分类方法,通过该方法能够训练恶意软件开放集分类器,该分类器能对开放环境下的恶意软件样本进行家族分类,即不仅能对属于训练集旧家族的样本进行正确分类,而且能区分新旧家族样本;如图1所示,本发明方法的步骤包括:
步骤S101、获取已知旧家族的恶意软件,作为训练样本。在本实施例中,可以从Big2015数据集中获取训练样本。
步骤S102、提取训练样本的家族特征,并将其转化为特征图像,得到训练样本的特征图像;在本实施例中,针对于训练样本提取家族特征时,采用特征抽取工具抽取样本的623维特征,并且通过补0的方式扩充到1024位,并转换为1×32×32的形式;然后对特征进行归一化处理,每一维特征对应一个图像像素的灰度值。
步骤S103、通过生成对抗网络、第一分类器网络和第二分类器网络组成联合训练网络,其中生成对抗网络生成器网络的输出分别作为生成对抗网络判别器网络、第一分类器网络和第二分类器网络的输入,如图2所示,其中分类器1表示第一分类器,分类器2表示第二分类器。
在本实施例中生成对抗网络为DCGAN网络结构;第一分类器网络和第二分类器网络为VGG网络结构;其中第二分类器网络中,VGG网络结构的后三层全连接层中,将倒数第三层全连接层替换成卷积层加最大池化层,将倒数第二层全连接层的输出修改为500个神经节点,将最后一层全连接层修改为7个输出节点,对应样本分别判定为7个旧家族的概率得分。
步骤S104、通过训练样本针对生成对抗网络、第一分类器网络和第二分类器网络进行联合训练,将最后训练完成的第二分类器,作为恶意软件开放集分类器。本实施例中,通过训练样本针对生成对抗网络、第一分类器网络和第二分类器网络进行联合训练的具体过程:
步骤1)、训练生成对抗网络中的判别器网络:从先验分布中获取样本z,将样本送入生成对抗网络中生成器网络生成假样本x’,将假样本和旧家族训练样本x送入生成对抗网络中判别器网络进行判断,训练判别器网络,如图3中所示。
本实施例中,先验分布指的就是高斯噪声。
步骤2)、训练生成对抗网络中的生成器网络:从先验分布中获取样本,将样本送入生成对抗网络中生成器网络生成假样本,假样本分别经过判别器网络和第一分类器,误差用于训练生成器网络,如图4中所示。
步骤3)、训练第一分类器网络:从先验分布中获取样本,将样本送入生成对抗网络中生成器网络生成假样本,将生成器网络生成的假样本和旧家族训练样本分别送入第一分类器网络,计算分类误差和均匀分布误差,根据分类误差和均匀分布误差对第一分类器网络进行训练,如图5中所示。
步骤4)、训练第二分类器网络:从先验分布中获取样本,将样本送入生成对抗网络中生成器网络生成假样本,将假样本作为模拟新家族样本;
将模拟新家族样本和旧家族训练样本送入第二分类器网络,对第二分类器网络进行训练;其中,第二分类器网络在对旧家族训练样本进行分类时,计算中心损失、交叉熵损失以及限制特征量大小;第二分类器网络在对模拟新家族样本进行分类时,计算相对熵和压缩特征量大小;并且在训练过程中,将相对熵、中心损失、交叉熵损失、特征量损失以一定权重组合后进行反向传播,从而实现对第二分类器网络的训练,如图6中所示,其中,特征量损失=限制特征量损失+压缩特征量损失,限制特征量损失=|旧家族中训练样本当前特征量-ε|,当要将模拟新家族样本的特征向量压缩到0时,压缩特征量损失=模拟新家族样本当前特征量-0。
迭代执行上述步骤1)至步骤4),直到完成训练。
在本实施例中,相对熵、中心损失、交叉熵损失、特征量损失以权重组合可以为如下,相对熵的权重为0.5~1,中心损失的权重为0~0.5,交叉熵的权重为0.5~1,特征量损失为0~0.5。
其中,图2和图6中,Cross Entropy Loss表示交叉熵损失,center Loss表示衷心损失,KL loss表示相对熵,Magnitude Loss表示特征向量损失。
本实施例中,上述样本送入生成器网络、判别器网络、第一分类器网络和第二分类器网络指的是将样本的特征图像送入到上述网络中。
在上述步骤4)中,第二分类器网络在训练过程中,通过最小化模拟新家族样本的预测分布与标准均匀分布之间的KL(Kullback-Leibler)散度,扩大旧家族训练样本与模拟新家族样本得分的分离程度;另外,第二分类器网络在训练过程中,对旧家族训练样本和模拟新家族样本的深度特征分别进行了特征大小的惩罚,使得模拟新家族样本的深度特征量压缩到0,旧家族训练样本的深度特征量大于设定的下界ε,下界ε的取值范围可以是0~100,其中操作为:如果旧家族训练样本的深度特征量||F(x)||小于设定的下界ε,则惩罚旧家族训练样本,如果模拟新家族样本的深度特征量大于0,则惩罚模拟新家族样本;并且,计算旧家族训练样本的中心损失,将同一类旧家族训练样本的深度特征汇聚至中心点。再者,第二分类器网络在训练过程中,通过中心损失为每个旧家族找到该类的深度特征中心点,实现每个旧家族训练样本的深度特征在训练过程中离相应中心点距离的平方和尽可能小,达到类内样本的聚集。
步骤S105、针对待分类的恶意软件,作为测试样本。
步骤S106、提取测试样本的家族特征,并将其转换为特征图像,得到测试样本的特征图像;在本实施例中,和上述训练样本的特征提取一致,针对于测试样本提取家族特征时,采用特征抽取工具抽取样本的623维特征,并且通过补0的方式扩充到1024位,并转换为1×32×32的形式;然后对特征进行归一化处理,每一维特征对应一个图像像素的灰度值。
步骤S107、将测试样本的特征图像输入到恶意软件开放集分类器中,由恶意软件开放集分类器得到测试样本的家族分类结果,确定测试样本属于新家族还是旧家族,当属于旧家族时,确定测试样本所属旧家族。
具体的:第二分类器网络训练得到的恶意软件开放集分类器在针对测试样本进行分类时,判定恶意软件开放集分类器输出的最大概率得分的大小,若该最大概率得分均低于阈值,则判断测试样本属于新家族,否则,将该最大概率得分对应家族判定测试样本的所属旧家族。
在本实施例中,作为第二分类器网络的VGG网络,选用SGD+Adam优化器组合,其中,分类器选用SGD优化器,中心损失采用Adam优化器,上述优化器组合方式得到的第二分类器网络,训练后得到的恶意软件开放集分类器具有较好的分类效果。
通过Big2015数据集验证本实施例方法的分类效果,其中随机选取6个类作为旧家族,剩下的3类作为新家族,旧家族中样本又进一步划分,其中的75%样本用作构成训练集数据,剩下的与3类新家族样本共同组成测试集数据。
基于上述数据集,通过本实施例方法训练得到的恶意软件开放集分类器,在进行测试样本的分类后,采用ROC曲线下面积(AUROC)检验模型区分旧家族样本和新家族样本的能力,采用准确率(Accuracy)、精确率(Precision)、召回率(Recall)、F1 Score衡量旧家族样本多分类效果;相比现有技术中其它的恶意软件家族分类方法,本实施例方法AUROC、准确率(Accuracy)、精确率(Precision)、召回率(Recall)、F1 Score都有了明显的提高,如图7中所示。在本实施例中,当第二分类器网络训练时,中心损失权重选择0.1时,训练得到的恶意软件开放集分类器最终能够达到98.87%的多分类精度,且也有效提高了模型的AUROC,即旧家族样本和新家族样本的区分能力。
如图8a所示,为本实施例方法的恶意软件开放集分类器进行10次分类试验后得到的AUROC、Accuracy、Precision、Recall和F1 Score结果,如图8b所示,为现有的恶意软件家族分类方法进行10次分类试验后得到的AUROC、Accuracy、Precision、Recall和F1 Score结果,可见,相比现有技术,本实施例方法的恶意软件开放集分类器还具有稳定性高的优点。
本领域技术人员可以理解,实现上述实施例1方法中的全部或部分步骤可以通过程序来指令相关的硬件来完成,相应的程序可以存储于计算机可读存储介质中。
应当注意,尽管在附图中以特定顺序描述了上述实施例1的方法操作,但是这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
实施例2
本实施例公开了一种基于对抗训练的恶意软件开放集家族分类装置,包括第一获取模块、第一特征提取模块、联合训练网络构建模块、训练模块、第二获取模块、第二特征提取模块和分类模块,各个模块的具体功能如下:
第一获取模块,用于获取已知旧家族的恶意软件,作为训练样本;
第一特征提取模块,用于提取训练样本的家族特征,并将其转化为特征图像,得到训练样本的特征图像;
联合训练网络构建模块,用于通过生成对抗网络、第一分类器网络和第二分类器网络组成联合训练网络,其中生成对抗网络生成器网络的输出分别作为生成对抗网络判别器网络、第一分类器网络和第二分类器网络的输入;
训练模块,用于通过训练样本针对生成对抗网络、第一分类器网络和第二分类器网络进行联合训练,将最后训练完成的第二分类器,作为恶意软件开放集分类器;
第二获取模块,用于针对待分类的恶意软件,作为测试样本;
第二特征提取模块,用于提取测试样本的家族特征,并将其转换为特征图像,得到测试样本的特征图像;
分类模块,用于将测试样本的特征图像输入到恶意软件开放集分类器中,由恶意软件开放集分类器得到测试样本的家族分类结果,确定测试样本属于新家族还是旧家族,当属于旧家族时,确定测试样本所属旧家族。
本实施例中上述各个模块的具体实现可以参见上述实施例1,在此不再一一赘述。需要说明的是,本实施例中提供的装置仅以上述各功能模块的划分进行举例说明,在实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
可以理解,本实施例的装置中所使用的术语“第一”、“第二”等可用于描述各种模块,但这些单元不受这些术语限制。这些术语仅用于将第一个模块与另一个模块区分。举例来说,在不脱离本发明的范围的情况下,可以将第一获取模块称为第二获取模块,且类似地,可将第二获取模块称为第一获取模块,第一获取模块和第二获取模块两者都是获取模块,但其不是同一获取模块。
实施例3
本实施例公开了一种计算设备,包括处理器以及用于存储处理器可执行程序的存储器,所述处理器执行存储器存储的程序时,实现实施例1所述的于对抗训练的恶意软件开放集家族分类方法,如下:
获取已知旧家族的恶意软件,作为训练样本;
提取训练样本的家族特征,并将其转化为特征图像,得到训练样本的特征图像;
通过生成对抗网络、第一分类器网络和第二分类器网络组成联合训练网络,其中生成对抗网络生成器网络的输出分别作为生成对抗网络判别器网络、第一分类器网络和第二分类器网络的输入;
通过训练样本针对生成对抗网络、第一分类器网络和第二分类器网络进行联合训练,将最后训练完成的第二分类器,作为恶意软件开放集分类器;
针对待分类的恶意软件,作为测试样本;
提取测试样本的家族特征,并将其转换为特征图像,得到测试样本的特征图像;
将测试样本的特征图像输入到恶意软件开放集分类器中,由恶意软件开放集分类器得到测试样本的家族分类结果,确定测试样本属于新家族还是旧家族,当属于旧家族时,确定测试样本所属旧家族。
本实施例中的存储介质可以是磁盘、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、U盘、移动硬盘等介质。
实施例4
本实施例公开了一种存储介质,该存储介质为计算机可读存储介质,其存储有计算机程序,所述计算机程序被处理器执行时,实现上述实施例1的基于对抗训练的恶意软件开放集家族分类方法,如下:
获取已知旧家族的恶意软件,作为训练样本;
提取训练样本的家族特征,并将其转化为特征图像,得到训练样本的特征图像;
通过生成对抗网络、第一分类器网络和第二分类器网络组成联合训练网络,其中生成对抗网络生成器网络的输出分别作为生成对抗网络判别器网络、第一分类器网络和第二分类器网络的输入;
通过训练样本针对生成对抗网络、第一分类器网络和第二分类器网络进行联合训练,将最后训练完成的第二分类器,作为恶意软件开放集分类器;
针对待分类的恶意软件,作为测试样本;
提取测试样本的家族特征,并将其转换为特征图像,得到测试样本的特征图像;
将测试样本的特征图像输入到恶意软件开放集分类器中,由恶意软件开放集分类器得到测试样本的家族分类结果,确定测试样本属于新家族还是旧家族,当属于旧家族时,确定测试样本所属旧家族。
在本实施例中,计算设备可以为台式电脑、笔记本电脑等。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (10)
1.一种基于对抗训练的恶意软件开放集家族分类方法,其特征在于,步骤包括:
获取已知旧家族的恶意软件,作为训练样本;
提取训练样本的家族特征,并将其转化为特征图像,得到训练样本的特征图像;
通过生成对抗网络、第一分类器网络和第二分类器网络组成联合训练网络,其中生成对抗网络生成器网络的输出分别作为生成对抗网络判别器网络、第一分类器网络和第二分类器网络的输入;
通过训练样本针对生成对抗网络、第一分类器网络和第二分类器网络进行联合训练,将最后训练完成的第二分类器,作为恶意软件开放集分类器;
针对待分类的恶意软件,作为测试样本;
提取测试样本的家族特征,并将其转换为特征图像,得到测试样本的特征图像;
将测试样本的特征图像输入到恶意软件开放集分类器中,由恶意软件开放集分类器得到测试样本的家族分类结果,确定测试样本属于新家族还是旧家族,当属于旧家族时,确定测试样本所属旧家族。
2.根据权利要求1所述的基于对抗训练的恶意软件开放集家族分类方法,其特征在于,生成对抗网络为DCGAN网络结构;
第一分类器网络和第二分类器网络分别由VGG网络结构得到;其中第二分类器网络中,VGG网络结构的后三层全连接层中,将倒数第三层全连接层替换成卷积层加最大池化层。
3.根据权利要求1所述的基于对抗训练的恶意软件开放集家族分类方法,其特征在于,通过训练样本针对生成对抗网络、第一分类器网络和第二分类器网络进行联合训练的具体过程:
步骤1)、训练生成对抗网络中的判别器网络:从先验分布中获取样本,将样本送入生成对抗网络中生成器网络生成假样本,将假样本和旧家族训练样本送入生成对抗网络中判别器网络进行判断,训练判别器网络;
步骤2)、训练生成对抗网络中的生成器网络:从先验分布中获取样本,将样本送入生成对抗网络中生成器网络生成假样本,假样本分别经过判别器网络和第一分类器,误差用于训练生成器网络;
步骤3)、训练第一分类器网络:从先验分布中获取样本,将样本送入生成对抗网络中生成器网络生成假样本,将生成器网络生成的假样本和旧家族训练样本分别送入第一分类器网络,计算分类误差和均匀分布误差,根据分类误差和均匀分布误差对第一分类器网络进行训练;
步骤4)、训练第二分类器网络:从先验分布中获取样本,将样本送入生成对抗网络中生成器网络生成假样本,将假样本作为模拟新家族样本;
将模拟新家族样本和旧家族训练样本送入第二分类器网络,对第二分类器网络进行训练;其中,第二分类器网络在对旧家族训练样本进行分类时,计算中心损失、交叉熵损失以及限制特征量大小;第二分类器网络在对模拟新家族样本进行分类时,计算相对熵和压缩特征量大小;并且在训练过程中,将相对熵、中心损失、交叉熵损失、特征量损失以一定权重组合后进行反向传播;
迭代执行上述步骤1)至步骤4),直到完成训练。
4.根据权利要求3所述的基于对抗训练的恶意软件开放集家族分类方法,其特征在于,第二分类器网络在训练过程中,通过最小化模拟新家族样本的预测分布与标准均匀分布之间的KL散度,扩大旧家族训练样本与模拟新家族样本得分的分离程度;
第二分类器网络在训练过程中,对旧家族训练样本和模拟新家族样本的深度特征分别进行了特征大小的惩罚,使得模拟新家族样本的深度特征量压缩到0,旧家族训练样本的深度特征量大于设定的下界;并且,计算旧家族训练样本的中心损失,将同一类旧家族训练样本的深度特征汇聚至中心点。
5.根据权利要求4所述的基于对抗训练的恶意软件开放集家族分类方法,其特征在于,第二分类器网络在训练过程中,通过中心损失为每个旧家族找到该类的深度特征中心点,实现每个旧家族训练样本的深度特征在训练过程中离相应中心点距离的平方和尽可能小,达到类内样本的聚集。
6.根据权利要求3所述的基于对抗训练的恶意软件开放集家族分类方法,其特征在于,第二分类器网络训练得到的恶意软件开放集分类器在针对测试样本进行分类时,判定恶意软件开放集分类器输出的最大概率得分的大小,若该最大概率得分均低于阈值,则判断测试样本属于新家族,否则,将该最大概率得分对应家族判定测试样本的所属旧家族。
7.根据权利要求1所述的基于对抗训练的恶意软件开放集家族分类方法,其特征在于,针对于训练样本和测试样本提取家族特征时,采用特征抽取工具抽取样本的623维特征,并且扩充到1024位;然后对特征进行归一化处理,每一维特征对应一个图像像素的灰度值。
8.一种基于对抗训练的恶意软件开放集家族分类装置,其特征在于,包括:
第一获取模块,用于获取已知旧家族的恶意软件,作为训练样本;
第一特征提取模块,用于提取训练样本的家族特征,并将其转化为特征图像,得到训练样本的特征图像;
联合训练网络构建模块,用于通过生成对抗网络、第一分类器网络和第二分类器网络组成联合训练网络,其中生成对抗网络生成器网络的输出分别作为生成对抗网络判别器网络、第一分类器网络和第二分类器网络的输入;
训练模块,用于通过训练样本针对生成对抗网络、第一分类器网络和第二分类器网络进行联合训练,将最后训练完成的第二分类器,作为恶意软件开放集分类器;
第二获取模块,用于针对待分类的恶意软件,作为测试样本;
第二特征提取模块,用于提取测试样本的家族特征,并将其转换为特征图像,得到测试样本的特征图像;
分类模块,用于将测试样本的特征图像输入到恶意软件开放集分类器中,由恶意软件开放集分类器得到测试样本的家族分类结果,确定测试样本属于新家族还是旧家族,当属于旧家族时,确定测试样本所属旧家族。
9.一种计算设备,包括处理器以及用于存储处理器可执行程序的存储器,其特征在于,所述处理器执行存储器存储的程序时,实现权利要求1-7中任一项所述的基于对抗训练的恶意软件开放集家族分类方法。
10.一种存储介质,存储有程序,其特征在于,所述程序被处理器执行时,实现权利要求1-7中任一项所述的基于对抗训练的恶意软件开放集家族分类方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010741391.8A CN112001424B (zh) | 2020-07-29 | 2020-07-29 | 基于对抗训练的恶意软件开放集家族分类方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010741391.8A CN112001424B (zh) | 2020-07-29 | 2020-07-29 | 基于对抗训练的恶意软件开放集家族分类方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112001424A true CN112001424A (zh) | 2020-11-27 |
CN112001424B CN112001424B (zh) | 2023-05-23 |
Family
ID=73462363
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010741391.8A Active CN112001424B (zh) | 2020-07-29 | 2020-07-29 | 基于对抗训练的恶意软件开放集家族分类方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112001424B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112906002A (zh) * | 2021-03-26 | 2021-06-04 | 山西三友和智慧信息技术股份有限公司 | 一种基于深度学习的恶意软件识别方法 |
CN112926644A (zh) * | 2021-02-22 | 2021-06-08 | 山东大学 | 一种滚动轴承剩余使用寿命预测方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109165688A (zh) * | 2018-08-28 | 2019-01-08 | 暨南大学 | 一种安卓恶意软件家族分类器构建方法及其分类方法 |
CN110826059A (zh) * | 2019-09-19 | 2020-02-21 | 浙江工业大学 | 面向恶意软件图像格式检测模型的黑盒攻击的防御方法及其装置 |
CN111027069A (zh) * | 2019-11-29 | 2020-04-17 | 暨南大学 | 恶意软件家族检测方法、存储介质和计算设备 |
-
2020
- 2020-07-29 CN CN202010741391.8A patent/CN112001424B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109165688A (zh) * | 2018-08-28 | 2019-01-08 | 暨南大学 | 一种安卓恶意软件家族分类器构建方法及其分类方法 |
CN110826059A (zh) * | 2019-09-19 | 2020-02-21 | 浙江工业大学 | 面向恶意软件图像格式检测模型的黑盒攻击的防御方法及其装置 |
CN111027069A (zh) * | 2019-11-29 | 2020-04-17 | 暨南大学 | 恶意软件家族检测方法、存储介质和计算设备 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112926644A (zh) * | 2021-02-22 | 2021-06-08 | 山东大学 | 一种滚动轴承剩余使用寿命预测方法及系统 |
CN112906002A (zh) * | 2021-03-26 | 2021-06-04 | 山西三友和智慧信息技术股份有限公司 | 一种基于深度学习的恶意软件识别方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112001424B (zh) | 2023-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11689561B2 (en) | Detecting unknown malicious content in computer systems | |
Tesfahun et al. | Intrusion detection using random forests classifier with SMOTE and feature reduction | |
CN113961922A (zh) | 一种基于深度学习的恶意软件行为检测与分类系统 | |
US11533373B2 (en) | Global iterative clustering algorithm to model entities' behaviors and detect anomalies | |
CN110493262B (zh) | 一种改进分类的网络攻击检测方法及系统 | |
CN112241530B (zh) | 恶意pdf文档的检测方法及电子设备 | |
CN112329012B (zh) | 针对包含JavaScript的恶意PDF文档的检测方法及电子设备 | |
CN112738092A (zh) | 一种日志数据增强方法、分类检测方法及系统 | |
US20220179955A1 (en) | Mobile malicious code classification method based on feature selection and recording medium and device for performing the same | |
CN112001424B (zh) | 基于对抗训练的恶意软件开放集家族分类方法和装置 | |
More et al. | Trust-based voting method for efficient malware detection | |
Liu et al. | FewM-HGCL: Few-shot malware variants detection via heterogeneous graph contrastive learning | |
Chen et al. | Intrusion detection system based on immune algorithm and support vector machine in wireless sensor network | |
Ismaila | E-mail spam classification with artificial neural network and negative selection algorithm | |
CN110598794A (zh) | 一种分类对抗的网络攻击检测方法及系统 | |
Hung et al. | Malware detection based on directed multi-edge dataflow graph representation and convolutional neural network | |
Devadiga et al. | GLEAM: GAN and LLM for Evasive Adversarial Malware | |
Soliman et al. | A network intrusions detection system based on a quantum bio inspired algorithm | |
US11762992B2 (en) | Intrusion detection method based on improved immune network algorithm, and application thereof | |
Bui et al. | A clustering-based shrink autoencoder for detecting anomalies in intrusion detection systems | |
Wang et al. | Malware detection using cnn via word embedding in cloud computing infrastructure | |
CN112532562B (zh) | 一种对抗性网络的恶意数据流检测方法及系统 | |
ZHANG et al. | Integrated intrusion detection model based on artificial immune | |
Chemmakha et al. | A Novel Hybrid Architecture of Conditional Tabular Generative Adversarial Network and 1D Convolution Neural Network for Enhanced Attack Detection in IoT Systems | |
Sharma et al. | A design and Implementation of Intrusion Detection System by using Data Mining |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |