恶意软件检测的国内外研究现状
文献综述
恶意软件检测方法
基于行为
Analysis of Machine Learning Techniques Used in Behavior-Based Malware Detection表明随着恶意软件的高速增长,传统的静态分析已经不能够满足检测的需求,所以使用机器学习的方法来对恶意软件进行分类及检测已成为目前最为流行的方法之一。它通过研究恶意软件在沙盒内的行为模式,生成行为报告,再由此进行机器学习,采集起特征进行检测。作者探究了多种机器学习算法,包括k-NN、朴素贝叶斯算法、J48决策树、SVM、以及多层前向神经网络这5种算法的效果,最后得出结论,在这几种算法中,J48决策树的表现最好。
Bottracer: Execution-based bot-like malware detection则更加具体地提出了3点特征:1)一个僵尸主机的形成一定不需要任何用户操作;2)一台僵尸主机一定会和其master建立C&C通道进行连接;3)这台僵尸主机或早或晚会发起本地或者远程的攻击。基于这3点,作者开发了BotSniffer来对僵尸网络进行检测。
BotHunter: Detecting Malware Infection Through IDS-Driven Dialog Correlation通过对双向流量的分析以及网络包的感知,来检测一些属于网络入侵的特定状态,如向内扫描、漏洞利用、egg downloading、向外并行会话等等,当这些特定状态符合一定的序列,则可认为其可疑。
基于流量
POSTER: A Lightweight Unknown HTTP Botnets Detecting and Characterizing System发现,僵尸网络中最具价值的信息主要聚集在僵尸主机第一次发出的包(FREQ)和C&C服务器第一次返回的包(FRES)中,所以作者将目光主要放在了这两个包上,从包和流量两个层次上一起进行分析,并由此将僵尸网络进行分类。
Automatically generating models for botnet detection关注了僵尸主机向服务器发送信息和服务器返回信息的特征,并建立了检测模型。作者使用了一台真实的僵尸主机并记录了其网络活动,该模型会自动被真实僵尸主机的网络流量轨迹触发进行检测。
Clustering
BotMiner: Clustering Analysis of Network Traffic for Protocol-and Structure-Independent Botnet Detection将僵尸网络定义为一组具有同时性、通过C&C信道进行通信的恶意软件,作者认为,僵尸网络的最大特点,就是僵尸主机和一些C&C服务器的通信,并做一些恶意性的事。由此,作者聚类出了一些类似的通信流量和恶意流量,并使用cross cluster correlation,找出了一批同时有着类似的通信模式与恶意活动模式的主机——这些即所监视的网络中的僵尸主机。
图挖掘
GMAD: Graph-based Malware Activity Detection by DNS traffic analysis开发了一款名为GMAD(Graph-based Malware
Activity Detection)的工具,它利用一连串的DNS请求来对付利用多个域名来混淆检测的入侵技术。它由一连串的DNS请求生成了一张 Domain Name Travel Graph,并依靠这张关系图来将域名进行聚类,最后根据一些公开的黑名单来判定哪些类是恶意的。这个方法能够达到平均99%的准确率,误检率在0.5%以下。
BotGraph: Large Scale Spamming Botnet Detection
BotGraph旨在检测一种新型的利用僵尸网络发送垃圾邮件的攻击,它构建了一份大型的用户-用户的图,其关键点在于僵尸网络的用户往往会分享同样的一些IP地址,而BotGraph就是利用random graph理论(似乎就是概率分布图)来检测恶意的IP地址分享。
Analyzing File-to-File Relation Network in Malware Detection通过构建文件与文件之间的关系图来进行恶意软件的检测,他们首先采用了Malicious Score Inference Algorithm,来从大量的文件中选取出一些代表性的例子,然后再采用BP算法进行检测。
File Relation Graph Based Malware Detection Using Label Propagation依靠文件关系图来检测恶意软件,它使用了k-nn来进行最近节点的计算,两点间的边是这两个节点的相似度。再用Label propagation algorithm来从标记过的文件中获得标记信息,从而给未标记的文件进行标记,从而获得一个未知文件的恶意性程度。
Polonium: Tera-Scale Graph Mining for Malware Detection
该方案可分为2个阶段,首先进行reputation的计算,这一计算基于“好的文件应该被更多的人所使用,应该有一个已知的发布者以及一些其他可证明其合法性的属性”,而坏的文件则相反。然后,他开发了一种名为Polonium的技术,建立二分图,通过reputation、文件恶意性的相似的容易聚集一起,文件出现频率,以及一些ground truth来计算出这个文件是否为恶意的可能性。
参考文献
[1]Firdausi, I., C. Lim, A. Erwin, and A.S. Nugroho. “Analysis of Machine Learning Techniques Used in Behavior-Based Malware Detection.” In Second International Conference on Advances in Computing, Control and Telecommunication Technologies (ACT), 201–3, . doi:10.1109/ACT..33.
[2]Gu, Guofei, et al. "BotHunter: Detecting Malware Infection Through IDS-Driven Dialog Correlation." Usenix Security. Vol. 7. .
[3]Gu, Guofei, et al. "BotMiner: Clustering Analysis of Network Traffic for Protocol-and Structure-Independent Botnet Detection." USENIX Security Symposium. Vol. 5. No. 2. .
[4]Gu, Guofei, Junjie Zhang, and Wenke Lee. "BotSniffer: Detecting botnet command and control channels in network traffic." ().
[5]Liu, Lei, et al. "Bottracer: Execution-based bot-like malware detection." Information Security. Springer Berlin Heidelberg, . 97-113.
[6]Li, Ke, Chaoge Liu, and Xiang Cui. "POSTER: A Lightweight Unknown HTTP Botnets Detecting and Characterizing System." Proceedings of the ACM SIGSAC Conference on Computer and Communications Security. ACM, .
[7]Wurzinger, Peter, et al. "Automatically generating models for botnet detection." Computer Security–ESORICS . Springer Berlin Heidelberg, . 232-249.
[8]Lee, Jehyun, and Heejo Lee. "GMAD: Graph-based Malware Activity Detection by DNS traffic analysis." Computer Communications 49 (): 33-47.
[9]Zhao, Yao, et al. "BotGraph: Large Scale Spamming Botnet Detection." NSDI. Vol. 9. .
[10]Chen, Lingwei, et al. "Analyzing File-to-File Relation Network in Malware Detection." Web Information Systems Engineering–WISE . Springer International Publishing, . 415-430.
[11]Ni, Ming, et al. "File Relation Graph Based Malware Detection Using Label Propagation." Web Information Systems Engineering–WISE . Springer International Publishing, . 164-176.
[12]Chau, Duen Horng, et al. "Polonium: Tera-scale graph mining for malware detection." ACM SIGKDD Conference on Knowledge Discovery and Data Mining. .