摘 要 近年来,“特洛伊木马”(以下简称木马)数量迅速增加,在各类非法程序中已经占到了极大的比重,由木马所造成的破坏和损失也越来越严重,因此,反木马的研究己成为网络安全领域的一个热点和重点。基于特征码的静态扫描技术由于具有检测潜伏的木马、病毒等非法程序的能力,成为反木马、反病毒等研究领域的一个热点,所以至今特征码技术得到了广泛的应用。特征代码法,是目前公认的检测己知病毒的最简单、开销最小的方法。检测工具在将已知木马以二进制读取到的4096位字符串,通过MD5取摘要作为特征码,然后将这些木马独有的特征搜集在一个木马特征码数据库中。每当需要确定文件是否为木马的时候,检测工具会以扫描的方式将数据文件与特征码数据库内的现有特征码一一比对,如果双方数据吻合,就可以判定该数据文件为木马文件。本工具检测准确,可识别病毒的名称,依据检测结果,可做相应的处理。
关键词:网络安全;木马;MD5;特征码
The Implementation of a Trojan Detection Tool Abstract In recent years, the number of trojan is increasing very rapid and it now amounts to the most part among in all the illegal programs. Trojans have brought much more serious damages and losses .As a result, the research of anti-trojan has already become the hotspot and the main emphasis in the area of network security. Because of its ability of detecting unknown trojans, signature-based scanning has currently turned into hotspot in the anti-trojan research area. So the characteristic code technology is used widely. The characteristic code technology is the method that has the simplest and lowest expense to check the Trojans. The tool gets 4,096 bits from the known Trojans file, and gets its message digest with MD5 algorithm, then puts this value in an INI file as the database of Trojan characteristic code. When a file is checked, the tool will scan the file and compare with the characteristic code database, if the message digest of this file is equal to a certain record, then we can determine the file is a Trojan file. The accuracy of our tool is very high, and can identify the name of the Trojan. According to the result, it can take corresponding measure to deal with the Trojan file.
Key words:Network security; Trojan; MD5; Characteristic code
木马的概念及技术原理 木马是一种网络通信程序,它既不同于病毒,也不同于蠕虫。病毒具有自我复制和感染文件的特点,它能迅速地感染某台计算机上的每个应用程序文件,但它在不同计算机之间的传播通常不是自发的,需要依靠各种人为因素,例如人为发送电子邮件等等。蠕虫则通常会通过网络主动在计算机之间传播,因此,它的传播速度一般比病毒快。而木马既不会自我复制和感染文件,也不会主动传播。木马可分为**类木马、网银类木马、网游类木马等,其中**类木马最为常见,网银类和网游类木马次之。
木马检测的实现方法 特征码技术被作为反病毒技术中最基本的技术沿用至今,也是到目前为止各类反病毒软件仍普遍采用的技术。 “特征码”是一串信息,它能唯一标识某一非法程序(如病毒、木马等)。研究人员通过对非法程序样本的分析,提取出“特征码”写入反病毒软件的特征码库。特征码技术的基本原理就是在待测文件中查找特征码,一旦查找到,就判定该文件是非法程序或包含了非法程序,并作相应的处理。 基于特征码的静态扫描便是对特征码技术最直接的应用,目前的各类反病毒软件均具备这项基本功能,它对用户指定的某个或某几个文件进行扫描,以确定是否包含非法程序的特征码。据有吻合之处,就可以判定该数据文件己遭病毒感染。特征代码法的实现步骤如下(1)采集己知病毒样本。如果病毒既感染COM文件,又感染EXE文件,那么要对这种病毒要同时采集COM型病毒样本和EXE型病毒样本。(2)在病毒样本中,抽取病毒特征代码。对于既感染COM文件又感染EXE文件的病毒样本,要抽取两种样本共有的代码。(3)将特征代码存入病毒库。(4)检测文件。打开被检测文件,在文件中搜索,检查文件中是否含有病毒数据库中的病毒特征代码。如果发现病毒特征代码,查询病毒特征代码就可以知道所感染的病毒类型。在具体实现时,它最初是采用对待测文件全部扫描的方式,在病毒等非法程序出现的早期,非法程序的种类不过数百种,采用这种扫描方式还是比较快捷的,但在目前病毒、木马、蠕虫及其变种的总数超过60000的情况下,这种方式显然是效率低下的。为此,采用了一些用来提高特征码扫描效率的技术。因为木马文件一个很明显的特征就是它的文件名和大小,所以通过这两个特征来作为静态查杀的初步选择。另外就是取文件的MD5值来进行查杀,先对扫描文件进行MD5计算,然后根据得到的MD5值与库中特征码进行比较,如果相同就进行处理。
本工具要完成的功能 本工具的运行是基于Windows平台的,选用所熟悉的开发工具及开发环境进行本工具的设计与开发。 设计开发一个木马检测工具,本设计要求实现部分功能——(1)能对特征码库进行设置;(2)本工具能自动的读取特征码库中的特征码;(2)本工具能检测指定盘符的文件,并进行相应的检测。(4)本工具能进行的检测有普通查杀和特征码查杀。
环境需求 操作系统:Windows XP SP2 开发平台:Visual C++ 6.0
可行性研究 本程序的开发利用Visual C++作为开发工具。使用其作为程序的开发工具,是因为它采用面向对象的编程方法---把程序和数据封装起来作为一个对象,并为每个对象赋予相应的属性;事件驱动的编程机制---通过事件执行对象的操作,在设计应用程序时,不必建立具有明显的开始和结束的程序,而是编写若干个过程,通过这些过程执行指定的操作;提供完善的指令控制语句,给开发高性能的系统提供了保障,保证了代码的模块化要求,而且Visual C++本身就自带一些库函数能够提供一些功能,更利于本工具的开发。
工具模块介绍 模块一:驱动器的选择,该模块可以选择机器上所有本地硬盘和移动盘 模块二:普通查杀的选择,即快速查杀,通过比较文件名和文件大小来查杀。 模块三:特征码查杀的选择,即MD5特征码查杀,通过读取特征库里的数据与文件特征码进行比较来进行查杀。 模块四:显示查杀成功的文件。 模块五:显示正在查杀的文件夹。
目 录 1 引 言 1 1.1 木马查杀工具设计背景 1 1.1.1 木马的概念及技术原理 1 1.1.2 木马的危害 3 1.2 现在流行的查杀方式 3 1.3 木马检测的实现方法 6 1.3.1 PE文件静态信息的提取和特征码的设置 6 1.3.2 特征码选择与采集 8 1.3.3 特征码库的设计 8 1.3.4 信息摘要技术中的MD5算法 9 1.3.5 MD5算法的原理及应用 10 1.3.6 MD5作特征码简介 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.6 MD5特征码查杀 22 结 论 23 参考文献 24 致 谢 25 声 明 26
|