基于Ruby的网络安全漏洞测试语言的设计与实现
摘要 | 第4-5页 |
ABSTRACT | 第5-6页 |
第一章 绪论 | 第9-12页 |
1.1 研究背景 | 第9-10页 |
1.2 主要工作 | 第10页 |
1.3 论文结构 | 第10-12页 |
第二章 背景理论及相关技术介绍 | 第12-24页 |
2.1 国内外研究现状 | 第12-13页 |
2.2 网络安全与漏洞扫描 | 第13-15页 |
2.2.1 网络安全概述 | 第13-14页 |
2.2.2 漏洞扫描技术 | 第14-15页 |
2.3 领域特定语言DSL技术 | 第15-18页 |
2.3.1 DSL定义 | 第15-16页 |
2.3.2 为何需要DSL | 第16-17页 |
2.3.3 DSL的生命周期 | 第17-18页 |
2.4 编译原理 | 第18-21页 |
2.5 Ruby语言与元编程 | 第21-23页 |
2.6 本章小结 | 第23-24页 |
第三章 漏洞检测语言RVSL的需求分析 | 第24-29页 |
3.1 概述 | 第24页 |
3.2 RVSL脚本的语法需求分析 | 第24-25页 |
3.3 RVSL脚本的函数需求分析 | 第25-27页 |
3.3.1 漏洞描述函数需求分析 | 第25页 |
3.3.2 网络函数需求分析 | 第25-26页 |
3.3.3 字符处理函数需求分析 | 第26页 |
3.3.4 其它工具函数需求分析 | 第26-27页 |
3.4 RVSL的解释器需求分析 | 第27-28页 |
3.4.1 脚本调度与组织 | 第27页 |
3.4.2 知识库 | 第27-28页 |
3.5 本章小结 | 第28-29页 |
第四章 漏洞检测语言RVSL的总体设计 | 第29-40页 |
4.1 脚本结构 | 第29页 |
4.2 基本语法设计 | 第29-33页 |
4.2.1 注释 | 第29-30页 |
4.2.2 数字和字符串 | 第30页 |
4.2.3 循环控制结构 | 第30页 |
4.2.4 操作符 | 第30-31页 |
4.2.5 匿名/非匿名函数 | 第31-32页 |
4.2.6 用户定义的函数 | 第32-33页 |
4.3 脚本调度设计 | 第33-35页 |
4.3.1 脚本分类描述 | 第33-35页 |
4.3.2 代码库结构 | 第35页 |
4.4 脚本知识库设计 | 第35-36页 |
4.5 解释执行流程设计 | 第36-39页 |
4.6 本章小结 | 第39-40页 |
第五章 漏洞检测语言RVSL的详细设计与实现 | 第40-59页 |
5.1 脚本解析流程 | 第40-41页 |
5.2 脚本调度的设计与实现 | 第41-43页 |
5.3 脚本知识库的设计与实现 | 第43页 |
5.4 解释执行流程的设计与实现 | 第43-50页 |
5.4.1 单词处理 | 第43-47页 |
5.4.2 生成语法树 | 第47-50页 |
5.4.3 生成代码 | 第50页 |
5.5 网络相关函数的详细设计与实现 | 第50-54页 |
5.5.1 套接字处理 | 第51-53页 |
5.5.2 原始报文处理 | 第53-54页 |
5.6 工具函数的详细设计与实现 | 第54-55页 |
5.7 字符串处理函数的详细设计与实现 | 第55-57页 |
5.8 RVSL编写测试插件流程 | 第57-58页 |
5.9 本章小结 | 第58-59页 |
第六章 RVSL解释器功能测试 | 第59-65页 |
6.1 测试环境 | 第59页 |
6.2 语言解析能力测试 | 第59-63页 |
6.2.1 测试用例 | 第59-61页 |
6.2.2 单词处理测试 | 第61页 |
6.2.3 语法树生成测试 | 第61-63页 |
6.3 漏洞检测能力测试 | 第63-64页 |
6.4 本章小结 | 第64-65页 |
第七章 总结与展望 | 第65-67页 |
7.1 论文总结 | 第65-66页 |
7.2 工作展望 | 第66-67页 |
参考文献 | 第67-69页 |
致谢 | 第69-70页 |
攻读学位期间发表的学术论文目录 | 第70页 |