基于载荷相邻概率模型的加密流量识别方法

文档序号:9670834阅读:405来源:国知局
基于载荷相邻概率模型的加密流量识别方法
【技术领域】
[0001] 本发明设及一种网络流量识别方法,特别是设及一种基于载荷相邻概率模型的加 密流量识别方法。
【背景技术】
[0002] 当前,采用加密机制的网络协议越来越多。一方面,通信加密有助于安全和隐私保 护,另一方面,也成为不法分子逃避安全监测和管理的屏障。加密流量识别对网络犯罪行为 分析具有重要意义。
[0003] 加密就是把明文转换为不可辨识的密文的过程,使非授权人无法识别和篡改。加 密流量的本质是加密协议交互产生的加密数据。加密流量识别方法主要划分为两类:(1) 基于数据载荷特征识别。某些加密协议在密钥协商阶段可能交互部分明文参数,比如版本 号、密钥长度等,其值域范围及所在偏移位置可作为识别特征。该类方法有利于识别加密流 量的协议类型或业务名称,但是必须针对应用定制协议识别规则,且不能识别未知加密协 议。(2)基于数据随机性识别。随机性检测是评价加密算法好坏的关键指标,从识别的角度 来说,数据随机性也是评判该数据是否为加密数据的重要凭证。该类方法适于普适加密流 量识别,但准确性有待进一步提高。目前尚无利用非加密流量特征的普适加密流量识别方 法。

【发明内容】

[0004] 针对已有加密流量识别方法中,基于数据载荷特征识别的加密流量识别方法不能 识别尚未定制协议识别规则的加密协议,而基于数据随机性识别的加密流量识别方法准确 性不高的问题,本发明在已有数据随机性识别方法的基础上,首次利用非加密网络流量的 载荷相邻特征改进加密流量识别,提供一种基于载荷相邻概率模型的加密流量识别方法。 本发明的技术方案为:将载荷数据字符相邻关系按照概率统计值高低划分为高概率、低概 率相邻关系两类,设计非加密流量数据载荷相邻概率模型;在此基础上,提取网络流量会话 的相邻特征,统计高概率相邻关系连续出现的次数,从大到小选择若干个结果作为相邻特 征,同时辅W基于信息赌的数据随机性特征;最后,将非加密流量及加密流量的相邻特征和 随机性特征作为输入送入基于机器学习的分类引擎进行训练,继而根据未知流量的相邻特 征和随机性特征进行加密流量识别。 阳〇化]具体技术方案如下:
[0006] 第一步,建立载荷相邻概率模型。输入非加密网络流量,统计报文数据载荷字节间 的相邻次数,并选择数值点区分高概率相邻关系及低概率相邻关系,构建相邻概率关系模 型。具体步骤为:
[0007] 步骤1. 1初始化。初始化载荷相邻记录矩阵A[时[时,及相邻概率关系矩阵B[閲 [时,R为整数,由于Ascn码中有256个字符,R> 256,R优选为256。A、B矩阵大小均设 置成RXR,初始值均为全0 ;0《m《R-LO《n《R-l,m、n均为整数,Am,"、Bm,。记录ASCII 码中编码为m的字符与编码为n的字符之间的相邻次数和相邻概率,如字符a、b在ASCII码表中的十进制编码分别是97和98,Aw,记录载荷中字符a与字符b相邻的次数和 相邻概率,即载荷中字符油出现的次数和概率。
[0008] 步骤1. 2统计报文数据载荷字节间的相邻次数,得到载荷相邻记录矩阵A。记共有 P条非加密流量报文,记为化ckagei,…,Package。,…Packagep, 1《P《P,P、P均为整数, 化Ckagep中的数据载荷为DATA[P],数据载荷长度为LP,Lp^ 2,LP为整数。记DATA[P] 1为 DATA[P]第i位对应的Ascn字符,1《i《Lp,i为整数。逐一读取P条非加密流量报文, 遍历DATA[1],…,DATA[P],…DATA[P],将单字节载荷之间的相邻关系统计入载荷相邻记录 矩阵A,方法如下:
[0009] 1. 2. 1令循环变量卵=1 ;
[0010] 1. 2. 2 令临时变量ii= 1 ; W11] 1. 2. 3 记j=DATA[pp]。,k=DATA[pp]…1,将Aj,k增 1,即Ai,k=Aj,k+l; 阳01引 1. 2. 4循环变量ii=ii+1 ; 阳〇1引1. 2. 5如果ii《Lpp,转1. 2. 3 ;否则,循环变量卵=卵+1 ;
[0014] 1. 2. 6如果卵《P,转1. 2. 2 ;否则,进入步骤1.3。
[0015] 步骤1. 3构建相邻概率关系矩阵B。读取载荷相邻记录矩阵A中的R2个元素按 照数值从大到小排序,选取第Nd《N《r2,N为整数)个元素的数值作为分位点(即高 概率相邻关系及低概率相邻关系分割点,记为Division)。依次遍历A中的每个元素,若 Am,Division,则Bm,。= 1,即m与n之间为高概率相邻关系;否则,Bm,。保持为0,即m与 n之间为低概率相邻关系。A矩阵遍历结束后,得到相邻概率关系矩阵B,即载荷相邻概率模 型。
[0016] 第二步,特征提取。输入网络会话流量,即报文同属于一个网络会话,且包含1字 节W上的数据载荷,分别提取相邻特征和随机性特征。记网络会话中共包含Q条报文,记为 Package/,…,Package。,,…Package。,,1《q《Q,q、Q均为整数,Package。,中的数据载 荷为0414站',数据载荷长度为1^。,1^。>2,1^。为整数。记0414站1为0414站第1位对应 的ASCII字符,1《i《Lq,i为整数。提取M维相邻特征,M为整数。具体步骤为:
[0017] 步骤2. 1相邻特征提取。将数据载荷中高概率相邻关系连续出现的次数与数据载 荷长度的比值作为相邻特征,并将相邻特征存储在集合D中,D中允许包含重复数值。具体 步骤包括:
[0018] 2. 1.1 清空集合D;
[0019] 2. 1. 2相邻特征计算。记高概率相邻关系连续出现的次数为count,count为整数, 遍历DATA山',…,DATA[q]',…DATA阳]',统计高概率相邻关系连续出现的次数,并将其 与数据载荷长度的比值,即count/n,作为相邻特征加入集合D。具体步骤包括:
[0020] 2. 1. 2. 1 令循环变量qq= 1 ;
[0021] 2. 1. 2. 2令计数变量count= 0,循环变量iii= 1 ; 阳02引 2. 1. 2. 3 令临时变量jj=DATA[qq]iw化=DATA[qq]iiw;。 阳02;3] 2. 1. 2. 4如果Bjj,kk等于1,即为高概率相邻关系,count=count+1,转2. 1. 2. 6 ; 否则,即为低概率相邻关系,进入2. 1. 2. 5 ;
[0024] 2. 1. 2. 5如果count不等于0,将数值count/Lqq作为一个相邻特征加入集合D。令 count=O;
[00巧]2.I. 2. 6 循环变量iii二iii+1 ;
[002糾 2.L2. 7 如果iii<Lqq,转 2.L2. 3 ;否贝IJ,进入 2.L2. 8 ;
[0027] 2. 1. 2. 8如果count不等于0,将数值count/Lqq作为相邻特征加入集合D;
[0028] 2. 1. 2. 9 循环变量qq=qq+1,如果qq《Q,转 2. 1. 2. 2 ;否则,进入 2. 1. 3。
[0029] 2. 1. 3相邻特征筛选。全部流量读取完毕后,将集合D中相邻特征按照数值大小排 序,选取前M个数值,得到M维相邻特征E,E为大小为M的数组,E中数组元素间按照从大 到小顺序排列。
[0030] 步骤2. 2基于信息赌的随机性特征提取。逐一计算报文数据载荷的字节信息赌, 并按照报文总数求均值。具体步骤包括:
[0031] 2. 2. 1令集合F存储每个报文的字符信息赌,初始为空; 阳032] 2. 2. 2信息赌计算。逐一读取流量报文,令C[时表示DATA数据载荷按字节遍历 得到的取值分布,即Ct表示载荷取值等于t的字节个数,1《t《R。为统一表述,令log20 等于0,按照式(1)计算信息赌:
[0034] 并将H'加入集合F。
[0035] 2. 2. 3计算集合F中元素平均值H,得到随机性特征H。
[0036] 第=步基于机器学习方法的分类识别。使用基于机器学习方法的分类引擎进行加 密流量识别,共包括两个步骤:学习训练阶段和。步骤如下:
[0037] 步骤3. 1学习训练。将网络会话流量的相邻特征E、随机性特征HW及加密流量 标记(标记特征是否来自加密流量)送入分类引擎,进行学习训练。训练完毕后,进入步骤 3. 2。
[0038] 步骤3. 2将网络会话流量相邻特征E及随机性特征H送入分类引擎,得到基于载 荷相邻概率模型的加密流量识别结果。
[0039] 基于机器学习方法的分类引擎设计可W采用本领域已有的设计技术,如使用 开源机器学习软件肥KA提供的多层神经网络分类器(weka.classifiers,functions. Multilayerferceptron-L0.3-M0.2-N日OO-VO-SO-E20-Ha)。
[0040] 采用本发明可W达到W下有益效果:
[0041] 1.本发明利用非加密网络流量的载荷相邻特征,将载荷数据字符相邻关系按照概 率统计值高低划分为高概率、低概率相邻关系两类,设计非加密流量数据载荷相邻概率模 型;在此基础上,提取网络流量会话的相邻特征,统计高概率相邻关系连续出现的次数,从 大到小选择若干个结果作为相邻特征,同时辅W基于信息赌的数据随机性特征;最后,将非 加密流量及加密流量的相邻特征和随机性特征作为输入送入基于机器学习的分类引擎进 行训练,继而根据未知流量的相邻特征和随机性特征进行加密流量识别。因此,相对于基于 数据载荷特征识别的加密流量识别方法不能识别尚未定制协议识别规则的加密协议,本发 明可W对未知加密协议流量普适识别;相对于基于数据随机性识别的加密流量识别方法, 本发明基于数据随机性的识别方法辅W相邻概率模型,有效提升了识别准确性。
【附图说明】
[0042] 图1是本发明基于载荷相邻概率模型的加密流量识别流程图;
[0043] 图2是本发明第一步建立载荷相邻概率模型流程图;
[0044] 图3是本发明第二步特征提取流程图。
【具体实施方式】
[0045] 下面结合实例对本发明的实施方式进行进一步详细说明。
[0046] 第一步建立载荷相邻概率模型。
[0047] 采用单个报文网络会话作为输入介绍处理过程。为便于表述,采用特别构造的数 据载荷,不能反映真实的非加密流量特征,仅示意处理过程。 W48] 步骤1. 1初始化。初始化载荷相邻记录矩阵A[256] [256]及相邻概率关系矩阵B[256]巧56],矩阵A和B初始值均为全0。
[0049] 步骤 1. 2 令输入的报文数据载荷DATAl= "0x000x000x010x010x000x000x01 0x01" (16进制表示,共8个字节),得到相邻次数矩阵A,见表1,其中"0x00"与"0x00"相 邻 2 次,"OxOO"与"OxO1"相邻 2 次,"OxO1"与"OxOO"相邻 1 次,"OxO1"与"OxO1"相邻 2 次,其余的相邻计数均为0次。
[0050] 表1相邻次数矩阵A
[0051]
[0052] 步骤1. 3对相邻次数矩阵A中的记录进行排序,假定选择第3个数值(即N= 3) 作为分位数值(即Division= 2),将相邻次数矩阵A转换为相邻关系矩阵B,见表2,因为 "0
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1