今年4月,在欧洲的BlachHat,来自印度NV实验室的研究人员公布了允许接入内核的引导代码“VBootkit”。尽管对于Bootkit和VBootkit存在一些争议,但最新的VBootkit包含可以在Microsoft Vista启动过程中执行的代码。不论那种引导平台被使用,但bootkit技术大都在系统启动过程做文章。
Bootkit的引导扇区代码总是在ROM BIOS执行后主引导记录被载入前劫持系统启动程序。一旦被载入到内存,代码便执行中断指令,也就是俗称的HOOK挂钩。它挂接到INT 13指示后续扇区读取其信息。这个过程完成后,Bootkit试图改变引导过程的结构和操作逻辑流程。
这些修改代码在系统启动的各个阶段被使用以便于绕过数字签名验证。为了使Bootkit代码不被检测出,许多强制跳转在内存中被使用。Rootkit也可以估算替换封包内容值,这些位值可以被利用来验证文件的完整性。
一旦Rootkit悄无声息的进驻系统内核,便可以执行更多的有效指令。至少一个秘密的通道已经被建立起来,恶意代码或黑客可以不受限制的进入受害人的机器。Rootkit的附加指令可以执行并获取用户的名及密码,禁用某些应用程序(这往往是一些安全套件或反病毒工具),利用受害者机器作为代理进行攻击或传播自己的Rootkit。
这些被利用来操纵系统内核的机器指令方法充分证明了恶意程序的严重性。虽然有很多检测清除Rootkit的工具存在,但是Rootkit也强调了预防的严重性。引导过程注入使得我们必须将准入策略作为整个安全体系的一部分。
要防Bbootkit技术就必须保护计算机的启动过程。系统的BIOS可配置成关闭除硬盘以外任何设备启动。此外去禁止任意未经授权的改变,系统BIOS可以采用密码保护。限制主板BIOS和BIOS电源的接入,两者都可以用来清除bios的密码。放置在公共场所的系统,应考虑驱除外接media组件,例如软驱及CD/DVD驱动器。
不论何种接入系统内核的手段,Rootkit的威力是巨大的并且是实实在在的威胁。虽然Rootkit在众多恶意软件中还只占了很小一部分,但是大多数安全软件相对恶意软件技术是滞后的,并且Rootkit是很难被检测出其存在的。系统的周遍保护,限制用户权限级别,加上严格控制经营服务将提供强大的网络防御,抵制恶意渗透。当然安全厂商也应加紧分析Rootkit技术,并在其产品中应用,保证用户的使用安全。