CN104142993B - 基于深度特征的复杂snort规则分类方法及系统 - Google Patents
基于深度特征的复杂snort规则分类方法及系统 Download PDFInfo
- Publication number
- CN104142993B CN104142993B CN201410369473.9A CN201410369473A CN104142993B CN 104142993 B CN104142993 B CN 104142993B CN 201410369473 A CN201410369473 A CN 201410369473A CN 104142993 B CN104142993 B CN 104142993B
- Authority
- CN
- China
- Prior art keywords
- mrow
- classifier
- rule
- msub
- snort
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- ZPUCINDJVBIVPJ-LJISPDSOSA-N cocaine Chemical compound O([C@H]1C[C@@H]2CC[C@@H](N2C)[C@H]1C(=O)OC)C(=O)C1=CC=CC=C1 ZPUCINDJVBIVPJ-LJISPDSOSA-N 0.000 title claims abstract description 160
- 238000000034 method Methods 0.000 title claims abstract description 79
- 239000011159 matrix material Substances 0.000 claims abstract description 61
- 230000008569 process Effects 0.000 claims description 36
- 239000013598 vector Substances 0.000 claims description 23
- 238000012549 training Methods 0.000 claims description 12
- 230000007246 mechanism Effects 0.000 claims description 10
- 230000009471 action Effects 0.000 claims description 8
- 230000002265 prevention Effects 0.000 abstract description 4
- 238000004364 calculation method Methods 0.000 description 7
- 230000006399 behavior Effects 0.000 description 6
- 238000005065 mining Methods 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000009916 joint effect Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000007123 defense Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000012443 analytical study Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005315 distribution function Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Pharmaceuticals Containing Other Organic And Inorganic Compounds (AREA)
Abstract
本发明提供一种基于深度特征的复杂snort规则分类方法及系统,其中的方法包括:根据snort规则分别建立基于content深度特征的多级分类器、基于稀疏矩阵的弱分类器和相关性分类器,其中,基于content深度特征的多级分类器根据snort规则中的content关键词建立,基于稀疏矩阵的弱分类器根据snort规则中的组合关联性关键词建立,相关性分类器根据snort规则中的前置规则与后置规则建立;在半监督学习下,对content深度特征的多级分类器、稀疏矩阵的弱分类器、相关性分类器以及snort规则中的一维SVM分类器进行训练,形成基于深度特征的复杂snort规则总分类器,以完成对复杂snort规则进行语义层面的分类。利用本发明,能够解决在攻击预防系统中,snort规则缺乏有针对性地利用自身规则特性进行分类的问题。
Description
技术领域
本发明涉及信息安全领域技术领域,更为具体地,涉及一种基于深度特征的复杂snort规则分类方法及系统。
背景技术
在信息安全领域,入侵是指试图破坏资源的完整性、机密性及可用性的行为集合,该概念是1980年美国James P.Anderson教授提出的。攻击签名特征试图使用定量方式描述可接受的行为特征,区分异常的、潜在的带有入侵性的行为,也是对攻击行为特征的精确性描述,其种类随着系统漏洞的不断暴露与网络攻击手段的更新而变得愈加丰富。由于攻击签名特征被广泛地应用到网络安全设备中,在对网络入侵行为进行有效地阻止及预防中扮演着越来越重要的角色,因此各安全厂商及研究机构纷纷投入大量的攻防人员对其进行研究开发。
目前,攻击防御开发者往往采用snort语言来开发、描述攻击签名特征。而每个攻击防御系统几乎都会有至少几千条甚至上万条攻击签名规则。这些规则在虽然物理上或功能上已经被开发者进行了一定的分类,但是从语义层面上对这些规则进行分类,进而发掘其内在规律性的工作还处于初级阶段。在对snort规则的分析研究中,主要有两种方式:
(1)横向重在发现规则中各选项值的分布特征;
(2)纵向则是统计不同版本的规则变化,从中找出变化的“规律”。
无论是横向从概率分布的角度还是纵向从规则变化的角度,都难以对规则从语义层面上进行全面的度量与分类。
传统规则分类方法对复杂的snort规则进行分类,主要是基于某种度量标准(即空间距离),或基于某种统计学上的分布规律对其进行分类。通常都存在以下两方面问题:
(1)snort规则的关键词特征比较多,每一项所占的权重随着具体规则内容变化,指定的基于概率分布或固定距离的度量方式难以准确而适应性地对具体规则特征进行衡量;
(2)snort规则之间的共性特征往往是几个或以上规则具有某一个公共的特性,而另外一些又具有另外层面上的深层共性特征,传统的分类方法往往难以发现其内在规律或利用深层的内在规则作用于规则本身。
而针对snort规则,缺乏有针对性地利用规则自身特性进行分类的方法。研究者也不乏使用机器学习手段提高其适应性,但往往都是利用固有的机器学习手段如决策树、KNN法、SVM法、向量空间模型法、Bayes法、神经网络等。这些方法本身都具有很多优点,同时在对复杂snort规则分类的过程中也有自身的限制。比如KNN对样本容量较小的类域比较容易产生误分,难以控制其准确性;SVM对各类域的边界样本依赖程度比较高,对边界不确定或可扩散的样本容易误分;向量空间模型法对类别中所包含的非零特征项越多,其包含的每个特征项对于类别的表达能力越弱;Bayes法对样本总量要求比较高,概率分布函数(或密度函数)常常是不知道的;神经网络方法的层数与神经元个数难以确定,容易陷入局部极小,还容易有过学习现象。
发明内容
鉴于上述问题,本发明的目的是提供一种基于深度特征的复杂snort规则分类方法及系统,以解决在攻击预防系统中,snort规则缺乏有针对性地利用自身规则特性进行分类的问题。
一方面,本发明提供一种基于深度特征的复杂snort规则分类方法,包括:
根据snort规则分别建立基于content深度特征的多级分类器、基于稀疏矩阵的弱分类器和相关性分类器,其中,基于content深度特征的多级分类器根据snort规则中的content关键词建立,基于稀疏矩阵的弱分类器根据snort规则中的组合关联性关键词建立,相关性分类器根据snort规则中的前置规则与后置规则建立;;
在半监督学习下,对基于content深度特征的多级分类器、基于稀疏矩阵的弱分类器、相关性分类器以及snort规则中的一维SVM分类器进行训练,形成基于深度特征的复杂snort规则总分类器,以完成对复杂snort规则进行语义层面的分类。
此外,优选的方案是,在建立基于content深度特征的多级分类器的过程中,
采用多层公共特征串管理机制,计算snort规则中的content关键词的相似性,获得每层的最大公共串;对获得的每层的最大公共串建立相应的hash表;根据hash表中的规则,汇总content关键词相似性的分数,根据汇总的content关键词相似性的分数获得基于content深度特征的多级分类器。
此外,优选的方案是,通过公式(1)计算snort规则中的content关键词的相似性,获得每层的最大公共串;公式(1)如下所示:
其中,在公式(1)中,ruleA,ruleB分别表示A与B两条规则;
S(ruleA,ruleB)表示A与B两条规则的相似性;
con_content_j表示最大公共串;
len(con_content_j)表示最大公共串的长度;
表示content关键词属性的串长度之和;
表示对第一个连加符号后的内容进行求和,其中,j的个数最大值为规则A与规则B中content关键词属性的乘积。
此外,优选的方案是,根据所述hash表中的规则,通过公式(2)汇总content关键词相似性的分数;其公式(2)如下所示:
其中,在公式(2)中,在公式(1)的基础上增加了权重系数ki;ki表示第i层公共子串的权重;depth表示公共子串的深度。
此外,优选的方案是,在建立基于稀疏矩阵的弱分类器的过程中,将snort规则中的组合关联性关键词采用20×20的矩阵表示;将矩阵对角化,获得其特征向量;将特征向量单位正交化,并通过公式(3)计算两个正交化特征向量的距离,作为所述snort规则中的组合关联性关键词的相似性;
其公式(3)如下:
其中,在公式(3)中,表示两个正交化特征向量的距离;
表示采用欧式距离为snort规则中的组合关联性关键词的相似性。
此外,优选的方案是,在建立相关性分类器的过程中,snort规则中的前置规则与后置规则采用公式(4)进行比较,其公式(4)如下所示:
||S(ruleA,ruleB)||classifier(a)∩classifier(b)<=δ,(∞>δ>0) (4)
其中,在公式(4)中,classifier(a)∩classifier(b)表示a与b两个分类器的共同作用;||S(ruleA,ruleB)||classifier(a)∩classifier(b)表示规则A与规则B在分类器a与b的共同作用下的相似性距离;δ表示设定的阈值。
此外,优选的方案是,在对content深度特征的多级分类器、稀疏矩阵的弱分类器、相关性分类器以及snort规则中的一维SVM分类器进行训练的过程中,
通过公式(5)对content深度特征的多级分类器、稀疏矩阵的弱分类器、相关性分类器以及snort规则中的一维SVM分类器进行训练,并获得基于深度特征的复杂snort规则总分类器,其公式(5)如下:
其中,在公式(5)中,ΔK1表示分类器Classifier(a)的权重系数;ΔK2表示分类器Classifier(b)的权重系数;ΔK3表示分类器Classifier(c)的权重系数;ΔKi表示后面的分类器Classifier(i)的权重系数。
另一方面,本发明还提供一种基于深度特征的复杂snort规则分类系统,包括:
分类器建立单元,用于根据snort规则分别建立基于content深度特征的多级分类器、基于稀疏矩阵的弱分类器和相关性分类器,其中,所述分类器建立单元进一步包括:基于content深度特征的多级分类器建立单元,用于根据snort规则中的content关键词建立基于content深度特征的多级分类器;基于稀疏矩阵的弱分类器建立单元,用于根据snort规则中的组合关联性关键词建立基于稀疏矩阵的弱分类器;相关性分类器建立单元,用于根据snort规则中的前置规则与后置规则建立相关性分类器;
基于深度特征的复杂snort规则总分类器形成单元,用于在半监督学习下,对基于content深度特征的多级分类器、基于稀疏矩阵的弱分类器、相关性分类器以及snort规则中的一维SVM分类器进行训练,形成基于深度特征的复杂snort规则总分类器,以完成对复杂snort规则进行语义层面的分类。
从上面的技术方案可知,本发明的基于深度特征的复杂snort规则分类方法及系统,针对snort规则自身特性,通过挖掘复杂snort规则之间的深层共用特征,并利用组合特征选项与前置规则属性等多级关联,设计snort规则的级联分类器,使其在半监督学习状态下,自适应地进行自身分类与深度特征挖掘,为后续的规则开发与应用提供有益的帮助,以解决在攻击预防系统中,snort规则缺乏有针对性地利用自身规则特性进行分类的问题。
为了实现上述以及相关目的,本发明的一个或多个方面包括后面将详细说明并在权利要求中特别指出的特征。下面的说明以及附图详细说明了本发明的某些示例性方面。然而,这些方面指示的仅仅是可使用本发明的原理的各种方式中的一些方式。此外,本发明旨在包括所有这些方面以及它们的等同物。
附图说明
通过参考以下结合附图的说明及权利要求书的内容,并且随着对本发明的更全面理解,本发明的其它目的及结果将更加明白及易于理解。在附图中:
图1为根据本发明实施例的基于深度特征的复杂规则分类方法流程示意图;
图2为根据本发明实施例的建立与每个最大公共串hash值相对应的hash表流程示意图;
图3为根据本发明实施例的建立基于深度特征的多级分类器的第二流程示意图;
图4为根据本发明实施例的基于深度特征的复杂规则分类系统逻辑结构示意图。
在所有附图中相同的标号指示相似或相应的特征或功能。
具体实施方式
在下面的描述中,出于说明的目的,为了提供对一个或多个实施例的全面理解,阐述了许多具体细节。然而,很明显,也可以在没有这些具体细节的情况下实现这些实施例。
针对前述snort规则,缺乏有针对性地利用规则自身特性进行分类的方法,这些方法本身虽然具有不少优点,但是同时在对复杂snort规则分类的过程中也有自身的限制。比如KNN对样本容量较小的类域比较容易产生误分,难以控制其准确性;SVM对各类域的边界样本依赖程度比较高,对边界不确定或可扩散的样本容易误分;向量空间模型法对类别中所包含的非零特征项越多,其包含的每个特征项对于类别的表达能力越弱等。
针对上述这些缺点及snort规则自身特性,本发明通过挖掘复杂snort规则之间的深层共用特征,并利用组合特征选项与前置规则属性等多级关联,设计snort规则的级联分类器,使其在半监督学习状态下,自适应地进行自身分类与深度特征挖掘,以解决在攻击预防系统中,snort规则缺乏有针对性地利用自身规则特性进行分类的问题。
以下将结合附图对本发明的具体实施例进行详细描述。
本发明的主体思路为:首先,根据snort规则自身特性设计立基于content深度特征的多级分类器、基于稀疏矩阵的弱分类器和相关性分类器三种分类器;然后,在半监督学习下训练各个分类器。
为了说明本发明提供的基于深度特征的复杂snort规则分类方法,图1示出了根据本发明实施例的基于深度特征的复杂snort规则分类方法流程。
如图1所示,本发明提供的基于深度特征的复杂snort规则分类方法包括:
S110:根据snort规则分别建立基于content深度特征的多级分类器、基于稀疏矩阵的弱分类器和相关性分类器。
其中,基于content深度特征的多级分类器根据snort规则中的content关键词建立,基于稀疏矩阵的弱分类器根据snort规则中的组合关联性关键词建立,相关性分类器根据snort规则中的前置规则与后置规则建立。
下面将分别对多级分类器、弱分类器和相关性分类器建立的过程进行详细描述。
在建立基于content深度特征的多级分类器的过程中,本发明为了将content关键词的深度特征在规则相似性比较中的作用更加精确地描述出来,采用了多层公共特征串管理机制,并针对每层深度特征建立相应的hash表,以提高分类器的效率。
具体地,采用多层公共特征串管理机制,计算snort规则中的content关键词的相似性,获得每层的最大公共串;对获得的每层的最大公共串建立相应的hash表;根据所述hash表中的规则,汇总content关键词相似性的分数,根据汇总的content关键词相似性的分数获得基于content深度特征的多级分类器。
根据content关键词建立基于深度特征的分类器的具体过程如下:
(1)比较content关键词的相似性。
采用多层公共特征串管理机制,计算snort规则中的content关键词的相似性,获得每层的最大公共串对待比较的规则A与规则B。
也就是说,snort规则中的content关键词的相似性比较,采用最大公共子串总长度同总串长之比来进行度量。
通过公式(1)计算snort规则中的content关键词的相似性,获得每层的最大公共串;公式(1)如下所示:
其中,上述公式(1)中,ruleA,ruleB分别表示A与B两条规则;S(ruleA,ruleB)表示A与B两条规则的相似性;con_content_j表示最大公共串;len(con_content_j)表示最大公共串的长度;表示content关键词属性的串长度之和;表示对第一个连加符号后的内容进行求和,其中,j的个数最大值为规则A与规则B中content关键词属性的乘积。
(2)对于提取出来的一层公共子串,进一步提取其公共子串,直至没有公共子串。
需要说明的是,本发明为了防止过匹配现象出现,最多只提取前五层公共子串。
(3)管理最大公共串。每个最大公共串con_content_j的hash值都会被添加到当前比较层次的hash表中,其后是ruleA与ruleB对应的规则号。而每次新的最大公共串,在加入表前都会先在原有表中进行查找hash值,如果有相同的hash值,则在该hash值所在列的末端,添加最大公共串对应的ruleA与ruleB的规则号。
为了说明每个最大公共串con_content_j的hash值建立相对应的hash表,图2示出了根据本发明示例的建立与每个最大公共串hash值相对应的hash表的流程。
如图2所示,从与每个最大公共串hash值相对应的hash表建立的流程可以看出,深度特征的深层相似性采用的迭代加权方法,有效地体现出共性特征在逐层比较过程中的相似性价值,而级联hash管理机制也极大地提高了计算的效率。
(4)对第i层hash表中命中的规则,在其相似性分数上增加系数,最后的content关键词相似性分数。也就是说,根据hash表中的规则,汇总content关键词相似性的分数,根据汇总的content关键词相似性的分数获得基于content深度特征的多级分类器。
根据hash表中的规则,通过公式(2)汇总content关键词相似性的分数;其公式(2)如下所示:
其中,在公式(2)中,在公式(1)的基础上增加了权重系数ki;ki表示第i层公共子串的权重;depth表示公共子串的深度,即有多少层公共子串。
在本发明中,由于content关键词的属性值是一个或多个字符串,相似规则之间content关键词属性值也往往具有一些公共子串。
而多个公共子串往往也具有一些更深层次的公共子串,这些更深层次的公共子串在相似性方面所做出的贡献要大于其他更浅层次的公共子串。
换句话说,不同层次的公共子串在规则相似性方面的贡献是不同的,越深层次的公共子串的贡献越大。
同时,公共子串在相似性方面的贡献也与该公共子串在原字符串中所占的比重有关,比重越大说明相似性越大,反之说明相似性越小。
基于以上原理,本发明设计了基于深度特征的content关键词属性的多级分类器。
为了进一步说明建立基于深度特征的多级分类器的流程,图3示出了根据本发明实施例的建立基于深度特征的多级分类器的第二流程。
如图3所示,步骤S301:开始;
步骤S302:计算规则的content相似度;
步骤S303:获得最大公共子串con_content_j;
步骤S304:计算hash值;即为计算最大公共子串con_content_j的hash值;
步骤S305:hash(i)表中是否存在hash值?即为,在步骤S304中获得的值,在hash表中是否有;若是,执行步骤S306;若否,执行步骤S308;
步骤S306:公共串前增加系数K1,然后执行步骤S307;
步骤S308:当前hash表增加新列,然后执行步骤S307;
步骤S307:将规则号标记到hash值,然后执行步骤S309;
步骤S309:i=i+1;进入第i+1层;
步骤S310:i<max(depth)?若是,则执行步骤S305;
步骤S311:汇总相似度分数;
步骤S312:结束。
上述步骤S305至步骤S310为迭代计算深层特征权重及建立深层公共串hash表的过程。
本发明在根据snort规则中的组合关联性关键词建立基于稀疏矩阵的弱分类器的过程中,对于snort规则,很多关键词往往组合出现;像depth/offset/distance/within等关联性比较强的关键词,往往前后组合在一起比较,才更有意义。
因此,本发明将snort规则中所有组合出现的关键词使用一个稀疏矩阵表示,由于这两个矩阵是同阶的,故此只要两矩阵的特征值近似相等或相似度高就可以判定这两个矩阵相似;因此该分类器的主要作用在于判别两个稀疏矩阵的特征值的相似程度上。
需要说明的是,在snort规则中,组合关键词在所有关键词属性中属于少数,并且规则中使用组合关键词的频率也不是很高。故此建立组合关键词属性的稀疏矩阵,一方面可以将组合关键词属性之间的相似性问题转换为矩阵特征值比较上;另一方面在计算的时候,稀疏矩阵自身的计算比较方便,可以提高计算效率。
具体地,将snort规则中的组合关联性关键词采用20×20的矩阵表示;将矩阵对角化,获得其特征向量;将特征向量单位正交化,并通过公式(3)计算两个正交化特征向量的距离,作为snort规则中的组合关联性关键词的相似性。
其公式(3)如下:
其中,在公式(3)中,表示两个正交化特征向量的距离;
表示采用欧式距离为snort规则中的组合关联性关键词的相似性。
上述弱分类器的计算过程并不复杂,因为一般规则使用的组合特征通常不会很多,该矩阵多数情况都是稀疏矩阵,因此利用此性质,可以降维,然后再求解。
本发明,对于snort规则中的前置与后置规则的相似性分类,应该保持具有对应关系的前置规则与其后置规则被划分都同一组内。因为前置规则与后置规则,从攻击签名的实际意义上来看,就是描述一种攻击行为,可以看成一体的或更直接的就是一条规则。
因此,在根据snort规则中的前置规则与后置规则建立相关性分类器的过程中,对于具有前置规则的snort规则中,比较时只与具有前置规则,并且前置规则在前两个分类器的相似性比较中小于一定阈值的进行比较。
前置规则中有关键词属性“flowbits:set,xuanvnc;flowbits:noalert;"其中"flowbits:noalert;"标志了该规则是前置规则,所有的前置规则使用第一个与第二个分类器进行比较,当相似性小于一定阈值的时候。
根据"flowbits:set,xuanvnc;"属性中的红色部分,来确定这对前置规则的后置规则。
也就是说,这个属性值将前置规则与后置规则进行了一定程度的绑定,在前置规则的相似性小于一定程度的时候,才比较其后置规则的相似性,如果后置规则的相似性在前两个分类器的作用下,相似性也小于一定阈值,那么就认为这两组规则属于同一类。
在建立相关性分类器的过程中,snort规则中的前置规则与后置规则采用公式(4)进行比较,否则视为不同类规则。其公式(4)如下所示:
||S(ruleA,ruleB)||classifier(a)∩classifier(b)<=δ,(∞>δ>0) (4)
其中,在公式(4)中,classifier(a)∩classifier(b)表示a与b两个分类器的共同作用;||S(ruleA,ruleB)||classifier(a)∩classifier(b)表示规则A与规则B在分类器a与b的共同作用下的相似性距离;δ表示设定的阈值。
S120:在半监督学习下,对基于content深度特征的多级分类器、基于稀疏矩阵的弱分类器、相关性分类器以及snort规则中的一维SVM分类器进行训练,形成基于深度特征的复杂snort规则总分类器,以完成对复杂snort规则进行语义层面的分类。
具体地,在对content深度特征的多级分类器、稀疏矩阵的弱分类器、相关性分类器以及snort规则中的一维SVM分类器进行训练的过程中,通过公式(5)对content深度特征的多级分类器、稀疏矩阵的弱分类器、相关性分类器以及snort规则中的一维SVM分类器进行训练,并获得基于深度特征的复杂snort规则总分类器,其公式(5)如下:
其中,在公式(5)中,ΔK1表示分类器Classifier(a)的权重系数;ΔK2表示分类器Classifier(b)的权重系数;ΔK3表示分类器Classifier(c)的权重系数;ΔKi表示后面的分类器Classifier(i)的权重系数。
在上述公式(5)中,表示总的分类器是各个子分类器的加权之和。由于每个分类器在不同场景下所起到的作用是不同的,因此这里采用动态的系数变量来进行调节。
在半监督学习下,训练过程中为了去除坏样本的噪声影响,采用对各个子分类器的误报率打分,以便去除误报率高的前L个分类器,此处L=3。
其中,需要说明的是,在本发明中每个分类器都是对样本进行类别打分,由于本发明中的不同分类器针对不同的关键词属性,故此为线性无关的,在相似性的描述上是相互独立的。
而每个分类器针对snort规则中的不同方面给与相似性分数,所以本发明中所有分类器的动态线性组合,正是对规则不同方面的相似性的实时反映。在本发明中,经过试验,此分类方法可以获得较高的分类识别率,通过测试样本可以得到较高的识别率,同时不会有过匹配现象出现。本发明虚拟出的各个类别的代表规则及挖掘出的深度特征,对后续的规则开发与维护提供有力的支撑。
并且,本发明中基于深度特征的深层相似性迭代加权方法,有效地体现出共性特征在逐层比较过程中的相似性价值;而级联hash管理机制也极大地提高了计算的效率;用本发明提供的分类方法经过对几千条攻击签名进行分类,表现出了良好的收敛性与稳健的高识别率。
与上述方法相对应,本发明还提供一种基于深度特征的复杂snort规则分类系统,图4示出了根据本发明实施例的基于深度特征的复杂snort规则分类系统逻辑结构。
如图4所示,本发明提供的基于深度特征的复杂snort规则分类系统400包括分类器建立单元410和基于深度特征的复杂snort规则总分类器形成单元420。
其中,分类器建立单元410用于根据snort规则分别建立基于content深度特征的多级分类器、基于稀疏矩阵的弱分类器和相关性分类器。
基于深度特征的复杂snort规则总分类器形成单元420用于在半监督学习下,对content深度特征的多级分类器、稀疏矩阵的弱分类器和相关性分类器以及snort规则中的一维SVM分类器进行训练,形成基于深度特征的复杂snort规则总分类器,以完成对复杂snort规则进行语义层面的分类。
分类器建立单元410进一步包括:基于content深度特征的多级分类器建立单元411、基于稀疏矩阵的弱分类器建立单元412和相关性分类器建立单元413。
其中,基于content深度特征的多级分类器建立单元411用于根据snort规则中的content关键词建立基于content深度特征的多级分类器。
基于稀疏矩阵的弱分类器建立单元412用于根据snort规则中的组合关联性关键词建立基于稀疏矩阵的弱分类器。
相关性分类器建立单元413用于根据snort规则中的前置规则与后置规则建立相关性分类器。
在基于content深度特征的多级分类器建立单元411建立基于content深度特征的多级分类器的过程中,采用多层公共特征串管理机制,计算snort规则中的content关键词的相似性,获得每层的最大公共串;对获得的每层的最大公共串建立相应的hash表;根据hash表中的规则,汇总content关键词相似性的分数,根据汇总content关键词相似性的分数获得基于content深度特征的多级分类器。
其中,在基于content深度特征的多级分类器建立单元411通过公式(1)计算snort规则中的content关键词的相似性,获得每层的最大公共串的过程中;其公式(1)如下所示:
其中,上述公式(1)中,ruleA,ruleB分别表示A与B两条规则;S(ruleA,ruleB)表示A与B两条规则的相似性;con_content_j表示最大公共串;len(con_content_j)表示最大公共串的长度;表示content关键词属性的串长度之和;表示对第一个连加符号后的内容进行求和,其中,j的个数最大值为规则A与规则B中content关键词属性的乘积。
在基于content深度特征的多级分类器建立单元411根据所述hash表中的规则,通过公式(2)汇总content关键词相似性的分数的过程中,其公式(2)如下所示:
其中,在公式(2)中,在公式(1)的基础上增加了权重系数ki;ki表示第i层公共子串的权重;depth表示公共子串的深度。
其中,在基于稀疏矩阵的弱分类器建立单元412建立基于稀疏矩阵的弱分类器的过程中,将snort规则中的组合关联性关键词采用20×20的矩阵表示;将所述矩阵对角化,获得其特征向量;将所述特征向量单位正交化,并通过公式(3)计算两个正交化特征向量的距离,作为所述snort规则中的组合关联性关键词的相似性。
其公式(3)如下:
其中,在公式(3)中,表示两个正交化特征向量的距离;表示采用欧式距离为snort规则中的组合关联性关键词的相似性。
其中,在相关性分类器建立单元413建立相关性分类器的过程中,snort规则中的前置规则与后置规则采用公式(4)进行比较,其公式(4)如下所示:
||S(ruleA,ruleB)||classifier(a)∩classifier(b)<=δ,(∞>δ>0) (4)
其中,在公式(4)中,classifier(a)∩classifier(b)表示a与b两个分类器的共同作用;||S(ruleA,ruleB)||classifier(a)∩classifier(b)表示规则A与规则B在分类器a与b的共同作用下的相似性距离;δ表示设定的阈值。
其中,在基于深度特征的复杂snort规则总分类器形成单元420对基于content深度特征的多级分类器、基于稀疏矩阵的弱分类器、相关性分类器以及snort规则中的一维SVM分类器进行训练的过程中,通过公式(5)对所述content深度特征的多级分类器、所述稀疏矩阵的弱分类器、所述相关性分类器以及snort规则中的一维SVM分类器进行训练,并获得基于深度特征的复杂snort规则总分类器,其公式(5)如下:
其中,在公式(5)中,ΔK1表示分类器Classifier(a)的权重系数;ΔK2表示分类器Classifier(b)的权重系数;ΔK3表示分类器Classifier(c)的权重系数;ΔKi表示后面的分类器Classifier(i)的权重系数。
通过上述实施方式可以看出,本发明所述的基于深度特征的复杂snort规则分类方法及系统,针对snort规则自身特性,通过挖掘复杂snort规则之间的深层共用特征,并利用组合特征选项与前置规则属性等多级关联,设计snort规则的多级分类器,有效地体现出共性特征在逐层比较过程中的相似性价值;而多级hash管理机制也极大地提高了计算的效率;使其在半监督学习状态下,自适应地进行自身分类与深度特征挖掘,为后续的规则开发与应用提供有益的帮助;采用本发明提供的分类方法对几千条攻击签名进行分类,表现出了良好的收敛性与稳健的高识别率,并能够解决在攻击预防系统中,snort规则缺乏有针对性地利用自身规则特性进行分类的问题。
如上参照附图以示例的方式描述了根据本发明提出的基于深度特征的复杂snort规则分类方法及系统。但是,本领域技术人员应当理解,对于上述本发明所提出的基于深度特征的复杂snort规则分类方法及系统,还可以在不脱离本发明内容的基础上做出各种改进。因此,本发明的保护范围应当由所附的权利要求书的内容确定。
Claims (8)
1.一种基于深度特征的复杂snort规则分类方法,包括:
根据snort规则分别建立基于content深度特征的多级分类器、基于稀疏矩阵的弱分类器和相关性分类器;其中,所述基于content深度特征的多级分类器根据snort规则中的content关键词建立,所述基于稀疏矩阵的弱分类器根据snort规则中的组合关联性关键词建立,所述相关性分类器根据snort规则中的前置规则与后置规则建立;
在半监督学习下,对所述基于content深度特征的多级分类器、所述基于稀疏矩阵的弱分类器、所述相关性分类器以及snort规则中的一维SVM分类器进行训练,形成基于深度特征的复杂snort规则总分类器,以完成对复杂snort规则进行语义层面的分类;
在建立基于content深度特征的多级分类器的过程中,
采用多层公共特征串管理机制,通过计算snort规则中的content关键词的相似性,获得每层的最大公共串;对获得的每层的最大公共串建立相应的hash表;根据所述hash表中的规则,汇总content关键词相似性的分数,根据汇总的content关键词相似性的分数获得基于content深度特征的多级分类器;
通过公式(1)计算snort规则中的content关键词的相似性,获得每层的最大公共串;公式(1)如下所示:
<mrow>
<mi>S</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>rule</mi>
<mi>A</mi>
</msub>
<mo>,</mo>
<msub>
<mi>rule</mi>
<mi>B</mi>
</msub>
<mo>)</mo>
</mrow>
<mo>=</mo>
<munderover>
<mo>&Sigma;</mo>
<mi>j</mi>
<mrow>
<mi>n</mi>
<mi>u</mi>
<mi>m</mi>
<mrow>
<mo>(</mo>
<mi>A</mi>
<mo>)</mo>
</mrow>
<mo>*</mo>
<mi>n</mi>
<mi>u</mi>
<mi>m</mi>
<mo>(</mo>
<mi>B</mi>
<mo>)</mo>
</mrow>
</munderover>
<mi>l</mi>
<mi>e</mi>
<mi>n</mi>
<mrow>
<mo>(</mo>
<mi>c</mi>
<mi>o</mi>
<mi>n</mi>
<mo>_</mo>
<mi>c</mi>
<mi>o</mi>
<mi>n</mi>
<mi>t</mi>
<mi>e</mi>
<mi>n</mi>
<mi>t</mi>
<mo>_</mo>
<mi>j</mi>
<mo>)</mo>
</mrow>
<mo>/</mo>
<mrow>
<mo>(</mo>
<munderover>
<mi>&Sigma;</mi>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>n</mi>
</munderover>
<mi>l</mi>
<mi>e</mi>
<mi>n</mi>
<mo>(</mo>
<mrow>
<mi>c</mi>
<mi>o</mi>
<mi>n</mi>
<mi>t</mi>
<mi>e</mi>
<mi>n</mi>
<mi>t</mi>
<mo>_</mo>
<mi>i</mi>
</mrow>
<mo>)</mo>
<mo>)</mo>
</mrow>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
</mrow>
其中,在公式(1)中,ruleA,ruleB分别表示A与B两条规则;
S(ruleA,ruleB)表示A与B两条规则的相似性;
con_content_j表示最大公共串;
len(con_content_j)表示最大公共串的长度;
表示content关键词属性的串长度之和;
表示对第一个连加符号后的内容进行求和,其中,j的个数最大值为规则A与规则B中content关键词属性的乘积;
根据所述hash表中的规则,通过公式(2)汇总content关键词相似性的分数;其公式(2)如下所示:
<mrow>
<mi>S</mi>
<mrow>
<mo>(</mo>
<mrow>
<msub>
<mi>rule</mi>
<mi>A</mi>
</msub>
<mo>,</mo>
<msub>
<mi>rule</mi>
<mi>B</mi>
</msub>
</mrow>
<mo>)</mo>
</mrow>
<mo>=</mo>
<munderover>
<mi>&Pi;</mi>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mrow>
<mi>max</mi>
<mrow>
<mo>(</mo>
<mrow>
<mi>d</mi>
<mi>e</mi>
<mi>p</mi>
<mi>t</mi>
<mi>h</mi>
</mrow>
<mo>)</mo>
</mrow>
</mrow>
</munderover>
<msub>
<mi>k</mi>
<mi>i</mi>
</msub>
<mo>&CenterDot;</mo>
<munderover>
<mi>&Sigma;</mi>
<mi>j</mi>
<mrow>
<mi>n</mi>
<mi>u</mi>
<mi>m</mi>
<mrow>
<mo>(</mo>
<mi>A</mi>
<mo>)</mo>
</mrow>
<mo>*</mo>
<mi>n</mi>
<mi>u</mi>
<mi>m</mi>
<mrow>
<mo>(</mo>
<mi>B</mi>
<mo>)</mo>
</mrow>
</mrow>
</munderover>
<mi>l</mi>
<mi>e</mi>
<mi>n</mi>
<mrow>
<mo>(</mo>
<mrow>
<mi>c</mi>
<mi>o</mi>
<mi>n</mi>
<mo>_</mo>
<mi>c</mi>
<mi>o</mi>
<mi>n</mi>
<mi>t</mi>
<mi>e</mi>
<mi>n</mi>
<mi>t</mi>
<mo>_</mo>
<mi>j</mi>
</mrow>
<mo>)</mo>
</mrow>
<mo>/</mo>
<mrow>
<mo>(</mo>
<mrow>
<munderover>
<mi>&Sigma;</mi>
<mi>i</mi>
<mi>n</mi>
</munderover>
<mi>l</mi>
<mi>e</mi>
<mi>n</mi>
<mrow>
<mo>(</mo>
<mrow>
<mi>c</mi>
<mi>o</mi>
<mi>n</mi>
<mi>t</mi>
<mi>e</mi>
<mi>n</mi>
<mi>t</mi>
<mo>_</mo>
<mi>i</mi>
</mrow>
<mo>)</mo>
</mrow>
</mrow>
<mo>)</mo>
</mrow>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>2</mn>
<mo>)</mo>
</mrow>
</mrow>
其中,在公式(2)中,在公式(1)的基础上增加了权重系数ki;ki表示第i层公共子串的权重;depth表示公共子串的深度。
2.如权利要求1所述的基于深度特征的复杂snort规则分类方法,其中,
在建立基于稀疏矩阵的弱分类器的过程中,
将snort规则中的组合关联性关键词采用20×20的矩阵表示;
将所述矩阵对角化,获得其特征向量;
将所述特征向量单位正交化,并通过公式(3)计算两个正交化特征向量的距离,作为所述snort规则中的组合关联性关键词的相似性;
其公式(3)如下:
<mrow>
<mi>S</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>rule</mi>
<mi>A</mi>
</msub>
<mo>,</mo>
<msub>
<mi>rule</mi>
<mi>B</mi>
</msub>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mo>|</mo>
<mo>|</mo>
<msub>
<mover>
<mi>&lambda;</mi>
<mo>&RightArrow;</mo>
</mover>
<mi>i</mi>
</msub>
<mo>-</mo>
<msub>
<mover>
<mi>&lambda;</mi>
<mo>&RightArrow;</mo>
</mover>
<mi>j</mi>
</msub>
<mo>|</mo>
<msub>
<mo>|</mo>
<mi>&Omega;</mi>
</msub>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>3</mn>
<mo>)</mo>
</mrow>
</mrow>
其中,在公式(3)中,表示两个正交化特征向量的距离;
表示采用欧式距离为snort规则中的组合关联性关键词的相似性。
3.如权利要求1所述的基于深度特征的复杂snort规则分类方法,其中,在建立相关性分类器的过程中,
snort规则中的前置规则与后置规则采用公式(4)进行比较,其公式(4)如下所示:
||S(ruleA,ruleB)||classifier(a)∩classifier(b)<=δ,(∞>δ>0) (4)
其中,在公式(4)中,classifier(a)∩classifier(b)表示a与b两个分类器的共同作用;
||S(ruleA,ruleB)||classifier(a)∩classifier(b)表示规则A与规则B在分类器a与b的共同作用下的相似性距离;
δ表示设定的阈值。
4.如权利要求1所述的基于深度特征的复杂snort规则分类方法,其中,在对所述content深度特征的多级分类器、所述稀疏矩阵的弱分类器、所述相关性分类器以及snort规则中的一维SVM分类器进行训练的过程中,
通过公式(5)对所述content深度特征的多级分类器、所述稀疏矩阵的弱分类器、所述相关性分类器以及snort规则中的一维SVM分类器进行训练,并获得基于深度特征的复杂snort规则总分类器,其公式(5)如下:
<mrow>
<msub>
<mi>&Delta;K</mi>
<mn>1</mn>
</msub>
<mi>C</mi>
<mi>l</mi>
<mi>a</mi>
<mi>s</mi>
<mi>s</mi>
<mi>i</mi>
<mi>f</mi>
<mi>i</mi>
<mi>e</mi>
<mi>r</mi>
<mrow>
<mo>(</mo>
<mi>a</mi>
<mo>)</mo>
</mrow>
<mo>+</mo>
<msub>
<mi>&Delta;K</mi>
<mn>2</mn>
</msub>
<mi>C</mi>
<mi>l</mi>
<mi>a</mi>
<mi>s</mi>
<mi>s</mi>
<mi>i</mi>
<mi>f</mi>
<mi>i</mi>
<mi>e</mi>
<mi>r</mi>
<mrow>
<mo>(</mo>
<mi>b</mi>
<mo>)</mo>
</mrow>
<mo>+</mo>
<msub>
<mi>&Delta;K</mi>
<mn>3</mn>
</msub>
<mi>C</mi>
<mi>l</mi>
<mi>a</mi>
<mi>s</mi>
<mi>s</mi>
<mi>i</mi>
<mi>f</mi>
<mi>i</mi>
<mi>e</mi>
<mi>r</mi>
<mrow>
<mo>(</mo>
<mi>c</mi>
<mo>)</mo>
</mrow>
<munderover>
<mi>&Sigma;</mi>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>4</mn>
</mrow>
<mi>m</mi>
</munderover>
<msub>
<mi>&Delta;K</mi>
<mi>i</mi>
</msub>
<mi>C</mi>
<mi>l</mi>
<mi>a</mi>
<mi>s</mi>
<mi>s</mi>
<mi>i</mi>
<mi>f</mi>
<mi>i</mi>
<mi>e</mi>
<mi>r</mi>
<mrow>
<mo>(</mo>
<mi>i</mi>
<mo>)</mo>
</mrow>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>5</mn>
<mo>)</mo>
</mrow>
</mrow>
其中,在公式(5)中,ΔK1表示分类器Classifier(a)的权重系数;
ΔK2C表示分类器Classifier(b)的权重系数;
ΔK3表示分类器Classifier(c)的权重系数;
ΔKi表示后面的分类器Classifier(i)的权重系数。
5.一种基于深度特征的复杂snort规则分类系统,包括:
分类器建立单元,用于根据snort规则分别建立基于content深度特征的多级分类器、基于稀疏矩阵的弱分类器和相关性分类器;其中,
所述分类器建立单元进一步包括:基于content深度特征的多级分类器建立单元,用于根据snort规则中的content关键词建立基于content深度特征的多级分类器;基于稀疏矩阵的弱分类器建立单元,用于根据snort规则中的组合关联性关键词建立基于稀疏矩阵的弱分类器;相关性分类器建立单元,用于根据snort规则中的前置规则与后置规则建立相关性分类器;
基于深度特征的复杂snort规则总分类器形成单元,用于在半监督学习下,对所述基于content深度特征的多级分类器、所述基于稀疏矩阵的弱分类器、所述相关性分类器以及snort规则中的一维SVM分类器进行训练,形成基于深度特征的复杂snort规则总分类器,以完成对复杂snort规则进行语义层面的分类;
其中,在所述基于content深度特征的多级分类器建立单元建立基于content深度特征的多级分类器的过程中,
采用多层公共特征串管理机制,计算snort规则中的content关键词的相似性,获得每层的最大公共串;对获得的每层的最大公共串建立相应的hash表;根据所述hash表中的规则,汇总content关键词相似性的分数,根据汇总的content关键词相似性的分数获得基于content深度特征的多级分类器;
在所述基于content深度特征的多级分类器建立单元通过公式(1)计算snort规则中的content关键词的相似性,获得每层的最大公共串的过程中;其公式(1)如下所示:
<mrow>
<mi>S</mi>
<mrow>
<mo>(</mo>
<mrow>
<msub>
<mi>rule</mi>
<mi>A</mi>
</msub>
<mo>,</mo>
<msub>
<mi>rule</mi>
<mi>B</mi>
</msub>
</mrow>
<mo>)</mo>
</mrow>
<mo>=</mo>
<munderover>
<mi>&Sigma;</mi>
<mi>j</mi>
<mrow>
<mi>n</mi>
<mi>u</mi>
<mi>m</mi>
<mrow>
<mo>(</mo>
<mi>A</mi>
<mo>)</mo>
</mrow>
<mo>*</mo>
<mi>n</mi>
<mi>u</mi>
<mi>m</mi>
<mrow>
<mo>(</mo>
<mi>B</mi>
<mo>)</mo>
</mrow>
</mrow>
</munderover>
<mi>l</mi>
<mi>e</mi>
<mi>n</mi>
<mrow>
<mo>(</mo>
<mrow>
<mi>c</mi>
<mi>o</mi>
<mi>n</mi>
<mo>_</mo>
<mi>c</mi>
<mi>o</mi>
<mi>n</mi>
<mi>t</mi>
<mi>e</mi>
<mi>n</mi>
<mi>t</mi>
<mo>_</mo>
<mi>j</mi>
</mrow>
<mo>)</mo>
</mrow>
<mo>/</mo>
<mrow>
<mo>(</mo>
<mrow>
<munderover>
<mi>&Sigma;</mi>
<mi>i</mi>
<mi>n</mi>
</munderover>
<mi>l</mi>
<mi>e</mi>
<mi>n</mi>
<mrow>
<mo>(</mo>
<mrow>
<mi>c</mi>
<mi>o</mi>
<mi>n</mi>
<mi>t</mi>
<mi>e</mi>
<mi>n</mi>
<mi>t</mi>
<mo>_</mo>
<mi>i</mi>
</mrow>
<mo>)</mo>
</mrow>
</mrow>
<mo>)</mo>
</mrow>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
</mrow>
其中,在公式(1)中,ruleA,ruleB分别表示A与B两条规则;
S(ruleA,ruleB)表示A与B两条规则的相似性;
con_content_j表示最大公共串;
len(con_content_j)表示最大公共串的长度;
表示content关键词属性的串长度之和;
表示对第一个连加符号后的内容进行求和,其中,j的个数最大值为规则A与规则B中content关键词属性的乘积;
在所述基于content深度特征的多级分类器建立单元根据所述hash表中的规则,通过公式(2)汇总content关键词相似性的分数的过程中,其公式(2)如下所示:
<mrow>
<mi>S</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>rule</mi>
<mi>A</mi>
</msub>
<mo>,</mo>
<msub>
<mi>rule</mi>
<mi>B</mi>
</msub>
<mo>)</mo>
</mrow>
<mo>=</mo>
<munderover>
<mo>&Pi;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mrow>
<mi>m</mi>
<mi>a</mi>
<mi>x</mi>
<mrow>
<mo>(</mo>
<mi>d</mi>
<mi>e</mi>
<mi>p</mi>
<mi>t</mi>
<mi>h</mi>
<mo>)</mo>
</mrow>
</mrow>
</munderover>
<msub>
<mi>k</mi>
<mi>i</mi>
</msub>
<mo>&CenterDot;</mo>
<munderover>
<mo>&Sigma;</mo>
<mi>j</mi>
<mrow>
<mi>n</mi>
<mi>u</mi>
<mi>m</mi>
<mrow>
<mo>(</mo>
<mi>A</mi>
<mo>)</mo>
</mrow>
<mo>*</mo>
<mi>n</mi>
<mi>u</mi>
<mi>m</mi>
<mo>(</mo>
<mi>B</mi>
<mo>)</mo>
</mrow>
</munderover>
<mi>l</mi>
<mi>e</mi>
<mi>n</mi>
<mrow>
<mo>(</mo>
<mi>c</mi>
<mi>o</mi>
<mi>n</mi>
<mo>_</mo>
<mi>c</mi>
<mi>o</mi>
<mi>n</mi>
<mi>t</mi>
<mi>e</mi>
<mi>n</mi>
<mi>t</mi>
<mo>_</mo>
<mi>j</mi>
<mo>)</mo>
</mrow>
<mo>/</mo>
<mrow>
<mo>(</mo>
<munderover>
<mi>&Sigma;</mi>
<mi>i</mi>
<mi>n</mi>
</munderover>
<mi>l</mi>
<mi>e</mi>
<mi>n</mi>
<mo>(</mo>
<mrow>
<mi>c</mi>
<mi>o</mi>
<mi>n</mi>
<mi>t</mi>
<mi>e</mi>
<mi>n</mi>
<mi>t</mi>
<mo>_</mo>
<mi>i</mi>
</mrow>
<mo>)</mo>
<mo>)</mo>
</mrow>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>2</mn>
<mo>)</mo>
</mrow>
</mrow>
其中,在公式(2)中,在公式(1)的基础上增加了权重系数ki;ki表示第i层公共子串的权重;depth表示公共子串的深度。
6.如权利要求5所述的基于深度特征的复杂snort规则分类系统,其中,
在所述基于稀疏矩阵的弱分类器建立单元建立基于稀疏矩阵的弱分类器的过程中,
将snort规则中的组合关联性关键词采用20×20的矩阵表示;
将所述矩阵对角化,获得其特征向量;
将所述特征向量单位正交化,并通过公式(3)计算两个正交化特征向量的距离,作为所述snort规则中的组合关联性关键词的相似性;
其公式(3)如下:
<mrow>
<mi>S</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>rule</mi>
<mi>A</mi>
</msub>
<mo>,</mo>
<msub>
<mi>rule</mi>
<mi>B</mi>
</msub>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mo>|</mo>
<mo>|</mo>
<msub>
<mover>
<mi>&lambda;</mi>
<mo>&RightArrow;</mo>
</mover>
<mi>i</mi>
</msub>
<mo>-</mo>
<msub>
<mover>
<mi>&lambda;</mi>
<mo>&RightArrow;</mo>
</mover>
<mi>j</mi>
</msub>
<mo>|</mo>
<msub>
<mo>|</mo>
<mi>&Omega;</mi>
</msub>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>3</mn>
<mo>)</mo>
</mrow>
</mrow>
其中,在公式(3)中,表示两个正交化特征向量的距离;
表示采用欧式距离为snort规则中的组合关联性关键词的相似性。
7.如权利要求5所述的基于深度特征的复杂snort规则分类系统,其中,
在所述相关性分类器建立单元建立相关性分类器的过程中,
snort规则中的前置规则与后置规则采用公式(4)进行比较,其公式(4)如下所示:
||S(ruleA,ruleB)||classifier(a)∩classifier(b)<=δ,(∞>δ>0) (4)
其中,在公式(4)中,classifier(a)∩classifier(b)表示a与b两个分类器的共同作用;
||S(ruleA,ruleB)||classifier(a)∩classifier(b)表示规则A与规则B在分类器a与b的共同作用下的相似性距离;
δ表示设定的阈值。
8.如权利要求5所述的基于深度特征的复杂snort规则分类系统,其中,在所述基于深度特征的复杂snort规则总分类器形成单元对所述content深度特征的多级分类器、所述稀疏矩阵的弱分类器、所述相关性分类器以及snort规则中的一维SVM分类器进行训练的过程中,
通过公式(5)对所述content深度特征的多级分类器、所述稀疏矩阵的弱分类器、所述相关性分类器以及snort规则中的一维SVM分类器进行训练,并获得基于深度特征的复杂snort规则总分类器,其公式(5)如下:
<mrow>
<msub>
<mi>&Delta;K</mi>
<mn>1</mn>
</msub>
<mi>C</mi>
<mi>l</mi>
<mi>a</mi>
<mi>s</mi>
<mi>s</mi>
<mi>i</mi>
<mi>f</mi>
<mi>i</mi>
<mi>e</mi>
<mi>r</mi>
<mrow>
<mo>(</mo>
<mi>a</mi>
<mo>)</mo>
</mrow>
<mo>+</mo>
<msub>
<mi>&Delta;K</mi>
<mn>2</mn>
</msub>
<mi>C</mi>
<mi>l</mi>
<mi>a</mi>
<mi>s</mi>
<mi>s</mi>
<mi>i</mi>
<mi>f</mi>
<mi>i</mi>
<mi>e</mi>
<mi>r</mi>
<mrow>
<mo>(</mo>
<mi>b</mi>
<mo>)</mo>
</mrow>
<mo>+</mo>
<msub>
<mi>&Delta;K</mi>
<mn>3</mn>
</msub>
<mi>C</mi>
<mi>l</mi>
<mi>a</mi>
<mi>s</mi>
<mi>s</mi>
<mi>i</mi>
<mi>f</mi>
<mi>i</mi>
<mi>e</mi>
<mi>r</mi>
<mrow>
<mo>(</mo>
<mi>c</mi>
<mo>)</mo>
</mrow>
<mo>+</mo>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>4</mn>
</mrow>
<mi>m</mi>
</munderover>
<msub>
<mi>&Delta;K</mi>
<mi>i</mi>
</msub>
<mi>C</mi>
<mi>l</mi>
<mi>a</mi>
<mi>s</mi>
<mi>s</mi>
<mi>i</mi>
<mi>f</mi>
<mi>i</mi>
<mi>e</mi>
<mi>r</mi>
<mrow>
<mo>(</mo>
<mi>i</mi>
<mo>)</mo>
</mrow>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>5</mn>
<mo>)</mo>
</mrow>
</mrow>
其中,在公式(5)中,ΔK1表示分类器Classifier(a)的权重系数;
ΔK2C表示分类器Classifier(b)的权重系数;
ΔK3表示分类器Classifier(c)的权重系数;
ΔKi表示后面的分类器Classifier(i)的权重系数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410369473.9A CN104142993B (zh) | 2014-07-30 | 2014-07-30 | 基于深度特征的复杂snort规则分类方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410369473.9A CN104142993B (zh) | 2014-07-30 | 2014-07-30 | 基于深度特征的复杂snort规则分类方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104142993A CN104142993A (zh) | 2014-11-12 |
CN104142993B true CN104142993B (zh) | 2017-08-29 |
Family
ID=51852167
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410369473.9A Active CN104142993B (zh) | 2014-07-30 | 2014-07-30 | 基于深度特征的复杂snort规则分类方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104142993B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102045247A (zh) * | 2009-10-12 | 2011-05-04 | 曙光信息产业(北京)有限公司 | 基于Snort规则集的报文处理方法和装置 |
US8065259B1 (en) * | 2005-11-29 | 2011-11-22 | Tilera Corporation | Pattern matching in a multiprocessor environment |
CN102571494A (zh) * | 2012-01-12 | 2012-07-11 | 东北大学 | 一种基于fpga的入侵检测系统及方法 |
CN103365910A (zh) * | 2012-04-06 | 2013-10-23 | 腾讯科技(深圳)有限公司 | 一种信息检索的方法和系统 |
CN103914544A (zh) * | 2014-04-03 | 2014-07-09 | 浙江大学 | 一种基于地址特征词的多层次快速中文地址匹配方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
BR112013031574A2 (pt) * | 2011-06-10 | 2018-04-24 | Shazam Entertainment Ltd | métodos e sistemas para identificar conteúdo em um fluxo de dados |
-
2014
- 2014-07-30 CN CN201410369473.9A patent/CN104142993B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8065259B1 (en) * | 2005-11-29 | 2011-11-22 | Tilera Corporation | Pattern matching in a multiprocessor environment |
CN102045247A (zh) * | 2009-10-12 | 2011-05-04 | 曙光信息产业(北京)有限公司 | 基于Snort规则集的报文处理方法和装置 |
CN102571494A (zh) * | 2012-01-12 | 2012-07-11 | 东北大学 | 一种基于fpga的入侵检测系统及方法 |
CN103365910A (zh) * | 2012-04-06 | 2013-10-23 | 腾讯科技(深圳)有限公司 | 一种信息检索的方法和系统 |
CN103914544A (zh) * | 2014-04-03 | 2014-07-09 | 浙江大学 | 一种基于地址特征词的多层次快速中文地址匹配方法 |
Non-Patent Citations (5)
Title |
---|
Design of a multimedia traffic classifier for Snort;Oge Marques等;《Information Management & Computer Security》;20071231;第15卷(第3期);241 - 256 * |
Snort的高效规则匹配算法;谷晓钢 等;《计算机工程》;20060930;第32卷(第18期);155-156 * |
信息科技辑》.2011,(第10期),4.3节,图4.2. * |
提高Snort 规则匹配速度新方法的研究与实现;曾传璜 等;《计算机工程与应用》;20140228;第50卷(第22期);102-105,148 * |
朱林杰.基于对分类器集成的入侵检测研究.《中国优秀硕士学位论文全文数据库• * |
Also Published As
Publication number | Publication date |
---|---|
CN104142993A (zh) | 2014-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wang et al. | HAST-IDS: Learning hierarchical spatial-temporal features using deep neural networks to improve intrusion detection | |
Prasetijo et al. | Hoax detection system on Indonesian news sites based on text classification using SVM and SGD | |
Tesfahun et al. | Intrusion detection using random forests classifier with SMOTE and feature reduction | |
CN109918505B (zh) | 一种基于文本处理的网络安全事件可视化方法 | |
CN103324745B (zh) | 基于贝叶斯模型的文本垃圾识别方法和系统 | |
CN112019651B (zh) | 利用深度残差网络和字符级滑动窗口的dga域名检测方法 | |
Adhao et al. | Feature selection using principal component analysis and genetic algorithm | |
CN112073551B (zh) | 基于字符级滑动窗口和深度残差网络的dga域名检测系统 | |
Ahluwalia et al. | Detecting broad length algorithmically generated domains | |
CN112073550B (zh) | 融合字符级滑动窗口和深度残差网络的dga域名检测方法 | |
CN113254930B (zh) | 一种pe恶意软件检测模型的后门对抗样本生成方法 | |
Jayakumar et al. | Intrusion detection using artificial neural networks with best set of features. | |
Aljabri et al. | Fake news detection using machine learning models | |
Hooshmand et al. | Robust network anomaly detection using ensemble learning approach and explainable artificial intelligence (XAI) | |
Thanh et al. | An approach to reduce data dimension in building effective network intrusion detection systems | |
Moskal et al. | Translating intrusion alerts to cyberattack stages using pseudo-active transfer learning (PATRL) | |
Al Ahasan et al. | Ofmcdm/irf: A phishing website detection model based on optimized fuzzy multi-criteria decision-making and improved random forest | |
Vartouni et al. | Auto-threshold deep SVDD for anomaly-based web application firewall | |
Anirudh et al. | An Ensemble Classification Model for Phishing Mail Detection | |
CN116192537B (zh) | 一种apt攻击报告事件抽取方法、系统和存储介质 | |
CN104142993B (zh) | 基于深度特征的复杂snort规则分类方法及系统 | |
Singhal et al. | Experimental Analysis of various Machine Learning approaches for Intrusion Detection | |
CN117216687A (zh) | 一种基于集成学习的大语言模型生成文本检测方法 | |
CN114139153A (zh) | 基于图表示学习的恶意软件可解释性分类方法 | |
CN114860903A (zh) | 一种面向网络安全领域的事件抽取、分类和融合方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |