CN103870751B - 入侵检测方法及系统 - Google Patents

入侵检测方法及系统 Download PDF

Info

Publication number
CN103870751B
CN103870751B CN201210550074.3A CN201210550074A CN103870751B CN 103870751 B CN103870751 B CN 103870751B CN 201210550074 A CN201210550074 A CN 201210550074A CN 103870751 B CN103870751 B CN 103870751B
Authority
CN
China
Prior art keywords
cluster
value
training sample
comprised
clusters
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
Application number
CN201210550074.3A
Other languages
English (en)
Other versions
CN103870751A (zh
Inventor
王强
鞠康
展俊云
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Mobile Group Shandong Co Ltd
Original Assignee
China Mobile Group Shandong Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Mobile Group Shandong Co Ltd filed Critical China Mobile Group Shandong Co Ltd
Priority to CN201210550074.3A priority Critical patent/CN103870751B/zh
Publication of CN103870751A publication Critical patent/CN103870751A/zh
Application granted granted Critical
Publication of CN103870751B publication Critical patent/CN103870751B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种入侵检测方法及系统,通过图划分方法对测试样本集合进行聚类分析,然后利用训练样本集合来确定对测试样本集合进行聚类分析而得到的聚簇的行为类别,从而实现了对测试样本集合的行为类别的确定。由于对测试样本集合的行为类别的确定过程并不完全依赖于训练样本集合所包含的训练样本所属的行为类别,因此采用本发明实施例提供的方案能够发现新的行为类别。

Description

入侵检测方法及系统
技术领域
本发明涉及入侵检测技术领域,尤其涉及一种入侵检测方法及系统。
背景技术
Internet为资源的共享与信息的交流提供了高效而便捷的全新方式,但同时它也被占有、偷窃、甚至毁坏他人的计算机信息系统资源的入侵者所利用,使得网络中的信息资源面临着严重的安全威胁。为了保证网络信息系统的安全,人们从很多方面都采取了一定的措施,该些措施共同构成了网络安全防御体系。
入侵检测(Intrusion Detection)技术是网络安全防御体系的一种核心技术。它通过运用一些自治和智能的工具对计算机系统或计算机网络中的若干关键点信息进行收集和分析,并检测其中是否有违反安全策略的攻击企图、攻击行为或攻击结果,从而实现对系统或网络资源的实时保护。该技术是由静态防护转化为动态防护的关键,也是强制执行安全策略的有力工具。
传统的入侵检测大多基于数据挖掘及机器学习方法,大致有以下几种基本思想:
一种是把入侵检测看作是一个模式识别问题,即根据网络流量特征(目的地址、源地址、目的端口号、源端口号、传输协议、发送字节数、TCP选项等)和主机审计记录(CPU利用率、I/O利用率、文件访问、用户命令调用序列)等来区分系统的正常行为和异常行为,即可以看做是一个典型的分类问题。特别地,在训练样本是不均衡的未标定数据集时,入侵检测又可视为一个孤立点发现或样本密度估计问题。统计机器学习理论为解决这类问题提供了大量的方法,如k近邻算法、聚类、模式匹配、支持向量机、神经网络等。
另一种则是把入侵检测视为一个知识表示和规则提取问题。在用于实现入侵检测的入侵检测系统中,实际的数据源往往具有多变性、不同质、高维数等特性,这就使得在高速网络环境下采集的数据通常构成的是一个多属性、非线性的海量数据集。在这种情况下,可以通过基于符号的归纳机器学习方法(如决策树、粗糙集等)对该数据集进行约简处理,得到面向用户的数据的简洁表示,并提取出正常行为的规则,从而完成异常检测。机器学习方法则可以被看作一个搜索问题,即按照一定的搜索策略在假设集中完成对学习目标的搜索问题。从这种观点出发,入侵检测可视为基于训练样本集,按照既定的搜索策略对目标函数的搜索或逼近问题,通过学习,期望得到表示目标函数的最优解的过程。遗传和进化机器学习为完成这种类型的学习问题提供了有力的工具。
面对目前越来越频繁出现的分布式、多目标、多阶段的组合式网络攻击和黑客行为,采用多节点、分布式、可伸缩性的入侵检测体系结构已成为必然的趋势。网络攻击手段的多样化、攻击的分布式和自动化迫使入侵检测系统必须动态地适应网络环境的变化,这样的要求和增强机器学习方法的本质一致。增强机器学习方法,特别是多Agent系统学习方法在大型入侵检测系统中得到了广泛的应用,它充分利用了Agent的自治性、反应性、移动性、协作性和智能性。
由于入侵检测和机器学习方法之间存在较密切的关系,因此在实际使用中,可以将多种机器学习方法结合起来将取得更好的效果,但同时,还应该首先保证入侵检测系统的正确性,其次保证其实时性。因为只有检测正确,才能获得准确的入侵信息,从而更好的保护网络的安全;而只有检测速度快,才能及时处理网络中传输的海量数据,而不会产生因为速度慢而丢失信息、造成漏警的情况,并更能保证及时的采取相应措施,将入侵带来的损失降到最低。
以下具体介绍基于机器学习方法的各种入侵检测在正确性和实时性等方面的特点:
现有的基于机器学习方法的入侵检测可以分为基于监督学习方法的入侵检测、基于无监督学习方法的入侵检测和基于半监督学习方法的入侵检测三种。
针对基于监督学习方法的入侵检测而言,首先需要对足够多的带有类别标注的训练样本进行学习,这不仅需要花费大量的人力对足够多的训练样本进行类别标注,耗费大量的机器学习时间获得学习模型,而且检测的范围只能局限于训练样本所标注的类别范围内,不能检测出新的行为类别(如攻击类型的行为类别等);而且在入侵检测过程中,正常数据的数量通常远远大于异常数据的数量,这种数据集失衡的情况对学习模型的质量也有很大的影响。而对于基于无监督学习方法的入侵检测而言,其检测精度明显低于基于监督学习方法的入侵检测,而且入侵检测结果的准确性很大程度上取决于人工设定的相关参数(如聚类的类别数目)。
在现有技术中,如何在训练数据稀缺且正常数据和入侵数据比例失衡的现实网络环境下,既能保证入侵检测的效率(即保证高检测率和低误报率),降低入侵检测结果对人工的依赖程度,又能根据样本的实际分布情况进行入侵检测,并发现新的攻击类型,成为当前的研究热点。
发明内容
本发明实施例提供一种入侵检测方法及系统,用以解决现有技术中采用的入侵检测方法不能检测出新的行为类别的问题。
本发明实施例采用以下技术方案:
一种入侵检测方法,包括:入侵检测系统获得输入的入侵检测数据集合,其中,所述入侵检测数据集合由训练样本集合和测试样本集合构成,所述训练样本集合由分别对应于不同行为类别的训练样本簇构成,所述测试样本集合由待检测样本构成;基于图划分方法,确定所述测试样本集合所包含的由待检测样本构成的各个聚簇;针对每个所述聚簇,执行下述操作:
确定用于表征该聚簇与不同训练样本簇之间的相对互连程度的各相对互连度值和用于表征该聚簇与不同训练样本簇之间的相对紧密程度的各相对紧密度值;并根据所述测试样本集合所包含的聚簇的总个数、所述训练样本集合所包含的训练样本簇对应的行为类别的数目,以及确定的各相对互连度值和各相对紧密度值,确定该聚簇的行为类别。
一种入侵检测系统,包括:数据集合获得单元,用于获得输入的入侵检测数据集合,其中,所述入侵检测数据集合由训练样本集合和测试样本集合构成,所述训练样本集合由分别对应于不同行为类别的训练样本簇构成,所述测试样本集合由待检测样本构成;聚簇确定单元,用于基于图划分方法,确定数据集合获得单元获得的所述测试样本集合所包含的由待检测样本构成的各个聚簇;行为类别确定单元,用于针对聚簇确定单元确定的每个所述聚簇,执行:确定用于表征该聚簇与不同训练样本簇之间的相对互连程度的各相对互连度值和用于表征该聚簇与不同训练样本簇之间的相对紧密程度的各相对紧密度值;并根据所述测试样本集合所包含的聚簇的总个数、所述训练样本集合所包含的训练样本簇对应的行为类别的数目,以及确定的各相对互连度值和各相对紧密度值,确定该聚簇的行为类别。
本发明实施例的有益效果如下:
本发明实施例提供的上述方案通过图划分方法对测试样本集合进行聚类分析,然后利用训练样本集合来确定对测试样本集合进行聚类分析而得到的聚簇的行为类别,从而实现了对测试样本集合的行为类别的确定。由于对测试样本集合的行为类别的确定过程并不完全依赖于训练样本集合所包含的训练样本所属的行为类别,因此采用本发明实施例提供的方案能够发现新的行为类别。
本发明实施例提供的方案将LDA主题模型引入入侵检测过程中,根据潜在主题的分布情况和潜在主题的属性特征的分布情况对入侵检测数据进行特征选择,可以获得更符合网络特征的高质量的属性特征,减少数据冗余,提高入侵检测的效率。
附图说明
图1为本发明实施例提供的一种入侵检测方法的具体流程示意图;
图2a为实际应用中基于LDA模型和图划分方法的入侵检测方法的具体流程示意图;
图2b为本发明实施例中的步骤23的具体实现过程示意图;
图2c为本发明实施例中的步骤24的具体实现过程示意图;
图2d为本发明实施例中的步骤25的具体实现过程示意图;
图2e为本发明实施例中的步骤26的具体实现过程示意图;
图3为本发明实施例中采用的一种LDA模型的示意图;
图4为本发明实施例提供的一种入侵检测系统的具体结构示意图。
具体实施方式
为了解决现有技术中采用的入侵检测方法不能检测出新的行为类别的问题,本发明实施例提供了一种新型的入侵检测方案。该方案通过图划分方法对测试样本集合进行聚类分析,然后利用训练样本集合来确定对测试样本集合进行聚类分析而得到的聚簇的行为类别,从而实现了对测试样本集合的行为类别的确定。由于对测试样本集合的行为类别的确定过程并不像现有技术那样完全依赖于训练样本集合所包含的训练样本的行为类别,因此采用本发明实施例提供的方案能够发现新的行为类别。
以下结合附图,详细说明本发明实施例提供的方案。
首先,本发明实施例提供一种如图1所示的入侵检测方法,其主要包括以下步骤:
步骤11,入侵检测系统获得输入的入侵检测数据集合;
其中,入侵检测数据集合由训练样本集合和测试样本集合构成,训练样本集合由分别对应于不同行为类别的训练样本簇构成,测试样本集合由待检测样本构成;
步骤12,基于图划分方法,确定测试样本集合所包含的由待检测样本构成的各个聚簇;
步骤13,针对每个聚簇,执行下述操作:
首先,确定用于表征该聚簇与不同训练样本簇之间的相对互连程度的各相对互连度值和用于表征该聚簇与不同训练样本簇之间的相对紧密程度的各相对紧密度值;
然后,根据测试样本集合所包含的聚簇的总个数、训练样本集合所包含的训练样本簇对应的行为类别的数目,以及确定的各相对互连度值和各相对紧密度值,确定该聚簇的行为类别。具体地,入侵检测系统可以根据训练样本集合,先确定相对互连度阈值和相对紧密度阈值;然后,基于测试样本集合所包含的聚簇的总个数、训练样本集合所包含的训练样本簇对应的行为类别的数目,可以比较该总个数和该数目,并根据比较结果确定聚簇的行为类别。比如,上述聚簇,在比较得到该总个数不大于该数目时,可以分别确定该聚簇和各训练样本簇之间的相对互连度值和相应的相对紧密度值的乘积,并根据最大的所述乘积对应的训练样本簇的行为类别确定该聚簇的行为类别是否为入侵行为类别;而在比较得到该总个数大于该数目时,判断是否存在满足预定判决条件的训练样本簇;在判断结果为是时,根据满足该条件的训练样本簇的行为类别确定该聚簇的行为类别是否为入侵行为类别;在判断结果为否时,确定该聚簇的行为类别为不同于任意训练样本簇所属行为类别的新的行为类别。
其中,预定判决条件可以包括:训练样本簇与该聚簇之间的相对互连度值和相对紧密度值分别不小于相对互连度阈值和相对紧密度阈值。
其中,根据训练样本集合确定相对互连度阈值和相对紧密度阈值的具体过程可以包括下述子步骤:
子步骤1,确定入侵检测数据集合所包含的潜在主题的个数、入侵检测数据集合中的每个待检测样本所包含的潜在主题的分布概率值和每个潜在主题所包含的属性特征的分布概率值;
该子步骤1的具体实现过程可以采用下述方式:
根据LDA模型混乱度分析技术,确定入侵检测数据集合所包含的潜在主题的个数;
基于指定的超参数α和β,Gibbs抽样估计技术以及确定出的入侵检测数据集合所包含的潜在主题的个数,确定入侵检测数据集合中的每个待检测样本所包含的潜在主题的分布概率值和每个潜在主题所包含的属性特征的分布概率值。
子步骤2,根据确定的潜在主题的分布概率值和属性特征的分布概率值,分别确定入侵检测数据集合所包含的每个潜在主题所包含的属性特征的重要度值;
子步骤3,根据确定出的各重要度值,从潜在主题所包含的属性特征中选取属性特征;
子步骤4,根据选取的属性特征和训练样本集合,确定用于表征训练样本集合中包含的各个训练样本的邻接图,并根据邻接图中作为邻接图节点的不同训练样本之间的距离,确定不同训练样本簇之间的相对互连度值和相对紧密度值;
子步骤5,根据确定出的各相对互连度值和相对紧密度值,确定相对互连度阈值和相对紧密度阈值。
此外需要重点说明的是,步骤12的具体实现方式可以包括下述步骤:
首先,根据预先规定的相似节点个数,确定用于表征测试样本集合中包含的待检测样本的最近邻图;
然后,针对该最近邻图中由待检测样本所表征的最近邻图节点构成的最大集合循环执行第一指定操作,直至确定出对最大集合进行划分而得到的子集合均符合划分结束条件时,以符合划分结束条件的各子集合分别作为聚簇循环执行第二指定操作,直至对聚簇进行合并而得到的聚簇满足合并结束条件时,循环执行第三指定操作,直至聚簇的总个数不大于预设个数阈值。
以下对上述过程中提及的一些参数和概念进行说明:
预设个数阈值是根据测试样本集合所包含的潜在主题的数目、训练样本集合所包含的潜在主题的数目,以及训练样本集合所包含的训练样本簇对应的行为类别的数目而确定的;
第一指定操作包括:基于对最大集合划分成两个子集合时所需要截断的最近邻图节点之间的连线的加权和最小的划分原则,将最大集合划分成两个子集合;判断划分得到的子集合是否均符合划分结束条件;在判断结果为否时,将不符合划分结束条件的子集合作为最大集合。其中,划分结束条件包括:划分得到的子集合中的最近邻图节点彼此之间的连线数小于最近邻图包含的最近邻图节点总数乘以指定比例值所得的积。
第二指定操作包括:针对每个聚簇,从除该聚簇外的其他聚簇中,确定是否存在不满足合并结束条件的聚簇;在确定存在时,将该聚簇与不满足合并结束条件的一个聚簇合并为一个聚簇。其中,合并结束条件包括:与该聚簇的相对互连性值小于相对互连性阈值,或与该聚簇的相对紧密度值小于相对紧密度阈值。
第三指定操作包括:比较合并而得到的聚簇的总个数与预设个数阈值,在比较出合并而得到的聚簇的总个数大于预设个数阈值时,针对合并而得到的每个聚簇执行:针对每个合并而得到的聚簇,从除该聚簇外的合并而得到的每个聚簇中,选取与该聚簇的相对互连性值和相对紧密度值的乘积最大的聚簇,并将该聚簇与选取的聚簇合并为一个合并而得到的聚簇。
以下通过对实际应用中的一个具体实施例的介绍,详细说明本发明实施例提供的方案在实际中的具体实现方式。
如图2a所示,为实际应用中基于LDA模型和图划分方法的入侵检测方法的具体流程示意图。需要说明的是,图2a仅是对该流程中各步骤的简要说明,该些步骤的具体实现过程将在后文进行统一介绍。以下具体对该流程主要包括的各步骤做简单说明:
步骤21,入侵检测系统获得输入自身的原始的入侵检测数据集,并对原始的入侵检测数据集进行预处理,即将原始的入侵检测数据集中的每条连接记录的属性特征进行数值化和标准化处理,得到标准的入侵检测数据集D=X∪Y。其中X={X1,…,XN}为带有类别标注的训练样本集合,N为训练样本集合对应的类别的个数,Xi为属于类别Ci的样本集合(即样本簇),i=[1,N],Y为测试样本集合。
步骤22,入侵检测系统执行对D的LDA建模操作,并估计D的潜在主题数目T、超参数α和β、以及连接记录所包含的潜在主题的分布概率值θ和潜在主题所包含的属性特征的分布概率值Φ。同时,分别通过执行对X和Y建立LDA模型的操作,确定其潜在主题数目。比如,假设确定出X的潜在主题数目为T1,Y的潜在主题数目为T2,并令L=T1/N。
其中,假设D的潜在主题有T个,则可以假设某条连接记录所包含的各潜在主题的分布概率值分别为θ1,…θk,…θT,1≤k≤T,从而θ可以看成是一个分布概率值集合,其包含元素θ1,…θk,…θT。假设某潜在主题所包含的属性特征有R个,则可以进一步假设该潜在主题所包含的各属性特征的分布概率值分别为Φ1,…Φl,…ΦR,其中1≤l≤R。从而该潜在主题对应的Φ可以看成是一个分布概率值集合,其包含元素Φ1,…Φl,…ΦR
步骤23,根据通过执行步骤22而构建的LDA模型进行属性特征选择。
步骤24,根据X的样本分布设置相对互连性阈值TRI和相对紧密度阈值TRC
步骤25,针对测试样本集合Y,利用图划分方法结合LDA模型对其进行聚类分析,得到P个聚簇Y1,Y2,…,YP
步骤26,根据执行步骤25而得到的P个聚簇,结合训练样本集合的分布情况,进行测试样本集合中各聚簇所属类别的判断,从而确定生成测试样本集合中各条连接记录的入侵类型。
以下进一步详细介绍上述各步骤。应该强调的是,下述说明仅仅是示例性的,而不为了限制本发明的范围及其应用。
步骤21的具体实现过程如下:
以原始的入侵检测数据集为原始的网络数据包为例,原始的网络数据包本身并不适合于进行数据挖掘分析,从而可以将原始的网络数据包恢复成连接记录,如TCP/IP连接记录等。其中每个TCP/IP连接记录代表一次连接事件,该连接记录一般包含多个属性特征,包括网络协议、连接起始时间、连接结束时间、服务端口号、源地址、目的地址、连接终止状态和连接终止标志等等。
一般地,属性特征分为字符型属性特征和数值型属性特征。首先要将所有属性特征转化为数值型数据,然后可以再对数值型数据的属性值进行标准化。经过上述处理,得到能用于数据挖掘分析的标准的入侵检测数据集D=X∪Y={S1,S2,...,Sn,...,SM},即由M个连接记录所共同构成的集合,其中Sn为D中的第n个连接记录,M为D中的连接记录的总数。同时,可以假设wq为Sn的第q个属性特征,X={X1,...Xi,...,XN}为训练样本集合,Xi为X所包含的第i个训练样本簇,N为X所包含的训练样本簇分别所属行为类别的个数,则Xi为属于第i个行为类别的训练样本簇,Y为测试样本集合。
在实际应用中,X1,...,Xi,...,XN分别所属行为类别一般可以是根据通过人工操作的方式而分别为X1,...,Xi,...,XN所做的相应类别标记而确定的。一般说来,行为类别可以分为正常行为和攻击行为两大类。而对于攻击行为这一大类来说,其又可细化为多个行为子类别。常见的有:①DOS(Denial of Service):拒绝服务攻击;②U2R(User to Root):未授权获取超级用户权限攻击;③R2L(Remote to Local):未授权远程访问攻击;④PROBING:探测与扫描攻击等四类。进一步地,以上四类行为子类别还可以继续划分为如smurf、perl和Ipsweep等类别。以在学术界应用最广泛的KDD Cup 1999数据集为例,其就包含了38种攻击行为。
步骤22的具体实现过程如下:
为了对步骤22的实现方式进行说明,首先需要对LDA(LatentDirichletAllocation)模型进行介绍。其是一个生成性的三层贝叶斯网络,最初用于发现隐含在文档(即连接记录)集合中的语义结构。它通过将文档进行分词获得的词汇作为其属性特征,并将每篇文档都视为一个词频向量,然后将特征词和文档通过潜在的主题(topic,即潜在主题)相关联。根据LDA模型的原理,每篇文档都可以对应于一些潜在主题所构成的概率分布,而每个潜在主题则可以对应于很多属性特征所构成的概率分布。由于LDA模型中引入了潜在主题的概念,而潜在主题在文档集合中并不是显式存在的,因此基于LDA模型确定潜在主题的方式也被称为潜在Dirichlet分配。
LDA模型使用多项式分布建立贝叶斯网络中各参数和变量之间的关联,并假设多项式分布的参数服从Dirichlet分布。其中,Dirichlet分布是一族连续的多元概率分布,其公式如下式[1]:
Dir ( α ) = Γ ( Σ k = 1 K α k ) Π k = 1 K Γ ( α k ) Π k = 1 K μ k α k - 1
Γ ( α k ) ≡ ∫ 0 ∞ u α k - 1 e - u du [1]
Γ ( Σ k = 1 K α k ) ≡ ∫ 0 ∞ u ( Σ k = 1 K α k ) - 1 e - u du
其中α=(α1,...,αk,…,αλ)T是Dirichlet分布的参数,也称超参数,1≤k≤λ,λ为超参数α的维数。本发明实施例中的超参α的维数是由该分布式描述的分布决定的,如果描述的是D中连接记录的潜在主题分布,那么该参数α的维数λ等于潜在主题的数目;如果描述的是潜在主题的属性特征分布,那么其维数等于属性特征的数目。特别地,当α的维数等于D的潜在主题的个数时,有λ=T,从而存在1≤k≤T。
由于随机变量μ的各分量μk累加和为1,所以μ={μk}空间上的分布限制在k-1维的单纯形上。随着参数α的变化,包含3个随机变量的Dirichlet分布形状也会发生变化。具体地,当{αk}=1,Dirichlet分布为一平面;当{αk}<1时,Dirichlet分布的曲面向下凹,且αk越小,Dirichlet分布面的峰值越高;当{αk}>1时,Dirichlet分布的曲面向上凸,且αk越大,Dirichlet分布面的峰值越高。
以包含M条连接记录的D为例,假设D={S1,S2,...,Sn,...,SM},连接记录Sn是由W个属性特征(即词汇)所构成的属性特征序列,记为Sn=(w1,w2,...,wa,...,wW),其中wa表示属性特征序列中的第a个属性特征。那么,根据如图3所示的LDA模型,可以确定D所包含的潜在主题的数目为T、潜在主题zt所包含的属性特征的概率分布Φt和连接记录Sn所包含的潜在主题的概率分布θn,并且Φt和θn均服从Dirichlet分布。需要说明的是,图3中的α和β是针对Dirichlet分布而指定的超参数,它们也是整个LDA模型的先验参数。
具体地,确定T、Φt和θn的过程如下:
首先,利用LDA模型混乱度分析的方法,估计D所包含的潜在主题的数目T;
然后,利用超参数α和β的选择与给定数据集合(如D)所包含的潜在主题的数目大小和属性特征的数目大小有关的特性,可以将α的所有分量α1,...,αk,…,αλ都取经验值50/T,而β的所有分量β1,...,βa…,βW则都取固定的经验值β=0.01;其中,α是间接记录的潜在主题分布的先验参数,所以其维数和潜在主题的数目相同,而β是潜在主题的属性特征分布的先验参数,所以其维数和属性特征的数量相同;
最后,使用Gibbs抽样估计的方法,确定D所包含的连接记录的潜在主题的分布概率值θ和潜在主题所包含的属性特征的分布概率值Φ。
其中,Gibbs抽样估计的方法作为马尔科夫链蒙特卡洛方法(Markov chainMonteCarlo,MCMC)的一种简单实现形式,其目的是构造收敛于某目标概率分布值的马尔科夫链,并从该链中抽取被认为接近该目标概率分布值的样本,于是目标概率分布函数的给出便成为使用Gibbs抽样的关键。对于LDA模型而言,若假设第n个连接记录Sn包含有属性特征wa,并将该属性特征记为wn,a,那么在假设为其他属性特征所属潜在主题(z-a)的分配情况已确定的情况下,相应的目标概率分布函数(即为属性特征wn,a分配第J个潜在主题zJ的概率分布函数p(za=J)可以如下式[2]所示:
P ( z a = J | z - a , w n , a , &alpha; , &beta; ) = C w - a , J VT + &beta; w a , J &Sigma; v = 1 V ( C v - a , J VT + &beta; v , J ) &times; C n - a , J MT + &alpha; n , J &Sigma; k = 1 T ( C n - a , k MT + &alpha; n , k ) &Sigma; J = 1 T C w - a , J VT + &beta; w a , J &Sigma; v = 1 V ( C v - a , J VT + &beta; v , J ) &times; C n - a , J MT + &alpha; n , J &Sigma; k = 1 T ( C n - a , k MT + &alpha; n , k ) [2]
其中V是属性特征表(可以预先通过对D中的连接记录所包含的属性特征进行统计而得到)中包含的属性特征的数目;记号“-a”表示不包含a;CVT是一个V×T矩阵,T为D中包含的潜在主题的数目,为第n个连接记录Sn中的除属性特征wa外的其他属性特征赋第J个潜在主题zJ的次数;CMT是一个M×T的矩阵,M为D中连接记录的总个数,为第n个连接记录Sn中分配给第J个潜在主题zJ的除属性特征wa外的其他属性特征的个数。
基于式[2],第J个潜在主题zJ所包含的属性特征wa的分布概率值可以采用下式[3]计算,而D中的第n个连接记录在第J个潜在主题zJ上的分布概率值则可以采用下式[4]计算:
&phi; ^ w a ( z J ) = C w - a , J VT + &beta; w a , J &Sigma; v = 1 V ( C v - a , J VT + &beta; v , J ) [3]
&theta; ^ z J ( n ) = C n - a , J MT + &alpha; n , J &Sigma; k = 1 T ( C n - a , k MT + &alpha; n , k ) [4]
按上述类似方法,还可以分别为X和Y建立LDA模型,并利用模型混乱度分析方法对其分别包含的潜在主题的数目进行估计。比如,本发明实施例中可以假设估计得到X所包含的潜在主题的数目为T1,而Y所包含的潜在主题的数目为T2,并令L=T1/N。如前文所述,N为X所包含的训练样本簇分别所属行为类别的数目。
步骤23的具体实现过程如图2b所示,包括如下步骤:
步骤231,根据通过执行LDA建模而得到的标准的入侵检测数据集D中各连接记录所包含的潜在主题的分布概率值θ和各潜在主题所包含的属性特征的分布概率值Φ,计算D中的每个潜在主题的重要度值,并将计算得到的重要度值进行归一化处理。
可选的,步骤231的具体实现方式可以为:先确定D中每个潜在主题的重要度值,然后再确定每个属性特征的重要度值。比如,可以先根据通过对D进行LDA建模而得到的各连接记录所包含的潜在主题的分布概率值θ和各潜在主题所包含的属性特征的分布概率值Φ,确定D中的每个潜在主题的重要度值。
一般地,D中的潜在主题的重要度值与D中包含的每条连接记录所包含的各潜在主题在D中的所有潜在主题中分别所占的比例有关。针对一条连接记录st,其可能包含一个或若干个潜在主题,而不同连接记录可能包含相同的一些潜在主题,因此D中的任一潜在主题的重要度值可以通过D包含的所有连接记录在该潜在主题上的分布概率值的加权累加和而计算得到。在针对D进行LDA建模时,通过Gibbs抽样估计可以得到各潜在主题所包含的属性特征的分布概率值Φ和各连接记录潜在主题的分布概率值θ,基于得到的Φ和θ,同时为保证潜在主题的重要度值为一个合适的概率值,还可以对计算得到的重要度值进行归一化处理。由此得到潜在主题的重要度的最终计算公式可以如下式[5]所示:
P ( z t | D ) = &Sigma; n = 1 M &theta; ^ z t ( S n ) &Sigma; t = 1 T &Sigma; n = 1 M &theta; ^ z t ( S n ) [5]
其中,M为D中包含的连接记录的总个数,即X中包含的连接记录的个数和Y中包含的连接记录的个数之和;T为D中包含的潜在主题的个数;zt为D中包含的第t个潜在主题;为D中包含的第n个连接记录Sn所包含的的潜在主题zt的分布概率值。
步骤232,根据计算得到的潜在主题的重要度值,结合潜在主题所包含的属性特征的分布概率值Φ,可得到D中每个属性特征w的重要度值,其公式如下式[6]:
P ( w | D ) = &Sigma; t = 1 T P ( w | z t ) &times; P ( z t | D ) [6]
其中T是对D执行LDA建模得到的潜在主题数目,P(wz|t)是对D执行LDA建模得到的潜在主题zt所包含的属性特征w的分布概率值,P(zt|D)的计算方式则可以如式[5]所示。
步骤233,根据各属性特征的重要度值的大小进行属性特征选择。一般地,可以按照重要度值由大至小的顺序,依次选取规定数目的属性特征。选取属性特征的目的在于通过减少用于对连接记录进行特征表示的属性特征的数目,从而减少图划分方法过程中的计算量,进而减少耗费的资源量。由于选取的属性特征一般是重要度值较大的属性特征,因此减少属性特征的数目对后续的入侵检测结果也不会产生太大的影响。一般地,该影响可以通过合理规定上述规定数目的大小而处于一个合理的范围内。
步骤24的具体实现过程如图2c所示,包括如下步骤:
步骤241,针对X中对应于不同类别Ci(1≤i≤N)的样本簇Xi构建其对应的邻接图Gi,共构建N个邻接图。以Xi为例,相应的Gi中的节点就是用Xi中包含的、且通过执行前文所述步骤233而被选取到的属性特征进行表示的训练样本。即Gi中的每个节点对应Xi中的一个训练样本(也就是一条连接记录),每条连接记录都由选取的属性特征来表示。其中,Gi中任意两个节点u和v之间相似度值εuv的大小可以由下式[7]计算得到,即:
&epsiv; uv = 1 1 + Dist ( u , v ) [7]
其中Dist(u,v)表示节点u和节点v在邻接图Gi中的欧几里德距离。以此类推,可以确定各个邻接图中的不同节点之间的相似度值的计算方式。
步骤242,分别计算训练样本簇两两之间的相对互连性值和相对紧密度值。
以样本簇Xi和样本簇Xd为例,它们之间的相对互连性值为RI(Xi,Xd),相对紧密度值为RC(Xi,Xd)。其计算公式分别如下式[8]、[9],其中i和d满足1≤i≤N,1≤d≤N,且i≠d。
RI ( X i , X d ) = | EC ( X i , X d ) | 1 2 ( | EC ( X i ) | + | EC ( X d ) | ) [8]
RC ( X i , X d ) = SEC &OverBar; ( X i , X d ) | X i | | X i | + | X d | SEC &OverBar; ( X i ) + | X d | | X i | + | X d | SEC &OverBar; ( X d ) [9]
其中EC(Xi,Xd)表示要将针对Xi和Xd所共同构建的一个邻接图划分为样本簇Xi和Xd的割边的权重和;EC(Xi)表示要将邻接图Gi划分成大致相等的两部分的割边的权重和;表示要将针对Xi和Xd所共同构建的一个邻接图划分为Xi和Xd的割边的平均权重;表示要将邻接图Gi划分成大致相等的两部分的割边的平均权重。需要说明的是,所谓割边,就是指截断不同邻接图中的不同节点之间所假设存在的边。
步骤243,设置相对互连性阈值TRI和相对紧密度阈值TRC
其中,TRI和TRC的计算公式分别如下式[10]和[11]所示:
T RI = 2 * &Sigma; 1 &le; i &le; N , d &NotEqual; i RI ( X i , X d ) N ( N - 1 ) [10]
T RC = 2 * &Sigma; 1 &le; i &le; N , d &NotEqual; i RC ( X i , X d ) N ( N - 1 ) [11]
步骤25的具体实现过程如图2d所示,包括如下步骤:
步骤251,构建测试集合Y的最近邻图G(U,E),即构建最近邻图。
其中,U为最近邻图中包含的节点,即Y中包含的连接记录;E表示最近邻图中的边构成的集合。“边”的含义在于:当且仅当最近邻图G(U,E)中的节点v’为节点u’的b个最相似节点中的一个节点时,确定节点u’和节点v’之间存在一条边(u’,v’)∈E。可以假设存在一个加权矩阵W,W中的任意元素如Wu’v’表示节点u’和节点v’之间的相似度的大小。其中,b为预先规定的相似节点个数。由于该最近邻图内包含的节点数目与参数b相关性最大,所以该最近邻图也可以称为b-最近邻图。
步骤252,利用图形划分算法(即hMETIS算法或称图划分方法)划分最近邻图,使得割边最小化,即将一个簇C划分为两个子簇Cg和Ch时需要截断的不同节点之间所假设存在的边的加权和最小;然后,再把Cg和Ch分别看做簇C,并按照使得割边最小化的原则对其进行划分,以此类推,直至最终划分得到的子簇中包含的边少于|U|×5%,或子簇中包含的边少于|U|×6%等等为止。其中,|U|表示最近邻图中的包含的节点的个数。
其中,边的权重大小就是这条边连接的两个节点之间的相似度的大小。即步骤251中所述的W中的一个元素。在将一个簇C划分成两个子簇时,可能存在多种划分方案,而割边最小化的原则所规定的“加权和最小”即指在将一个簇C划分成两个子簇时,采用的是使得割断的边的权重之和最小的划分方案。
步骤253,合并通过执行步骤252而最终划分得到的子簇。
具体地,以最终划分得到的满足包含的边少于|U|×5%的两个子簇Cg和Ch为例,可以计算划分的子簇Cg和子簇Ch之间的相对互连性值RI(Cg,Ch)和相对紧密度值RC(Cg,Ch),类似地,也可以计算得到其他不同子簇两两之间的相对互连性值和相对紧密度值。基于计算得到的各个相对互连性值和相应的相对紧密度值,可以寻找最相似的子簇对,然后将寻找到的最相似的子簇对中包含的两个子簇进行合并形成最终簇。其中,对子簇进行合并的规则可以如下:
1)对于某个子簇Cg,从通过执行步骤252而划分得到的子簇中选取使得RI(Cg,Ch)≥TRI且RC(Cg,Ch)≥TRC的一个子簇Ch与该Cg进行合并;其中,为了便于后文描述,可以称RI(Cg,Ch)≥TRI且RC(Cg,Ch)≥TRC为合并条件。
2)如果有不止一个与Cg相邻的子簇符合合并条件,则选择使得绝对互连性值EC(Cg,Ch)最大的子簇Ch与该子簇Cg合并。
3)以合并得到的簇作为子簇,重复执行上述步骤1)和2),直到不存在满足合并条件的子簇后,将合并得到的子簇确定为聚簇;
4)假设此时聚簇的个数为P,则判断是否存在P≤T2/L,若存在,则合并结束,若P>T2/L,则执行5);
5)选取使得RI(CI,CII)*RC(CI,CII)最大的聚簇CI与CII进行合并,得到合并的聚簇,并以该合并的聚簇作为一个聚簇,继续执行步骤4。
通过执行上述步骤,Y可以被划分为P个类簇,它们分别为Y1,Y2,…,Yj,…,YP
步骤26的具体实现过程如图2e所示,包括如下步骤:
步骤261,针对每个训练样本簇Xi(1≤i≤N),计算Xi和Y所包含的每个聚簇Yj(1≤j≤P)之间的相对互连性值RI(Xi,Yj)和相对紧密度值RC(Xi,Yj);
步骤262,根据计算得到的RI(Xi,Yj)和相应的RC(Xi,Yj),以及预先针对每个训练样本簇Xi(1≤i≤N)所分别确定的行为类别,分别确定每个聚簇Yj(1≤j≤P)的行为类别。
具体确定过程如下:
1)如果P≤N,则确定使得RI(Xi,Yj)*RC(Xi,Yj)最大的Yj,并将Xi的行为类别确定为Yj的行为类别。若Xi的行为类别为正常行为,Yj的行为类别也为正常行为;反之,若Xi的行为类别为入侵行为,则Yi的行为类别也为入侵行为。
可选的,还可以将Yj合并到Xi中,以实现对训练样本集合Xi的更新。
2)如果P>N,且RI(Xi,Yj)≥TRI且RC(Xi,Yj)≥TRC,则将Xi的行为类别确定为Yj的行为类别。如果经判定发现不存在任何一个Xi满足RI(Xi,Yj)≥TRI且RC(Xi,Yj)≥TRC,则可以确定Yj的行为类别为不同于任何Xi所属行为类别的新的行为类别。
本发明实施例提供的上述方案通过将图划分方法与LDA模型相结合,首先通过图划分方法对测试样本集合进行聚类分析,然后利用训练样本集合来确定对测试样本集合进行聚类分析而得到的聚簇的行为类别,从而实现了对测试样本集合的行为类别的确定。由于对测试样本集合的行为类别的确定过程并不完全依赖于训练样本集合所包含的训练样本的行为类别,因此采用本发明实施例提供的方案能够发现新的行为类别。
与现有技术相比,本发明实施例提供的方案还具备以下技术优点:
1.可以获得高质量的数据特征。
本发明实施例提供的方案将LDA主题模型引入入侵检测过程中,根据潜在主题的分布情况和潜在主题的属性特征的分布情况对入侵检测数据进行特征选择,可以获得更符合网络特征的高质量的属性特征,减少数据冗余,提高入侵检测的效率;
2.可以自动设置聚簇的临界条件,控制聚簇的过程。
在传统的基于非监督学习方法的入侵检测中,一般都是通过人工根据经验进行设置聚簇的个数或聚簇需要满足的临界条件,从而得到的聚簇必然会受到技术人员主观性的影响。并且,设置的条件不同(如聚簇个数不同),对聚类结果会产生很大的影响。而根据本发明实施例提供的方案,在对子簇进行聚类的过程中,考虑到了利用训练样本集合的客观分布情况来控制子簇的聚类过程,并结合LDA模型共同来控制聚簇的程度,更能符合数据样本的实际情况,不仅可以避免单个条件控制聚簇可能产生的过度拟合,而且可以避免过分依赖人工参与设置相关参数所带来的盲目性和主观性。
3.聚簇的标准兼顾了簇间的样本分布和簇内的样本分布
在传统的基于非监督学习方法的入侵检测中,通常采用不同测试样本之间的距离远近来决定不同的测试样本是否属于同一簇,而没有考虑到簇中样本的实际分布情况。而本发明实施例中,充分利用了测试样本之间的相对互连性和相对紧密度以及测试样本中潜在主题的分布情况进行聚簇,从而能根据测试样本的实际分布情况进行,因此可以兼顾簇内与簇间测试样本的相对互连性和相对紧密度。
4.可以发现训练样本集合中没有出现的行为类别。
在传统的基于监督学习的入侵检测分析中,通常是利用训练样本集合通过学习获得一个分类模型,然后利用该分类模型对测试样本进行分类,这样只能根据训练样本中已有的类别对测试样本进行分类,不会发现新出现的攻击类型;而本申请在利用LDA模型和图划分方法对入侵检测数据进行聚类分析的基础上对测试样本进行分类,不仅可以对测试样本进行正确的分类,提高入侵行为的检测率,而且还可以发现训练样本中没有出现的攻击类型,自动地丰富和维护入侵检测数据库的内容;
5.可以减少高质量训练样本的构建成本
在传统的基于监督学习方法的入侵检测中,分类模型的质量决定入侵检测系统性能的高低,而一个好的分类模型需要有足够多的高质量的训练样本,但现实中高质量的训练样本集合的构建代价是非常高的。而采用本发明实施例提出的方法,由于可以利用少量的训练样本达到对待检测样本的正确分类,因此不仅可以提高入侵检测的检测率,降低误报率,而且还可以减少高质量训练样本难获得的困难,降低高质量训练样本的构建成本。
6.减少了对分类模型质量的依赖。
本申请使用图划分方法结合LDA模型对待测试样本进行聚簇,再通过图划分方法和训练样本集合来决定待测试样本的行为类别,不仅能提高入侵检测的效率,并能发现训练样本集合中未出现的行为类别,而且避免了分类模型的训练过程,减少了对分类模型质量的依赖。
对应于本发明实施例提供的一种入侵检测系统,本发明实施例还提供一种入侵检测系统,其具体结构示意图如图4所示,包括以下功能单元:
数据集合获得单元41,用于获得输入的入侵检测数据集合,其中,入侵检测数据集合由训练样本集合和测试样本集合构成,训练样本集合由分别对应于不同行为类别的训练样本簇构成,测试样本集合由待检测样本构成;
聚簇确定单元42,用于基于图划分方法,确定数据集合获得单元41获得的测试样本集合所包含的由待检测样本构成的各个聚簇;
行为类别确定单元43,用于针对聚簇确定单元42确定的每个聚簇,执行:确定用于表征该聚簇与数据集合获得单元41获得的不同训练样本簇之间的相对互连程度的各相对互连度值和用于表征该聚簇与不同训练样本簇之间的相对紧密程度的各相对紧密度值;并根据所述测试样本集合所包含的聚簇的总个数、所述训练样本集合所包含的训练样本簇对应的行为类别的数目,以及确定的各相对互连度值和各相对紧密度值,确定该聚簇的行为类别。
可选的,该系统还可以包括参数值确定单元,其用于根据数据集合获得单元41获得的训练样本集合,确定相对互连度阈值和相对紧密度阈值。在该系统包括该参数值确定单元时,行为类别确定单元43具体可以用于:比较所述总个数和所述数目;并在比较得到所述总个数不大于所述数目时,分别确定参数值确定单元确定出的各训练样本簇和该聚簇之间的相对互连度值和相应的相对紧密度值的乘积,并根据最大的所述乘积对应的训练样本簇的行为类别确定该聚簇的行为类别是否为入侵行为类别;以及在比较得到所述总个数大于所述数目时,判断是否存在满足预定判决条件的训练样本簇;在判断结果为是时,根据满足所述条件的训练样本簇的行为类别确定该聚簇的行为类别是否为入侵行为类别;在判断结果为否时,确定该聚簇的行为类别为不同于任意所述训练样本簇所属行为类别的新的行为类别;其中,所述预定判决条件包括:训练样本簇与该聚簇之间的相对互连度值和相对紧密度值分别不小于所述相对互连度阈值和所述相对紧密度阈值。
可选的,对应于参数值确定单元功能的一种实现方式,可以将参数值确定单元具体划分为以下功能子单元:
概率值确定子单元,用于确定入侵检测数据集合所包含的潜在主题的个数、入侵检测数据集合中的每个待检测样本所包含的潜在主题的分布概率值和每个潜在主题所包含的属性特征的分布概率值;
重要度确定子单元,用于根据概率值确定子单元确定的潜在主题的分布概率值和属性特征的分布概率值,分别确定每个潜在主题所包含的属性特征的重要度值;
属性特征选取子单元,用于根据重要度确定子单元确定出的各重要度值,从各潜在主题所包含的属性特征中选取属性特征;
参数值确定子单元,用于根据训练样本集合和属性特征选取子单元选取的属性特征,确定用于表征训练样本集合中包含的各个训练样本的邻接图,并根据邻接图中作为邻接图节点的不同训练样本之间的距离,确定不同训练样本簇之间的相对互连度值和相对紧密度值;
阈值确定子单元,用于根据参数值确定子单元确定出的各相对互连度值和相对紧密度值,确定相对互连度阈值和相对紧密度阈值。
可选的,对应于概率值确定子单元功能的一种实现方式,可以将其具体划分为以下功能模块,包括:
个数确定模块,用于根据LDA模型混乱度分析技术,确定入侵检测数据集合所包含的潜在主题的个数;
分布概率值确定模块,用于基于指定的超参数α和β,Gibbs抽样估计技术以及个数确定模块确定出的入侵检测数据集合所包含的潜在主题的个数,确定入侵检测数据集合中的每个待检测样本所包含的潜在主题的分布概率值和每个潜在主题所包含的属性特征的分布概率值。
可选的,对应于聚簇确定单元42功能的一种实现方式,可以将其划分为以下功能子单元:
最近邻图确定子单元,用于根据预先规定的相似节点个数,确定用于表征测试样本集合中包含的待检测样本的最近邻图;
聚簇子单元,用于针对最近邻图确定子单元确定的最近邻图中由待检测样本所表征的最近邻图节点构成的最大集合循环执行第一指定操作,直至确定出对最大集合进行划分而得到的子集合均符合划分结束条件时,以符合划分结束条件的各子集合分别作为聚簇循环执行第二指定操作,直至对聚簇进行合并而得到的聚簇满足合并结束条件时,循环执行第三指定操作,直至聚簇的总个数不大于预设个数阈值。
其中,预设个数阈值是根据所述测试样本集合所包含的潜在主题的数目、训练样本集合所包含的潜在主题的数目,以及训练样本集合所包含的训练样本簇对应的行为类别的数目而确定的。
第一指定操作包括:基于对所述最大集合划分成两个子集合时所需要截断的最近邻图节点之间的连线的加权和最小的划分原则,将所述最大集合划分成两个子集合;判断划分得到的子集合是否均符合划分结束条件;在判断结果为否时,将不符合所述划分结束条件的子集合作为所述最大集合。划分结束条件包括:划分得到的子集合中的最近邻图节点彼此之间的连线数小于最近邻图包含的最近邻图节点总数乘以指定比例值所得的积。
第二指定操作包括:针对每个聚簇,从除该聚簇外的其他聚簇中,确定是否存在不满足合并结束条件的聚簇;在确定存在时,将该聚簇与不满足合并结束条件的一个聚簇合并为一个聚簇。其中,合并结束条件包括:与该聚簇的相对互连性值小于相对互连性阈值,或与该聚簇的相对紧密度值小于相对紧密度阈值;
第三指定操作包括:比较合并而得到的聚簇的总个数与预设个数阈值,在比较出合并而得到的聚簇的总个数大于预设个数阈值时,针对合并而得到的每个聚簇执行:针对每个合并而得到的聚簇,从除该聚簇外的合并而得到的每个聚簇中,选取与该聚簇的相对互连性值和相对紧密度值的乘积最大的聚簇,并将该聚簇与选取的聚簇合并为一个合并而得到的聚簇。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的系统。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令系统的制造品,该指令系统实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (8)

1.一种入侵检测方法,其特征在于,包括:
入侵检测系统获得输入的入侵检测数据集合,其中,所述入侵检测数据集合由训练样本集合和测试样本集合构成,所述训练样本集合由分别对应于不同行为类别的训练样本簇构成,所述测试样本集合由待检测样本构成;
基于图划分方法,确定所述测试样本集合所包含的由待检测样本构成的各个聚簇;
针对每个所述聚簇,执行下述操作:
确定用于表征该聚簇与不同训练样本簇之间的相对互连程度的各相对互连度值和用于表征该聚簇与不同训练样本簇之间的相对紧密程度的各相对紧密度值;
入侵检测系统根据所述训练样本集合,确定相对互连度阈值和相对紧密度阈值;比较总个数和数目;并在比较得到所述总个数不大于所述数目时,分别确定各训练样本簇和该聚簇之间的相对互连度值和相应的相对紧密度值的乘积,并根据最大的所述乘积对应的训练样本簇的行为类别确定该聚簇的行为类别是否为入侵行为类别;
在比较得到所述总个数大于所述数目时,判断是否存在满足预定判决条件的训练样本簇;在判断结果为是时,根据满足所述条件的训练样本簇的行为类别确定该聚簇的行为类别是否为入侵行为类别;在判断结果为否时,确定该聚簇的行为类别为不同于任意所述训练样本簇所属行为类别的新的行为类别;其中,所述预定判决条件包括:训练样本簇与该聚簇之间的相对互连度值和相对紧密度值分别不小于所述相对互连度阈值和所述相对紧密度阈值。
2.如权利要求1所述的方法,其特征在于,根据所述训练样本集合,确定相对互连度阈值和相对紧密度阈值,具体包括:
确定所述入侵检测数据集合所包含的潜在主题的个数、所述入侵检测数据集合中的每个待检测样本所包含的潜在主题的分布概率值和每个潜在主题所包含的属性特征的分布概率值;
根据确定的所述潜在主题的分布概率值和所述属性特征的分布概率值,分别确定每个潜在主题所包含的属性特征的重要度值;
根据确定出的各重要度值,从所述潜在主题所包含的属性特征中选取属性特征;
根据选取的属性特征和所述训练样本集合,确定用于表征所述训练样本集合中包含的各个训练样本的邻接图,并根据所述邻接图中作为邻接图节点的不同训练样本之间的距离,确定不同训练样本簇之间的相对互连度值和相对紧密度值;
根据确定出的各相对互连度值和相对紧密度值,确定相对互连度阈值和相对紧密度阈值。
3.如权利要求2所述的方法,其特征在于,确定所述入侵检测数据集合所包含的潜在主题的个数、所述入侵检测数据集合中的每个待检测样本所包含的潜在主题的分布概率值和每个潜在主题所包含的属性特征的分布概率值,具体包括:
根据LDA模型混乱度分析技术,确定所述入侵检测数据集合所包含的潜在主题的个数;
基于指定的超参数α和β,Gibbs抽样估计技术以及确定出的所述入侵检测数据集合所包含的潜在主题的个数,确定所述入侵检测数据集合中的每个待检测样本所包含的潜在主题的分布概率值和每个潜在主题所包含的属性特征的分布概率值。
4.如权利要求1所述的方法,其特征在于,基于图划分方法,确定所述测试样本集合所包含的由待检测样本构成的各个聚簇,具体包括:
根据预先规定的相似节点个数,确定用于表征所述测试样本集合中包含的待检测样本的最近邻图;
针对所述最近邻图中由待检测样本所表征的最近邻图节点构成的最大集合循环执行第一指定操作,直至确定出对所述最大集合进行划分而得到的子集合均符合划分结束条件时,以符合划分结束条件的各子集合分别作为聚簇循环执行第二指定操作,直至对聚簇进行合并而得到的聚簇满足合并结束条件时,循环执行第三指定操作,直至聚簇的总个数不大于预设个数阈值;
所述预设个数阈值是根据所述测试样本集合所包含的潜在主题的数目、所述训练样本集合所包含的潜在主题的数目,以及所述训练样本集合所包含的训练样本簇对应的行为类别的数目而确定的;
所述第一指定操作包括:基于对所述最大集合划分成两个子集合时所需要截断的最近邻图节点之间的连线的加权和最小的划分原则,将所述最大集合划分成两个子集合;判断划分得到的子集合是否均符合划分结束条件;在判断结果为否时,将不符合所述划分结束条件的子集合作为所述最大集合;
所述划分结束条件包括:划分得到的子集合中的最近邻图节点彼此之间的连线数小于所述最近邻图包含的最近邻图节点总数乘以指定比例值所得的积;
所述第二指定操作包括:针对每个聚簇,从除该聚簇外的其他聚簇中,确定是否存在不满足所述合并结束条件的聚簇;在确定存在时,将该聚簇与不满足所述合并结束条件的一个聚簇合并为一个聚簇;
所述合并结束条件包括:与该聚簇的相对互连性值小于所述相对互连性阈值,或与该聚簇的相对紧密度值小于所述相对紧密度阈值;
所述第三指定操作包括:比较所述合并而得到的聚簇的总个数与预设个数阈值,在比较出所述合并而得到的聚簇的总个数大于预设个数阈值时,针对所述合并而得到的每个聚簇执行:针对每个所述合并而得到的聚簇,从除该聚簇外的所述合并而得到的每个聚簇中,选取与该聚簇的相对互连性值和相对紧密度值的乘积最大的聚簇,并将该聚簇与选取的聚簇合并为一个合并而得到的聚簇。
5.一种入侵检测系统,其特征在于,包括:
数据集合获得单元,用于获得输入的入侵检测数据集合,其中,所述入侵检测数据集合由训练样本集合和测试样本集合构成,所述训练样本集合由分别对应于不同行为类别的训练样本簇构成,所述测试样本集合由待检测样本构成;
聚簇确定单元,用于基于图划分方法,确定数据集合获得单元获得的所述测试样本集合所包含的由待检测样本构成的各个聚簇;
参数值确定单元,用于根据数据集合获得单元获得的所述训练样本集合,确定相对互连度阈值和相对紧密度阈值;
行为类别确定单元,用于针对聚簇确定单元确定的每个所述聚簇,执行:确定用于表征该聚簇与不同训练样本簇之间的相对互连程度的各相对互连度值和用于表征该聚簇与不同训练样本簇之间的相对紧密程度的各相对紧密度值;并比较总个数和数目;
并在比较得到所述总个数不大于所述数目时,分别确定各训练样本簇和该聚簇之间的相对互连度值和相应的相对紧密度值的乘积,并根据最大的所述乘积对应的训练样本簇的行为类别确定该聚簇的行为类别是否为入侵行为类别;以及在比较得到所述总个数大于所述数目时,判断是否存在满足预定判决条件的训练样本簇;在判断结果为是时,根据满足所述条件的训练样本簇的行为类别确定该聚簇的行为类别是否为入侵行为类别;在判断结果为否时,确定该聚簇的行为类别为不同于任意所述训练样本簇所属行为类别的新的行为类别;其中,所述预定判决条件包括:训练样本簇与该聚簇之间的相对互连度值和相对紧密度值分别不小于所述相对互连度阈值和所述相对紧密度阈值。
6.如权利要求5所述的系统,其特征在于,参数值确定单元具体包括:
概率值确定子单元,用于确定所述入侵检测数据集合所包含的潜在主题的个数、所述入侵检测数据集合中的每个待检测样本所包含的潜在主题的分布概率值和每个潜在主题所包含的属性特征的分布概率值;
重要度确定子单元,用于根据概率值确定子单元确定的所述潜在主题的分布概率值和所述属性特征的分布概率值,分别确定每个潜在主题所包含的属性特征的重要度值;
属性特征选取子单元,用于根据重要度确定子单元确定出的各重要度值,从所述潜在主题所包含的属性特征中选取属性特征;
参数值确定子单元,用于根据所述训练样本集合和属性特征选取子单元选取的属性特征,确定用于表征所述训练样本集合中包含的各个训练样本的邻接图,并根据所述邻接图中作为邻接图节点的不同训练样本之间的距离,确定不同训练样本簇之间的相对互连度值和相对紧密度值;
阈值确定子单元,用于根据参数值确定子单元确定出的各相对互连度值和相对紧密度值,确定相对互连度阈值和相对紧密度阈值。
7.如权利要求6所述的系统,其特征在于,概率值确定子单元具体包括:
个数确定模块,用于根据LDA模型混乱度分析技术,确定所述入侵检测数据集合所包含的潜在主题的个数;
分布概率值确定模块,用于基于指定的超参数α和β,Gibbs抽样估计技术以及个数确定模块确定出的所述入侵检测数据集合所包含的潜在主题的个数,确定所述入侵检测数据集合中的每个待检测样本所包含的潜在主题的分布概率值和每个潜在主题所包含的属性特征的分布概率值。
8.如权利要求5所述的系统,其特征在于,聚簇确定单元具体包括:
最近邻图确定子单元,用于根据预先规定的相似节点个数,确定用于表征所述测试样本集合中包含的待检测样本的最近邻图;
聚簇子单元,用于针对最近邻图确定子单元确定的所述最近邻图中由待检测样本所表征的最近邻图节点构成的最大集合循环执行第一指定操作,直至确定出对所述最大集合进行划分而得到的子集合均符合划分结束条件时,以符合划分结束条件的各子集合分别作为聚簇循环执行第二指定操作,直至对聚簇进行合并而得到的聚簇满足合并结束条件时,循环执行第三指定操作,直至聚簇的总个数不大于预设个数阈值;
所述预设个数阈值是根据所述测试样本集合所包含的潜在主题的数目、所述训练样本集合所包含的潜在主题的数目,以及所述训练样本集合所包含的训练样本簇对应的行为类别的数目而确定的;
所述第一指定操作包括:基于对所述最大集合划分成两个子集合时所需要截断的最近邻图节点之间的连线的加权和最小的划分原则,将所述最大集合划分成两个子集合;判断划分得到的子集合是否均符合划分结束条件;在判断结果为否时,将不符合所述划分结束条件的子集合作为所述最大集合;
所述划分结束条件包括:划分得到的子集合中的最近邻图节点彼此之间的连线数小于所述最近邻图包含的最近邻图节点总数乘以指定比例值所得的积;
所述第二指定操作包括:针对每个聚簇,从除该聚簇外的其他聚簇中,确定是否存在不满足所述合并结束条件的聚簇;在确定存在时,将该聚簇与不满足所述合并结束条件的一个聚簇合并为一个聚簇;
所述合并结束条件包括:与该聚簇的相对互连性值小于所述相对互连性阈值,或与该聚簇的相对紧密度值小于所述相对紧密度阈值;
所述第三指定操作包括:比较所述合并而得到的聚簇的总个数与预设个数阈值,在比较出所述合并而得到的聚簇的总个数大于预设个数阈值时,针对所述合并而得到的每个聚簇执行:针对每个所述合并而得到的聚簇,从除该聚簇外的所述合并而得到的每个聚簇中,选取与该聚簇的相对互连性值和相对紧密度值的乘积最大的聚簇,并将该聚簇与选取的聚簇合并为一个合并而得到的聚簇。
CN201210550074.3A 2012-12-18 2012-12-18 入侵检测方法及系统 Active CN103870751B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210550074.3A CN103870751B (zh) 2012-12-18 2012-12-18 入侵检测方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210550074.3A CN103870751B (zh) 2012-12-18 2012-12-18 入侵检测方法及系统

Publications (2)

Publication Number Publication Date
CN103870751A CN103870751A (zh) 2014-06-18
CN103870751B true CN103870751B (zh) 2017-02-01

Family

ID=50909275

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210550074.3A Active CN103870751B (zh) 2012-12-18 2012-12-18 入侵检测方法及系统

Country Status (1)

Country Link
CN (1) CN103870751B (zh)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9523736B2 (en) * 2014-06-19 2016-12-20 Nuvoton Technology Corporation Detection of fault injection attacks using high-fanout networks
CN104468262B (zh) * 2014-11-17 2017-12-15 中国科学院信息工程研究所 一种基于语义敏感的网络协议识别方法及系统
CN104484600B (zh) * 2014-11-18 2017-05-10 中国科学院深圳先进技术研究院 一种基于改进密度聚类的入侵检测方法及装置
CN104517052B (zh) * 2014-12-09 2017-05-10 中国科学院深圳先进技术研究院 一种入侵检测方法及装置
CN104765820B (zh) * 2015-04-07 2018-05-11 浙江大学 一种非侵入式的服务依赖关系发现方法
US20160314184A1 (en) * 2015-04-27 2016-10-27 Google Inc. Classifying documents by cluster
CN105306475B (zh) * 2015-11-05 2018-06-29 天津理工大学 一种基于关联规则分类的网络入侵检测方法
CN106572108A (zh) * 2016-11-08 2017-04-19 杜少波 一种基于邻域距离的入侵特征选择方法
CN106533784A (zh) * 2016-12-01 2017-03-22 广东技术师范学院 一种提高应用层流量分类准确率的方法
CN106850338B (zh) * 2016-12-30 2020-12-04 西可通信技术设备(河源)有限公司 一种基于语义分析的r+1类应用层协议识别方法与装置
CN106951783B (zh) * 2017-03-31 2021-06-01 国家电网公司 一种基于深度神经网络的伪装入侵检测方法及装置
CN107145778B (zh) * 2017-05-04 2020-07-28 北京邮电大学 一种入侵检测方法及装置
CN107454084B (zh) * 2017-08-10 2020-06-02 桂林电子科技大学 基于杂交带的最近邻入侵检测算法
CN107483458A (zh) * 2017-08-29 2017-12-15 杭州迪普科技股份有限公司 网络攻击的识别方法及装置、计算机可读存储介质
CN107395640B (zh) * 2017-08-30 2020-05-12 信阳师范学院 一种基于划分和特征变化的入侵检测系统及方法
CN107967311B (zh) * 2017-11-20 2021-06-29 创新先进技术有限公司 一种对网络数据流进行分类的方法和装置
CN108040053A (zh) * 2017-12-13 2018-05-15 北京明朝万达科技股份有限公司 一种基于dns日志数据的网络安全威胁分析方法及系统
CN108040052A (zh) * 2017-12-13 2018-05-15 北京明朝万达科技股份有限公司 一种基于Netflow日志数据的网络安全威胁分析方法及系统
CN108875365B (zh) * 2018-04-22 2023-04-07 湖南省金盾信息安全等级保护评估中心有限公司 一种入侵检测方法及入侵检测检测装置
CN109150830B (zh) * 2018-07-11 2021-04-06 浙江理工大学 一种基于支持向量机和概率神经网络的层次入侵检测方法
CN109067722B (zh) * 2018-07-24 2020-10-27 湖南大学 一种基于两步聚类和检测片分析联合算法的LDoS检测方法
CN109242106B (zh) * 2018-09-07 2022-07-26 百度在线网络技术(北京)有限公司 样本处理方法、装置、设备和存储介质
CN109670037A (zh) * 2018-11-08 2019-04-23 太原理工大学 基于主题模型和粗糙集的K-means文本聚类方法
CN109784253A (zh) * 2019-01-04 2019-05-21 上海钧正网络科技有限公司 一种单车用户异常行为的检测方法
CN110213227B (zh) * 2019-04-24 2020-12-22 华为技术有限公司 一种网络数据流检测方法及装置
CN110113368B (zh) * 2019-06-27 2021-08-20 电子科技大学 一种基于子轨迹模式的网络行为异常检测方法
CN112182568B (zh) * 2019-07-02 2022-09-27 四川大学 基于图卷积网络和主题模型的恶意代码分类
CN111049828B (zh) * 2019-12-13 2021-05-07 国网浙江省电力有限公司信息通信分公司 网络攻击检测及响应方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6456991B1 (en) * 1999-09-01 2002-09-24 Hrl Laboratories, Llc Classification method and apparatus based on boosting and pruning of multiple classifiers
CN1460932A (zh) * 2003-06-18 2003-12-10 北京首信股份有限公司 一种基于相关特征聚类的层次入侵检测系统
CN1472916A (zh) * 2003-06-24 2004-02-04 北京邮电大学 大规模分布式入侵检测系统的数据融合机制
CN101242316A (zh) * 2008-02-03 2008-08-13 西安交大捷普网络科技有限公司 基于快速聚类算法的网络异常检测方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE60116877T2 (de) * 2000-08-11 2006-09-14 British Telecommunications P.L.C. System und verfahren zum erfassen von ereignissen

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6456991B1 (en) * 1999-09-01 2002-09-24 Hrl Laboratories, Llc Classification method and apparatus based on boosting and pruning of multiple classifiers
CN1460932A (zh) * 2003-06-18 2003-12-10 北京首信股份有限公司 一种基于相关特征聚类的层次入侵检测系统
CN1472916A (zh) * 2003-06-24 2004-02-04 北京邮电大学 大规模分布式入侵检测系统的数据融合机制
CN101242316A (zh) * 2008-02-03 2008-08-13 西安交大捷普网络科技有限公司 基于快速聚类算法的网络异常检测方法

Also Published As

Publication number Publication date
CN103870751A (zh) 2014-06-18

Similar Documents

Publication Publication Date Title
CN103870751B (zh) 入侵检测方法及系统
Mirheidari et al. Alert correlation algorithms: A survey and taxonomy
CN102291392B (zh) 一种基于Bagging算法的复合式入侵检测方法
CN106570513A (zh) 大数据网络系统的故障诊断方法和装置
Kabulov et al. Algorithmic Analysis of the System Based on the Functioning Table and Information Security
CN111598179B (zh) 电力监控系统用户异常行为分析方法、存储介质和设备
CN110247910A (zh) 一种异常流量的检测方法、系统及相关组件
CN107451597A (zh) 一种样本类别标签纠正方法及装置
CN109670306A (zh) 基于人工智能的电力恶意代码检测方法、服务器及系统
CN114707571B (zh) 基于增强隔离森林的信用数据异常检测方法
CN111047173B (zh) 基于改进d-s证据理论的社团可信度评估方法
CN112738014A (zh) 一种基于卷积时序网络的工控流量异常检测方法及系统
CN112134862A (zh) 基于机器学习的粗细粒度混合网络异常检测方法及装置
CN114218998A (zh) 一种基于隐马尔可夫模型的电力系统异常行为分析方法
CN115118482A (zh) 工业控制系统入侵检测线索分析溯源方法、系统及终端
Lou et al. Classification-based prediction of network connectivity robustness
CN105516206A (zh) 基于偏最小二乘的网络入侵检测方法及系统
Harbola et al. Improved intrusion detection in DDoS applying feature selection using rank & score of attributes in KDD-99 data set
Tran Network anomaly detection
Muna et al. Demystifying machine learning models for iot attack detection with explainable ai
Parfenov et al. Research of multiclass fuzzy classification of traffic for attacks identification in the networks
Chentoufi et al. Intrusion Detection Systems based on Machine Learning
CN113904801B (zh) 一种网络入侵检测方法及系统
Ma’aji et al. Models Comparison Based On Intrusion Detection Using Machine Learning
Avdagić et al. The effects of combined application of SOM, ANFIS and Subtractive Clustering in detecting intrusions in computer networks

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant