Rootkit
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一詞也從此事件開始更廣為一般大眾所知。