asen's Blog

Happy coding

[转载]Linux病毒和UNIX病毒需要特别重视

  中国Linux公社

评论:Linux病毒和UNIX病毒需要特别重视

作者: TechRepublic.com
Thursday, September 11 2003 2:33 PM

[ZDNet China专稿] 不久以前,很多系统管理员还信誓旦旦的表示,Linux和其他基于UNI
X的平台对于病毒和蠕虫事实上是无懈可击的。我不知道为什么他们对自己的威胁分析这么
自信,特别是从第一个大型蠕虫在1988年被Robert Morris发明,在使用Sendmail程序的U
NIX系统中被释放出来以后。我猜测每个人都变得热衷于批评微软的操作系统和软件,这已
经成为越来越多病毒制造者的攻击目标,然而他们却遗忘了UNIX上的脆弱点。

Linux/UNIX威胁
随着Klez病毒在Linux平台上传染的通告,防毒软件厂商开始提醒我们微软的操作系统不再
是唯一易受病毒攻击的操作系统了。即使Linux和其他一些主流UNIX平台的用户可能不是微
软捆绑应用软件的大用户,不可能通过这些软件造成病毒的泛滥,Linux和UNIX仍然有它们
自身并不引人注目的脆弱点。

除了Klez以外,其他Linux/UNIX平台的主要威胁有:Lion.worm、OSF.8759病毒、Slapper
、Scalper、Linux.Svat和BoxPoison病毒,这些很少被提及。

我记得曾经在两年前参加了一个由欧洲最大的财政机构完成的安全审计项目,当时我听见
一个知名的安全专家告诉审计师,UNIX是不易受病毒攻击的。审计师只是简单的说了一句
"okay",然后纪录下"UNIX系统对于病毒是安全的"。那个时代已经过去了,你现在可以预
料到,安全审计师和IT安全团队已经开始强烈的需要UNIX平台上的病毒策略了。

一个叫Alexander Bartolich的奥地利学生甚至已经完成了如何一个编写Linux平台上ELF
病毒的指南。Bartolich 没有要求做一个Linux病毒先锋,他表示,他只是更有效的说明了
和反映了病毒、蠕虫和木马威胁Linux 更好的途径,那些很早就已经在别处被说明了。有
了这样具启发性的、在网上发布的文档,基于UNIX的病毒数量只会增长的更快,特别是自
Linux 在服务器领域的应用越来越广泛之后。系统管理员也许希望,在亲自读过那本指南
以后,对Linux 病毒的理解发生飞跃,从而能够更好的掌握Linux 的脆弱点。

病毒的制造者是一些精通编写代码的黑客,他们远比那些胡乱涂改网站却对编写病毒知之
甚少的黑客要危险。尽管一个被黑掉的网站可以很快的修好,病毒却加更隐蔽,会带来潜
在的安全隐患。你也许不能相信,但是病毒会一直潜伏,直到它给系统带来不可挽回的损
害。

受影响的Linux/UNIX平台
不是所有版本的Linux/UNIX平台都已经被影响,但是下面这些是在从前已经被病毒侵害过
的系统:

# SuSE Linux
# Mandrake Linux
# Red Hat Linux
# Debian GNU Linux
# Slackware Linux
# FreeBSD
# HP/UX
# IBM AIX
# SCO Unixware
# SCO OpenServer
# Sun Solaris
# SunOS

越多的Linux/UNIX系统连接到局域网和广域网,你的单位就有越多受攻击的可能,这是因
为很多UNIX 病毒正在快速的扩散着。使用WINE的 Linux/UNIX系统特别容易受到病毒的攻
击。WINE是一个公开源代码的兼容软件包,能让UNIX平台运行Windows应用软件。 WINE系
统特别容易遭受病毒的攻击,因为它们会使无论是对UNIX的还是对 Windows的病毒、蠕虫
和木马都能对系统产生威胁。

威胁的本质
你不应该为Linux/UNIX平台上的病毒和Windows操作系统上的病毒工作方式不同而感到奇怪
。不过,UNIX中病毒、蠕虫和木马工作的原理和Windows中的还是大同小异的。

病毒只不过是一个能不经过你的同意而感染和摧毁其他程序的程序。蠕虫是一个不经过你
的同意而自我复制的代码块。尽管计算机程序中的bug也可能在未经你允许的情况下进行自
我复制,它们还是有很大区别的。区别就在于bug的自我复制是无意识的,而病毒的自我复
制却是有意识的。木马程序隐藏了它们进行数字破坏的企图。在一个UNIX环境下,木马可
能被命名为一个合法的程序(例如tar或者df),可是它却能移除整个文件系统。

这些病毒和蠕虫如何工作
为了给你一个由UNIX病毒、蠕虫和木马产生的重大破坏过程的认识,我带你走进两个假想
的环境来揭示它们是如何工作的。每个病毒、蠕虫和木马都有它们自己的特性和行为,当
然,这些例子只能给你一个对它们怎样在Linux/UNIX里发作的认识。

让我们从Linux.Slapper worm. Slapper怎样侵袭一个Apache服务器开始。它通过HTTP的8
0端口连接到服务器,然后发送有效的GET请求,以发现正在使用的Apache服务器的版本,
从而为详细的目标系统做一个自我定义。当找到了一个合适的易攻击的系统之后,它又连
接到443端口,利用一个缓冲区溢出漏洞来采用合适的蠕虫包替换目标系统。

接着,蠕虫会利用一个本地编译器,例如gcc来编译自己。二进制结果跟着从/tmp目录开始
扩散,监听UDP端口,以接受更长远的分布式拒绝服务(DDoS )攻击的指示。最后,DDoS
攻击制造TCP洪流令系统瘫痪。某些Slapper病毒的变异体还会扫描整个B类网络寻找易攻击
的Apache服务器。

另一种蠕虫,Linux Lion worm,扫描任意的B类网络里的53端口,从而找出易受攻击版本
的BIND——最流行的Linux/UNIX DNS服务器。当Linux Lion worm找到一个易受攻击版本的
BIND之后,它清除日志文件,接着种植各种木马文件以隐藏它的企图。Linux Lion worm可
能安装的木马文件有:
/bin/in.telnetd
/bin/mjy
/bin/ps
/bin/netstat
/bin/ls
/etc/inetd.conf
/sbin/ifconfig
/usr/bin/find
/usr/sbin/nscd
/usr/sbin/in.fingerd
/usr/bin/top
/usr/bin/du

你可以看到,这些文件看起来是合法的UNIX文件,因此你可能怀疑你的第一眼所见,但这
就是木马的关键所在。

要掩盖它的足迹, Linux Lion可能会删除以下文件:
/.bash_history
/etc/hosts.deny
/root/.bash_history
/var/log/messages
/var/log/maillog

一旦已经对系统构成威胁,Lion会把密码文件发送给远程的计算机,其他Lion 的变种可以
通过嗅探器来嗅探活动连接中的密码信息。通过获得系统访问权限,病毒黑客们能利用远
程系统进行DDoS攻击,窃取信用卡号,或者窃取和破坏机密文件、纪录。

Linux/UNIX的防毒产品
自从Linux成为最流行的UNIX平台之一以后,大多数为UNIX系统所编写的病毒瞄准了Linux
平台。然而,一些厂商同样有一些非主流UNIX平台的软件包。如果你的单位正在使用Sola
ris、FreeBSD,或者其他版本的UNIX,不要期待找到很多防毒的选择。明显的,Linux/UN
IX平台上的防毒软件正在蔓延,在教育,只有一部分厂商提供了Linux/UNIX 平台的软件产
品。这些厂商包括:
Computer Associates
F-Secure
Kaspersky
Sophos
Symantec
Trend Micro

一些UNIX防毒产品被特别的设计安装在防火墙之上,因此你可以在UNIX病毒侵害其他系统
之前将其拦截在防火墙上。另外的一些UNIX防毒产品被特别的设计在消息和群件服务器上


保护你的系统不受自动化的黑客行为所侵害
病毒、蠕虫和木马基本上意味着自动化的黑客行为,也许被病毒攻击比被黑客攻击更可能
发生。直接的黑客攻击目标一般是服务器,而病毒是等机会的麻烦制造者。如果你的网络
包含了Linux或UNIX系统,特别危险的是服务器,不要在作出反应之前等待寻找UNIX病毒、
蠕虫和木马是否存在。做一些调查然后选择一个适合你系统的防毒产品,它们能帮你防止
病毒的传播。

Linux 的病毒发展史及分类

 

1996年的Staog是Linux系统下的第一个病毒,它出自澳大利亚一个叫VLAD的组织(Wi
ndows 95下的第一个病毒程序Boza也系该组织所为)。Staog病毒是用汇编语言编写,专门
感染二进制文件,并通过三种方式去尝试得到root权限。 Staog病毒并不会对系统有什么
实质性的损坏。它应该算是一个演示版。它向世人揭示了Linux可能被病毒感染的潜在危险
。Linux系统上第二个被发现的病毒是Bliss病毒,它是一个不小心被释放出来的实验性病
毒。与其它病毒不同的是,Bliss本身带有免疫程序,只要在运行该程序时加上 “disinf
ect-files-please”选项,即可恢复系统。

  如果说刚开始时Linux病毒向人们展示的仅仅是一个概念,那么,在2001年发现的Ram
en病毒,则已经开始引起很多人的担心。Ramen病毒可以自动传播,无需人工干预,所以和
1988年曾使人们大受其苦的 Morris蠕虫非常相似。它只感染Red Hat 6.2和7.0版使用匿名
FTP服务的服务器,它通过两个普通的漏洞RPC.statd和wu-FTP感染系统。

  表面看来,这不是一个危险的病毒。它很容易被发现,且不会对服务器做出任何有破
坏性的事情。但是当它开始扫描时,将消耗大量的网络带宽。

  从1996年至今,新的Linux病毒屈指可数,这说明Linux是一个健壮的具有先天病毒免
疫能力的操作系统。当然,出现这种情况,除了其自身设计优秀外,还有其它的原因。


  首先,Linux早期的使用者一般都是专业人士,就算是今天,虽然其使用者激增,但典
型的使用者仍为那些有着很好的电脑背景且愿意帮助他人的人, Linux 高手更倾向于鼓励
新手支持这样一种文化精神。正因为如此,Linux使用群中一种倾向就是以安全的经验尽量
避免感染病毒。其次,年轻,也是Linux很少受到病毒攻击的原因之一。事实上,所有的操
作系统(包括DOS和Windows)在其产生之初,也很少受到各种病毒的侵扰

  然而, 2001年3月,美国SANS学院的全球事故分析中心(Global Incident Analysis 
Center——GIAC)发现,一种新的针对使用Linux系统的计算机的蠕虫病毒正通过互联网迅
速蔓延,它将有可能对用户的电脑系统造成严重破坏。这种蠕虫病毒被命名为“狮子”病
毒,与Ramen蠕虫病毒非常相似。但是,这种病毒的危险性更大,“狮子”病毒能通过电子
邮件把一些密码和配置文件发送到一个位于china.com的域名上。Dartmouth学院安全技术
研究所工程师威廉·斯蒂恩斯说:“攻击者在把这些文件发回去之后就可以通过第一次突
破时的缺口再次进入整个系统。这就是它与Ramen蠕虫病毒的不同之处。事实上,Ramen病
毒是一种比较友善的病毒,它在侵入系统后会自动关闭其中的漏洞,而这个病毒却让那些
漏洞敞开并开辟新的漏洞。以至于如果你的系统感染了这个病毒,我们不能百分之百确信
这个系统有挽救的价值,更加合理的选择很有可能是转移你的数据并且重新格式化硬盘。
”

  一旦计算机被彻底感染,“狮子”病毒就会强迫电脑开始在互联网上搜寻别的受害者
。不过,感染“狮子”病毒的系统少于感染Ramen病毒的系统,但是它所造成的损失却比后
者大得多。

  随着Klez病毒在Linux平台上的传染,防毒软件厂商开始提醒我们微软的操作系统不再
是唯一易受病毒攻击的操作系统了。即使Linux和其他一些主流 UNIX平台的用户可能不是
微软捆绑应用软件的大用户,不可能通过这些软件造成病毒的泛滥,Linux和UNIX仍然有它
们自身并不引人注目的脆弱点。除了Klez以外,其他Linux/UNIX平台的主要威胁有:Lion
.worm、OSF.8759病毒、Slapper、Scalper、 Linux.Svat和BoxPoison病毒,这些都很少被
提及。

  病毒的制造者是一些精通编写代码的黑客,他们远比那些胡乱涂改网站却对编写病毒
知之甚少的黑客要危险。一个被黑掉的网站可以很快修好,而病毒却更加隐蔽,会带来潜
在的安全隐患,它会一直潜伏,直到给系统带来不可挽回的损害。

  另外,越多的Linux系统连接到局域网和广域网,就会有越多受攻击的可能,这是因为
很多Linux病毒正在快速地扩散着。使用WINE的 Linux/UNIX系统特别容易受到病毒的攻击
。WINE是一个公开源代码的兼容软件包,能让Linux平台运行Windows应用软件。 WINE系统
特别容易遭受病毒的攻击,因为它们会使无论是对Linux的还是对 Windows的病毒、蠕虫和
木马都能对系统产生威胁。

Linux平台下的病毒分类

  可执行文件型病毒:可执行文件型病毒是指能够寄生在文件中的,以文件为主要感染
对象的病毒。病毒制造者们无论使用什么武器,汇编或者C,要感染ELF文件都是轻而易举
的事情。这方面的病毒如Lindose,当其发现一个ELF文件时,它将检查被感染的机器类型
是否为Intel 80386,如果是,则查找该文件中是否有一部分的大小大于 2,784字节(或十
六进制AEO),如果满足这些条件,病毒将用自身代码覆盖它并添加宿主文件的相应部分的
代码,同时将宿主文件的入口点指向病毒代码部分。一个名为Alexander Bartolich的学生
发表了一篇名为《如何编写一个Linux的病毒》的文章,详细描述了如何制作一个感染在L
inux/i386的ELF可执行文件的寄生文件病毒。有了这样具启发性的、在网上发布的文档,
基于Linux的病毒数量只会增长的更快,特别是自Linux的应用越来越广泛之后。

  蠕虫(worm)病毒:1988年Morris蠕虫爆发后,Eugene H. Spafford 为了区分蠕虫和
病毒,给出了蠕虫的技术角度的定义,“计算机蠕虫可以独立运行,并能把自身的一个包
含所有功能的版本传播到另外的计算机上。” (worm is a program that can run by i
tself and can propagate a fully working version of itself to other machines. )
。在Linux平台下,蠕虫病毒极为猖獗,像利用系统漏洞进行传播的ramen,lion,Slappe
r……这些臭名远播的家伙每一个都感染了大量的 Linux系统,造成了巨大的损失。它们就
是开放原代码世界的nimda,红色代码。在未来,这种蠕虫病毒仍然会愈演愈烈,Linux系
统应用越广泛,蠕虫的传播程度和破坏能力也会随之增加。

  脚本病毒:目前出现比较多的是使用shell脚本语言编写的病毒。此类病毒编写较为简
单,但是破坏力同样惊人。我们知道,Linux系统中有许多的以.sh结尾的脚本文件,而一
个短短十数行的shell脚本就可以在短时间内遍历整个硬盘中的所有脚本文件,进行感染。
因此病毒制造者不需要具有很高深的知识,就可以轻易编写出这样的病毒,对系统进行破
坏,其破坏性可以是删除文件,破坏系统正常运行,甚至下载一个木马到系统中等等。


  后门程序:在广义的病毒定义概念中,后门也已经纳入了病毒的范畴。活跃在Window
s系统中的后门这一入侵者的利器在Linux平台下同样极为活跃。从增加系统超级用户账号
的简单后门,到利用系统服务加载,共享库文件注射,rootkit工具包,甚至可装载内核模
块(LKM),Linux平台下的后门技术发展非常成熟,隐蔽性强,难以清除。是Linux系统管
理员极为头疼的问题。

  病毒、蠕虫和木马基本上意味着自动化的黑客行为,也许被病毒攻击比被黑客攻击更
可能发生。直接的黑客攻击目标一般是服务器,而病毒是等机会的麻烦制造者。如果你的
网络包含了Linux系统,特别危险的是服务器,不要在作出反应之前等待寻找Linux病毒、
蠕虫和木马是否存在。做一些调查然后选择一个适合你系统的防毒产品,它们能帮你防止
病毒的传播。至于Linux平台病毒在未来的发展,一切皆有可能。Windows下的病毒发展史
,也有可能在Linux上重演,这取决于Linux的发展。

--
给我最大愉快的事不是知识本身而是学习过程,不是所获得的成就而是获得成就的过程

                                                                                                                       ── Gauss

 

 

一个Linux病毒艰辛短暂的一生(转载)

 

最近Windows下病毒肆虐,而且现在好多病毒重装系统都不管用了,看着身边的人以及网上
不认识的人花费大量的时间在杀毒上,我都替他们觉着累,当然在内心深处某个阴暗的角
落里还有那么一点点的暗爽--谁让你们不用Linux呢--这样不会太损rp吧:p

前段时间有个同学问我为什么Linux对病毒免疫,我也一时回答不出来。就在网上搜了一下
Linux virus,翻译了其中的一篇。如果什么地方翻译的不对,请指正,谢谢。

由于这篇文章写得比较早(Ray, June 10, 2000 (Updated: July 30, 2005),原文见htt
p://librenix.com/?inode=21 ),现在的知道的存在过的Linux病毒比当时多了一些,但
仍然屈指可数。

另外,可能不少人持这样一种观点,认为Linux病毒少是因为Linux不像Windows那么普及,
其实这种观点很早已经被人批驳过了。如果哪天比较闲的话我也可能会翻译一下。



The short life and hard times of a Linux virus
一个Linux病毒艰辛短暂的一生

Why aren't the existing Linux viruses[1] anything more than a topic for conver
sation? Why don't they affect you in your daily computing in the way that MS v
iruses affect Windows users?

为什么存在的Linux病毒[1]仅仅是一个谈话中的一个话题?在你日常用计算机的时候为
什么它们不会像MS病毒影响Windows用户一样影响到你?

There are several reasons for the non-issue of the Linux virus. Most of those 
reasons a Linux user would already be familiar with, but there is one, all imp
ortant, reason that a student of evolution or zoology would also appreciate.


Linux病毒不流行有好几个原因。大部分原因Linux用户都比较熟悉了,而有个重要的原因
,学进化学或动物学的学生会比较熟悉。

First, let's take a look at the way Linux has stacked the deck against the vir
us.

首先,让我们先看一下Linux是怎么筑起对抗病毒的甲板的。

For a Linux binary virus to infect executables, those executables must be writ
able by the user activating the virus. That is not likely to be the case. Chan
ces are, the programs are owned by root and the user is running from a non-pri
vileged account. Further, the less experienced the user, the lower the likelih
ood that he actually owns any executable programs. Therefore, the users who ar
e the least savvy about such hazards are also the ones with the least fertile 
home directories for viruses.

对一个二进制的Linux病毒,要感染可执行文件,这些可执行文件对启动这个病毒的用户一
定要是可写的。而实际情况通常并不是这样的。实际情况通常是,程序被root拥有,用户
通过无特权的帐号运行。而且,越是没有经验的用户,他拥有可执行文件的可能性就越小
。因此,越是不了解这种危险的用户的主目录越不适合病毒繁殖。

Even if the virus successfully infects a program owned by the user, its task o
f propagation is made much more difficult by the limited privileges of the use
r account. [For neophyte Linux users running a single-user system, of course, 
this argument may not apply. Such a user might be careless with the root accou
nt.]

即使这个病毒成功地感染了这个用户拥有的一个程序,由于这个用户权限受限,它进一步
传播的任务也会非常困难[当然,对于运行单用户系统的Linux新手,这个论证可能不适用
。这样的用户可能会对root帐户比较粗心。]

Linux networking programs are conservatively constructed, without the high-lev
el macro facilities that have enabled the recent Windows viruses to propagate 
so rapidly. This is not an inherent feature of Linux; it is simply a reflectio
n of the differences between the two user bases and the resulting differences 
between the products that are successful in those markets. The lessons learned
 from observing these problems will also serve as an innoculation for future L
inux products as well.

Linux网络程序构建地很保守,没有使现在Windows病毒如此快速传播变的可能的高级宏工
具。这并不是Linux的固有特征;它仅仅是两种用户基础的不同和这种不同导致的在这两种
市场中的成功产品的不同的反映。通过观察这些问题学到的经验也会被用到将来的Linux产
品中。

Linux applications and system software is almost all open source. Because so m
uch of the Linux market is accustomed to the availability of source code, bina
ry-only products are rare and have a harder time achieving a substantial marke
t presence. This has two effects on the virus. First, open source code is a to
ugh place for a virus to hide. Second, for the binary-only virus, a newly comp
iled installation cuts off a prime propagation vector.

Linux的应用软件和系统软件几乎都是开源的。因为这么多的Linux市场份额习惯了可获得
的源代码,仅提供二进制的产品很稀少,并且很难获得实质的市场份额。这对病毒有两方
面的影响。首先,病毒很难藏身于开源的代码中间。其次,对仅有二进制的病毒,一次新
的编译安装就截断了病毒一个主要的传播途径。

Each one of these obstacles represents a significant impediment to the success
 of a virus. It is when they are considered together, however, that the basic 
problem emerges.

这些障碍每一个都是病毒成功传播的一个重要阻碍。然而当把他们放在一起考虑的时候,
基本的问题才浮现出来。

A computer virus, like a biological virus, must have a reproduction rate that 
exceeds its death (eradication) rate in order to spread. Each of the above obs
tacles significantly reduces the reproduction rate of the Linux virus. If the 
reproduction rate falls below the threshold necessary to replace the existing 
population, the virus is doomed from the beginning -- even before news reports
 start to raise the awareness level of potential victims.

一个计算机病毒,像生物病毒一样,要想传播开来,其繁殖速度必须超过其死亡(被消灭
)的速度。上面提到的障碍有效地降低了Linux病毒的繁殖速度。如果它的繁殖速度降到取
代原来种群所需要的阈值之下,那么这个病毒的厄运从一开始就注定了--甚至在新闻报
告让潜在的受害人意识到之前。

The reason that we have not seen a real Linux virus epidemic in the wild is si
mply that none of the existing Linux viruses can thrive in the hostile environ
ment that Linux provides. The Linux viruses that exist today are nothing more 
than technical curiosities; the reality is that there is no viable Linux virus
.

我们没有看到一个真正的Linux病毒疯狂传播,原因就在于存在的Linux病毒中没有一个能
够在Linux提供的敌对的环境中茁壮成长。现在存在的Linux病毒仅仅是技术上的好奇;现
实是没有能养得活的Linux病毒。

Of course this doesn't mean that there can never be a Linux virus epidemic.[2]
 It does mean, however, that a successful Linux virus must be well-crafted and
 innovative to succeed in the inhospitable Linux ecosystem.

当然,这并不意味着永远没有Linux病毒能够流行[2]。然而它确实意味着一个成功的Li
nux病毒要在不适合生存的Linux生态系统中存活下来必须是精心制作并具创新的。

[1] Bliss is the only Linux-compatible virus seen in the wild. Staog is the fi
rst known Linux virus.

[2] For another perspective on this issue, try this article on freshmeat.net


 

 

Linux 为何对病毒免疫

 

申明 1:为降低文本输入量,本文所言及 Linux,皆指 Gnu/Linux。
申明 2:本文主要内容取自 “南京大学小百合站一个Linux病毒艰辛短暂的一生》”

可能不少人持这样一种观点,认为 Linux 病毒少是因为Linux不像Windows那么普及,其实这种观点很早已经被人批驳过了,一个最有力的论据是:如果写病毒的人写 Windows 病毒是因为 Windows 用户多而因此破坏性大,那么 Internet 上大多数服务器都是基于 Unix/Linux 的,攻击这些服务器,破坏性岂不是更大么?如果有时间,可以阅读一下欧盟的一份有关 Windows vs Linux 安全性的报告:
http://www.theregister.co.uk/security/security_report_windows_vs_linux/

对一个二进制的 Linux 病毒,要感染可执行文件,这些可执行文件对启动这个病毒的用户一定要是可写的。而实际情况通常并不是这样的。实际情况通常是,程序被 root 拥有,用户通过无特权的帐号运行。而且,越是没有经验的用户,他拥有可执行文件的可能性就越小。因此,越是不了解这种危险的用户的主目录越不适合病毒繁 殖。

即使这个病毒成功地感染了这个用户拥有的一个程序,由于这个用户权限受限,它进一步传播的任务也会非常困难(当然,对于运行单用户系统的 Linux 新手,这个论证可能不适用。这样的用户可能会对 root 帐户比较粗心)。

Linux 网络程序构建地很保守,没有使现在 Windows 病毒如此快速传播变的可能的高级宏工具。这并不是 Linux 的固有特征;它仅仅是两种用户基础的不同和这种不同导致的在这两种市场中的成功产品的不同的反映。通过观察这些问题学到的经验也会被用到将来的 Linux 产品中。

Linux的应用软件和系统软件几乎都是开源的。这对病毒有两方面的影响。首先,病毒很难藏身于开源的代码中间。其次,对仅有二进制的病毒,一次新 的编译安装就截断了病毒一个主要的传播途径。虽然 Linux 发行商也提供大量的二进制软件包,但是用户大都是从发行商提供的可靠的软件仓库中下载这些软件包,大都具有 md5 验证机制,安全性极高。

这些障碍每一个都是病毒成功传播的一个重要阻碍。然而当把他们放在一起考虑的时候,基本的问题才浮现出来。

一个计算机病毒,像生物病毒一样,要想传播开来,其繁殖速度必须超过其死亡(被消灭)的速度。上面提到的障碍有效地降低了 Linux 病毒的繁殖速度。如果它的繁殖速度降到取代原来种群所需要的阈值之下,那么这个病毒的厄运从一开始就注定了--甚至在潜在受害人意识到它们之前。

我们没有看到一个真正的 Linux 病毒疯狂传播,原因就在于存在的 Linux 病毒中没有一个能够在 Linux 提供的敌对的环境中茁壮成长。现在存在的 Linux 病毒仅仅是技术上的好奇;现实是没有能养得活的 Linux 病毒。

当然,这并不意味着永远没有 Linux 病毒能够流行。然而它确实意味着一个成功的 Linux 病毒要在不适合生存的 Linux 生态系统中存活下来必须是精心制作并具创新的。

 

 

解决Linux操作系统下部分文件乱码的问题(尤其是压缩文件解压后的文件乱码)

原Windows rar压缩的文件,Linux系统下解压后打开里边的文件,内容全部乱码。

 

之所以出现乱码是因为所压缩的文件中,有的文件是以中文命名。而在windows下中文的编码一般为gbk,而linux下中文的编码一般为utf8,所以在windows下正常打开的文件,到linux下很可能会出现乱码。

 

解决办法为:使用命令iconv对文件内容编码进行转换。例如我有一个文件"linux常用命令"在windows下打开正常,而在linux下打开则会乱码,其解决办法为在终端输入:

 

iconv -f gbk -t utf8 linux常用命令.txt > linux常用命令.txt.utf8(这里有必要提醒一下这时候终端必须运行在这个文件当前所在的目录下)

 

之后再打开"linux常用命令.txt.utf8"这个文件,该文见的乱码问题就解决了。