基于结果反馈的源代码安全测试模型的研究
摘要 | 第5-7页 |
Abstract | 第7-8页 |
第1章 绪论 | 第13-17页 |
1.1 选题背景及意义 | 第13-14页 |
1.2 国内外研究现状 | 第14-15页 |
1.3 本文的研究内容 | 第15页 |
1.4 本文组织架构 | 第15-17页 |
第2章 基于三维树模型的缺陷分类方法 | 第17-32页 |
2.1 常见的源代码漏洞 | 第17-24页 |
2.1.1 缓冲区溢出 | 第17-19页 |
2.1.2 整数溢出 | 第19页 |
2.1.3 SQL注入 | 第19-20页 |
2.1.4 跨站脚本 | 第20-21页 |
2.1.5 命令注入 | 第21-22页 |
2.1.6 空指针解引用 | 第22-23页 |
2.1.7 路径遍历 | 第23页 |
2.1.8 释放后使用 | 第23-24页 |
2.2 源代码安全测试工具对比分析 | 第24-27页 |
2.2.1 Fortify | 第24页 |
2.2.2 Coverity | 第24页 |
2.2.3 Checkmarx | 第24-25页 |
2.2.4 Klocwork | 第25页 |
2.2.5 工具对比 | 第25-27页 |
2.3 源代码缺陷分类方法 | 第27-31页 |
2.3.1 三维树模型缺陷分类方法要素 | 第27-29页 |
2.3.2 三维树模型缺陷分类方法定义 | 第29-30页 |
2.3.3 三维树模型缺陷分类方法示例 | 第30-31页 |
2.4 本章小结 | 第31-32页 |
第3章 结果反馈的源代码安全测试模型 | 第32-50页 |
3.1 CodeHulk的设计思想 | 第32-33页 |
3.2 CodeHulk的架构设计 | 第33-43页 |
3.2.1 输入数据预处理模块 | 第34-36页 |
3.2.2 输入数据统一化模块 | 第36-39页 |
3.2.3 缺陷分类器模块 | 第39-40页 |
3.2.4 决策分类器模块 | 第40-41页 |
3.2.5 人工审核模块 | 第41页 |
3.2.6 结果输出模块 | 第41-42页 |
3.2.7 模型部分类图 | 第42-43页 |
3.3 基于Adaboost算法的设计实现 | 第43-49页 |
3.3.1 Adaboost算法介绍 | 第43页 |
3.3.2 Adaboost算法原理 | 第43-45页 |
3.3.3 CodeHulk算法代码实现 | 第45-47页 |
3.3.4 CodeHulk初始阈值设定 | 第47-49页 |
3.4 本章小结 | 第49-50页 |
第4章 实验结果分析 | 第50-54页 |
4.1 漏报及误报实验结果 | 第50-51页 |
4.2 时间及人力成本实验结果 | 第51-52页 |
4.3 本章小结 | 第52-54页 |
总结与展望 | 第54-56页 |
参考文献 | 第56-59页 |
攻读硕士期间参与的项目及学术成果 | 第59-60页 |
致谢 | 第60页 |