木马检测工具的实现学士学位论文.docx
《木马检测工具的实现学士学位论文.docx》由会员分享,可在线阅读,更多相关《木马检测工具的实现学士学位论文.docx(161页珍藏版)》请在冰点文库上搜索。
木马检测工具的实现学士学位论文
毕业论文声明
本人郑重声明:
1.此毕业论文是本人在指导教师指导下独立进行研究取得的成果。
除了特别加以标注地方外,本文不包含他人或其它机构已经发表或撰写过的研究成果。
对本文研究做出重要贡献的个人与集体均已在文中作了明确标明。
本人完全意识到本声明的法律结果由本人承担。
2.本人完全了解学校、学院有关保留、使用学位论文的规定,同意学校与学院保留并向国家有关部门或机构送交此论文的复印件和电子版,允许此文被查阅和借阅。
本人授权大学学院可以将此文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本文。
3.若在大学学院毕业论文审查小组复审中,发现本文有抄袭,一切后果均由本人承担,与毕业论文指导老师无关。
4.本人所呈交的毕业论文,是在指导老师的指导下独立进行研究所取得的成果。
论文中凡引用他人已经发布或未发表的成果、数据、观点等,均已明确注明出处。
论文中已经注明引用的内容外,不包含任何其他个人或集体已经发表或撰写过的研究成果。
对本文的研究成果做出重要贡献的个人和集体,均已在论文中已明确的方式标明。
学位论文作者(签名):
年月
关于毕业论文使用授权的声明
本人在指导老师的指导下所完成的论文及相关的资料(包括图纸、实验记录、原始数据、实物照片、图片、录音带、设计手稿等),知识产权归属华北电力大学。
本人完全了解大学有关保存,使用毕业论文的规定。
同意学校保存或向国家有关部门或机构送交论文的纸质版或电子版,允许论文被查阅或借阅。
本人授权大学可以将本毕业论文的全部或部分内容编入有关数据库进行检索,可以采用任何复制手段保存或编汇本毕业论文。
如果发表相关成果,一定征得指导教师同意,且第一署名单位为大学。
本人毕业后使用毕业论文或与该论文直接相关的学术论文或成果时,第一署名单位仍然为大学。
本人完全了解大学关于收集、保存、使用学位论文的规定,同意如下各项内容:
按照学校要求提交学位论文的印刷本和电子版本;学校有权保存学位论文的印刷本和电子版,并采用影印、缩印、扫描、数字化或其它手段保存或汇编本学位论文;学校有权提供目录检索以及提供本学位论文全文或者部分的阅览服务;学校有权按有关规定向国家有关部门或者机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权大学可以将本学位论文的全部或部分内容编入学校有关数据库和收录到《中国学位论文全文数据库》进行信息服务。
在不以赢利为目的的前提下,学校可以适当复制论文的部分或全部内容用于学术活动。
论文作者签名:
日期:
指导教师签名:
日期:
分类号:
TP393.08UDC:
D10621-408-(2007)5864-0
密级:
公开编号:
2003031311
成都信息工程学院
学位论文
木马检测工具的实现
学位论文原创性声明
本人郑重声明:
所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
作者签名:
日期:
年月日
学位论文版权使用授权书
本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
作者签名:
日期:
年月日
导师签名:
日期:
年月日
毕业设计(论文)原创性声明和使用授权说明
原创性声明
本人郑重承诺:
所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:
日 期:
指导教师签名:
日 期:
使用授权说明
本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:
按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:
日 期:
木马检测工具的实现
摘要
近年来,“特洛伊木马”(以下简称木马)数量迅速增加,在各类非法程序中已经占到了极大的比重,由木马所造成的破坏和损失也越来越严重,因此,反木马的研究己成为网络安全领域的一个热点和重点。
基于特征码的静态扫描技术由于具有检测潜伏的木马、病毒等非法程序的能力,成为反木马、反病毒等研究领域的一个热点,所以至今特征码技术得到了广泛的应用。
特征代码法,是目前公认的检测己知病毒的最简单、开销最小的方法。
检测工具在将已知木马以二进制读取到的4096位字符串,通过MD5取摘要作为特征码,然后将这些木马独有的特征搜集在一个木马特征码数据库中。
每当需要确定文件是否为木马的时候,检测工具会以扫描的方式将数据文件与特征码数据库内的现有特征码一一比对,如果双方数据吻合,就可以判定该数据文件为木马文件。
本工具检测准确,可识别病毒的名称,依据检测结果,可做相应的处理。
关键词:
网络安全;木马;MD5;特征码
TheImplementationofaTrojanDetectionTool
Abstract
Inrecentyears,thenumberoftrojanisincreasingveryrapidanditnowamountstothemostpartamonginalltheillegalprograms.Trojanshavebroughtmuchmoreseriousdamagesandlosses.Asaresult,theresearchofanti-trojanhasalreadybecomethehotspotandthemainemphasisintheareaofnetworksecurity.Becauseofitsabilityofdetectingunknowntrojans,signature-basedscanninghascurrentlyturnedintohotspotintheanti-trojanresearcharea.Sothecharacteristiccodetechnologyisusedwidely.ThecharacteristiccodetechnologyisthemethodthathasthesimplestandlowestexpensetochecktheTrojans.Thetoolgets4,096bitsfromtheknownTrojansfile,andgetsitsmessagedigestwithMD5algorithm,thenputsthisvalueinanINIfileasthedatabaseofTrojancharacteristiccode.Whenafileischecked,thetoolwillscanthefileandcomparewiththecharacteristiccodedatabase,ifthemessagedigestofthisfileisequaltoacertainrecord,thenwecandeterminethefileisaTrojanfile.Theaccuracyofourtoolisveryhigh,andcanidentifythenameoftheTrojan.Accordingtotheresult,itcantakecorrespondingmeasuretodealwiththeTrojanfile.
Keywords:
Networksecurity;Trojan;MD5;Characteristiccode
论文总页数:
26页
1引言
1.1木马查杀工具设计背景
“特洛伊木马”这个词源于希腊古神话中的一场战役,而今天计算机的应用领域中,木马的存在给网络安全带来了不容忽视的问题。
计算机网络发展到今天,已经迅速延伸到世界的每个角落,大到政府、公司,小到家庭、网吧等场所,己经处处离不开网络,随时随地都要接入Internet与世界同步。
信息产业的发展的确使我们生活有了很大的改善,但是如何控制信息的安全性呢。
有人为了窃取商业机密,个人隐私,使用非法手段,利用操作系统的漏洞,为目标计算机植入木马,这就相当于在对方计算机中安排“内应”,而对方使用者却毫无察觉,于是被植入木马的计算机对于入侵者来说完全就是透明的了,毫无机密可言。
所以木马的出现给网络带来了非常严重的负面影响。
在计算机安全学中,特洛伊木马是指一种表面上有某种功能,而内部隐藏着完成特殊任务代码的计算机程序。
它利用自身具有的植入功能或依附其它具有传播能力病毒等途径,进驻目标机器,搜集各种敏感信息,并通过网络发回搜集到的敏感信息,接受植入者指令,完成各种操作,在一定程度上,木马也可以称为是计算机病毒。
但从木马的本质来讲,它是一种远程控制的黑客工具,具有隐蔽性和非授权性。
一般的木马执行文件都很小,如果把木马捆绑到其它正常文件上,用户很难发现。
并且,木马一般不像计算机病毒那样去破坏文件、占用系统资源,而是在背后充当“间谍”的角色,因此,用户即使中了木马,也很难察觉到它的存在。
从以往网络安全事件的统计分析中可以发现,有相当部分的网络入侵是通过木马进行。
利用木马,攻击者可以窃取密码、控制系统操作、进行文件操作等,造成用户资料的泄漏、破坏或整个系统崩溃。
随着网络化程度的提高,如何有效防范木马己成为人们关注的问题。
目前,国内外很多新版杀毒软件都加入了木马清除功能,市场上也出现了很多“木马”专杀工具,这些软件主要根据木马的动态执行特性识别木马,不能有效识别潜伏的木马。
针对这一情况,本文提出两种根据文件静态信息检测木马的新方法,能有效识别木马文件,特别是潜伏着的没有发作的木马文件。
1.1.1木马的概念及技术原理
木马是一种网络通信程序,它既不同于病毒,也不同于蠕虫。
病毒具有自我复制和感染文件的特点,它能迅速地感染某台计算机上的每个应用程序文件,但它在不同计算机之间的传播通常不是自发的,需要依靠各种人为因素,例如人为发送电子邮件等等。
蠕虫则通常会通过网络主动在计算机之间传播,因此,它的传播速度一般比病毒快。
而木马既不会自我复制和感染文件,也不会主动传播。
木马可分为后门类木马、网银类木马、网游类木马等,其中后门类木马最为常见,网银类和网游类木马次之。
图1后门类木马客户端与服务器的通信示意图
不论哪类木马,均包含服务器程序,平常所说的“中了木马”,更确切地讲是“中了木马服务器”。
服务器程序具有较强的隐蔽性和伪装性,它通常包含在一些合法程序或数据当中,或者木马服务器本身伪装为一个合法程序,例如,游戏软件、工具软件、电子邮件的附件、网页等等,如果计算机运行这些程序、打开这些文件或访问这些网页,就可能同时在计算机操作系统的后台启动了木马服务器的安装程序,但普通计算机用户对此是无法觉察的。
后门类木马的通信如图1所示,除服务器外,还包含客户端,两者遵守一定的通信协议。
如果木马服务器被安装到某台计算机并成功启动,该计算机就成为受控于木马客户端的目标机,木马投放者或者第三方可在网络的另一端,通过木马客户端向其发送各种命令,而服务器则负责接收、解析和执行命令,并将执行结果返回给客户端。
通过这些命令,可以实现对目标机的远程文件管理、远程屏幕监视、键盘和鼠标消息记录、远程关机和重启、系统信息获取、硬盘数据共享以及远程程序执行等。
网银类木马通常没有客户端,它的主要目的在于窃取目标机用户的网络银行帐号和密码,并将其发送到指定的电子邮箱。
而网游类木马的目的则在于窃取网络游戏的帐号、密码和虚拟装备等,并将其发送到指定的电子邮箱,供邮件接收者牟利。
多数服务器会随着目标机的启动而自动运行,运行时,一般还会隐藏进程和网络连接,以躲避进程查看工具以及防火墙软件。
另外,目前某些木马还具有自我恢复功能,在目标机上存放多个服务器程序及相关文件的备份,如果只是其中的某一个被删除,那么,其它备份又会在一定条件下运行起来。
木马一直是国内外黑客和安全专家研究的热点,它发展至今,从早期的BackOrifice、Netspy、冰河等到现在的广外女生、网络神偷等木马,功能越来越强大,隐藏、自启动等方面的技术手段也逐渐多样化。
1.1.2木马的危害
木马不仅破坏计算机及计算机网络,而且对其进行控制,并窃取或篡改重要信息,不断对网络安全造成严重的破坏。
另外,木马还被许多不法分子用作犯罪工具,造成巨大的经济损失,甚至扰乱社会治安。
综观2006年国内的各类典型木马,“传奇男孩”、“剑侠幽灵”及“蜜蜂大盗”等网类木马会盗取网络游戏的帐号、密码及游戏装备,并将其发送到指定电子邮箱,供木马使用者出售牟利,严重侵犯了网络游戏合法用户的网络虚拟财产;“MSN小尾巴”、“QQ小尾巴”等广告类木马会修改网页定向,导致被感染的计算机无法访问一些网站;“网银大盗A”等网银类木马采用窃取击键记录的方法,盗用合法用户网上银行的帐号和密码,给用户带来巨大的经济损失;而“灰鸽子”、“黑洞”等后门类木马则可能使计算机系统完全受到非法控制。
据国际著名风险管理公司公布的调查结果显示,在2006年,病毒、蠕虫和特洛伊木马等恶意程序或混合型攻击共给全球造成了1890亿美元的经济损失。
同时它预计,全球约有6亿部Windows计算机,每部计算机因遭受攻击而带来的经济损失大约在281美元到340美元之间。
基于上述情况,反木马应是反病毒工作者的重点工作之一。
目前,一般的反病毒软件都加入了反木马功能,甚至出现了专门的反木马软件。
反木马的研究正日益受到关注。
1.2现在流行的查杀方式
1.通过网络监控发现网络通信的异常并阻断木马的网络通信,或者定义各种规则,使木马无法进行网络通信。
防火墙、入侵检测(IntrusionDetection)以及入侵保护(IntrusionProtection)是这类技术的典型代表。
它们对网络通信的端口及网络连接作了严格的限制和严密的监控,发现并拦截任何未经允许的网络连接或者通信端口的使用,并向用户报警。
此外,入侵检测还能探测网络流量中潜在的入侵和攻击。
而入侵保护在此基础上又增加了主动阻断功能,目前的入侵保护系统产品在性能和数据包的分析能力上比入侵检测系统产品都有了质的提升。
另外,防火墙联动技术的发展将防火墙从众多的安全问题中解脱出来,与其它技术互补互益,架构起立体的防护系统。
例如,防火墙与入侵检测系统联动,可以对网络进行动静结合的保护,对网络行为进行细颗粒的检查,并对网络内外两个部分都进行可靠管理。
2.特征码技术:
特征码技术最初被应用于反病毒,后亦用于反木马,它被作为检测这些非法程序的最基本的技术沿用至今,也是目前各类反病毒软件普遍采用的主要技术。
3.实时监控:
“实时监控”从文件、邮件、网页等多个不同的角度对流入、流出系统的数据进行过滤,检测并处理其中可能含有的非法程序代码。
与其它技术相比,它在反病毒、反木马等方面体现出实时性的特点,能较明显地减少甚至完全避免由非法程序带来的危害。
目前国内外各类较为著名和常用的安全软件(如Kaspersky,江民、金山毒霸、瑞星等)均具备了这项功能。
4.行为分析:
简而言之,行为分析就是根据程序的动态行为特征(如在注册表设置自启动项等)判断其是否可疑。
目前,病毒、木马等非法程序的种类迅速增加、变化不断加快,带来的危害日益严重,而特征码的提取又必然滞后于非法程序出现,根据国际著名的信息安全厂商熊猫软件公司的技术文献,从某种特征码未知的非法程序出现,到研究出它的检测和清除方法,通常会相隔72个小时甚至更多的时间。
因而需要这样一种技术:
能在特征码提取之前,检测特征码未知的非法程序,以有效的阻止其进行破坏,更大程度地降低损失。
行为分析正是具有可检测特征码未知的非法程序的特点,所以成为目前国内外反病毒、反木马等领域研究的热点。
然而,行为分析在具体应用时一般有较高的误报率,这也是它早在20世纪90年代早期就被提出,而至今仍未得到广泛应用的主要原因。
如何在不提高漏报率的同时,有效地降低行为分析在具休实施时的误报率,是承待解决的问题之一。
最近几年,很多国外研究者将新的智能处理技术引入网络攻击和病毒的检测,提出了许多检测网络攻击和恶意程序的新方法,如:
1、在2001年NAFIPS(NorthAmericanFuzzyInformationProcessingSociety)国际会议上,J.E.Dickerson等人提出基于Agent方法的网络入侵监测系统,该系统通过在各个Agent上对网络活动进行分析,汇总后识别网络攻击行为,可有效识别网络入侵。
后来基于Agent的方法也被很多人用于恶意程序的分析上但这种方法基本可归类为前面提到的方法,对检测潜伏木马仍有一定局限性。
2、在可执行程序中检测恶意代码的观点是由LSFM研究组提出的。
他们应用各种静态和动态方法执行模型检验,看分析的程序是否与违背预先定义的安全策略。
这种识别恶意代码方式存在的最大问题是需要分析者以策略的形式定义恶意代码的行为。
在ACSAC'02会议上,MWeber等人对此方法进行了改进,提出了PEAT系统,该系统不需要定义或识别恶意代码的行为,而是为用户提供了一些工具来分析整个程序的结构特征。
他们认为被插入可执行程序的恶意代码,其结构特征一般与宿主程序的结构特征不一致,并据此判定文件中是否插入了恶意代码。
但如果病毒编写者对该应用程序的结构非常熟悉,模仿其结构特征,或用恶意代码完全替换原程序代码,那么该方法就很难检测出恶意代码的存在。
3,EleazarEskin等人在2005年初的报告中提出将数据挖掘技术用于木马文件的检测。
与本设计提出方法不同之处是,他们先利用数据挖掘技术发现己知类型木马的特征,然后利用这些特征构造分类器来检测木马文件。
与国外相比,国内研究者的主要结合木马的攻击原理与特征研究木马的检测方法,近年提出的检测方法主要是对传统检测方法的改进,也对未知木马的检测进行了探讨:
1、西安交通大学的李顺东等人运用字母集合到数字集合的映射理论、字符串的可计算性理论与数论理论,设计的特洛伊木马检测算法;陈桂清等人提出的通过监视与跟踪系统对外通信进程的操作检测木马的方法等等。
这些方法对识别新型的木马,特别是DLL型木马,就需要进一步改进。
2、中国科学技术大学的朱明等人提出了基于多Agent协作实现未知木马自动识别的方法。
该方法利用驻留在局域网各机器监测Agent和网络监测Agent所收集的证据和初步判断,并由协作Agent对这些证据和初步判断进行融合印证并做出最终结论。
该方法将Agent技术引入木马防范领域,但仍是通过动态执行特性检测木马,对检测潜伏木马仍有一定局限性。
3、2004年,武汉大学计算机学院的单氏虹将人工智能中的启发式分析技术引入木马检测,提出一种启发式分析的木马实时查杀模型。
这种模型既可以实现对已知木马的查杀,又可以对未知木马进行启发式分析,并将分析数据提交专家系统,由专家系统对其判定。
本设计提出的通过分析文件的静态信息,发现木马文件与正常文件的区别,不需要上面提到的专家系统的支持。
传统的木马检测与清除方法归纳起来可分为两类:
一种是利用木马程序运行时的特征码检测木马,另一种通过监视系统端口、网络连接、注册表状态变化等动态监控的方法检测木马。
这些方法共同特点是通过文件的动态执行状态、特性信息来检测木马,对发现某些潜伏得十分隐蔽和新出现的未知木马,没有较好方法。
本设计提出基于文件自身的静态信息来检测木马,是与传统木马检测方法的最大区别,为有效解决潜伏木马的识别问题开辟了一条新思路。
1.3木马检测的实现方法
特征码技术被作为反病毒技术中最基本的技术沿用至今,也是到目前为止各类反病毒软件仍普遍采用的技术。
“特征码”是一串信息,它能唯一标识某一非法程序(如病毒、木马等)。
研究人员通过对非法程序样本的分析,提取出“特征码”写入反病毒软件的特征码库。
特征码技术的基本原理就是在待测文件中查找特征码,一旦查找到,就判定该文件是非法程序或包含了非法程序,并作相应的处理。
基于特征码的静态扫描便是对特征码技术最直接的应用,目前的各类反病毒软件均具备这项基本功能,它对用户指定的某个或某几个文件进行扫描,以确定是否包含非法程序的特征码。
据有吻合之处,就可以判定该数据文件己遭病毒感染。
特征代码法的实现步骤如下
(1)采集己知病毒样本。
如果病毒既感染COM文件,又感染EXE文件,那么要对这种病毒要同时采集COM型病毒样本和EXE型病毒样本。
(2)在病毒样本中,抽取病毒特征代码。
对于既感染COM文件又感染EXE文件的病毒样本,要抽取两种样本共有的代码。
(3)将特征代码存入病毒库。
(4)检测文件。
打开被检测文件,在文件中搜索,检查文件中是否含有病毒数据库中的病毒特征代码。
如果发现病毒特征代码,查询病毒特征代码就可以知道所感染的病毒类型。
在具体实现时,它最初是采用对待测文件全部扫描的方式,在病毒等非法程序出现的早期,非法程序的种类不过数百种,采用这种扫描方式还是比较快捷的,但在目前病毒、木马、蠕虫及其变种的总数超过60000的情况下,这种方式显然是效率低下的。
为此,采用了一些用来提高特征码扫描效率的技术。
因为木马文件一个很明显的特征就是它的文件名和大小,所以通过这两个特征来作为静态查杀的初步选择。
另外就是取文件的MD5值来进行查杀,先对扫描文件进行MD5计算,然后根据得到的MD5值与库中特征码进行比较,如果相同就进行处理。
1.3.1PE文件静态信息的提取和特征码的设置
PE文件是PortableExecutablefile(可移植的执行文件)的简称,它是Window、环境自带的可执行文件的标准格式,它的一些特性继承了Unix的Coff(CommonObjectFileFormat)文件格式。
“PortableExecutable”意味着此文件格式是跨win32平台的:
即使Window、运行在非Intel的CPU上,任何win32平台下的PE装载器都能识别和使用该文件格式。
当然,移植到不同的CPU上PE执行文件必然得有一些改变。
所有win32执行程序(除了VxD和16位的DLL外)都使用PE文件格式,包括NT的内核模式驱动程序。
PE文件主体结构如图2所示。
PE文件使用的是一个平面地址空间,所有代码和数据都被合并在一起,组成一个很大的结构。
文件的内容被分割为不同的区块(Section,又称区段、节),区块中包含代码或数据,各个区块按页边界对齐,区块没有大小限制,是一个连续结构。
每个区块都有它自己在内存中的一套属性,如该区块是否包含