当前,企业内网所面临的安全威胁越来越严峻,其威胁程度已经超过了来自企业外部的威胁。因此越来越多的安全设备被部署在企业内网中的关键节点上,包括IPS/IDS,WAF等。这些安全设备每天会产生海量的告警。对于一个大型企业来说,这些安全设备一天产生的告警量会达到几十万甚至上百万条。如此巨量的告警会使得安全运维人员无从下手,进而导致运维人员无法及时有效的发现威胁度较高的攻击行为。因此需要对安全设备输出的告警进行评估,为运维人员提供具有高威胁度的告警,以提高安全运维的效率。

一、告警评估的目的

告警评估的目标是对安全设备产生的告警进行进一步的分析,找出具有较高高威胁度的告警。而那些具有低威胁度的告警并不能被视为误报。攻击者在对网络中的资产进行攻击的过程中往往会采用几种攻击方法进行多步尝试。在此过程中会触发很多的告警。这些告警中有很多是“无效”的。例如SSH登录失败告警,这类告警可能是正常用户在SSH远程登录服务器时输错密码导致,也可能是攻击者在尝试密码猜测。单纯从这类告警本身无法判断其威胁程度。对于安全运维人员来说,这类告警属于低危告警。而对于那些已经造成目标主机失陷或者具有明显攻击意图的告警是运维人员所关注的,这类告警就是所谓的高危告警。

二、基于多维度关联的告警评估

安全设备所产生的告警往往不是孤立存在的。告警之间往往会通过多种维度互相关联。其主要的关联维度包括以下几种:

  • 通过资产相关联:同一个源IP发起的攻击往往具有相似性,体现在其往往采用相同的攻击工具或者相似的攻击手法对网络中的多个资产进行攻击。

  • 通过检测规则相关联:每条告警都会有对应的检测规则,例如IPS规则,WAF规则等。通过同一条规则输出的告警,其往往具有相似的特征。

  • 通过payload相关联:告警的payload中保留着丰富的信息,包括攻击者的攻击手法,攻击者的具体操作等。通过这些特征可以对告警进行进一步的关联。

为了能够从海量告警中找出具有高威胁度的告警,除了要对告警本身进行分析以外,还要考虑告警之间的关联信息。通过对关联信息的挖掘,可以有效减少对高危告警的漏报。

三、基于图的告警关联分析

图结构可以用来表示实体集之间的关联关系。由于告警之间存在着多种关联,所以采用图模型对告警进行建模,可以更好的对告警之间的关系进行描述。有了告警关联图后,可以对告警进行更加细致的评估。

1告警关联图的构建

图结构由顶点和边组成。顶点表示数据元素,边表示数据元素之间的关系。另外,图还分为有向图和无向图。因此,在建立图分析模型时首先需要定义顶点和边,然后根据已经定义的顶点和边来选择建立有向图还是无向图。

在图分析算法中,顶点的定义方法较为灵活。在告警关联分析中,如前所述,告警之间通过多种维度相互关联。每一种关联方式可以定义一个图。下面针对以上提出的三种关联关系,分别简要介绍图的构建方法。

  • 资产关联图:网络中的资产对应着IP地址。因此在资产关联图中,可以将IP地址定义为顶点。如果需要进行更加细粒度的分析,例如需要精确到被攻击的服务,可以将IP和端口对定义为顶点。IP地址(端口)之间如果有通信,那么相应的节点之间就定义一条边。由于通信过程有明确的源/目的地址,因此资产关联图往往是有向图,如图 1所示。

图 1.资产关联图

  • 检测规则关联图:不同的告警可能是由同一条安全设备的检测规则所输出的。因此在检测规则关联图中,可以将每一条告警定义为顶点。如果两条告警是由同一条规则所输出,那么相应的两个顶点之间就建立一条边。由于告警之间没有前后关系,所以检测规则关联图一般是无向图。

  • Payload关联图:按照payload之间的关系进行图的构建,首先要对每条告警的payload的特征进行提取。由于payload的结构复杂,信息分散,因此提取特征是建模的一大难点。在提取特征的过程中可以采用多种方法,例如正则式匹配,自然语言处理等。对每一条告警的payload进行特征提取,将其映射为一个特征向量。

有了特征向量以后就可以构建图模型。首先定义顶点。顶点的定义方式有多种,可以参照检测规则关联图中的方式,将每一条告警定义为顶点。也可以将告警进行聚合,例如按照检测规则聚合,或者按照源/目的IP进行聚合等。以聚合以后得到的每一个告警集合作为顶点有很多优势,例如聚合后可以减少顶点的数量,进而减小图的规模,同时在顶点中增加了更多维度的信息等。

接下来要定义边。边的定义要考虑payload之间的关联。之前已经针对每一条告警提取出了其payload的特征向量。因此这里需要基于特征向量来定义相似度的测度。根据相似度的测度即可建立图的边。由于payload之间往往也没有前后关系,所以payload关联图一般也是无向图,如图 2所示。

图 2.payload关联图

2图分析方法

图模型构建好了图结构以后,接下来就要对图进行分析。针对不同的图所得到的分析结果也各不相同。例如采用频繁子图挖掘的方法对资产关联图进行分析,可以分析蠕虫的传播特点。对payload关联图进行关联子图分析,可以对告警和攻击行为进行聚类,并找出离群点。在实际数据中,离群点往往代表着具有高威胁度的告警。

近年来,随着深度学习技术的发展,图表示学习在图分析中得到了越来越广泛的应用。图表示学习的目标是将图中的节点映射为向量表示,同时尽可能多的保留图的拓扑信息。通过将告警的图结构的数据表示成线性空间中的向量,可以为后续的机器学习任务提供便利,例如分类方法,聚类分析等,使得告警评估更加高效。

四、总结

图数据结构可以很好地刻画网络安全设备所产生的告警之间的关联性。基于图通过对告警之间不同的关联维度进行建模,可以对告警进行细粒度的分析与评估,进而为安全运维人员提供高质量的告警,减轻运维人员的压力。

内容编辑:天枢实验室 吴子建 责任编辑:肖晴 王星凯

声明:本文来自绿盟科技研究通讯,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。