进程隐藏技术在主机和网络安全领域有很实用的应用。
比如,对红方,安全人员会在蜜罐系统上隐藏一些敏感进程,防止引起入侵者的警觉;对黑方,有些木马程序会使用进程隐藏技术让自己躲过系统管理人员的排查和监控,从而让自己能不被察觉地在被攻击系统上长期运行。
前者对自己的系统有完全的控制权,所以,采用修改 Linux 内核,增加进程隐藏机制的方式就可以很干净地实现;而后者,因为要尽量隐蔽自己的行踪,所以通常不会直接修改 Linux 内核,而是会采用加载附加的内核模块,或者 hook 并修改系统调用结果的方式来实现。
在本节课中,我会对以上多种进程隐藏技术做原理性介绍,并针对那些恶意隐藏技术,讨论相应的防范措施,主要包括以下几方面内容:
- 红方进程隐藏技术
- 黑方进程隐藏技术
- 反进程隐藏措施
18.1 概述
在 Linux 中,系统管理员通常会使用 top 或 ps 命令,查看当前正在运行的进程的资源占用和运行状态。而进程隐藏技术的预期效果,就是让指定进程的信息不显示在 top 或 ps 命令的输出中,从而使其不被他人查看到。
在《第 17 课:深入虚拟文件系统,文件哲学的延伸》一节中,我们介绍