今天,我们来讲解一个在学习Unix操作系统知识的时候,我们不可不提的知识,就是Unix操作系统的病毒问题,病毒的危害,我们大家都不是不了解,今天的我们,会更聪明的知道如何防范,但病毒制造者也同样在进步,但万变不离其宗,我们要了解病毒的本质。
与平台兼容的病毒
如果我们用标准C来书写病毒代码的话,各种不同体系的Unix操作系统对于我们来说变化不大.我们只需要对方计算机有一个C编译器.这样的病毒可以很轻易的扩散,利用普通用户的.rhosts文件这种小技俩就可以做到.假如没有exploits(是有可能的,因为病毒是跨平台的,因而它可以不借助 Exploit来四处扩散),这种可以跨平台的病毒的传染面是非常广的,而且似乎根本没有结束的时候.
当然,很多Unix操作系统病毒都还是用汇编来编写的.有很多著名的病毒,但不是第一个Linux病毒Bliss,第一次发表于1997年.Bliss传染 ELF格式的二进制文件,但是并没有太多的伤害.它甚至可以利用被感染文件的--bliss-disinfect-files-please参数来卸载. 假如你需要在你的文件里查找Bliss,注意以下字段:
- E8ABD8FFFFC200003634 65643134373130363532
最早的Linux病毒是Staog,比Bliss早半年.它用汇编书写并且利用三个/dev/kmem的exploits来获得的特权,它可以感染任何文件并且可以传播. 它的关键字段:
- 215B31C966B9FF0131C0 884309884314B00FCD80
当我们利用ELF格式的二进制文件来做病毒:这种病毒被誉为计算机病毒中的标准模式--他们用汇编编写并且它们通过可执行程序感染,很象典型的 DOS下的病毒.可以通过往elf文件的文本段之后的填充区增加代码来感染ELF文件,搜索Unix操作系统目录树中文件的ET_EXEC和ET_DYN标记看看是否被隐藏(这些依靠管理员自身的经验).
当然,在Linux系统下实现这种病毒并不太容易.一个病毒感染的文件属于是普通用户权限的话,那么病毒所得到的权限当然也就只有普通用户权限 (并且病毒不会利用Exploit来提升权限),只能对该用户权限级别的文件和数据造成危害.但是当一个病毒感染了一个root权限的文件的话,那么它就可以控制系统的一切了.
我们安全么? 一个很实际的问题.
现在我们的Linux系统还可能比较安全.但以后不代表一致这样.Linux系统越来越流行,这将引来一大批的病毒制造者的目光.很多用户都有可能是潜在的病毒制造者,而且如果把Unix的很多用户对Unix本身的了解正在减少算在内的话,我们就麻烦了.
现在已经有了一些 Linux系统上的反病毒程序.现在甚至包括我还有很多Unix的系统管理员在内都对制造反病毒程序非常感兴趣.在一个蠕虫出现之后,我们可以查阅各种文档,甚至书籍.所以我们都一直也在努力着.
【编辑推荐】