首页
会员中心
到顶部
到尾部
文献综述

《木马程序的查杀设计与实现》文献综述

时间:2020/10/15 9:15:27  作者:  来源:  查看:0  评论:0
内容摘要: 《木马程序的查杀设计与实现》文献综述【摘要】本文介绍了 “基于钩子技术的木马程序的分析和实现”的课题的背景与意义,QQ的背景与发展及木马的研究背景和发展状况。最后,系统性的描述了该系统的结构,以及开发代码的思路。【关键词】钩子技术,QQ,木马The design...

《木马程序的查杀设计与实现》文献综述

【摘要】本文介绍了 “基于钩子技术的木马程序的分析和实现”的课题的背景与意义,QQ的背景与发展及木马的研究背景和发展状况。最后,系统性的描述了该系统的结构,以及开发代码的思路。

【关键词】钩子技术,QQ,木马

The design and accomplishment of checking and killing Trojan horse procedure

Abstract: This article introduced applies the VC research and the design "based on the hook technology QQ Trojan horse dissemination" topic background and significance, QQ background and development and Trojan horse research  background and development condition. Finally, systematic descript this system’s structure, as well as development code mentality.

Keywords: hook technology, QQ, Trojan horse

1.背景及意义

1.1背景

1.1.1网络安全背景

二十一世纪的今天,网络信息安全不是一个新的话题。随着计算机网络技术的超速发展,通过调制解调器拨号上网的时代已经一去不复返,取而代之的是宽带专线接入上网,网络已经成为人们日常生活中不可或缺的一部分,多如网上聊天,网上购物,电子商务,电子邮件等等,网络已经真正融入到我们的生活当中。

美国计算机犯罪调查机构(CSI)和联邦调查局(FBI)的2001年度调查报告表明:百分之九十一的大公司和政府机构在过去的十二个月内发现计算机安全问题,百分之六十四的公司承认存在财务损失,当然,我想,实际的数字比这个还要高。2001年已如此,我想,随着时间的推移,网络科技的不断发展,网络安全这个话题早就已经是每一位上网者所必须严肃面对的问题。然而,大多数的个人(包括许多公司、单位)对于网络安全的态度都是很消极的,甚至等到灾害造成了才想办法去解决,而完全忽视了预防重于治疗的重要性,因此让许多黑客有机可趁。这就提醒我们一定要加强自己的防黑观念与知识。

1.1.2 QQ安全背景

借助于即时通讯市场的爆炸式增长,腾讯QQ发展迅猛,超过1亿用户的腾讯QQ在即时通讯市场上占有率达到70%,最高同时在线人数突破700万,成为国内当之无愧的最大即时通讯软件服务提供商。但外表的风光,掩饰不住腾讯的危机四起:安全漏洞、诚信危机,还有在电信运营商的制裁下,腾讯还能走得一马平川吗?对于腾讯QQ来说,安全问题犹如一把悬在半空的利刃,让人头疼。

俗话说“树大招风”。 已经有将近100种QQ类型的病毒出现。由此可以看出,利用QQ这类即时通讯工具来进行传播的病毒,已经逐渐成为新病毒的流行趋势。《IT时代周刊》记者在采访中获悉,针对QQ本身安全性能的缺陷,不但使针对QQ的各种黑色软件不断增长,也繁衍出各种类型的QQ木马病毒。

对腾讯QQ打击最大的是病毒。早在2003年四月,瑞星就在国内率先截获“QQ木马”病毒的一个变种(Trojan.QQpass7)。该病毒除了盗取用户的QQ密码外,还能与外部黑客程序沟通,导致用户计算机的信息泄密,最重要的是该病毒会在硬盘上的所有文件夹中都拷贝一份病毒复本,浪费大量硬盘空间。甚至只要用户查看被感染分区,病毒就会立即运行。

作为生活的一部分,人们在网络上的活动需要交流工具。而QQ,作为一种网络信息工具越来越受人们的青睐,QQ的使用越来越普及。在网络上,不管男女老少,都熟练的用QQ交流,而同时,对于很多不带戒心的人们,木马程序就趁虚而入,对使用者带来诸多不便。QQ在不断升级的同时,木马制作者也在不断更新木马。因此,使用各式杀毒软件、防火墙的收效甚微。目前国内的防毒软件商也没有推出针对QQ病毒、木马的相应专杀工具。由于QQ本身的安全性能缺陷,使得针对QQ的各种黑客软件不断增长,可以说QQ应该是受各种攻击最多的在线即时通讯软件。

1.1.3  木马研究背景

随着互联网技术的发展,利用广泛开放的网络环境进行全球通信已经成为时代发展的趋势,人们日常的经济和社会生活也越来越依赖互联网。但网络技术给人们带来巨大的便利的同时也带来了各种各样的安全威胁,例如黑客攻击,计算机病毒、特洛伊木马泛滥等。研究在目前开放的网络环境下,如何保证自己的信息安全就显的非常重要。

特洛伊木马(简称木马)是一种具有运行非预期或未授权之功能的程序,例如可以记录用户键入的密码,远程传输文件,甚至可以完全远程控制计算机等。一般黑客在攻击目标得手之后,就会在主机上安装后门,即特洛伊木马。特洛伊木马可以在用户毫不知情的情况下泄漏用户的密码、用户的秘密资料等,甚至可以远程监控用户的操作,因此,某些行业,如国防、外交和商务部门,特洛伊木马的危害性更大,一旦这些部门被安装了木马,损失就会非常惨重。

人们常常将特洛伊木马看成是计算机病毒,其实,它们之间还是有比较大的区别的。病毒是指一个计算机系统运行过程中能把自己准确或有修改地复制到其他程序内的程序。病毒具有传染性、隐藏性、破坏性和潜伏性。而木马通常不具备病毒的最大特性――传染性,对于木马来说,它的目标是单一确定的,具有数据的泄密性。因此说它是病毒并不确切。国内计算机信息安全机构将木马划分为“有害数据”,在国际上则认为它属于“类病毒”。特洛伊木马一般没有复制能力,不会感染其他的寄宿文件,一般在同一台主机上只有一个特洛伊木马。而病毒具有传染性,会不断感染其他的同类文件,在同一台主机上,会出现很多被感染的文件。

而目前,人们对计算机病毒的研究比较多,而对特洛伊木马的研究要相对滞后。许多的反病毒软件也声称能反特洛伊木马,但是,现在的大多数反病毒软件采用的是特征码检测技术,即抽取各种计算机病毒和特洛伊木马等恶意代码样本中的特征码,放入病毒库中,将待检测的软件与病毒库中的特征码比较,如果吻合则判断为恶意代码。特征码技术对于检测已知恶意代码,快捷有效,但是对于检测未知的恶意代码则无能为力。反病毒软件的检测能力总是落后于新的恶意代码的出现的,在这个时间差内,新的恶意代码可能就会泛滥,造成重大损失,特征码技术的这种局限性就决定了其滞后性。

1.2意义

因此,研究如何预防和检测新的未知恶意代码就显的非常重要。由于特洛伊木马特殊的危害性,研究木马的预防和检测意义重大。

2.发展

木马的发展可谓惊人,功能不断完善,行动更加隐蔽。趋势科技总结原因如下:第一,添加了“后门”功能。所谓后门就是一种可以为计算机系统秘密开启访问入口的程序。一旦被安装,这些程序就能够使攻击者绕过安全程序进入系统。该功能的目的就是收集系统中的重要信息,例如:财务报告、口令及信用卡号。此外,攻击者还可以利用后门控制系统,使之成为攻击其他计算机的帮凶。由于后门是隐藏在系统背后运行的,因此很难被检测到。它们不像病毒和蠕虫那样通过消耗内存而引起注意。第二,添加了击键记录功能。从名称上就可以知道,该功能主要是记录用户所有的击键内容。一定时间后,木马会将击键记录的日志文件发送给恶意用户。恶意用户可以从中找到用户名、口令以及信用卡号。

3.系统结构

3.1 QQ木马的传播

系统钩子监视系统中的所有线程的事件消息。因为系统钩子会影响系统中所有的应用程序,所以钩子函数必须放在独立的动态链接库(DLL) 中。把DLL文件挂载在桌面,然后用钩子捕获QQ句柄。

3.2 QQ木马的执行

作为一个优秀的木马,自启动功能是必不可少的,这样可以保证木马不会因为你的一次关机操作而彻底失去作用。经常用的方法主要有以下几种:

(1)在Win.ini中启动:

在Win.ini的[windows]字段中有启动命令"load="和"run=",在一般情况下 "="后面是空白的,木马可以在他后面跟程序。

(2)在System.ini中启动:

System.ini位于Windows的安装目录下,其[boot]字段的shell=Explorer.exe是木马喜欢的隐藏加载之所,木马通常的做法是将它变为:shell=Explorer.exefile.exe。这里的file.exe就是木马服务端程序了。

另外,在System.中的[386Enh]字段,木马也可以利用此段内的"driver=路径\程序名"。再有,在System.ini中的[mic]、[drivers]、[drivers32]这3个字段也是起到加载驱动程序的作用,但也是增添木马程序的好场所。

(3)利用注册表加载运行:

在注册表位置下的一些程序中加载运行。

(4)在Autoexec.bat和Config.sys中加载运行:

在C盘根目录下的这两个文件也可以启动木马。但这种加载方式一般都需要控制端用户与服务端建立连接后,将己添加木马启动命令的同名文件上传到服务端覆盖这两个文件才行,而且采用这种方式不是很隐蔽。

(5)在Winstart.bat中启动:

Winstart.bat是一个特殊性丝毫不亚于Autoexec.bat的批处理文件,也是一个能自动被Windows加载运行的文件。它多数情况下为应用程序及Windows自动生成,在执行了Win.com并加载了多数驱动程序之后开始执行。由于Autoexec.bat的功能可以由Witart.bat代替完成,因此木马完全可以像在Autoexec.bat中那样被加载运行。

(6)启动组:

木马隐藏在启动组虽然不是十分隐蔽,但这里的确是自动加载运行的好场所。启动组对应的文件夹为C:\Windows\start menu\programs\startup,在注册表中的位置:HKEY_CURRENT_USER\Software\Microsoft\windows\CurrentVersion\Explorer\shell

Folders Startup="c:\windows\start menu\programs\startup"。要注意经常检查启动组!

(7)*.INI:

即应用程序的启动配置文件。控制端利用这些文件能启动程序的特点,将制作好的带有木马启动命令的同名文件上传到服务端覆盖这同名文件,这样就可以达到启动木马的目的了。

(8)修改文件关联:

修改文件关联是木马们常用手段,比方说正常情况下TXT文件的打开方式为Notepad.EXE文件,但一旦中了文件关联木马,则txt文件打开方式就会被修改为用木马程序打开。

对付这类木马,只能经常检查HKEY_C\shell\open\command主键,查看其键值是否正常。

(9)捆绑文件:

实现这种触发条件首先要使控制端和服务端通过木马建立连接,然后控制端用户使用工具软件把木马文件和某一应用程序捆绑在一起,然后上传到服务端覆盖源文件,这样即使木马被删除了,只要运行捆绑了木马的应用程序,木马也会安装上去。

(10)反弹端口型木马的主动连接方式:

反弹端口型木马与一般的木马相反,其服务端 (被控制端)主动与客户端 (控制端)建立连接,并且监听端口一般开在80。

3.3 QQ木马的隐藏

(1)在任务栏里隐藏:

这是最基本的隐藏方式。只要把from的Visible属性设置为False,ShowInTaskBar设为False程序就不会出现在任务栏里了。

(2)在任务管理器里隐藏:

查看正在运行的进程最简单的方法就是按下Ctrl+Alt+Del时出现的任务管理器。把木马设为 “系统服务”就可以伪装自己,使自己不出现在任务管理器里。

(3)端口:

一台机器有65535个端口,现在大部分木马一般在占领主机后会在1024以上不易发现的高端口上驻留;有一些木马会选择一些常用的端口。

(4)隐藏通讯:

它是木马经常采用的手段之一。任何木马运行后都要和攻击者进行通讯连接,或者通过即时连接,或者通过间接通讯。有一些木马会选择一些常用的端口,如80、23,有一种非常先进的木马还可以做到在占领80端口后,收到正常的HTTP请求仍然把它交与Web服务器处理,只有收到一些特殊约定的数据包后,才调用木马程序。

(5)隐藏加载方式:

木马加载的方式可以说千奇百怪,无奇不有。但殊途同归,都为了达到一个共同的目的,那就是使你运行木马的服务端程序。而今,越来越多的东西可以成为木马的传播介质,Java Script、VBScript几乎WWW每一个新功能都会导致木马的快速进化。

(6)Windows下的中文汉化软件采用的陷阱技术:

通过修改虚拟设备驱动程序(VXD)或修改动态链接库 (DLL)来加载木马。这种方法与一般方法不同,它基本上摆脱了原有的木马模式---监听端口,而采用替代系统功能的方法(改写vxd或DLL文件),木马会将修改后的DLL替换成系统已知的DLL,并对所有的函数调用进行过滤。对于常用的调用,使用函数转发器直接转发给被替换的系统DLL,对于一些相应的操作。实际上,这样的事先约定好的特种情况,DLL会执行一般只是使用DLL进行监听,一旦发现控制端的请求就激活自身,绑在一个进程上进行正常的木马操作。这样做的好处是没有增加新的文件,不需要打开新的端口,没有新的进程,使用常规的方法监测不到它。在往常运行时,木马几乎没有任何瘫状,且木马的控制端向被控制端发出特定的信息后,隐藏的程序就立即开始运作。

3.4 QQ木马的解除

(1)删除可疑的启动程序

查看系统启动程序和注册表是否存在可疑的程序后,判断是否中了木马,如果存在木马,则除了要查出木马文件并删除外,还要将木马自动启动程序删除。

(2)恢复win.ini和system.ini系统配置文件的原始配置

在Win.ini的[windows]字段中有启动命令"load="和"run=",在一般情况下 "="后面是空白的;在System.ini中启动,System.ini位于Windows的安装目录下,其[boot]字段的shell=Explorer.exe,如果发现配置被改,则恢复原始配置,再删除病毒文件即可。

(3)停止可疑的系统进程

木马程序在运行时都会在系统进程中留下痕迹。通过查看系统进程可以发现运行的木马程序,在对木马进行清除时,当然首先要停掉木马程序的系统进程,然后修改注册表和清除木马文件。

(4)修改注册表

运行regedit命令打开注册表编辑器,点击至:“HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run”目录下,查看键值中有没有自己不熟悉的自动启动文件,扩展名为EXE,以便病毒可随机自启动。如果有,就需要我们进入注册表,将这个键值删除。注意:可能有些木马会不允许执行.exe文件,这样我们就需要先将regedit.exe改成系统能够运行的,比如可以改成regedit.com。当然在注册表中还有很多地方都可以隐藏木马程序,如:“HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run”以及 “HKEY_USERS\****\Software\Microsoft\Windows\CurrentVersion\Run”的目录下都有可能,最好的办法就是在“HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run”下找到“木马”程序的文件名,再在整个注册表中搜索即可。

如果发现注册表中有木马,那么运行regedit对注册表进行编辑,先在“HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run”下找到木马程序的文件名,再在整个注册表中搜索并替换掉木马程序,有时候还需注意的是:有的木马程序并不是直接将“HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run”下的木马键值删除就行了,因为有的木马,如果你删除它,它会立即自动加载,你需要的是记下木马的名字与目录,然后退回到MS-DOS下,找到此木马文件并删除掉。重新启动计算机,然后再到注册表中将所有木马文件的键值删除。

3. 5 木马的防范

随着网络的普及,硬件和软件的高速发展,网络安全显得日益重要。对于网络中比较流行的木马程序,传播时间比较快,影响比较严重,因此对于木马的防范就更不能疏忽。我们在检测清除木马的同时,还要注意对木马的预防,做到防范于未然。

1.不要随意打开来历不明的邮件

现在许多木马都是通过邮件来传播的,当你收到来历不明的邮件时,请不要打开,应尽快删除同时要加强邮件监控系统,拒收垃圾邮件。

2.不要随意下载来历不明的软件

最好是在一些知名的网站下载软件,不要下载和运行那些来历不明的软件。在安装软件时最好先用杀毒软件查看若确定无病毒才进行安装。

3.及时修补漏洞和关闭可疑的端口

一般木马都是通过漏洞在系统上打开端口留下后门,以便上传木马文件和执行代码,在把漏洞修补上的同时,需要对端口进行检查,把可疑的端口关闭。

4.尽量少用共享文件夹

如果必须使用共享文件夹,则最好设置账号和密码保护。注意千万不要将系统目录设置成共享,最好将系统下默认共享的目录关闭。Windows系统默认情况下将目录设置成共享状态,这是非常危险的。

5.运行实时监控程序

在上网时最好运行反木马实时监控程序和个人防火墙,并定时对系统进行病毒检查。

6.经常升级系统和更新病毒库



【参考文献】

[1]程秉辉,John Hawke. 木马防护全攻略(第一版)[M]. 科学出版社,2005.187-210页.

[2]Roger A. Grimes. Malicious Mobile Code: Virus Protection for Windows[M], O’Reilly Media,Inc.2001,190-235页.

[3]张友生, 米安然. 计算机病毒与木马程序(第一版)[M]. 北京科海电子出版社, 2003. 328-350,373-378页.

[4]宁正元. Delphi程序设计与应用教程(第一版)[M]. 中国水利水电出版社, 2005.

[5] 郭勇鹏,陈业夫,马懿超. VC++中DLL的应用 [J]. 应用科技, 2004.51-58页.

[6] 王西武,阎梅,赵怀勋.在VC6下应用Windows系统钩子技术[J]. 现代电子技术,维普资讯,2004.72-80页.

[7] 向辉, 沈建国. 关于Hook技术以及Windows消息的研究[J]. 电子工程师, 2004.

[8] 严佟然. 基于VC的HOOK技术实现[J]. 电脑学习,2004.35-48页.

[9]Johnson L W,Riess R D. Numerical Analysis [M]. 2nd ed,Reading,Mass.Addison-Wesley.

[10]Stor J,Bulirsch R.1980.Introduction to Numerical Analysis[M].New York:Springer-Verlag.

[11] 郎锐,在Visual C 6.0下应用Win32系统钩子技术[J].电脑编程技巧与维护,2001,第10期. 42-59页.

[12]东方人华.Delphi7入门与提高(第一版)[M].清除大学出版社,2003.

[13] 陈天平,周华,杨瑾. 木马入侵手段及防范措施[J]. 计算机与信息技术,2005,第4期.131-142页.

[14] 潘勉,薛质. 特洛伊木马植入技术[J]. 信息安全与通信保密,2004,第2期.88-95页.

[15] Mandy Andress.计算机安全原理[M].杨涛,杨晓云,王建桥,高文雅译.北京:机械工业出版社,2002.123-167页.

[16] 李琴,张友方,王红. 特洛伊木马的判断、清除及其防范[J]. 计算机与信息技术,2003, 第10期.64-78页.

[17](美)Peter T.Davis. 计算机安全保密指南,电子工业出版社.

[18] 李锋,于心亮. 守住木马的必经之路 [J]. 电脑知识与技术,2005年 13期, 2005,第2期.53-58页.

[19] 刘爱军,鲁广英. “特洛伊木马”——恶意远程控制入侵攻防[J]. 福建电脑2005年 06期.33-39页.

[20] 陈红波. 木马病毒的查杀[J]. 电脑开发与应用,2005,04期.89-101页.

[21] 龙海燕. 如何通过端口防木马[J]. 丹东纺专学报,2005,01期.25-37页.

  


相关评论
广告联系QQ:45157718 点击这里给我发消息 电话:13516821613 杭州余杭东港路118号雷恩国际科技创新园  网站技术支持:黄菊华互联网工作室 浙ICP备06056032号