Rootkit 是一种特殊的 恶意软件 ,因为它们能够在操作系统启动前就加载,还能躲过普通的恶意软件扫描和防护。这种逃避检测的能力让它们尤其难以清除,后续清理工作更难以进行。
Rootkit难以查找,这是有意为之。在笔者看来,即使只有些许迹象表明有Rootkit感染,也应该利用确认干净的最新备份重装系统。若无法确定感染时间,则假定所有备份镜像均已感染,将其丢弃。这进一步促使我们将数据同操作系统(OS)文件隔离开,对两者进行定期备份。这样,丢弃OS/运行时环境时就不必同时清除数据文件。
本文探讨了Rootkit的工作原理、一些常见的Rootkit感染迹象以及检测、清除Rootkit的工具和资源。
Rootkit是什么 Rootkit病毒严重吗?
维基百科对于Rootkit的定义是:一种恶意计算机软件,用于访问禁止访问的计算机或软件区域(如非授权用户),常隐藏自身或其他软件的存在。Rootkit是Root(类UNIX操作系统的特权账户的传统名称)和Kit(指实现工具的软件组件)的组合。请注意,上一句中的“工具”一词指Rootkit,反映了恶意软件作者越来越倾向于利用代码库和各种其他的编程构建块来构造Rootkit之类的东西。
总的来说,Rootkit分为两大类:用户模式和内核模式。(最有名的Hacker Defender就是一个用户模式的Rootkit。)在Windows操作系统中,普通程序以用户模式运行,只能对操作系统服务和资源进行中间调用。特权程序和操作系统以内核模式运行,可直接访问操作系统资源,与操作系统服务直接交互。如此,内核模式的Rootkit基本上就可以作为Windows系统的一部分运行。
正因为如此,内核模式的Rootkit才相当危险,难以检测和清除。这种Rootkit改变了Windows内核,对自己进行了“持久化”,也就是说,每次用户启动PC,它都会激活,还意味着Rootkit可以运行从击键记录程序到后门的各种程序。因为能够访问操作系统内核及其API接口,Rootkit能拦截包含文件名或其他任何会泄露其行踪的数据的系统调用,以此隐藏自己。若调用涉及会向用户暴露Rootkit的数据,该调用就会被隐藏或抑制,这样,用户就不会发现有任何异常。
Rootkit感染
与其他程序一样,Rootkit要求与用户进行交互或入侵系统才能最终入侵PC。最常见的感染机制是诱骗毫无戒心的用户下载、安装某种文件或程序(如镜像、可执行文件、PDF文件、宏等等),这些文件或程序的来源常常是网站或邮件附件。因此,所有员工在授权访问公司计算机后需要了解的第一条安全原则就是:不要打开未知来源邮件中的附件,仅下载或安装IT部门批准的软件(最好是IT部门提供的下载或共享文件)。若用户遵循这些简单规定,就会避免后面无尽的痛苦和清理工作。
Rootkit安装到PC上后,要采取一系列步骤掩盖其行踪(如将自己植入PC的其他常见合法程序或Windows操作系统中)。一般情况下,Rootkit以其所获取的最高权限运行,即管理员、Trusted Installer或系统级别的权限。也就是说,一旦安装,Rootkit就可以对被感染Windows系统为所欲为,包括安装自己所选择的程序、窃取账号和身份信息、进行“背景连接通信”(Phoning Home)以通过互联网上传非法获取甚或是敏感或重要信息给第三方。
Rootkit示例
最初,Rootkit得名自UNIX环境中经过恶意修改的管理工具,这些工具用于为非授权方提供对这些系统的Root级别访问权限。根据维基百科上的相关介绍,已知最早的Rootkit可追溯至1990年,由Lane Davis和Steven Dake针对SunOS写成。它破坏了UNIX登录命令编译器,并在用户分配的任何密码之外添加了一个为攻击者所知的后门密码。
第一个Windows NT Rootkit产生于1999年,是一款由Greg Hoglund(他同James Butler合作出版了一本非常出色的书:Rootkits:破坏Windows内核,Addison-Wesley,2006,ISBN: 0321294319)制作的名为NTRootKit的木马。您可在Bleeping Computer的 Rootkit List 查询到最新、最完整的被实际检测到的Rootkit。其中,Rustock(在之前资源中被称为Backdoor.Rustock)可能是现有Rootkit中最著名、最令人恐惧的一个。
Rootkit感染迹象
Rootkit感染的典型迹象是反恶意软件程序停止防护。反恶意软件程序停止防护PC有多种原因。此种程序无法继续运行时,您有必要担忧,因为这常常是被Rootkit感染的明确指示。
还有一个明显迹象是Windows设置没经过用户干预就自行改变。任务栏中的锁定项目发生变化或背景图片改变或消失(如锁屏或屏保图片),类似这样的意外行为可能说明被Rootkit感染。
输入设备死机也可能也是被感染的迹象。若鼠标或键盘突然停止响应,这种状况持续数秒或数分钟,检查USB设备和其他的I/O设备是否时断时连。若同时还出现反恶意软件程序无法运行以及/或Windows设置出现神秘变化,几乎可以肯定受到Rootkit感染。
最后,监控一下自己的网络使用。系统空闲时,应该只有极少量的网络流量。若此时发现设备收发大量数据,则可能受到感染。用资源监控器查看哪些进程或服务与这些流量相关。不要被进程或服务的名称欺骗。相反,必须确定进程或服务是否有充足、可信的理由访问网络。若答案是否定的,则此类行为可能表示Rootkit将自己伪装成了一个或多个正常的Windows进程。
Rootkit检测不出来?
Rootkit的运行权限很高,可以隐藏自己,不被注意,甚至还能主动破坏反恶意软件工具,使Rootkit很难检测。实际上,检测Rootkit通常需要特殊工具或在反恶意软件包中加入特定插件。Rootkit检测一般基于推测和特定文件或特征。
多数情况下,运行Rootkit检测软件需要将可疑系统引导到确认干净的备用操作系统中,然后在备用引导环境中使用运行时工具,利用磁盘取证检查工具识别出Rootkit组件和元素。
其他检测方法还包括行为观察(检测对于需要严格安全防护的系统文件的访问、异常程序或API使用模式、非法或越界控制传输以及其他破坏迹象)。同样,有些Rootkit检测工具还会扫描差异或进行内存转储分析,前者是将来自于可信参考源的已知正常的干净文件版本与可疑系统中看似“相同的文件”作比较,后者是检查程序在运行时所作的调用,查看它们在此过程中所传递的值或变量。
Rootkit扫描
判断PC是否感染了Rootkit的最好办法是运行Rootkit扫描器。此类工具很多,适合IT管理员或高级用户使用。实际上,所有主流的反恶意软件厂商—从Avast(Malwarebytes)到赛门铁克(Norton Power Eraser(诺顿强力清除器))再到卡巴斯基—都为用户提供Rootkit扫描程序。还有许多第三方Rootkit扫描器,其中有些可免费使用。
笔者选择的是由著名的反恶意软件公司Avast提供的免费应用 GMER 。这是一款相对轻量级的工具,但检测能力却很强。它的大小只有372 KB,不需要重启系统或从备用的可信OS引导运行。
GMER检测消息截图
GMER要求用户具备一定的Windows及其内核的应用知识。否则,可能无法理解检测结果。不过,尽管应用本身并不包含帮助文件,其在线文档列举了追踪到的最常见(已知)Windows Rootkit(完整清单,见 Rootkits ;关于处理Rustock的详细信息,见 FAQ )。
Rootkit怎么清除?
重申一下,虽然有过度谨慎之嫌,但在怀疑PC感染病毒后,我们一般不会尝试检测、修复PC,而是直接重新部署一个干净镜像。这样花费的时间与彻底的Rootkit扫描所需时间几乎一样,还产生了一个可靠的干净系统。笔者认为,部署干净镜像是最好的Rootkit清除方法。当然,若没有最新的替代镜像,那就只能尝试修复和恢复了。
Bleeping Computer提供多种rootkit病毒专杀工具(共11种),并将这些工具称为“反Rootkit工具”。 MajorGeeks 提供的清单更为详尽,既包括多数主流反恶意软件厂商提供的工具,也包括用途更专的工具(共有22种,但有些工具的发布时间竟然早至2006年)。有些工具针对的是某些特定Rootkit类型,有些则更为通用。
有时,检测工具会自动提示用户启动Rootkit清除程序,有时,会建议使用其他特定工具清除Rootkit。若没有更安全的干净替代镜像,那就只能按要求一步步使用特定工具,同时祈祷会有效果。
Rootkit清除的资源
Rootkit不仅难以检测,还难以清除。若未成功或彻底清除Rootkit,可以求助于专家。若所在公司订购了反恶意软件服务,可以尝试从服务提供商的技术支持人员那里获取帮助、额外工具和进一步的故障排除或清除指导,以便推动问题解决。
若无法获取此类技术支持,网上有各种论坛可提供相关帮助。可以给Rootkit清除工具的制作者发邮件,请求获取进一步帮助和支持。还可以使用如下在线论坛获取免费帮助及专业建议,虽然有时回复不那么及时(论坛和其他地方一样适用“一分价钱一分货”,若想省钱,就得耐心):
- Bleeping Computer运营着多个活跃的 支持论坛 ,按Windows版本区分。他们还提供一系列的病毒和恶意软件 清除指南 ,可以搜索Rootkit的具体、相关指导和信息。您还可以按照说明上报或有感染、制作必要的数字报表、请求论坛成员帮助。
- TenForums.com是笔者最喜欢的Windows 10自助站点(EightForums.com和SevenForums.com分别针对对应版本的Windows)。每个这样的站点都有一个 杀毒软件、防火墙和安全 (Win10)版块,可以在那里搜索Rootkit。
- MalwareTips.com 运营着一些论坛,还提供各种恶意软件指南,包括Rootkit清除指南和说明。他们的 恶意软件分析 论坛提供处理各种恶意软件感染的结构性帮助。
中招Rootkit后门之后
虽然耗时耗力,但Rootkit并非不可战胜。谨慎行事、安全计算是避免此类问题的最佳方法,但万一真出现了Rootkit,只能想方设法清除恶意程序,恢复数据。
再一次恳请尝试清理Rootkit者认真考虑清理驱动、重新安装系统的可能性,而不是清除Rootkit。前者通常耗时更少,还能产生一个确知的干净系统,而清除Rootkit往往至少会有一个小小的可能性,那就是问题在缓解后再次复发。若关键数据或其他无法恢复的应用可能存在风险,只能冒险一试了。这时,只能祈求好运,但愿能够彻底清除Rootkit。
原文发布时间:2017年9月7日
本文由:csoonline发布,版权归属于原作者
原文链接:http://toutiao.secjia.com/howto-detect-remove-rootkit