木马技术与防治分析

更新时间:2023-06-11 07:01:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

木马技术与防治分析

肖四华   侯旭平   林意佳

中国人民解放军92762部队   福建   361009

摘要:本文以木马为主题,对木马的植入方式、加载技术、隐藏技术等方面进行了综合研究,根据对木马技术的分析,给出了木马预防的方法,以及木马的检测及清除方法。

关键词:木马技术;植入方式;预防;检测与清除

0  引言

木马,又称为特洛伊木马,是一类特殊的后门程序,是一种基于远程控制的黑客工具,通过非法手段把服务器程序种植在用户的机器上。一旦侵入用户的计算机,就悄悄地在宿主计算机上运行,在用户毫无察觉的情况下,让攻击者获得远程访问和控制系统的权限,进而在用户的计算机上修改文件、修改注册表、控制鼠标、监视/控制键盘等操作,以达到各种目的,如窃取用户的私人信息,商业机密等,造成无法估量的损失。本文将从木马的常用技术、木马的预防和木马的检测及清除三个方面来分析。

木马的植入是一个非自我复制的恶意代码,可以作为电子邮件附件传播,或者可能隐藏在用户与用户进行交流的文档和其他文件中,主要是指木马利用各种途径进入目标机器的具体实现方法,大致分为以下四种:

(1)通过电子邮件:通过E-mail,将木马程序以附件的形式通过电子邮件发送到用户端(收信人),收信人只要打开附件就会被植入木马程序。

(2)通过下载文件:黑客将木马程序捆绑在软件安装程序上,用户在不知道的情况下下载并安装,木马程序随着安装程序的安装也就自动地安装到用户的计算机上。

(3)通过网页:木马和网页捆绑在一起,当用户浏览到该网页,就会在不知不觉中下载其捆绑的木马并执行。

(4)通过社会工程学:通过欺骗的手段诱惑用户植入木马程序。

木马的植入离不开系统及应用程序漏洞,利用漏洞得到机器控制权以后再种上木马也是一种行之有效的方法。随着系统及应用程序漏洞的不断发掘,木马的植入技术也必将随之不断推陈出新。

1  木马的常用技术

木马由两部分组成,一部分是客户端程序,即控制在攻击者手中的程序,攻击者通过它获取远程计算机的数据并通过它控制远程计算机。另一部分是服务器端程序,即由用户运行的程序,用户计算机上一旦运行了该程序,就可以通过客户端程序与之通讯,从而可以得到用户计算机的各种控制权限,包括各种指令操作和窃取私人信息。一个典型的特洛伊木马通常具有:隐蔽性、非授权性、欺骗性等特点。隐蔽性是指木马的设计者为了防止木马被发现,会采用各种手段隐蔽木马,使木马能够在用户不易察觉的情况下,完成一些危害用户的操作;非授权性是指一旦控制端与服务器连接后,控制端将享有用户机器的控制权限,包括修改文件、修改注册表、监视服务器的一切动作等;欺骗性是指木马的设计者常利用工具软件将木马绑定到某个合法软件上,诱使用户运行合法软件。

近年来,木马技术取得了较大的发展,目前已彻底摆脱了传统模式下通信方式单一、隐蔽性差等不足。借助一些新技术,木马不再依赖于对用户进行简单的骗,也可以不必修改系统注册表,不开新端口,不在磁盘上保留新文件,甚至可以没有独立的进程,这些新特点使对木马的查杀变得愈加困难,但与此同时却使得木马的功能得到了大幅提升。

1.2  木马的加载技术

当木马成功植入目标机后,就必须确保自己可以通过某种方式得到自动运行。流行的木马加载技术主要包括:系统服务加载、文件劫持和底层驱动加载等。

(1)系统自动加载:木马设计成服务的方式启动,这是最常用的木马自动加载方法,加载方式简单有效,但隐蔽性差。

(2)件劫持:木马被植入到目标机后,首先对某个系统文件进行替换或嵌入操作,使得该系统文件获得访问权之前,木马被率先执行,然后再将控制权交还给相应的系统文件。采用这种方式加载木马不需要修改注册表,可以有效地躲过注册表扫描型反木马软件的查杀。一种常用简单的实现方法是将某系统文件改名,然后将木马程序改名,当这个系统文件被调用的时候,实际上是木马程序被运行,而木马启动后,再调用相应的系统文件并传递原参数。另一种实现方法是采

1.1  木马的植入技术

取嵌入操作,包括以下三种策略:

策略一:把木马启动代码插入PE文件头部,或者尾部,缺点是改变了宿主程序的大小,且容易被查杀。

策略二 :利用PE文件中足够长的全部为零的程序数据区或堆栈区放入木马启动代码,然后改变宿主程序开始代码入口地址,使藏在其中的启动代码先于宿主程序而运行,这种方式能够保持宿主程序插入启动代码后长度不变,缺点是PE文件有时没有足够的空间,启动代码必须短小高效。

策略三:为了躲避查杀,更好的隐蔽自身,常采用入口模糊技术,即木马在不修改宿主原入口点的前提下,通过在宿主代码体内某处插入跳转指令来使木马获得控制权,即在宿主程序启动的时候,没有立刻跳转到木马启动代码开始处执行。

通常选择的PE文件都是系统文件,如LSASS.EXE,系统启动的同时加载了木马启动代码,启动代码再加载功能部分,这样就没有新的进程,通常可以躲避一些杀毒软件。

(3)底层驱动:把木马设计成驱动程序的形式,可以逃避大部分杀毒软件,缺点是编程难度增大。

系统中用户运行的可PE文件和库文件,在操作系统的用户态运行;另一种是内核模式RootKit,即控制和修改操作系统内核,运行在操作系统的内核态,为了运行在内核态,RootKit技术需要以驱动程序调入内核,进入内核后对系统所有用户的和内核的内存空间拥有完全的访问权限,能够修改任何的程序代码和系统数据结构。RootKit隐藏的内容包括文件、目录、进程、注册表项、网络端口、设备驱动器、网卡模式等所有使用户判断系统异常的行为和表现。

2  木马的预防

为了防止木马,必须强化系统安全,确保操作系统和应用程序是最新的,及时安装所有补丁、紧急修复以及升级补丁;禁止不需要的服务,不必要的服务和不合适软件的运行会产生不必要的风险,同时还要加强个人素质。

对于一般的木马防护采取如下措施:

(1)不要随意下载和运行来历不明的软件,最好是在一些知名的网站下载软件,安装软件之前先用杀毒软件查杀。但由于网站容易被未公开的漏洞攻破,导致出现网站挂马,所以下载免费软件都有潜在的风险。

(2)安装杀毒软件和防火墙,防火墙可以主动拦截各种应用程序的网络连接,但是对于DLL注入的木马有时就无能为力,杀毒软件可以查杀病毒库的木马。

(3)自动升级系统补丁,关闭没必要的服务和端口,自动升级系统和更新病毒库。

对于网页木马,因网页木马的运行需要一定的条件,可以采取如下措施:

(1)禁用文件系统对象FileSystemObject,用regsvr32scrrun.dll /u即可。

(2)卸载WSH,打开”控制面板”-->”添加/删除程序”-->”Windows安装程序”-->”附件”,取消Windows ScriptingHost一项。

(3)删除VBS、VBE、JS、JSE文件后缀名与应用程序的映射。

(4)在系统目录下删除或者改名WScript.exe。

(5)自定义IE安全级别,把与“ActiveX 控件及插件”有关的一切禁用。

(6)禁止Outlook、Outlook Express的自动收发邮件功能,使用文本的方式浏览网页邮件。

1.3  木马的反清除技术

为确保木马被清除,木马常常具有一定反清除能力,主要反清除技术包括:多线程、系统内核嵌入和BIOS写入等。

(1)多实例:将木马程序分别存放在目标机器的不同目录下,木马实例相互监督,以防止某个木马实例被查杀。当一个进程(或线程)被杀死时,其他进程(或线程)就立刻重新生成该进程(或线程)的实例。

(2)操作系统内核嵌入。木马如果已获取了操作系统的部分控制权,就可以将自己紧密地依附到系统部件上,这就使木马查杀变得更加困难。

(3)BIOS写入。BIOS是系统的基本输入输出系统,如果将特定的木马代码写入BIOS,将会使木马更加难于清除。

1.4  木马的隐藏技术

为确保有效性,木马必须具有较好的隐蔽性。现在流行的木马隐蔽技术包括:DLL技术、RootKit技术等。

(1)DLL技术:采用DLL技术实现木马的隐蔽性,主要通过以下两种途径:DLL陷阱和DLL注入。DLL陷阱技术是一种针对DLL的高级编程技术,用一个精心设计的DLL替换已知的系统DLL或嵌入其内部,并对所有的函数调用进行过滤转发。DLL注入技术是将一个DLL注入到某个进程的地址空间,然后潜伏在其中并完成木马的操作,注入的常用进程包括SVCHOST,EXPLORE.EXE等进程。

(2)RootKit技术:通过修改操作系统软件,使攻击者获得持续的系统访问权,并将自己隐藏在系统中不被用户发现。通过两种不同层次来实现,一种是用户模式RootKit,即修改

3  木马的检测及清除

反击木马,最佳的武器是最新的、成熟的木马扫描工具。扫描工具能够检测出大多数木马,并尽可能的是清理过程自动化,但任何工具软件在防治新木马时都存在一定的滞后性。检测和清除木马的一般流程如下:

[下转33页]

是Windows系统要采用NTFS文件系统格式。

右键点击D盘的LOG目录,选择“属性”,切换到“安全”标签页后,首先取消“允许将来自父系的可继承权限传播给该对象”选项勾选。接着在账号列表框中选中“Everyone”账号,只给它赋予“读取”权限;然后点击“添加”按钮,将“System”账号添加到账号列表框中,赋予除“完全控制”和“修改”以外的所有权限,最后点击“确定”按钮。这样当用户清除Windows日志时,就会弹出错误对话框。

地备份为例内容如下:

dumpel -l system -f BackupSystemlog.logdumpel -l Application -f BackupApplog.logdumpel -l Security -f BackupSeclog.log上述代码保存BAT文件运行即可。

如果利用计划任务还可以实现定期备份系统日志。

5  结论

我们知道日志是网络管理员的帮手。 一个小小日志能为网络管理员提供更可靠信息,同时也为网络运行提供可靠保障。要想利用好日志,必须要了解日志、认识日志,更要熟悉日志结构,这样很快就能提取所需相关信息,来处理相关的网络故障。充分利用日志功能,可以大大的降低网络管理人员的工作量,日志不是操作系统的系统日志。网络管理人员可以根据日志文件在发生错误现象时,能够预先知道征兆,也是解决网络故障根本依据。可见,日志能给我们的工作提供很大保障。随着网络不断扩大,设备数量不断地增加,不可能对所管理区域定期登录到设备上察看日志信息,就不可能提前知道问题存在,如果别人试图利用VPN服务器非法访问企业内部的网络,这些都会在日志上留下痕迹。网络管理人员若不能够从日志上得知这些信息的话,则就不能够采取相关的措施,来预防下次的攻击。

4.3  日志文件的备份

以上两种方法虽然在一定程度上能保护系统日志的安全,但只要黑客有足够的权限,还是能够通过更改日志文件夹的安全权限来达到清除日志的目的。对于系统日志文件的安全保护来说要经常备份日志也是实现日志文件保护的重要手段。备份的方法可以通过手工或用脚本工具来备份系统日志。备份日志工具可用微软Resource Kit工具箱中的dumpel.exe工具备份日志文件,其格式为:dumpel -f file [-s \\server] [-l log [-msource]] [-e n1 n2 n3..] [-r] [-t] [-dx]

-s \\server 输出远程计算机日志,如果是本地可以省略。-f filename 输出日志的位置和文件名。

-l log log 可选为System,Security,Application,可能还有别的如DNS等。

如要通过dumpel工具备份目标服务器Server上的系统日志转存为Systemlog.log可以用如下格式:

dumpel -s\\server -l system -f BackupSystemlog.log。利用dumpel实现日志备份如果觉得手工输入很麻烦,还可以用BAT来写个脚本,当需要备份日志的时候运行。以本

[上接35页]

参考文献

[1]邓吉,张奎亭,罗诗尧.网络安全攻防实战.电子工业出版社.2003.[2]孙成.“细心呵护”Windows日志.电脑报.2004.

[3]宁兴旺.刘培玉.孔祥霞.基于Windows日志的安全审计技术研究.山东科学.2003.

(1)查看端口;(2)端开网络连接;

(3)查找并停止木马进程、线程、服务名;(4)清除木马。

常用的手工检测方法如下:

(1)利用系统自带的命令netstat-an来查看当前开放的端口及连接状态。

(2)利用任务管理器查看当前运行的进程。

(3)利用计算机管理来查看所有的服务及当前运行的服务。对于有进程的木马,找到木马进程,即可停止该进程,并查看木马常用来隐藏、启动的地方是否还存在木马及其启动项,有则删除之;对于使用dll技术的木马,使用工具软件IceSword来查看当前可疑的服务及不正常网络连接的dll文件,发现木马并终止之。

4  结语

随着网络安全的不断发展,木马的入侵与防护技术必将会以更隐蔽的方式出现。本文主要分析了木马的常用技术、木马的预防和木马的检测及清除方法,意在引起人们在新时期对网络木马防范的重视和掌握防范的方法,以减少不必要的损失。深入地研究木马技术,建立相应的木马预防及检测机制,对网络和计算机的安全起着重要的作用。

参考文献

[1]崔宝江,周亚建,杨义先,钮心忻.信息安全实验指导[M].北京:国防工业出版社.2005.

[2]张仁斌,李钢,侯整风.计算机病毒与反病毒技术[M].北京:清华大学出版社.2006.

[3]程秉辉,JohnHawke.木马防护全攻略[M].北京:北京科学出版社.2006.

本文来源:https://www.bwwdw.com/article/hlo1.html

Top