- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于状态标注的协议状态机逆向方法黄笑言.doc
基于状态标注的协议状态机逆向方法黄笑言
摘要:协议状态机可以描述一个协议的行为,帮助理解协议的行为逻辑面向文本类协议,首先利用统计学方法提取表示报文类型的语义关键字;然后利用邻接矩阵描述报文类型之间的时序关系,基于时序关系进行协议状态标注,构建出协议的状态转换图实验表明,该方法可以正确地描述出报文类型的时序关系,抽象出准确的状态机模型
关键词:协议逆向; 协议语义; 协议会话; 协议状态机; 邻接矩阵
中图分类号: TP393 文献标志码:A
0引言
在网络安全中,很多基于协议的安全技术都以协议规范说明为基础比如为了提高防御粒度,新一代的防火墙[1]和入侵检测系统[2]利用协议规范进行深度包检测和状态行为检测,从而能高效、精确地识别出恶意传输;高交互型蜜罐系统[3]基于协议规范可以生成各种脚本以监听各种远程请求,实现多种服务的仿真
但是很多网络私有协议没有公开自己的规范说明,比如MicroSoft的网络文件共享SMB(Server Message Block)协议[4]、Oracle数据库访问的TNS协议[5]、各种IPTV和及时通信软件使用的协议[6]等另外,即使对于公开规范的协议,不同厂商在软件的具体实现时并没有严格按照规范说明去设计,因此越来越多的研究人员通过协议逆向的方法自动获取协议规范说明,以支撑其他网络安全技术的实施
协议规范定义了协议报文的格式和协议状态机[7]:前者规范了协议报文由哪些字段组成,每个字段的位置、类型和取值含义等[8];后者规定了协议报文的时序关系,体现出协议的行为逻辑目前大多研究集中于反向推断协议的格式,较少研究协议状态机的逆向事实上,逆向出协议状态机可以描述一个协议的行为,帮助理解协议的行为逻辑,进一步应用到入侵检测或蜜罐系统中,因此本文对协议状态机逆向方法进行研究
1相关研究
目前关于协议状态机逆向的研究分为两类[9]一类是指令级的分析方法这种方法需要在指令级监控协议实体对报文的解析过程,实现起来比较复杂,在实际应用中很难获得对协议实体的控制权,加之很多软件为了防止其代码被逆向,加强了软件的模糊性另一类网流级的分析方法是以嗅探得到的网络数据流为分析对象,它的可行性在于同一报文格式对应的多个报文样本具有相似性,会话内报文的时序关系体现了协议状态转换的信息由于实现起来简单,因此近年来很多研究者开始研究基于网流级的状态机逆向方法
2007年,Shevertalov等[10]提出协议状态机逆向的工具PEXT,将协议的运行过程划分为多个阶段(子会话),每个子会话完成不同的功能,被定义成一个状态PEXT以最长公共子序列长度为相似度指标,对报文样本进行聚类,将协议流转化成一系列的聚类ID,在协议流之间提取相同的聚类ID序列标注成一个协议的状态,根据状态转换序列生成状态机,通过合并算法得到涵盖所有协议会话实例的最小确定状态机
2009年,Trifilo等[11]将会话中的每条报文(包括不同的方向)定义为一个状态,认为协议报文中通常存在一些报文状态域标志了当前的状态逻辑,通过分析二进制协议报文中各字节的变化分布来识别状态域并构建状态机;并考虑通过检测状态的前一状态和随后的状态来区分由同一特征值表示的不等状态,避免构建出的状态机产生错误的报文序列
2011年,Wang等[12]提出了协议的概率状态机(Probabilistic Protocol State Machine,PPSM)模型构建单方向网流的状态机PPSM首先利用统计学的方法找到网流中最频繁的字符串;而后利用围绕中心点的划分(Partitioning Around Medoids,PAM)聚类方法获取协议的状态关键字,根据关键字为每一个数据包分配状态类型;最后以概率的形式描述状态之间的转换,构建概率协议状态机
2009年,Comparetti等[13]综合利用网流级和指令级的信息提出了完整的协议逆向方案Prospex,为客户端的输出报文逆向状态机,旨在识别表示相似应用情景的状态首先利用指令执行序列分析技术,抽取每个报文的格式,继而结合格式特征和执行特征对报文进行聚类,抽取更普遍的报文格式,识别会话中的每个报文类型;然后构建增广前缀树(Augmented Prefix Tree Acceptor,APTA)接受网络会话中的所有报文类型序列,继而从观察到的会话中抽取报文类型之间的顺序特征,以正则表达式表示,称为先决条件;接着对APTA的每个状态用那个状态允许输入的报文类型集合进行标注,表示其符合先决条件的可接受的报文类型集;最后使用Exbar算法将APTA最小化
以上依据网流级状态机逆向的方法有以下不足:Trifilo等[11]的方法依赖于各种报文类型字段在报文格
文档评论(0)