欢迎来到天天文库
浏览记录
ID:9734708
大小:66.50 KB
页数:10页
时间:2018-05-07
《浅谈关于unix系统下的病毒特点》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、浅谈关于Unix系统下的病毒特点~教育资源库 ELKCLONER:第一个计算机病毒,它将会得到你磁盘上所有的东东,它甚至将渗透到芯片内部,这就是Cloner!它会象胶水一样粘住你,它还会修改内存! 计算机病毒是大量的电子破坏技术手段中最著名的成员。它们实际上就是一些非常危险的恶意程序,它们是丑陋的,不过在我看来它们很可爱,源于我对Inter的驾驭和对计算机程序的探索。它们会复制自己并且可以传染其它文件,这些被传染的文件甚至包括了那些很清白的文档文件。而且它们很容易获得,他们可以随处传播,任何时间、任何地点。实际上,没有一个OS可以完全抵御病毒,一个
2、病毒可以完全依靠系统本身进行复制,比如利用orris写的inter的蠕虫病毒利用的就是这项技术,并且拥有标准的ELF二进制格式和库文件。 Shell脚本 我们面临的第一个问题就是如何传播的问题,这是天生具有的问题,至少在Unix系统上是如此,我们需要想办法使各个平台兼容,所以我们首先想到的是:shell脚本语言。shell在不同的Unix系统上面的差别很小,所以FredCohen在他的书《入侵者、蠕虫和病毒》(发表于1990年)中写道:在unix的命令解释语言中,病毒代码可以被写到200个字节之内。也许我们可以根据他的话来写一个manpage的病毒
3、脚本,可以用来操作文件和可执行程序,这和宏病毒非常相像。manpage的病毒不会蔓延到别的系统上,除非你有为别的用户改变manpage的格式的习惯。无论如何,这种病毒都是一个公共的跨系统的病毒。同样,也可以写另个一个脚本病毒来控制mail的阅读者。 书写shell脚本病毒是一个很简单的制造Unix病毒的方法。我知道肯定会有很多同行会说,脚本病毒怎么会是真正的病毒呢?它只是用脚本语言来书写的而不是用汇编。但是实际上,我们评定一个病毒是病毒本身可以在系统上任意感染传播,而不是这个病毒的大小或者用什么语言来写的。在USENIX1989卷2上你可以看到Tom
4、Duff和M.DouglasMcIlroy的脚本病毒代码。shell脚本病毒的危害性不会很大并且它本身极易被破坏,因为它是以明文方式编写并执行的,任何用户和管理员都可以发觉它的代码。但是,我想大多数的用户都不会理解一下代码的吧: for%%fin(*.bat)docopy%%f+bfv.bat 通常一个用户会深信不疑地去执行任何脚本,而且不会过问该脚本的由来。这样,这些用户都成为病毒的目标了;这些都是用户的意识问题,这样是没办法避免病毒的入侵的,所以我们的用户需要大大加强对这些病毒的防范意识。 蠕虫 另外的一个影响广泛的技术就是蠕虫,想象一下M
5、orris蠕虫:利用攻击程序一般这些攻击程序都是已经存在的技术。这个蠕虫利用一个sendmail程序已存在的漏洞来获取其它机器的控制权。病毒一般会利用rexec、fingerd或者口令猜解来尝试连接。在成功入侵之后,它会编译在目标机器上编译源代码并且执行它,而且会有一个程序来专门负责隐藏自己的脚印。Inter的蠕虫病毒一般都是利用已知的攻击程序去获得目标机的管理员权限,但是蠕虫的生命也是很短暂的,当该病毒所利用的漏洞被修补的话,那么该蠕虫也就失去它的作用了,因为他们需要利用exploit这个媒介来进行自身的复制。而exploit又是只针对特定版本的特定
6、程序才会有效的,所以蠕虫的跨平台能力很差,时效性也很弱。 欺骗库函数 我们可以愚弄那些比较傻的用户。如果你利用LD_PRELOAD环境变量来捉弄他,你可以让他执行你自己的代码,你已经利用LD_PRELOAD环境变量把标准的库函数替换成了你自己的程序,挺有意思吧?LD_PRELOAD并不是linux系统特有的,并且它一般用在一些应用程序(比如老版本的StarOffice需要运行在较新版本的Redhat系统上)必须用他们自己的(或者比较老的版本,或者修123下一页友情提醒:,特别!改过的)库函数,因为在安装的时候没有满足他们的需求。Quantum(St
7、aog病毒的)在Unix病毒的邮件列表里面提供了这些代码,我做了修改,也是为了便于大家理解: ------------------------tryld.c------------------------------externint__open(char*,int,int);externintexecv(char*,char*[],char*envp[]);intopen(char*path,intflags,intmode){printf(open:%s,path);return__open(path,flags,mode);}/*注意这里,
8、原来它放弃了envp参数,这样会...:(?!呵呵,所以我修改了一下,影响不大:)*/inte
此文档下载收益归作者所有