论文部分内容阅读
随着计算机网络的飞速发展,网络逐渐成为了人们生活中的一部分,各种网络应用程序已经是人们生活中必不可缺的工具。网络协议在整个计算机网络中扮演者重要角色,起着连接通信双方的重要意义,但是目前越来越多私有网络协议的出现也给人们带来各种挑战。绝大多数恶意程序使用未知的私有协议进行通信,由于无法知道这些协议的规范,使得分析这些这些恶意软件并制定安全防护机制变得尤为困难,深入理解网络中的协议是维护网络安全的一项重要手段。目前网络协议模型推理已经成为网络安全研究中热点问题,具有重要的研究意义。网络协议模型推理主要包括协议报文字段解析和协议状态机推理两个方面。协议报文字段解析是指通过一定的手段对报文的结构进行分析,挖掘出报文字段的结构特征。协议状态机推理指获取协议报文的时序逻辑关系,进而获得协议的行为特性。本文的工作是针对一个协议,推理得到该协议完整的协议模型。首先利用动态二进制分析技术得到报文的格式及语义信息,然后结合报文语义信息来推理协议状态机,有效改进了现有方法由于缺失报文语义而导致协议模型推理结果不准确的问题。工作主要包括下面两个内容:针对现有报文格式解析的方案中,需要大量样本、语义获取困难的问题,提出了一种基于程序指令的执行轨迹进行报文格式解析的方法。主要思想是采用动态二进制分析的方法获取程序的指令执行轨迹,分析得到有关报文格式划分的信息。首先使用DECAF平台监控网络应用程序对协议报文的处理过程,利用污点传播分析技术获得应用程序的指令执行轨迹,根据指令表现出的一些特征,结合启发式的协议字段解析策略得到协议字段划分的规则。并利用动态二进制分析平台的hook机制来监控程序api的执行,进而获得报文的语义信息,以此作为改进状态机推理的准确度的重要手段。针对现有协议状态机推理的方案中,缺少语义信息导致推理结果不准确、实现过程复杂的问题,结合报文语义信息提出了一种基于文法推断技术的协议状态机推理方法。主要思想是从网络报文序列中导出协议时序逻辑,利用文法推断技术将该时序逻辑表示为确定性有限状态机(DFA)模型。首先使用生物信息学中的序列比对算法计算报文间的距离,再利用UPGMA算法将距离小于一定阈值报文进行聚类,把具体的报文信息组成的会话转化为抽象报文类型组成的会话,构建APTA树。然后使用启发式的状态标注算法,结合报文的语义信息精准的将状态进行标注。最后使EDSM算法对状态进行融合化简,得到表示成DFA模型的精简的协议状态机。最后本文设计并实现了一套基于DECAF平台的协议模型推理原型系统,并选用了FTP协议、TCP协议、SMB协议、Agobot协议对该系统进行测试,实验结果表明该系统有较好的推理能力。