Rootkit是指其主要功能为:隐藏其他程序进程的软件,可能是一个或一个以上的软件组合;广义而言,Rootkit也可视为一项技术。在今天,Rootkit一词更多地是指被作为驱动程序,加载到操作系统内核中的恶意软件。因为其代码运行在特权模式之下,从而能造成意料之外的危险。最早Rootkit用于善意用途,但后来Rootkit也被黑客用在入侵和攻击他人的电脑系统上,电脑病毒、间谍软件等也常使用Rootkit来隐藏踪迹,因此Rootkit已被大多数的杀毒软件归类为具危害性的恶意软件。Linux、Windows、Mac OS等操作系统都有机会成为Rootkit的受害目标。
在现代操作系统中,应用程序不能直接访问硬件,而是通过调用操作系统提供的接口来使用硬件,操作系统依赖内核空间来管理和调度这些应用。内核空间由四大部分组成,分别是:进程管理(负责分配Cpu时间)、文件访问(把设备调配成文件系统,并提供一个一致的接口供上层程序调用)、安全控制(负责强制规定各个进程的具体的权限和单独的内存范围,避免各进程之间发生冲突)和内存管理(负责进程运行时对内存资源的分配、使用、释放和回收)。内核是一种数据结构,Rootkit技术通过修改这些数据结构来隐藏其它程序的进程、文件、网络通讯和其它相关信息(比如注册表和可能因修改而产生的系统日志等)。例如,通过修改操作系统的EPROCESS链表结构可以达到隐藏进程的效果,挂钩服务调用表可以隐藏文件和目录,挂钩中断描述符表则可以监听键盘击键等等。Rootkit至今仍然是一个发展中的技术领域。
Rootkit一词最早出现在Unix系统上。系统入侵者为了获取系统管理员级的root权限,或者为了清除被系统记录的入侵痕迹,会重新汇编一些软件工具(术语称为kit),例如ps、netstat、w、passwd等等,这些软件即称作Rootkit。其后类似的入侵技术或概念在其他的操作系统上也被发展出来,主要是文件、行程、系统记录的隐藏技术,以及网络数据包、键盘输入的拦截窃听技术等,许多木马程序都使用了这些技术,因此木马程序也可视为Rootkit的一种。
2005年的Sony BMG CD防拷丑闻即因Sony被人揭发暗中使用了Rootkit技术来防止盗版,有侵害用户隐私之嫌,并可能对用户系统造成威胁,因而引发轩然大波。Rootkit一词也从此事件开始更广为一般大众所知。