[发明专利]一种基于多种群协同演化遗传算法的模糊测试系统在审
申请号: | 201410139727.8 | 申请日: | 2014-04-04 |
公开(公告)号: | CN103914383A | 公开(公告)日: | 2014-07-09 |
发明(设计)人: | 杜晓军;林柏钢;林志远;李应;杨旸;陈明志 | 申请(专利权)人: | 福州大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 福州元创专利商标代理有限公司 35100 | 代理人: | 蔡学俊 |
地址: | 350108 福建省福州市*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 多种 协同 演化 遗传 算法 模糊 测试 系统 | ||
技术领域
本发明涉及软件安全测试领域,特别是一种基于多种群协同演化遗传算法的模糊测试系统。
背景技术
近些年以各式各样的病毒、蠕虫、木马和恶意程序大量的传播泛滥,使得信息安全的保障面临越来越严峻的形势。而在所有漏洞类型中,大部分的网络攻击行为的主要源头都是软件安全漏洞,软件安全漏洞是这些攻击能够形成的主要原因。那么针对这种类型漏洞的挖掘和分析就应对安全威胁的主要工作之一。
模糊测试技术简单来说就是一种通过向待测目标(软件或者系统)提供非预期(畸形)的输入,然后观察系统对这些特殊输入的处理是否会引发异常的结果来挖掘软件故障的一种技术手段。在针对网络应用程序的测试过程中,由于对协议认知的不够导致系统生成的测试样本对待测系统的代码测试覆盖不足,从而使得模糊测试的效率低下。
发明内容
本发明的目的是提供一种基于多种群协同演化遗传算法的模糊测试方法,能有益效果是在对网络应用程序进行测试时,提高了代码的覆盖率,改善漏洞挖掘的效率。
本发明采用以下方案实现:一种基于多种群协同演化遗传算法的模糊测试系统,其特征在于包括:通过网络传输通讯的模糊测试端和测试样本生成端;所述的模糊测试端包括:数据库;静态分析模块,用于在测试开始前,对测试样例的二进制执行程序进行预处理,所述处理包括对程序中基本块的识别与提取,对二进制执行程序中不安全函数的识别和调用的位置的提取和记录,然后将记录的数据存入数据库之中;代码追踪模块,用于观察系统在整个运行过程中的行动路径记录以及异常信息,并进行收集、存入数据库;以及异常检测与恢复模块,用于监视并记录二进制执行程序的异常信息,进行进程快照的建立和恢复;所述的测试样本生成端用于测试样本的产生并通过网络传输给模糊测试端,其包括:交互控制与显示界面,用于输入控制参数、测试端地址以及显示样例产生的结果,并返回测试端测试的结果;以及演化模块,利用收集到的信息,根据基本块的覆盖次数以及不安全函数的触发情况计算个体适应度值,再结合不安全函数的类型,利用多子种群协同演化的遗传模型对测试样本进行进化产生新的样本。
本发明的系统应用在漏洞挖掘领域,主要针对网络应用程序的模糊测试。通过优化测试过程中的测试样本的构造方式来提供代码的覆盖率,从而提高测试的效率。
附图说明
图1是本发明实施例系统架构原理示意图。
图2是本发明实施例模糊测试终端结构示意图。
图3是本发明实施例测试样本生成终端结构示意图。
图4是本发明进化算法的模型示意图。
图5是本发明进化算法的流程示意图。
具体实施方式
下面结合附图及实施例对本发明做进一步说明。
如图1所示,本实施例提供一种基于多种群协同演化遗传算法的模糊测试系统;包括:模糊测试端、测试样本生成端。
模糊测试端,负责将测试样例输入到待测系统之中,反复测试并观察待测系统。该模糊测试端包括:通信程序,用于同样本生成端进行数据以及信息的交互。静态分析模块,在测试开始前,对二进制执行程序进行预处理和分析,这些处理包括对二进制执行程序中基本块的识别与提取,对程序中不安全函数的识别和调用的位置的提取和记录,然后将这些记录放入数据库之中。代码追踪模块,观察系统在整个运行过程中的行动路径记录以及异常信息,并进行收集入库。异常检测与恢复模块,监视并记录程序的异常信息,进行进程快照的建立和恢复。
测试样本生成端,用于测试样本的产生并通过网络传输给模糊测试端。由计算机与相关控制模块构成。包括:通信程序,负责数据通信;交互控制与显示界面,用于输入制参数、测试端地址以及显示样例产生的结果,并返回测试端测试的结果;演化模块,利用收集到的信息,根据基本块的覆盖次数以及不安全函数的触发情况计算个体适应度值,再结合不安全函数的类型,利用多子种群协同演化的遗传模型对测试样本进行进化产生新的样本。
请继续参见图2和图3,图2是模糊测试终端结构示意图,该模糊测试终端的各模块是架设在windows平台下,使用python实现。图3是测试样本生成终端结构示意图,该测试样本生成终端是架设在ubuntu系统下,使用c语言实现。
本方案中,模糊测试端与测试样本生成端的数据交流通过mysql实现,而控制命令的传递则通过网络通信接口实现。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福州大学,未经福州大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410139727.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:粘合膜
- 下一篇:对内存重复释放进行定位的方法和装置