基于Web应用前后端融合的测试用例集演化生成研究
发布时间:2023-03-25 02:52
随着Web技术的普及与快速发展,Web应用已渗透到人类社会的各个方面,为人们提供方便快捷的服务。然而,由于Web应用软件数量和复杂程度的急剧上升,自身及运行环境的脆弱性,Web应用的安全性不容乐观。因此,如何减少Web应用的安全威胁,提高其安全性,是当前互联网安全面临的关键问题。软件测试是一种广泛使用的安全性验证技术。但Web应用前后端分离、异步通信及事件驱动等特性,使得传统的软件安全测试方法不再适用,给Web应用安全测试带来了新的挑战。目前关于Web应用的安全测试主要集中在基于前端模型的测试和面向后端代码的测试两方面。基于前端模型的测试研究大多以模型自身状态/迁移/迁移序列为测试覆盖目标,探讨测试用例自动生成,未见模型以外的目标指导。但仅从前端模型出发而不考虑后端代码的测试用例生成,其测试用例对后端代码的覆盖率极低,难以检测Web应用后端安全漏洞。此外,目前Web应用的前端行为模型主要关注Web页面和事件,忽略了事件触发条件与页面之间的关系以及由用户事件回调或服务器消息引发的参数或DOM元素变化,难以准确、完整地表示现代Web应用,基于模型生成的测试用例难以对现代Web应用进行有效测...
【文章页数】:179 页
【学位级别】:博士
【文章目录】:
摘要
ABSTRACT
第一章 绪论
1.1 研究背景及意义
1.2 国内外研究现状
1.2.1 基于Web应用前端模型的测试用例生成
1.2.2 面向Web应用后端代码的测试用例生成
1.2.3 基于搜索的Web应用测试用例生成
1.2.4 基于Memetic演化算法的测试用例生成
1.3 Web应用测试用例生成研究所面临的主要问题
1.3.1 前端模型表示问题
1.3.2 测试用例生成质量问题
1.3.3 测试用例生成效率问题
1.4 研究内容和主要创新之处
1.4.1 研究内容
1.4.2 创新之处
1.5 本文组织结构
第二章 Web应用测试相关技术
2.1 Web应用的模型构建及基于模型的Web应用测试
2.1.1 Web应用的常见前端模型
2.1.2 基于静态/动态分析的Web应用模型构建
2.1.3 基于模型的Web应用测试用例生成
2.2 Web应用后端代码分析技术
2.2.1 后端代码的静态分析
2.2.2 后端代码的动态分析
2.3 基于搜索的测试用例自动生成技术
2.3.1 基于全局搜索的测试用例生成
2.3.2 基于局部搜索的测试用例生成
2.3.3 全局+局部的Memetic演化搜索测试用例生成
2.4 基于全局/局部搜索的Web应用测试用例生成
2.5 基于搜索并行化的测试用例生成技术
第三章 现代Web应用前端行为模型构建
3.1 现代Web应用的特点
3.1.1 现代Web应用的页面及事件构成
3.1.2 传统用户行为轨迹表示
3.2 现有Web应用模型表示的不足
3.3 种现代Web应用前端行为模型定义及表示
3.3.1 Web应用前端行为模型(CBM)定义
3.3.2 CBM状态及迁移表示
3.4 基于用户行为轨迹的Web应用CBM模型构建及优化框架
3.4.1 Web应用用户行为轨迹获取及最小化
3.4.2 基于用户行为轨迹的CBM模型构建及优化
3.5 Web应用用户行为轨迹trace获取及最小化
3.5.1 用户行为轨迹trace的表征
3.5.2 trace充分性准则设计
3.5.3 基于动态分析的trace收集
3.5.4 基于充分性准则的trace补全及最小集生成
3.6 基于trace的Web应用前端CBM模型构建
3.6.1 trace的CBM状态与迁移识别
3.6.2 Web应用CBM模型构建
3.7 Web应用前端CBM模型的优化
3.7.1 CBM模型等价状态与等价迁移的定义
3.7.2 等价状态与迁移的识别及合并
3.7.3 CBM模型优化前后的等价性证明
3.8 CBM模型的有效性分析及验证
3.8.1 被测程序及实验设计
3.8.2 用户行为轨迹trace获取及最小集生成的有效性分析
3.8.3 基于trace的CBM模型构建可行性验证
3.8.4 CBM模型优化的有效性验证
3.8.5 不同充分性的trace集合对CBM建模的影响分析
3.8.6 CBM模型构建的时间开销
3.9 本章小结
第四章 面向Web应用后端脆弱路径的前端CBM模型测试用例演化生成
4.1 Web应用前端/后端测试用例生成存在的主要问题
4.1.1 Web应用测试用例生成的质量问题
4.1.2 Web应用测试用例生成的效率问题
4.2 Web应用后端脆弱路径分析及路径集生成
4.2.1 后端脆弱路径分析
4.2.2 后端脆弱路径集生成
4.3 前后端融合的Web应用测试用例Memetic演化生成框架
4.3.1 面向后端脆弱路径的前端CBM模型测试用例Memetic演化生成
4.3.2 前端CBM测试用例的脚本生成及模拟执行
4.3.3 后端脆弱路径覆盖信息的收集
4.4 面向后端脆弱路径的CBM测试序列全局GA搜索演化生成
4.4.1 CBM测试序列的个体表示
4.4.2 基于后端脆弱路径的适应度函数设计
4.4.3 遗传算子设计
4.4.4 个体可行性判定
4.4.5 种群更新策略
4.5 CBM测试序列的输入参数局部搜索SA演化生成
4.5.1 测试序列输入参数的初始解设置
4.5.2 扰动策略设计
4.5.3 基于后端脆弱路径的能量函数设计
4.5.4 更新策略设计
4.6 前端CBM测试用例的脚本生成及后端覆盖信息的收集
4.6.1 CBM测试用例的脚本生成
4.6.2 基于源码插装的后端脆弱路径覆盖信息获取
4.7 前后端融合的Web应用测试用例Memetic演化生成算法及实现
4.8 前后端融合的Web应用测试用例Memetic演化生成实验分析
4.8.1 实验方法及参数设计
4.8.2 前后端融合的Web应用测试用例演化生成有效性评估
4.8.3 前后端融合的Web应用测试用例演化生成效率分析
4.8.4 面向CBM测试用例的脚本生成有效性分析
4.9 本章小结
第五章 前后端融合的Web应用测试用例并行化演化生成
5.1 前后端融合的Web应用测试用例串行演化生成效率分析
5.2 前后端融合的Web应用测试用例并行化演化生成的关键问题分析
5.2.1 种群个体执行时间及适应度值计算时间的差异性问题
5.2.2 多浏览器并行执行的进程复用及管理问题
5.2.3 多线程并发执行时后端覆盖信息的收集问题
5.3 前后端融合的Web应用测试用例并行化演化生成解决方案
5.3.1 浏览器进程协同的线程池模型及调度策略设计
5.3.2 反向代理及URL模糊匹配设计及应用
5.4 前后端融合的Web应用测试用例并行化演化生成实现
5.4.1 多浏览器进程并行执行及复用
5.4.2 多线程执行时个体适应度计算
5.4.3 Web应用测试用例并行化演化生成及复杂度分析
5.5 前后端融合的Web应用测试用例并行化演化生成实验及结果分析
5.5.1 被测程序及实验设计
5.5.2 Web应用测试用例并行化演化生成的有效性分析
5.5.3 Web应用测试用例并行化演化生成的效率分析
5.5.4 Web应用测试用例并行化演化生成的资源占用情况分析
5.6 本章小结
第六章 面向后端漏洞检测的Web应用前端模型恶意数据生成
6.1 面向后端脆弱路径覆盖的Web应用测试用例集漏洞检测能力分析
6.2 影响Web应用后端漏洞检测的关键因素分析
6.2.1 后端脆弱路径影响漏洞检测的因素分析
6.2.2 恶意数据影响漏洞检测的因素分析
6.3 面向后端漏洞检测的前端CBM模型恶意数据生成框架
6.3.1 基于后端脆弱路径及恶意数据的漏洞预测模型构建
6.3.2 基于漏洞预测模型的前端CBM序列恶意数据生成
6.4 基于后端脆弱路径及恶意数据的漏洞预测模型构建
6.4.1 预测目标及相关特征的确定
6.4.2 选型分析及预测模型度量指标的确定
6.4.3 漏洞预测模型的构建实现
6.5 基于漏洞预测模型的前端CBM模型恶意数据GA演化生成
6.5.1 攻击模式设计
6.5.2 前端CBM序列恶意数据的个体表示
6.5.3 基于漏洞预测模型的适应度函数设计
6.5.4 遗传算子设计
6.5.5 种群更新策略设计
6.5.6 CBM模型恶意数据GA演化生成算法及实现
6.6 面向后端漏洞的CBM模型恶意数据生成实验及结果分析
6.6.1 被测程序及实验设计
6.6.2 漏洞预测模型的准确性分析
6.6.3 基于漏洞预测模型的CBM模型恶意数据GA演化生成有效性分析
6.6.4 基于漏洞预测模型的CBM模型恶意数据GA演化生成效率分析
6.6.5 基于漏洞预测模型的CBM模型恶意数据GA演化生成性能分析
6.7 本章小结
第七章 结论与展望
7.1 结论
7.2 工作展望
参考文献
致谢
研究成果及发表的学术论文
作者简介
导师简介
附件
本文编号:3770385
【文章页数】:179 页
【学位级别】:博士
【文章目录】:
摘要
ABSTRACT
第一章 绪论
1.1 研究背景及意义
1.2 国内外研究现状
1.2.1 基于Web应用前端模型的测试用例生成
1.2.2 面向Web应用后端代码的测试用例生成
1.2.3 基于搜索的Web应用测试用例生成
1.2.4 基于Memetic演化算法的测试用例生成
1.3 Web应用测试用例生成研究所面临的主要问题
1.3.1 前端模型表示问题
1.3.2 测试用例生成质量问题
1.3.3 测试用例生成效率问题
1.4 研究内容和主要创新之处
1.4.1 研究内容
1.4.2 创新之处
1.5 本文组织结构
第二章 Web应用测试相关技术
2.1 Web应用的模型构建及基于模型的Web应用测试
2.1.1 Web应用的常见前端模型
2.1.2 基于静态/动态分析的Web应用模型构建
2.1.3 基于模型的Web应用测试用例生成
2.2 Web应用后端代码分析技术
2.2.1 后端代码的静态分析
2.2.2 后端代码的动态分析
2.3 基于搜索的测试用例自动生成技术
2.3.1 基于全局搜索的测试用例生成
2.3.2 基于局部搜索的测试用例生成
2.3.3 全局+局部的Memetic演化搜索测试用例生成
2.4 基于全局/局部搜索的Web应用测试用例生成
2.5 基于搜索并行化的测试用例生成技术
第三章 现代Web应用前端行为模型构建
3.1 现代Web应用的特点
3.1.1 现代Web应用的页面及事件构成
3.1.2 传统用户行为轨迹表示
3.2 现有Web应用模型表示的不足
3.3 种现代Web应用前端行为模型定义及表示
3.3.1 Web应用前端行为模型(CBM)定义
3.3.2 CBM状态及迁移表示
3.4 基于用户行为轨迹的Web应用CBM模型构建及优化框架
3.4.1 Web应用用户行为轨迹获取及最小化
3.4.2 基于用户行为轨迹的CBM模型构建及优化
3.5 Web应用用户行为轨迹trace获取及最小化
3.5.1 用户行为轨迹trace的表征
3.5.2 trace充分性准则设计
3.5.3 基于动态分析的trace收集
3.5.4 基于充分性准则的trace补全及最小集生成
3.6 基于trace的Web应用前端CBM模型构建
3.6.1 trace的CBM状态与迁移识别
3.6.2 Web应用CBM模型构建
3.7 Web应用前端CBM模型的优化
3.7.1 CBM模型等价状态与等价迁移的定义
3.7.2 等价状态与迁移的识别及合并
3.7.3 CBM模型优化前后的等价性证明
3.8 CBM模型的有效性分析及验证
3.8.1 被测程序及实验设计
3.8.2 用户行为轨迹trace获取及最小集生成的有效性分析
3.8.3 基于trace的CBM模型构建可行性验证
3.8.4 CBM模型优化的有效性验证
3.8.5 不同充分性的trace集合对CBM建模的影响分析
3.8.6 CBM模型构建的时间开销
3.9 本章小结
第四章 面向Web应用后端脆弱路径的前端CBM模型测试用例演化生成
4.1 Web应用前端/后端测试用例生成存在的主要问题
4.1.1 Web应用测试用例生成的质量问题
4.1.2 Web应用测试用例生成的效率问题
4.2 Web应用后端脆弱路径分析及路径集生成
4.2.1 后端脆弱路径分析
4.2.2 后端脆弱路径集生成
4.3 前后端融合的Web应用测试用例Memetic演化生成框架
4.3.1 面向后端脆弱路径的前端CBM模型测试用例Memetic演化生成
4.3.2 前端CBM测试用例的脚本生成及模拟执行
4.3.3 后端脆弱路径覆盖信息的收集
4.4 面向后端脆弱路径的CBM测试序列全局GA搜索演化生成
4.4.1 CBM测试序列的个体表示
4.4.2 基于后端脆弱路径的适应度函数设计
4.4.3 遗传算子设计
4.4.4 个体可行性判定
4.4.5 种群更新策略
4.5 CBM测试序列的输入参数局部搜索SA演化生成
4.5.1 测试序列输入参数的初始解设置
4.5.2 扰动策略设计
4.5.3 基于后端脆弱路径的能量函数设计
4.5.4 更新策略设计
4.6 前端CBM测试用例的脚本生成及后端覆盖信息的收集
4.6.1 CBM测试用例的脚本生成
4.6.2 基于源码插装的后端脆弱路径覆盖信息获取
4.7 前后端融合的Web应用测试用例Memetic演化生成算法及实现
4.8 前后端融合的Web应用测试用例Memetic演化生成实验分析
4.8.1 实验方法及参数设计
4.8.2 前后端融合的Web应用测试用例演化生成有效性评估
4.8.3 前后端融合的Web应用测试用例演化生成效率分析
4.8.4 面向CBM测试用例的脚本生成有效性分析
4.9 本章小结
第五章 前后端融合的Web应用测试用例并行化演化生成
5.1 前后端融合的Web应用测试用例串行演化生成效率分析
5.2 前后端融合的Web应用测试用例并行化演化生成的关键问题分析
5.2.1 种群个体执行时间及适应度值计算时间的差异性问题
5.2.2 多浏览器并行执行的进程复用及管理问题
5.2.3 多线程并发执行时后端覆盖信息的收集问题
5.3 前后端融合的Web应用测试用例并行化演化生成解决方案
5.3.1 浏览器进程协同的线程池模型及调度策略设计
5.3.2 反向代理及URL模糊匹配设计及应用
5.4 前后端融合的Web应用测试用例并行化演化生成实现
5.4.1 多浏览器进程并行执行及复用
5.4.2 多线程执行时个体适应度计算
5.4.3 Web应用测试用例并行化演化生成及复杂度分析
5.5 前后端融合的Web应用测试用例并行化演化生成实验及结果分析
5.5.1 被测程序及实验设计
5.5.2 Web应用测试用例并行化演化生成的有效性分析
5.5.3 Web应用测试用例并行化演化生成的效率分析
5.5.4 Web应用测试用例并行化演化生成的资源占用情况分析
5.6 本章小结
第六章 面向后端漏洞检测的Web应用前端模型恶意数据生成
6.1 面向后端脆弱路径覆盖的Web应用测试用例集漏洞检测能力分析
6.2 影响Web应用后端漏洞检测的关键因素分析
6.2.1 后端脆弱路径影响漏洞检测的因素分析
6.2.2 恶意数据影响漏洞检测的因素分析
6.3 面向后端漏洞检测的前端CBM模型恶意数据生成框架
6.3.1 基于后端脆弱路径及恶意数据的漏洞预测模型构建
6.3.2 基于漏洞预测模型的前端CBM序列恶意数据生成
6.4 基于后端脆弱路径及恶意数据的漏洞预测模型构建
6.4.1 预测目标及相关特征的确定
6.4.2 选型分析及预测模型度量指标的确定
6.4.3 漏洞预测模型的构建实现
6.5 基于漏洞预测模型的前端CBM模型恶意数据GA演化生成
6.5.1 攻击模式设计
6.5.2 前端CBM序列恶意数据的个体表示
6.5.3 基于漏洞预测模型的适应度函数设计
6.5.4 遗传算子设计
6.5.5 种群更新策略设计
6.5.6 CBM模型恶意数据GA演化生成算法及实现
6.6 面向后端漏洞的CBM模型恶意数据生成实验及结果分析
6.6.1 被测程序及实验设计
6.6.2 漏洞预测模型的准确性分析
6.6.3 基于漏洞预测模型的CBM模型恶意数据GA演化生成有效性分析
6.6.4 基于漏洞预测模型的CBM模型恶意数据GA演化生成效率分析
6.6.5 基于漏洞预测模型的CBM模型恶意数据GA演化生成性能分析
6.7 本章小结
第七章 结论与展望
7.1 结论
7.2 工作展望
参考文献
致谢
研究成果及发表的学术论文
作者简介
导师简介
附件
本文编号:3770385
本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/3770385.html