学位专题

<
DOI:10.7666/d.Y3390234

基于生成对抗网络的恶意代码识别研究与应用

曹启云
北京化工大学
引用
恶意JavaScript代码被广泛应用在攻击客户端浏览器,窃取用户的隐私,使网络安全受到严重的挑战。为了保护用户免受攻击,需要在这些恶意代码被执行前检测出来。恶意代码检测的方法有静态方法和动态方法。静态方法检测效率高,并且不需要执行JavaScript代码,但由于新的恶意代码常常拥有新的特征模式,所以采用静态方法很难检测出来;动态方法通常需要在模拟环境中执行JavaScript代码,分析其运行时状态和行为变化,即使对于新的恶意代码也有很高的识别率,但是每次分析都需要大量时间模拟执行,所以效率不高。近几年学者将机器学习方法引用到恶意代码的识别上,通过使用样本对分类器进行训练,在恶意代码的识别效率和对新型恶意代码的检测上都取得了不错的效果。基于机器学习的方法需要收集大量的已标记的样本,但恶意JavaScript代码存在收集困难,人工标记困难等特点。本文通过改进生成对抗网络(Generative Adversarial Nets,GAN),提出了一种使用对抗网络生成样本训练模型的方法,并提高模型识别的准确率。  针对样本不足导致传统分类器训练结果不理想的问题,本文提出使用生成对抗网络生成样本的方法,扩充训练数据集,提高传统分类器训练识别准确率。使用有标签样本、无标签样本、生成器生成的样本一起训练生成对抗网络,通过定义不同的损失函数,让GAN中的判别器和生成器达到纳什平衡,即双方无法再改变策略以提高己方的利益。使用生成器生成大量样本,加入对传统分类器的训练,提高对恶意JavaScript代码的检测能力。  为了验证本文提出方法的效果,分别选取了RF、LR、DT、SVM、KNN五种传统分类器并且在实验中训练数据分别设置为100、200、300、400、500五种大小,观察实验中模型的检测率变化情况,结果表明生成样本对于只有少量样本的情况,可以显著提高分类器的检测效果。在训练好模型之后,使用python编写了一个恶意代码检测工具-MDProxy,通过将浏览器的代理设置为代理服务器的地址,可以通过MDProxy检测工具过滤用户所有的http访问流量。将训练好的模型应用到代理工具中,通过对JavaScript脚本的过滤检测,对恶意的JavaScript进行拦截,并向浏览器端返回警告信息,提醒用户网站有风险。  针对本文提出的方法设计实验,对5种大小的训练集、5种分类器进行检测率比较,实验结果表明,本文提出的方法可以使得传统分类器的检测能力提高5%。

网络安全;恶意代码;生成对抗网络;识别准确率;机器学习

北京化工大学

硕士

计算机技术

李征;高虎

2018

中文

TP393.08

84

2018-09-18(万方平台首次上网日期,不代表论文的发表时间)

相关文献
评论
相关作者
相关机构
打开万方数据APP,体验更流畅