Linux下LKM安全的分析与改进研究

Linux下LKM安全的分析与改进研究

论文摘要

近年来Linux操作系统由于其出色的性能和稳定性,开放源代码特性带来的灵活性和扩展性,获得了空前蓬勃的发展,越来越多的商用产品开始采用Linux作为其软件平台。为了解决整体式内核结构的可扩充性问题,Linux引入了可加载内核模块(Loadable Kernel Module(LKM))的机制,这使Linux操作系统更加模块化。但是,Linux内核对模块的安全问题未做全面的考虑,即使发展到2.6版本,内核也没有预留专门的安全接口供安全模块使用。这给LKM安全带来很大的隐患。一直以来,利用LKM的核心态病毒成为最活跃的黑客研究领域。LKM模块的安全机制没有因为其可扩展内核模块、运行于内核态的特殊性而加以强调。因此一般的检测工具无法同Linux安全操作系统兼容,扩展性不强,不能根据操作系统加载LKM模块的行为特性,适时有效的检测模块安全以及阻止恶意模块。本文根据当前LKM安全研究对Linux内核安全的重要性,结合随着Linux内核版本对安全特性的改变,研究LKM攻击方法,总结LKM的安全特性,分析与利用安全操作系统研究成果,提出LKM安全方面的改进方案。其主要的工作包括:1、分析与总结LKM攻击中所使用的特殊操作的知识;2、分析与实现LKM攻击的方法,如:系统调用劫持、IDT劫持、LKM注入、模块隐藏等,并给出针对2.6内核下改进的解决方案;3、总结LKM安全的缺陷与核心问题;4、分析与总结LSM框架以及SELinux的原理以及它们对LKM安全的作用;5、总结LSM安全模块对LKM安全的不足,并实现在SELinux下扩展LSM安全模块的详细方法;6、根据LKM安全的特点,结合LSM的扩展,实现LKM安全的改进方案。总之,本文分析与总结的LKM安全的内容,为LKM安全的检测与防御提供了很好的依据。同时,提出的LKM安全改进方案,为LKM安全提供了有效的、易扩展的解决方法,为后续的研究提供了很好的架构。

论文目录

  • 摘要
  • ABSTRACT
  • 第一章 绪论
  • 1.1 引言
  • 1.2 国内外研究现状
  • 1.3 论文主要工作
  • 1.4 论文组织结构
  • 第二章 关于LKM的知识分析
  • 2.1 操作系统知识
  • 2.1.1 硬件基础
  • 2.1.2 Linux内核分析
  • 2.2 Linux操作系统的可加载内核机制
  • 2.2.1 LKM模块概述
  • 2.2.2 模块(Module)的载入
  • 2.2.3 模块(Module)的卸载
  • 2.2.4 Linux2.6系列内核的模块加载
  • 2.3 本章小结
  • 第三章 LKM攻击的分析与总结
  • 3.1 系统调用劫持
  • calltable的劫持'>3.1.1 直接使用syscalltable的劫持
  • calltable的劫持'>3.1.2 不导出syscalltable的劫持
  • 3.1.3 VFS调用的劫持
  • 3.2 IDT劫持
  • 3.2.1 一般中断劫持
  • 3.2.2 2.6内核下的改进
  • 3.3 LKM注入
  • 3.3.1 ELF文件格式
  • 3.3.2 注入的可行性分析
  • 3.3.3 .strtab节的修改
  • 3.3.4 代码插入的方法
  • 3.3.5 隐蔽性的保持
  • 3.3.6 2.6版内核下的改进
  • 3.4 模块隐藏机制
  • 3.5 安全性分析与总结
  • 3.5.1 模块的完整性
  • 3.5.2 模块信息管理
  • 3.5.3 模块的访问控制
  • 3.5.4 恶意模块检测
  • 3.6 本章小结
  • 第四章 LSM对LKM安全的分析
  • 4.1 LSM的原理
  • 4.1.1 LSM的基本设计思想
  • 4.1.2 透明安全字段(Opaque Security Field)
  • 4.1.3 安全钩子函数
  • 4.1.4 安全模块的注册与注销
  • 4.1.5 已实现的模型
  • 4.2 SELinux访问控制机制
  • 4.3 LSM框架对LKM安全的作用
  • 4.4 SELinux对LKM安全的作用
  • 4.5 LSM对LKM安全的不足
  • 4.6 LSM的扩展方法
  • 4.7 本章小结
  • 第五章 LKM安全的改进
  • 5.1 改进的目标
  • 5.2 扩展LSM框架
  • 5.3 Hooks放置的地点
  • 5.4 子模块的设计与实现
  • 5.4.1 整体模块设计方案
  • 5.4.2 各子模块功能说明
  • 5.5 实验测试
  • 5.5.1 实验环境
  • 5.5.2 功能测试
  • 5.6 本章小结
  • 第六章 结论
  • 6.1 全文总结
  • 6.2 今后的工作和展望
  • 致谢
  • 参考文献
  • 攻硕期间取得的研究成果
  • 相关论文文献

    标签:;  ;  

    Linux下LKM安全的分析与改进研究
    下载Doc文档

    猜你喜欢