Scalable Alerts Modelling and Threat Assessment
WANG Lan-jia1, DUAN Hai-xin2, LI Xing2
(1. Dept. of Electronic Engineering, Tsinghua University, Beijing 100084, China;
2. Network Research Center of Tsinghua University, Beijing 100084, China)
Abstract: Alerts correlation is useful for intrusion detection systems. A new model to correlate and analyze alerts is proposed in this paper, focusing on the scalability and practicability. Making use of information such as IP address and time stamp, this alerts model can partition and condense the flood of alerts, reflecting the attack episodes. Then based on the alerts model, a method is designed to assess the threat of malicious activities on networks. The evaluation on real IDS alerts validates the reasonability of the alerts model and effectiveness of the threat assessment method.
Key words: intrusion detection; alerts correlation; threat assessment
1 引言
传统的入侵检测技术一般分为两类,误用检测与异常检测。误用检测由于能提供较精确的关于攻击类型的信息,检测技术也较成熟,广泛应用于基于网络的入侵检测系统。然而,随着Internet规模和流量复杂性的不断增加,误用检测技术也面临着新的困难和问题。
首先是虚警的问题,即人工分析提取的特征可能与正常数据相匹配。第二是告警泛滥。由于告警并非代表入侵成功,某些类型的告警(如端口扫描、漏洞探测等)可能大量出现,对网络安全的准确监控造成困难。第三是告警上下文相关。告警的属性及影响可能与其他告警相关,因此仅利用IDS的基本告警所获得的信息十分有限。
为解决上述问题,许多研究者提出对告警进行“关联”,以获得更多信息,提高检测效果。现有的告警关联技术可大致分为两类。一类是主要通过研究告警间的相似度进行告警的聚类[1][2][3],另一类方法则分析单个攻击事件的前因和结果事件,形成整个攻击场景[4][5][6][7]。
上述第一类方法中,特征的选择和相似度的定义较复杂,它们决定了关联结果的正确性。后一类方法的限制是它需要一个大规模的知识库,否则只能有小部分告警可以被分析。因此,要实现这些方法,配置一个告警关联系统的前期准备工作就具有很高的难度,限制了其应用性和可扩展性。
针对以上问题,本文提出了一个新的告警关联模型。由于攻击过程常由一系列基本的步骤组成,根据地址、时间等信息,此模型将大量的告警划分为不同的burst,对可能属于同一攻击过程的告警进行关联,有效解决告警泛滥的问题。在此模型基础上,本文设计了对攻击活动的威胁性的估计方法。此方法综合利用burst的多种属性,对其威胁进行量化。它的结果能够有效辅助网络管理员发现威胁较大的攻击活动。本文通过对实际IDS告警数据的实验,验证了此告警模型的合理性和威胁估计方法的有效性,并对实验结果进行了进一步的分析。对比前述相关工作,本文方法只需要简单的参数设置,就可在线工作于一般的网络环境下。
本文的结构如下:第2节,提出可扩展的告警关联模型;第3节,设计基于告警模型的威胁估计方法;第4节,实验验证与分析;第5节,结论。
2 可扩展的告警关联模型
本文提出的可扩展的入侵告警关联模型称为burst告警模型(alert burst model),用于对一般的IDS告警进行分析。在本模型中,定义了不同层次的三个基本概念:alert(告警),event(事件)和burst(突发)。
Alert: 误用检测中,当一个数据包匹配了一条预定义的攻击特征,就产生一个告警。burst模型中的alert就是通常IDS输出的告警,因此可由其源地址、目的地址、规则(即特征)和时间戳所决定,表示为四元组<src_ip, dst_ip, sig_id, ts>。其中,sig_id是规则的唯一ID标识。
Burst: 一次攻击活动经常会触发集中在一段时间内的一系列告警,这些告警一定程度上反映了攻击过程。在本文中,使用一个简单的规则将所有的alert划分为burst:在一个burst中,任意两个相邻alert间的时间间隔不超过T秒(此处的相邻关系由alert的时间顺序决定);同时任意两个同一源地址的burst间的时间间隔应大于T秒。这样,任意源主机的活动都可表示为一个或多个burst.
Event: 基于分析需要,burst又划分为一系列event,它由具有相同特征和目的IP的alert组成。因此,若给定burst,一个event就可由二元组<sig_id, dst_ip>所决定,代表攻击活动的一个组成部分。
假设burst b中包括M个特征,则特征m (m=1,2,…,M)属于一系列event (即这些event的特征均为m),其中,event 的第一个alert的发生时间早于event 的第一个alert. 显然,这些event的目的地址均不相同。
Burst告警模型利用了源地址和时间信息来关联告警。一个burst反映了一个源主机在一段时间内的活动。利用此模型,对有限数量的burst的处理代替了对大量原始告警的处理,因此可很大程度地减少网络管理员的工作量。同时,由于只需设置参数T,burst的构造十分易于实现。
3 基于burst告警模型的威胁估计方法
本节将主要解决如何量化一次攻击过程的威胁性问题。由于burst可反应攻击过程,本方法的目标就是估计每一burst对其受害主机(即目的主机)的威胁程度。
本方法中,将event作为估计的基本单元,任一burst的威胁X定义为
(1)
由式(1),任一burst的威胁是其所有event的威胁之和。考虑event 与其他event间的相关性,将式(1)进一步写作
(2)
下文将对式(2)中的变量含义进行详细说明。
特征威胁系数sm: 式(2)中,sm为特征m的威胁系数,表示若特征为m的event非虚警,其可造成的影响或破坏程度。一般的,sm>0,且值越大表示威胁性越高。
主机权重wn: 在一定范围的网络中,我们对不同主机的安全性的关注程度可能不同。因此,本文使用权重wn>0来表示主机n的重要性。
事件置信度: 前文已提到,由于一些规则做不到只匹配恶意数据包,IDS会产生虚警。同时,在很多情况下很难通过修改规则使得虚警大幅度减少。因此,本文采取在威胁估计阶段,通过一定的方法来减少虚警的影响。
这里,置信度表示event 不是虚警的概率,故由以下因素所决定:
基本置信度c`m:基本置信度c`m∈(0, 1]由特征m本身决定,因此,具有相同特征的所有event具有相同的基本置信度。
多事件支持度pm:表示具有特征m的多个event对event 的置信度的影响程度,并令pm∈[0,1],值越大表示影响越大。结合c`m和pm,的置信度定义为:
(3)
由式(3)可知,若pm=1,则当nm→∞时,c``m→1。
组合特征支持度qmi (i = 1,2,…, I): 表示event的可信度可能受其他特征event的影响,c``m的增加程度。这里,预先定义针对特征m的条件i,同时设置qmi的大小,且qmi(0, 1]。此时
(4)
基于上述对变量sm,wn和的讨论,任一burst的威胁X最终可写作:
(5)
其中式(5)中的部分参数是基于专家知识和工程经验来确定的。实现时,可随时根据burst中event的分布情况对其进行调整。尽管看似参数不少,但下节的实验中将看到,简单的参数设置就能获得很好的结果,而进一步的调整则用于完善系统性能。
特别声明:本站注明稿件来源为其他媒体的文/图等稿件均为转载稿,本站转载出于非商业性的教育和科研之目的,并不意味着赞同其观点或证实其内容的真实性。如转载稿涉及版权等问题,请作者在两周内速来电或来函联系。