1 / 11
文档名称:

基于状态标注的协议状态机逆向方法黄笑言.doc

格式:doc   大小:79KB   页数:11页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

基于状态标注的协议状态机逆向方法黄笑言.doc

上传人:sssmppp 2020/7/9 文件大小:79 KB

下载得到文件列表

基于状态标注的协议状态机逆向方法黄笑言.doc

相关文档

文档介绍

文档介绍:基于状态标注的协议状态机逆向方法黄笑言摘要:协议状态机可以描述一个协议的行为,帮助理解协议的行为逻辑面向文本类协议,首先利用统计学方法提取表示报文类型的语义关键字;然后利用邻接矩阵描述报文类型Z间的时序关系,基于时序关系进行协议状态标注,构建出协议的状态转换图实验表明,该方法可以正确地描述岀报文类型的时序关系,抽象出准确的状态机模型关键词:协议逆向;协议语义;协议会话;协议状态机;邻接矩阵中图分类号:TP393文献标志码:A0引言在网络安全中,很多基于协议的安全技术都以协议规范说明为基础比如为了提高防御粒度,新一代的防火墙[1]和入侵检测系统[2]利用协议规范进行深度包检测和状态行为检测,从而能高效、精确地识别出恶意传输;高交互型蜜罐系统[3]基于协议规范可以生成各种脚本以监听各种远程请求,实现多种服务的仿真但是很多网络私有协议没有公开自己的规范说明,比如MicroSoft的网络文件共享SMB(ServerMessageBlock)协议[4]、Oracle数据库访问的TNS协议⑸、各种IPTV和及时通信软件使用的协议[6]等另外,即使对于公开规范的协议,不同厂商在软件的具体实现时并没有严格按照规范说明去设计,因此越来越多的研究人员通过协议逆向的方法自动获取协议规范说明,以支撑其他网络安全技术的实施协议规范定义了协议报文的格式和协议状态机[7]:前者规范了协议报文由哪些字段组成,每个字段的位置、类型和取值含义等[8];后者规定了协议报文的时序关系,体现出协议的行为逻辑日前大多研究集中于反向推断协议的格式,较少研究协议状态机的逆向事实上,逆向出协议状态机可以描述一个协议的行为,帮助理解协议的行为逻辑,进一步应用到入侵检测或蜜罐系统中,因此本文对协议状态机逆向方法进行研究1相关研究目前关于协议状态机逆向的研究分为两类[9]一类是指令级的分析方法这种方法需要在指令级监控协议实体对报文的解析过程,实现起来比较复杂,在实际应用中很难获得对协议实体的控制权,加之很多软件为了防止其代码被逆向,加强了软件的模糊性另一类网流级的分析方法是以嗅探得到的网络数据流为分析对象,它的可行性在于同一报文格式对应的多个报文样木具有相似性,会话内报文的时序关系体现了协议状态转换的信息由于实现起来简单,因此近年来很多研究者开始研究基于网流级的状态机逆向方法2007年,Shevertalov等[10]提出协议状态机逆向的工具PEXT,将协议的运行过程划分为多个阶段(子会话),每个子会话完成不同的功能,被定义成一个状态卩EXT以最长公共子序列长度为相似度指标,对报文样本进行聚类,将协议流转化成一系列的聚类ID,在协议流之间提取相同的聚类ID序列标注成一个协议的状态,根据状态转换序列生成状态机,通过合并算法得到涵盖所有协议会话实例的最小确定状态机2009年,Trifilo等[11]将会话中的每条报文(包括不同的方向)定义为一个状态,认为协议报文中通常存在一些报文状态域标志了当前的状态逻辑,通过分析二进制协议报文屮各字节的变化分布来识别状态域并构建状态机;并考虑通过检测状态的前一状态和随后的状态来区分由同一特征值表示的不等状态,避免构建出的状态机产生错误的报文序列2011年,魁ng等[12]提出了协议的概率状态机(ProbabfisticProtocolStateMachine,PPSM)模型构建单方向网流的状态机PPSM首先利用统计学的方法找到网流屮最频繁的字符串;而后利用围绕屮心点的划分(PartitioningAroundMedoids,PAM)聚类方法获取协议的状态关键宁,根据关键字为每一个数据包分配状态类型;最后以概率的形式描述状态之间的转换,paretti等[13]综合利用网流级和指令级的信息提出了完整的协议逆向方案Prospex,为客户端的输出报文逆向状态机,旨在识别表示相似应用情景的状态首先利用指令执行序列分析技术,抽取每个报文的格式,继而结合格式特征和执行特征对报文进行聚类,抽取更普遍的报文格式,识别会话中的每个报文类型;然后构建增广前缀树(eptor,APTA)接受网络会话中的所有报文类型序列,继而从观察到的会话屮抽取报文类型Z间的顺序特征,以正则表达式表示,称为先决条件;接着对APTA的每个状态用那个状态允许输入的报文类型集合进行标注,表示其符合先决条件的可接受的报文类型集;最后使用Exbar算法将APTA最小化以上依据网流级状态机逆向的方法有以下不足:Trifilo等[11]的方法依赖于各种报文类型字段在报文格式的同字节偏移位置上出现,不适于报文类型字段的字节位置不固定的文本协议;Wang等[12]的方法适于文本协议,但是只依据频繁字符串标识报文状态,没有区分字符串Z间的层次,无法准确提取出报文的语义字段另外,冃前构建状态机的方法都是先构建一棵状