| 摘要 | 第4-5页 |
| Abstract | 第5-6页 |
| 目录 | 第7-10页 |
| 第1章 绪论 | 第10-16页 |
| 1.1 研究背景及意义 | 第10-11页 |
| 1.2 国内外研究现状 | 第11-13页 |
| 1.3 研究内容 | 第13-14页 |
| 1.4 论文组织结构 | 第14-16页 |
| 第2章 异常检测模型总体设计 | 第16-22页 |
| 2.1 入侵检测概述 | 第16-18页 |
| 2.1.1 入侵检测的分类 | 第16-17页 |
| 2.1.2 异常检测的方法 | 第17-18页 |
| 2.2 本文的研究范围 | 第18-19页 |
| 2.2.1 程序的系统调用行为 | 第18页 |
| 2.2.2 C 语言安全缺陷 | 第18-19页 |
| 2.2.3 Linux 下的软件分析 | 第19页 |
| 2.3 模型的总体设计 | 第19-21页 |
| 2.4 本章小结 | 第21-22页 |
| 第3章 基于控制流的自动机模型的建立 | 第22-36页 |
| 3.1 自动机概述 | 第22页 |
| 3.2 基于系统调用流程图的自动机建模 | 第22-24页 |
| 3.3 基于程序控制流图的自动机建模 | 第24-28页 |
| 3.3.1 无系统调用状态的处理 | 第27页 |
| 3.3.2 系统调用序列重复状态的合并 | 第27-28页 |
| 3.3.3 提取公共前缀 | 第28页 |
| 3.4 构建原始自动机模型 | 第28-35页 |
| 3.4.1 自动机数据结构设计 | 第31-32页 |
| 3.4.2 构造独立函数的自动机 | 第32-34页 |
| 3.4.3 自动机的存储 | 第34-35页 |
| 3.5 本章小结 | 第35-36页 |
| 第4章 基于符号执行的行为获取方法 | 第36-50页 |
| 4.1 符号执行技术概述 | 第36-38页 |
| 4.1.1 符号执行原理 | 第36-37页 |
| 4.1.2 研究概况 | 第37-38页 |
| 4.1.3 动态符号执行工具 | 第38页 |
| 4.2 污点分析的原理与应用 | 第38-41页 |
| 4.2.1 污点分析概述 | 第38-39页 |
| 4.2.2 变量符号值映射表的生成 | 第39-41页 |
| 4.3 基于动态符号执行的行为获取方法 | 第41-45页 |
| 4.3.1 不可达路径问题的解决 | 第41-43页 |
| 4.3.2 训练数据的生成 | 第43-45页 |
| 4.4 基于动态二进制插桩的自动化训练 | 第45-49页 |
| 4.4.1 二进制插桩技术概述 | 第46-47页 |
| 4.4.2 应用 DynamoRIO 实现自动化训练 | 第47-49页 |
| 4.5 本章小结 | 第49-50页 |
| 第5章 行为监控及检测算法的研究 | 第50-60页 |
| 5.1 系统调用行为拦截技术 | 第50-55页 |
| 5.1.1 Linux 系统调用原理 | 第50-51页 |
| 5.1.2 中断机制分析 | 第51页 |
| 5.1.3 系统调用的截获 | 第51-55页 |
| 5.2 异常检测算法 | 第55-57页 |
| 5.2.1 异常的定义 | 第55-56页 |
| 5.2.2 检测算法 | 第56-57页 |
| 5.3 监控模块的实现 | 第57-58页 |
| 5.4 本章小结 | 第58-60页 |
| 第6章 系统测试及结果分析 | 第60-70页 |
| 6.1 状态集合简化的验证 | 第60-61页 |
| 6.2 覆盖率验证 | 第61-65页 |
| 6.3 代码注入攻击测试 | 第65-68页 |
| 6.4 本章小结 | 第68-70页 |
| 结论 | 第70-72页 |
| 参考文献 | 第72-76页 |
| 攻读硕士学位期间发表的学术论文 | 第76-78页 |
| 致谢 | 第78页 |