![]() |
来源:安全中国 |
Rootkit是一种能够以管理员身份访问计算机或计算机网络的程序。典型情况下,黑客们会通过利用已知的漏洞或口令破解而获得用户级访问,从而将rootkit安装到计算机上。Rootkit安装以后,它将准许攻击者掩饰其入侵行为,并获得对计算机的root级或特权级的访问,在可能的情况下还可以获得对网络上其它计算机的访问。 rootkit的威胁 一般来说,Rootkit自身并不是恶意软件,它是恶意软件用来隐藏自己的一种手段。但经黑客改造的rookkit可能包括间谍软件和其它的程序,如监视网络通信和用户击键的程序,也可以在系统中构建一个后门便于黑客使用,还可以修改日志文件,攻击网络上的其它计算机,或者改变现有的系统工具以用逃避检测。 黑客利用多种技术来操纵操作系统,其结果就是用户无法利用普通的杀毒软件来找到其踪迹,更别说清除了。 例如,用户无法在资源管理器中利用普通的文件查看程序来查找间谍文件,也不能通过任务管理器或其它的多数进程查看器来查看。同样地,在系统的启动文件夹内或其它的启动位置中都无法找到其它。即使用趋势科技的HijackThis这款工具也很困难。 黑客们日益热衷于用rooktit隐藏间谍软件或病毒等,这对于用户而言并不是一个好消息,因为用户们更容易遭受这种感染。 检测rootkit的存在并不是一件容易的事。多数反间谍软件或反病毒扫描程序无法检测这种代码,虽然一些产品具备了这种功能,但用户需要更加专业的rootkit检测工具。
1.固件(firmware)rootkit 2.虚拟化rootkit 3.内核级rootkit 内核级的rootkit极其危险,因为它难于检测。其原因在于它与操作系统处于同一级别,如此一来,它就可以修改或破坏由其它软件所发出的任何请求。这种情况下,系统自身不再值得信任,一种可接受的检测方法是使用另外一个可信任的系统及其安装的检测软件,并将受感染的系统加载为一个数据源进行检测。 4.库级rootkit 5.应用级rootkit Rootkit的检测
检测rootkit的最好方法是关闭被怀疑感染rootkit的计算机,然后用另外一个干净的硬盘或其它媒体启动计算机,再用相关的检测软件实施检查。因为一个没有运行的rootkit是无法隐藏自己的,所以我们可以使用一些通用的反恶意软件工具(如瑞星等国产安全程序套件)配合专门的反rootkit工具来检查和清除rootkit。但是,正如并非所有的反病毒软件都能检测和清除所有的病毒一样,这种检测方法是否有效也值得进一步探讨。 现在有许多检测rootkit的工具,如linux平台的chkrootkit、rkhunter、OSSEC、zeppoo等。Windowws平台的工具我们下面将有介绍,但就目前来看,许多rootkit编写者已经将一些检测程序加入到躲避文件列表中,也就是说它们将采取某种方法躲避检测。因此下面笔者所涉及的检测工具的效用并不是绝对的。 检测Windows 平台rootkit的四大利器 如果可以找到一个未受感染的测试系统的副本,将其作为参考,那么执行一个文件到文件的比较可以作为一种检测方法。 在这种情况下,rookkit及其装载文件就可以被轻易地检测到。 然而事实上这种情况是很少碰到的,因为很多人没有其系统的参考副本,更何况系统是动态变化的,系统中总要发生一些合法的改变,而这种改变使得文件的比较更为困难。 实际情况下,rootkit的检测程序往往是在可能受感染的系统内部着手工作的。此时检测rootkit就成为一种艰难的任务。更何况rootkit的开发者们意识到了一些新技术的使用,便不断地开发其产品的新版本,目的是逃避新的检测方法。事实上,检测与逃避检测也就成为猫和老鼠的捉迷藏游戏。 这种情况也就要求用户不应当局限于这样一种观念:某个特定的rootkit检测程序是最好的。事实上,笔者建议用户要采用几种检测程序。用户还应当及时升级检测程序,因为道和魔的斗争是不断升级变化的。 现在有许多rootkit检测程序都可以使用,但多数都是针对特定rootkit程序的,笔者将为您推荐四个通用的、并不针对某种rootkit的检测程序,而且推荐你最好使用多个工具,这样就增加了检测到多数最新rootkit的机率。要知道,rootkit扫描程序不像防病毒软件那样“一山不容二虎”。 总体而言,内核模式的rootkit可以控制系统的任何方面,因此经由API返回的信息(包括注册表和文件系统的数据)都有可能遭到破坏。虽然比较一个系统的在线扫描和离线扫描(如启动进入到一个基于CD的操作系统即光盘启动)比较可靠,但rootkit可以针对这种工具逃避检测。这样说来,不可能存在一个统一的绝对可靠的rootkit扫描器。 |