首页> 中国专利> 基于改进的自适应提升算法的互联网入侵检测方法

基于改进的自适应提升算法的互联网入侵检测方法

摘要

本发明公开一种基于改进的自适应提升算法的互联网入侵检测方法,涉及计算机网络安全领域。步骤包括:利用原始网络连接数据,提取网络连接行为特征,在训练阶段需标记大量训练样本;根据网络连接数据预处理结果,为改进的Adaboost算法提供一组弱分类器;利用改进的Adaboost算法训练强分类器;提取网络连接行为特征之后,将其输入训练好的强分类器,根据强分类器的输出结果来判断网络连接是否为入侵。本发明具有计算复杂度低、耗时短、易于在线重训练、虚警率低、且可以调节检测率与虚警率之间平衡的优点,对构筑强大实用的网络信息安全系统、促进其它网络技术研究、整体提升互联网的使用效率,提供技术上的基本保证。

著录项

  • 公开/公告号CN101060443A

    专利类型发明专利

  • 公开/公告日2007-10-24

    原文格式PDF

  • 申请/专利权人 中国科学院自动化研究所;

    申请/专利号CN200610075649.5

  • 发明设计人 胡卫明;胡卫;

    申请日2006-04-17

  • 分类号H04L12/26(20060101);H04L12/24(20060101);

  • 代理机构11021 中科专利商标代理有限责任公司;

  • 代理人周国城

  • 地址 100080 北京市海淀区中关村东路95号

  • 入库时间 2023-12-17 19:20:12

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-03-24

    未缴年费专利权终止 IPC(主分类):H04L12/26 专利号:ZL2006100756495 申请日:20060417 授权公告日:20090902

    专利权的终止

  • 2009-09-02

    授权

    授权

  • 2007-12-19

    实质审查的生效

    实质审查的生效

  • 2007-10-24

    公开

    公开

说明书

技术领域

本发明涉及计算机网络安全领域,特别涉及互联网入侵检测。

背景技术

入侵检测一直是计算机科学领域里的热点问题。自1987年由Denning创始,已经有很多方法被提出。一般认为,入侵检测技术可做如下分类。

一、入侵不外乎经历两个环节,一是数据包在网络上的传递,另一个是数据包到达目的主机,引起主机操作系统一系列的系统调用。因此从网络控制环节来看,可分为“基于主机的入侵检测”(host-based)和“基于网络的入侵检测”(network-based)两类。

基于主机的入侵检测以单个主机上的各类审计日志为数据来源,试图通过对审计日志的分析来完成对正常行为或者入侵行为的描述。它具有检测效率高,分析代价小,分析速度快的特点,而且可同时检测来自内部和外部的攻击。而它的问题是在数据提取的实时性、充分性、可靠性方面比较弱。

基于网络的入侵检测利用安装在网络不同节点上的包分析仪提取数据包的静态、动态及统计特征,建立区分正常行为或入侵行为的规则或分类器。它具有采集数据全面、准确的优势,但面临着数据量过于庞大并且无法结合操作系统特征来判断的弱点。

二、从算法实现方式上来划分,可分为两个大类:“误用检测”(misusedetection)和“异常检测”(anomaly detection)。

误用检测试图建立起入侵或攻击的行为模式描述,之后将新来的数据于之比较,符合此模式的即判断为入侵行为,不符合的则判断为正常行为。这种描述通常以规则的形式出现。一般来说,误用检测因针对入侵行为建模,其对已知入侵行为的检测率会比较高,但无法抵御新出现的攻击。

异常检测试图描述系统的正常行为,偏离正常行为较大的行为被称为“异常”,而异常则极有可能是入侵。异常检测虽然从理论上说比较优越,但由于“正常行为”难以具体描述,因此面临虚警率过高致使系统效率大幅下降、过多耗费系统管理员精力的难题。

不论是基于主机的还是基于网络的入侵检测,都已出现了相当多的方法,如基于统计度量的方法、基于数据挖掘的方法、基于信号处理的方法、基于人工智能的方法等等。近年来,将模式识别和机器学习的基本理论和方法引入入侵检测成为热点。和一般的模式识别问题类似,必须先对网络连接行为提取特征,然后根据一系列的数据样本构造分类器或者产生数据样本分布的描述。在这一领域也已经有人做过大量的工作,如基于支持向量机的方法、基于自组织映射的方法、基于人工神经网络的方法等。

虽然已经存在上述大量研究,入侵检测技术仍然不能全面走向实用。其中有两个极其重要的原因。一是入侵检测算法速度慢,达不到在线实时处理的要求;二是在较高检测率的前提下,虚警率往往也较高。高虚警率会大大浪费网络管理员的精力,造成不必要的管理负担。

发明内容

为了解决上述传统入侵检测方法计算复杂度高从而难以在线重训练且达不到实时处理要求的问题、虚警率高的问题,以及经典自适应提升(Adaboost)算法存在的过学习问题,本发明提供一种计算复杂度低、虚警率低、较好的解决了过学习问题、基于改进的Adaboost算法的互联网入侵检测方法。

为了实现上述目的,本发明提供基于改进的Adaboost算法的互联网入侵检测方法步骤如下:

在互联网上的一些关键节点处设置数据采集装置(如简单的包、流量分析仪),获取网络连接的原始数据;

根据本发明,网络连接数据预处理步骤:利用原始网络连接数据,提取网络连接行为特征,在训练阶段需标记大量训练样本,标记正常行为样本为“+1”,入侵行为样本为“-1”;

生成弱分类器步骤:根据网络连接数据预处理结果,为改进的Adaboost算法提供一组弱分类器;

生成强分类器步骤:在生成弱分类器步骤的基础上,利用改进的Adaboost算法从弱分类器组中挑选出一部分弱分类器并计算弱分类器权值,整合出强分类器。

检测步骤:对一次新的未知网络连接,提取网络连接行为特征输入给强分类器,根据强分类器的输出判断其网络连接行为为“入侵行为”或为“正常行为”。

本发明的主要特点在于:

本发明采用了不同于经典Adaboost算法的训练样本初始权值设定方式,使得检测率和虚警率达到较好的平衡。

本发明采用了避免过学习策略和不同于经典Adaboost算法的训练样本初始权值设定方式,使得本发明在保持较高的检测率的情况下,能够得到非常低的虚警率。例如,当检测率为90.477%时,虚警率仅为0.665%。

本发明构造简单的弱分类器组,并采用改进的Adaboost算法从中选取一系列弱分类器构造强分类器,这使得本发明能够解决了现有入侵检测技术计算复杂度高、不适于在线重训练的问题。

综上,本发明具有计算复杂度低、耗时短、易于在线重训练、虚警率低、且可以调节检测率与虚警率之间平衡的优点,对构筑强大实用的网络信息安全系统、促进其它网络技术研究、整体提升互联网的使用效率,提供技术上的基本保证。

附图说明

通过以下结合附图的详细描述,本发明的上述和其它方面、特征和优点将变得更加显而易见。附图中:

图1是本发明基于改进的自适应提升算法的互联网入侵检测系统训练过程框图。

图2是本发明基于改进的自适应提升算法的互联网入侵检测系统检测过程框图。

图3是基于经典Adaboost算法在1999年国际知识发现和数据挖掘竞赛(KDD CUP 99)入侵检测数据库上的检测结果。

图4是在经典Adaboost算法基础上加入本发明避免过学习策略,在KDD CUP 99数据库上的检测结果。

图5是在经典Adaboost算法基础上加入本发明可调初始权值设定,在KDD CUP 99数据库上的检测结果。

图6是利用本发明基于改进的Adaboost算法的互联网入侵检测系统在KDD CUP 99数据库上的检测结果。

图7是本发明基于改进的自适应提升算法的互联网入侵检测系统与其它已有算法在KDD CUP 99数据库上的检测结果的比较。

图8是本发明基于改进的Adaboost算法的互联网入侵检测方法中改进的Adaboost算法的流程图。

具体实施方式

下面结合附图对本发明作具体说明。应该指出,所描述的施例仅仅视为说明的目的,而不是对本发明的限制。

图1是本发明基于改进的自适应提升算法的互联网入侵检测系统训练过程框图。

图2是本发明基于改进的自适应提升算法的互联网入侵检测系统检测过程框图。

结合图1和图2对本发明作进一步的说明,给出本发明技术方案中所涉及的各个细节问题的详细解释。

根据本发明,所述网络连接数据预处理步骤:

具体地,是在互联网拓扑结构的一些关键节点处,设置简单的数据包捕获及分析仪器,收集到大量的原始网络连接数据。对这些原始数据采用Wenke Lee和Salvatore J.Stolfo提出的数据挖掘方法进行分析,可以抽取出三大组网络连接行为特征来描述一个网络连接行为。于是,一个网络连接行为就可以用一个特征向量来表示,称为样本。

具体地,网络连接行为特征,第一组称为“基本特征”,如一次网络连接的持续时间、协议类型、从源地址到目的地址的数据量等。

具体地,网络连接行为特征,第二组称为“内容特征”,如尝试登陆的失败次数、创建文件操作的次数等。

具体地,网络连接行为特征,第三组称为“流量特征”,如两秒钟内连接到同一源地址的网络连接数目、两秒钟内请求同一服务的网络连接数、连接到不同主机的连接数百分比等。

这三大组共41维特征大部分是连续型特征,即该特征维度取值连续;小部分特征是离散型特征,即该特征维度取值离散,如“协议类型”特征就只能取“tcp”、“http”和“icmp”三个离散值。

根据本发明,所述生成弱分类器步骤:

根据网络连接行为特征和训练样本的标记来构造弱分类器。

用不同的特征组合采取不同的分类算法构造一组弱分类器,这里给出三个实例。

实施例1:也即在本发明的入侵检测系统中实际应用。对每一个特征维度用所有的训练样本,根据贝叶斯规则来构造弱分类器。这样,一共可以得到41个弱分类器,即生成的弱分类器组的大小是41。

由于不同的特征维度性质不同,有的是连续型特征,有的是离散型特征,在应用贝叶斯规则时应采用不同的处理方式,下面分别叙述之。

1)对连续型特征设计弱分类器

设训练样本xi的标记为yi∈{+1,-1},在某连续型特征f上的取值为xif。我们要在该特征的值域中找到一个值θ*来对值域进行最优分割,即:

>>>θ>*>>=>arg>>min>θ>>>(>min>>(>>ϵ>θ>1>>,>>ϵ>θ>2>>)>>)>>>s>

其中 >>>ϵ>θ>1>>=>>>|>i>>>:>y>>i>>=>+>1>,>>x>if>>>>θ>|>>>n>+>>>+>>>|>i>>>:>y>>i>>=>->1>,>>x>if>>≤>θ>|>>>n>->>>>s>代表将小于等于阈值的样本判断为正样本且将大于阈值的样本判断为负样本的总错误率。而 >>>ϵ>θ>2>>=>>>|>i>>>:>y>>i>>=>+>1>,>>x>if>>≤>θ>|>>>n>+>>>+>>>|>i>>>:>y>>i>>=>->1>,>>x>if>>>>θ>|>>>n>->>>>s>代表将大于阈值的样本判断为正样本且将小于等于阈值的样本判断为负样本的总错误率。n+和n-分别代表训练样本集中正样本及负样本的数目,|·|代表集合的大小。

若最终结果是 >>>ϵ>>θ>*>>1>><>>ϵ>>θ>*>>2>>,>>s>则我们构造弱分类器如下:

>>>h>f>>>(>x>)>>=> >>>+>1>>>>x>f>>≤>>θ>*>>>>>>->1>>>>x>f>>>>>θ>*>>>>>>>s>

反之,则我们构造弱分类器如下:

>>>h>f>>>(>x>)>>=> >>>+>1>>>>x>f>>>>>θ>*>>>>>>->1>>>>x>f>>≤>>θ>*>>>>>>>s>

2)对离散型特征设计弱分类器

对于某一离散型特征f,它的值域是有限个离散点,可以将这些离散点划分为两个集合CPf和CNf。对其中的任意一种划分(CPf,CNf),都可以得到一个弱分类器:

>>>h>f>>>(>x>)>>=> >>>+>1>>>>x>f>>∈>>C>P>f>>>>>>->1>>>>x>f>>∈>>C>N>f>>>>>>>s>

但我们只让这些弱分类器当中的最优弱分类器进入最终的弱分类器组中,即我们要找到一个最优划分(CPf*,CNf*),使得在这个划分下的分类错误率最小,即:

>>>(>>C>P>>f>*>>>,>>C>N>>f>*>>>)>>=>arg>>min>>(>>C>P>f>>,>>C>N>f>>)>>>>(>ϵ>>(>>C>P>f>>,>>C>N>f>>)>>)>>>s>

与这个划分对应的弱分类器就是我们在离散型特征f上设计的弱分类器。

实施例2:从41个特征中任意挑选3个特征组合在一起,对每一个组合从训练样本集中随机选取一个子集,利用支持向量机算法都可以得到一个弱分类器,那么,一共可以得到 >>>C>41>3>>=>21320>>s>个弱分类器。即所生成的弱分类器组的大小是21320。

实施例3:弱分类器组可以不必事先生成,而是可以在改进的Adaboost算法中的每一次循环中生成。将改进的Adaboost算法当前循环的样本权值作为对样本出现概率的估计,根据决策树的C4.5算法,考察所有41维特征下每一个特征的所有取值,找到最优分裂点,以生成下一层树节点。一般来说,我们对于决策树的分裂不超过三层。

根据本发明,所述生成强分类器步骤:在生成弱分类器步骤的基础上,利用改进的Adaboost算法从弱分类器组中挑选出一部分弱分类器并计算弱分类器权值,整合出强分类器。

用改进的Adaboost算法,即在每次循环中,从已生成的弱分类器组中自动挑选出当前最优的弱分类器并赋予权值,最后将所有挑选出来的弱分类器组合起来生成强分类器。

本发明对经典的Adaboost算法进行的改进,修改了经典Adaboost算法的初始权值,并加入了避免过学习步骤。下面详述每个步骤。

根据本发明所述采用可调初始权值策略包括:基于经典Adaboost算法,利用改进的Adaboost算法即:采用不同于经典Adaboost算法的方式来设定训练样本的初始权值,通过调整初始权值中的调节参数r来达到检测率和虚警率之间的平衡。

根据本发明所述采用避免过学习策略包括:基于经典Adaboost算法,利用改进的Adaboost算法即:在每次循环中对弱分类器组中的所有弱分类器按加权错误率降序排列,对于前五次循环,选择加权错误率大于某一阈值θl的第一个弱分类器,而对于第五次之后的循环,直接选择第一个弱分类器。

具体地在图8本发明基于改进的Adaboost算法的互联网入侵检测方法中改进的Adaboost算法的流程图中:

算法的S1步骤,按下式来设定训练样本的初始权值:

>>>ω>>(>1>)>>>>(>i>)>>=> >>>>r>>n>+>>>>>>y>i>>=>+>1>>>>>>r>>n>->>>>>>y>i>>=>->1>>>>>,>>(>i>=>1>,>·>·>·>,>n>)>>>s>

其中n+和n-分别代表训练样本集中正样本的数目和负样本的数目。我们称这种初始权值的设定方式为“可调权值”。而经典Adaboost算法的初始权值这样设定 >>>ω>>(>1>)>>>>(>i>)>>=>>1>n>>>(>i>=>1>,>·>·>·>,>n>)>>,>>s>我们称之为均匀权值。与均匀权值不同,可调权值引入了一个调节参数r来调节检测率和虚警率之间的矛盾。根据不同的网络状况,我们可以选取不同的r值来使检测率和虚警率取得最佳的平衡。

具体地,将运行T次循环,每次循环都要从弱分类器组中选取一个弱分类器出来。为此,在算法的S2步骤,计算某一个弱分类器hj的加权错误率:

>>>ϵ>j>>=over>>Σ>>i>=>1>>nover>>>ω>>(>t>)>>>>(>i>)>>I>[>>y>i>>≠>>h>j>>>(>>x>i>>)>>]>>s>

其中ω(t)(i)代表在当前第t次循环中第i个训练样本的权值,为示性函数,即然后将弱分类器组中的弱分类器按加权错误率降序排列。

具体地,为解决过学习问题,采用了简单的避免过学习策略步骤S3,步骤S3包括:步骤S3.1、S3.2、S3.3,步骤S3.1判断当前循环是否是前五次循环,如果否,则执行步骤S3.2;如果是,则执行步骤S3.3。步骤S3.2设定阈值θl,然后从排好序的弱分类器中选出第一个加权错误率大于θl的弱分类器;步骤S3.3直接选择排好序的第一个弱分类器。步骤S3.2和步骤S3.3选出的弱分类器,我们均把其标记为h(t),其对应的加权错误率为ε(t)

具体地,步骤S4:判断加权错误率ε(t)是否大于0.5,如果是,则执行步骤S7;如果否,则执行步骤S5。

具体地,步骤S5:按下式计算该弱分类器的权值:

>>>α>>(>t>)>>>=>>1>2>>log>>(>>>1>->>ϵ>>(>t>)>>>>>ϵ>>(>t>)>>>>)>>>s>

具体地,步骤S6:按下式更新训练样本的权值:

>>>ω>>>(>t>+>1>)>>>>>(>i>)>>=>>>>ω>>(>t>)>>>>(>i>)>>exp>>(>->>α>>(>t>)>>>>y>i>>>h>>(>t>)>>>>(>>x>i>>)>>)>>>>Z>>(>t>)>>>>>(>i>=>1>,>.>.>.>,>n>)>>>s>

具体地,当循环终止,步骤S7输出强分类器为:

>>H>>(>x>)>>=>sign>>(over>>Σ>>t>=>1>>Tover>>>α>>(>t>)>>>>h>>(>t>)>>>>(>x>)>>)>>>s>

根据本发明图2,是本发明基于改进的自适应提升算法的互联网入侵检测系统检测过程框图。

根据本发明所述检测步骤:对一次新的未知网络连接,提取网络连接行为特征输入给强分类器,根据强分类器的输出判断其网络连接行为为“入侵行为”或为“正常行为”。

具体地,根据图2获取未知网络连接的原始连接数据,并提取其网络连接行为特征,形成一个特征向量。然后将此特征向量作为强分类器的输入,由强分类器的输出结果来判断此未知网络连接行为是否入侵行为。如果强分类器输出结果为“+1”,则此未知网络连接为正常行为,如果输出结果为“-1”,则此未知网络连接行为为入侵。

为了体现本发明的具体思想,我们实现了基于改进的Adaboost算法的互联网入侵检测系统,并在KDD CUP99入侵检测数据库上做了对比实验。

图3显示了基于经典Adaboost算法在1999年国际知识发现和数据挖掘竞赛(KDD CUP 99)入侵检测数据库上的检测结果。

图4显示了在经典Adaboost算法基础上加入本发明避免过学习策略,在KDD CUP 99数据库上的检测结果。

图5显示了在经典Adaboost算法基础上加入本发明修改初始权值为平衡权值,在KDD CUP 99数据库上的检测结果。

图6显示了利用本发明基于改进的自适应提升算法的互联网入侵检测系统在KDD CUP 99数据库上的检测结果。

图7是本发明基于改进的自适应提升算法的互联网入侵检测系统与其它已有算法在KDD CUP 99数据库上的检测结果的比较。

检测率和虚警率是一对矛盾,通常检测率高会导致虚警率也比较高。这两个指标是衡量一个入侵检测算法是否优秀的最直接且最重要指标。显然检测率越高越好而虚警率越低越好。我们的比较实验就集中在检测率和虚警率的比较上。

图3和图4对应算法的初始权值设定方式相同,只是前者对应算法存在过学习,而后者对应算法采用了避免过学习策略。可以看到,图4中在训练集和测试集上的虚警率分别为2.755%和3.143%,均低于图3中的对应数值2.766%和3.428%,而图4中在训练集和测试集上的检测率分别为99.166%和91.207%,均高于图3中的对应数值99.159%和90.738%。图5和图6对应算法的初始权值设定方式也相同,区别也只在于是否采用的避免过学习策略。我们也可以看到图6的结果要明显优于图5的结果。例如当调节参数r取0.5时,图5显示存在过学习的算法在训练集和测试集的虚警率分别为0.851%和2.200%,而图6显示本发明采用了避免过学习算法,在训练集和测试集上的虚警率分别为0.844%和0.665%,比上面两个数值都要低;图5显示存在过学习的算法在训练集和测试集的检测率分别为98.519%和90.140%,而图6显示本发明采用了避免过学习算法,在训练集和测试集上的检测率分别为98.791%和90.477%,要比上面数值都要高。以上两组数据比较都说明了我们采取的避免过学习策略在提高检测率和降低虚警率方面是非常有效的。

下面再来比较图3和图5、图4和图6。图3和图5均是存在过学习的算法,只是初始权值设定方式不同。可以看到,当用可调权值时,我们可以调整调节参数r,以使得虚警率和检测率达到较好的平衡。在图5中,取调节参数r为0.5,在训练集和测试集上的检测率分别为98.519%和90.140%,虽然这比图3显示用平均权值的算法所得的检测率99.159%和90.738%要小一些,然而虚警率0.851%和2.200%却要比图3显示的虚警率2.766%和3.428%要小得多。这表明引入了调节参数r,可以使系统在虚警率和检测率之间取得更好的平衡。比较图4和图6可以得到同样的结论。

图7是本发明基于改进的自适应提升算法的互联网入侵检测系统与其它已有算法在KDD CUP 99数据库上的检测结果的比较。例如,基于遗传算法入侵检测可获得的虚警率为0.3%,与本发明获得的虚警率0.31%-1.79%大致相当,但它的检测率79%却比本发明的检测率90.04%-90.88%要小得多。层次自组织映射可获得的检测率为90.94%-93.46,与本发明的检测率90.04%-90.88%相当,但它的虚警率2.19%-3.99%要比本发明的虚警率0.31%-1.79%高得多。从图7中可以明显的看出,本发明能够在较高的检测率下得到很低的虚警率,使检测率和虚警率达到很好的平衡。

综合以上比较,我们可以得出结论,我们看出,本发明基于改进的Adaboost算法的入侵检测方法修改初始权值设定方式,引入调节参数r,并且采用避免过学习策略,使得本发明较好的解决了经典Adaboost算法存在的问题,能够在较高的检测率下获得较低的虚警率,使检测率和虚警率达到很好的平衡。

上面描述是用于实现本发明及其实施例,各个步骤均为示例,本领域普通技术人员可以根据实际情况确定要使用的实际步骤,而且各个步骤有多种实现方法,均应属于本发明的范围之内。因此,本发明的范围不应由该描述来限定。本领域的技术人员应该理解,在不脱离本发明的范围的任何修改或局部替换,均属于本发明权利要求来限定的范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号