木马技术与防治分析
发布时间:2021-06-06
发布时间:2021-06-06
木马技术与防治分析
肖四华 侯旭平 林意佳
中国人民解放军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页]
上一篇:2009中国饭店业务统计节选
下一篇:礼运大同篇全文