如果在入侵事件调查中,传统的工具完全失效了,你该怎么办?当我在对付入侵者已经加载的内核模块时,就陷入了这种困境。由于从用户空间升级到了内核空间,LKM方式的入侵改变了以往使用的入侵响应的技术。一旦内核空间遭破坏,影响将覆盖到整个用户空间,这样入侵者无须改动系统程序就能控制他们的行为。而用户即使将可信的工具包上传到被入侵的主机,这些工具也不再可信。下面我将揭示恶意的内核模块如何工作,并且给出一些我开发的对付此类入侵的工具。
LKM概述 LKM的存在对系统管理员是个福音,对入侵检测却是个噩梦。LKM最初被设计用来无须重新启动而改变运行中的内核,从而提供一些动态功能。动态内核提供了对诸如新文件系统类型和网卡等设备的额外支持。此外,由于内核模块能够访问内核的所有调用和存储区,它能不受控制地改动整个操作系统的各个部位,因而所有调用和内存常驻的结构都有被恶意内核模块修改的危险。 LKM的一个臭名昭著的例子是knark。一旦knark编译并加载到入侵主机,将改变系统调用表从而改变操作系统的行为。系统调用表常驻在内核空间,基本上是提供给用户级别程序访问操作系统的入口。大多数Unix系统在手册的第二部分给出syscalls的正式定义。一旦内核作为用户空间运行,OS将把命令行上运行的所有命令和调用映像到系统调用表中。因此当knark改变系统调用表时也就改变了用户命令的执行。knark改动了以下的重要系统调用。 * getdents - 获得目标路径的目录项内容(即文件和子目录)。通过修改这个调用,knark实现对用户程序隐藏文件和目录。
| 【内容导航】 |
| 第1页:恶意Linux内核模块工作方法与原理 | 第2页:恶意Linux内核模块工作方法与原理 |
通过Linux系统伪装方法加固系统安全Linux操作系统的安全性不容忽视相关资讯 Linux
- Linux 即将 25 岁:足够伟大 却不 (01月01日)
- Linux 这么棒是因为开源? (08/28/2015 09:21:02)
- FreeBSD 和 Linux 有什么不同? (07/31/2015 09:15:06)
| - 盘点全球“国家级” Linux 项目 (09/25/2015 06:11:28)
- 庆祝 Linux 24 岁生日! (08/26/2015 06:13:36)
- 【观点】离了Linux,我就活不了! (10/31/2013 19:39:56)
|
本文评论 查看全部评论 (0)
评论声明- 尊重网上道德,遵守中华人民共和国的各项有关法律法规
- 承担一切因您的行为而直接或间接导致的民事或刑事法律责
|