Rootkit
本文约需 2 分钟阅读
根包 (Rootkit) 是一种潜伏在系统深处、将自身存在向操作系统和安全软件隐藏的恶意软件。其名称源自 Unix/Linux 的最高权限「 root 」,攻击者利用它维持对系统的持久访问。由于极难被检测,存在感染长期不被察觉、信息被持续窃取的情况。 2024 年发现了多种新的 UEFI 根包变种,固件级安全防护的重要性日益提高。
为什么没有出现在列表中并不能作为证据
进程列表与网络连接列表,只是把向操作系统查询后返回的答案显示出来而已。嵌入内核的根包所处的位置,正好可以改写对该查询的响应本身,因此它能做到让与自身有关的条目不被返回。在这种情况下,列表中没有出现可疑项目,并不能作为不存在可疑之物的证据。这是观测工具被观测对象所支配的状态,看起来正常这一结果,与实际正常无法区分。因此,在怀疑存在根包的场合,必须把观测切换为不经由操作系统的方式。直接获取并分析内存内容、从其他介质启动的环境中检查磁盘、在网络一侧记录通信,这些方法的共同点都是不向已被入侵的操作系统询问答案。在判断是否检测到之前,需要有一个确认该信息来自何处的步骤。
根包的潜伏结构
根包的种类
内核模式根包嵌入操作系统内核,最难被检测。用户模式根包在应用程序层运行,隐藏进程和文件。引导包感染操作系统的启动过程,在操作系统加载之前就开始活动。 UEFI 根包感染固件,因此即使重装操作系统也无法清除,是最棘手的类型。
为什么发现会被延迟
根包麻烦之处不在于危害的规模,而在于被发现的路径。监控机制在多数情况下依赖被调查终端自身返回的信息。如果进程列表和通信状况已被改写,监控画面上就会持续显示「无异常」,而随着时间推移,入侵痕迹会被覆盖,越来越难以追查。因此,发现往往由来自系统之外的信息触发:通信对象的提醒、业务伙伴的通知,或在外部被发现的泄露数据。如果像后门这样的再入侵入口依然存在,即使以为已经清除,攻击者也会沿同一路径返回。在事件响应中,必须在终端返回的信息本身不可信的前提下推进工作,并与网络侧记录等其他体系的证据相互比对。
检测与清除
由于常规病毒扫描无法检测,需要使用专用的根包检测工具,或从操作系统外部进行扫描 (从可引导介质启动)。一旦确认存在内核模式根包,全新重装操作系统是最可靠的应对方法。作为预防措施,保持操作系统和软件为最新版本、用强随机密码保护管理员账户,并启用多因素认证,可以降低初期入侵的风险。
这篇文章对您有帮助吗?