文章导航
科研笔记:告警聚类算法框架
告警聚类算法框架
IDS告警聚类算法的一种模型框架。
1. 问题背景
对于IDS系统中每天会产生大量告警,如果一条一条处理会非常复杂,超过人工能力。我们需要把这些告警进行归并和关联分析,找到常见的模式进行批量处理。——告警聚类就是对告警进行归并的过程,是整个工作的基础。
告警
由一个固定的属性向量 组成。 在我们的场景中为:源目的IP、端口、告警厂商、告警类型、源目的设备类型、攻击结果、威胁程度等。
真实的攻击或业务行为
引发一组告警 ,所有关联告警集合由 给出。 这些由同一种原因引起的系列告警,具有如下特征:
- 告警属性特征相同或大部分相似(同源、同目的、同类型、同威胁程度、同设备类型等)。
- 构成简单,一般为单中心型,或者是典型二分图,源和目的设备类型相同。
- 具有原子性、不可再分性,仅涉及入侵过程的一步。
- 对于上一步得到的原子集群的集合
,与多步攻击 相关的多个原子集群 是 的子集,所有多步攻击的集合是 。 告警聚类就是在
中使用各种方法,得到一个告警聚类 ,使得 尽可能地接近 。
2. 评估指标
对于不同聚类算法得到的结果
1. 告警角度
- 每个集群
中大部分告警特征相似。
告警
2. 拓扑角度
- 大部分集群
都是单中心型或简单型(一对一)。
——因为多中心型可以看作多个单中心型的复合,所以单中心型更具备原子性。
借用GAC论文中对集群告警流图拓扑类型线性化指标:
这三个指标哪个最大(最接近于1),就说明集群更倾向于哪个拓扑分类。其中
每个告警集群的原子性指标为:
- 二分性很好:告警链很少(既是源也是目的的设备很少)。
定义聚类结果的二分性指标:(Bipartite)
3. 设备角度
大部分集群
根据基尼不纯度的定义:
我们的需求是节点种类越单一越好,所以需要反其道而行之,定义集合基尼纯度:
定义集群
总设备纯度:
4. 总性能指标
上面几个小节总共从三个方面给出了衡量聚类效果的四种指标,分别是:
总平均轮廓系数:
他们的区间都被归一化为
这几个指标分别用来刻画:集群内告警属性相似度、集群拓扑原子属性、集群二分属性、集群中设备纯度。
所以总性能指标为:
3. 优化模型
结合上一节内容,我们给出IDS告警聚类算法的一种优化框架:
在对告警集合
同时,考虑到在此定义下,每条告警是一个集群的方法总指标最优,这显然是不合理的,所以需要加入限制条件使得至少有两个以上告警被归并到同一个簇中:
为了松弛约束,可以定义聚类率:
松弛后的优化模型为: