一种防范rootkit入侵的内核模块加载机制
2015-06-19谈潘攀
谈潘攀
摘要:内核级rootkit是破坏内核完整性的最大威胁,它通常通过冒充或篡改合法模块加载到内核,本文在对内核级rootkit防范技术对比分析的基础上,提出一种认证和检测相结合的内核模块加载机制,该机制把内核模块区分为信任模块和非信任模块,加载前者时首先验证其完整性,加载后者时,验证其身份和完整性,并实时检测其对内核数据的修改。实验表明,该机制能防范内核级rootldt的通过内核模块方式入侵。本文最后对该机制的优缺点及下一步研究方向进行了分析。
关键词:内核级rootkit;内核模块;认证;检测
中图分类号:TP311 文献标识码:A DOI:10.3969/j.issn.1003-6970.2015.04.028
0.引言
在运行的系统中动态加载或卸载内核模块是大部分现代操作系统具备的基本功能,Windows操作系统又称模块为设备驱动程序或内核驱动程序。Rootkit是攻击者向计算机系统中植入的,能够隐藏自身踪迹并保留超级用户访问权限的恶意程序。它主要分为用户级和内核级两种,内核级rootkit是入侵操作系统内核层的rootkit,通常会在内核空间更改和插入执行代码,它是破坏内核完整性的最大威胁。利用模块机制是内核级rootkit入侵内核的常用手段。
1.传统模块加载机制的安全弱点
传统的内核模块加载机制,在方便用户的同时,也给内核级rootkit很多可乘之机。它们利用这种机制进入内核主要有两种,一是冒充合法的模块,系统管理员使用正常的加载命令将其加载到系统;二是修改静态内核模块文件,待系统重启后加载到系统。不论哪种方式进入内核,一旦加载成功,它将破坏运行时内核的完整性,为系统设置后门。一般说来,它通过劫持系统调用,拦截中断,内联挂钩等攻击手段,达到隐藏文件、进程、网络连接,记录密码等非法目的。研究表明,为了达到入侵目的,其主要修改内核空间的下列关键数据:endprint