关于数据驱动事件调查的思考
基于事件调查的分析能力提升
在实际的情况下,各种安全设备、系统会产生海量的数据。对于企业来说,很重要的一件事情,就是要从这些疑似的安全告警中,根据一些模型和算法提取有价值的安全事件。
众所周知,传统的安全设备,往往都是以特征检查为主,模型检查的能力受限(短时间窗口),也比较弱。那么,在这个基础之上,我们需要做的一件事,就可以是写好确定的分析模型,这个分析模型需要结合安全方面的专家经验,也需要结合数据分析、机器学习学习技术(比如异常检测)。
模型可以帮助我们以一个效率更高的方式对告警数据做一个初步的判断,把人工经验转化为了机器脚本去执行。但模型偏向于的单个能力的检查。比如模型能检查钓鱼邮件行为,但却不能梳理出一个APT事件。因为对于模型,我们的定义是让其做好特征检查做不到的事情,但没有要求它能到一个完整事件的梳理。
此时我们就可以引入分析能力这个概念。分析能力所涵盖的事情,是基于事件而设计的,而不是单个能力的检查。在基于数据驱动的应急响应过程中,分析师所需要做的,简单来说就是从数据(告警、流量等)中找到一个真实的入侵事件,而事件包含的内容则可以参考3W1H(Who When What How)。而这个找3W1H的过程,我们在经过特征、模型这两个阶段后,已经能对单方面攻击行为有一个初步的筛选了,比如某某IP在某某时间,对某某资产进行了XXX攻击。也就是,经过了特征和模型两个阶段,我们对3W初步进行了解决。但还剩下1H,攻击者是如何做到这个攻击的,并且要对3W做更精准的研判。
此时,我们的分析平台就可以来亮相了。分析平台单从技术上来说,它应该具备上面我们所受的分析能力,并且这是它的核心。同时,作为一个与用户直接接触的平台,它还承担着业务能力、管理能力等其他产品方向的功能。
那么,分析平台的分析能力如何体现呢?
我们先来看一个人类分析师需要做哪些事情。首先,他需要对入侵事件进行调查,这是首要的。入侵调查后,我们可以得出一个围绕3W1H的报告。然后,他需要基于这个事件做一个风险点识别(从更大的角度,哪里出的问题体现了系统的哪个方面有问题),做一个风险处置(如何让这个风险点不再造成危害)。
回到我们刚刚到问题,分析平台的分析能力,应该如何区别于特征和模型呢?对应上面对人类分析师所做之事的简单概括,我们可以知道,分析能力这项核心能力的体现,是要在一个更大的层面,即不再局限于某个事件,而是把多个事件整合起来,产出Knowledge。这个Knowledge可以由很多形式展现,以下列举几个我个人认为的:
- 同源分析
- 事件归并
- 攻击评估
- 攻击者画像
- 攻击者能力
- 攻击者行为
- TTPs(技战术组合)提炼
- 威胁趋势、预测
- 威胁狩猎
所以,我们基于事件调查所进行的分析能力提升,总体来说是这三个阶段:特征——模型——分析。目前,特征阶段已经比较成熟,但覆盖率和精准率还有待提升。模型阶段,目前比较好的方案是结合安全方面专家能力和机器学习算法,在某个攻击行为上,检测的覆盖率和精准率已经挺不错了,但因为攻击、漏洞的千变万化,以及各种组合和绕过,网络环境和生产环境的错综复杂,使得复杂情况下的检测情况不是很完美。而分析阶段,目前不管是商业化的还是开源的,还是学术届的研究,只能说是一个对分析师的辅助,大多是工具性质,只能进行半自动化的利用。
未来就在眼前,把握机会。