CN109344913B - 一种基于改进MajorClust聚类的网络入侵行为检测方法 - Google Patents
一种基于改进MajorClust聚类的网络入侵行为检测方法 Download PDFInfo
- Publication number
- CN109344913B CN109344913B CN201811286169.2A CN201811286169A CN109344913B CN 109344913 B CN109344913 B CN 109344913B CN 201811286169 A CN201811286169 A CN 201811286169A CN 109344913 B CN109344913 B CN 109344913B
- Authority
- CN
- China
- Prior art keywords
- cluster
- nodes
- node
- majorcluster
- algorithm
- 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.)
- Expired - Fee Related
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 48
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 66
- 238000012545 processing Methods 0.000 claims abstract description 48
- 230000006399 behavior Effects 0.000 claims abstract description 38
- 238000000034 method Methods 0.000 claims abstract description 26
- 206010000117 Abnormal behaviour Diseases 0.000 claims abstract description 22
- 238000004364 calculation method Methods 0.000 claims abstract description 22
- 230000002159 abnormal effect Effects 0.000 claims description 54
- 238000004458 analytical method Methods 0.000 claims description 14
- 238000002474 experimental method Methods 0.000 claims description 9
- 230000008569 process Effects 0.000 claims description 8
- 238000007781 pre-processing Methods 0.000 claims description 5
- 238000012512 characterization method Methods 0.000 claims description 4
- 238000007621 cluster analysis Methods 0.000 claims description 3
- 238000012216 screening Methods 0.000 claims description 3
- 230000000875 corresponding effect Effects 0.000 description 10
- 230000009286 beneficial effect Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000007547 defect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000002547 anomalous effect Effects 0.000 description 2
- 210000001520 comb Anatomy 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 208000003443 Unconsciousness Diseases 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000004374 forensic analysis Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000010921 in-depth analysis Methods 0.000 description 1
- 230000009545 invasion Effects 0.000 description 1
- 238000003064 k means clustering Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- Bioinformatics & Computational Biology (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开一种基于改进MajorClust聚类的网络入侵行为检测方法,采用改进后的MajorClust算法在关联度计算基础上,经过多次迭代抽象处理更精准地梳理记录间关系,并通过在频率最高、到达率最高以及邻边权重之和最大这三种类型节点中合理选择簇核心点实现海量记录中核心异常行为的定位。本发明方法没有沿袭传统的以单一异常参数进行异常检测的思路,而是基于行为间的关联特性连带次高异常参数予以综合判断,不同簇的核心节点信息相互印证,提升了检测结果的可信度。
Description
技术领域
本发明属于网络安全技术领域,涉及一种基于改进MajorClust聚类的网络入侵行为检测方法。
背景技术
检测数据集中的异常是一项至关重要的任务,在安全、财务、司法等领域具有高影响力的应用。传统入侵行为检测的目的在于及时发现网络或系统中存在的违反安全策略的行为和被攻击的迹象,以便积极主动地进行安全防护。基于此类目的的入侵检测技术更加侧重于实践通用性,强调利用模式特征通过统计分析、数据挖掘、机器学习等方法予以实现,通常并不针对特定类型的主机及网络日志进行深入剖析。信息技术的飞速发展催生了层出不穷的新型犯罪,随着涉网犯罪案件的逐年增多,很多情况下需要将行为痕迹转化为电子证据。传统检测技术难以在发现入侵迹象的同时,精准定位嫌疑人的犯罪行为,无法完整重现犯罪过程并构建证据链条,在日渐增多的司法应用需求面前显得力不从心。因此,将数据集的内容特征与语义情境纳入证据考量范畴就显得尤为必要。
发明内容
为解决上述技术问题,本发明的目的是提供一种基于改进MajorClust聚类的网络入侵行为检测方法,将数据集的内容特征与语义情境纳入证据考量范畴,有助于提升聚类乃至异常入侵检测的准确性。
本发明提供一种基于改进MajorClust聚类的网络入侵行为检测方法,包括以下步骤:
步骤1:数据集预处理,针对特定的日志内容选择其适合的停用词,对于不能认定效果的停用词通过实验验证后再抉择,将数据集中的停用词删除,在后续的异常检测及阀值设定中会重新综合曾经被忽略的信息;
步骤2:相似度计算,使用TF-IDF算法计算每个节点的数字表征,采用cos相似度计算方法依据节点的数字表征得到节点间的相关系数,利用此相关系数构造聚类图;
步骤3:对MajorClust算法进行改进,在当前群集与最重的邻居节点不同时,强制节点跟随最重的群集,在找寻到权重和最大的节点之后,如果存在对权重和起绝对影响的边,则将该边对应的节点单独聚类;
步骤4:通过改进的MajorClust算法对聚类图进行处理,得到关于事件关系的新的聚类图;
步骤5:异常检测与阈值设定,针对通过改进的MajorClust算法聚类处理后生成的簇的频率进行深度分析,计算出每个簇的异常值,并设置阈值判断是否发生异常;
步骤6:若存在异常行为,选择改进MajorClust算法核心处理节点当作簇的中心点,通过簇中心点定位异常线索。
在本发明的基于改进MajorClust聚类的网络入侵行为检测方法中,所述步骤2中使用TF-IDF算法计算每个节点的数字表征具体为:
步骤2.1:对于特定词w,其在记录r中的词频通过下式计算:
tfw,r=tf/len(r)
其中,tf表示特定词w在记录r中出现的次数,len(r)表示记录中所有词出现的总次数;
步骤2.2:根据下式计算逆文档频率:
其中,N为数据集中的记录总数,dfw为包含特定词w的记录数,对数计算时分母需要加1,用于规避特定词不在语料库内而出现的除数为0情况;
步骤2.3:基于收集线索目的的聚类分析针对的是具体日志内容,不会出现特定词存在于语料库范围之外的情况,将逆文档频率计算进行简化为:
idfw=log(N/dfw);
步骤2.4:分别计算完词频tfw,r与逆文档频率idfw之后,再依据下式计算每个节点的数字表征:
TF-IDF=tfw,r×idfw
其中,TF-IDF表示节点的数字表征。
在本发明的基于改进MajorClust聚类的网络入侵行为检测方法中,所述步骤2中采用cos相似度计算方法依据节点的数字表征得到节点间的相关系数,利用此相关系数构造聚类图具体为:
步骤2.5:鉴于节点事件信息中语句长度通常较短,由此采用cos相似度计算方法依据节点表征得到节点间的相关系数;
步骤2.6:利用相关系数构造聚类图G=<V,E,w>,其中V是所有数据节点(去重后独一无二的事件)的集合,节点间的连接使用带权重w(相关系数)的边表示,所有的边组成了集合E;
步骤2.7:获得聚类图,图中只针对权重w值大于0的所有的边的集合E及对应的数据节点集合V予以显示,边的粗细代表了节点(即事件)相似度的强弱,通过这样的图形化处理,事件之间的关系得到了初步体现。
在本发明的基于改进MajorClust聚类的网络入侵行为检测方法中,步骤3中改进的MajorClust算法描述如下:
输入:日志记录集L;
输出:聚类处理之后生成的若干簇;
Step1:根据日志记录集的“事件”域进行去重,只取去重后的“事件”域生成新的日志记录集Ln;
Step2:依据TF-IDF算法计算日志记录集Ln中每个节点的数字表征;
Step3:根据节点的数字表征计算节点间的cos相关系数,并将相关系数作为权重赋值给节点之间的连接边;
Step4:计算每个节点与其他节点的连接边权重之和,并筛选出拥有最大权重和的节点;
Step5:将该节点与其最大权重边对应的节点聚类,如果存在多条边拥有相等的最大权重,则将这些节点一同聚类;
Step6:将已完成聚类的节点从日志记录集Ln中去除,针对剩余的节点循环Step4与Step5直至目标函数收敛;
Step7:生成的每一个聚类都使用一个节点来替代,节点的内容信息为聚类中“事件”信息的“最长子串”;
Step8:针对抽象出的节点使用TF-IDF算法计算其数字表征;
Step9:根据数字表征计算节点间的cos相关系数,将相关系数作为权重赋值给节点间的连接边,生成新的聚类图。
在本发明的基于改进MajorClust聚类的网络入侵行为检测方法中,MajorClust聚类时只重点针对事件内容信息进行了考察,在确定是否存在异常时则需要将事件的时间间隔、频度作为停用词重新纳入考量范畴,所述步骤5包括:
步骤5.1:簇中每个节点在原始数据集中的出现频度为节点出现次数之和除以总记录数,将簇的频度μc定义为簇中节点频度之和与节点对应事件之和的商,这样定义的μc就在一定程度上表现出该簇整体上的频度特征;
步骤5.2:鉴于簇的频度μc未将时间因素纳入考量,由此定义簇的到达区间比率Ic为簇中节点频度之和与簇的整体时间间隔(即末次事件发生时间与首次事件发生时间之差,以秒计)之商;
步骤5.3:在簇的频度μc与簇的到达区间比率Ic的基础上将簇的异常参数定义为:
步骤5.4:综合考虑多个事件的异常参数如果记录的次高异常参数大于0.5,则判定该日出现异常入侵行为。
在本发明的基于改进MajorClust聚类的网络入侵行为检测方法中,所述步骤6具体为:
将改进MajorClust算法核心处理节点,即邻边权重之和最大的节点当作簇的中心点,通过簇中心点定位异常线索,在改进MajorClust算法进行处理时已经保留了邻边权重之和最大的节点信息,无需再另行计算频率最高的节点,即可实现关键证据的定位。
本发明的一种基于改进MajorClust聚类的网络入侵行为检测方法至少具有以下有益效果:
1)、数据集的深入分析有助于提升聚类乃至异常入侵检测的准确性。基于收集线索目的的聚类分析针对的是具体日志内容,不会出现特定词存在于语料库范围之外的情况,逆文档频率计算得以简化。
2)、在当前群集与最重的邻居节点不同时,强制节点跟随最重的群集。这样事件将仅跟随最相似的事件,而不是跟随其他那些并不非常相似但却被强制关联的事件,可以使节点间的关系得到进一步明确,强关联的事件被聚合成簇。进行抽象操作的同时会保留原有节点的属性信息,以便追溯使用;节点处理之后即被标记,之后便转入其他节点的处理,从而保证了在有限步骤内完成图形处理。
3)、改进后的异常检测不仅考量单一事件的异常参数是否超过预设阈值,考虑到了异常行为所催生的事件往往是相互关联的,真正有威胁的事件产生时必然会引发多个事件的。综合考虑多个事件的异常参数,提升检测的准确度。
4)、本发明把频率最高的节点与邻边权重之和最大的节点(即改进MajorClust算法核心处理的节点)当作簇的中心点予以着重关注。在改进MajorClust算法进行处理时已经保留了邻边权重之和最大的节点信息,因此无需再另行计算频率最高的节点,即可实现关键线索的定位。而且异常参数最高与异常参数次高的簇核心节点还可以实现相互印证关系。
附图说明
图1是本发明的一种基于改进MajorClust聚类的网络入侵行为检测方法的流程图;
图2a是本发明实施方式中将“from”作为停用词的聚类图;
图2b是本发明实施方式中不将“from”作为停用词的聚类图;
图3是本发明中利用相关系数构造的图形处理结果;
图4是本发明中实施方式中处理的用户认证日志auth.log的出处截图;
图5是本发明中实施方式中采用改进的MajorClust算法处理2014年11月30日当天日志记录的聚类图。
具体实施方式
聚类分析是常用的传统行为检测方法,其实质是把整体数据集按照特定规则划分为若干数据子集,划分于同一子集中的数据拥有更多的相似性。以典型聚类算法K-Means为例,该算法首先会选定k作为最终确定的簇数目,先是随机生成K个簇并选定各簇中心,之后将节点分配给离其最“近”的所谓簇中心,通过迭代完簇中心及簇中的节点,最终实现理想的分类效果。该算法的优势在于其实现简单,并在处理大规模数据时展现出较高效率,成为目前应用最为广泛的聚类算法之一。
MajorClust算法是1999年由Benno Stein与Oliver Niggemann发明的基于密度的聚类算法,目前已发展成为无监督文档聚类中最有前途和最成功的算法之一。MajorClust能够自动地对数据进行分类,不必像K-Means算法那样事先给定簇的数目,而是通过计算簇间节点的联结度,进而改变簇的形状以提升聚类效率。该算法根据“最大吸引制胜”原则,以边权重为量度将节点迭代聚类到簇中。首先初始集中的每个点会被分配到其原始所属的簇中;在重新标记步骤中,在“其邻居的加权和最大值”范围内的节点使用相同的簇标签;如果存在多个满足条件的簇,则随机选择其中一个;直到没有节点再需要改变其簇成员资格,算法结束。在聚类推导过程中,由于只考虑节点的邻居,从而拥有了良好的运行时效率。
传统行为检测方法存在诸多缺陷,如典型聚类算法K-Means的K值需要事先给定,但实践中却难以估计。另外,中心的选择是随机的,处理结果可能每次并不完全相同,确定最佳处理结果由此成为难题。K-Means算法过于注重针对节点进行考虑,却忽略了对图形自身属性(如权重与规模)的考量,特别是在不同类别间不存在确切的边界的情况下,K-Means聚类算法无法取得理想的聚类效果。
MajorClust也并非十全十美,拥有最大权重和的节点往往可能是因为其个别连接边的权重大,强制了其他与该节点关联并不紧密的节点被聚类于该节点,也正是由于其总是忽略诸如连通性之类的全局准则,因此并不能保证总是找到最优解。特别是应用于行为线索发现时,单次MajorClust的处理结果显得较为粗糙,对异常行为抽象出的规律不够明显,也无法快速准确定位核心关键节点,对异常检测的判断造成严重干扰。
传统入侵检测技术难以在发现异常入侵的同时兼顾精准定位核心证据及线索的司法需求。MajorClust可以规避传统聚类算法需要事先给定聚类数量的缺陷,其侧重于对图形自身属性进行考量的特性为行为检测提供了崭新的思路。但在应用于行为证据发现时,单次MajorClust处理抽象出的异常行为规律不够明显,也无法准确定位关键异常点。本发明改进后的MajorClust算法在关联度计算基础上,经过多次迭代抽象处理更精准地梳理记录间关系,并通过在频率最高、到达率最高以及邻边权重之和最大这三种类型节点中合理选择簇核心点实现海量记录中核心异常行为的定位。没有沿袭传统的以单一异常参数进行异常检测的思路,而是基于行为间的关联特性连带次高异常参数予以综合判断,不同簇的核心节点信息相互印证,提升了检测结果的可信度。
如图1所述,本发明提供一种基于改进MajorClust聚类的网络入侵行为检测方法,包括以下步骤:
步骤1:数据集预处理,针对特定的日志内容选择其适合的停用词,对于不能认定效果的停用词通过实验验证后再抉择,将数据集中的停用词删除,在后续的异常检测及阀值设定中会重新综合曾经被忽略的信息;
与传统行为检测强调功能通用性不同,司法取证强调的是对象针对性,需要结合具体的格式、内容甚至语义特征才能挖掘出真正有价值的信息。数据集的深入分析有助于提升聚类乃至异常入侵检测的准确性,以Linux操作系统环境下的用户认证日志auth.log为例,其通常包含有日期(date)、时间(time)、进程名称(process name)与ID(PID)、主机名称(hostname)以及具体的事件(event)信息,异常入侵行为会在其中(特别是事件信息)表现出较强的特征。表1描述了当非法用户尝试越权登陆系统时其操作可能表现出的行为特征。
表1auth.log中的异常行为特征
从表1可以看出事件信息会对行为予以充分描述,提供了更为充分的线索帮助在海量信息中进行行为检测。同时因为事件信息中有的已经包含了日期、事件、用户名等,因此考虑将数据集中每条记录作为节点,并以节点中的事件内容作为聚类主要依据,进而实现异常行为检测。
传统方式在预处理时会把字符串中出现的常见词作为停用词(Stopword)去掉。实验发现,基于MajorClust算法的聚类分析受停用词的影响较大,需要针对特定的日志内容选择其适合的停用词。图1所示即为auth.log数据集是否选择将单词“from”作为停用词的处理结果比较。当“from”作为停用词时,数据集只形成了一个由数目众多的节点构成的聚类(图2a);但当“from”不作为停用词时,数据集却形成了两个类似的聚类(图2b),从而直接影响了后续的处理分析。因此在确定停用词时,除传统选择外,对于不能认定效果的停用词最好通过实验验证后再抉择。本实施例中的预处理是将preauth、from、for、port、sshd、ssh、root作为停用词并连同日期、时间一并去除。日期、时间等虽然信息暂时不在聚类的考虑范畴内,但在后续的异常检测及阀值设定中会重新综合曾经被忽略的信息。
步骤2:相似度计算,使用TF-IDF算法计算每个节点的数字表征,采用cos相似度计算方法依据节点的数字表征得到节点间的相关系数,利用此相关系数构造聚类图;所述步骤2中使用TF-IDF算法计算每个节点的数字表征具体为:
步骤2.1:对于特定词w,其在记录r中的词频通过下式计算:
tfw,r=tf/len(r)
其中,tf表示特定词w在记录r中出现的次数,len(r)表示记录中所有词出现的总次数;
步骤2.2:根据下式计算逆文档频率:
其中,N为数据集中的记录总数,dfw为包含特定词w的记录数,对数计算时分母需要加1,用于规避特定词不在语料库内而出现的除数为0情况;
步骤2.3:基于收集线索目的的聚类分析针对的是具体日志内容,不会出现特定词存在于语料库范围之外的情况,将逆文档频率计算进行简化为:
idfw=log(N/dfw);
步骤2.4:分别计算完词频tfw,r与逆文档频率idfw之后,再依据下式计算每个节点的数字表征:
TF-IDF=tfw,r×idfw
其中,TF-IDF表示节点的数字表征。
所述步骤2中采用cos相似度计算方法依据节点的数字表征得到节点间的相关系数,利用此相关系数构造聚类图具体为:
步骤2.5:鉴于节点事件信息中语句长度通常较短,由此采用cos相似度计算方法依据节点表征得到节点间的相关系数;
步骤2.6:利用相关系数构造聚类图G=<V,E,w>,其中V是所有数据节点(去重后独一无二的事件)的集合,节点间的连接使用带权重w(相关系数)的边表示,所有的边组成了集合E;
步骤2.7:如图3所示,图中只针对权重w值大于0的所有的边的集合E及对应的数据节点集合V予以显示,边的粗细代表了节点(即事件)相似度的强弱,通过这样的图形化处理,事件之间的关系得到了初步体现。
但数据集合的特性依然没有被充分挖掘,正常行为与异常行为尚未出现明显界线,由此考虑通过改进的MajorClust算法进一步分析。
步骤3:对MajorClust算法进行改进,在当前群集与最重的邻居节点不同时,强制节点跟随最重的群集,在找寻到权重和最大的节点之后,如果存在对权重和起绝对影响的边,则将该边对应的节点单独聚类;
传统的MajorClust算法强调依靠权重实现节点聚合,逐次迭代筛选目标数据集中拥有最大权重和的节点,并将其与直接连接节点形成聚类。但这种算法存在一个明显缺陷就是,拥有最大权重和的节点往往可能是因为其个别连接边的权重大,强制了其他与该节点关联并不紧密的节点被聚类于该节点,由此对异常检测的判断造成严重干扰。为此需要通过提供额外的要求来改进MajorClust,即当前群集与最重的邻居节点不同时,强制节点跟随最重的群集。在找寻到权重和最大的节点之后,如果存在对权重和起绝对影响的边,则将该边对应的节点单独聚类。通过这样部署,事件将仅跟随最相似的事件,而不是跟随其他那些并不非常相似但却被强制关联的事件。
经初步改进后,节点间的关系得到进一步明确,强关联的事件被聚合成簇。但由此却引发了另一问题,即聚类后的生成的簇中节点数量过少,往往只有2到3个,很难基于这样的聚类挖掘行为模式。为此针对图形进一步凝练,将簇抽象为单一节点,节点的事件内容为原有簇中节点事件内容的最长子句。比如原有簇由三个节点组成,事件信息分别为“Invalid user admin 221.208.245.210”、“Invalid user admin187.12.80.202”、“Invalid user admin 122.205.109.208”,则其新抽象出的节点事件信息即为“Invaliduser admin”;之后再对二次生成的图形依据第1节算法做MajorClust处理,进而得到关于事件关系的新的图示。抽象的同时要保留原有节点的属性信息,以便追溯使用;节点处理之后即被标记,之后便转入其他节点的处理,从而保证了在有限步骤内完成图形处理。
改进的MajorClust算法描述如下:
输入:日志记录集L;
输出:聚类处理之后生成的若干簇;
Step1:根据日志记录集的“事件”域进行去重,只取去重后的“事件”域生成新的日志记录集Ln;
Step2:依据TF-IDF算法计算日志记录集Ln中每个节点的数字表征;
Step3:根据节点的数字表征计算节点间的cos相关系数,并将相关系数作为权重赋值给节点之间的连接边;
Step4:计算每个节点与其他节点的连接边权重之和,并筛选出拥有最大权重和的节点;
Step5:将该节点与其最大权重边对应的节点聚类,如果存在多条边拥有相等的最大权重,则将这些节点一同聚类;
Step6:将已完成聚类的节点从日志记录集Ln中去除,针对剩余的节点循环Step4与Step5直至目标函数收敛;
Step7:生成的每一个聚类都使用一个节点来替代,节点的内容信息为聚类中“事件”信息的“最长子串”;
Step8:针对抽象出的节点使用TF-IDF算法计算其数字表征;
Step9:根据数字表征计算节点间的cos相关系数,将相关系数作为权重赋值给节点间的连接边,生成新的聚类图。
步骤4:通过改进的MajorClust算法对聚类图进行处理,得到关于事件关系的新的聚类图;
本实施例中对如图4所示的Security Repository数据集(网址为Sconzo,M.2016.6.SecRepo.com:Se:Security Data Samples Repository.URL:RL:http://www.secrepo.com/.)中的auth.log日志进行处理。
图5所示即为对Security Repository中auth.log日志2014年11月30日当天的日志记录最终处理结果。基于事件信息处理后形成了多个簇,其中节点数量最多的簇由含有“invalid user”子串的日志记录组成,含有“pam_unix(cron:session)”字样的记录构成的簇中节点数量是最少的,只有两个节点。关联度高的事件聚类之后,便可通过算法检测与阈值设定判别事件中是否存在异常。
步骤5:异常检测与阈值设定,针对通过改进的MajorClust算法聚类处理后生成的簇的频率进行深度分析,计算出每个簇的异常值,并设置阈值判断是否发生异常;
聚类时只重点针对事件内容信息进行了考察,在确定是否存在异常时则需要将事件的时间间隔、频度作为停用词重新纳入考量范畴。有的检测方法依靠聚类中节点的数量推断是否有异常存在,但这种方法能够适用的现实场景较少,并且未涉及至关重要的时间因素。异常行为事件组成的簇总是在特定方面体现出与正常行为簇的不同,传统观点认为异常簇中节点的数量一定会小于正常的簇,但实验发现并非如此。因此不能单纯依靠节点数量判断是否存在异常,节点数目过多或过少都有可能是异常行为造成的结果。
进一步的,所述步骤5具体包括:
步骤5.1:簇中每个节点在原始数据集中的出现频度为节点出现次数之和除以总记录数,将簇的频度μc定义为簇中节点频度之和与节点对应事件之和的商,这样定义的μc就在一定程度上表现出该簇整体上的频度特征;
步骤5.2:鉴于簇的频度μc未将时间因素纳入考量,由此定义簇的到达区间比率Ic为簇中节点频度之和与簇的整体时间间隔(即末次事件发生时间与首次事件发生时间之差,以秒计)之商;
步骤5.3:在簇的频度μc与簇的到达区间比率Ic的基础上将簇的异常参数定义为:
步骤5.4:综合考虑多个事件的异常参数如果记录的次高异常参数大于0.5,则判定该日出现异常入侵行为。
依照前述计算步骤,针对Security Repository数据集中前20天的日志记录运用改进的MajorClust算法进行了处理,得到了当日每个簇的异常参数值。实验发现,invaliduser、received disconnect from以及reverse mapping checking getaddrinfo forfailed-possible break-in attempt!这三类事件的异常参数大于其他事件的概率较大;connection closed和pam_unix(cron:session):session for user root这两类事件的异常参数通常很小。事实上,这也符合日常经验的认知,非法用户往往通过不断地连接与登陆尝试实现系统入侵。
表2列出了20天记录中异常参数最高与次高的事件类型及其对应的异常参数(因为已对异常参数做了标准化处理,所以最高的异常参数值总为1)。从表2可以看出,拥有最高异常参数的事件多为“invalid user”,之后是“received disconnect from”和“reversemapping checking getaddrinfo for failed-possible break-in attempt!”;另外,次高的异常参数变动幅度较大,从0.0021跨越到0.9587。传统异常检测只是考量单一事件的异常参数是否超过预设阈值,但事实上异常行为所催生的事件往往是相互关联的,真正有威胁的事件产生时必然会引发多个事件的。因此综合考虑多个事件的异常参数将更有利于提升检测的准确度。如果某日的次高异常参数大于0.5,则该日出现异常入侵行为的概率是极大的。
表2异常参数最高与次高的事件类型及具体参数值
步骤6:若存在异常行为,选择改进MajorClust算法核心处理节点当作簇的中心点,通过簇中心点定位异常线索。所述步骤6具体为:
将改进MajorClust算法核心处理节点,即邻边权重之和最大的节点当作簇的中心点,通过簇中心点定位异常线索,在改进MajorClust算法进行处理时已经保留了邻边权重之和最大的节点信息,因此无需再另行计算频率最高的节点,即可实现关键证据的定位。
判断出存在异常行为之后,需要挖掘出重点异常事件与核心证据线索。虽然根据阈值可以推测哪个簇存在异常行为的可能,但异常簇往往由多个节点构成,很多情况下节点数量会超出人工分析所能承受的范围。为此需要进一步确定簇的中心点以实现快速准确定位关键证据或线索的目的。选择三种类型的节点作为簇中心点的备选,分别是簇中频率最高的节点、到达率最高的节点以及MajorClust算法核心处理节点(即邻边权重之和最大的节点)。在Security Repository数据集的30天记录中共出现了6次次高异常参数大于0.5的情况,表3梳理出了这6天记录形成的“invalid user”簇中三种类型节点的分布情况。
表3三种类型节点在“invalid user”簇中的分布情况
实验发现,虽然频率最高的节点与邻边权重之和最大的节点(即改进MajorClust算法核心处理节点)的计算依据完全不同,但算出的节点指向却出现了重合,由此可以把此类节点当作簇的中心点予以着重关注。在改进MajorClust算法进行处理时已经保留了邻边权重之和最大的节点信息,因此无需再另行计算频率最高的节点,即可实现关键证据的定位。
异常参数最高与异常参数次高的簇核心节点还可以实现相互印证关系,如在invalid user簇中确定出的具体用户名信息也会体现在其他簇的核心节点中,同时由于其他的记录内容的独立性还会辅助提供有IP等重要信息。具体情况如表4所示。
表4异常参数最高与异常参数次高的簇核心节点的信息相互印证
异常行为检测一旦涉及特定的记录内容分析挖掘,势必会增添大量的额外工作量,以至于目前并未得到广泛的现实应用。但本发明的实验结果充分说明在面向司法应用的取证分析中,针对内容与语境的分析至关重要,有助于快速准确地定位关键证据或线索。传统步骤往往是在探测到异常行为之后,再针对可疑数据集进行深度分析,以发现核心异常点。使用改进后的MajorClust算法不仅可以判断出异常行为是否存在,并在处理过程中能够自动筛选出最核心的证据与线索,以满足司法应用需求。在关联度计算的基础上,经过改进的MajorClust算法处理更精准地挖掘出了记录间的关系,综合多个簇的异常参数实现了异常行为的检测,并通过簇核心点的定位在海量记录中挖掘出最有价值的信息。同时,本发明提出的方法并没有沿袭传统的以单一异常参数进行判定的思路,而是基于异常行为之间的关联特性连带次高异常参数予以综合判断,进一步提升了检测结果的可信度。
本发明实施例中虽然以Auth日志为处理分析对象,但所描述的方法也适用于多种操作系统环境下的其他类型日志。实验则主要依托自编的Python脚本实现,使用了Python自带的函数及插件功能。处理时间主要消耗在计算事件记录相似度、第一次MajorClust抽象、基于“最长子句”生成新节点、第二次MajorClust抽象等四个步骤。实验证明这些步骤的计算时长与数据增长呈线性关系,其中“第一次MajorClust抽象”这个环节最为耗时,在Intel Core I7-6500U及8GB RAM的硬件条件下处理10万条以上的记录消耗时间需要以小时计,未来需要进一步完善数据结构与优化算法,以提升处理效率。
以上所述仅为本发明的较佳实施例,并不用以限制本发明的思想,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (3)
1.一种基于改进MajorClust聚类的网络入侵行为检测方法,其特征在于,包括以下步骤:
步骤1:数据集预处理,针对特定的日志内容选择其适合的停用词,对于不能认定效果的停用词通过实验验证后再抉择,将数据集中的停用词删除,在后续的异常检测及阀值设定中会重新综合曾经被忽略的信息;
步骤2:相似度计算,使用TF-IDF算法计算每个节点的数字表征,采用cos相似度计算方法依据节点的数字表征得到节点间的相关系数,利用此相关系数构造聚类图,所述步骤2中使用TF-IDF算法计算每个节点的数字表征具体为:
步骤2.1:对于特定词w,其在记录r中的词频通过下式计算:
tfw,r=tf/len(r)
其中,tf表示特定词w在记录r中出现的次数,len(r)表示记录中所有词出现的总次数;
步骤2.2:根据下式计算逆文档频率:
其中,N为数据集中的记录总数,dfw为包含特定词w的记录数,对数计算时分母需要加1,用于规避特定词不在语料库内而出现的除数为0情况;
步骤2.3:基于收集线索目的的聚类分析针对的是具体日志内容,不会出现特定词存在于语料库范围之外的情况,将逆文档频率计算进行简化为:
idfw=log(N/dfw);
步骤2.4:分别计算完词频tfw,r与逆文档频率idfw之后,再依据下式计算每个节点的数字表征:
TF-IDF=tfw,r×idfw
其中,TF-IDF表示节点的数字表征;
步骤3:对MajorClust算法进行改进,在当前群集与最重的邻居节点不同时,强制节点跟随最重的群集,在找寻到权重和最大的节点之后,如果存在对权重和起绝对影响的边,则将该边对应的节点单独聚类;
步骤4:通过改进的MajorClust算法对聚类图进行处理,得到关于事件关系的新的聚类图;
步骤5:异常检测与阈值设定,针对通过改进的MajorClust算法聚类处理后生成的簇的频率进行深度分析,计算出每个簇的异常值,并设置阈值判断是否发生异常;
MajorClust聚类时只重点针对事件内容信息进行了考察,在确定是否存在异常时则需要将事件的时间间隔、频度作为停用词重新纳入考量范畴,所述步骤5包括:
步骤5.1:簇中每个节点在原始数据集中的出现频度为节点出现次数之和除以总记录数,将簇的频度μc定义为簇中节点频度之和与节点对应事件之和的商,这样定义的μc就在一定程度上表现出该簇整体上的频度特征;
步骤5.2:鉴于簇的频度μc未将时间因素纳入考量,由此定义簇的到达区间比率Ic为簇中节点频度之和与簇的整体时间间隔之商,簇的整体时间间隔为末次事件发生时间与首次事件发生时间之差,以秒计;
步骤5.3:在簇的频度μc与簇的到达区间比率Ic的基础上将簇的异常参数定义为:
步骤5.4:综合考虑多个事件的异常参数如果记录的次高异常参数大于0.5,则判定该日志出现异常入侵行为;
步骤6:若存在异常行为,选择改进MajorClust算法核心处理节点当作簇的中心点,通过簇中心点定位异常线索,具体为:
将改进MajorClust算法核心处理节点,即邻边权重之和最大的节点当作簇的中心点,通过簇中心点定位异常线索,在改进MajorClust算法进行处理时已经保留了邻边权重之和最大的节点信息,无需再另行计算频率最高的节点,即可实现关键证据的定位;选择三种类型的节点作为簇中心点的备选,分别是簇中频率最高的节点、到达率最高的节点以及MajorClust算法核心处理节点,即邻边权重之和最大的节点。
2.如权利要求1所述的基于改进MajorClust聚类的网络入侵行为检测方法,其特征在于,所述步骤2中采用cos相似度计算方法依据节点的数字表征得到节点间的相关系数,利用此相关系数构造聚类图具体为:
步骤2.5:鉴于节点事件信息中语句长度通常较短,由此采用cos相似度计算方法依据节点表征得到节点间的相关系数;
步骤2.6:利用相关系数构造聚类图G=<V,E,w>,其中V是所有数据节点的集合,节点间的连接使用带权重w的边表示,所有的边组成了集合E;
步骤2.7:获得聚类图,图中只针对权重w值大于0的所有的边的集合E及对应的数据节点集合V予以显示,边的粗细代表了节点,即事件相似度的强弱,通过这样的图形化处理,事件之间的关系得到了初步体现。
3.如权利要求1所述的基于改进MajorClust聚类的网络入侵行为检测方法,其特征在于,步骤3中改进的MajorClust算法描述如下:
输入:日志记录集L;
输出:聚类处理之后生成的若干簇;
Step1:根据日志记录集的“事件”域进行去重,只取去重后的“事件”域生成新的日志记录集Ln;
Step2:依据TF-IDF算法计算日志记录集Ln中每个节点的数字表征;
Step3:根据节点的数字表征计算节点间的cos相关系数,并将相关系数作为权重赋值给节点之间的连接边;
Step4:计算每个节点与其他节点的连接边权重之和,并筛选出拥有最大权重和的节点;
Step5:将该节点与其最大权重边对应的节点聚类,如果存在多条边拥有相等的最大权重,则将这些节点一同聚类;
Step6:将已完成聚类的节点从日志记录集Ln中去除,针对剩余的节点循环Step4与Step5直至目标函数收敛;
Step7:生成的每一个聚类都使用一个节点来替代,节点的内容信息为聚类中“事件”信息的“最长子串”;
Step8:针对抽象出的节点使用TF-IDF算法计算其数字表征;
Step9:根据数字表征计算节点间的cos相关系数,将相关系数作为权重赋值给节点间的连接边,生成新的聚类图。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811286169.2A CN109344913B (zh) | 2018-10-31 | 2018-10-31 | 一种基于改进MajorClust聚类的网络入侵行为检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811286169.2A CN109344913B (zh) | 2018-10-31 | 2018-10-31 | 一种基于改进MajorClust聚类的网络入侵行为检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109344913A CN109344913A (zh) | 2019-02-15 |
CN109344913B true CN109344913B (zh) | 2022-03-08 |
Family
ID=65313271
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811286169.2A Expired - Fee Related CN109344913B (zh) | 2018-10-31 | 2018-10-31 | 一种基于改进MajorClust聚类的网络入侵行为检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109344913B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI835203B (zh) * | 2021-07-20 | 2024-03-11 | 奧義智慧科技股份有限公司 | 具有自適應叢集化功能的日誌分類裝置與相關的電腦程式產品 |
CN114329454B (zh) * | 2022-01-12 | 2022-07-19 | 宁夏网信创安信息技术服务有限公司 | 一种基于应用软件大数据的威胁分析方法及系统 |
CN114722081B (zh) * | 2022-06-09 | 2022-09-02 | 杭银消费金融股份有限公司 | 一种基于中转库模式的流式数据时间序列传输方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101425129A (zh) * | 2008-10-22 | 2009-05-06 | 浙江万里学院 | 基于jpeg图像的目标异常检测方法及装置 |
CN102184208A (zh) * | 2011-04-29 | 2011-09-14 | 武汉慧人信息科技有限公司 | 一种基于多维数据异常簇挖掘的垃圾网页检测方法 |
CN104484602A (zh) * | 2014-12-09 | 2015-04-01 | 中国科学院深圳先进技术研究院 | 一种入侵检测方法、装置 |
CN108021625A (zh) * | 2017-11-21 | 2018-05-11 | 深圳广联赛讯有限公司 | 车辆异常聚集地监控方法及系统、计算机可读存储介质 |
CN108229586A (zh) * | 2018-02-05 | 2018-06-29 | 清华大学 | 一种数据中的异常数据点的检测方法及系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104038929A (zh) * | 2014-05-09 | 2014-09-10 | 宇龙计算机通信科技(深圳)有限公司 | 网络访问异常识别方法和网络访问异常识别装置 |
CN104298586A (zh) * | 2014-10-15 | 2015-01-21 | 青岛海尔软件有限公司 | 一种基于系统日志的Web系统异常分析方法和装置 |
CN107046550B (zh) * | 2017-06-14 | 2020-07-07 | 微梦创科网络科技(中国)有限公司 | 一种异常登录行为的检测方法及装置 |
-
2018
- 2018-10-31 CN CN201811286169.2A patent/CN109344913B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101425129A (zh) * | 2008-10-22 | 2009-05-06 | 浙江万里学院 | 基于jpeg图像的目标异常检测方法及装置 |
CN102184208A (zh) * | 2011-04-29 | 2011-09-14 | 武汉慧人信息科技有限公司 | 一种基于多维数据异常簇挖掘的垃圾网页检测方法 |
CN104484602A (zh) * | 2014-12-09 | 2015-04-01 | 中国科学院深圳先进技术研究院 | 一种入侵检测方法、装置 |
CN108021625A (zh) * | 2017-11-21 | 2018-05-11 | 深圳广联赛讯有限公司 | 车辆异常聚集地监控方法及系统、计算机可读存储介质 |
CN108229586A (zh) * | 2018-02-05 | 2018-06-29 | 清华大学 | 一种数据中的异常数据点的检测方法及系统 |
Non-Patent Citations (1)
Title |
---|
Graph clustering and anomaly detection of access control log for forensic purposes;Hudan Studiawan et al;《Digital Investigation》;20170503;76-87 * |
Also Published As
Publication number | Publication date |
---|---|
CN109344913A (zh) | 2019-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10721256B2 (en) | Anomaly detection based on events composed through unsupervised clustering of log messages | |
CN111565205B (zh) | 网络攻击识别方法、装置、计算机设备和存储介质 | |
Gogoi et al. | MLH-IDS: a multi-level hybrid intrusion detection method | |
US10425436B2 (en) | Identifying bulletproof autonomous systems | |
Zhang et al. | Proword: An unsupervised approach to protocol feature word extraction | |
US11533373B2 (en) | Global iterative clustering algorithm to model entities' behaviors and detect anomalies | |
CN109344913B (zh) | 一种基于改进MajorClust聚类的网络入侵行为检测方法 | |
Tong et al. | A method for detecting DGA botnet based on semantic and cluster analysis | |
Ting et al. | Compression analytics for classification and anomaly detection within network communication | |
Aghaei et al. | Ensemble classifier for misuse detection using N-gram feature vectors through operating system call traces | |
Nalavade et al. | Mining association rules to evade network intrusion in network audit data | |
Monshizadeh et al. | Security related data mining | |
Gogoi et al. | Network anomaly identification using supervised classifier | |
Nazarudeen et al. | Efficient DDoS Attack Detection using Machine Learning Techniques | |
Ozkan-Okay et al. | A new feature selection approach and classification technique for current intrusion detection system | |
Chen et al. | Data curation and quality assurance for machine learning-based cyber intrusion detection | |
Santos et al. | Spam filtering through anomaly detection | |
Wang | Botnet Detection via Machine Learning Techniques | |
Manikandan et al. | A new data mining based network intrusion detection model | |
Zolotukhin et al. | Detection of anomalous http requests based on advanced n-gram model and clustering techniques | |
Das et al. | Serial and parallel based intrusion detection system using machine learning | |
Abobaker et al. | Machine Learning for Intrusion Detection and Network Performance | |
Leevy | Machine Learning Algorithms for Predicting Botnet Attacks in IoT Networks | |
Yang et al. | Rating behavior evaluation and abnormality forensics analysis for injection attack detection | |
US11973775B1 (en) | Monitoring client networks for security threats using recognized machine operations and machine activities |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20220308 |