摘要 | 第1-5页 |
Abstract | 第5-10页 |
第1章 绪论 | 第10-17页 |
·网络安全现状 | 第10页 |
·网络信息安全 | 第10-11页 |
·安全操作系统 | 第11-15页 |
·安全操作系统的定义 | 第11-12页 |
·安全操作系统的发展过程 | 第12-13页 |
·典型的Linux安全操作系统 | 第13-15页 |
·论文的工作与目标 | 第15页 |
·论文的组织结构 | 第15-17页 |
第2章 Linux内核实现机制 | 第17-32页 |
·动态可加载内核模块 | 第17-21页 |
·什么是动态可加载内核模块 | 第17-18页 |
·内核模块的特点 | 第18页 |
·如何使用内核模块 | 第18-21页 |
·系统调用 | 第21-26页 |
·系统调用的安全意义 | 第21-22页 |
·系统调用源代码分析 | 第22-25页 |
·系统调用的实现流程 | 第25-26页 |
·Linux文件系统 | 第26-31页 |
·VFS文件系统 | 第26-27页 |
·VFS文件系统的结构 | 第27-31页 |
·VFS与具体文件系统的对应 | 第31页 |
·本章小结 | 第31-32页 |
第3章 隐藏功能模块 | 第32-44页 |
·隐藏功能模块的必要性 | 第32页 |
·内核模块的实现机制 | 第32-40页 |
·数据结构 | 第32-35页 |
·实现函数 | 第35-40页 |
·利用匹配模块名字的方法实现隐藏LKM | 第40-41页 |
·利用删除模块链表节点的方法实现隐藏LKM | 第41-42页 |
·测试结果 | 第42-43页 |
·本章小结 | 第43-44页 |
第4章 监控特权命令 | 第44-54页 |
·监控特权命令chattr的必要性 | 第44-45页 |
·文件系统的隐藏属性 | 第45-46页 |
·替换系统调用 | 第46-49页 |
·通过System.map和vmLinux取得sys_call_table地址 | 第47-48页 |
·通过中断向量取得sys_call_table地址 | 第48-49页 |
·chattr命令执行流程 | 第49-51页 |
·替换sys_ioctl()系统调用 | 第51-52页 |
·测试结果 | 第52-53页 |
·本章小结 | 第53-54页 |
第5章 监管用户连接记录 | 第54-71页 |
·日志系统对Linux系统安全的重要性 | 第54页 |
·Linux日志系统实现机制 | 第54-62页 |
·用户连接日志 | 第54-57页 |
·进程统计日志子系统 | 第57-58页 |
·错误日志子系统 | 第58-62页 |
·监管用户连接记录 | 第62-69页 |
·过滤用户连接记录 | 第62-64页 |
·清除用户连接记录 | 第64-69页 |
·测试结果 | 第69-70页 |
·本章小结 | 第70-71页 |
第6章 总结 | 第71-73页 |
·总结 | 第71页 |
·展望 | 第71-73页 |
参考文献 | 第73-75页 |
致谢 | 第75页 |