原型示范:木马检测与防御系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
原型示范:木马检测与防御系统
刘婷,关晓红,郑清华,珂鲁,宋元峰,张伟张
MOE KLINNS实验室和SKLMS实验室
西安交通大学电子与信息工程学院
中国,陕西,西安
{tliu, xhguan, klu, yfsong}@ {qhzheng, zhangwzh}@ 摘要:本文提出了一种新的木马检测与防御系统。
原型检索包含用户机密信息的硬盘文件。
然后,通过捕获和分析IRP(I/O请求包)来检测这些文件。
木马的工作过程不同于常规情况下评价几个机器学习模型的API调用,也并不是基于传统的签名机制。
测试结果表明,该原型可以快速准确的检测和防御未知的木马。
关键词:网络安全,木马,API,IRP
Ⅰ.引言
木马,也被称为特洛伊木马,是一种表现呈良性的程序,但实际上它旨在控制系统并盗取可以在地下市场销售的个人信息。
这些年来,其诱人的利润刺激了新型木马以指数形式不断增长。
2007年,卡巴斯基发现了201958个新的木马,与2006年发现的91911个未知危险相比数量以惊人的速度增加了120%。
此外,他预计,“到2008年底新威胁的数量将可能翻倍”。
显然,木马已成为最危险的和最广泛的恶意软件。
目前已经提出了许多的方案和产品用以防御木马程序,如杀毒软件、入侵检测防御系统和防火墙。
然而,面对许多新的木马,安全公司不得不加快反病毒数据库的发布,如从2007年10月开始卡巴斯基每半小时更新一次其数据库。
此外,所有这些基于签名的安全产品都不能保卫地下木马因为其编码和签名难以被捕获和分析。
因此,这些恶意软件成为一个在地下市场最受欢迎的商品,他们比所有已知的木马更多。
在我们的研究中提出了一种新方法用以检测和防御木马,它是基于重要文件和API调用的监测。
该木马的动机是为了窃取机密信息,如银行卡、信用卡或网络游戏的密码,完整身份ID 等。
所有这些数据都被记录在电脑文件里。
因此,可以通过监控所有的访问文件来捕获木马活动。
然而,一个新的Windows XP系统拥有超过30000个文件,并且在平均一台个人电脑中又有超过100000个文件。
因此,这种查找所有包含机密信息的重要文件的文件搜索算法被提出来。
我们只需要监视1000个重要的文件,而不是整个硬盘,就可以检测木马。
木马与正常程序有不同的行为和动机,这些可以反映出程序的真正功能。
因此,他们应该调用不同的API包。
例如,大多数木马会调用“CreatePipe”函数但常见的软件通常会抛弃它,这个函数适用于创建一个匿名管道,并返回的句柄到管道末尾的的读写端:并且它和“releasesemaphore”函数是绝对对立的,该函数适用于对指定的信号量增加指定的值(见表1)。
通过调查5007个木马和712种常见的软件的API调用,我们从2208个标准API中选定了100个来评估该过程。
同时,贝叶斯网络,J48决策树和RBF网络(径向基函数网络)模型都被用来评估程序的API调用从而从正常程序中区分出木马程序。
由于这种方法检测木马是用评估程序的API取代了匹配签名的过程,所以它对新的未知木马具有更好的防御性能和更快的处理速度。
表一. 正常程序和木马之间调用的不同API
(1表示相应的API被某一进程调用而0表示没有被调用)
Ⅱ.系统的体系结构
该系统由三大模块组成:文件搜索模块,IRP监控模块和API评估模块(见图1)。
图1.原型软件的体系结构
建立文件搜索模块是为了找到所有可能包含用户机密信息的文件。
我们推荐通过三种方法
来搜索这些重要文件:
特定的文件夹
例如在Windows系统中“C:\ Windows\System32\config\SAM”是用来储存密码记录的文件夹。
特定的文件名或扩展名
记录了一些重要的信息的文件,会被以特定的方式命名:“MY_bank_account.*”用来记录用户的财务信息;“password.xml”或“*.DBX”被Outlook用来记录用户的电子邮件。
在文件内容的关键词
包含用户的姓名、身份证号、电话号码、信用卡号码的文件需要被小心保护。
IRP监控模块将捕获所有的进程创建的IRP。
根据重要的文件列表,IRP和对敏感文件的访问将被过滤和整理,从而找到它们的来源进程和访问行为。
可疑的IRP将暂停,其进程会被API评估模块作为危险评估。
这样,用户的重要文件将被保护免受木马的攻击。
API评估模块是用来从常规进程中区分木马程序。
当一个进程访问一个重要文件时,在相同调用树中的所有都会被评估,因为木马总是通过调用常用程序来访问受害者的文件。
估计的结果将被转发到IRP监控模块,可疑进程会被杀死的。
此外,新的恶意软件的API调用将被自动收集来训练识别模型以提高检测精度。
Ⅲ.演示场景
如图2所示,该演示系统的硬件部分由下面三个部分组成:
木马攻击者向受害者植入木马,并控制木马搜索上传用户的机密信息给他。
受害者A连接到了木马攻击者并且安装木马。
各种安全软件,如赛门铁克,卡巴斯基已经被安装在该电脑上。
然而,该木马在攻击者的控制下可以避免这些产品的检测并窃取用户的机密信息。
受害者B是由我们的原型系统所保护。
当木马攻击者要访问的重要文件时,木马检测防御系统将中止请求并向用户报警。
同时,在没有用户允许的情况下该可疑进程会在10秒后被自动杀死。
图2.演示的组成部分
用于演示的暂定议程如下:
木马控制受害电脑搜索并窃取用户的机密信息,避开常见安全产品的检测。
我们的原型系统检测和防御木马的能力包括已知和未知的木马。
机密信息搜索的流量和时间性能测试,在高频率访问文件的情况下的IRP包检测和API
评估。
该系统收集新的正常或恶意程序API调用并培养其识别模型的能力。
鸣谢
本文的部分研究是由中国国家科学基金会(60633020,60825202,60574087),国家高技术发展计划(2006BAH02A24-2, 2006BAK11B02, 2007AA01Z475, 2007AA01Z480, and
2007AA01Z464)支持的。
参考文献
[1] Kaspersky Security Bulletin 2007.
/en/analysis?pubid=204791987
[2] MSDN CreatePipe
Function./en-us/library/aa365152(VS.85).aspx
[3] MSDN ReleaseSemaphore Function.
/en-us/library/ms685071(VS.85).asp
[4] Schultz, M.G. et al. Data mining methods for detection of newmalicious executables. Proceedings of the IEEE Symposium on Security and Privacy, 2001.。