一种混合入侵检测系统及方法与流程

文档序号:18329243发布日期:2019-08-03 11:52阅读:193来源:国知局
一种混合入侵检测系统及方法与流程

本发明涉及网络安全领域,特别是涉及一种混合入侵检测系统及方法。



背景技术:

入侵检测是指对已经实施、正在实施或试图实施的入侵行为的发现和识别,即收集系统与网络中的诸多关键点信息(行为特征),并利用一定手段处理这些信息,以此判定是否受到攻击以及是否背离了现有安全策略。

传统的入侵检测技术一般采用误用入侵检测与异常入侵检测两种处理方法。误用入侵检测是先将所有可能发生的不利的、不可接受的行为归纳建立一个模型,凡是符合这个模型的访问行为将被判定为入侵;异常入侵检测则是先构建一个正常访问行为的系统模型,凡是不符合这个模型的访问将判定为入侵。误用入侵检测能够检测出绝大部分已知的入侵行为,但对于未知的入侵行为或已知入侵方法的变异却难以检测出来,并且把入侵活动用模式来描述也非常困难,而且很难检测出内部用户的攻击或误用;而异常入侵检测尽管具有检测未知入侵的能力,但其实际应用中误检率和漏检率较高,严重影响入侵检测结果。



技术实现要素:

本发明提供一种混合入侵检测系统及方法,用以解决现有技术的入侵检测算法检测准确率较低,影响入侵检测结果的问题。

为解决上述技术问题,一方面,本发明提供一种混合入侵检测系统,包括:第一异常检测模块,用于检测网络行为是否为异常行为,并输出第一检测结果;第二异常检测模块,用于在所述第一异常检测模块输出的第一检测结果为异常行为的情况下,检测所述第一异常检测模块输出的第一检测结果是否为误报,在所述第一异常检测模块输出的第一检测结果是误报的情况下,输出所述网络行为为正常行为的第二检测结果,在所述第一异常检测模块输出的第一检测结果不是误报的情况下,输出所述网络行为为异常行为的第二检测结果;误用检测模块,用于在所述第一异常检测模块输出的第一检测结果为正常行为的情况下,检测所述网络行为是否为与正常行为相似的异常行为,在所述网络行为是与正常行为相似的异常行为的情况下,输出所述网络行为为异常行为的第三检测结果,在所述网络行为不是与正常行为相似的异常行为的情况下,输出所述网络行为为正常行为的第三检测结果。

进一步,所述第一异常检测模块,具体用于:建立正常行为模型;根据上述正常行为模型检测所述网络行为是否为异常行为。

进一步,所述第二异常检测模块,具体用于:根据K邻近分类算法检测所述网络行为是否为异常行为;在所述网络行为为正常行为的情况下,所述第一异常检测模块输出的第一检测结果是误报,输出所述网络行为为正常行为的第二检测结果;在所述网络行为为异常行为的情况下,所述一异常检测模块输出的第一检测结果不是误报,输出所述网络行为为异常行为的第二检测结果。

进一步,所述误用检测模块,具体用于:根据预设时间段内用户的行为模式构建用户行为模式集;检测所述用户行为模式集中是否存在与所述网络行为相同或相似的行为模式;在所述用户行为模式集中存在与所述网络行为相同或相似的行为模式的情况下,所述网络行为不是与正常行为相似的异常行为,输出所述网络行为为正常行为的第三检测结果;在所述用户行为模式集中不存在与所述网络行为相同或相似的行为模式的情况下,所述网络行为是与正常行为相似的异常行为,输出所述网络行为为异常行为的第三检测结果。

进一步,所述网络行为至少包括以下之一:网页浏览行为、评论行为、系统交互行为、跨网交换行为、社交协作行为、文件访问行为。

另一方面,本发明还提供一种混合入侵检测方法,包括:S1,检测网络行为是否为异常行为,并输出第一检测结果,在所述第一异常检测模块输出的第一检测结果为异常行为的情况下,执行步骤S2,在所述第一异常检测模块输出的第一检测结果为正常行为的情况下,执行步骤S3;S2,检测所述第一异常检测模块输出的第一检测结果是否为误报,在所述第一异常检测模块输出的第一检测结果是误报的情况下,输出所述网络行为为正常行为的第二检测结果,在所述第一异常检测模块输出的第一检测结果不是误报的情况下,输出所述网络行为为异常行为的第二检测结果;S3,检测所述网络行为是否为与正常行为相似的异常行为,在所述网络行为是与正常行为相似的异常行为的情况下,输出所述网络行为为异常行为的第三检测结果,在所述网络行为不是与正常行为相似的异常行为的情况下,输出所述网络行为为正常行为的第三检测结果。

进一步,所述检测网络行为是否为异常行为,包括:建立正常行为模型;根据上述正常行为模型检测所述网络行为是否为异常行为。

进一步,所述步骤S2,包括:根据K邻近分类算法检测所述网络行为是否为异常行为;在所述网络行为为正常行为的情况下,所述第一异常检测模块输出的第一检测结果是误报,输出所述网络行为为正常行为的第二检测结果;在所述网络行为为异常行为的情况下,所述一异常检测模块输出的第一检测结果不是误报,输出所述网络行为为异常行为的第二检测结果。

进一步,所述步骤S3,包括:根据预设时间段内用户的行为模式构建用户行为模式集;检测所述用户行为模式集中是否存在与所述网络行为相同或相似的行为模式;在所述用户行为模式集中存在与所述网络行为相同或相似的行为模式的情况下,所述网络行为不是与正常行为相似的异常行为,输出所述网络行为为正常行为的第三检测结果;在所述用户行为模式集中不存在与所述网络行为相同或相似的行为模式的情况下,所述网络行为是与正常行为相似的异常行为,输出所述网络行为为异常行为的第三检测结果。

进一步,所述网络行为至少包括以下之一:网页浏览行为、评论行为、系统交互行为、跨网交换行为、社交协作行为、文件访问行为。

本发明采用基于网络行为的两层混合入侵检测方式,第一异常检测模块作为第一检测阶段,第二异常检测模块和误用检测模块作为第二检测阶段,利用两个检测阶段紧密配合,第二检测阶段的两个检测模块对第一检测阶段的检测模块的检测结果进行二次识别,进而识别出第一检测阶段的检测结果中存在的误报和漏报情况,进一步提升了整体入侵检测的准确率。

附图说明

图1是本发明第一实施例中混合入侵检测系统的结构示意图;

图2是本发明第二实施例中混合入侵检测方法的流程图。

具体实施方式

为了解决现有技术的入侵检测算法检测准确率较低,影响入侵检测结果的问题,本发明提供了一种混合入侵检测系统及方法,以下结合附图以及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不限定本发明。

本发明的第一实施例提供了一种混合入侵检测系统,其结构示意图如图1所示,主要包括:第一异常检测模块100,用于检测网络行为是否为异常行为,并输出第一检测结果;第二异常检测模块200,与第一异常检测模块100耦合,用于在第一异常检测模块输出的第一检测结果为异常行为的情况下,检测第一异常检测模块输出的第一检测结果是否为误报,在第一异常检测模块输出的第一检测结果是误报的情况下,输出网络行为为正常行为的第二检测结果,在第一异常检测模块输出的第一检测结果不是误报的情况下,输出网络行为为异常行为的第二检测结果;误用检测模块300,与第一异常检测模块100耦合,用于在第一异常检测模块输出的第一检测结果为正常行为的情况下,检测网络行为是否为与正常行为相似的异常行为,在网络行为是与正常行为相似的异常行为的情况下,输出网络行为为异常行为的第三检测结果,在网络行为不是与正常行为相似的异常行为的情况下,输出网络行为为正常行为的第三检测结果。

在本实施例中,第一异常检测模块100作为入侵检测的第一检测阶段,其检测结果是第二检测阶段的检测基础,第二异常检测模块200和误用检测模块300作为入侵检测的第二检测阶段,是对第一检测阶段的检测结果进行的二次识别,通过与第一异常检测模块100不同的检测算法,能够准确识别出第一检测阶段产生的误报和漏报等影响入侵检测结果的网络行为,进一步提升入侵检测结果的准确率。

网络行为主要包括用户在网上进行网页(Web)浏览、用户评论、系统交互、跨网交换、社交协作、文件访问等内容相关的行为和网络流等内容无关的行为中的任意一种或几种。上述任意一种网络行为均可以作为入侵行为,侵犯用户计算机系统的安全性。本实施例中基于网络行为的入侵检测系统,是根据网络行为的特征和模型进行判别,以检测异常的用户行为,对于网络用户异常行为检测,采用误用检测和异常检测相结合的方法。误用检测是指通过异常行为的特征库,采用特征匹配的方法确定异常事件,其优点是检测的误报率低、检测快,但误用检测通常不能发现异常事件特征库中没有事先指定的异常行为,所以无法检测层出不穷的新异常。异常检测是指对用户正常的行为习惯进行建模,然后将用户当前的网络行为特征与行为模型库中的特征进行比较,如果两者的偏差足够大,则说明发生了异常,然后更新网络异常特征库。

本实施例涉及的异常检测算法主要包括两种,均为基于机器学习的异常检测算法,一种是第一异常检测模块100使用的基于簇中心位置变化的异常检测方法(NADCP),另一种是第二异常检测模块200使用的基于K近邻的异常检测算法。具体地,第一异常检测模块100在进行网络行为检测时,首先需要建立用户的正常行为模型,然后根据正常行为模型与当前的网络行为进行分析检测,以确定网络行为是否为异常行为,最后再将检测结果作为第一检测结果,根据第一检测结果的内容,送往第二检测阶段进行二次识别。

进一步地,第一异常检测模块100在建立用户的正常行为模型时,主要通过k-means算法对包含n个正常样本的样本集X进行聚类,提取所得簇的簇中心c1,c2,…,ck,以簇所包含样本数量为依据(簇包含样本数量大于n的1%),从中选择m(m≤k)个簇中心c1,c2,…,cm作为X的参考样本;随后,通过结合过采样的“增加一个样本”策略,计算中每个样本相对其实际参考样本(距离最近的簇中心)的离群程度分值di并进行排序;最后,通过数值β在离群程度分值序列di(1≤i≤n)上找到相应排名的离群程度分值,并将其设定为异常阈值τ。通过X中离群程度分值di小于τ的正常样本建立正常行为模型。在第一异常检测模块100建立正常行为模型后,进行网络行为的攻击检测,即网络行为是否为异常行为的检测,首先,寻找待检测样本xi(即当前待检测的网络行为)在X中的实际参考样本;然后通过结合过采样的“增加一个样本”策略,计算待检测样本xi相对于其实际参考样本的离群程度分值di;最后通过di和异常阈值τ判定xi为正常还是异常。

在第一检测结果的内容表示网络行为为异常行为的情况下,由第二异常检测模块200进行第一检测结是否为误报的判断,以提升入侵检测结果的准确率。具体地,第二异常检测模块200通过K邻近分类算法进行网络行为是否为异常行为的检测,在网络行为为正常行为的情况下,第一异常检测模块输出的第一检测结果是误报,输出网络行为为正常行为的第二检测结果;在网络行为为异常行为的情况下,一异常检测模块输出的第一检测结果不是误报,输出网络行为为异常行为的第二检测结果。

第二异常检测模块200首先在训练集中寻找待分类样本的ki个最近邻样本,然后依据这ki个最近邻样本的类标签,通过多数投票方法来预测待分类样本的类别。由于误报的本质是被错误识别的正常样本第二异常检测模块200仅使用正常样本集合来构建该k-NN模型(即K邻近分类模型)。不同于NADCP使用欧几里德距离来衡量样本间的相似度,第二异常检测模块200检测模型均使用余弦(cosine)来作为衡量样本间相似度大小的指标,从而使相似度的值域为[0,1]。两个特征向量xi和xj的余弦相似度cos(xi,xj)的计算方法如下:

公式中“·”代表对两个特征向量进行点积运算。假定X'为一个包含了n'个正常样本的样本集,即X'=[x1,x2,…,xn'],xi为待检测样本,本实施例构建的k-NN模块将通过公式(1)计算xi与X'中各样本xi(1≤i≤n')的余弦相似度,若xi与X'中某个样本xj的余弦相似度等于1(即cos(xi,xj)=1),则意味着xi与xj完全匹配,进而可以直接将xi判定为正常行为。否则,将从X'包含的n'个样本中找出与xi余弦相似度最高的k'个样本,再计算xi与这k'个样本的平均余弦相似度。若该平均相似度大于一个预定的相似度阈值(通常取一个较大的值,如0.99),则将xi判定为正常行为;若xi未被该k-NN模块判定为正常行为(对应误报),则xi被最终判定为异常行为。

在第一检测结果的内容表示网络行为为正常行为的情况下,由误用检测模块300进行该网络行为是否为与正常行为相似的异常行为,以对第一检测结果进行二次识别检测。具体地,误用检测模块300首先根据用户在预设时间段内的行为模式构建用户行为模式集;随后检测用户行为模式集中是否存在与网络行为相同或相似的行为模式;在用户行为模式集中存在与网络行为相同或相似的行为模式的情况下,证明该网络行为不是与正常行为相似的异常行为,最终输出网络行为为正常行为的第三检测结果;在用户行为模式集中不存在与网络行为相同或相似的行为模式的情况下,证明网络行为是与正常行为相似的异常行为,最终输出网络行为为异常行为的第三检测结果。

在误用检测模块300进行模式集构建阶段,用户会话行为构建是以划分的时间片为基础进行的,将预设的时间段划分为多个时间片进行构建用户行为模式集;但是在模式匹配阶段,网络数据流实时到达,此时需要以滑动窗口为基础进行用户会话序列构建。在用户单会话模式匹配阶段,在给定时间较短的滑动窗口W内,一个用户会话Ii发生可描述为其中Ii是用户会话标识,代表该会话所属模式,为用户会话Ii的会话发生频度F取值,F是统计会话发生的频率次数,其值域为{zero,few,many},NUM表示会话Ii在滑动窗口W中的发生次数,的取值应为当Ii发生次数为NUM时支持度最大的值。比如,若会话a在W中发生6次,此时zero支持度为zero(6)=0,few支持度为few(6)=0.1,many支持度为many(6)=0.9,则会话a发生频度F取值应为many,会话a发生描述为(a,many)。

对滑动窗口W中每种会话的发生进行描述后,即可得到用户在该滑动窗口中的会话序列L,用户会话序列L的匹配过程即是从该用户的会话序列模式集MTX中找到与之相匹配模式的过程,如果存在,则匹配成功,输出匹配的会话模糊时序关联模式标识,证明当前网络行为是符合用户行为特征的正常行为,由误用检测模块300最终输出网络行为为正常行为的结果;若不存在则匹配失败,证明当前网络行为是不符合用户行为特征的异常行为,由误用检测模块300最终输出网络行为为异常行为的结果。

本实施例采用基于网络行为的两层混合入侵检测方式,第一异常检测模块作为第一检测阶段,第二异常检测模块和误用检测模块作为第二检测阶段,利用两个检测阶段紧密配合,第二检测阶段的两个检测模块对第一检测阶段的检测模块的检测结果进行二次识别,进而识别出第一检测阶段的检测结果中存在的误报和漏报情况,进一步提升了整体入侵检测的准确率。

本发明的第二实施例提供了一种混合入侵检测方法,其流程图如图2所示,主要包括步骤S1至S3:

S1,检测网络行为是否为异常行为,并输出第一检测结果,在第一异常检测模块输出的第一检测结果为异常行为的情况下,执行步骤S2,在第一异常检测模块输出的第一检测结果为正常行为的情况下,执行步骤S3;

S2,检测第一异常检测模块输出的第一检测结果是否为误报,在第一异常检测模块输出的第一检测结果是误报的情况下,输出网络行为为正常行为的第二检测结果,在第一异常检测模块输出的第一检测结果不是误报的情况下,输出网络行为为异常行为的第二检测结果;

S3,检测网络行为是否为与正常行为相似的异常行为,在网络行为是与正常行为相似的异常行为的情况下,输出网络行为为异常行为的第三检测结果,在网络行为不是与正常行为相似的异常行为的情况下,输出网络行为为正常行为的第三检测结果。

在本实施例中,S1作为入侵检测的第一检测阶段,其检测结果是第二检测阶段的检测基础,S2和S3作为入侵检测的第二检测阶段,是对第一检测阶段的检测结果进行的二次识别,通过与第一异常检测模块不同的检测算法,能够准确识别出第一检测阶段产生的误报和漏报等影响入侵检测结果的网络行为,进一步提升入侵检测结果的准确率。

网络行为主要包括用户在网上进行网页(Web)浏览、用户评论、系统交互、跨网交换、社交协作、文件访问等内容相关的行为和网络流等内容无关的行为中的任意一种或几种。上述任意一种网络行为均可以作为入侵行为,侵犯用户计算机系统的安全性。本实施例中基于网络行为的入侵检测方法,是根据网络行为的特征和模型进行判别,以检测异常的用户行为,对于网络用户异常行为检测,采用误用检测和异常检测相结合的方法。

具体地,在进行网络行为检测时,首先需要建立用户的正常行为模型,然后根据正常行为模型与当前的网络行为进行分析检测,以确定网络行为是否为异常行为,最后再将检测结果作为第一检测结果,根据第一检测结果的内容,送往第二检测阶段进行二次识别。

在第一检测结果的内容表示网络行为为异常行为的情况下,由第二异常检测模块进行第一检测结是否为误报的判断,以提升入侵检测结果的准确率。具体地,步骤S2通过K邻近分类算法进行网络行为是否为异常行为的检测,在网络行为为正常行为的情况下,第一异常检测模块输出的第一检测结果是误报,输出网络行为为正常行为的第二检测结果;在网络行为为异常行为的情况下,一异常检测模块输出的第一检测结果不是误报,输出网络行为为异常行为的第二检测结果。

在第一检测结果的内容表示网络行为为正常行为的情况下,步骤S3由误用检测模块进行该网络行为是否为与正常行为相似的异常行为,以对第一检测结果进行二次识别检测。具体地,首先根据用户在预设时间段内的行为模式构建用户行为模式集;随后检测用户行为模式集中是否存在与网络行为相同或相似的行为模式;在用户行为模式集中存在与网络行为相同或相似的行为模式的情况下,证明该网络行为不是与正常行为相似的异常行为,最终输出网络行为为正常行为的第三检测结果;在用户行为模式集中不存在与网络行为相同或相似的行为模式的情况下,证明网络行为是与正常行为相似的异常行为,最终输出网络行为为异常行为的第三检测结果。

本实施例采用基于网络行为的两层混合入侵检测方式,第一异常检测模块作为第一检测阶段,第二异常检测模块和误用检测模块作为第二检测阶段,利用两个检测阶段紧密配合,第二检测阶段的两个检测模块对第一检测阶段的检测模块的检测结果进行二次识别,进而识别出第一检测阶段的检测结果中存在的误报和漏报情况,进一步提升了整体入侵检测的准确率。

尽管为示例目的,已经公开了本发明的优选实施例,本领域的技术人员将意识到各种改进、增加和取代也是可能的,因此,本发明的范围应当不限于上述实施例。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1