Please wait a minute...
 首页  期刊介绍 期刊订阅 联系我们 横山亮次奖 百年刊庆
 
最新录用  |  预出版  |  当期目录  |  过刊浏览  |  阅读排行  |  下载排行  |  引用排行  |  横山亮次奖  |  百年刊庆
清华大学学报(自然科学版)  2018, Vol. 58 Issue (5): 500-508    DOI: 10.16511/j.cnki.qhdxxb.2018.25.020
  计算机科学与技术 本期目录 | 过刊浏览 | 高级检索 |
基于API序列特征和统计特征组合的恶意样本检测框架
芦效峰1, 蒋方朔1, 周箫1, 崔宝江1, 伊胜伟2, 沙晶3
1. 北京邮电大学 网络空间安全学院, 北京 100876;
2. 中国信息安全测评中心, 北京 100085;
3. 公安部第三研究所, 上海 201204
API based sequence and statistical features in a combined malware detection architecture
LU Xiaofeng1, JIANG Fangshuo1, ZHOU Xiao1, CUI Baojiang1, YI Shengwei2, SHA Jing3
1. School of Cyberspace Security, Beijing University of Post and Telecommunications, Beijing 100876, China;
2. China Information Technology Security Evaluation Center, Beijing 100085, China;
3. The Third Research Institute of Ministry of Public Security, Shanghai 201204, China
全文: PDF(3026 KB)  
输出: BibTeX | EndNote (RIS)      
摘要 针对恶意样本行为分析,该文提出了一种组合机器学习框架,首先对应用程序编程接口(application programming interface,API)序列中调用的依赖关系进行功能层面上的分析,提取特征,使用随机森林进行检测;其次利用深度学习中的循环神经网络处理时间序列数据的特性,在冗余信息预处理的基础上,直接对序列进行学习和检测;最后对2种方法进行了组合。在恶意软件样本上进行的实验结果表明: 2种方法均可有效检测恶意样本,但是组合学习的效果更优,AUC (area under the curve of ROC)达到99.3%,优于现有的类似研究结果。
服务
把本文推荐给朋友
加入引用管理器
E-mail Alert
RSS
作者相关文章
芦效峰
蒋方朔
周箫
崔宝江
伊胜伟
沙晶
关键词 计算机病毒与防治恶意样本检测机器学习深度学习调用序列    
Abstract:This paper presents a combined machine learning framework for malware behavior analyses. One part of the framework analyzes the dependency relation in the API call sequence at the functional level to extract features to train and classify a random forest. The other part uses a recurrent neural network (RNN) to study the API sequence to identify malware with redundant information preprocessing using the RNN time series forecasting ability. Tests on a malware dataset show that both methods can effectively detect malwares. However, the combined framework is better with an AUC of 99.3%.
Key wordscomputer virus and prevention    malware classification    machine learning    deep learning    call sequence
收稿日期: 2017-08-15      出版日期: 2018-05-15
ZTFLH:  TP309.5  
基金资助:国家自然科学基金资助项目(61472046,U1536122);信息网络安全公安部重点实验室开放课题项目(C17607);北京市科协“金桥工程种子资金”项目;中国计算机学会-绿盟科技鲲鹏基金项目(CCF-NSFOUS2017006)
作者简介: 芦效峰(1976-),男,副教授。E-mail:luxf@bupt.edu.cn
引用本文:   
芦效峰, 蒋方朔, 周箫, 崔宝江, 伊胜伟, 沙晶. 基于API序列特征和统计特征组合的恶意样本检测框架[J]. 清华大学学报(自然科学版), 2018, 58(5): 500-508.
LU Xiaofeng, JIANG Fangshuo, ZHOU Xiao, CUI Baojiang, YI Shengwei, SHA Jing. API based sequence and statistical features in a combined malware detection architecture. Journal of Tsinghua University(Science and Technology), 2018, 58(5): 500-508.
链接本文:  
http://jst.tsinghuajournals.com/CN/10.16511/j.cnki.qhdxxb.2018.25.020  或          http://jst.tsinghuajournals.com/CN/Y2018/V58/I5/500
  图1 系统框架
  表1 4GGram 子序列提取
  表2 4GGram 子序列连接
  表3 连续相同模式 API去除
  图2 深度学习模型结构
  图4 WannaCry运行截图
  图3 AMHARA关联分析算法示意图
  表4 WannaCry调用 API列表 (前10项)
  表5 混淆矩阵
  图5 LSTM 实验
  表7 缩短序列长度对于训练时间的影响
  表8 不同分类的 AUC结果
  表9 随机森林参数优化结果
  图6 (网络版彩图)随机森林回归实验
  表10 不同算法的准确率比较
[1] WANG X Z, LIU J W, CHEN X E. Say no to overfitting. (2017-05-31). https://www.kaggle.com/c/malware-classification/discussion/13897.
[2] LIPTON Z C, BERKOWITZ J, ELKAN C. A critical review of recurrent neural networks for sequence learning[J]. arXiv preprint arXiv:1506.00019, 2015.
[3] 黄全伟. 基于N-Gram系统调用序列的恶意代码静态检测[D]. 哈尔滨:哈尔滨工业大学, 2009.HUANG Q W. Malicious executables detection based on N-Gram system call sequences[D]. Harbin:Harbin Institute of Technology, 2009.(in Chinese)
[4] 刘阳. 应用随机森林与神经网络算法检测与分析Android应用恶意样本[D]. 北京:北京交通大学, 2015.LIU Y. Employing the algorithms of random forest and neural networks for the detection and analysis of malicious code of Android applications[D]. Beijing:Beijing Jiaotong University, 2015. (in Chinese)
[5] 杨宏宇, 徐晋. 基于改进随机森林算法的Android恶意软件检测[J]. 通信学报, 2017(4):8-16.YANG H Y, XU J. Android malware detection based on improved random forest[J]. Journal on Communications, 2017(4):8-16. (in Chinese)
[6] 张家旺, 李燕伟. 基于机器学习算法的Android恶意程序检测系统[J]. 计算机应用研究, 2017(6):1-6.ZHANG J W, LI Y W. Malware detection system implementation of Android application based on machine learning[J]. Application Research of Computers, 2017(6):1-6. (in Chinese)
[7] SANTOS I, BREZO F, UGARTE-PEDRERO X, et al. Opcode sequences as representation of executables for data-mining-based unknown malware detection[J]. Information Sciences, 2013, 231:64-82.
[8] RAVI C, MANOHARAN R. Malware detection using windows API sequence and machine learning[J]. International Journal of Computer Applications, 2012, 43(17):12-16.
[9] 廖国辉, 刘嘉勇. 基于数据挖掘和机器学习的恶意代码检测方法[J]. 信息安全研究, 2016(1):74-79.LIAO G H, LIU J Y. A malicious code detection method based on data mining and machine learning[J]. Journal of Information Security Research, 2016(1):74-79. (in Chinese)
[10] DAHL G E, STOKES J W, DENG L, et al. Large-scale malware classification using random projections and neural networks[C]//2013 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). Vancouver, BC, Canada:IEEE, 2013:3422-3426.
[11] SAXE J, BERLIN K. Deep neural network based malware detection using two dimensional binary program features[C]//201510th International Conference on Malicious and Unwanted Software (MALWARE). Fajardo, Puerto Rico:IEEE, 2015:11-20.
[12] KOLOSNJAJI B, ZARRAS A, WEBSTER G, et al. Deep learning for classification of malware system call sequences[C]//Australasian Joint Conference on Artificial Intelligence. Hobart, TAS, Australia:Springer International Publishing, 2016:137-149.
[13] TOBIYAMA S, YAMAGUCHI Y, SHIMADA H, et al. Malware detection with deep neural network using process behavior[C]//201640th Annual IEEE Conference on Computer Software and Applications (COMPSAC). Atlanta, GA, USA:IEEE, 2016, 2:577-582.
[14] PASCANU R, STOKES J W, SANOSSIAN H, et al. Malware classification with recurrent networks[C]//2015 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). Brisbane, QLD, Australia:IEEE, 2015:1916-1920.
[15] Tensorflow.. (2017-05-31). https://www.tensorflow.org/,2017.
[16] VirusShare.. (2017-05-31). https://virusshare.com,2017.
[17] VirusTotal.. (2017-05-31). http://www.virustotal.com,2017.
[18] Scikit-Learn.. (2017-05-31). http://scikit-learn.org/,2017.
[1] 王志国, 章毓晋. 监控视频异常检测:综述[J]. 清华大学学报(自然科学版), 2020, 60(6): 518-529.
[2] 孙博文, 张鹏, 成茗宇, 李新童, 李祺. 基于代码图像增强的恶意代码检测方法[J]. 清华大学学报(自然科学版), 2020, 60(5): 386-392.
[3] 宋宇波, 祁欣妤, 黄强, 胡爱群, 杨俊杰. 基于二阶段多分类的物联网设备识别算法[J]. 清华大学学报(自然科学版), 2020, 60(5): 365-370.
[4] 蒋文斌, 王宏斌, 刘湃, 陈雨浩. 基于AVX2指令集的深度学习混合运算策略[J]. 清华大学学报(自然科学版), 2020, 60(5): 408-414.
[5] 余传明, 原赛, 胡莎莎, 安璐. 基于深度学习的多语言跨领域主题对齐模型[J]. 清华大学学报(自然科学版), 2020, 60(5): 430-439.
[6] 张思聪, 谢晓尧, 徐洋. 基于dCNN的入侵检测方法[J]. 清华大学学报(自然科学版), 2019, 59(1): 44-52.
[7] 张新钰, 高洪波, 赵建辉, 周沫. 基于深度学习的自动驾驶技术综述[J]. 清华大学学报(自然科学版), 2018, 58(4): 438-444.
[8] 邹权臣, 张涛, 吴润浦, 马金鑫, 李美聪, 陈晨, 侯长玉. 从自动化到智能化:软件漏洞挖掘技术进展[J]. 清华大学学报(自然科学版), 2018, 58(12): 1079-1094.
[9] 方勇, 刘道胜, 黄诚. 基于层次聚类的虚假用户检测[J]. 清华大学学报(自然科学版), 2017, 57(6): 620-624.
[10] 强茂山, 张东成, 江汉臣. 基于加速度传感器的建筑工人施工行为识别方法[J]. 清华大学学报(自然科学版), 2017, 57(12): 1338-1344.
[11] 张敏, 丁弼原, 马为之, 谭云志, 刘奕群, 马少平. 基于深度学习加强的混合推荐方法[J]. 清华大学学报(自然科学版), 2017, 57(10): 1014-1021.
[12] 赵晶玲, 陈石磊, 曹梦晨, 崔宝江. 基于离线汇编指令流分析的恶意程序算法识别技术[J]. 清华大学学报(自然科学版), 2016, 56(5): 484-492.
[13] 刘泽文, 丁冬, 李春文. 基于条件随机场的中文短文本分词方法[J]. 清华大学学报(自然科学版), 2015, 55(8): 906-910,915.
Viewed
Full text


Abstract

Cited

  Shared   
  Discussed   
版权所有 © 《清华大学学报(自然科学版)》编辑部
本系统由北京玛格泰克科技发展有限公司设计开发 技术支持:support@magtech.com.cn