本发明涉及一种基于隐马尔可夫模型的复杂网络应用逆向处理方法。
背景技术:
当今互联网上的网络流量规模之大,应用服务之多,通信协议之复杂,大大增加了异常检测、入侵检测系统以及防火墙等网络安全技术的挑战性,导致互联网面临着更加严峻的网络安全问题。由于黑客都是利用了通信协议或软件系统的漏洞、并借助特定的控制-命令协议以远程控制的方式实施网络入侵和攻击,因此,我们必须先于黑客发现潜在的协议漏洞并及时打上补丁、全面熟悉黑客使用的控制-命令协议的规范、掌握这些协议中远程控制的命令,才能有效防御各种网络威胁或者在发生攻击时能及时地发现并阻断攻击。为了能达到这些防御目标,我们必须获得协议的完整协议规范。常见的协议规范可以从国际电信联盟(ITU),国际标准化组织(ISO)以及Internet工程任务组(IETF)等国际标准化组织发布的标准文档库中获得。一些私有的应用或协议的开发者,往往会出于商业机密、隐私保密等原因而拒绝提供有关的协议规范文档;网络攻击或恶意软件的制造者也不愿意公开相应的控制-命令协议规范。在这种情况下,网络管理员或安全专家就必须依赖于协议逆向工程技术来重构协议的规范。协议逆向工程可自动化地为协议流量识别、入侵检测等应用提供丰富而准确的协议基本组成要素和流量的交互规律特征。目前协议逆向工程方面的工作几乎都是针对一对一交互式的简单协议或应用。然而,越来越多的网络应用或网络攻击采用的通信协议是多参与方、多通道、并行交互式地协同完成交互任务。现有的协议逆向工程技术不适用于这种复杂网络应用的逆向分析。
技术实现要素:
本发明针对现有技术的不足,提供一种基于隐马尔可夫模型的复杂网络应用逆向处理方法。该方法引入耦合的多链隐马尔可夫模型,恢复复杂协议的交互规律,为有效监测和管控复杂网络应用提供一种基础支持技术。
为了达到上述目的,本发明一种基于隐马尔可夫模型的复杂网络应用逆向处理方法,主要包括以下步骤:
第一步、对网络流量进行采集分类,标识出已知流量并隔离出未知流量;
第二步、对未知流量进行聚类分析,并对每一个簇的流量分配一个类标记;
第三步、对每一类已标识的已知流量和未知流量进行频繁项分析,提取流量中的频繁项集;
第四步、计算频繁项在流量中的位置方差并根据位置方差过滤协议关键词;
第五步、对网络流量进行空间连接分析和时间时序分析,得到流量的拓扑连接图和连接序列;
第六步,对网络流量进行社团划分;
第七步,基于多链耦合隐马尔可夫模型的耦合系数参数估计。
优选地,所述连接序列是指每个连接的报文序列,连接序列中的每个报文序列都用它的报文类型来表示。
优选地,所述第六步为采用基于节点应用层特征相似度的Newman快速算法对网络流量进行社团划分。
对于基于多链耦合隐马尔可夫模型(CHMM)的复杂网络应用模型,假设复杂网络应用的参与方状态过程服从一个隐马尔可夫过程,那么网络中每一个节点可以用一个隐马尔可夫模型来描述。因此,CHMM中耦合的HMM数目C为网络节点的个数,也即复杂网络应用的参与者个数。本发明专利中,所有的隐马尔可夫链具有相同的长度T。假设CHMM中各隐马尔可夫模型的状态空间都为S={1,2,3},表示网络节点的三种状态:发送数据状态,接收数据状态和空闲状态。本发明专利将复杂网络应用的报文格式编号,不同的报文格式代表不同的报文类型。而各节点对应的隐马尔可夫模型的观测值空间V={1,2,...,M}为节点间出现交换的协议报文类型。网络节点的初始状态分布用来表示,其中表示第c个节点的初始状态为j的概率,并满足初始状态分布描述网络节点在交互开始的时候所处的状态。
网络节点之间的状态转移概率用表示,其中表示从c'节点的状态i向c节点的j状态转移的概率,并满足特别地,当c'=c时,表示一个节点自身随时间变化的状态转移概率。状态转移概率矩阵A描述网络节点行为状态的转变规律。
网络节点的观测概率用来表示,其中表示t时刻第c个节点接收到从第c'个节点发送来的报文类型,表示t时刻观测第c个HMM的节点收到的概率,并满足观测概率矩阵描述网络节点在不同行为状态下交互内容或类型的分布特征。
至此,λ=(π,A,B,Θ)就构成一个复杂网络应用的协议交互模型。
而对于节点应用层特征相似度,假设整个网络表示为G=(V,E),其中V={1,...,N}表示网络中节点的集合,E={evv'}(v,v'∈V)表示网络中节点间的连接边。本发明基于节点的应用层报文特征和节点间的连通性定义节点的Jaccard相似度来衡量节点之间的报文特征相似性。应用层报文特征可以用报文中出现的应用层协议关键词集来表示,而两个有边连通的相邻节点使用的协议关键词集的交集越多,这两个节点的应用层报文的相似性越大。假设节点v的协议关键词集为Kv,那么社团i与社团j之间的报文特征相似度定义为:
本发明引入耦合的多链隐马尔可夫模型,恢复复杂协议的交互规律,为有效监测和管控复杂网络应用提供一种基础支持技术。
附图说明
图1为本发明的实施流程示意图;
图2为基于应用层特征相似度的Newman快速算法示意图;
图3为耦合系数参数估计流程图。
具体实施方式
下面结合附图对本发明的优选实施例进行详细阐述,以使本发明的优点和特征能更易于被本领域技术人员理解,从而对本发明的保护范围做出更为清楚明确的界定。
参照图1~3,本发明实施例一种基于隐马尔可夫模型的复杂网络应用逆向处理方法,主要包括以下步骤:
第一步、对网络流量进行采集分类,标识出已知流量并隔离出未知流量;
第二步、对未知流量进行聚类分析,并对每一个簇的流量分配一个类标记;
第三步、对每一类已标识的已知流量和未知流量进行频繁项分析,提取流量中的频繁项集;
第四步、计算频繁项在流量中的位置方差并根据位置方差过滤协议关键词;其方法可以为,设定一个方差阈值σo,位置方差小于σo的频繁项为协议关键词;
第五步、对网络流量进行空间连接分析和时间时序分析,得到流量的拓扑连接图和连接序列;所述连接序列是指每个连接的报文序列,连接序列中的每个报文序列都用它的报文类型来表示;
第六步,采用基于节点应用层特征相似度的Newman快速算法对网络流量进行社团划分;
第七步,基于多链耦合隐马尔可夫模型的耦合系数参数估计。
对于基于多链耦合隐马尔可夫模型(CHMM)的复杂网络应用模型,假设复杂网络应用的参与方状态过程服从一个隐马尔可夫过程,那么网络中每一个节点可以用一个隐马尔可夫模型来描述。因此,CHMM中耦合的HMM数目C为网络节点的个数,也即复杂网络应用的参与者个数。本发明专利中,所有的隐马尔可夫链具有相同的长度T。假设CHMM中各隐马尔可夫模型的状态空间都为S={1,2,3},表示网络节点的三种状态:发送数据状态,接收数据状态和空闲状态。本发明专利将复杂网络应用的报文格式编号,不同的报文格式代表不同的报文类型。而各节点对应的隐马尔可夫模型的观测值空间V={1,2,...,M}为节点间出现交换的协议报文类型。网络节点的初始状态分布用来表示,其中表示第c个节点的初始状态为j的概率,并满足初始状态分布描述网络节点在交互开始的时候所处的状态。
网络节点之间的状态转移概率用表示,其中表示从c'节点的状态i向c节点的j状态转移的概率,并满足特别地,当c'=c时,表示一个节点自身随时间变化的状态转移概率。状态转移概率矩阵A描述网络节点行为状态的转变规律。
网络节点的观测概率用来表示,其中表示t时刻第c个节点接收到从第c'个节点发送来的报文类型,表示t时刻观测第c个HMM的节点收到的概率,并满足观测概率矩阵描述网络节点在不同行为状态下交互内容或类型的分布特征。
至此,λ=(π,A,B,Θ)就构成一个复杂网络应用的协议交互模型。
而对于节点应用层特征相似度,假设整个网络表示为G=(V,E),其中V={1,...,N}表示网络中节点的集合,E={evv'}(v,v'∈V)表示网络中节点间的连接边。本发明基于节点的应用层报文特征和节点间的连通性定义节点的Jaccard相似度来衡量节点之间的报文特征相似性。应用层报文特征可以用报文中出现的应用层协议关键词集来表示,而两个有边连通的相邻节点使用的协议关键词集的交集越多,这两个节点的应用层报文的相似性越大。假设节点v的协议关键词集为Kv,那么社团i与社团j之间的报文特征相似度定义为:
对于第六步中的采用基于节点应用层特征相似度的Newman快速算法对网络流量进行社团划分,具体算法如图2所示。具体过程如下:
步骤6.1:输入网络拓扑图G={V,E},各节点的协议关键词集{K1,K2,...,KN}。
步骤6.2:算法初始化:
将每个节点都作为一个社团Gopt←{G1,G2,...,GN},Qopt←0。
步骤6.3:计算G中各社团之间的相似度。
步骤6.4:合并相似度最大的两个社团。
步骤6.5:计算G的模块度Q。
步骤6.6:当Q>Qopt时,执行以下操作:
Gopt←G;Qopt←Q。
步骤6.7:判断|G|>1,如果|G|>1,则跳转至步骤6.3。
步骤6.8:输出网络的最佳社团划分Gopt,网络最佳划分时的模块度Qopt。
对于第七步中的CHMM模型耦合系数参数估计的具体流程如图3所示。具体过程如下:
步骤7.1:前向后向算法的初始化:
步骤7.2:迭代推导过程:
步骤7.3:耦合系数的更新公式为:
步骤7.4:判断是否满足结束迭代过程的条件,如果满足,则结束,否则跳转至步骤7.2。
其中迭代过程的结束条件为:迭代次数超过给定最大迭代次数Nmax,或θc'c的增量|Δθc'c|小于给定阈值τo。
本发明引入耦合的多链隐马尔可夫模型,恢复复杂协议的交互规律,为有效监测和管控复杂网络应用提供一种基础支持技术。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。