基于静态分析的缓冲溢出漏洞检测研究
| 摘要 | 第1-5页 |
| ABSTRACT | 第5-10页 |
| 第一章 绪论 | 第10-16页 |
| ·课题研究背景及现状 | 第10-15页 |
| ·缓冲区溢出及利用的历史 | 第10-11页 |
| ·现有防护措施分类及特点 | 第11-15页 |
| ·攻击发生时的动态防护 | 第11-12页 |
| ·漏洞的检测和发现 | 第12-15页 |
| ·本论文的选题和研究内容 | 第15-16页 |
| 第二章 缓冲区溢出概述 | 第16-20页 |
| ·缓冲区溢出原因 | 第16-17页 |
| ·进程虚存空间管理机制 | 第16-17页 |
| ·非类型安全语言 | 第17页 |
| ·其它原因 | 第17页 |
| ·缓冲区溢出攻击原理及手段 | 第17-19页 |
| ·栈溢出 | 第17-19页 |
| ·堆溢出 | 第19页 |
| ·本章小结 | 第19-20页 |
| 第三章 检测方案 | 第20-24页 |
| ·设计思路 | 第20-21页 |
| ·方案框架及特征 | 第21-23页 |
| ·目标系统的结构 | 第21-22页 |
| ·目标系统的预期特征 | 第22-23页 |
| ·本章小结 | 第23-24页 |
| 第四章 漏洞特征文法构造 | 第24-46页 |
| ·漏洞特征描述 | 第24-27页 |
| ·漏洞词法成份 | 第24-25页 |
| ·漏洞语法成份 | 第25-27页 |
| ·漏洞语义 | 第27页 |
| ·文法构造的目标 | 第27页 |
| ·基于等价分划的漏洞特征文法生成 | 第27-45页 |
| ·文法规则等价分划的集合描述 | 第28-31页 |
| ·漏洞特征文法的构造流程 | 第31-36页 |
| ·文法等价性保持 | 第36-45页 |
| ·分解路径上结点的分解问题 | 第37-43页 |
| ·对合并点的处理 | 第43-45页 |
| ·本章小结 | 第45-46页 |
| 第五章 基于漏洞特征文法的方案实现 | 第46-71页 |
| ·漏洞语义分析 | 第46-53页 |
| ·语义工作的内容 | 第46-53页 |
| ·漏洞特征的表示 | 第46-49页 |
| ·漏洞信息的登记 | 第49-50页 |
| ·漏洞的判定 | 第50-53页 |
| ·基于漏洞特征文法的语义工作特点 | 第53页 |
| ·LEX 和YACC 工具 | 第53-56页 |
| ·LEX | 第53-55页 |
| ·LEX 的功能 | 第53-54页 |
| ·LEX 规范 | 第54-55页 |
| ·YACC | 第55-56页 |
| ·YACC 的功能 | 第55页 |
| ·YACC 规范 | 第55-56页 |
| ·检测工具构造 | 第56-70页 |
| ·文法实现的几个具体问题 | 第56-63页 |
| ·充分形式化问题 | 第57-60页 |
| ·语义工作便利性的保证问题 | 第60-61页 |
| ·分解深度问题 | 第61-63页 |
| ·支持语义的数据结构 | 第63-69页 |
| ·描述缓冲区信息的相关数据结构 | 第63-67页 |
| ·描述函数定义和调用关系的数据结构 | 第67-69页 |
| ·关键算法 | 第69-70页 |
| ·函数调用关系图的创建算法 | 第69页 |
| ·针对函数定义的约束求解递归算法 | 第69-70页 |
| ·后期漏洞判定算法 | 第70页 |
| ·本章小结 | 第70-71页 |
| 第六章 检测实验 | 第71-81页 |
| ·检测工具使用方法 | 第71页 |
| ·实验及结果分析 | 第71-80页 |
| ·测试1 | 第71-72页 |
| ·测试2 | 第72-78页 |
| ·测试3 | 第78-80页 |
| ·本章小结 | 第80-81页 |
| 第七章 总结与展望 | 第81-82页 |
| 致谢 | 第82-83页 |
| 参考文献 | 第83-86页 |
| 攻硕期间取得的研究成果 | 第86-87页 |