一种基于报警关联分析的未知攻击场景检测方法与流程

文档序号:17072122发布日期:2019-03-08 23:24阅读:272来源:国知局
一种基于报警关联分析的未知攻击场景检测方法与流程

本发明涉及网络安全技术领域,特别涉及一种基于关联分析的未知攻击场景检测方法。



背景技术:

随着互联网技术的飞速发展,随之而来的安全问题也层出不穷。入侵检测系统以其高效、快速、隐蔽性好等优点被广泛应用于安全防护体系中。入侵检测技术(ids)是一种主动保护自己免受攻击的一种网络安全技术。作为防火墙的合理补充,入侵检测技术能够帮助系统对付网络攻击,扩展了系统管理员的安全管理能力(包括安全审计、监视、攻击识别和响应),提高了网络安全基础结构的完整性。入侵检测系统在防火墙之后对网络活动进行实时检测。许多情况下,由于可以记录和禁止网络活动,所以入侵检测系统是防火墙的延续。它们可以和防火墙与路由器配合工作。ids扫描当前网络的活动,监视和记录网络的流量,根据定义好的规则来过滤从主机网卡到网线上的流量,提供实时报警。

但传统的入侵检测系统往往会产生数量庞大的报警信息,给管理人员分析、防御工作带来了挑战。

面对日益复杂的网络攻击形势,通过分析报警信息,提取多步骤攻击规则,能够更好地显示攻击者的意图和攻击方式,进而做出相应的防御措施。由于大量的重复报警和误报的存在,大大降低了真实报警的可见性,使得管理员难以从纷繁芜杂的事件中准确识别出真正的攻击和威胁的报警,且由于检测引擎缺乏对序列攻击的分析难以重组整个攻击场景,在遭受重大序列攻击时使我们很难对攻击者取证和防范再次类似攻击的能力,更难以及时更新保护区的系统的漏洞。由于入侵检测系统中规则库的生成过度依赖人工分析,如何利用报警之间的关系快速生成攻击场景,从而丰富规则库的内容就显得尤为重要。

现有方法中,冯学伟于2014年发表在《计算机研究与发展》的论文《一种基于马尔科夫性质的因果知识挖掘方法》中实现了识别多步攻击过程、感知网络威胁的方法。然而该方案在分析时没有考虑时间因素,可能将某一时间段内针对同一目标不同种类的攻击混为一谈。王泽芳于2016年发表在《西南科技大学学报》的论文《一种新的多步攻击场景构建技术研究中》中采用滑动窗口的方法来构建多步攻击场景,然而该方法没有考虑ip地址等网络结构相关性,不能很好地区分同一时间段不同攻击者针对不同目标的攻击行为。

因此,设计一种综合考虑时空因素,关联分析报警信息,识别未知威胁或变种攻击行为的检测方法是急需解决的问题。



技术实现要素:

本发明提出了一种基于报警关联分析的未知攻击场景检测方法,该方法能有效解决现有入侵检测系统报警信息数量大、内容零碎的问题,通过构建多步骤攻击规则库,能够有效识别原先规则库中未知的变种攻击行为,提高入侵检测的效果。

为实现上述目的,本发明提供如下技术方案:

一种基于报警关联分析的未知攻击场景检测方法,包括以下步骤:

(1)预处理多源海量的入侵报警,生成报警集合;

(2)聚合步骤(1)生成的报警集合,生成初始攻击序列集合;

(3)关联分析步骤(2)生成的初始攻击序列集合,生成多步骤攻击规则集合;

(4)将步骤(3)生成的多步骤攻击规则集合与已有攻击规则进行相似度分析,实时添加攻击规则,生成入侵检测系统中的新攻击规则库;

(5)入侵检测系统根据新攻击规则库对入侵行为进行入侵检测。

所述步骤(1)中生成报警集合的过程包括:

(1-1)识别各厂商的入侵检测系统报警数据格式;

(1-2)格式化ids报警数据,利用正则表达式提取ids报警中报警名称、报警号、报警等级、源ip、目的ip、源端口、目的端口和报警时间八个字段,构成报警信息;

(1-3)统计指定时间范围内的报警信息,生成报警集合。

具体地,在步骤(1-2)中,报警信息的格式为a=(name,sid,level,srcip,desip,srcport,desport,timestamp)

其中name为报警名称;sid为报警号;level为报警等级;srcip是源ip地址;desip是目的ip地址;srcport为源端口;desport为目的端口;timestamp为报警时间。

所述步骤(2)中聚合报警集合,生成初始攻击序列集合的过程包括:

(2-1)设置报警次数阈值,统计报警集合,若报警号出现次数大于阈值,报警等级为高危或者中危,则将该报警号列入目标报警号集,生成目标报警号集;

(2-2)根据专家知识,对目标报警号集进行攻击分类,所述攻击分类包括缓冲区溢出、dos攻击、web攻击和其他攻击四类;

(2-3)对目标报警号集生成初始攻击序列集合seqdsid,其中dsid为目标报警号。

所述步骤(2-3)中生成初始攻击序列集合seqdsid的过程包括:

(2-3-1)按照时间关系得到目标报警信息集alsid,

aldsid={a1,a2,...,am}

其中,m为不重复报警信息的个数,ai的报警号不为dsid,am的报警号为dsid,ai-1发生时间早于ai;

(2-3-2)按照ip地址的关联性筛选目标报警集合,对于被筛选的报警am,满足:

若am的报警号属于缓冲区溢出或者web攻击,对于集合aldsid中的ai,则要求其srcip、desip与am中srcip和desip值相等;若am的报警号属于dos攻击或其他攻击,对于集合aldsid中的ai,则要求其desip与am中的desip值相等,不满足条件的报警从集合中删除;

(2-3-3)对于多条报警号为dsid的报警,分别生成相应的最终生成报警号dsid对应的初始攻击序列集合:

所述步骤(3)中关联分析初始攻击序列集合,生成多步骤攻击规则集合的过程包括:

(3-1)定义关联分析参数,包括最小支持度阈值supmin和最小置信度阈值confmin;

(3-2)利用apriori的思想,遍历初始攻击序列集合seqdsid,计算长度为1的序列的支持度大小,若支持度大于最小支持度阈值supmin,则加入1-候选集,关联分析生成候选集;

(3-3)对于候选集中的序列,计算各序列的置信度,若置信度大于最小置信度阈值confmin,则加入1-频繁集,关联分析生成频繁集;

(3-4)连接候选集中的报警,每次连接都生成长度加1的候选集,接着计算出相应频繁集,循环生成攻击规则集合;其中,循环中止的条件为无法构建k-候选集;

在步骤(3-4)中,循环中止的条件为无法构建k-候选集,即,没有任何长度为k的序列的支持度大于最小支持度阈值supmin。

(3-5)将目标报警号dsid挖掘出的所有频繁集构成攻击规则集合ruledsid,对于集合中的序列进行归并。

在步骤(3-1)中,支持度为攻击规则在初始攻击序列集合中出现的次数,最小支持度为阈值参数,随着关联分析过程动态变化,规定了攻击规则的最小支持度;最小置信度为人工设定的阈值参数,规定了子序列的最小置信度;confmin攻击规则在初始攻击序列集合中出现的频率,表示攻击规则发生的概率。

具体的,在步骤(3-5)中,频繁归并集为包含所有频繁集的集合;若频繁归并集中有序列a和序列b,序列a是序列b的子集,且序列a的支持度等于序列b的支持度,则只保留序列b,最终生成基于目标报警号dsid的攻击规则集合ruledsid。

所述步骤(3-1)中最小支持度阀值supmin为:

supmin=max(sup0,supdy)

其中,sup0为初始人工设置的最小支持度,supdy为动态变化的支持度值:

其中,sup为按照降序排列的支持度集合,若sup的长度大于5,则选择sup集合中第5个值,否则选择sup集合中最后一个值;

sup的定义为:

sup={sup1,sup2,...,supp}

其中,p为已挖掘出的攻击规则数目,sup1>sup2>...>supp。

所述步骤(3-1)中最小置信度阈值confmin为:

其中,ruletimes为攻击规则出现的次数,len(seqdsid)为初始攻击序列集合seqdsid的长度。

所述步骤(4)中多步骤攻击规则集合与已有攻击规则进行相似度分析的过程包括:

(4-1)对于ruledsid中的攻击规则rule,定义相似度sim,与攻击规则库匹配:

其中,msteps代表匹配上的报警号数量,asteps代表rule的长度;

(4-2)定义相似度阈值,计算攻击规则rule与已有攻击规则的相似度,若相似度为1则跳过该rule;相似度大于相似度阈值,则提示管理员添加该攻击规则rule。

其中,若相似度大于相似度阈值,则可以展示已有规则,给管理员提供参考意见,提示管理员添加该攻击规则rule。

所述步骤(5)中,根据新攻击规则库对入侵行为进行入侵检测的过程为:提取针对相同目的ip地址的入侵报警号,若报警号序列匹配上攻击规则库中任意规则中的两个及其以上报警号时,则初步满足与攻击规则库的匹配,此时提示下一步可能的攻击行为。

本发明提供的方法是基于入侵检测系统(intrusiondetectionsystem,以下简称ids)的报警信息预处理、关联分析、相似度分析的多步骤攻击规则生成的方法。

与现有技术相比,本发明的有益效果为:本方法通过提取报警信息的多字段并进行分类,利用关联分析与改进的apriori算法,实现ids报警的关联场景构建;采取相似度分析,筛选相似的变种攻击规则,并可以实现自动化添加规则,生成新的攻击规则库,入侵检测系统再根据新的攻击规则库对入侵行为进行入侵检测,生成报警信息,此时能够有效识别原先规则库中未知的变种攻击行为,提高入侵检测的效果。本发明提供的入侵检测方法具有易于实现、拓展性强、参数配置灵活的优点。

附图说明

图1为本发明提供的方法流程示意图。

具体实施方式

为使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不限定本发明的保护范围。

如图1所示,本发明提供一种基于报警关联分析的未知攻击场景检测方法,包括以下步骤:

s1.预处理多源海量的入侵报警,生成报警集合。

s11.识别各厂商的入侵检测系统报警数据格式。

s12.格式化ids报警数据,利用正则表达式提取ids报警中报警名称、报警号、报警等级、源ip、目的ip、源端口、目的端口和报警时间八个字段,构成报警信息。

在本实施例中,以东软ids日志为例,挑选事件号、事件名称、优先级、源ip、目的ip、源端口、目的端口、报警时间这八个关键字段。具体的,若某条报警a=(ftpcwd~攻击尝试,240,高,172.19.252.104,202.107.201.91,15241,21,2015-10-1113:41:26),则此条报警表示172.19.252.104:15241的主机在2015-10-1113:41:26企图对202.107.201.91:21的主机进行ftpcwd~攻击尝试,报警号为240,报警等级为高。

s13.积累默认一小时的报警数据,生成报警集合。

s2.聚合步骤s1生成的报警集合,生成初始攻击序列集合。

s21.生成目标报警号集。

具体的,在本实施例中,设置报警次数阈值为3,若报警集合中报警号出现次数大于阈值,且威胁等级为高危或者中危,则将该报警号列入目标报警号集。

s22.目标报警号分类。

具体的,在本实施例中,根据专家知识,对报警进行攻击分类,分成缓冲区溢出、dos攻击、web攻击和其他攻击四类。此时ftpcwd~攻击尝试为缓冲区溢出。

s23.对各目标报警号生成初始攻击序列集合。

由于ftpcwd~攻击为缓冲区溢出攻击,因此要求源ip和目的ip同时相同。挑选出与ftpcwd~报警同源同目的的报警,并按照时间发生的先后顺序得到攻击序列集合seqdsid。

s3.关联分析步骤s2生成的初始攻击序列集合,生成多步骤攻击规则集合。

s31.定义关联分析参数。

具体的,在本实施例中,设置初始人工设置的最小支持度sup0为3,定义supdy为动态变化的支持度值,第一轮挖掘出编号177、192、240与1390的报警,它们的支持度分别为10,7,4,6,则支持度集合suplist=(10,7,6,4)。

suplist的长度小于5,所以supdy=4。

则第一轮的最小支持度阈值supmin=max(3,4)=4。

最小置信度阈值confmin为:

其中,ruletimes为攻击规则出现的次数,len(seqdsid)为初始攻击序列集合seqdsid的长度。

s32.关联分析生成候选集。

具体的,利用apriori的思想,遍历初始攻击序列集合,计算长度为1的序列的支持度大小,若支持度大于最小支持度阈值,则加入1-候选集。

s33.关联分析生成频繁集。

具体的,对于候选集中的序列,计算各序列的置信度,若置信度大于最小置信度阈值,则加入1-频繁集。

s34.循环生成攻击规则集合。

具体的,连接候选集中的报警,每次连接都生成长度加1的候选集,接着计算出相应频繁集;循环中止的条件为无法构建k-候选集,即没有任何长度为k的序列的支持度大于最小支持度阈值。

s35.对各目标报警号生成攻击规则集合。

首先将目标报警号240挖掘出的所有频繁集构成攻击规则集合rule240;对于集合中的序列进行归并,若序列a=(1390,240),序列b=(177,1390,240),则最终保留b。

s4.将步骤s3生成的多步骤攻击规则集合与已有攻击规则进行相似度分析,实时添加攻击规则。

s41.匹配攻击规则库。

具体的,在实施例中,若编号240的报警号已有规则(176,1390,240),则相似度sim=2/3=0.67。

s42.定义相似度阈值,默认值为0.5。

具体的,在实施例中,计算攻击规则rule与已有攻击规则的相似度,若相似度为1则丢弃rule;若相似度大于相似度阈值,则提示管理员添加该攻击规则rule。

具体的,相似度大于阀值0.5,提示管理员添加该攻击规则rule,完成攻击规则的优化。

s5.入侵检测系统根据新攻击规则库对入侵行为进行入侵检测,生成报警信息。

具体的,在实施例中,编号240的报警号已有规则(176,1390,240),若此时针对某目的ip已有报警176,1390,则进行报警,并提示下一步可能的攻击行为是240。

以上所述的具体实施方式对本发明的技术方案和有益效果进行了详细说明,应理解的是以上所述仅为本发明的最优选实施例,并不用于限制本发明,凡在本发明的原则范围内所做的任何修改、补充和等同替换等,均应包含在本发明的保护范围之内。

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