木马检测工具的实现.docx

上传人:b****4 文档编号:6994389 上传时间:2023-05-10 格式:DOCX 页数:28 大小:215.75KB
下载 相关 举报
木马检测工具的实现.docx_第1页
第1页 / 共28页
木马检测工具的实现.docx_第2页
第2页 / 共28页
木马检测工具的实现.docx_第3页
第3页 / 共28页
木马检测工具的实现.docx_第4页
第4页 / 共28页
木马检测工具的实现.docx_第5页
第5页 / 共28页
木马检测工具的实现.docx_第6页
第6页 / 共28页
木马检测工具的实现.docx_第7页
第7页 / 共28页
木马检测工具的实现.docx_第8页
第8页 / 共28页
木马检测工具的实现.docx_第9页
第9页 / 共28页
木马检测工具的实现.docx_第10页
第10页 / 共28页
木马检测工具的实现.docx_第11页
第11页 / 共28页
木马检测工具的实现.docx_第12页
第12页 / 共28页
木马检测工具的实现.docx_第13页
第13页 / 共28页
木马检测工具的实现.docx_第14页
第14页 / 共28页
木马检测工具的实现.docx_第15页
第15页 / 共28页
木马检测工具的实现.docx_第16页
第16页 / 共28页
木马检测工具的实现.docx_第17页
第17页 / 共28页
木马检测工具的实现.docx_第18页
第18页 / 共28页
木马检测工具的实现.docx_第19页
第19页 / 共28页
木马检测工具的实现.docx_第20页
第20页 / 共28页
亲,该文档总共28页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

木马检测工具的实现.docx

《木马检测工具的实现.docx》由会员分享,可在线阅读,更多相关《木马检测工具的实现.docx(28页珍藏版)》请在冰点文库上搜索。

木马检测工具的实现.docx

木马检测工具的实现

分类号:

TP393.08UDC:

D10621-408-(2007)5864-0

密级:

公开编号:

2003031311

 

成都信息工程学院

学位论文

 

木马检测工具的实现

 

论文作者姓名:

魏云柯

申请学位专业:

计算机科学与技术

申请学位类别:

工学学士

指导教师姓名(职称):

熊淑华(副教授)

论文提交日期:

2007年6月9日

木马检测工具的实现

摘要

近年来,“特洛伊木马”(以下简称木马)数量迅速增加,在各类非法程序中已经占到了极大的比重,由木马所造成的破坏和损失也越来越严重,因此,反木马的研究己成为网络安全领域的一个热点和重点。

基于特征码的静态扫描技术由于具有检测潜伏的木马、病毒等非法程序的能力,成为反木马、反病毒等研究领域的一个热点,所以至今特征码技术得到了广泛的应用。

特征代码法,是目前公认的检测己知病毒的最简单、开销最小的方法。

检测工具在将已知木马以二进制读取到的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.1木马查杀工具设计背景1

1.1.1木马的概念及技术原理1

1.1.2木马的危害3

1.2现在流行的查杀方式3

1.3木马检测的实现方法6

1.3.1PE文件静态信息的提取和特征码的设置6

1.3.2特征码选择与采集8

1.3.3特征码库的设计8

1.3.4信息摘要技术中的MD5算法9

1.3.5MD5算法的原理及应用10

1.3.6MD5作特征码简介11

2需求分析及方案设计11

2.1本工具要完成的功能11

2.2环境需求11

2.3可行性研究11

3木马查杀功能的实现12

3.1工具模块介绍12

3.2木马特征码的读取12

3.3获得文件MD5特征码14

3.4文件属性的更改19

3.5实现驱动器的选择19

3.6MD5特征码查杀22

结论23

参考文献24

致谢25

声明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,又称区段、节),区块中包含代码或数据,各个区块按页边界对齐,区块没有大小限制,是一个连续结构。

每个区块都有它自己在内存中的一套属性,如该区块是否包含代码、是否只读或可读/写等。

每一个区块都有不同的名字,这个名字用来表示区块的功能。

例如,一个叫rdata的区块表明它是一个只读区块。

常见的区块有text,rdata,data,idata和rsrc等。

各种块的具体含义详见图3块名的具体含义。

PE文件最大的优点是在磁盘上的数据结构与内存中的结构是一致的,如图4物理结构与内存结构对照图。

 

图2PE文件主体结构

图3块名与对应的解释

图4物理结构与内存结构

1.3.2特征码选择与采集

特征码采集的好坏直接影响到整个实验的结果,如果所采集的样本具有一定的普遍性和代表性的话,那么理论值与实际值差别不会有很大出入,甚至直接应用到产品中去;如果木马特征码特性带有局部性,不能代表一般性的话,即使得出结论,也会使实验结果与实际产生很大的偏离。

所以采集特征码的方式在本工具中被列为了重点。

本工具的根本目的是要找出木马文件在文件静态特征上的特征,即文件在执行以前所具有的特征差异,重点是木马文件的静态特性。

所以在选择特征码时,既要选择有代表性的PE文件,又要满足一定的数量。

1.3.3特征码库的设计

由于是简单木马的查杀,所以直接采用了ini文件手动设置特征码库,特征码库ini文件如图5。

注:

[mnum]的值代表收录的木马特征码个数;

[n]代表的是具体第n+1个病毒;

Name代表的是木马文件的文件名;

Size代表的是木马文件的文件大小(以byte计算);

MD5代表的是木马文件的MD5值;

图5特征码库的具体格式

1.3.4信息摘要技术中的MD5算法

MD5的全称是Message-Digestalgorithm5,MD5是一种不可逆的算法,即对生成的密文求逆,对应着无穷个逆。

在90年代初山MITLaboratoryforComputerScience(IT计算机科学实验室)和RSADataSecurity(RSA数据安全公司)的RonaldL.Rivest开发出来,经MD2,MD3和MD4发展而来。

它的作用是让大容量信息在用数字签名软件签署私人密钥前被“压缩”成一种保密的格式(就是把一个任意长度的字节串变换成一定长的大整数)。

不管是MD2,MD4还是MD5,它们都需要获得一个随机长度的信息,产生一个128位的信息摘要。

虽然这些算法的结构或多或少有些相似,但是MD2的设计与MD4和MD5完全不同,是因为MD2是为8位机器做过设计优化的,而MD4和MD5却是而向32位的电脑。

这三个算法的描述和C语言源代码在Internetrfcs1321中有详细的描述,这是一份最具权威的文档,由RonaldL.Rivest在1992年8月向IFFT提交。

Van.Oorscho和Wiener曾经考虑过一个在散列中暴力搜寻冲突的函数(brute-forcehashfunction),而目他们猜测一个被设计专门用来搜索MD5冲突的机器(这台机器在1994年的制造成本大约是一百万美元)可以平均每24天就找到一个冲突,但从1991年到2001年这10年间,竟没有出现替代MD5算法的MD6或被叫做其他什么名字的新算法这一点,我们就可以看出这个瑕疵没有太多的影响MD5的安全性。

上而所有这些都不足以成为MD5的在实

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2