荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: Ican (你是我的春夏秋冬), 信区: Virus
标  题: UNIX下为什么没有病毒
发信站: BBS 荔园晨风站 (Mon Apr  2 17:09:17 2001), 转信

大家都知道DOS下、WIN9X下病毒很流行,可UNIX下几乎没听说病毒,有些人就甚至
认为UNIX没有病毒,那我就简单说说原因吧。
病毒要流行,当然就得分析病毒传播的一些传播理论。(可以结合实际生物病毒理
解)。
首先,要流行当然是要有传播源。这嘛就是要有病毒代码,病毒代码当然是人写的
,这就归结人写代码的一些动机、难易程度等。大家都知道很多程序员都是从DOS
走过来,所以很多人对DOS简直是了如指掌,编写病毒的时候当然很自然的就会在
DOS下练手了。至于WIN9X嘛,大家也清楚,就是DOS加上一些保护模式,本身
WIN9X也兼容DOS,所以自然不必说。那UNIX?当然UNIX了解的人很少了,至少国内
是这么回事,既然系统本身都不怎么清楚何谈需要更多知识的编写病毒,自然而然
的考虑UNIX下写病毒的人少得可怜了
    大家都知道生物病毒的知识,有病毒源并不能流行。要流行还要有传播效率。先简
单介绍一下DOS下病毒的一些传播方面的分类吧,DOS下病毒有种分类是驻留内存病
毒和不驻留内存病毒两种。不驻留内存病毒是运行带毒文件时,带毒文件的病毒代
码首先获得控制权(一般是改写文件执行入口制向病毒代码),然后病毒马上感染
一些文件(很多是在当前目录下找一个或者多个没有感染的可执行文件感染),然
后把恢复被感染程序运行环境把控制权交还被感染程序,这时系统增加了几个带毒
文件,但系统内存还是干净的,你再运行没有感染的程序程序一样会干净无毒。另
一种当然就是病毒码获得控制权后想办法驻留内存,一般都是病毒码自己从感染程
序中分析出来,在系统中找一块内存作为病毒码的老家,把自己搬过去,然后是把
系统的一些服务,主要是INT21的文件操作或者INT13的磁盘操作拦截下来,自己做
成一个钩子函数的形式挂接上去,然后就是恢复被感染程序的运行环境,把控制权
交还被感染程序,这种病毒再这过程中一般不会去感染别的程序,因为有感染效率
高很多的办法呀。因为系统的文件、磁盘的服务被病毒下了钩子,下面你要进行文
件或者磁盘的操作都要经过病毒的代码,那他想感染就可以感染的了,很随意很方
便的当然效率是很高的了,用不了多久你的整个系统的可感染的文件都被感染完了
。大家一看就知道那种驻留内存的传播效率比另一种高多了,这也是常见的病毒都
是驻留内存的病毒的原因。
    那么对于UNIX系统又是怎么一个情况呢?我们先看看那种不驻留内存的病毒,它得
到控制权去感染别的文件,感染文件当然要对文件写了,哦,怎么这个文件写不了
,原来没有权限。UNIX还有WINNT等系统有身份机制,不是文件拥有者或管理员身
份一般都不准许写,当然可以感染本身有权限写的可感染文件,但一般身份那又有
几个文件可感染?再看看驻留型病毒的情况会不会好点呢,所幸的是一样受到了保
护,UNIX、WINDOWS下系统利用CPU保护模式的一些机制使得每个程序都是单独空间
里面运行,你要改写自己程序空间的一些代码制造钩子显然就不管用了,要想改操
作系统本身代码做钩子或者利用操作系统的钩子函数那也要权限,不是那身份可不
行,现在显然病毒找到空间驻留内存也因为没有挂上钩子而得不到调用的机会,这
就成了僵尸。看看这显然UNIX、WINNT下也可以有病毒,但病毒传播效率很低的。
同时我们应该看到一旦用管理员身份去运行了一个带度文件,那么病毒就和DOS下
没多少区别了(只是一些技术实现的差别),差不多说是可以为所欲为了。所以
UNIX、WINDOWS等有权限机制的系统下的病毒要有发展还是要找个权限漏洞,先利
用漏洞在普通权限下得到管理权限,然后嘛就是大量传播、流行,当然我可不是教
你写病毒,自己写任何的病毒前都要三思,你的行为将会有什么后果?
我们再反过去看看写了一两个病毒却传播不开来,这人再写病毒的可能性会怎样?
显然是再写病毒的又少了很多,这是不是又回到了第一条?
所以结论显然是UNIX等下不是没病毒而是病毒少,传播效率低,不容易流行。

--
※ 来源:·BBS 荔园晨风站 bbs.szu.edu.cn·[FROM: 192.168.46.12]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店