基于状态融合的协议状态机自动推断方法技术

技术编号:9436317 阅读:164 留言:0更新日期:2013-12-12 01:44
本发明专利技术提供一种基于状态融合的协议状态机自动推断方法,包括以下步骤:报文格式提取与报文分类、会话抽象与初始状态机构建、以及基于输出报文的状态融合。本发明专利技术的协议状态机自动推断方法采用增强前缀树转换器EPTT描述协议实体的会话过程,着眼于协议的输出报文,对状态机中的同类状态进行融合,并通过与协议实体进行测试性交互验证协议状态融合的可行性,确保了协议状态机推断的自动化,提高了推断结果的准确度。

【技术实现步骤摘要】
【专利摘要】本专利技术提供一种,包括以下步骤:报文格式提取与报文分类、会话抽象与初始状态机构建、以及基于输出报文的状态融合。本专利技术的协议状态机自动推断方法采用增强前缀树转换器EPTT描述协议实体的会话过程,着眼于协议的输出报文,对状态机中的同类状态进行融合,并通过与协议实体进行测试性交互验证协议状态融合的可行性,确保了协议状态机推断的自动化,提高了推断结果的准确度。【专利说明】
本专利技术涉及网络
,具体而言涉及一种依据协议实体程序接收及发送的网络报文,自动化推断相应网络协议的协议状态机的方法。
技术介绍
网络协议是网络通信功能实现的支撑要素,也是网络安全领域的重点研究对象。入侵检测、模糊测试、协议重用、协议脆弱性分析等大量网络安全技术都以详尽的协议规范信息为基础。网络中使用了大量缺乏描述文档的私有协议,这使得各类依赖于信息规范的网络安全技术在应用范围上受到极大限制。为了解决协议信息未知的问题,研究人员开始采用协议逆向的方法获取未知的协议规范。协议逆向是指在不依赖于协议描述的情况下,通过对协议实体的网络输入输出、系统行为和指令执行流程进行监控和分析,提取网络协议具体规范信息的过程。网络协议规范主要包括协议格式和协议状态机两部分。协议格式关注的是通信报文中各协议域的组成和结构。协议状态机关注的是协议系统中的协议状态数量以及协议系统在接收不同输入的情况下从一个协议状态向另外一个协议状态迁移的规则。传统的协议逆向采用人工方式,过程冗长耗时,准确度依赖于分析人员的技术水平和实践经验。随着网络规模的扩大和协议种类的增多,对逆向分析准确度和时效性的要求越来越高,传统人工方式的协议逆向分析已不能满足实际应用的需要。协议自动逆向可以显著减少人工分析,提高私有协议的分析效率,获得了越来越多的重视。目前大部分协议自动逆向研究集中于协议格式的提取,分析结果中缺乏协议状态机信息,制约了协议逆向结果的实际应用。近年来,随着协议格式提取技术的相对成熟,一些研究人员开始尝试对协议状态机进行逆向分析。目前的协议状态机推断主要存在以下问题:(1)已有的状态融合方法(如Prospex系统)出于简单性的考虑,针对的状态机模型是无输出的有限状态机。这种有限状态机中,只存在报文输入,而不考虑报文输出,忽视了协议系统输入输出报文之间的内在联系。协议系统是带输出的状态迁移系统,这种简单化的处理使得状态融合得到的状态机与实际协议系统存在较大差异。(2)为了解决样本集不完备的问题,在协议状态机推断过程中往往需要不断产生新样本,并根据新样本是否隶属于协议状态机,实施进一步推断。新样本对于协议状态机而言是正例还是反例,依赖于人工判定。人工判定的处理方式一方面难以保证准确度,另一方面,这种处理方式自动化程度低,制约了逆向分析的效率。
技术实现思路
针对现有技术中存在的问题,本专利技术旨在提供一种,针对未知协议的协议状态机推断问题,在已有的报文协议格式推断技术的基础上,依据收集的报文样本构造增强前缀树转换器EPTT (Extended Prefix TreeTransducer)描述协议实体在会话过程涉及的输入、输出报文组成的抽象符号串,并通过与协议实体的测试性交互判定状态融合的可行性,确保了状态机推断的自动化,提高了推断结果的准确度。为达成上述目的,本专利技术所采用的技术方案如下:一种,包括以下步骤:(I)报文格式提取与报文分类:获取协议实体程序相关的输入、输出报文的具体格式信息,并依据报文格式分别对输入、输出报文分类,将结构相同的报文样本归为一类,以抽象符号表示分类的类别信息;(2)会话抽象与初始状态机构建:基于抽象符号表示的分类类别,以会话为单位,对网络通信行为进行抽象,将会话过程中的输入输出报文序列描述为抽象的输入输出符号串,进而依据会话样本集,构建与输入输出符号串集合一致的初始状态机;(3)基于输出报文的状态融合:依据相似度高低对候选状态进行融合,并生成测试符号串,再通过自动化的测试,比较协议实体与融合后的状态机在接收到测试符号串后做出的输出响应,验证状态融合的可行性;(4)重复上述步骤(3)直到状态机中不再有符合融合条件的状态;前述会话抽象与初始状态机构建阶段的工作流程如下:状态机的推断以会话样本集为基础构建,将会话中输入、输出报文以其所在类别对应的抽象符号表示,从而把完整会话的输入输出报文序列转化为抽象的输入输出符号串;在此基础上,依据会话样本集,采用增强前缀树转换器EPTT的形式构造初始状态机,初始状态机中包含了所有作为会话样本的输入输出符号串;前述基于输出报文的状态融合阶段的工作流程如下:在初始状态机的基础上,依据相似度的高低每次对两个相似状态进行状态融合,相似状态的选择以Blue Fringe算法为基础,选择相似度最高的两个状态作为待融合的候选状态;候选状态的融合是否可行,将依据生成的测试字符串进行判定,判断两个候选状态是否能够融合,其中:测试字符串基于原始状态机中到达两个候选状态的字符串前缀和字符串后缀构建,通过交叉拼接的方式,将到达某一个候选状态的所有字符串前缀与另外一个候选状态的所有字符串后缀依次拼接,生成的字符串组成测试字符串集合,如果判定所有输出字符串均与融合后的协议状态机一致,则认为状态融合是可行的,否则判断状态融合不可行;将测试结果作为新样本加入会话样本集并扩展协议状态机,并继续尝试对其他状态进行融合。进一步,前述方法中,在协议状态机中选择待融合的候选状态时,以Blue Fringe算法为基础,相似度的计算依据协议状态的公共输入字符串后缀,公共输入字符串后缀反映协议实体在处于两个不同协议状态时,接收到相同输入报文时的状态转换和输出响应情况,其中:输入字符串后缀是指协议实体从某一协议状态开始,接收到一系列的输入报文,这些输入报文在状态机中被表示为输入字符串后缀;公共输入字符串后缀是指两个不同状态接收到相同的一系列输入报文;相似度的计算将考虑协议状态的公共输入字符串后缀的长短,以及对于接收到相同输入时协议实体是否产生相同的输出结果,如果两个协议状态,它们公共输入字符串后缀的长度最长,且对于相同输入有相同的输出,这样的两个协议状态将优先尝试融合。进一步,前述方法中,利用测试字符串集合进行状态融合与可行性判定的过程,包括以下步骤:首先依据测试字符串和已知的报文协议格式,生成作为测试用例的输入报文序列;将输入报文序列发向协议实体程序,获取作为响应的输出报文序列;对输出报文序列进行抽象,将其表示为输出字符串序列;针对候选状态融合后的协议状态机,判断输出字符串序列中的输出字符是否都存在于协议状态机对应状态的输出符号集中:如果所有输出字符串均与融合后的协议状态机一致,则认为状态融合是可行的,否则判断状态融合不可行。由以上本专利技术的技术方案可知,本专利技术的有益效果在于将协议系统视为带输出的状态迁移系统,着眼于协议系统中输入输出报文之间的内在联系对协议状态机中的状态实施融合,通过采用增强前缀树转换器EPTT (Extended Prefix Tree Transducer)描述协议实体在会话过程涉及的输入、输出报文组成的抽象符号串,并通过与协议实体的测试性交互判定状态融合的可行性,有助于确保构建的协议状态机与实际协议系统高度吻合,确本文档来自技高网
...

【技术保护点】
一种基于状态融合的协议状态机自动推断方法,其特征在于,包括以下步骤:(1)报文格式提取与报文分类:获取协议实体程序相关的输入、输出报文的具体格式信息,并依据报文格式分别对输入、输出报文分类,将结构相同的报文样本归为一类,以抽象符号表示分类的类别信息;(2)会话抽象与初始状态机构建:基于抽象符号表示的分类类别,以会话为单位,对网络通信行为进行抽象,将会话过程中的输入输出报文序列描述为抽象的输入输出符号串,进而依据会话样本集,构建与输入输出符号串集合一致的初始状态机;(3)基于输出报文的状态融合:依据相似度高低对候选状态进行融合,并生成测试符号串,再通过自动化的测试,比较协议实体与融合后的状态机在接收到测试符号串后做出的输出响应,验证状态融合的可行性;(4)重复上述步骤(3)直到状态机中不再有符合融合条件的状态;前述会话抽象与初始状态机构建阶段的工作流程如下:状态机的推断以会话样本集为基础构建,将会话中输入、输出报文以其所在类别对应的抽象符号表示,从而把完整会话的输入输出报文序列转化为抽象的输入输出符号串;在此基础上,依据会话样本集,采用增强前缀树转换器EPTT的形式构造初始状态机,初始状态机中包含了所有作为会话样本的输入输出符号串;前述基于输出报文的状态融合阶段的工作流程如下:在初始状态机的基础上,依据相似度的高低每次对两个相似状态进行状态融合,相似状态的选择以Blue?Fringe算法为基础,选择相似度最高的两个状态作为待融合的候选状态;候选状态的融合是否可行,将依据生成的测试字符串进行判定,判断两个候选状态是否能够融合,其中:测试字符串基于原始状态机中到达两个候选状态的字符串前缀和字符串后缀构建,通过交叉拼接的方式,将到达某一个候选状态的所有字符串前缀与另外一个候选状态的所有字符串后缀依次拼接,生成的字符串组成测试字符串集合,如果判定所有输出字符串均与融合后的协议状态机一致,则认为状态融合是可行的,否则判断状态融合不可行;将测试结果作为新样本加入会话样本集并扩展协议状态机,并继续尝试对其他状态进行融合。...

【技术特征摘要】

【专利技术属性】
技术研发人员:洪征吴礼发郑成辉潘璠赖海光李华波周振吉
申请(专利权)人:中国人民解放军理工大学
类型:发明
国别省市:

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

1