瘟神的尾行 Rootkit技术发展史.docVIP

  • 2
  • 0
  • 约1.31万字
  • 约 18页
  • 2018-06-03 发布于福建
  • 举报
瘟神的尾行 Rootkit技术发展史

瘟神的尾行 Rootkit技术发展史 一.无法驱逐的助手 网管小张正在手忙脚乱的寻找他的手工杀毒工具包,因为他在安装一个网管工具的时候无意中走了神,点击了下一步按钮后才惊觉安装程序的界面里一个不引人注目的角落里写着安装CNNIC网络实名这一行小字,而且最开头部分有一个小小的勾。于是著名的中国网民的得力助手便理所当然的在他的机器里安了家。 心里把厂商骂了十八遍的小张终于翻出了他外出修机时最得意的工具IceSword和超级巡警,果然在进程列表和SSDT列表里发现了红色警报,小张笑了笑,对付这些一般用户无法卸载的恶意流氓,自己可谓经验丰富了,当下便三下五除二的把CNNIC的进程给终结了,SSDT也给恢复了初始状态,然后小张去删除注册表启动项--突然发出的一个错误提示声音把小张吓了一跳,再定睛一看,他的笑容凝固了:删除项时出错。不会吧?小张急忙去删除CNNIC目录,结果彻底愣在了那里,系统弹出的错误提示很明确的告诉他,无法删除文件,文件可能正在被使用。怎么回事?小张一下子没了头绪… 达尔文的进化论告诉我们,物竞天择,适者生存,同样,在这安全与入侵的网络世界里,也在进行着这样一场选择的过程… 二.被AIDS纠缠的互联网 Rootkit是什么?如果您在几年前就是本刊的读者,那您一定已经看过小金写的涉及Rootkit的相关文章,一种在当时可以被称为艾滋病毒AIDS的技术产物,只是,在这场适者生存的残酷游戏里,最终存活的,只剩下Rootkit了,于是,今天的Rootkit地位已经等同于当年的感冒病毒--因为它实在是太普遍了,在用户上网的同时,瘟神时刻都紧随着其后,以求伺机而入。 小知识:什么是Rootkit? Rootkit自身也是木马后门或恶意程序的一类,只是,它很特殊,为什么呢?因为,你无法找到它。 正如自然界的规则一样,最流行的病毒,对生物的伤害却是最小的,例如一般的感冒,但是最不流行的病毒,却是最夺命的。Rootkit木马就是信息世界里的AIDS,一旦感染,就难以用一般手段消灭了,因为它和自然界里的同类做的事情一样,破坏了系统自身检测的完整性--抛开术语的描述也许难以理解,但是可以配合AIDS的图片想象一下,由于AIDS破坏了人体免疫系统,导致白细胞对它无能为力,只能眼睁睁看着人体机能被慢慢破坏。计算机系统没有免疫功能,但是它提供了对自身环境的相关检测功能--枚举进程、文件列表、级别权限保护等,大部分杀毒软件和进程工具都依赖于系统自带的检测功能才得以运作,而Rootkit木马要破坏的,正是这些功能。 要了解Rootkit木马的原理,就必须从系统原理说起,我们知道,操作系统是由内核(Kernel)和外壳(Shell)两部分组成的,内核负责一切实际的工作,包括CPU任务调度、内存分配管理、设备管理、文件操作等,外壳是基于内核提供的交互功能而存在的界面,它负责指令传递和解释。由于内核和外壳负责的任务不同,它们的处理环境也不同,因此处理器提供了多个不同的处理环境,把它们称为运行级别(Ring),Ring让程序指令能访问的计算机资源依次逐级递减,目的在于保护计算机遭受意外损害--内核运行于Ring 0级别,拥有最完全最底层的管理功能,而到了外壳部分,它只能拥有Ring 3级别,这个级别能操作的功能极少,几乎所有指令都需要传递给内核来决定能否执行,一旦发现有可能对系统造成破坏的指令传递(例如超越指定范围的内存读写),内核便返回一个非法越权标志,发送这个指令的程序就有可能被终止运行,这就是大部分常见的非法操作的由来,这样做的目的是为了保护计算机免遭破坏,如果外壳和内核的运行级别一样,用户一个不经意的点击都有可能破坏整个系统。 由于Ring的存在,除了由系统内核加载的程序以外,由外壳调用执行的一般程序都只能运行在Ring 3级别,也就是说,它们的操作指令全部依赖于内核授权的功能,一般的进程查看工具和杀毒软件也不例外,由于这层机制的存在,我们能看到的进程其实是内核看到并通过相关接口指令(还记得API吗?)反馈到应用程序的,这样就不可避免的存在一条数据通道,虽然在一般情况下它是难以被篡改的,但是不能避免意外的发生,Rootkit正是制造这种意外的程序。简单的说,Rootkit实质是一种越权执行的应用程序,它设法让自己达到和内核一样的运行级别,甚至进入内核空间,这样它就拥有了和内核一样的访问权限,因而可以对内核指令进行修改,最常见的是修改内核枚举进程的API,让它们返回的数据始终遗漏Rootkit自身进程的信息,一般的进程工具自然就看不到Rootkit了。更高级的Rootkit还篡改更多API,这样,用户就看不到进程(进程API被拦截),看不到文件(文件读写API被拦截),看不到被打开的端口(网络组件Sock API被拦截),更拦截不到相关的网络数据包(网

文档评论(0)

1亿VIP精品文档

相关文档