推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

一种基于主动学习的恶意代码检测方法

更新时间:2019-12-25 15:13:33 大小:3M 上传用户:zhiyao6查看TA发布的资源 标签:恶意代码检测 下载积分:1分 评价赚积分 (如何评价?) 打赏 收藏 评论(0) 举报

资料介绍

现有恶意代码的检测往往依赖于对足够数量样本的分析.然而新型恶意代码大量涌现,其出现之初,样本数量有限,现有方法无法迅速检测出新型恶意代码及其变种.在数据流依赖网络中分析进程访问行为异常度与相似度,引入了恶意代码检测估计风险,并提出一种通过最小化估计风险实现主动学习的恶意代码检测方法.该方法只需要很少比例的训练样本即可实现准确的恶意代码检测,比现有方法更适用于新型恶意代码检测.通过对真实的8 340个正常进程和7 257个恶意代码进程的实验分析,与传统基于统计分类器的检测方法相比,该方法明显地提升了恶意代码检测效果.即便在训练样本仅为总体样本数量1%的情况下,该方法也可以达到5.55%的错误率水平,比传统方法降低了36.5%.


部分文件列表

文件名 大小
一种基于主动学习的恶意代码检测方法.pdf 3M

部分页面预览

(完整内容请下载后查看)
软件学ISSN 1000-9825, CODEN RUXUEW  
Journal of Software,2017,28(2):384397 [doi: 10.13328/j.cnki.jos.005061]  
©中国科学院软件研究所版权所有.  
E-mail:  
Tel: +86-10-62562563  
一种基于主动学习的恶意代码检测方法∗  
毛蔚轩  
,
蔡忠闽  
,
(智能网络与网络安全教育部重点实验室(西安交通大学),陕西 西安 710049)  
通讯作者: 蔡忠闽, E-mail:  
: 现有恶意代码的检测往往依赖于对足够数量样本的分析.然而新型恶意代码大量涌现,其出现之初,样本  
数量有限,现有方法无法迅速检测出新型恶意代码及其变种.在数据流依赖网络中分析进程访问行为异常度与相似  
,引入了恶意代码检测估计风险,并提出一种通过最小化估计风险实现主动学习的恶意代码检测方法.该方法只需  
要很少比例的训练样本即可实现准确的恶意代码检测,比现有方法更适用于新型恶意代码检测.通过对真实的  
8 340 个正常进程和 7 257 个恶意代码进程的实验分析,与传统基于统计分类器的检测方法相比,该方法明显地提升  
了恶意代码检测效果.即便在训练样本仅为总体样本数量 1%的情况下,该方法也可以达到 5.55%的错误率水平,比  
传统方法降低了 36.5%.  
关键词: 访问行为;恶意代码检测;主动学习;数据流依赖网络  
中图法分类号: TP309  
中文引用格式: 毛蔚轩,蔡忠闽,童力.一种基于主动学习的恶意代码检测方法.软件学报
org.cn/1000-9825/5061.htm  
英文引用格式: Mao WX, Cai ZM, Tong L. Malware detection method based on active learning. Ruan Jian Xue Bao/Journal of Software,  
2017,28(2):384
Malware Detection Method Based on Active Learning  
MAO Wei-Xuan, CAI Zhong-Min, TONG Li  
(Key Laboratory for Intelligent and Network Security, Ministry of Education (Xi’an Jiaotong University), Xi’an 710049, China)  
Abstract: Existing techniques of malware detection depend on observations of sufficient malware samples. However, only a few samples  
can be obtained when a novel malware first appears in the World Wide Web, which brings challenges to detect novel malware and its  
variants. This paper studies the anomaly and similarity of processes with respect to their access behaviors under data flow dependency  
network, and defines estimated risk for malware detection. Furthermore, the study proposes a malware detection method based on active  
learning by minimizing the estimated risk. This method achieves encouraging performance even with small samples, and is applicable to  
defending against rapidly increasing novel malware. Experimental results on a real-world dataset, which consists of access behaviors of 8  
340 benign and 7 257 malicious processes, demonstrate better performance of the presented method than traditional malware detection  
method based on statistical classifier. Even with only 1% known samples, the new method achieves 5.55% error rate, which is 36.5% lower  
than the error rate of traditional statistical classifier based method.  
Key words: access behavior; malware detection; active learning; data flow dependency network  
根据赛门铁克在全球范围监测的统计数据,2014年全年新增恶意代码3.17亿个,恶意代码总数已达17亿[1]  
.
基金项目: 国家自然科学基金(61175039, 61221063, 61375040); 陕西省国际合作重点项目(2013KW11); 中央高校基本科研业  
务费专项资金(2012jdhz08)  
Foundation item: National Natural Science Foundation of China (61175039, 61221063, 61375040); International Research  
Collaboration Project of Shaanxi Province (2013KW11); Fundamental Research Funds for Central Universities (2012jdhz08)  
收稿时间: 2015-12-28; 修改时间: 2016-03-03; 采用时间: 2016-03-22; jos 在线出版时间: 2016-04-20  
CNKI 网络优先出版: 2016-04-19 15:38:50, http://www.cnki.net/kcms/detail/11.2560.TP.20160419.1538.002.html  
毛蔚轩 等:一种基于主动学习的恶意代码检测方法  
385  
新型恶意代码数量的迅速增长,为恶意代码检测带来了挑战.恶意代码的检测往往依赖于对足够数量的样本及  
其变种的分析,并在此基础上基于人工经验或利用统计学习方法自动化地提取规则或特征,更新现有检测器[26]  
由于采集和分析足够数量的相关样本往往需要较长时间,现有检测方法无法迅速检测出新型恶意代码及其变  
,新型恶意代码的大量出现仍然对整个社会构成持续性的威胁.  
.
在新型恶意代码出现的初期,往往出现的样本数量较少,无法为目前的恶意代码检测方法提供足够信息.样  
本大量出现后,由于初期没有得到有效的防范,导致严重的安全事件时有发生[7].与此同时,无论是基于人工经验  
的方法,还是利用统计学习的方法,都是建立在充分的已知样本基础上.基于人工经验的方法通过分析新型样本  
的行为、指令序列,根据知识经验,创建用于标识新型恶意代码的行为规则、特征码.人工分析的方法准确率高,  
但耗时长,自适应性较低.随着统计学习理论的研究与应用,统计学习方法为恶意代码规则、特征的提取提供了  
有效的工具[24,6].这类方法往往依赖于充分的已知样本集合,即已经确定正常或恶意的程序样本.对于新型恶意  
代码样本标签的确定,往往首先需要人工手动分析以保证准确性.人工分析耗时长,很难保证短时间内得到所需  
的充分已知样本集合.如何在仅已知少量样本的情况下保证恶意代码检测的准确率,是应对当前新型恶意代码  
快速增长形势的关键问题.  
为了解决这一问题,本文利用主动学习的方法,在分析系统对象的数据流依赖关系的基础上,提出了一种将  
程序访问行为的异常度与相似性结合的恶意代码检测方法.该方法通过增量式地训练,可以保证在少量已知样  
本下得到理想的准确率.在以往的研究工作中发现,通过对系统对象间访问行为的数据流依赖关系进行网络化  
建模,可以从网络结构的角度,分析并评价系统对象的重要性,并且有效地识别系统中安全角度下的重要对象[8]  
.
本文在系统对象重要性评价的基础上,利用程序访问对象的重要性,定义了程序访问行为的关键检测点,用以分  
析程序访问行为的异常度.同时,全系统下的数据流依赖关系网络为评价系统对象的相似性提供了依据,帮助我  
们从访问对象的角度分析进程访问行为的相似性,进而为判断程序的正常或异常标签提供了依据,即程序的访  
问行为越相似,其标签就越相似.结合程序访问行为的异常度与相似性,我们利用主动学习的方法实现了应对当  
前大量未知样本形势的有效的恶意代码检测方法.  
主动学习是一种增量式的样本预测方法,在定义估计风险的基础上,从未标记样本中找出最小化估计风险  
的样本进行预测.在程序访问行为异常度的基础上,我们构造了统计学习分类器,用于预测未知样本的标签.同  
,通过对程序访问行为相似性的分析,可以得到未知样本预测标签的估计风险.我们找出最小化估计风险的未  
知样本,以预测标签作为未知样本的标签,并将其作为已知样本,进一步完善基于访问行为异常度的分类器.这种  
最小化估计风险的策略可以不断完善,用于恶意代码检测的分类器,并在此基础上进一步降低估计风险.从而保  
证了即便在少量样本的情况下,也可以达到较理想的准确率,减少了人工分析样本的开销,加快了对新型恶意代  
码的响应,更适合于应对当前新型恶意代码快速增长的形势.通过8 340 个日常正常进程生命周期的访问行为  
7 257 个真实恶意代码的访问行为的实验验证,文本的方法与原来仅使用统计分类器的方法相比,在检测效  
果方面呈现出了显著的增长.  
本文的贡献主要包括如3 个部分.  
提出了一种基于主动学习的恶意代码检测方法.该方法基于最小估计风险的策略,增量式地主动学习  
未知样本,不断完善恶意代码检测分类器,仅需要少量已知样本即可得到较理想的恶意代码检测效果.  
在系统对象数据流依赖图的基础上,提出了进程访问行为异常度和相似性的评价方法.同时,从安全属  
性和统计特征两方面描述了访问行为,为基于主动学习的恶意代码检测提供了有效的访问行为特征.  
真实数据集下的充分实验.通过8 340 个正常进程以7 257 个真实恶意代码的访问行为的实验,与传  
统基于统计分类器的方法相比,主动学习的方法提升了恶意代码检测效果.在仅已知 1%样本的情况下,检  
测错误率降低36.5%.这种基于小样本训练的检测方法将为新型恶意代码的检测提供重要的技术手段.  
本文首先在1 节介绍恶意代码检测方面的相关工作.2 节概述本文提出的基于主动学习的恶意代码检  
测方法.3 节介绍系统资源的数据流依赖性网络的定义,以及在进程-文件数据流依赖网络下利用结构分析得  
到的对象重要性、相似性的评价.4 节阐述基于最小化估计风险的主动恶意代码检测方法.5 节描述我们的  

全部评论(0)

暂无评论

上传资源 上传优质资源有赏金

  • 打赏
  • 30日榜单

推荐下载