一种基于状态迁移遍历的网络协议模糊测试方法技术

技术编号:20686883 阅读:30 留言:0更新日期:2019-03-27 20:40
本发明专利技术提出一种基于状态迁移遍历的网络协议模糊测试方法,包括以下步骤:协议状态机获取、状态机最优遍历路径获取、遍历路径标记和动态模糊测试。本发明专利技术以遍历协议状态机所有迁移的最短路径为基础,依次针对各个状态迁移进行测试,保证了测试范围的全面。发明专利技术依据协议实体的协议状态发送测试用例,减少无效的报文交互,提高了模糊测试的有效性。发明专利技术将测试用例的输入与协议状态的判断相结合,依据协议状态的UIO序列及时发现协议实体的状态异常,提高了模糊测试的工作效率。

【技术实现步骤摘要】
一种基于状态迁移遍历的网络协议模糊测试方法
本专利技术涉及网络
,尤其是一种基于状态迁移遍历的网络协议模糊测试方法,该方法在获取网络协议状态机的基础上,获取遍历协议状态机所有状态迁移的最短路径,基于各个状态迁移构造测试用例,针对协议实体程序实施模糊测试,挖掘协议实体程序存在的安全漏洞。
技术介绍
计算机网络日益普及,新兴的网络协议日趋复杂,各种变种协议层出不穷。网络协议在协议设计、协议模型描述、协议验证、协议实现的每个环节都可能存在潜在错误或漏洞。这些漏洞有可能被攻击者所利用,使协议实体程序执行攻击者指定的恶意代码,导致攻击者在未授权的情况下访问协议实体甚至实施破坏。及早发现网络通信协议具体漏洞和错误,有助于及时进行针对性的安全防护,降低安全风险。模糊测试是目前最常用的协议漏洞挖掘方法,它通过向协议实体输入变异的报文,监控协议实体的运行状况,分析协议实体发生的异常来发现潜在的安全漏洞。模糊测试具有自动化程度高、发现的漏洞实际可用等优点。网络通信协议依据输入报文相互之间是否存在关联关系,可分为无状态协议和有状态协议两类。无状态协议是指报文发送方输出的各个报文之间没有关联性。例如,本文档来自技高网...

【技术保护点】
1.一种基于状态迁移遍历的网络协议模糊测试方法,其特征在于,包括步骤:(1)获得协议实体程序的协议状态机信息;(2)找出遍历协议状态机所有状态迁移的最短路径作为最优遍历路径,并记录最优遍历路径中每个状态迁移所对应的输入/输出信息;(3)对最优遍历路径上的状态迁移进行标记:包括步骤(3‑1)至(3‑3):(3‑1)对于最优遍历路径中的某一个状态si,以sj表示其邻接状态;判断si是否为原始状态机中的终止状态,如果是终止状态,那么si与状态sj之间迁移是虚拟迁移,不进行标记,并转入步骤(3‑3);如果不是终止状态,则执行步骤(3‑2);(3‑2)从状态sj出发,沿最优遍历路径顺序遍历,查看遇到的第...

【技术特征摘要】
1.一种基于状态迁移遍历的网络协议模糊测试方法,其特征在于,包括步骤:(1)获得协议实体程序的协议状态机信息;(2)找出遍历协议状态机所有状态迁移的最短路径作为最优遍历路径,并记录最优遍历路径中每个状态迁移所对应的输入/输出信息;(3)对最优遍历路径上的状态迁移进行标记:包括步骤(3-1)至(3-3):(3-1)对于最优遍历路径中的某一个状态si,以sj表示其邻接状态;判断si是否为原始状态机中的终止状态,如果是终止状态,那么si与状态sj之间迁移是虚拟迁移,不进行标记,并转入步骤(3-3);如果不是终止状态,则执行步骤(3-2);(3-2)从状态sj出发,沿最优遍历路径顺序遍历,查看遇到的第一个状态sj或者第一个原始状态机终止状态,若先遇到状态sj,则查看状态sj与其之后的第一个状态sj之间的迁移路径;若先遇到终止状态,则查看状态sj与终止状态之间的迁移路径;如果依据协议状态机,确定迁移路径对应的输入序列是状态sj的UIO序列,那么对状态si至邻接状态sj之间的迁移进行标记,然后执行步骤(3-3);否则,不进行任何标记,直接进入步骤(3-3);(3-3)判断状态sj是否为最优遍历路径的终止状态,如果是,则终止最优遍历路径的标记;否则,返回步骤(3-1),对状态sj与其下一个邻接状态之间的迁移进行标记;(4)对最优遍历路径中的每一段迁移依次实施动态模糊测试,其中,对状态si至其邻接状态sj之间的迁移进行动态模糊测试的方法为:当协议实体处于状态si时,向协议实体输入基于对正常报文im变异所构造的测试用例,并记录测试用例信息...

【专利技术属性】
技术研发人员:洪征张洪泽周振吉冯文博李华波付梦琳黄康宇吴礼发
申请(专利权)人:中国人民解放军陆军工程大学
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1