admin管理员组

文章数量:1531792

1、何为Rootkit?(结合AIDS加深理解)

 

Rootkit自身也是木马后门或恶意程序的一类,只是,它很特殊,为什么呢?因为,你无法找到它。
正如自然界的规则一样,最流行的病毒,对生物的伤害却是最小的,例如一般的感冒,但是最不流行的病毒,却是最夺命的。Rootkit木马就是信息世界里的 AIDS(爱滋病),一旦感染,就难以用一般手段消灭了,因为它和自然界里的同类做的事情一样,破坏了系统自身检测的完整性——抛开术语的描述也许难以理解,但是可以配合AIDS的图片想象一下,由于AIDS破坏了人体免疫系统,导致白细胞(长期在电脑面前的朋友注意,一定要锻炼身体,不然身体迟早出问题,被辐射出问题,自己注意保养好自己的身体!)对它无能为力,只能眼睁睁看着人体机能被慢慢破坏。计算机系统没有免疫功能,但是它提供了对自身环境的相关检测功能——枚举进程、文件列表、级别权限保护等,大部分杀毒软件和进程工具都依赖于系统自带的检测功能才得以运作,而 Rootkit木马要破坏的,正是这些功能。

 

2、Rootkit的原理(运用系统描述)


       要了解Rootkit木马的原理,就必须从系统原理说起,我们知道,操作系统是由内核(Kernel)和外壳(Shell)两部分组成的,内核负责一切实际的工作,包括CPU任务调度、内存分配管理、设备管理、文件操作等,外壳是基于内核提供的交互功能而存在的界面,它负责指令传递和解释。由于内核和外壳负责的任务不同,它们的处理环境也不同,因此处理器提供了多个不同的处理环境,把它们称为运行级别(Ring),Ring让程序指令能访问的计算机资源依次逐级递减,目的在于保护计算机遭受意外损害——内核运行于Ring 0级别,拥有最完全最底层的管理功能,而到了外壳部分,它只能拥有Ring 3级别,这个级别能操作的功能极少,几乎所有指令都需要传递给内核来决定能否执行,一旦发现有可能对系统造成破坏的指令传递(例如超越指定范围的内存读写),内核便返回一个“非法越权”标志,发送这个指令的程序就有可能被终止运行,这就是大部分常见的“非法操作”的由来,这样做的目的是为了保护计算机免遭破坏,如果外壳和内核的运行级别一样,用户一个不经意的点击都有可能破坏整个系统。
       由于Ring的存在,除了由系统内核加载的程序以外,由外壳调用执行的一般程序都只能运行在Ring 3级别,也就是说,它们的操作指令全部依赖于内核授权的功能,一般的进程查看工具和杀毒软件也不例外,由于这层机制的存在,我们能看到的进程其实是内核 “看到”并通过相关接口指令(还记得API吗?)反馈到应用程序的,这样就不可避免的存在一条数据通道,虽然在一般情况下它是难以被篡改的,但是不能避免意外的发生,Rootkit正是“制造”这种意外的程序。简单的说,Rootkit实质是一种“越权执行”的应用程序,它设法让自己达到和内核一样的运行级别,甚至进入内核空间,这样它就拥有了和内核一样的访问权限,因而可以对内核指令进行修改,最常见的是修改内核枚举进程的API,让它们返回的数据始终 “遗漏”Rootkit自身进程的信息,一般的进程工具自然就“看”不到Rootkit了。更高级的Rootkit还篡改更多API,这样,用户就看不到进程(进程API被拦截),看不到文件(文件读写API被拦截),看不到被打开的端口(netstat -an查看端口,相信大家对:8000很熟吧!)(网络组件Sock API被拦截),更拦截不到相关的网络数据包(网络组件NDIS API被拦截)了,幸好网络设备的数据指示不受内核控制,否则恐怕Rootkit要让它也不会亮了才好!我们使用的系统是在内核功能支持下运作的,如果内核变得不可信任了,依赖它运行的程序还能信任吗?这段概念是三年前写下的,而如今的网络世界,越来越多的木马后门在反病毒产品的围剿下消灭殆尽,就如同在一个密封的箱子里投入五大毒虫,让它们自相残杀,无论结局怎么样,总会有一方顽强的存活下来,而幸存的这只毒虫,就是最强最可怕的,只不过,反病毒产品并非每次都能成为存活下来的一方,而能够存活下来的非反病毒产品,必然是Rootkit。
       这唯一幸存的毒虫所采用的技术迅速成了众人研究学习的重点,于是,Rootkit在短短几年内就走下了神秘的舞台,越来越“平民化”了,网络终于成为一个新的“艾滋病村”,在如此“平民化”的氛围里,Rootkit终于有了它“平民化”的名称:驱动木马、驱动马、带驱动的木马,诸如此类,而它的本名,也被缩写为“RK”,多用于高人之间的交流称谓。
        而普通上网民众,对这些东西的存在完全是概不知情的,或者,仅限于一个模糊的概念……
当其他类型的木马后门技术已可以轻而易举被歼灭以后,Rootkit技术就成了这场对抗赛的主力军,于是,为了存活,“驱动马”也开始出现不同的发展分支,在普通网民尚未察觉的时候,它们早已经“变异”出不同派系了……

 

3、Rootkit的起源(关于SSDT Hook)


        一切的开端:SSDT Hook(ssdt.exe正是)
在很早很早以前,一些用户突然觉得自己的机器存在异常,并经常有被人监控的感觉,于是使用杀毒软件进行全盘扫描,答案却是否定的,于是用户就信任杀毒软件,放心的去用了,直到有一天,“灰鸽子”木马在网上闹得轰轰烈烈,用户慌忙去下载了最新专杀工具,这一下,用户被吓坏了:我是什么时候被感染的灰鸽子?
普通网民第一次与“会隐形的木马”打交道,莫过于灰鸽子事件了,但是为什么“灰鸽子”无法被任务管理器和那时候的杀毒软件找到,甚至用户自己手动去查找,也是无功而返呢?这是因为,灰鸽子使用了最初的Rootkit技术:SSDT钩子。
而后,又有

本文标签: 何为黑客Rootkit