一种基于数据挖掘算法的Snort改进方法技术

技术编号:24362463 阅读:36 留言:0更新日期:2020-06-03 03:58
本发明专利技术涉及一种基于数据挖掘算法的Snort改进方法。该方法包括:入侵检测Snort系统获取网络上的数据P;利用改进后的K‑means算法将P与正常行为数据库进行相似性聚类,若相似度小于聚类半径r即判断为正常数据,直接跳过Snort的误用检测过程;反之,则再次与Snort中的异常数据库做对比,计算数据与各异常行为类的相似度,若能聚到异常行为类中,则表明其为异常数据类型,系统发出相应的报警;若仍然不能聚到异常类中,则将其添加至正常数据库,重新更新正常行为数据库。网络上数据有很大部分都是正常数据,异常数据只占有小部分,且改进后的K‑means算法聚类准确率高,经过上述方式处理,会大大减少误用检测引擎所处理的数据,从而提高了Snort系统的整体检测准确率和效率。

An improved snort method based on data mining algorithm

【技术实现步骤摘要】
一种基于数据挖掘算法的Snort改进方法
本专利技术属于信息安全
,涉及一种基于数据挖掘算法的Snort改进方法。
技术介绍
随着网络的迅速发展,“互联网+”模式得到了广泛应用。与此同时,网络入侵技术也在发展,互联网和信息通信网络的安全形势更加严峻,产生的蓄意攻击和破坏造成的影响更加广泛。面对复杂多样的攻击手段,传统的数据库安全机制显得有些乏力。而入侵检测是新一代的安全防卫技术,IDSSnort是一种网络入侵检测系统(NetworkIntrusionDetectionSystem.NIDS),在业内具有很重要的地位,特别是在国内安全行业,其所用的规则语法更是被作为业界标准;Snort是一个易于扩展的开源NIDS,使用灵活,占用资源少,但是在入侵检测方面功能很强大,它能够实时的进行网络数据流量的分析,并且通过其检测引擎模块检测各种入侵或攻击;Snort不仅支持多种硬件平台,而且能够在Windows、Linux等多种操作系统上安装运行;此外,Snort自身已经定义了一些动态加载的检测规则,并且用户可自行移除或添加规则而无须更改核心程序。综合这些优点,Snort成为了目前主流的且最受欢迎的IDS,在入侵检测技术竞争中占据优势。但是Snort在入侵检测技术方面采用的是传统的规则匹配模式,在当前的大数据环境下,此模式匹配效率限制了Snort的检测能力。而聚类算法的出现很好的解决了对大量信息有效管理困难的问题,本文引入最常用的聚类算法——Kmeans算法对Snort的核心模块——检测引擎模块进行改进。但Kmeans算法由于其初始聚类中心k的随机性,导致其聚类结果不准确,一直被人们所诟病。故针对Kmeans算法核心问题进行改进,使其更好的提高IDSSnort的检测效率。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种基于数据挖掘算法的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误用检测。当时,将数据P归为正常数据库中的聚类M,直接跳出Snort的误用检测引擎。进一步的,步骤四中所述进入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改进方法,其特征在于,包括以下步骤:/n步骤一:Snort系统获取网络上的数据P并指定聚类半径r;/n步骤二:利用改进K-means算法将P与正常行为数据库进行相似性聚类,判断聚类结果;/n步骤三:根据聚类结果判断是否跳过Snort误用检测;/n步骤四:进入Snort误用检测的数据利用改进K-means算法将数据与规则库进行相似性聚类,判断聚类结果;/n步骤五:根据结果输出异常报警,或正常数据添加至正常行为数据库后更新数据库聚类结果。/n

【技术特征摘要】
1.一种基于数据挖掘算法的Snort改进方法,其特征在于,包括以下步骤:
步骤一:Snort系统获取网络上的数据P并指定聚类半径r;
步骤二:利用改进K-means算法将P与正常行为数据库进行相似性聚类,判断聚类结果;
步骤三:根据聚类结果判断是否跳过Snort误用检测;
步骤四:进入Snort误用检测的数据利用改进K-means算法将数据与规则库进行相似性聚类,判断聚类结果;
步骤五:根据结果输出异常报警,或正常数据添加至正常行为数据库后更新数据库聚类结果。


2.根据权利要求1所述的一种基于数据挖掘算法的Snort改进方法,其特征在于,步骤一中所述具体为:利用Snort网络嗅探器在网络上获取数据的同时,将正常数据库中的数据利用改进的K-means算法根据聚类半径r进行聚类。


3.根据权利要求2所述的一种基于数据挖掘算法的Snort改进方法,其特征在于,利用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到各聚类...

【专利技术属性】
技术研发人员:张功国李恩燕
申请(专利权)人:重庆邮电大学重庆信科设计有限公司
类型:发明
国别省市:重庆;50

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1