表目录 | 第7-8页 |
图目录 | 第8-10页 |
摘要 | 第10-11页 |
ABSTRACT | 第11-12页 |
第一章 绪论 | 第13-17页 |
1.1 课题背景 | 第13-14页 |
1.2 论文研究内容 | 第14-15页 |
1.3 文章组织结构 | 第15-17页 |
第二章 浏览器输入验证机制与安全性分析 | 第17-30页 |
2.1 浏览器验证机制 | 第17-21页 |
2.1.1 访问控制策略 | 第17-19页 |
2.1.2 对象指针引用保护 | 第19-21页 |
2.2 输入验证机制漏洞形式 | 第21-24页 |
2.2.1 信息来源迷惑 | 第21页 |
2.2.2 代码注入 | 第21-22页 |
2.2.3 应用命令注入 | 第22-24页 |
2.2.4 针对验证机制的漏洞攻击模式 | 第24页 |
2.3 浏览器验证机制测试方法概述 | 第24-27页 |
2.3.1 当前国内外研究现状 | 第24-26页 |
2.3.2 目前研究方法与需求的差距 | 第26-27页 |
2.4 面向浏览器输入验证的 JavaScript 脆弱性检测架构 | 第27-28页 |
2.5 本章小结 | 第28-30页 |
第三章 基于数据解析的污点追踪和程序切片 | 第30-51页 |
3.1 污点追踪和分析模块工作架构 | 第30-31页 |
3.2 污染空间输入关键点确定 | 第31-36页 |
3.2.1 数据输入空间的划分 | 第31-33页 |
3.2.2 污点源函数的确定 | 第33页 |
3.2.3 输入数据构造方法 | 第33-36页 |
3.3 危险函数确定 | 第36-37页 |
3.4 基于数据流的污点传播规则 | 第37-41页 |
3.4.1 赋值语句 | 第39页 |
3.4.2 算数和逻辑运算 | 第39页 |
3.4.3 流程控制与循环语句 | 第39-40页 |
3.4.4 结构体调用 | 第40-41页 |
3.5 指针污染传播测试 | 第41-44页 |
3.5.1 DOM 结构与节点关系 | 第41-42页 |
3.5.2 DOM 结构体的污点传播 | 第42-44页 |
3.6 基于回溯的污点追踪结果确定 | 第44-48页 |
3.6.1 用户数据 | 第45-46页 |
3.6.2 URL 类数据 | 第46-48页 |
3.7 面向数据流的程序切片划分 | 第48-50页 |
3.7.1 流控制语句的处理 | 第49页 |
3.7.2 切片中非主要流入数据处理 | 第49-50页 |
3.8 本章小结 | 第50-51页 |
第四章 面向程序切片的约束求解方法 | 第51-64页 |
4.1 脚本中间代码表示动态转换 | 第51-54页 |
4.1.1 脚本中间代码表示构造 | 第51-53页 |
4.1.2 中间代码约束提取 | 第53-54页 |
4.2 路径约束的正则表示 | 第54-58页 |
4.2.1 字符串变量操作 | 第54-55页 |
4.2.2 字符串方程构造 | 第55页 |
4.2.3 模式化正则替换 | 第55-58页 |
4.3 基于原子约束的约束求解 | 第58-63页 |
4.3.1 约束条件串联 | 第59-61页 |
4.3.2 原子约束求解 | 第61-62页 |
4.3.3 递归生成具体解 | 第62-63页 |
4.3.4 算法复杂度与功能比较 | 第63页 |
4.4 本章小结 | 第63-64页 |
第五章 原型系统设计及实验 | 第64-75页 |
5.1 系统总体设计 | 第64-68页 |
5.1.1 设计目标 | 第64页 |
5.1.2 体系结构 | 第64-67页 |
5.1.3 内部工作流程 | 第67-68页 |
5.2 实验与验证 | 第68-74页 |
5.2.1 污点追踪与分析模块测试 | 第68-70页 |
5.2.2 约束求解测试 | 第70-71页 |
5.2.3 实例测试 | 第71-74页 |
5.3 本章小结 | 第74-75页 |
结束语 | 第75-77页 |
参考文献 | 第77-80页 |
作者简历 攻读硕士学位期间完成的主要工作 | 第80-81页 |
致谢 | 第81页 |