通行证│用户名: 密码: 验证码: 验证码,看不清楚?请点击刷新验证码 电信网通铁通移动   在线
文章搜索:
热门搜索:红客 黑鹰 红客技术 安全动画 红客培训
首页 文章 软件 动画 资源 励志 论坛 邮箱 会员 军事 科技 博客 爱心红客 最近更新 800g资源
 业内新闻 漏洞公告 病毒公告 电脑知识 网络知识 菜鸟入门 攻防教程 黑客攻防 安全编程 工具使用 综合安全 个人安全 安全相关 Q Q安全 原创精华 红客人物 站内事件
您现在的位置: 爱国者安全网 >> 文章类 >> 原创精华 >> 文章正文
M$ 讲师对Rootkit的介绍
责任编辑:古典辣M°   更新日期:2005-12-6
 

Rootkit ,这个词并没有一个权威的定义。就我的理解,是这么一类工具软件,用于修改操作系统,以改变操作系统的表现行为。而这种改变,往往是不是操作系统设计时所期望的。举个例子,修改操作系统的进程列表,以便特定的进程无法被显示,就是一个典型的Rootkit的目的。


历史


Rootkit这个术语来自于Unix系统。最初,在Unix系统上, ls,ps,netstat等命令,大家从来就没有怀疑过结果的可靠性。例如,用last就可以知道最近的login历史,那么如果那位同志非法登陆了你的机器,就可以轻易监测到。不过,hacker的技术是日新月异,很快,就出现了工具可以隐藏login历史,接下来,一批工具可以修改ls,ps等等命令的结果。这些工具,当时被叫做trojan horses。后来,这些各类trojan horses工具被绑定在一起成了一个工具包(kit),就成为了Rootkit。最早的一个版本是出现在SunOS 4上。


现状


既然Rootkit出现已经不值一天两天,为什么说是一个新的威胁呢?这是因为随着互联网的普及,Windows系统上出现了越来越多的virus,spyware,worm。而最新的趋势是这些软件和Windows上的Rootkit绑定在一起。试想一想,如果一个spyware将自己的进程和registry信息用Rootkit给隐藏起来,普通用户可能就无法发现还有这么一个软件在运行。而且,各种anti-spyware软件恐怕也就不那么有效了。如果连系统中有什么在运行都无法确定,检测和清除有从何谈起呢?

Windows系统上的Rootkit分为User mode和Kernel mode两种,取决于它是采用何种方式修改操作系统的。

举个例子,对于一个典型的WIN32 API调用,例如CreateFile

User Mode:

Application --> Kernel32.dll --> NT.dll

接着通过调用 INT 2EH进入

Kernel Mode:

--> KiServiceTable --> NTExecutives

在这一调用系列中,Rootkit可以修改任何一处,最终目的都是一样的,控制特定的系统调用的返回结果。例如,如果修改了FindFirstFile/FindNextFile调用的结果,那么不管你用DIR命令,还是Explorer, 都看不到Rootkit想要隐藏的文件。

以往,不管是User Mode的Rootkit,还是Kernel Mode的Rootkit,主要是hook/intercept API调用。最近的发展是,Kernel Mode的Rootkit直接修改关键的Kernel Mode的数据结构,例如把自己的PCB从系统的活动进程表中直接删除。这种Rootkit,要检测起来是非常难办的。

 

介绍了Rootkit的工作原理,我们看看Rootkit主要用来隐藏什么系统资源:

运行进程
服务
TCP/IP端口
文件
注册信息Registry
用户帐号

其中最常见的是运行进程,文件,和Registry。

介绍完Rootkit是什么,那自然而然的一个问题是:如何检测Rootkit?

最保险的检测Rootkit的办法是Offline OS检测。举个例子,系统自身启动,列出所有的文件,registry项,等等。然后用winPE从CD启动,再列出所有的文件,registry项。对比两个列表。在正常情况下应该是一样的。如果出现不一样的地方,就可以发现那些文件在用自身系统启动的情况下看不到。对这些文件可要注意了。

这个办法的例子是Strider/Ghostbuster,MS Research开发的。

另一种更方便的检测方法是API副作用检测。大家知道,Rootkit都或多或少的修改系统调用。那么,先通过正常的高层win32系统调用来列出系统的文件,进程,registry等等,然后再通过最底层的方式列出系统的文件,进程等等。对比两个列表,如果有不同的地方就要注意了。

这个办法的例子是RootkitRevealer,Sysinternals开发的。有兴趣的可以从Sysinternals上下载。最近闹得沸沸扬扬的Sony的Rootkit就是用它发现的。这个办法使用起来要更方便一些,但不如第一个办法保险。

至于删除Rootkit,可就比较麻烦了。User Mode的Rootkit还好办一些。Kernal Mode就难了。 如果有官方的工具和信息的话,就直接使用。如果没有的话,那只有重新安装系统才能真正确保删除Rootkit。

 


 

 

  • 上一篇文章:
  • 下一篇文章:
  • 最近更新
    固顶文章 爱国者安全网2007年度优秀版主评选
    普通文章 瑞星公司01月11日发布 每日计算机病毒及木马播报
    普通文章 破解博彩神助(专注彩票) V2.8.01
    推荐文章 推荐:跨站脚本执行漏洞代码的六点思路
    普通文章 Windows系统下的远程堆栈溢出 实战篇
    普通文章 Windows系统下的远程堆栈溢出 原理篇
    普通文章 MsSQLServer是如何加密口令的
    普通文章 浅谈国内的渗透评估过程
    普通文章 Dvbbs8.1 0DAY(通杀Access和mssql版本)
    普通文章 微软:我们的代码比赛门铁克更安全
    热门文章
    普通文章REAL蛀虫利用播放器漏洞下载恶意程序
    普通文章李彦宏:中国要在互联网领域逐渐超越美国
    普通文章马云:阿里巴巴的成功是一个生态链的成功
    普通文章Ingres用户认证非授权访问漏洞
    普通文章TCPreen FD_SET()函数远程栈溢出漏洞
    普通文章Winace UUE文件解压堆溢出漏洞
    普通文章Pclxav木马猎手第一代特征码引擎源代码
    普通文章IE收藏夹管理小精灵算法分析
    普通文章Extra Drive Pro算法分析历程
    普通文章雨过天晴自我注册
    精彩专题