CN111224984B - 一种基于数据挖掘算法的Snort改进方法 - Google Patents
一种基于数据挖掘算法的Snort改进方法 Download PDFInfo
- Publication number
- CN111224984B CN111224984B CN202010011027.6A CN202010011027A CN111224984B CN 111224984 B CN111224984 B CN 111224984B CN 202010011027 A CN202010011027 A CN 202010011027A CN 111224984 B CN111224984 B CN 111224984B
- Authority
- CN
- China
- Prior art keywords
- data
- clustering
- snort
- database
- normal
- 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
Images
Classifications
-
- 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/1416—Event detection, e.g. attack signature detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- 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)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Probability & Statistics with Applications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种基于数据挖掘算法的Snort改进方法。该方法包括:入侵检测Snort系统获取网络上的数据P;利用改进后的K‑means算法将P与正常行为数据库进行相似性聚类,若相似度小于聚类半径r即判断为正常数据,直接跳过Snort的误用检测过程;反之,则再次与Snort中的异常数据库做对比,计算数据与各异常行为类的相似度,若能聚到异常行为类中,则表明其为异常数据类型,系统发出相应的报警;若仍然不能聚到异常类中,则将其添加至正常数据库,重新更新正常行为数据库。网络上数据有很大部分都是正常数据,异常数据只占有小部分,且改进后的K‑means算法聚类准确率高,经过上述方式处理,会大大减少误用检测引擎所处理的数据,从而提高了Snort系统的整体检测准确率和效率。
Description
技术领域
本发明属于信息安全技术领域,涉及一种基于数据挖掘算法的Snort改进方法。
背景技术
随着网络的迅速发展,“互联网+”模式得到了广泛应用。与此同时,网络入侵技术也在发展,互联网和信息通信网络的安全形势更加严峻,产生的蓄意攻击和破坏造成的影响更加广泛。面对复杂多样的攻击手段,传统的数据库安全机制显得有些乏力。而入侵检测是新一代的安全防卫技术,IDS Snort是一种网络入侵检测系统(Network IntrusionDetection System.NIDS),在业内具有很重要的地位,特别是在国内安全行业,其所用的规则语法更是被作为业界标准;Snort是一个易于扩展的开源NIDS,使用灵活,占用资源少,但是在入侵检测方面功能很强大,它能够实时的进行网络数据流量的分析,并且通过其检测引擎模块检测各种入侵或攻击;Snort不仅支持多种硬件平台,而且能够在Windows、Linux等多种操作系统上安装运行;此外,Snort自身已经定义了一些动态加载的检测规则,并且用户可自行移除或添加规则而无须更改核心程序。综合这些优点,Snort成为了目前主流的且最受欢迎的IDS,在入侵检测技术竞争中占据优势。但是Snort在入侵检测技术方面采用的是传统的规则匹配模式,在当前的大数据环境下,此模式匹配效率限制了Snort的检测能力。而聚类算法的出现很好的解决了对大量信息有效管理困难的问题,本文引入最常用的聚类算法——Kmeans算法对Snort的核心模块——检测引擎模块进行改进。但Kmeans算法由于其初始聚类中心k的随机性,导致其聚类结果不准确,一直被人们所诟病。故针对Kmeans算法核心问题进行改进,使其更好的提高IDS Snort的检测效率。
发明内容
有鉴于此,本发明的目的在于提供一种基于数据挖掘算法的Snort改进方法,在该方法中,针对包含一个将改进的Kmeans算法与入侵检测技术相结合后对Snort进行改进的方法,实现Snort在检测效率和准确率上有明显提高,使入侵检测技术更进一步,信息安全更加可靠。
为达到上述目的,本发明提供如下技术方案:
一种基于数据挖掘算法的Snort改进方法,该方法为:针对Snort系统的入侵检测模式,经过各个模块的聚类结果,分析数据是否正常,获得高效率,高准确率的Snort,该方法具体步骤为:
步骤一:Snort系统获取网络上的数据P并指定聚类半径r;
步骤二:利用改进K-means算法将P与正常行为数据库进行相似性聚类,判断聚类结果;
步骤三:根据聚类结果判断是否跳过Snort误用检测;
步骤四:进入Snort误用检测的数据利用改进K-means算法将数据与规则库进行相似性聚类,判断聚类结果;
步骤五:根据结果输出异常报警,或正常数据添加至正常行为数据库后更新数据库聚类结果。
进一步的,步骤一中所述Snort系统获取网络上的数据P并指定聚类半径r。利用Snort网络嗅探器在网络上获取数据的同时,将正常数据库中的数据利用改进的K-means算法根据聚类半径r进行聚类。
进一步的,所述的改进K-means算法。利用K近邻非参概率密度算法与传统Kmeans聚类算法相结合,同时去除离群点,得出聚类准确率高的改进的K-means算法,具体步骤如下:
(1)对于空间数据集X={x1,...xi,...xn}内的任一点,通过K近邻非参概率密度估计样本的密度,得出点的概率密度估计值,所需公式如下(4),(5)所示:
其中di是K近邻距离,Xt为xi邻近的t个点的集合;
(2)将概率密度估计值进行从大到小排序,取n*0.9点的值作为阈值,低于阈值的点作为离群点,则X内密度最大的点c1即为首个聚类中心;
(3)计算每个样本与首个聚类中心c1的距离,用D1(x)表示;接着利用下列公式计算每个样本(离群点除外)被选为下一个聚类中心的概率Qi;最后,用轮盘法思想选择出第二个聚类中心;
(4)重复进行(3)步骤,即计算每个样本到被选出的聚类中心的最短距离D(x),再计算Qi,一个一个选择聚类中心,直到得到k个聚类中心;
(5):计算样本xi到各聚类中心c的欧式距离,将每个样本聚类至与其最近的聚类中心cj,形成k个聚类;
(6)重新计算k个聚类的平均聚类中心,以新的平均聚类中心替换原来的聚类中心;
(7)反复进行(5)(6)步骤,直到聚类中心c基本无变化或达到指定迭代次数后结束。
进一步的,步骤二中所述利用改进K-means算法将P与正常行为数据库进行相似性聚类,判断聚类结果。利用改进的K-means算法将网络数据P与正常数据库各类进行相似性聚类,当与任一聚类中心m的聚类相似度d(min)小于等于指定的聚类半径r时,即则判断该数据P是正常数据库中聚类中心为m所属的聚类M,反之,当时,则表示数据P为非正常数据库内的数据。
进一步的,步骤四中所述进入Snort误用检测的检测的数据利用改进K-means算法将数据与规则库进行相似性聚类,判断聚类结果。当时,则表示数据P为非正常数据库内的数据,将其送入Snort误用检测引擎,利用改进的K-means算法将数据P与Snort的规则库(即异常数据库)进行相似性聚类,当与任一聚类中心n的聚类相似度D(min)小于等于指定的聚类半径r时,即则判断该数据P是规则库中聚类中心为n所属的聚类N,反之,当时,则表示数据P为正常数据。
进一步的,步骤五中所述根据结果输出异常报警,或正常数据添加至正常行为数据库后更新数据库聚类结果。当则数据P归为异常数据库中的聚类N,利用Snort的报警模块发出相应的告警,反之,当时,则表示数据P为正常数据,将其添加至正常行为数据库后更新数据库聚类结果。
进一步的,所述将数据P添加至正常行为数据库后更新数据库聚类结果。当时,则表示数据P为正常数据,首先将收据P创建成一个新的聚类Q,将q作为其聚类中心,然后将Q添加至正常数据库,最后更新正常数据库的聚类中心。
本发明的优点及有益效果如下:
1、本发明通过在入侵检测系统Snort内加入聚类算法,通过多次使用聚类算法来提高Snort的检测效率即检测准确率,能够保证在当前大数据且网络环境复杂的情况下,即减少丢包率的同时又提高了准确率。
2、本发明改进的K-means算法,根据最优聚类中心的特性,把点的密度当作挑选依据很具有说服力;其次,避免了初选k个聚类中心选定的不稳定性;最后,排除了密度最小的10%个离群点作为聚类中心的可能,保证算法结果与理想聚类中心相近,大大的提高了聚类的准确性。
3、本发明的全程步骤都使用了聚类算法的改进,特别是在与正常数据库及异常数据库的相似性对比方面,正常数据库的对比可以是Snort的误用引擎减少绝大多数正常数据的检测,提高了检测效率,与异常数据库的对比,在聚类算法的作用下降低误报率和漏报率。最终提高了入侵检测系统的性能。
附图说明
图1是本发明提供优选实施例流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、详细地描述。所描述的实施例仅仅是本发明的一部分实施例。
本发明解决上述技术问题的技术方案是:
在本实施例中,一种基于数据挖掘算法的Snort改进方法是按如下步骤进行的。
步骤一:Snort系统获取网络上的数据P并指定聚类半径r
利用Snort网络嗅探器在网络上获取数据的同时,将正常数据库中的数据利用改进的K-means算法根据聚类半径r进行聚类。
其中改进K-means算法。利用K近邻非参概率密度算法与传统Kmeans聚类算法相结合,同时去除离群点,得出聚类准确率高的改进的K-means算法,具体步骤如下:
(1)对于空间数据集X={x1,...xi,...xn}内的任一点,通过K近邻非参概率密度估计样本的密度,得出点的概率密度估计值,所需公式如下(7),(8)所示:
其中di是K近邻距离,Xt为xi邻近的t个点的集合;
(2)将概率密度估计值进行从大到小排序,取n*0.9点的值作为阈值,低于阈值的点作为离群点,则X内密度最大的点c1即为首个聚类中心;
(3)计算每个样本与首个聚类中心c1的距离,用D1(x)表示;接着利用下列公式计算每个样本(离群点除外)被选为下一个聚类中心的概率Qi;最后,用轮盘法思想选择出第二个聚类中心;
(4)重复进行(3)步骤,即计算每个样本到被选出的聚类中心的最短距离D(x),再计算Qi,一个一个选择聚类中心,直到得到k个聚类中心;
(5):计算样本xi到各聚类中心c的欧式距离,将每个样本聚类至与其最近的聚类中心cj,形成k个聚类;
(6)重新计算k个聚类的平均聚类中心,以新的平均聚类中心替换原来的聚类中心;
(7)反复进行(5)(6)步骤,直到聚类中心c基本无变化或达到指定迭代次数后结束。
步骤二:利用改进K-means算法将P与正常行为数据库进行相似性聚类,判断聚类结果
利用改进的K-means算法将网络数据P与正常数据库各类进行相似性聚类,当与任一聚类中心m的聚类相似度d(min)小于等于指定的聚类半径r时,即则判断该数据P是正常数据库中聚类中心为m所属的聚类M,反之,当时,则表示数据P为非正常数据库内的数据。
步骤三:根据聚类结果判断是否跳过Snort误用检测
步骤四:进入Snort误用检测的检测的数据利用改进K-means算法将数据与规则库进行相似性聚类,判断聚类结果
当时,则表示数据P为非正常数据库内的数据,将其送入Snort误用检测引擎,利用改进的K-means算法将数据P与Snort的规则库(即异常数据库)进行相似性聚类,当与任一聚类中心n的聚类相似度D(min)小于等于指定的聚类半径r时,即则判断该数据P是规则库中聚类中心为n所属的聚类N,反之,当时,则表示数据P为正常数据。
步骤五:根据结果输出异常报警,或正常数据添加至正常行为数据库后更新数据库聚类结果
以上这些实施例应理解为仅用于说明本发明而不用于限制本发明的保护范围。在阅读了本发明的记载的内容之后,技术人员可以对本发明作各种改动或修改,这些等效变化和修饰同样落入本发明权利要求所限定的范围。
Claims (7)
1.一种基于数据挖掘算法的Snort改进方法,其特征在于,包括以下步骤:
步骤一:Snort系统获取网络上的数据P并指定聚类半径r;
步骤二:利用改进K-means算法将P与正常行为数据库进行相似性聚类,判断聚类结果;
步骤三:根据聚类结果判断是否跳过Snort误用检测;
步骤四:进入Snort误用检测的数据利用改进K-means算法将数据与规则库进行相似性聚类,判断聚类结果;
步骤五:根据结果输出异常报警,或正常数据添加至正常行为数据库后更新数据库聚类结果;
利用K近邻非参概率密度算法与传统Kmeans聚类算法相结合,同时去除离群点,得出聚类准确率高的改进的K-means算法,具体步骤如下:
(1)对于空间数据集X={x1,...xi,...xn}内的任一点,通过K近邻非参概率密度估计样本的密度,得出点的概率密度估计值,所需公式如下(1),(2)所示:
其中di是K近邻距离,Xt为xi邻近的t个点的集合;
(2)将概率密度估计值进行从大到小排序,取n*0.9点的值作为阈值,低于阈值的点作为离群点,则X内密度最大的点c1即为首个聚类中心;
(3)计算每个样本与首个聚类中心c1的距离,用D1(x)表示;接着利用下列公式计算每个样本被选为下一个聚类中心的概率Qi,该样本离群点除外;最后,用轮盘法思想选择出第二个聚类中心;
(4)重复进行(3)步骤,即计算每个样本到被选出的聚类中心的最短距离D(x),再计算Qi,一个一个选择聚类中心,直到得到k个聚类中心;
(5)计算样本xi到各聚类中心c的欧式距离,将每个样本聚类至与其最近的聚类中心cj,形成k个聚类;
(6)重新计算k个聚类的平均聚类中心,以新的平均聚类中心替换原来的聚类中心;
(7)反复进行(5)(6)步骤,直到聚类中心c基本无变化或达到指定迭代次数后结束。
2.根据权利要求1所述的一种基于数据挖掘算法的Snort改进方法,其特征在于,步骤一中具体为:利用Snort网络嗅探器在网络上获取数据的同时,将正常数据库中的数据利用改进的K-means算法根据聚类半径r进行聚类。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010011027.6A CN111224984B (zh) | 2020-01-06 | 2020-01-06 | 一种基于数据挖掘算法的Snort改进方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010011027.6A CN111224984B (zh) | 2020-01-06 | 2020-01-06 | 一种基于数据挖掘算法的Snort改进方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111224984A CN111224984A (zh) | 2020-06-02 |
CN111224984B true CN111224984B (zh) | 2022-01-11 |
Family
ID=70828075
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010011027.6A Active CN111224984B (zh) | 2020-01-06 | 2020-01-06 | 一种基于数据挖掘算法的Snort改进方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111224984B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112311803B (zh) * | 2020-11-06 | 2023-02-24 | 杭州安恒信息技术股份有限公司 | 一种规则库更新方法、装置、电子设备及可读存储介质 |
CN112738018A (zh) * | 2020-11-30 | 2021-04-30 | 南方电网数字电网研究院有限公司 | Arp欺骗攻击检测方法、装置、计算机设备和存储介质 |
CN113516162A (zh) * | 2021-04-26 | 2021-10-19 | 湖南大学 | 一种基于OCSVM和K-means算法的工控系统流量异常检测方法与系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104811452A (zh) * | 2015-04-30 | 2015-07-29 | 北京科技大学 | 一种基于数据挖掘的自学习分级预警入侵检测系统 |
CN109522926A (zh) * | 2018-09-28 | 2019-03-26 | 南京航空航天大学 | 基于信息熵聚类的异常检测方法 |
CN110149347A (zh) * | 2019-06-18 | 2019-08-20 | 中国刑事警察学院 | 利用拐点半径实现动态自适应聚类的网络入侵检测方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7017186B2 (en) * | 2002-07-30 | 2006-03-21 | Steelcloud, Inc. | Intrusion detection system using self-organizing clusters |
-
2020
- 2020-01-06 CN CN202010011027.6A patent/CN111224984B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104811452A (zh) * | 2015-04-30 | 2015-07-29 | 北京科技大学 | 一种基于数据挖掘的自学习分级预警入侵检测系统 |
CN109522926A (zh) * | 2018-09-28 | 2019-03-26 | 南京航空航天大学 | 基于信息熵聚类的异常检测方法 |
CN110149347A (zh) * | 2019-06-18 | 2019-08-20 | 中国刑事警察学院 | 利用拐点半径实现动态自适应聚类的网络入侵检测方法 |
Non-Patent Citations (1)
Title |
---|
分布式MVC-Kmeans算法设计与实现;汪晶,邹学玉,喻维明,孙咏;《长江大学学报》;20190630;第16卷(第6期);说明书113-119页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111224984A (zh) | 2020-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Liang et al. | An industrial network intrusion detection algorithm based on multifeature data clustering optimization model | |
CN111224984B (zh) | 一种基于数据挖掘算法的Snort改进方法 | |
KR102279983B1 (ko) | 딥러닝 알고리즘을 이용한 비지도 방식의 네트워크 침입 탐지 방법 및 이를 실행하기 위한 프로그램이 기록된 기록매체 | |
CN113821793B (zh) | 基于图卷积神经网络的多阶段攻击场景构建方法及系统 | |
CN111709022B (zh) | 基于ap聚类与因果关系的混合报警关联方法 | |
CN110113368B (zh) | 一种基于子轨迹模式的网络行为异常检测方法 | |
Garg et al. | HyClass: Hybrid classification model for anomaly detection in cloud environment | |
CN110825545A (zh) | 一种云服务平台异常检测方法与系统 | |
KR20210115991A (ko) | 시계열 데이터 분석을 이용한 네트워크 이상징후 탐지 방법 및 장치 | |
CN114372530A (zh) | 一种基于深度自编码卷积网络的异常流量检测方法及系统 | |
CN115378733A (zh) | 一种基于动态图嵌入的多步攻击场景构建方法及系统 | |
CN116915450A (zh) | 基于多步网络攻击识别和场景重构的拓扑剪枝优化方法 | |
Zhang et al. | Network intrusion detection based on active semi-supervised learning | |
CN117240632B (zh) | 一种基于知识图谱的攻击检测方法和系统 | |
Marchetti et al. | Framework and models for multistep attack detection | |
CN112422546A (zh) | 一种基于变邻域算法和模糊聚类的网络异常检测方法 | |
CN111901137A (zh) | 一种利用蜜罐告警日志挖掘多步攻击场景的方法 | |
Wang et al. | Bitstream protocol classification mechanism based on feature extraction | |
CN115277178A (zh) | 基于企业网网络流量的异常监测方法、装置及存储介质 | |
Alhaidari et al. | Hybrid learning approach of combining cluster-based partitioning and hidden markov model for iot intrusion detection | |
CN114301719A (zh) | 一种基于变分自编码器的恶意更新检测方法及模型 | |
Jiang et al. | A novel multi-classification intrusion detection model based on relevance vector machine | |
Tian et al. | Few-Shot Learning-Based Network Intrusion Detection through an Enhanced Parallelized Triplet Network | |
Lee et al. | Monsieur poirot: Detecting botnets using re-identification algorithm and nontrivial feature selection technique | |
Ze-Dong et al. | Network Anomaly Detection based on Traffic Clustering with Group-Entropy Similarity |
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 |