理论教育 Rootkit:信息安全基础

Rootkit:信息安全基础

时间:2023-11-24 理论教育 版权反馈
【摘要】:Rootkit能够访问操作系统的所有功能和服务,不过,它会以恶意且隐蔽的方式更改主机的标准功能。Rootkit非常难以检测和移除。例如,当一个程序执行列出目录中文件的操作时,Rootkit使得返回结果中不包括与Rootkit相关的文件。这个分类展示了Rootkit制作者和防范Rootkit的人之间的持续性的军备竞赛。而防范Rootkit的人则开发加固系统的机制以对抗Rootkit的破坏,或者当破坏发生时能够检测出来。要防范这类Rootkit,必须保证整个引导过程都是安全的。

Rootkit:信息安全基础

Rootkit是安装在系统中,用来支持以管理员(或超级用户Root)权限对系统进行访问的一组程序,同时尽最大的可能隐藏自身的存在。安装后,Rootkit 背后的恶意角色可以跟踪设备上完成的所有操作、运行文件、安装程序和其他恶意软件并修改软件(包括防病毒程序)。Rootkit能够访问操作系统的所有功能和服务,不过,它会以恶意且隐蔽的方式更改主机的标准功能。拥有了管理员或超级用户权限,攻击者就完全控制了系统,可以添加或修改程序和文件、监视进程、发送和接收网络通信,以及根据需要设置后门。Rootkit非常难以检测和移除。

Rootkit能够对系统做很多修改来隐藏自己,使得用户很难察觉到它的存在,也很难确定它对系统做了哪些修改。基本上来说,Rootkit是通过破坏系统对进程、文件、注册表的监控和报告机制来实现隐藏的。

Rootkit可以使用以下特征分类:

持续的(Persistent):系统每一次启动都会被激活。这类Rootkit必须把它的代码存储在持续性存储中,如注册表或文件系统,并配置一种方式使它不需要用户干预就可以自己执行。这意味着它很容易被检测出来,因为它在持续性存储中的副本可能被扫描出来。

基于内存的(Memory Based):没有持续性存储代码,因此重启后就会失效。不过,因为它仅存在于内存中,所以较难被检测出来。

用户模式(User Mode):截获API调用,并修改返回值。例如,当一个程序执行列出目录中文件的操作时,Rootkit使得返回结果中不包括与Rootkit相关的文件。

内核模式(Kernel Mode):能够截获对本地内核模式的API调用。此类Rootkit还能够通过将恶意软件进程从内核活动进程列表中删除来隐藏自己。

基于虚拟机的(Virtual Machine Based):此类Rootkit首先会安装一个轻量级的虚拟机监视器,然后在监视器之上的虚拟机中运行操作系统。此后,Rootkit就能够透明地拦截和修改虚拟系统中发生的状态和事件。(www.daowen.com)

外部模式(External Mode):恶意软件被放置在目标系统的正常操作模式之外,比如BIOS中或系统管理模式中等,这样它就可以直接访问硬件。

这个分类展示了Rootkit制作者和防范Rootkit的人之间的持续性的军备竞赛。Rootkit制作者利用更加隐蔽的机制来隐藏他们的代码。而防范Rootkit的人则开发加固系统的机制以对抗Rootkit的破坏,或者当破坏发生时能够检测出来。许多这样的进展与寻找“底层”形式的攻击有关。早期的Rootkit工作在用户模式下,通过修改实用程序和库来隐藏自身的存在。不过它们所做的修改能够被内核中的代码检测到,因为内核中的代码在低于用户模式的层面下运行。后来的Rootkit使用了更加隐蔽的技术,包括内核模式Rootkit和虚拟机Rootkit等。

内核模式Rootkit在内核中进行修改,与操作系统代码共存,这使得它们很难被检测出来。因为任何“反病毒”程序现在都受制于与Rootkit用于隐藏自身的同样的“低级”修改。

最新的Rootkit使用的代码对目标操作系统完全不可见。这可以通过某个流氓式的或被入侵的虚拟机监视器或监管程序(Hypervisor)实现,并常常得到新型处理器提供的“硬件虚拟化支持”的辅助。这种Rootkit的代码完全运行在目标操作系统的内核代码的视野之下,而目标操作系统并不知道自己正运行在虚拟机中,并会被下层的代码悄无声息地监视和攻击。

几种虚拟化Rootkit的原型已经在2006年示范过。其中,SubVirt攻击运行在微软的Virtual PC或VMware Workstation监管程序之下的Windows系统,所采用的方法是修改它们使用的引导过程。当然,这些修改也使得这类Rootkit能够被检测出来。不过,另一个名为Blue Pill的Rootkit能够在系统下安装一个轻薄的监管程序来攻击本地的Windows Vista系统,然后继续无缝地在虚拟机中执行Vista系统。因为只需利用Vista内核执行一个流氓驱动,该Rootkit就能够在目标系统正在运行时完成安装,这非常难以检测出来。对于运行在具有“硬件虚拟化支持”的新型处理器之上但并没有使用虚拟机监管程序的系统来说,此类Rootkit特别具有威胁性。

其他Rootkit变种利用Intel处理器用于控制低级硬件的系统管理模式(System Management Mode,SMM),或者Intel处理器首次引导时使用的BIOS代码,来攻击系统。此类Rootkit的代码能够直接访问附属的硬件设备,对于运行在这些特殊模式之外的代码而言,通常是不可见的。要防范这类Rootkit,必须保证整个引导过程都是安全的。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈