软件脆弱性模型检查与测试技术研究
摘要 | 第1-5页 |
Abstract | 第5-9页 |
第1章 绪论 | 第9-14页 |
·研究背景 | 第9-10页 |
·研究现状 | 第10-12页 |
·研究意义 | 第12页 |
·本文内容 | 第12-14页 |
第2章 软件脆弱性及其分析技术概述 | 第14-29页 |
·概念和定义 | 第14-15页 |
·软件脆弱性的分类 | 第15-16页 |
·常见软件脆弱性类型 | 第16-19页 |
·缓冲区溢出脆弱性 | 第16-17页 |
·整数溢出脆弱性 | 第17页 |
·随机数 | 第17-18页 |
·竞争条件 | 第18-19页 |
·软件脆弱性分析方法 | 第19-29页 |
·手工分析 | 第19-20页 |
·软件脆弱性静态分析技术 | 第20-25页 |
·软件脆弱性动态分析技术 | 第25-29页 |
第3章 基于模型检查的二进制文件脆弱性分析 | 第29-46页 |
·逆向工程简介 | 第29-33页 |
·逆向工程作用 | 第30-31页 |
·反汇编工具IDAPro | 第31-33页 |
·自动机模型 | 第33-36页 |
·语言及文法 | 第33-34页 |
·有限状态自动机 | 第34-36页 |
·模型检查X86 可执行文件的原理 | 第36-40页 |
·汇编指令处理 | 第36-37页 |
·可执行文件的有限状态机模型 | 第37-38页 |
·安全属性的形式化定义 | 第38-39页 |
·模型检查器 | 第39-40页 |
·X86EBMC设计与实现 | 第40-43页 |
·文件抽象模块 | 第40-43页 |
·其它模块 | 第43页 |
·实验过程与结果分析 | 第43-45页 |
·实验过程 | 第43-44页 |
·结果分析 | 第44-45页 |
·本章小结 | 第45-46页 |
第4章 基于遗传算法的 Fuzzing测试方法 | 第46-64页 |
·Fuzzing方法与遗传算法简介 | 第46-57页 |
·Fuzzing方法 | 第46-49页 |
·遗传算法 | 第49-54页 |
·控制依赖树 | 第54-57页 |
·系统框架 | 第57-59页 |
·对二进制文件的静态分析 | 第57-58页 |
·动态测试数据的产生 | 第58-59页 |
·GA-Fuzzer系统设计与实现 | 第59-60页 |
·静态分析器 | 第60页 |
·动态测试 | 第60页 |
·实验结果 | 第60-62页 |
·脆弱性分析性能 | 第61页 |
·渗透速度评估 | 第61-62页 |
·本章小结 | 第62-64页 |
第5章 软件脆弱性的利用与防范方法研究 | 第64-72页 |
·基于缓冲区溢出攻击 | 第64-68页 |
·缓冲区溢出攻击原理 | 第64-66页 |
·缓冲区溢出攻击方法分类 | 第66-68页 |
·漏洞修补方案 | 第68-69页 |
·软件脆弱性防范技术 | 第69-72页 |
·软件开发阶段 | 第69-70页 |
·编译检查阶段 | 第70页 |
·安全配置使用阶段 | 第70-72页 |
第6章 总结与展望 | 第72-74页 |
参考文献 | 第74-78页 |
致谢 | 第78-79页 |
攻读硕士学位期间发表的论文 | 第79页 |