20210316 -
(本人非专业人士,请谨慎参考文章内容)
0. 引言
在之前的文章中,谈到过为了进行降低告警的数量,通过告警关联的方法,将告警日志降低;关于这部分内容,一直只是知道需求,但对于具体的技术不是很理解,通过搜索关键词,在谷歌学术上找不到太多的相关内容,有的也是一些利用频繁项挖掘的方法。(可能是我搜索的关键词不对,我觉得这部分应该是一个非常重要的方向)
从这部分来说,能够有研究的人,应该是真实有数据的厂商或者企业,毕竟这种数据一般来说,如果不脱敏,很难拿到数据,这也可能是学术研究缺失的一个原因。
之前的时候,看了一篇文章《【攻击意图评估:序】误报太多?谈海量告警筛选》,今天重新翻出来,同时加深自己的思考,感觉挺有收获。
1. 研究背景
企业中为了安全,都会部署特别多的安全防护软件或者设备,那么这些软件设备每天的告警就会特别多;之前我在内网的网络出口部署过一个IDS,采用的规则集是网上公开的规则集,这个内容每次告警都特别多,实际上这些并不是真正的威胁,而且都是误报,搞得我只能把这些规则全部都取消。从这个角度不难看出,对于IDS来说,存在误报的可能性。
在文章[1]中,没有具体提这个内容,从他的文章内容上来看,对于报警的内容是值得信任的,误报不是重点关注对象,而是说,由于规则的敏感度问题,导致了大多数告警可能并不具备攻击性,或者说仅仅是一些试探性的内容。
上图中,就展示了这部分内容,可以从图中看出,真实的有危险度的告警信息,数量一般会比较少。而本篇文章的主旨,就是找到真正找到需要人工介入来进行分析的,有价值的告警信息。
注:个人认为,对于一个规则经过仔细调优的IDS设备来说,虽然有些告警的价值不高,比如一些初级攻击者的信息刺探,或者一些僵尸网络的扫描流量也好,这些对于IDS或者防护设备也好,他们已经完成了自己的工作,尽到了自己的职责。而对于人工分析的过程来说,这些告警信息太多太多,无法介入太多人力来进行分析,而真正的攻击也的确可能存在于这些攻击中,所以,告警关联或者说告警日志挖掘,目的就是,如果从这些日志信息中找到更重要的信息,从而减少人工消耗的时间。
2. 研究内容
在文章[1]中,由同一条规则引发了两个事件来入手,两条规则得到的结果虽然都是高危,但是只有其中一条是真正的攻击内容。由此引出了目前的一些方法的缺陷。例如基于危险度的筛选方法。
- 风险筛选法:关注高风险等级的告警
- 规则筛选法:关注特定防护规则产生的告警
- 目标筛选法:关注关键资产相关的告警
- 失陷筛选法:关注攻击源为内网主机的告警
这些方法虽然都有一定的道理,但是都存在很多缺陷。由此引出了本篇文章中提到的了一些前沿的技术:
- 攻击链筛选法:设法将告警对应到标准攻击步骤,关注构成攻击链的告警
- 威胁情报筛选法:利用云端共享信息,关注恶意IP相关的告警
- 异常检测筛选法:关注罕见类型、罕见端口等在统计分布中孤立/离群的告警
但这些方法也或多或少存在缺陷,导致无法在企业中落地。威胁情报筛选法虽然的确能够解决很多问题,但是受到情报源的限制,情报是否准确,情报是否完备。当然,这部分的信息是非常值得参考点,通过这一点,能够共享一些安全研究成果。
文章的最后,提出了作者的猜想,从告警日志中,推理出攻击背后的意图。从而引出了将攻击过程映射到攻击链的想法,关于具体的内容在作者的后续文章中进行分享。
从这个角度而言,其实也是一种关联的过程,只不过,这种手法加入了抽象的概念。
3. 思考
其实,在上午阅读这篇文章的时候,还有很多思考,但是当时都没有具体记录,下面简单记录几个我还记得的关键想法。
- 利用相似度比较的手法,将日志进行具备,比如说某些日志,可能是大部分外部IP误触的导致,是否可以通过这个角度先筛除一些;个人认为应该从初步的角度出发,一开始仅仅比较某些部分的相似度,后续逐渐蔓延,通过将人工的经验加入
- 利用关联的手法,能够将一些日志关联起来,这样多条日志变成一个安全事件,这正是之前的时候看到的告警关联的手法,像是SIEM的内容。
- 人工经验的加入,可能说,某些规则的确就是比较敏感,而当前发生了安全事件,如果确定这条规则下的某些日志的确是某些字段出现之后,就不可能是报警,是不是可以加入这种比较过拟合的方法,让系统记录下来,这些日志作为低强度的告警
最后,我觉得,告警筛选的过程,如果一个企业没有专门的安全部门,仅仅是部署了各种设备,那么这种被告警淹没是必然的事情。必须对规则调优,同时加入对日志分析的阶段。
之前的时候也提到过,在美团的一篇入侵检测文章中,减少企业暴露的攻击面,这一步很关键。