Linux病毒分析与防范的探究

2011-06-12 08:55董夙慧
网络安全技术与应用 2011年8期
关键词:蠕虫脚本防火墙

董夙慧

江苏联合职业技术学院徐州财经分院 江苏 221008

0 引言

在我们的日常生活中早就对 Windows中的病毒已经习惯了,对付Windows中的病毒,我们有很多办法:杀毒软件、专杀工具等,但是这些东西往往主要集中在Windows这一领域。

随着网络的发展,很多企业都使用了Linux操作系统,其原因主要是Linux的安全性比较高,但是Linux也会感染病毒,但是我们如何去解决这一问题呢?似乎我们的办法不多。本文将会对Linux防范病毒的方法进行初步的介绍。

1 背景

Linux刚刚出现的时候,由于其内核和系统的架构比较巧妙,该系统似乎可以防范所有的病毒。但事实证明,Linux并不是这样。1996年秋,澳大利亚一个叫VLAD的组织用汇编语言编写了据称是Linux系统下的第一个病毒——Staog,它专门感染二进制文件,并通过三种方式去尝试得到root权限。这个实验足够证明Linux系统有被病毒感染的可能性。

在2001年的时候,一个叫做Ramen的Linux蠕虫病毒出现了,它利用了Linux一些版本中的rpc.statd和wu-ftp这两个安全漏洞进行自动传播,并在传播工程中大量消耗网络带宽,给当时的网络带来很大的问题。

像这样类似的案例还有很多,就不一一列举了。其实,大多数一般的 Linux用户几乎没中过病毒。这是因为 Linux上的病毒跟Windows上的病毒比起来还是非常少的,另外真正能使用 Linux的企业数量也不多,影响的范围要比Windows小的多。但近年来,Windows的安全问题非常严峻,同时互联网发展迅速,Linux用户的增加,越来越多的服务器倾向于安装Linux系统,增加了受攻击的可能。由此发展下去将来一定会有越来越多的 Linux病毒出现。如何防范Linux病毒就成为Linux用户必须要做的事情了。

2 病毒感染类型分析

要想有效的防范Linux下的病毒,就必须对Linux下病毒的基本原理和发作时的症状进行分析,灵活采用各种方法对病毒进行限制、清除和数据恢复。由于Linux与Windows的文件存储形式不同,所以杀毒的原理和方法也不同。一般Linux病毒分为以下几类:

(1) 蠕虫病毒

蠕虫病毒是一个大家都很熟悉的病毒,它可以利用系统漏洞悄无声息的传播和突然爆发,给很多Windows用户留下了深刻的印象。近年流行的“红色代码”和“尼姆亚”,还有大家熟悉的“熊猫烧香”等都是蠕虫病毒的代表。

在实际中,Linux下的蠕虫病毒与Windows下的蠕虫病毒的原理和发作症状都是差不多的,它们都可以独立运行,并将自身传播到其他的计算机上去。蠕虫病毒经常会利用一些系统漏洞进行传播,让用户毫无察觉,又会在特定情况下突然爆发,让用户措手不及。对计算机安全危害巨大。

在Windows下文件几乎都是使用PE结构存储的,要想彻底查杀蠕虫病毒不太容易,但在Linux系统中,文件没有PE结构,蠕虫病毒的查杀就会比较容易。

要想彻底的摆脱蠕虫病毒,目前来看是不现实的。我们能做的就是经常给系统打补丁,关心安全漏洞,及时采取措施,同时配合防火墙来限制蠕虫病毒的传播。但是只要是系统就会有漏洞,我们知道的漏洞毕竟是其中一部分,还有很多系统漏洞是很容易被蠕虫病毒利用的。同时我们的防火墙可能也会存在漏洞,也有可能无法限制蠕虫病毒。

(2) ELF格式文件的病毒

这种病毒主要是使用汇编语言和C语言编写的可以感染ELF文件的病毒。其中Lindose病毒就是一个典型的代表,如果发现一个ELF文件时,就会查找匹配类型,如果匹配的话就会修改ELF文件的入口点指向病毒代码部分,运行完病毒后才会转入正常的程序。所以就会形成一个在正常程序运行前先运行病毒的一个状态。

对于Linux操作系统而言,这并不是一种很难控制的病毒,因为在Linux系统下有着很好的系统权限控制机制。众所周知,系统要运行任何一个程序都需要一定的权限,假如我们能够管理好自己系统的各种文件的权限,即使我们中了ELF病毒,那么系统也无法给病毒一个运行的权限,病毒不会运行,只不过多了个垃圾文件而已。

在这里特别提醒大家,很多用户在使用Linux系统的时候都是使用root用户登录的,其实这是一件非常危险的事情。尤其不要以root身份运行来历不明的文件,以免感染整个系统。

(3) 脚本病毒

脚本病毒其本身的危害性并不是很大,通常也只是对本机造成破坏。这种病毒主要是用 shell等脚本语言编写的病毒,对编写人员的知识要求并不是很高,很容易编写,同时破坏系统也变得相对容易的多。这类病毒目前危害最大的就是可以自动下载安装木马程序,使用户的计算机编程黑客可以控制的“肉鸡”,并以此为跳板攻击其他计算机。

一般脚本病毒都是其他病毒的“前锋”,计算机先中了脚本病毒之后,便会通过脚本病毒种其他病毒和木马,这样计算机就会更危险。在实际中,一般病毒都和脚本分开进入用户系统,因为一般杀毒软件只能检测出病毒,却不能检测出脚本。只要用户不小心运行了脚本,脚本就会找到病毒,并将其运行感染系统。对于这种病毒,必须严格控制root的权限,并且不能随便运行来源不明的脚本程序。

(4) 后门程序

后门程序一般是指那些可以绕过安全性控制而获取对程序或系统访问权的程序。这种程序我们把他称为木马,他和一般的程序最大的区别就是他不一定会自我复制,他的存在主要是收集和探测计算机中的信息,或者给黑客提供一个可以进入系统的方法。

后门程序在Linux平台上也非常活跃,一般他可以利用系统服务去加载后门程序,也可以通过很多方式注入的系统文件中,有些甚至开元加载到内核中来实现。他们非常隐蔽,我们对于这些程序很难防御。

随着加“壳”技术的发展,后门程序经过加壳程序的伪装,基本可以轻松通过所有杀毒软件的检测,目前对这种后门程序我们几乎无能为力,只能借助一些专用软件,对后门进行查杀,但效果很有限。

(5) 其他病毒

Linux由于其系统的特殊性,在 Linux下病毒的种类和数量相比较 Windows来说要少得多,并且绝大多数的Windows平台下的病毒,在Linux系统中不会发作。但是需要注意的是,很多Windows病毒可能会存放在Linux的文件系统中,但是他们不会发作,他们可能有机会通过Linux的平台传递到网络中的其他Windows系统中去。

在实际Linux中的samba服务器就有可能成为一个携带Windows病毒的文件服务器,samba服务器本身可能不会感染病毒,但是凡是通过samba提供服务的Windows用户就很有可能感染病毒。这种病毒虽然不会在Linux中发作,但是它会占用Linux的资源,也可能有一天会出在这两种环境中都能发作的病毒,所以对这些病毒不能掉以轻心。对于这类病毒,我们目前没有什么好的办法。

Linux系统本身并没有自带杀毒软件,因为他很少中病毒。随着Linux的发展,陆续出现了一些第三方的杀毒软件。但是他们一般都是免费提供查毒功能,杀毒功能则是收费的。Linux在杀毒防毒这个方面相对较弱,因为没有很多很好的第三方杀毒软件给予支持。下面推荐一个Linux版的杀毒软件——NOD32。

图1 NOD32主界面

总体来看,Linux防毒比Windows容易的多。因为Linux下病毒种类相对较少;Linux的文件没有PE结构,查杀相对容易;病毒在Linux下发作的可能性较小;管理Linux的人员一般都比较专业,而管理Windows的人员水平参差不齐。

3 病毒的防范和建议

对于Linux下病毒需要采用多种手段,系统的管理和查杀,绝对不可以因为Linux本身病毒少、平台安全性高,权限管理严格而掉以轻心。为了做好Linux病毒防范工作,给予以下建议:

(1) 系统要有人负责管理

系统不怕有漏洞,就怕没人管。对于专用Linux服务器,一定要有专人负责管理,绝对不可以长期不去查看或管理服务器。做好日志记录,要让任何一次访问都有日志可查,并且要定期备份日志,最好有个中央日志服务器,统一备份和管理日志。

(2) 加固系统,减少系统漏洞

做好系统加固工作,让系统漏洞更少,黑客无从下手。根据很多案例来看,黑客攻击服务器时都是找一些安全性较差的服务器下手,这些服务器往往是没有定期打补丁,或系统安全设置较少,对一些应用程序限制较少等。这就对服务器的管理人员的专业技能水平提出了很高的要求,就得需要管理人员不断的学习,不断了解Linux的系统安全公告,不停的加固系统,这是一项长期的工作。

(3) 做好用户权限管理

合理分配系统权限,限制登录系统的用户的权限。一般情况,建议管理员不使用root用户登录,同时给特定的用户适当的权限,尽量使用sudo等工具管理或调试系统。如果用户数量过多,尽量使用虚拟用户等,保证权限合理分配。同时要对文件和文件夹的权限进行限制,可以配合 ACL机制管理文件和文件夹的访问权限。Linux从2.6内核开始增加了一个 selinux,也可以配合 selinux保护系统关键程序的主要配置文件,保证系统安全。

(4) 安装程序要慎重

不要随意安装一些来历不明的驱动程序、可执行程序、脚本。安装Linux下的杀毒软件,定期更新并查杀病毒和木马。关注病毒爆发预警报告,定期用专杀工具在病毒爆发前查杀服务器中相关病毒(最好具有一套可以查杀 Windows和Linux两种平台病毒的工具)。

(5) 充分发挥防火墙作用

配置防火墙,限制危险网站,限制流行木马程序,安装入侵检测软件(例如snort、aide等)。让防火墙配合入侵检测软件,实现联动。对危险数据通过防火墙过滤掉,不让进入服务器;对进入服务器的数据使用入侵检测软件进行监视,一旦发现某些程序有异常,立即联动防火墙对可疑数据进行控制,把风险降到最低。

Linux下防范病毒,并不仅仅是查杀病毒,而是对Linux平台全面的系统的安全管理,是一个长期的、细致的过程。一般能让Linux种病毒的人都是高手,绝对不可放松警惕,Linux安全管理并不是一劳永逸的。

[1]向文杰,李毅.Linux环境下ELF文件型病毒的分析.科技信息.2006.

[2]党华,张涛,吴灏.Linux系统中基于系统调用序列的病毒检测方法研究.计算机工程与应用.2005.

[3]王筱慧,唐苏琼.小型局域网的计算机病毒防范要点.温州师范学院学报.2002.

猜你喜欢
蠕虫脚本防火墙
酒驾
蠕虫状MoS2/C的制备及其在锂离子电池负极材料中的应用
安奇奇与小cool 龙(第二回)
秋季谨防家禽蠕虫病
构建防控金融风险“防火墙”
快乐假期
小编的新年愿望
在舌尖上筑牢抵御“僵尸肉”的防火墙
下一代防火墙要做的十件事
发动机机体用蠕虫状石墨铸铁的生产工艺