未知网络协议隐匿行为的指令序列聚类挖掘方法

文档序号:9914446阅读:613来源:国知局
未知网络协议隐匿行为的指令序列聚类挖掘方法
【技术领域】
[0001]本发明属于网络安全领域,涉及网络协议逆向分析和行为分析,具体是指一种通过指令序列聚类来挖掘未知网络协议隐匿行为的方法,可用于网络安全态势的感知和威胁的定位。
【背景技术】
[0002]网络协议是网络空间的根本基石,也是信息时代最重要的基础设施之一。近年来,由于对未知网络协议的行为认识不足而引发的网络安全事件层出不穷。网络协议的基础性地位和我们对其隐匿行为研究的不足,给我们的信息安全、国防安全和国家安全带来了重大隐患,已经造成的损失和潜在的损失难以估量,因此加强对未知网络协议的行为特别是隐匿行为的研究分析刻不容缓。协议隐匿行为的逆向分析既是网络安全研究的重要内容,也是维护国家安全和网络空间安全,实施主动防护的关键技术。
[0003]大量未知和闭源网络协议的应用使网络安全的风险不断增加。而协议行为分析技术可以感知和挖掘协议的隐匿行为,为网络安全态势感知和威胁评估提供了一种有效途径。在协议逆向分析中,一个非常重要的问题就是如何准确而高效的挖掘协议的隐匿行为,并对隐匿行为带来的风险进行评估,尽可能准确的感知网络安全态势。
[0004]作为一个研究热点,许多协议逆向分析方法被提出。Juan Caballero ,Dawn Song.“Automatic protocol reverse-engineering:message format extract1n and fieldsemantics inference”.Computer Networks,2012.就是其中的典型代表。然而这些分析方法都局限于分析未知协议的格式、字段等信息,并不关心协议运行时的行为。在现有的协议逆向分析方案中,仅仅停留在推断协议的格式规格,最多是推断协议状态机,这就使得协议行为上的潜在威胁得不到感知和有效控制。
[0005]尽管协议逆向分析中,推断协议格式和状态机等领域已经有了比较深入的研究,但是与之相比,对于协议的行为特别是隐匿行为远远没有引起人们的注意。仅分析协议消息的一个显著局限在于从协议消息中能获得的信息非常有限,而且它很难分析加密协议。和协议消息比较起来,协议二进制程序包含了更丰富的协议信息,因为协议程序才是协议的最终实现形式,在没有协议规格说明的情况下,协议程序就是协议最详细的描述。即使拥有协议规格说明,掌握协议的具体实现也是很有必要的,因为一些协议的具体实现往往和它的规格说明相背离。更重要的是,对加密协议来说,协议程序本身就知道加密信息以及对协议数据加密和解密的具体需求。只要了解了加解密的具体位置,我们就可以等到协议程序解密接收到的协议消息后再开始分析,并且在协议程序加密发送数据前停止分析,这样我们就可以应对加密协议的挑战。
[0006]这些方法虽然都比较好的解决了协议格式的逆向分析问题,但是并没有从协议行为的角度去解决协议运行的安全性问题,这些方法获取的协议信息非常有限,协议逆向分析远不止于此,实际上协议的行为对网络安全更有直接和基础性影响,所以协议的行为特别是隐匿行为的挖掘分析技术有重要而广泛的应用前景。

【发明内容】

[0007]本发明针对现有技术的不足,从聚类的角度来解决未知协议行为的挖掘和分析问题,提出一种基于指令序列聚类的协议行为挖掘方法,在能够支持大量协议样本同时分析的前提下,自动聚类协议的不同行为指令序列,挖掘隐匿行为的触发条件,评估协议运行的安全性。
[0008]为了实现上述目的,本发明提出一种将动态朽点分析、静态分析、指令聚类分析和关联分析相结合的技术手段,对未知网络协议的隐匿行为进行逆向分析和挖掘,包括如下步骤:
[0009](I)基因指令的划分标记步骤:把协议程序的所有指令划分并标记为3类基因指令,即函数调用相关指令,条件跳转相关指令和数据处理相关指令,所有指令转换成这3类基因指令的排列组合;
[0010](2)指令序列聚类步骤:
[0011](2a)从受训协议样本中随机选取一个已知的行为指令序列A,作为初始的协议行为模式,这个已选择的行为模式就构成了一个基本的行为聚类;
[0012](2b)根据基因指令分布的相似性,把所有的协议指令划分成不同的行为聚类;
[0013](2c)将挖掘出的不同于A的行为指令序列生成新的行为聚类,直到没有新的行为指令序列被挖掘出来;
[0014](3)行为计算步骤:
[0015](3a)对于挖掘出的每一个行为指令序列P,计算它和初始行为指令序列A之间的距离,若距离为0,就将P和A划为同一个行为聚类,执行步骤(5);否则转入步骤(3b);
[0016](3b)若P和A之间的距离为I,则P为潜在的隐匿行为,执行步骤(3c);
[0017](3c)将所有潜在的隐匿行为生成隐匿行为集合,执行步骤(4);
[0018](4)潜在隐匿行为的触发步骤:找到所有潜在隐匿行为前的比较指令,提取参与比较的常量,用这些常量替换协议消息中的相关字段,生成具有触发能力的新消息,用新消息触发潜在的隐匿行为,执行步骤(5);
[0019](5)协议运行安全性评估步骤:计算隐匿行为和已知行为之间3类基因指令分布率的绝对差值RS,若RS>0.3,则协议运行不安全,该协议具有恶意行为,挖掘结束;否则,协议运行安全,挖掘结束。
[0020]本发明与现有技术相比具有以下优点:
[0021]I)本发明在协议逆向分析过程中首先提出分析协议的行为,弥补了现有的协议逆向分析只推断消息格式的不足;在行为聚类上引入了指令序列聚类,把协议的行为表示为基因指令的排列组合,避免了对各种各样的异常行为进行定义和建模方面的困难和缺陷,使得本发明明显提高了协议隐匿行为挖掘的速率和准确度。
[0022]2)本发明考虑了用户的需求,避免出现现有方法中要求用户具备协议的先验知识,要求用户具有较强逆向分析能力的现象,采用协议程序指令的基因化标记、协议行为的自动聚类、隐匿行为的自动挖掘以及协议运行安全性评估的方式,克服了只有少数用户才能分析未知协议的现状,使协议行为分析的结果能够为较多的用户和更广泛的应用领域服务。
[0023]3)本发明的协议隐匿行为分析方法具有较高的分析效率和准确性,通过基因化的指令序列聚类,采用较快的行为挖掘方式,使得协议的各种隐匿行为都能充分地暴露出来;在相同时间下,能够分析更多的协议程序样本,挖掘出更多的隐匿行为,且能够对协议运行的安全性进行较准确的评估,而现有的技术并没有这方面的进展。
【附图说明】
[0024]图1为本发明实施例的应用场景图;
[0025]图2为本发明的实现流程图;
[0026]图3为本发明的应用实例图。
【具体实施方式】
[0027]本发明适用于图1所示的网络拓扑,场景中包含I台分析服务器和若干台运行协议的客户机;各客户机连接分析服务器;各客户机上配置Wireshark工具用户捕获和分析协议数据包,分析服务器上连接Radcom硬件分析仪对协议数据包进行二次分析;在客户机上配置自主研发的HiddenDisk虚拟分析平台,对协议程序进行指令序列聚类分析,挖掘协议的隐匿行为,评估协议的运行安全性;各客户机将自动分析结果传输到分析服务器,分析服务器进行关联分析后,生成协议运行安全性评估报告。
[0028]参照图2,本发明利用图1所示场景,进行协议行为的指令序列聚类挖掘步骤如下:
[0029]步骤1:基因指令的划分标记
[0030]把协议程序的所有指令划分为3类基因指令,即函数调用相关指令,条件跳转相关指令和数据处理相关指令,所有指令标记为这3类基因指令,所有行为转换成这3类基因指令的排列组合,如将push,call等函数调用类指令标记为F;mov,Iea等数据处理类指令标记为D ; cmp,je等条件跳转类指令标记为C ;
[0031]步骤2:指令序列聚类
[0032](2a)协议程序样本中既有已知的协议,也有未知的协议,从受训协议样本中随机选取一个已知的行为指令序列A,作为初始的协议行为模式,这个已选择的行为模式就构成了一个基本的行为聚类;
[0033](2b)不同的行为表现为基因指令不同的排列组合,根据基因指令分布的相似性,把和A相似的指令序列划分为同一个行为聚类,而把不同于A的指令序列划分成不同的行为聚类;
[0034](2c)将挖掘出的不同于A的行为指令序列再次应用指令序列聚类生成新的行为聚类,反复迭代直到没有新的行为指令序列被挖掘出来,最终协议所有的行为形成若干个各不相同的行为聚类;
[0035]步骤3:行为计算
[0036](3a)根据关系矩阵计算协议行为。设cdPq是两个指令序列,行为
[0037]协议行为之间的差异用行为距离
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1