首页
社区
课程
招聘
[翻译]Windows操作系统木马远程控制技术
2010-9-30 11:26 54494

[翻译]Windows操作系统木马远程控制技术

2010-9-30 11:26
54494
译者:Cryin
blog:http://hi.baidu.com/justear/blog

很早前翻译的一片Windows操作系统上特洛伊木马远程控制相关技术的基础性文章,借看雪给大家分享一下,刚开始接触翻译的时候的文章,所以难免会出现失误!还请见谅。互相学习!

Windows操作系统上特
洛伊木马远程控制
技术

GIAC安全基础认证 实践v1.4b(选项 1)
坦率斯特(Candid W¨uest)
译者:leehu

摘要

在Windows操作系统上特洛伊木马病毒已经出现了很长的时间,像SubSeven或者NETBUS,script kiddies从来都没有认真对待过它们而且只是当做玩具一样。本文将介绍这些恶意软件的演变以及解释为什么它们会在不久的将来成为系统管理员的一个真正的威胁。并概括通信技术最新的发展方向,并将其优势和不足之处与传统技术进行对比。在这个基础之上,介绍并讨论一些可能被攻击的情况以及防御方法。指出一般的防御措施和还需要改进的地方。

第一章 绪论

1.1定义

以下Rita Summers给出并被人们广泛接受的的定义:

特洛伊木马是指潜伏在用户电脑中,窃取本机信息或者控制权以产生安全威胁的程序。木马执行的操作并非出自用户意愿。

为了说明木马和病毒之间的明显区别,这里需要指出一些特征。一个特洛伊木马自身是不会复制和传播的。它需要用户去运行,通常是包含在宿主程序中。

近年来由不同种类木马及相关变化出现了许多延伸名词,像后门、rookit、远程控制(RAT)、keylogger、dropper等,还有更多。这些大多数都缺少上述有关特洛伊木马定义的一个重要组成部分。如果真有宿主程序被用来隐藏的话,宿主程序有用的功能是不存在的。尽管如此,我们可以看到,隐藏功能是不同种类的木马都有的一个共同的特征。

对于本文的其余部分,我们将着重介绍Windows远程控制木马程序。从现在开始,所有提及的木马都是针对在Windows远程控制木马程序。

1.1.1后门

所谓后门程序就是一个打开一个秘密访问操作系统的通道的程序。经常被用来绕过系统安全防护以便后续更容易的访问。在UNIX世界里后门程序非常常见。在攻击者侵入系统后一般会种植后门或者是守护程序。SSH远程登录守护进程就是一个例子,如果指定的是一个预定义的密码,比如“31337”,无论密码怎么改变,系统都会授予访问者根权限。

1.1.2Rootkit

Rootkit一般是指为UNIX操作系统设计或者衍生出来的文件和脚本的集成程序。包括后门和更改标准命令的功能。系统的脚本命令比如ls被更改为用来隐藏rootkit的痕迹。让系统管理员误认为操作系统没有任何的异常。Rootkit没有在windows操作系统中广泛使用,它们更常见于UNIX操作系统上。

1.1.3远程控制木马

远程控制木马程序(RATs)是一种典型的C/S程序。现在的远程控制木马程序就像正式的远控软件以及系统管理工具一样。其中Symantec公司的 PCAnywhere远控程序就是一个典型的例子。最大的不同是对用户来说木马程序的安装和运行都是隐藏的。攻击者就像坐在计算机前面一样可以完全控制目标的机器。远程控制木马程序(RATs)经常用来长传或植入其他的恶意软件。

1.1.4键盘记录

键盘记录往往包含在rootkit或者是远程控制程序中。顾名思义它可以记录系统上所有的击键操作以获得用户密码或者一些私密的信息。攻击者一般通过远程控制程序来选择何时开始记录以及何时回传记录信息。

1.1.5Dropper

Dropper是一种下载或是执行另一个木马的恶意程序。它往往是由攻击者植入到系统里的很小的应用程序,用来从互联网上下载和执行更大的更新程序。

1.2动机

Windows远程控制木马程序并不是一个新的威胁。典型的像由Cult of the Dead cow (cDc)在1998年发表的Back Orifice,由此这个组织也得到了更多人的关注。仍然是那些从互联网上得到这些工具的script kiddies,刚开始的功能只不过是像CD – ROM的打开和关闭。隐身技术使用在非常简单的地方。因为那个时候用户的安全意识并不像现在一样高,一般是为了取乐而攻击别人的操作系统,或者是朋友之间的恶作剧。这些木马大多数很容易被找到并从感染的系统中清除。因为大多数系统都不会检测到木马,所以木马的作者也不需要了开发新的技术以使木马更隐蔽。在很长一段时间里木马程序没有得到更进一步的发展。随着安全意识的提高,木马程序的作者收到挑战从而得以开发新的技术。我认为我们正处于一个崭新的阶段。木马程序编写者新的技术正和病毒和蠕虫的编写相结合。如果我们不分析这种新的技术和应对对策,我们很快将面临大量的木马攻击。这使得学习和研究木马的意义更为重大。

1.3大纲

第二章将介绍现在木马程序所使用的一般的通信方式。
第三章我们将讨论安全软件在防御和对抗木马程序中的优势和不足之处。
第四章将介绍一种新的攻击技术并解释和说明可能的防范措施
第五章将展示未来可能的情况。 第六章是本文的结论。

第二章 标准通信技术

在这一章里我们将介绍目前远程控制木马程序所使用的通信技术,并讨论这些方法的优势及不足之处。

2.1基本通信

远程控制木马程序主要采用客户机和服务器技术进行通信,因此包含客户端和服务端两部分。攻击者通过客户端控制安装了服务端程序的目标机。客户端也可以是telnet客户端或浏览器。如何在目标机上安装服务端程序是另外一回事,本文不会进行讨论。读者可能想到电子邮件附件的形式或者即时信息以及在网络上共享文件的方式。

为了使攻击者能够与目标机建立连接,被感染的机器会打开一个端口进行监听。为了避免和其它应用程序冲突,一般使用1024以上的端口。在木马程序开始出现时,每一个都有自己默认的端口。知道了端口号,就可以很准确的确定所对应的木马程序。现在木马的端口可以由攻击者的意愿进行配置的,所以不可能通过端口号确定木马的名称。但仍然有许多老的木马在使用默认端口。通过Simovits网站的一个端口及木马对应的名单可以确定木马的名称。

        由于面向连接的TCP协议比面向无连接的UDP协议更容易处理,木马程序编写者一般都使用TCP协议进行服务端与客户端的连接。从而避免了使用UDP协议出现的数据包丢失的情况。而且TCP要比UDP更容易连接和隐藏。

        一旦经过三次握手成功建立连接后,这种身份验证方法一般使用在服务端安装之前服务器配置的一个硬编码密码。到目前为止,很少有木马挑战系统应答或零知识的验证方法。这当然不是一个木马编写者优先做的工作,因为这个密码只是用来防止其他攻击者访问该机。

        木马程序编写者的首要目标是让木马长期潜伏在系统中。一旦发现木马的工作已经结束,极有可能是在使用上述提及的通信方法时,隐藏工作做得不够好。第三章我们将看到使用防御工具进行检测并不是很难。

2.2端口隐藏模式

正如2.1节指出的检测木马的一个很好的方法就是检查本地计算机新开放的端口。因此,木马程序的编写者也正努力去解决这个问题。实现这一目标的一个方法是将网卡设置为混杂模式状态或是挂接网卡从而拦截TCP/IP协议栈。不需要去监听所有的网络数据流,只要监听别感染机器上的网络数据流。有了这个设置就可以定义一个私密的端口,作为密码。例如攻击者可以定义如果没十秒向端口21,23和80发送一帧特定的TCP封包,就将隐藏的端口4242打开并处于监听状态。在嗅探器的帮助下系统管理员通过netstat命令或者远程端口扫描并不能检测到开放的端口。这就使得这个方法很实用,但如果网卡不为混杂模式,每一个管理员都将会发现隐患。这也许就是这种方法没有被广泛使用和引起太多主意的原因。

第三章 防御工具

本章将举例说明用户目前所使用防御木马攻击的工具,并阐述其优势与不足之处。

3.1反病毒工具

现在几乎每台计算机都安装有反病毒软件。但并不是所有的软件都时刻开启或是定期更新病毒库。不过因为发病毒的发展,大多数软件都可以提供相应的保护水平。

        但是安装了最新的反病毒工具的计算机并不能完全防御木马的攻击。首先,顾名思义反病毒产品可以防御病毒的攻击而不是木马的攻击。这听起来很是一个很荒诞的想法,但在绪论里我们已经说过病毒和木马是有本质区别的。现在大多数都是使用同样的方法来防御木马和病毒的。大家都知道目前杀毒软件的缺点是基于特征码。它只能检测到病毒库已知的恶意软件。因此,它必须是已经被捕获并被分析人员分析过的恶意软件。更头疼的是,木马程序并不会像病毒一样自我复制。他们通常只会在数量有限的系统中存在,并不会迅速在大范围内传播。其分布范围非常有限,所以该样本被捕获并被分析人员得到并分析这一过程可能需要相当一段时间。但一个病毒会很快的大范围的传播并给全球网络带来威胁。这种情况使得反病毒产品并不能检测到系统中木马程序,即使这个木马已经存活了数年。

        还有另外一个原因使得木马可以更容易长期存活下去。病毒和木马的不同使得编写者根本不需要关心木马的大小。这些恶意软件可以任意增长到几百KB而不会产生太大问题。因此,木马程序的编写者可以重新排列源代码,添加新的代码段并重新编译木马。这样生成的二进制文件就和反病毒工具所查杀的特征码不相符,从而逃过反病毒工具的检测。当然反病毒工具编写者已经使用这种被称为多态变形的技术很多年了,但正如我们看到的在4.8节介绍的木马编写者在对抗反病毒工具中的一些优势。

       为了更直观一点,我应该指出在互联网上存在着大量的工具可以被反病毒工具检测到但可以重新逃过检测。最简单的方法是使用十六进制编辑器修改其中被查杀部分的一些字节,另一种方法是使用压缩壳工具,比如UPX。压缩工具会使二进制文件以不同于原来的形式存储在内存中。压缩工具可以骗过一些普通的文件扫描。

        这种基本的多态性表明,如果木马的编写者能够很好的运用这个方法,反病毒解决方案极有可能无法抵御木马的攻击。

3.2个人防火墙

目前并不是每一个终端用户都使用个人或者桌面防火墙,但却越来越流行。它们从简单的windows内置的防火墙到可以过滤输入和输出型的桌面防火墙。有的防火墙还包含了IDS或反木马工具。为了更清楚地说明个人防火墙是一个过滤数据包的应用程序,防火墙的特殊功能我们不在这节介绍,下一节我们会介绍。

        个人防火墙技术能很好的防御一般的木马程序。正如我们在2.1节介绍的木马程序经常使用TCP连接协议进行通信。所以一旦木马程序与受害人机器上的服务端程序建立连接时,个人防火墙就会报警并阻止这种未知的网络连接。因为所有未知的应用程序默认情况下都是被阻止的,所以我们就能阻止那些未知的反病毒工具不能检测到的木马程序。这中情况下不管病毒程序隐藏的多好,但在通信的时候很可能被发现。即使反病毒软件不能检测到这些隐藏的病毒,但个人防火墙却可以阻止其通信。不幸的是一些新的技术可以帮助恶意软件绕过防火墙的这种保护。关于这些技术我们会在第四章中介绍。

3.3反木马工具

有反病毒工具,当然也有反木马工具。最老在市场上出现的是来自Diamond CS[1]公司的产品TDS(Trojan Defence Suite)。除了有文件和内存空间扫描功能外,还拥有目前大多数反病毒产品所有的功能。开机自动启动是木马程序很重要的一部分。最普通的办法是在注册表中添加木马程序,如:HKEY LOCAL MACHINE\Software\Microsoft\Windows\CurrentVersion\Run。当然有很多方法实现随机自启动。Diamond CS公司的免费工具Autostart Viewer可以检测超过50种不同的开机自动启动位置。通过检测这些位置就可以找到恶意程序。一般的木马都会使用这些方法中的一种来实现自启动。因此,反木马工具可以很容易扫描到可疑文件。更深入的就是扫描全盘文件。除了这些,反木马工具通常也会对重要系统文件的完整性进行检测。因此,木马程序很难逃过检测。

        反木马工具是一个非常好的防御木马的工具,可以防止很多问题的出现。遗憾的是这种工具并没有被广泛的使用。大多数人认为反病毒软件也可以保护系统免受恶意软件的攻击。这种想法将来有可能变成现实,但目前的技术还是不能做到这一步。如果想更多的了解市场上的反木马工具可以浏览Wilders网站。

第四章 最新技术

本章将讨论将来或者目前已经被一些木马程序使用的最新的通信技术和方法。也将介绍对于这些攻击技术的防御方法。本文并不能涵盖所有的技术,但一些常见的都会进行介绍。

4.1 DLL注入

所谓动态链接库(DLL)注入就是将一个包含有恶意代码的DLL放在另外一个进程的地址空间里,由这个进程加载并运行。很明显如果将恶意的DLL注入到防火墙信赖的应用程序中,一旦应用程序开始运行,这个DLL就可以发送和接受网络数据。因为是防火墙信赖的程序,所以网络数据不会被防火墙阻止。比较流行的是将恶意的DLL注入到Internet Explorer中,因为几乎每一个windows系统都给予IE足够的权限访问互联网。所以IE是攻击者很不错的一个注入目标。

        DLL注入并不是新技术,已经被很广泛的应用。试验项目Firehole已经证明这一点。在互联网上可以找到各种语言的源代码。即使是现成的工具也可以在很多网站上找到。这就是为什么防火墙已经开始不信任应用程序本身,而对其加载的所有的DLL也进行检测。如果发现其中一个DLL异常,就会阻止并报警。一旦这种检测技术被运用到所有的防火墙中,对攻击者来说这种技术就不在有用。但并不是所有的防火墙都拥有这种检测技术。可以在Bugtraq上看到介绍更详细的文章。

4.2 进程注入

进程注入的概念和DLL注入类似是指在一个远程进程中创建并执行执行一个恶意的线程。DLL注入就是通过这种方式插入加载恶意DLL的代码段完成的。这样木马会以被信赖的应用程序的一个线程方式运行,任务管理器中就不会出现新的进程。即使线程本身是可见的但在进程列表中仍旧很难辨认出来,因为名称是随机的。这种方法越来越受到木马程序编写者的青睐。特别是互联网上有很多源代码比如Madshi的主页。和DLL注入一样,进程注入的目的也是通过被信赖的应用程序以实现自己的网络连接。迄今为止,大部分采用的防御方法是监视远程线程的创建并加以阻止。在写这篇文章的时候作者并没有发现什么既便捷又实用的方法来防御这种攻击。特别是恶意程序拥有最高权限的情况。家庭用户经常会遇到这种情况。因此,可以想象木马会肆意攻击而安全软件却束手无策。

4.3 结束进程

结束进程一个被很多木马广泛使用的方法。木马会试图结束安全软件进程。从而使系统失去任何防御能力。通过发送“窗口关闭消息”会关闭目标进程。然而安全应用程序可以设置忽略这个消息。但是,还有其它更多的方法可以结束进程。试想挂起所有目标程序的所有子线程或者修改内存中的代码就会是程序崩溃或退出。许多安全软件并非对所有这些攻击免疫。

        另一方面,当一个应用程序被结束时大多数用户都会察觉。任务栏图标突然消失肯定会引起用户的注意。为了避免这种情况,木马程序可以放置一个虚拟的原进程图标。从而使用户察觉不到任何变化。

        防御这种攻击并不容易但却可以实现。当个人防火墙没有运行时默认是禁用TCP/IP协议栈的。因此,当我们需要网络时就要先运行防火墙程序。其他开发商是用一个守护进程来监视应用程序并阻止向其它进程中写入操作。安全软件仍然有很多需要不断改善的地方。

4.4 修改进程

更简单的被保留,然后杀死这个进程。一个安全软件的改变也可以使恶意软件很容易的逃过检测。如果木马程序可以向个人防火墙或反病毒软件的内存空间进行写入操作,那就也能重写内存的加载方式。从而可以禁用软件或使其无用。试想如果防火墙允许所有操作或反病毒软件不检测任何文件。为了避免这种攻击,安全软件必须它的内存空间不能被篡改。检测和过滤这种写入访问或许有用,但也只是当进程拥有很低的权限时才有效。负责木马在攻击反病毒进程之前会首先使检测软件禁用。

4.5 更改配置

每一个安全工具一定都有自己的配置文件存储在系统的某个地方。这里我们不讨论那些每次都从互联网上下载配置文件的反病毒版本。想想当家庭用户启动他们电脑时安全工具将加载自定义的配置信息。但谁又能知道这是正确的配置文件而不是木马程序伪造的呢?配置文件好像不会以纯文本的形式存储在系统中。有人可能会说,它们可定会校验配置文件或者对配置文件加密。这是一个不错的想法,但请记住安全软件在启动之前就会加载配置文件。所有它必须能够解密。如果用户更改配置,配置文件也将被改变。所以应用程序就需要一直都能都对它进行解密。因此,加密密钥一定就存储在系统中。也许在注册表,或许其它地方?每一种安全软件都有自己独有的秘密地方用来存放密钥和加密算法。但肯定是在系统中国某个我们可以看到的地方。是什么阻碍了木马配置自己的配置文件?所有东西都在系统中。唯一的问题是如何做到这一点,但很显然,这是可以做到的。一些安全工具为了使工作更容易,它们自己提供管理工具来生成加密的配置文件而和系统不牵扯任何关系。

当然这种变化不会立即生效,但木马程序为了更进一步确保会重新启动系统。

唯一可能防御这种攻击的方法是确保配置文件不会被木马程序更改。因此,这些文件必须只能被另外一个一直运行的进程单独访问。具体原因请阅读4.3节。以最高权限运行安全软件也能使配置文件更安全。只要确保应用程序本身没有漏洞,从而不会被利用来获取最高权限。记住,大多数家庭用户都只使用管理员一个账号。所以这种保护还是不够的。

一些安全产品在安装过程中会随机产生一个密钥,以便配置文件不会被拷贝到其他系统中。这是安全厂商出于方便管理的想法,但一个大公司的系统管理员就希望可以复制配置文件到每一台客户机上。这样就不必分别在客户机上安装。如果这个随机密钥存储在一个很容易找到的地方。那么木马程序就很容易使用解密算法来解密数据。正如我们上面讨论的。

4.6 绕过堆栈保护

当向网卡发送数据包时通常windows自身的TCP/IP堆栈用于生成正确的数据包。这仅仅是因为它可以更容易的创建数据包。木马程序当然可以安装自己的网络驱动程序来创建可网卡通信的渠道。大多数个人防火墙通过挂接自己到windows的TCP/IP堆栈来过滤所有经过的通信。当木马程序使用不同的堆栈的话,防火墙就不能检测并阻止其通信。很多工具可以达到这个目的比如Outbound【2】。

        防止这种攻击最好的办法是丢弃所有不是标准的windows堆栈产生的数据包或者全部过滤。一些新版本的防火墙已经包含这一功能了。

4.7 网络隧道

上面讨论的所有方法对于攻击者来说都存在一个巨大的缺点。木马程序可以绕过本地的防护措施,但当给攻击者回传时却不能绕过。像一个网络防火墙。因此,新的方法就应运而生。

4.7.1简单网络隧道

互联网上有很多网站讨论这个话题,网络隧道它指的是利用一种网络协议来传输另一种网络协议,例如HTTP。网络隧道是能够携带一个网络协议包穿过任何网络的一个总称。它并不是前沿或机密的技术。例如在VPN中网络隧道被用来在两个独立的网络建立一个可靠的连接。

        网络隧道中很多协议容易被误用。唯一的要求是这个协议被防火墙信任并允许通过。这才符合网络隧道的定义。像SMTP,DNS,ICMP和HTTP协议都满足这个要求。这个方法很不利于数据包的过滤。如果是一些伪装成为已经建立连接的特殊的包,可能会被防火墙忽略。

4.7.2 高级网络隧道

更进一步,攻击者可以伪造更复杂的数据包进行通信。这样通信看起来就和HTTP,DNS,ICMP或其他的通信没什么区别。一个DNS隧道的例子,木马程序可以给secretdata.passwords.attackersdomain.com发送一个请求,这样就能获取到私密的数据,即便是被加过密的。相应数据包192.168.42.23应该已经被编码成IP地址数据。在我们的例子中从数字42开始攻击,23则是一个目标。甚至IDS都不会发现。如果这个操作一旦执行成功那么很难从正常的数据流中区分出来。使用网络隧道技术攻击者能够绕过防火墙即使使用其它类似的应用程序。

        对攻击者来说另一个高级的功能是可以使木马进行反向链接。木马的服务端可以创建与攻击者之间的连接。这种有时也称为insideout trojans,将忽略网络地址转换(NAT)的环境问题。目前,家庭用户和DSL调制解调器之间往往有一个NAT设备。因此这使得木马程序为建立连接而在目标系统中打开一个监听端口变得没有任何意义。攻击者将永远不能从互联网到该网段建立连接。一个简单的建立反向连接的方法是对从服务器中的动态DNS解析出的域名进行硬编码。(也有一些木马是对IP地址进行硬编码,但很明显这并不是一个聪明的做法)。

        第二中特别有趣的方法时使用HTTP隧道,主机网站控制一个免费的网络空间。木马程序一旦检测到互联网连接活动,就向攻击者的免费空间发送一个GET请求。例如这是一个PHP网页,那么它会有一个专门接收由木马服务端发送的数据的脚本程序。这个数据可能包含当前登录的用户名称,IP地址,主机名或者一些其它攻击者感兴趣的信息。攻击者就可以发送一个包含预定义的默认命令的HTTP响应包给木马的服务端。或者根据接收到的信息发送特定的命令。让我们假设这个响应包是发送开启目标机上的键盘记录的命令。该命令是以加密的HTML文件或者图像文件的形式发送到木马的服务端。反过来,木马服务端会发送一个包含键盘记录文件的POST请求给攻击者。着看起来就想一个正常的HTTP会话过程,所以能够很轻松的在防火墙和IDS眼皮底下传送而不被阻止。

        有人可能会提出并不适合实时的屏幕监控。这可能是真的,但为什么会有想一直监控别人的屏幕呢?这样将产生相当数量的数据流而使得攻击者不得不放弃。如果攻击者不是一个script kiddie的话,他根本不需要去监控屏幕。因为有很多命令足以满足攻击者的各种需求。

        这种情况下我们不得不提一件事,即使我们能够检测并跟踪木马到攻击者的免费的空间。但却并不能找到攻击者。从来没有一个受害者的机器与攻击者直接连接。这就使得很难追查到攻击者。想找到攻击者我们就需要从空间的访问日志文件着手。

4.8 多态代码

目前木马几乎没有使用的一个方法是多态和变形。该技术改变代码的特征但却维持函数的功能。病毒的编写者使用这种技术已经很长一段时间了,他们甚至使用汇编代码实现这种技术。

        对于木马编写者的一个巨大的优势是他们可以通过使用多态技术可以产生数以千计的不同的木马。与病毒的多态性最大的不同之处是木马并不需要将多态加到木马的服务端,它可以添加的木马服务端的配置代码中,所以没有大小的限制也不用对防止逆向进行保护。一旦样本被捕获并分析不至于所有的其他的也被查杀。因为它们有相同的功能却不同的二进制形式。对于变形病毒并没有什么好的检测方法。变形木马也是一样。Heuristics和代码仿真可能是应对这一威胁的最好的办法。但木马本身一旦生成就不会再变形也不会自我复制,所以也是很难防御的。当然不是一定要这样做的。由于木马的配置端永远不会被捕获,所以只能对类似的木马进行猜测。从而添加新的特征码。因此每一个特征码实例都要被创建,这貌似是行不通的。Heuristics还需要继续从功能和特性上追赶木马。

第五章 今后的情况

在我看来未来网络安全问题会越来越严重,事实上确实会如此。试想如果大量的远程控制木马程序使用上述讨论到的技术。或者综合使用这些技术。我的判断是木马编写者会使用进程注入的方法来绕过本地防火墙。如果远程连接不能连接可以是用结束或修改进程的方法来终止防火墙进程。目标进程是一个web页面。最后,通信是使用HTTP网络隧道连接到另外一个web服务器。所有的信息被加密并伪装成HTML文件或图像文件。从而逃过IDS和网络防火墙的检测。从web数据流中是检测不到这种攻击的。只有远程脚本的URL可以表明攻击行为。网站的域名大多被编码以逃过分析人员的过滤。

        木马使用多态技术以使其长期潜伏在受害者系统中。每个受害者系统中都安装二进制看起来完全不同的木马。而在下一阶段通过修改系统工具以达到更好隐藏的目的。像UNIX的rootkit,远程控制木马程序会挂接自己到调用的API从而过滤掉木马存在的证据。从而使系统管理员很难找到攻击痕迹。反调试技术对于病毒编写者用来避免分析工具非常有用。启动的时候检测的方法很少。在某些情况下经常使用二进制文件来完全取代木马或像病毒一样感染。每一次运行木马时即将二进制文件加载到内存。

        为了持续和安全工具抗衡,木马程序可以从主网站上下载更新程序。这就需要木马的编写者给自己的木马增加反补丁功能。如果木马在安全软件申请更新包之前更新。那么安全软件就会失去作用。

        当使用一个伪造的分布式拒绝服务攻击数据包时,很难发现被感染的机器。没有追溯的可能,根据使用的目的,有些蠕虫病毒增加的更广泛分布的功能。但快速传播势必会很快吸引人们注意。在一定条件下这种行为时合理的。像上面提起的分布式拒绝服务攻击。

第六章 结论

目前木马的威胁并没有得到很大的重视。安全专家常常说,windows远程控制木马程序是script kiddies的小玩意而已。更高级的攻击者将植入内核级的rootkit。像SubSeven或者Netbus等比较老的木马似乎看起来没什么威胁。但它们仍然可以成功攻击操作系统。当它们越变的复杂的时候不要想它们是怎么实现的。第五节已经证明将来的木马的检测是十分困难的。因此防御工具必须更进一步发展以便应对木马越来越严重的威胁。现在,已经可以看到木马越来越多。

        从我的角度来讲,防火墙必须要广泛的是使用。即使它的防御能力并不乐观。但仍然可以预防一些攻击。如果在这里公开讨论防火墙防御攻击的方法,这些工具不得不进一步提高自己的防御水平。为了是用户接受防火墙产品。反病毒厂商可以将产品与防火墙捆绑销售。一些厂商已经在尝试这样做了。

        反木马工具尚未被人们重视。也许它的某些功能以后会添加到反病毒工具里。因为除了查杀特征码,防病毒工具并没有什么其他的方法。完全将特洛伊木马从网络环境中清除掉是非常困难的。即使木马不适用代码的变形技术。因此用户必须经常使用反木马工具。并更进一步重视木马的危害。

        我们看到如果安全工具想更好的防御木马的攻击仍然存在很大的改善空间。如果认识并承认防御木马还有许多事情需要做,那么还是能做到很好的防御木马的攻击。

参考文献
1.  Diamond CS, “Trojan Defence Suite”
    URL:http://tds.diamondcs.com.au/ (27.12.2003)

2.        Hackbusters, “Outbound, personal firewall leak test”
URL: http://www.hackbusters.net/ob.html (22.12.2003)

注:本帖由看雪论坛志愿者PEstone 重新将DOC整理排版,若和原文有出入,以原作者附件为准

[培训]内核驱动高级班,冲击BAT一流互联网大厂工 作,每周日13:00-18:00直播授课

上传的附件:
收藏
点赞6
打赏
分享
最新回复 (37)
雪    币: 129
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
lwtpla 2010-9-30 11:35
2
0
沙发!!~~ 学习一下..........
雪    币: 205
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
willfly 2010-9-30 12:53
3
0
谢谢分享,,
雪    币: 227
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
haifengjl 2010-10-1 00:24
4
0
谢谢分享!!!!
雪    币: 375
活跃值: (12)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
xPLK 3 2010-10-1 16:32
5
0
看看,似乎不错的样子。
雪    币: 57
活跃值: (55)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
jiangming 2010-10-1 17:48
6
0
看看  ……
呵呵呵
雪    币: 166
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
琴剑书生 2010-10-1 19:05
7
0
哪去学习了。谢谢楼主,辛苦了啊
雪    币: 248
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
NoI宅男 2010-10-2 00:24
8
0
好东西啊,谢了
雪    币: 132
活跃值: (92)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
messen 2010-10-3 07:24
9
0
辛苦了 谢谢你的分享
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
aleaon 2010-10-5 21:16
10
0
看起看很像毕业设计呀 格式很正规 楼主辛苦
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
wuoo 2010-10-5 22:03
11
0
这个东西好啊
雪    币: 241
活跃值: (235)
能力值: ( LV13,RANK:240 )
在线值:
发帖
回帖
粉丝
Cryin 4 2010-10-7 19:30
12
0
不是毕业设计啊,是个公司作了下科普!
雪    币: 21
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
sakuyoi 2010-10-7 19:49
13
0
下了
mark下 谢谢啦
雪    币: 119
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
胖笨笨 2010-10-8 11:20
14
0
辛苦了!谢谢分享!
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
flzymm 2010-10-9 01:23
15
0
看起来( ^_^ )不错嘛!
雪    币: 219
活跃值: (38)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
justto 2010-10-9 17:01
16
0
是个好东西!
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
光子 2010-10-26 01:33
17
0
辛苦了!谢谢分享!
雪    币: 5
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
windart 2010-11-20 14:58
18
0
辛苦了 呵呵  感谢!!!
雪    币: 20
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
木棉 2010-11-21 11:06
19
0
LZ辛苦了
雪    币: 321
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
燃香小狼 2010-11-21 12:05
20
0
LZ辛苦了!!呵呵  下载来看看
雪    币: 211
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
lzgxw 2010-12-7 23:34
21
0
学习下,辛苦了!
雪    币: 116
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
bswdylwsw 2010-12-16 21:47
22
0
辛苦了!谢谢分享!
雪    币: 384
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
leeone 2010-12-16 21:55
23
0
感谢分享
雪    币: 599
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
猪猡公园 2010-12-16 21:58
24
0
下下来有空的时候学习下,谢谢分享。
雪    币: 9
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
fdsfbs 2011-1-10 09:35
25
0
下载学习下,支持下
游客
登录 | 注册 方可回帖
返回