[发明专利]基于索引分簇的网络协议特征匹配方法有效

专利信息
申请号: 201511028457.4 申请日: 2015-12-31
公开(公告)号: CN105515917B 公开(公告)日: 2018-06-12
发明(设计)人: 孙一品;陈曙晖;庞立会;王飞;钟求喜;张博锋;刘宇靖;闫晓明 申请(专利权)人: 中国人民解放军国防科学技术大学
主分类号: H04L12/26 分类号: H04L12/26;H04L29/06
代理公司: 国防科技大学专利服务中心 43202 代理人: 陆平静
地址: 410073 湖*** 国省代码: 湖南;43
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明公开了基于索引分簇的网络协议特征匹配方法,目的是优化设计载荷特征与协议识别规则的关联关系,提高规则匹配性能。技术方案是第一步预处理,输入协议识别规则集合,建立深度报文检查索引分簇和固定位置引分簇;第二步深度报文检查;采用当前主流的深度报文匹配引擎遍历检查网络报文的报文载荷中是否包含字符串集合中字符串,输出命中结果;第三步规则匹配;首先,借助深度报文检查索引分簇表,重构深度报文检查引擎返回的命中结果,其次,对深度报文检查特征串索引分簇的规则进行匹配,然后对固定位置索引分簇的规则进行匹配。本发明相比于目前基于报文深度检查的协议识别方法,显著减少了协议规则的匹配次数,提高了协议识别的性能。
搜索关键词: 分簇 索引 报文检查 协议识别 匹配 规则匹配 特征匹配 网络协议 引擎 命中 一步预处理 字符串集合 报文匹配 报文载荷 遍历检查 关联关系 规则集合 深度检查 输入协议 网络报文 协议规则 优化设计 载荷特征 中字符串 特征串 报文 重构 输出 返回 主流
【主权项】:
基于索引分簇的网络协议特征匹配方法,其特征在于包含以下步骤:第一步,预处理,流程如下:步骤1.1建立深度报文检查索引分簇;输入协议识别规则集合R,从协议识别规则的载荷特征中提取深度报文检查字符串集合D,针对每条规则按照长度优先原则筛选深度报文检查字符串作为索引要素,建立深度报文检查索引分簇表A,记录规则处理状态B[N]及未处理规则数Y,Y为整数;其中变量定义如下:协议识别规则集合R,R中包含N条协议规则,N为整数;记Ri表示第i条协议规则,Ri包含Mi个载荷特征,ri,j为Ri第j个载荷特征,1≤i≤N,1≤j≤Mi,i、j、Mi均为整数;载荷特征包含字符串和固定位置两个元素,记ri,j=<string[K],offset>,其中,string[K]表示长度为K的字符串,令stringk表示ri,j中第k个字符,1≤k≤K,k、K均为整数;令offset表示固定位置要求,若offset等于‑1,则ri,j为浮动位置串;通过ri,j.string[K]访问ri,j中的string[K],通过ri,j.offset访问ri,j中的offset;深度报文检查字符串集合D初始值为空,D中不包含重复字符串;载荷特征映射表S[N][M]为N行M列矩阵,S[N][M]初始值为全0,Si,j表示协议规则Ri的载荷特征ri,j在集合D中的编号,若Si,j等于0,说明ri,j的字符串ri,j.string[K]不属于集合D;深度报文检查索引分簇表A,Ad表示D中第d个字符串的描述信息,d为整数,Ad包含4部分信息,记Ad=<float,location[P],index,rule[L]>,其中:●float为浮动位置标记,若float等于1,表示Ad字符串属于浮动位置载荷特征,通过Ad.float访问Ad的float元素;●location[P]表示长度为P的固定位置向量,若locationp等于1,说明Ad来自某个固定位置载荷特征,且该固定位置特征载荷的offset等于p,1≤p≤P,p、P均为整数,通过Ad.locationp访问Ad的locationp元素;●index为索引标记,若index等于1,表示Ad为某协议规则的索引要素,通过Ad.index访问Ad的index元素;●rule[L]为长度为L的向量,其中存储Ad作为索引要素的协议规则的编号,通过Ad.rule[L]访问Ad的rule[L]元素,通过Ad.rulel访问Ad的rulel元素,1≤l≤L,l为整数;固定位置索引分簇表F,Ff表示第f个固定位置索引,包含2部分信息,记Ff=<offset,rule[ROW][L]>,f为整数,其中:●offset表示Ff所在的偏移位置,采用索引偏移位置为offset的字节为索引,通过Ff.offset访问Ff的offset元素;●rule[Row][L]为ROW行L列矩阵,存储对应该字节的ROW种取值的协议识别规则编号,其中ruler,s表示编号等于ruler,s的协议规则包含某个固定位置特征,该固定位置特征要求偏移位置为offset的字节取值等于r,1≤r≤256,1≤s≤L,r、s均为整数,通过Ff.rule[ROW][L]访问Ff的rule[ROW][L]元素,ROW≥256;协议识别规则处理状态向量B[N],初始值为全0,Bi标记第i条协议识别规则Ri的处理状态,若Bi等于0,表明该规则尚未处理,若Bi等于1,表明该规则已完成索引分簇;一条规则最多包含M个载荷特征,一个索引要素最多关联L条规则,报文数据载荷的最大长度为P字节,M、L、P均为整数;步骤1.2建立固定位置索引分簇;输入协议识别规则集合R,针对未处理的协议识别规则,按照信息熵评估结果选择固定位置载荷作为索引要素,建立固定位置索引分簇表F,记录规则处理状态B[N]及未处理规则数Y;第二步,深度报文检查,流程如下:向深度报文检查引擎输入深度报文检查字符串集合D、网络报文;深度报文检查引擎遍历检查网络报文的报文载荷DATA中是否包含D中字符串,输出命中结果Result,Result中包含rnum个命中结果,其中第ci个命中结果Resultci=<offset,id>,分别通过Resultci.offset、Resultci.id访问offset和id元素,其中Resultci.offset表示命中位置,Resultci.id表示命中的字符串编号;Result按照offset从小到大排序,ci、rnum均为正整数,1≤ci≤rnum;第三步,规则匹配,流程如下:步骤3.1深度报文检查结果重构;根据深度报文检查索引分簇表A,将命中结果Result筛选和重构,提取命中结果中包含的深度报文检查索引要素编号,构成索引要素命中队列HIT,及字符串命中明细表C,其中HIThi表示第hi个索引要素编号,Cck表示集合D中第ck个字符串的命中位置列表,采用链表结构存储,Cck,cz表示链表Cck中存储的第cz个命中位置,hi、ck、cz均为正整数;步骤3.2深度报文检查索引类规则匹配;根据索引要素命中队列HIT中记录的字符串编号遍历相关规则;步骤3.3固定位置类索引规则匹配;根据固定位置索引分簇表F遍历相关规则,输出命中的协议规则编号,结束。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科学技术大学,未经中国人民解放军国防科学技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201511028457.4/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top