[发明专利]基于索引分簇的网络协议特征匹配方法有效
申请号: | 201511028457.4 | 申请日: | 2015-12-31 |
公开(公告)号: | CN105515917B | 公开(公告)日: | 2018-06-12 |
发明(设计)人: | 孙一品;陈曙晖;庞立会;王飞;钟求喜;张博锋;刘宇靖;闫晓明 | 申请(专利权)人: | 中国人民解放军国防科学技术大学 |
主分类号: | H04L12/26 | 分类号: | H04L12/26;H04L29/06 |
代理公司: | 国防科技大学专利服务中心 43202 | 代理人: | 陆平静 |
地址: | 410073 湖*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分簇 索引 报文检查 协议识别 匹配 规则匹配 特征匹配 网络协议 引擎 命中 一步预处理 字符串集合 报文匹配 报文载荷 遍历检查 关联关系 规则集合 深度检查 输入协议 网络报文 协议规则 优化设计 载荷特征 中字符串 特征串 报文 重构 输出 返回 主流 | ||
1.基于索引分簇的网络协议特征匹配方法,其特征在于包含以下步骤:
第一步,预处理,流程如下:
步骤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遍历相关规则,输出命中的协议规则编号,结束。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科学技术大学,未经中国人民解放军国防科学技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201511028457.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:电力能效信息集中与交互系统
- 下一篇:老化测试监控方法及装置