【技术实现步骤摘要】
本专利技术属于互联网
,尤其涉及网络协议测试
技术介绍
协议测试技术是保证网络通讯协议正确实现以及不同的网络设备之间正确互连的重要手段。一致性测试、性能测试和互操作性测试是最常用的测试技术。网络协议不可能描述的非常完备,包括输入、输出和状态变迁。如何处理未规定的输入取决于协议实现的设计。同时,协议经常使用“May(可能)”语句说明可选的要求。以上两种情况给协议实现带来很大的灵活性。由于一致性测试仅仅考察协议实现是否和协议规范一致,故错误发现能力有限。另外,随着网络的规模和复杂度越来越大,Intemet存在着越来越多的噪声、扰动、误配置和人为的攻击。网络设备可靠性、容错性和安全性的要求越来越高,协议鲁棒性变得越来越重要。IEEE(电气和电子工程师协会)把鲁棒性测试定义为,在无效注入或者大规模注入下测试协议实现能否正常工作。错误注入是一种有效的测试方法。Fuzz Testing(半随机测试,也称为模糊测试)是采用错误注入的黑盒测试方法。具体步骤是:确定鲁棒性要求,产生测试数据集合,注入测试数据,最后作出测试判决。关于鲁棒性测试已有不少研究和实践。尽管这些测试实践发现了不少协议实现的漏洞,但都存在着诸多不足:第一、异常测试例的生成缺乏理论指导;第二、测试判决机制需要改进;第三、异常测试例的结构不够优化。针对上述不足,本专利技术提出了一种基于报文变异的协议鲁棒性测试生成方法。该方法简要说明如下(可参看图1):建立形式化模型并构造合理的正常验证序列;采用多种变异策略生成测试数据集;采用复合测试例来简化测试序列;生成单域复合异常测试例并采用“pair ...
【技术保护点】
基于报文变异的协议鲁棒性测试生成方法,其特征在于,所述方法是在网络操作环境中对于一个被测试的网络设备依次按以下步骤实现的: 步骤(1):用一个不确定性参数化扩展有限状态机NPEFSM描述一个被测协议实现: 所述NPEFSM表示为<S,s↓[0],I,O,*,T>,其中: ●S:有限状态集合,S=S↓[spec],S↓[spec]包含协议规范中定义的状态,定义S?={s?↓[k]|k=1,2,…},任意一个s?↓[k]都是不确定状态,表示在异常报文注入下不确定变迁的末状态,根据协议规范中关于该变迁不确定或模糊的规定推断出s?↓[k]处在S的哪个子集中,所以,S=S↓[spec]=(S↓[spec]∪S?); ●s↓[0]:初始状态; ●I={i↓[1]*,i↓[2]*,…,i↓[k]*…,i↓[p]*},包含p个输入;每个输入i↓[k]*携带一个参数向量值*,1≤k≤p;所述p个输入中既包含协议规范中定义的输入,记为I↓[spec],由有效的报文和部分无效报文组成,也包含了协议规范中没有明确定义的大量输入,记为I↓[unspec],全部是无效报文; ●O={o↓[1]*,o↓[2]*,… ...
【技术特征摘要】
1.基于报文变异的协议鲁棒性测试生成方法,其特征在于,所述方法是在网络操作环境中对于一个被测试的网络设备依次按以下步骤实现的:步骤(1):用一个不确定性参数化扩展有限状态机NPEFSM描述一个被测协议实现...
【专利技术属性】
技术研发人员:尹霞,景传明,王之梁,施新刚,
申请(专利权)人:清华大学,
类型:发明
国别省市:11[中国|北京]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。