肆虐在Vista和XP之外的恶意软件


作者:Marco Preuss, Magnus Kalkuhl

        Windows系统可以说是无处不在的,其实,能够为企业和家庭用户提供支持的操作系统是多种多样的。但是,这些操作系统也不像一些人所说的那样完全没有风险。

        如果你阅读在线IT刊物或者留言板,你就会知道这样一个情况:每当一个新的木马程序出现的时候,就会有一大片的类似“这样的事情永远不会发生在Linux系统中”的留言,但是,让我们实话实说,在99%的情况中,这是事实。实际上大部分的恶意软件(超过200万个)至今为止的目标都是Windows系统,Linux系统从另一方面来说,仅有1898种可疑程序将其作为攻击目标,所以该操作系统看起来是比较安全的,而迄今为止,只有48种针对苹果系统的恶意软件被确定。

潜伏的威胁

        早在20世纪70年代初,在微软出现之前的很长一段时间里,Creeper病毒已经能感染运行DEC TENEX操作系统的计算机了。因为它使用了ARPANET来进行传播,而ARPANET正是当今互联网的前身。而Creeper病毒的出现还是在1975年出现的Pervade之后,Pervade是UNIVAC系统的一个编码,它被创造的原因是为了推广一款叫做“Animal”的游戏。直到1982年,苹果公司的用户遇到了Rich Skrenta's Elk Cloner病毒,这种病毒通过软盘传播,并能定期导致系统崩溃。


图表1:早期BHP病毒呈现的信息样本

        四年后,C6的用户也加入了病毒牺牲者的行列——BHP病毒(认为是被德国"Bayerische Hacker Post"团伙所创造)导致屏幕不定期闪烁,并且病毒还会出现一行字幕,“HALLO DICKERCHEN, DIES IST EIN ECHTER VIRUS!”(大致意思为“嗨,胖子,这是一个真正的病毒!)这些文字后面是一连串数字,每遭到一次感染数字就会增加。该病毒也能够通过连接中断阻止系统重置。

        1986年,第一个与MS-DOS兼容的恶意软件出现,成为Brian。Brain是一个引导区病毒,有意思的是,该恶意软件代码包含了创建者的名字,地址和电话号码。Amjad 和Basit Farooq Alvi兄弟宣称是他们创造出了Brain,而目的是确定印度计算机盗版的严重程度,然而,他们后来都不得不承认实验最后失去了控制。


图表2:Backdoor.UNIX.Galore.11中的加壳代码

        在接下来的几年内,病毒开始蓬勃发展,很快,每种操作系统上都出现了病毒。经确认,超过190种恶意软件是针对Commodore Amiga操作系统的,另外的24种恶意软件针对的是Atari ST操作系统。这其中还包括"C't"病毒,[http://www.stcarchiv.de/am88/06_viren.php],在1988年的iX姐妹刊物中就将C't列为汇编程序供读者复制,这说明事实上在那时人们对待恶意软件的态度还是很随意的。

意料之外的恶意软件垄断

        病毒、蠕虫以及其他恶意软件在互联网进入普通家庭后才真正意义上开始蓬勃发展。此前,恶意代码只能通过从软盘复制到软盘的缓慢方式进行传播,但是现在的恶意程序,如Melissa 或ILOVEYOU,只需几分钟就能散播到全世界,在这个过程中,不断增加的各种平台发挥着决定性的作用。一旦Windows和outlook占据了显著的市场份额,通过电子邮件传播的恶意软件就会充分发挥其潜力(对绝大多数互联网用户造成威胁)。20世纪80年代,大规模的分布式异构系统的布局被MS - DOS和Windows所取代,随着互联网时代的到来,恶意程序第一次有了可以与他们创造者进行对话的通道。

        尽管在之前,病毒和蠕虫的扩散可能是偶然发生的,但是有些情况却无法控制,现在数据可以通过命令,从目标计算机上传到远程硬盘,这为大规模的DDos和垃圾邮件攻击创造了条件,同时也为恶意程序传播提供了一个千载难逢的好机会,很显然,要想敛得更多的钱财,就要攻击尽可能多的目标。出于这个原因,每天都有数以百万计的木马程序通过电子邮件发送到使用Windows操作系统的用户,而针对BeOS 或 Plan 9的恶意代码就无法达到理想的效果。无论这些系统是否比Windows XP更安全,也存在这样一个毫无争议的事实,即使存在一个黑客无法入侵的操作系统,其硬盘中仍然能够存储很多有漏洞的应用程序,足够使黑客在发起攻击时探测到这些安全漏洞。

现状

        微软的Windows系统由于其较高的市场占有率而变成了恶意程序攻击的主要对象。不仅仅在数量上恶意软件攻击Windows用户多过非Windows系统用户,不同类别的攻击环境也不一样。这样就形成了两个截然不同的世界。

Operating
system
Total Backdoors,
Hacktools,
Exploits &
Rootkits
Viruses
and
Worms
Trojans
Linux 1898 942 (50%) 136 (7%) 88 (5%)
FreeBSD 43 33 (77%) 10 (23%) 0 (0%)
SunOS/Solaris 119 99 (83%) 17 (15%) 3 (2%)
Unix 212 76 (36%) 118 (56%) 3 (1%)
OSX 48 14 (29%) 9 (19%) 11 (23%)
Windows 2247659 501515 (22%) 40188 (2%) 1232798 (55%)

图表2:木马主要攻击Windows用户,蠕虫和rootkit主要攻击其它类型的操作系统

        针对Windows系统的恶意软件,其多数攻击是以操控一台计算机为主,并用它来进行DDoS攻击,发送垃圾邮件,并在可能的情况下,利用蠕虫模块来感染尽可能多的计算机。而这种情况就算被用户发现,也还没有网络犯罪带来的后果严重,因为僵尸网络的广泛遍布使得这样的损失算不上真正的问题(例如,据估计,至少有几百万的僵尸机构成了Kido/ Conficker僵尸网络)。

OS X的新朋友

        如果攻击类似Unix的系统,无论是从网上商店获取信用卡信息、还是用户密码,这些犯罪是不会引起重视的,在大多数情况下,这些网络攻击并没有使用木马程序,而是利用了安全漏洞和服务器漏洞。

        直到2007年10月,针对苹果操作系统的恶意软件才偷偷的出现。而两个漏洞探测程序 ,一个病毒和一个rootkit的出现更是证实了非windows操作系统也不安全的理念,不过幸运的是发起攻击的人并没有从中获得太多的收入。然而,这与第一个针对X操作系统的木马OSX.RSPluga.A出现时的情况相比,已是大相径庭。如上所述,通过垃圾邮件向非windows操作系统用户发送木马的情况比较少。因此这种特殊恶意程序的创建者们显然也不会使用同样的方法来传播,他们会选择把这些程序放在色情站点上来诱惑用户,而这些站点通常会出现在众多MAC用户论坛上。当有人点击站点中的视频的时候,他看到不是视频影像本身,而是一条告知用户缺少某个代码的消息,同时,恶意程序会给用户提供下载这种“代码”的选项。为了安装这个“代码”,用户必须进入他们的管理员账户,然而,一些MAC用户并不比Windows用户更加谨慎,出于好奇心,导致系统遭到感染。OSX.RSPluga.A可以操控DNS入口,并使得诸如一些知名银行、eBay和PayPal等众多网址无法正确解析,因此,用户的访问就被重新定向到钓鱼网站。

        在今年一月中旬,芬兰反病毒公司F-Secure报道了第一个流氓反病毒解决方案,这款免费的程序会将计算机中100%干净的程序“检测”为恶意程序,而要删除这些威胁,用户必须购买此款产品。这种伎俩对Windows用户来说已经不是什么新鲜事了,但是会有多少MAC用户会相信这种诡计呢?相信这种程序的开发者是迫切想知道的。

不必惊慌

        说到数字,有些人觉得没什么大不了的,毕竟,比起Windows操作系统来,非Windows操作系统简直就是安全的天堂。但是该敲响警钟的时候了:木马程序不需要root权限就能监控数据或者通过端口80登陆手机主页。全世界就算IT新手也这样听说过:“这难道不是Ubuntu么?”Linux用户必须准备好,网络犯罪分子攻击那些毫无经验的用户的时候可能会顺便修改他们的轨迹。

        最后,构成最大的风险的往往是一个信念,这种信念认为他们的系统是坚不可摧的。近来,一些折扣店提供预装了反病毒保护程序的计算机,但是很多Linux用户甚至还拒绝安装哪怕是免费的安全扫描程序,如ClamAV,他们还争辩道这是没有必要的。其实,开源式的系统会为用户提供获得高质量、高性能的软件解决方案的很多机会,运用的技术包括了像SELinux, AppArmor这样的先进技术,同时也有一系列的入侵检测系统。对于那些不想使用这些解决方案的用户(或许因为他们觉得这会花费太多的时间和精力或许就是觉得没有这个必要),当他们的计算机被别人控制时,恐怕也是不会察觉得到。

对企业的保护

        对于企业来说,出现安全问题是绝不容许的。毫无疑问,每一台服务器都需要反病毒,因为这个网络下的众多Windows用户都需要得到保护。

        为了阻止对网关的恶意攻击,设置防火墙、入侵检测和入侵预防系统是值得的。无论是服务器设备或者专用服务器部署,Linux或者类似Unix系统总是作为保护内部网络的第一层防御体系。此外,为了合理定义现有服务并提供第一道防线来抵御黑客的攻击,正确设定防火墙还可以抵御蠕虫病毒通过自我传播来扩散到整个网络,例如:他可以通过阻止端口135和4444来保护网络免受"Lovesan.a"的侵害。 然而,防火墙也会有一个破坏限制功能。如果网络已经感染了用户,有针对性的封锁端口,可以防止建立的连接影响网络,为了将整体感染或遭到攻击的风险减少至最少,一些特定端口应该采用授权服务并明确端口。

        不过经验丰富的程序员还是可以发现很多这类规避简单安全措施的方法。他们还能通过使用连接通道和授权服务(例如:DNS和HTTP)来偷运数据包。这就是为什么智能附加模块,如入侵检测或者入侵预防系统对于防火墙来说是一个有效的辅助。

感谢代理服务器

        安装一个代理而不是让员工直接接入互联网。这不仅降低了流量,而且还可以提高安全性,防止大量的恶意软件通过恶意网站传播,在Linux/Unix装置中,Squid是常被使用的代理服务器,有自己专用的界面"ICAP"——互联网内容适配协议(RFC3507)。在这里,用户请求会通过RESPMO处理(反应修正),RESPMO会扫描目标并发送给网络服务器。上一级代理服务器例如HAVP(http://www.server-side.de)会经常被设置,以便HTTP流量和本地FTP流量都可以被扫描到。那些所谓的透明代理服务器也很受欢迎,因为他们易于整合,在这种情况下,这些连接指向实际网关的上一级(类似防火墙),不需要用户端配置(浏览器结构设置)。该解决方案的技术执行可以通过接桥模式组成一台服务器,从代理服务器上将请求转送到内容过滤模块。或者,代理服务器接收到防火墙重新定向的HTTP请求,成为指定服务器,在小型网络中,这种方法可以通过防火墙自我整合的方式来完成(TransProxy http://transproxy.sourceforge.net)。这两种方法都能够在使用标准工具的Linux/UNIX安装中相对容易的展开。

        当然,代理服务器是不能保证提供全方位的保护,即使是最优秀的病毒扫描程序也无法破解密码保护的文件,当遇到加密VPN连接的时候,代理技术的局限性就表现得非常明显。

保护邮件流量

        电子邮件仍然是最主要的恶意软件传播方式。根据不同的网络规模(用户数量),邮件网关将在网关安装中逆行部署相应的交换设置,如Lotus Domino或者相关的替代组件解决方案。Linux、Unix (Solaris)或者 derivatives (*BSD)包含 MTAs (邮件转换代理)例如postfix, exim, qmail或者sendmail也往往部署在这里。他们可以自己提供病毒扫描和垃圾邮件过滤器的过滤界面。最常见的方法便是所谓的dual MTA,也就是说,每封邮件都会被两次发送到MTA。首先,从远程主机上收到邮件,然后会通过内容过滤器核查后返回MTA,Sendmail也会提供一个API接口(也就是Milter API),这些连接过滤解决方案的逆行系统是由多个病毒扫描器和垃圾邮件过滤器(例如2-3个病毒扫描及以及2个垃圾邮件过滤器)组成的,其展开是根据邮件流量。该解决方案的优点是,实际的扫描程序也可以在一个指定的系统上运行,因此降低了邮件网关的负荷量。通过这样的方法,高适用性的解决方案,如邮件网关群(MTA)和内容过滤群也非常容易被整合。然而,完全集成群和HA解决方案还应用十分广泛(MTA和单一系统中的过滤器)。由于扫描过程和存储恶意软件及垃圾邮件时占用的资源变少,内部电子邮件服务器受益于这样的逆行过滤系统。哪怕邮件流量骤增,进程中使用的资源也会更少,这就是为什么接替服务器解决方案也是值得小型企业考虑的。为了简化管理,一些制造商还会提供 “打破陈规”的整合式解决方案。

保护文件服务器

        数据的电子化保存对一个公司来说已经成为了重要的资产,不管是涉及生产计划、库存或者其他数据,尤其是个人数据或者一些需要特别保护的信息,如雇员名单、帐目和个人简历等,往往存储在文件服务器上。这些最重要的数据库应该被保护起来以防止数据盗窃、数据操控或间谍活动。

        许多公司网络使用的系统同时结合了Samba服务程序和Windows服务器。在这种情况下,一体化功能就使得在运行VFS(病毒文件系统)模块的时候病毒扫描不会引起数据堵塞。同时也可以提供访问(读写功能)数据扫描。

        核心模块(Linux操作系统、FreeBSD)对于某些可转换的系统来说也是可选的,这不仅保护了Samba服务程序本身,还能够核查系统上的所有目标。这即有利于NFS,也能够为FTP和网络服务器服务,不利之处是,该解决方案需要重新编译内容更新后才能对新的内核程序进行检查。

        配置非Windows服务器是很普遍的现象,例如从AS/400到Solaris、HP-US、IRIX和AIX系统,他们能够提供文件系统、数据库系统,针对特定行业的应用程序和财务管理软件。在这里,很难找到合适的安全解决方案,不仅是因为操作系统(作业系统)平台,还由于不同CPU(除了英特尔操作系统外,还有SPARC, PPC, Itanium, Alpha, MIPS, PA-RISC等。)如果找不到合适的方法解决实际系统问题,最好就让这些系统孤立于其他网络,以尽可能减少风险,包括选择独立网络、专用防火墙、访问权限或者身份证一体化。 形形色色的客户端执行设备 。

        现阶段99%的客户端执行设备都是由安装Windows操作系统的电脑构成,然而,Linux, BSD和 Mac OS X工作站显然也需要被保护,因为攻击是不可能被永远排除的。例如CD-ROMs和DVDs这样的媒介便会导致恶意程序的传播,软盘和ZIP磁盘在某些情况下也具备风险,USB移动硬盘和USB/火线外置硬盘也往往通过从系统到系统的机会传播恶意软件。

        有一个特殊的问题是,除了工作站和笔记本电脑,目前正在使用的越来越多的智能手机和掌上电脑显然也必须得到保护。在标准的网络配置中,攻击的方向是明确的:互联网。如今,系统管理员和安全顾问们为解决这一问题,加强了内部节点的维护。这项任务完成十分困难的原因是平台的不断扩大。除了各种版本的Windows Mobile系统,如塞班和Linux,还有一些专用系统,现在正在部署中。而为这些系统寻找安全的解决方案是很困难的,甚至有些时候会成为不可能的任务。

结论

        使用非主流技术有时候可能提供一定的安全优势,但是这绝不是保障:例如,Solaris的桌面系统可能会被视为是非常规的,但其对应的服务器是一个标准的系统,该系统会像其他服务器一样受到攻击。那些在乎数据的用户应该保证他们的电脑受到保护,而非仅仅操作系统。从理想化角度来说这些应该是采用一个相对完备互相补充的技术,即使是这样,我们仍然需要小心——因为越来越多的程序执行需要用到网络而不单单本地计算机。最典型的一个例子就是论坛和留言板,它们的安全性比较差,无论是哪种操作系统,HTML代码都能被注入,并为跨网站的脚本攻击“添砖加瓦”。因此,我们还是要提醒:“企鹅,要小心了!”

 

2009年8月27日