[发明专利]一种基于协议状态机的模糊测试脚本及测试引擎在审
申请号: | 201910201771.X | 申请日: | 2019-03-18 |
公开(公告)号: | CN110532162A | 公开(公告)日: | 2019-12-03 |
发明(设计)人: | 郭涛;李明柱;叶青 | 申请(专利权)人: | 信联科技(南京)有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;H04L12/26 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 210000 江苏省南*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 脚本 状态机模型 状态引导 测试引擎 定义状态 建立状态模型 协议状态机 状态机测试 被测设备 测试脚本 测试流程 测试平台 管理状态 模糊测试 数据库表 状态迁移 自动识别 定义表 语法 迁移 引用 测试 | ||
本发明公开了一种基于协议状态机的模糊测试脚本及测试引擎,能够实现快速定义状态机模型,并且测试平台能够自动识别状态机模型生成状态引导脚本,在状态机测试模式下,测试引擎首先执行状态引导脚本,将被测设备引导至测试前的正确状态后开始正式测试流程,状态引导脚本与主体测试脚本结构、语法一致,新增xml节点用于定义状态机模型,状态机模型包含状态定义和状态迁移Action,新增数据库表用于状态定义和管理状态迁移Action集,状态机模型引用状态定义表,便于简化建立状态模型的过程。
技术领域
本发明涉及测试引擎技术领域,尤其涉及一种基于协议状态机的模糊测试脚本及测试引擎。
背景技术
随着我国工控领域和互联网技术的发展,工控系统日渐复杂化,网络化带来的工控系统的安全可靠性问题越来越突出,其中工控网络系统中设备的协议缺陷漏洞是潜在的隐患之一,通过攻击测试,发现设备的缺陷漏洞,从而采取相应的措施预防或解决这些漏洞带来的网络安全问题,是一种提高工控网络安全性的有效方法。
国际上比较成熟、使用比较多的工控协议测试平台在协议的覆盖度和协议测试的有效性方面获得广泛认可,是其他测试产品在完善过程中的标杆,但是面对国内工控安全领域飞速发展的测试需求,成熟的产品也会表现出来明显的局限,不能快速满足灵活复杂的测试要求,例如:添加新协议周期长、发包方式不够灵活、可扩展性比较差等。基于以上现状发明了一种面向工控和物联网协议的高效模糊测试语言,基于此语言自动生成测试脚本和监测脚本,并且提供测试引擎能够自动解析脚本语言生成测试数据包并发送给被测设备,完成测试任务。本发明中把这种测试语言及引擎统称测试平台,这种高效的模糊测试语言使得测试平台扩展新协议非常方便,而测试引擎架构也保证了发包机制的灵活性和扩展性。
状态机模型定义过程实际上是对协议的更全面更深入的解析,如果命令包是协议交互数据的基础表现形式,那么状态机则反应的是通信设备在交互中的状态,不同的状态下设备使用不同的命令集进行通信完成特定功能。基于协议状态机的模糊测试,其基本流程是相似的:
建立状态机模型;
生成状态引导报文和测试报文序列;
测试引擎引导被测设备达到测试前的正确状态;
测试引擎发送测试报文;
异常测试报文分析,定位协议漏洞;
目前支持协议状态机测试的工控协议测试产品并不多,还有一些是为了研究某一种特殊协议而研发的基于状态机的模糊测试工具。从测试效果看确实能够实现某一种协议的深度测试,也能提高测试覆盖率,但从产品的通用性看仍然有以下两个问题:
建立状态机模型的过程过于复杂,很大程度是因为测试工具提供的描述语言逻辑比较复杂,如果对协议本身并不熟悉的话,那么建立状态机模型会是一个效率非常低的过程,对人员专业素质要求较高,也不利于模型的维护扩展;
状态异常探测机制,在测试过程中因为发送异常数据包出现设备状态异常的情况如何快速准确识别,这是影响测试有效性的重要因素。
发明内容
本发明的目的就在于为了解决上述问题而提供一种基于协议状态机的模糊测试脚本及测试引擎。
本发明通过以下技术方案来实现上述目的:
一种基于协议状态机的模糊测试脚本及测试引擎,包括以下模块,
状态机模型定义,所述状态机模型定义包括状态机模型定义元素、状态定义表和引用状态定义表;
所述状态机模型定义元素包括<model>、<state_machine>和<state>;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于信联科技(南京)有限公司,未经信联科技(南京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910201771.X/2.html,转载请声明来源钻瓜专利网。