[发明专利]基于模糊技术的可信软件栈测试系统有效
申请号: | 201010150363.5 | 申请日: | 2010-04-14 |
公开(公告)号: | CN101833503A | 公开(公告)日: | 2010-09-15 |
发明(设计)人: | 严飞;张焕国;傅建明;杨飏;何凡;张娅珊;吴俊;周鹏 | 申请(专利权)人: | 武汉大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F21/00 |
代理公司: | 武汉科皓知识产权代理事务所(特殊普通合伙) 42222 | 代理人: | 张火春 |
地址: | 430072*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 模糊 技术 可信 软件 测试 系统 | ||
1.一种基于模糊技术的可信软件栈测试系统,其特征在于,包括:
-服务提供者测试模块,用于测试可信软件栈的服务提供者管理功能中的安全缺陷,所述服务提供者测试模块进一步包括:
用户函数通信拦截子模块,用于拦截可信软件栈的服务提供者管理函数的通信数据流,同时保持函数原有的执行状态迁移不变;
故障注入子模块,用于将模糊技术测试模块处理后的构造数据返回服务提供者管理函数,同时保持函数原有的执行状态迁移不变;
-核心服务测试模块,用于测试可信软件栈的核心服务管理功能中的安全缺陷,所述核心服务测试模块进一步可包括:
网络通信拦截子模块,用于拦截可信软件栈的核心服务管理函数的网络通信数据流,同时保持网络通信原有的交互状态迁移不变;
故障注入子模块,用于将模糊技术测试模块处理后的构造数据返回核心服务管理函数,同时保持网络通信原有的交互状态迁移不变。
2.根据权利要求1所述的基于模糊技术的可信软件栈测试系统,其特征在于,还包括:
模糊测试模块,用于根据通信数据格式解析拦截数据,并识别其中的测试数据变量,然后根据安全缺陷的模糊测试算法对测试数据变量进行构造,最后将构造后的数据重新按数据格式完成封装;
数据库模块,用于存储通信数据的结构描述,利用XML记录其中的变量声明、类型定义以及需要进行构造的变量或字段。
3.根据权利要求2所述的基于模糊技术的可信软件栈测试系统,其特征在于:
所述模糊测试模块由通信拦截子模块、畸形构造子模块和故障注入子模块三部分组成,
通信拦截子模块,用于拦截可信软件栈测试函数的通信数据流,同时保持函数原有的执行状态迁移不变;
畸形构造子模块,用于根据数据库中存储的数据格式解析拦截数据,并识别其中的测试数据变量,然后根据安全缺陷的模糊测试算法对测试数据变量进行构造;最后将构造后的数据重新按数据格式完成封装;
故障注入子模块,用于将构造的畸形数据返回可信软件栈测试函数,同时保持函数原有的执行状态迁移不变。
4.一种测试可信软件栈的服务提供者管理功能的方法,其特征在于,包括以下步骤:
①可信软件栈的服务提供者根据测试需求,执行管理功能,确定需要测试的功能函数;
②在功能函数执行后,用户函数通信拦截模块得到功能函数的输入数据流;
③数据流转发给模糊测试模块,由该模块负责从正常数据到测试数据的转换;
④模糊测试模块得到数据流后,从数据库中得到相关的数据格式,再依据该格式解析通信数据,并得到需要进行构造的变量或字段;
⑤针对测试变量或字段,根据模糊测试算法进行模糊构造;
⑥模糊测试模块根据得到通信数据的结构描述信息,重新封装测试数据;
⑦模糊测试模块将测试数据回传给故障注入模块,此时并不影响原功能函数的处理流程与状态迁移;
⑧故障注入模块将测试数据输入待测功能函数后,观察执行后的程序状态;
⑨如果程序状态出现异常或错误,转至步骤⑩;如果程序执行正常,说明该组测试数据通过,转至步骤⑤,重新进行测试数据的构造;
⑩对程序异常或错误进行调试与观察,发现程序中引发异常的安全缺陷。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉大学,未经武汉大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010150363.5/1.html,转载请声明来源钻瓜专利网。