当心希
记得历史上特洛伊木马的故事吗?希腊人围困特洛伊城长达九年的时间。然后在某一天早上,他们似乎是退却了。希腊人站在城墙上望去,看到的不是希腊军队,而是一件礼物——一匹巨大的木马。由于马是特洛伊人的圣物,所以他们费力地将木马拖入城内,没有发现隐藏在其中的希腊士兵。希腊人进入特洛伊城后,耐心地等待黄昏的来临,然后钻出马外。他们杀死了看守城门的士兵,并打开了城门。最后,特洛伊城陷落了,这正是一句著名谚语“当心希腊人的礼物”的由来。
这只是一个历史故事吗?并不完全是。除非你小心谨慎,否则木马仍有可能造成您的[URL=http://www.heibai.net]网络[/URL]的崩溃。本月,一种名为“Brown Orifice
HTTPD”(BOH)的新木马,以及另外几种名字恶心的木马——比如Back Orifice(BO)和Deep
Throat——开始变得为世人所知。这种程序的危险性在于,一旦进入您的系统的“城墙”,它们就会绕过您的Firebox的检测——除非您在第一时间禁止它们的安装。我们将建立一个秘密连接(尤其是这种连接可以依附在另一种许可的协议上面)的能力称为tunneling(隧道化)。
木马:精心的伪装
与历史上的特洛伊木马相似,大多数木马软件都能对自己进行精心的伪装。一个臭名昭著的例子是NetBus([URL=http://www.netbus.org]www.netbus.org[/URL]),它是一个在Windows
NT上使用的远程系统管理工具。是的,NetBus确实提供了远程管理功能,但它的早期版本为知道主机密码(master
password)的任何人都额外提供了管理员权限(只需在密码和任何命令后面附加;1)。
Back Orifice(BO)起初只能在Windows
95/98系统上工作,现在也移植到了NT平台。BO隐藏了原本不该提供给普通用户的能力。一个聪明的[URL=http://www.heibai.net]黑客[/URL]可以使用BO来弹出或关闭别人的CD-ROM托盘,或者打开麦克风,甚至打开一个摄像头,在远程进行收听和/或监视。BO允许[URL=http://www.heibai.net]黑客[/URL]远程运行程序、上传/下载文件、和用户交谈以及关闭计算机。
您或许会问,谁这么笨,会在他自己的计算机上安装如此危险的东西呢?这其实并不怪用户。看见木马时,用户一般看不到它的本来面目。有许多途径都能够传播木马。例如,木马可能成为一个病毒的一部分,甚至成为另一个程序的一部分。一个名为BO
Sniffer的程序声称能检查系统中的BO,然后告诉您系统中没有BO,但它实际上会安装并运行BO。一个游戏程序(Bopper)也能在您启动游戏的时候安装BO。
WatchGuard经常向LiveSecurity订户发送安全警告,提醒大家留意排名前十的、处于“野生形态”的病毒和木马。“野生形态”意味着病毒和木马软件不仅在实验室中发现,还在人们的办公和家用电脑中发现。木马所造成的风险是实际存在的,而非只是理论上的东西。正如这些报告所指出的,如果您运行安装了最新更新的病毒扫描软件,那么应该能检测到已知的病毒和木马版本。
最脆弱的地方:城市“大门”
Microsoft产品在木马面前尤其脆弱。Microsoft于过去两年发布了大量警报,它们涉及Internet
Explorer、Outlook以及Outlook Express的多处安全[URL=http://www.heibai.net]漏洞[/URL]。利用这些[URL=http://www.heibai.net]漏洞[/URL],远程攻击者能在受害者的系统上执行恶意程序。换言之,用户仅仅访问一下网页或者接收一下电子邮件,就可能在不知不觉间下载一个恶意程序,允许远程攻击者在用户的系统上执行指令。
针对Windows
9x和NT系统,存在着大量木马程序。每天都会出现新的木马。及时更新病毒扫描软件,有助于维持一个无木马的系统。除此之外,您还可以采取其他对策:
§使用netstat程序(NT和UNIX系统自带)来列出当前打开的端口地址;检查以前没有见过或者无法辨识的新[URL=http://www.heibai.net]服务[/URL]。
§在Windows
9x、NT和2000系统上,大多数木马程序都会在安装时修改一个注册表项。在Run和RunService项中(具体位于注册表的Start\Run\type
"regedit"\
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion文件夹中),包含了每次电脑开机时会运行的一系列程序。有的程序是固定在此处列出的(其中一部分由Microsoft安装,另一部分由其他厂商安装,其中包括WatchGuard)。在这些注册表项中,请注意来路不明的新值。木马甚至可能利用RunOnce项,或者像system.ini这样的文件。
§Lsof是一个有用的工具,它能将一个开放的端口同一个[URL=http://www.heibai.net]服务[/URL]关联起来(在Unix中,使用lsof -i
tcp:port或者udp:port)。Lsof在许多UNIX系统上都是自带的;另外,只需低廉的费用,就可以获得在Windows
NT和2000系统中使用的类似程序(或者[URL=http://www.heibai.net]免费[/URL]获取,具体参见本文最后的“参考资源”)。
虽然Microsoft软件的bug平均一周就会被发现一个,但大多数bug都无法利用来执行代码(通常,只能利用这些bug读取文件或者使软件崩溃)。无论如何,您最好每次在Microsoft出公告的时候安装最新的Microsoft更新,或者避免使用Microsoft软件来访问Web或者读取电子邮件。不过,即使其他厂商的产品,目前也暴露出了许多脆弱性。
Netscape、Java和UNIX的脆弱性
2000年8月的第一周,一位名叫Dan Brumleve的[URL=http://www.heibai.net]黑客[/URL]发布了一个示范性的利用[URL=http://www.heibai.net]漏洞[/URL]的软件,名字叫做Brown Orifice(BOH)。它是一个会影响Netscape
Communicator
4.04~4.74的Java小程序。您可能在不知不觉中下载一个版本的BOH并运行它,或者在访问别人的网页时,不小心运行下载到您的系统上的一个木马程序。
一旦加载BOH,它就会像一个Web[URL=http://www.heibai.net]服务[/URL]器那样工作,允许远程Web浏览器显示您的系统上的任何文件。但是,WatchGuard
Fireboxes将它变成一个本地[URL=http://www.heibai.net]网络[/URL]问题,因为Firebox禁止从外到内的、到任意[URL=http://www.heibai.net]服务[/URL]器的连接。换言之,BOH[URL=http://www.heibai.net]漏洞[/URL]只能向Firebox内部的其他[URL=http://www.heibai.net]网络[/URL]用户开放您的系统。如果您信任“城门后面”的人,这个问题就不是太大。
但是,BOH同时提供了源代码,任何人都可以轻松地下载Java小程序并修改它。通过配置BOH,可以打开从受害者的系统回到攻击的一个连接。此时的危险在于,您的Firebox通常没有配置成禁止系统建立从内向外的连接。即使您的Firebox配置非常严格,修改过的BOH也能使用HTTP来连接攻击者的系统,这是大多数Firebox配置所允许的。攻击者的系统不会像一个真正的Web[URL=http://www.heibai.net]服务[/URL]器那样运行。相反,它是采取隧道化(tunneling)[URL=http://www.heibai.net]技术[/URL],作为伪装成Web[URL=http://www.heibai.net]服务[/URL]器的一个工具来使用,能通过远程控制来操纵修改过的BOH。
只要您的浏览器启用了Java功能,那么安全风险总是存在的。对安全问题非常在意的用户一般会在Netscape
Navigator中禁用Java(选择Edit/Preferences/Advanced/unset Enable
Java)。所以,对于这部分人来说,这个问题并为严重。除非确实有必要(例如,您访问的网站要求使用Java,或者您使用的一个软件要求Java支持,比如WatchGuard远程身份验证),否则就应该禁用Java功能。即使需要启用Java功能,也最好是在需要完成一个特定的任务时启用Java功能,在完成任务后再将其禁用。
Unix系统也可能感染木马,虽然这种情况较为少见。UNIX使用一个不同的系统在每次重新启动时启动[URL=http://www.heibai.net]服务[/URL]。在配置文件/etc/inetd.conf中,包含了要启动的部分[URL=http://www.heibai.net]服务[/URL]。其他程序是通过脚本来启动的(/etc/rc*,或者/etc/rc.d目录中的其他脚本)。当[URL=http://www.heibai.net]黑客[/URL]成功入侵一个UNIX系统后,通常要修改这些脚本或者inetd.conf,所以你应该注意这些文件,使用像tripwire([URL=http://www.tripwire.com]www.tripwire.com[/URL])这样的工具来检测对它们的更改。
总结:全面考虑
木马和隧道为[URL=http://www.heibai.net]网络[/URL]保护带来了严峻的挑战。除了尽量将攻击者阻挡在外,还必须在他们成功入侵后检测到他们的存在。能够防患于未然总是最好的,所以您应该:
§及时更新病毒扫描软件
§及时更新Microsoft软件(如有必要,每周都进行更新)
§不要执行电子邮件的附件
§使用netstat检查新的[URL=http://www.heibai.net]网络[/URL][URL=http://www.heibai.net]服务[/URL]。
通常,应该时刻警惕系统和[URL=http://www.heibai.net]网络[/URL]中的异常行为——当心带礼物的希腊人。
参考资源:
UNIX系统下的Lsof源码(以及一些预编译的版本):
[URL=http://freshmeat.net/projects/lsof]http://freshmeat.net/projects/lsof[/URL]
NT下的Lsof相似产品:
Administrator's Pak 4.0可以列出哪些进程容纳着开放的端口:
[URL=http://www.winternals.com]www.winternals.com[/URL]
由Arne Vidstrom/ntsecurity.nu提供的另一款lsof for NT([URL=http://www.heibai.net]免费[/URL]): [URL=http://ntsecurity.nu/toolbox/inzider/]http://ntsecurity.nu/toolbox/inzider/[/URL]
部分Windows木马程序使用的端口地址列表(您可以使用netstat来检查)
[URL=http://anti-trojan.virtualave.net/page61.html]http://anti-trojan.virtualave.net/page61.html[/URL]
作者简介:
Rik Farrow 独立顾问,CSI委员会中倍受尊重的一位[URL=http://www.heibai.net]技术[/URL]顾问,曾撰写《UNIX
安全系统》一书。从1982开始对Unix系统的进行研究,从1987起从事有关[URL=http://www.heibai.net]网络[/URL]安全的教育工作。
腊人的礼物 解读特洛伊木马