本发明专利技术提供了一种自定义加密协议流量处理方法、装置和电子设备,先对获取到的第一网络数据包进行通信协议过滤,得到使用未知通信协议的第二网络数据包,然后计算第二网络数据包的载荷比特频数和信息熵,利用第二网络数据包的载荷比特频数和信息熵对所述第二网络数据包中各数据流使用的通信协议进行判断,从而可以在网络环境中用来识别出使用未知协议的流量或可疑通信流量的过程中,根据自定义加密通信协议的载荷字节取值分布具有高度随机性的特点,利用计算得到的使用未知协议的流量或可疑通信流量的载荷比特频数和信息熵,将网络环境中使用自定义加密通信协议的流量或可疑加密通信流量有效识别出来。加密通信流量有效识别出来。加密通信流量有效识别出来。
【技术实现步骤摘要】
一种自定义加密协议流量处理方法、装置和电子设备
[0001]本专利技术涉及计算机
,具体而言,涉及一种自定义加密协议流量处理方法、装置和电子设备。
技术介绍
[0002]目前,互联网中使用加密业务进行通信的情况越来越多,各种加密网络协议,如:安全传输层协议(Transport Layer Security,TLS)、安全外壳协议(Secure Shell,SSH)等为网络通信带来更好的安全性。然而,有些应用(社交通信软件等)或恶意程序(僵尸网络、木马、APT等)的制作者,在实现自己的网络功能时,已知的网络协议在安全性、可扩展性等方面不能满足需求,从而需要设计并实现自定义加密协议。如何识别出使用自定义加密协议的流量是亟需解决的问题。
技术实现思路
[0003]为解决上述问题,本专利技术实施例的目的在于提供一种自定义加密协议流量处理方法、装置和电子设备。
[0004]第一方面,本专利技术实施例提供了一种自定义加密协议流量处理方法,包括:
[0005]获取第一网络数据包,对获取到的所述第一网络数据包进行通信协议过滤,得到使用未知通信协议的第二网络数据包;
[0006]根据第二网络数据包中携带的网络五元组,将所述第二网络数据包划分为不同的数据流;
[0007]对所述不同的数据流中各数据流中的网络数据包进行处理,得到各所述数据流的载荷字符串;
[0008]基于得到的各所述数据流的载荷字符串,分别计算所述第二网络数据包中各所述数据流的载荷比特频数和信息熵;
[0009]根据计算得到的各所述数据流的载荷比特频数和信息熵,确定所述第二网络数据包中各数据流使用的通信协议。
[0010]第二方面,本专利技术实施例还提供了一种自定义加密协议流量处理装置,包括:
[0011]获取模块,用于获取第一网络数据包,对获取到的所述第一网络数据包进行通信协议过滤,得到使用未知通信协议的第二网络数据包;
[0012]划分模块,用于根据第二网络数据包中携带的网络五元组,将所述第二网络数据包划分为不同的数据流;
[0013]处理模块,用于对所述不同的数据流中各数据流中的网络数据包进行处理,得到各所述数据流的载荷字符串;
[0014]计算模块,用于基于得到的各所述数据流的载荷字符串,分别计算所述第二网络数据包中各所述数据流的载荷比特频数和信息熵;
[0015]确定模块,用于根据计算得到的各所述数据流的载荷比特频数和信息熵,确定所
述第二网络数据包中各数据流使用的通信协议。
[0016]第三方面,本专利技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述第一方面所述的方法的步骤。
[0017]第四方面,本专利技术实施例还提供了一种电子设备,所述电子设备包括有存储器,处理器以及一个或者一个以上的程序,其中所述一个或者一个以上程序存储于所述存储器中,且经配置以由所述处理器执行上述第一方面所述的方法的步骤。
[0018]本专利技术实施例上述第一方面至第四方面提供的方案中,先对获取到的第一网络数据包进行通信协议过滤,得到使用未知通信协议的第二网络数据包,然后计算第二网络数据包的载荷比特频数和信息熵,利用第二网络数据包的载荷比特频数和信息熵对所述第二网络数据包中各数据流使用的通信协议进行判断,从而可以在网络环境中用来识别出使用未知协议的流量或可疑通信流量的过程中,根据自定义加密通信协议具有高度随机性的特点,利用计算得到的使用未知协议的流量或可疑通信流量的载荷比特频数和信息熵,将网络环境中使用自定义加密通信协议的流量或可疑通信流量有效识别出来,具有识别准确率高且误报率低的特点。
[0019]为使本专利技术的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
[0020]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0021]图1示出了本专利技术实施例1所提供的一种自定义加密协议流量处理方法的流程图;
[0022]图2示出了本专利技术实施例所提供的2所提供的一种自定义加密协议流量处理装置的结构示意图;
[0023]图3示出了本专利技术实施例3所提供的一种电子设备的结构示意图。
具体实施方式
[0024]在本专利技术的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”、“顺时针”、“逆时针”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本专利技术和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本专利技术的限制。
[0025]此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本专利技术的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
[0026]在本专利技术中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等
术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本专利技术中的具体含义。
[0027]随着加密业务的普及和安全意识的提高,互联网中使用加密业务进行通信的情况越来越多,各种加密网络协议,如:TLS、SSH等为网络通信带来更好的安全性。然而,有些应用(社交通信软件等)或恶意程序(僵尸网络、木马、APT等)制作者,在实现自身的网络功能时,已知的网络协议在安全性、可扩展性等方面不能满足需求,从而需要设计并实现自定义的加密协议。自定义的加密协议指的是网络应用或恶意程序作者自行设计制作的网络协议,其通信流量经过标准加密算法或自行设计制作的加密算法保护。使用自定义加密协议,数据通信更安全,如果要分析自定义加密协议的漏洞就必须先破译自定义加密协议,而不能利用常见协议的漏洞;而且,自定义加密协议扩展性更好,可以根据自己的需求和发展扩展自己的协议。
[0028]本申请所要解决的技术问题就是提出一种基于随机性判定的自定义加密协议识别方法,能够从真实的网络流量中识别出这些自定义加密协议通信的流量。为安全分析人员发现和分析那些使用自定义加密协议的恶意程序通信流量提供依据。
[0029]基于此,本申请以下各实施例提出一种自定义加密协议流量处理方法本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种自定义加密协议流量处理方法,其特征在于,包括:获取第一网络数据包,对获取到的所述第一网络数据包进行通信协议过滤,得到使用未知通信协议的第二网络数据包;根据第二网络数据包中携带的网络五元组,将所述第二网络数据包划分为不同的数据流;对所述不同的数据流中各数据流中的网络数据包进行处理,得到各所述数据流的载荷字符串;基于得到的各所述数据流的载荷字符串,分别计算所述第二网络数据包中各所述数据流的载荷比特频数和信息熵;根据计算得到的各所述数据流的载荷比特频数和信息熵,确定所述第二网络数据包中各数据流使用的通信协议。2.根据权利要求1所述的方法,其特征在于,对所述不同的数据流中各数据流中的网络数据包进行处理,得到各所述数据流的载荷字符串,包括:将各所述数据流中的网络数据包中的以太网协议首部、IP协议首部、TCP协议或UDP协议首部去掉,得到各所述数据流中网络数据包的载荷部分;按照各所述数据流中网络数据包的发出时间的先后顺序,将各所述数据流中网络数据包的载荷部分拼接起来,得到各所述数据流的载荷字符串。3.根据权利要求1所述的方法,其特征在于,基于得到的各所述数据流的载荷字符串,计算所述第二网络数据包中各所述数据流的载荷比特频数,包括:分别统计各所述数据流的载荷字符串中1的数量和0的数量;通过以下公式对所述第二网络数据包中各所述数据流的载荷比特频数进行计算:其中,t表示各所述数据流的载荷比特频数;N0表示各所述数据流的载荷字符串中0的数量;N1表示各所述数据流的载荷字符串中1的数量;P0和均为常数。4.根据权利要求1所述的方法,其特征在于,基于得到的各所述数据流的载荷字符串,计算所述第二网络数据包中各所述数据流的信息熵,包括:统计各所述数据流的载荷字符串的字节数量;分别统计各所述数据流的载荷字符串中每个字节取值的出现数量;通过以下公式计算各所述数据流的载荷字符串中每个字节取值的出现概率:其中,P(x
i
)表示各所述数据流的载荷字符串中每个字节取值在载荷字符串中的出现概率;y
i
表示各所述数据流的载荷字符串中每个字节取值的出现数量;z表示各所述数据流的载荷字符串的字节数量;通过以下公式计算所述第二网络数据包中各所述数据流的信息熵:
其中,H(x)表示所述第二网络数据包中各所述数据流的信息熵;n为256。5.根据权利要求1所述的方法,其特征在于,根据计算得到的各所述数据流的...
【专利技术属性】
技术研发人员:刘燚,南野,
申请(专利权)人:北京观成科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。