一种基于模型解释的规则式应用流量分类方法及系统与流程

文档序号:30704336发布日期:2022-07-09 21:46阅读:来源:国知局

技术特征:
1.一种基于模型解释的规则式应用流量分类方法,其特征在于,包括构建阶段和分类阶段;所述构建阶段包括如下步骤:1)以已知所属类型的应用流量为输入,将每条应用流量以字节为单位转换为指定格式的应用流量字节序列,字节在序列中的次序称为其位置,字节及其在序列中的位置统称为特征;2)以深度学习模型与步骤1)得到的应用流量字节序列作为输入,使用应用流量字节序列作为训练数据集,采用有监督学习的方式,对深度学习模型进行训练;3)以步骤1)得到的应用流量字节序列和步骤2)得到的训练调优后的深度学习模型为输入,对模型进行解释,得到应用流量字节序列中各个特征对深度学习模型分类的贡献度向量;4)基于3)得到的分类贡献度向量集合,进行可选的模型有效性分析,并生成分类规则集;所述分类阶段包括如下步骤:5)以待测应用流量为输入,将待测应用流量处理为具有与步骤1)相同格式的应用流量字节序列;6)根据构建阶段中步骤4)得到的分类规则集,对待分类的应用流量进行规则匹配,并输出判别结果。2.如权利要求1所述的一种基于模型解释的规则式应用流量分类方法,其特征在于,步骤3)进行深度学习模型解释的具体操作方法是:3-1)对于任意已知类别的应用流量字节序列,将其作为真实样本,生成多个伪样本,并生成代表真实样本的特征在伪样本中出现情况的特征出现向量;3-2)以步骤3-1)得到的特征出现向量为输入,为每个伪样本计算该伪样本与真实应用流量字节序列的相似性系数,得到同一类真实应用流量字节序列下所有伪样本的相似性系数;3-3)以步骤3-1)得到的伪样本为输入,使用步骤2)得到的已训练的深度学习模型对真实应用流量字节序列及其伪样本进行分类,得到真实应用流量字节序列和伪样本在真实应用流量字节序列的实际类别上的深度学习模型分类值;3-4)以步骤3-1)得到的伪样本特征出现向量、步骤3-2)得到的伪样本相似性系数、步骤3-3)得到的深度学习模型分类值为输入,构建由伪样本特征出现向量到深度学习模型分类值的映射关系,使用回归算法拟合该映射关系、并使用伪样本相似性系数初始化回归系数,得到该应用流量字节序列的特征贡献度向量;3-5)对每条已知类别的应用流量字节序列,重复步骤3-1)至3-4),得到全体已知类别的应用流量字节序列的特征贡献度向量集合。3.如权利要求1所述的一种基于模型解释的规则式应用流量分类方法,其特征在于,步骤4)生成分类规则集的方法是:4-1)本步骤为可选步骤,以步骤3)得到特征贡献度向量集合为输入,对具有较高贡献度的特征进行分析,以判断深度学习模型学到的高贡献度特征是否能够与已知的通用网络协议格式相对应;
4-2)以步骤3)得到的特征贡献度向量集合或步骤4-1)筛选后的特征贡献度向量集合为输入,设定条件对每条特征贡献度向量进行特征筛选,仅保留符合筛选条件的特征及其贡献度,不符合筛选条件的特征置为空值、贡献度置为0(即该条规则中该特征无效,不予关注),得到筛选的特征贡献度向量集合;4-3)以步骤4-2)得到的筛选的特征贡献度向量集合为输入,为每条筛选的特征贡献度向量进行贡献度数值平滑处理,得到应用流量的分类规则集;步骤4-3)对于筛选的特征贡献度向量进行数值平滑处理的方法是:4-3-1)以步骤4-2)得到的筛选后的特征贡献度向量为输入,对于任一特征贡献度向量,将特征贡献度向量中所有特征贡献度相加,得到特征贡献度总和;4-3-2)以步骤4-2)得到的筛选后的特征贡献度向量和4-3-1)得到的特征贡献度总和为输入,将特征贡献度向量中每个特征贡献度与特征贡献度总和相除,得到平滑处理后的特征贡献度向量。4.如权利要求1所述的一种基于模型解释的规则式应用流量分类方法,其特征在于,步骤6)对待测应用流量字节序列进行规则匹配的方法是:6-1)以步骤4)得到的应用流量分类规则集和步骤5)得到的待测应用流量字节序列为输入,将待测应用流量字节序列与应用流量分类规则集中的每条分类规则进行逐位置匹配,待测应用流量字节序列与分类规则在同一位置特征值取值一致时,认为该位置为生效位;计算待测应用流量字节序列与该规则能够匹配的生效位数量、生效位在该规则的有效特征中所占比例、该规则中生效位的贡献度总和;6-2)以步骤6-1)得到的全体规则的生效位数量、生效位所占比例、生效位贡献度总和为输入,根据给定策略判定待测应用流量字节序列所属应用类别,输出分类结果。步骤6-2)进行待测应用流量字节序列所属类别的策略判定的方法是:6-2-1)以步骤6-1)得到的待测应用流量字节序列与分类规则集中所有规则的生效特征总贡献度集合、生效位总数集合、生效位所占比例集合作为输入,首先比对生效特征总贡献度集合,选取生效特征总贡献度最高的规则,构成第一级候选规则集i;6-2-2)以步骤6-2-1)中得到的第一级候选规则集i为输入,比较第一级候选规则集i中所有规则与待测应用流量字节序列匹配得到的生效位所占比例,选取生效位所占比例最高的规则,构成第二级候选规则集i';6-2-3)以步骤6-2-2)中得到的第二级候选规则集i'为输入,比较第二级候选规则集中所有规则与待测应用流量字节序列匹配得到的生效位总数,选取生效位总数最高的规则,构成命中规则集i”;6-2-4)以步骤6-2-3)得到的命中规则集i”为输入,将命中规则集i”中的规则转换为对应的应用类型,得到待测应用流量字节序列的分类结果;若命中规则集i”为空集,则判定待测应用流量字节序列为未知类型的应用流量。5.如权利要求2所述的一种基于模型解释的规则式应用流量分类方法,其特征在于,步骤3-1)基于真实应用流量字节序列生成伪样本的方法是:3-1-1)以步骤1)得到的已知类型的应用流量字节序列为输入,对于任一真实应用流量字节序列,随机选取部分特征置为空值,得到基于真实样本的伪样本;3-1-2)以步骤3-1-1)得到的伪样本为输入,创建该伪样本的特征出现向量,特征出现
向量为与该伪样本具有同样尺寸的向量,向量中的元素取值范围为0或1,表示真实样本中特征在伪样本中的出现情况;将伪样本与生成该伪样本的真实应用流量字节序列的特征进行逐位置对比,以确定特征出现向量对应位置元素的取值:(1)若伪样本与真实应用流量字节序列在某特征上取值相同且非空值,则特征出现向量中对应位置置为0;(2)若伪样本和真实应用流量字节序列在某特征上取值不同,则特征出现向量中对应位置置为1;完成伪样本与真实应用流量字节序列的逐位置对比后,即得到该伪样本对应的特征出现向量;3-1-3)重复步骤3-1-1)至步骤3-1-2)若干次,得到由同一真实应用流量字节序列生成的伪样本集合,及伪样本对应的特征出现向量的集合。6.如权利要求2所述的一种基于模型解释的规则式应用流量分类方法,其特征在于,步骤3-2)计算伪样本与真实应用流量字节序列的相似度系数的方法是:3-2-1)构建真实应用流量字节序列的特征出现向量,该向量为与真实应用流量字节序列具有同样尺寸的向量,其向量所有元素取值均为1,得到真实样本的特征出现向量;3-2-2)以步骤3-1)生成的伪样本特征出现向量和步骤3-2-1)生成的真实应用流量字节序列的特征出现向量为输入,根据网络层、应用层的网络协议格式,将特征出现向量以传输层首部与载荷为分界,将特征出现向量拆分为两部分:(1)网络层首部至传输层首部对应的伪样本特征出现向量;(2)传输层载荷部分对应的伪样本特征出现向量;3-2-3)以步骤3-2-1)得到的真实应用流量字节序列的特征出现向量为输入,将真实应用流量字节序列的特征出现向量以与3-2-2)相同的方式,拆分为两部分:(1)网络层首部至传输层首部对应的真实样本特征出现向量;(2)传输层载荷部分对应的真实样本特征出现向量;3-2-4)以步骤3-2-2)得到的网络层首部至传输层首部对应的伪样本特征出现向量和3-2-3)得到的网络层首部至传输层首部对应的真实样本特征出现向量为输入,计算二者的相似度,得到网络层首部至传输层首部的相似度系数;3-2-5)以步骤3-2-2)得到的传输层载荷部分对应的伪样本特征出现向量和3-2-3)得到的传输层载荷部分对应的真实样本特征出现向量为输入,计算二者的相似度,得到传输层载荷部分的相似度系数;3-2-6)以步骤3-2-4)得到的网络层首部至传输层首部的相似度系数和3-2-5)得到的传输层载荷部分的相似度系数为输入,将二者相加,得到该伪样本与真实应用流序列的相似性系数。7.如权利要求2所述的一种基于模型解释的规则式应用流量分类方法,其特征在于,步骤3-4)构建方程组并使用回归算法拟合特征出现向量到深度学习模型分类值的映射的方法是:3-4-1)以步骤3-1)生成的伪样本特征出现向量、步骤3-2)得到的伪样本相似性系数和步骤3-3)得到的深度学习模型分类值为输入,构建由伪样本特征出现向量集合到深度学习模型分类值集合的映射关系,将映射视为回归问题,构建多项式回归方程组;3-4-2)以步骤3-2)得到的伪样本相似性系数和步骤3-4-1)所得待求解回归方程为输入,使用伪样本相似性系数初始化回归方程系数,使用回归方法拟合方程组,得到拟合系数,即为真实应用流量字节序列中,各个特征在深度学习模型分类过程中对应的分类贡献度。
8.如权利要求3所述的一种基于模型解释的规则式应用流量分类方法,其特征在于,步骤4-2)对于特征贡献度向量进行特征筛选的方法是:4-2-1)以步骤3)生成的特征贡献度向量或步骤4-1)分析后的特征贡献度向量为输入,设特征筛选将保留k个特征,若(1)特征贡献度向量中总特征数不大于k,则保留全部特征及其贡献度;(2)特征贡献度向量中总特征数大于k,则将特征贡献度向量中全体特征按贡献度绝对值从大到小排序,排序大于k的特征将被置为空值、贡献度置为0,代表不关注;得到筛选后的特征贡献度向量。9.如权利要求3所述的一种基于模型解释的规则式应用流量分类方法,其特征在于,步骤6-1)对于待测应用流量字节序列和分类规则进行匹配的方法是:6-1-1)以步骤4)得到的分类规则集和步骤5)得到的待测应用流量字节序列为输入,对于任一分类规则,将分类规则与待测应用流量字节序列中的非空特征值逐位置匹配:(1)若规则在序列某一位置的特征值与待测流量序列在同一位置特征值取值相同,则认为该位特征生效;(2)若规则在序列某一位置的特征值与待测流量序列在同一位置特征值取值不同,则认为该位特征未生效;(3)若规则在序列某一位置的特征值与待测流量序列在同一位置特征值取值中,有至少一个为空值,则认为该位特征未生效;通过上述匹配方式,得到该分类规则与待测应用流量字节序列匹配后的全部生效特征位置;6-1-2)以步骤6-1-1)得到的分类规则与待测应用流量字节序列匹配的生效特征位为输入,将生效特征位的特征贡献度相加,得到规则匹配的生效特征总贡献度;统计生效特征位个数,得到生效位总数;统计分类规则中非空特征位的总数,将生效位总数除以对应规则中非空特征位的总数,得到生效位在规则中所占比例;6-1-3)对于待测应用流量字节序列和分类规则集中每条规则,重复步骤6-1-1)至步骤6-1-2)的操作,得到待测应用流量字节序列与分类规则集中所有规则的生效特征总贡献度集合、生效位总数集合、生效位所占比例集合。10.一种基于模型解释的规则式应用流量分类系统,其特征在于,包括用于构建阶段的应用流量处理模块、深度学习模型训练模块、流量特征分类贡献度分析模块、模型有效性分析模块、规则构建模块,以及用于分类阶段的应用流量接入与处理模块、规则匹配模块;其中,应用流量处理模块负责将输入的应用流量以流为单位处理成字节序列,并转换为指定格式的应用流量字节序列,作为训练样本;深度学习模型训练模块负责使用训练样本对给定的深度学习模型进行模型训练,直至模型分类结果满足训练终止条件;流量特征分类贡献度分析模块负责使用训练样本对训练后的深度学习模型进行分析,得到流量特征的分类贡献度;模型有效性分析模块为可选模块,负责基于流量特征的分类贡献度判断深度学习模型对训练样本关键特征的选择的有效性;规则构建模块负责基于流量特征的分类贡献度,对特征分类贡献度向量进行筛选与处理,得到分类规则集;应用流量接入与处理模块负责接入分类阶段的待分类应用流量,并将其处理为与构建阶段的应用流量处理模块相同的指定格式,得到待分类应用流量字节序列;
规则匹配模块基于构建阶段得到的分类规则集对待分类应用流量字节序列进行策略规则匹配,确定待分类流量所属的规则,输出判别结果,并将不属于已知类别的新类别应用流量留存,作为后续系统更新的样本使用。

技术总结
本发明公开了一种基于模型解释的规则式应用流量分类方法及系统,该方法包括用于构建阶段和分类阶段;构建阶段包括:对已知类型的应用流量样本进行统一处理;对深度学习模型进行训练调优;通过基于模型解释的方法对训练调优后的深度学习模型进行分析,并对模型解释结果进行规则筛选,得到分类规则集;分类阶段包括:对待分类的应用流量统一处理;对待分类应用流量进行策略匹配,输出判别结果。本方法及系统通过将深度学习模型从训练数据中自动学习到的知识以带权规则的方式来表征,并在此基础上使用策略规则匹配进行应用流量分类,从而实现了高准确率、高效率的应用流量分类。高效率的应用流量分类。高效率的应用流量分类。


技术研发人员:王一鹏 赵辰
受保护的技术使用者:国家计算机网络与信息安全管理中心
技术研发日:2022.03.12
技术公布日:2022/7/8
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1