使用 Elastic Stack 实现分布式告警

blog-security-radar-720x420.png

现代计算环境和分布式员工队伍为传统的信息安全方法带来了新的挑战。很多传统的威胁检测和响应策略都依赖同质化环境、系统基线和一致的控制实施。这些策略的构建基础是关于环境的传统假设;但是随着云计算、远程工作以及现代文化的发展,这些假设在您的环境中可能已经不再适用。

Elastic 采用分布式设计,从我们的技术到我们的员工队伍,也都遵循这一设计原则。Elastic 员工能够根据需要,灵活选择工作地点、工作时间和工作方式。这包括他们使用的技术、他们需要的配置,以及他们偏好的软件。然而我们在支持这一关于工作效率的现代文化的同时,也为信息安全带来了新的挑战。 

由于环境现在要允许用户完成高风险活动,例如创建新用户、配置网络代理,以及在 IT 不介入的情况下安装新软件,我们如何确保环境的安全呢?如何在没有活动基线的前提下将检测应用至环境呢?由于我们在很多不同的地点甚至国家/地区运营业务,如何在整个现代企业内扩展我们的检测和响应实践呢?我们如何在没有传统安全运维中心 (SOC) 的情况下实现这一点呢?

很简单。我们通过分布式告警框架将告警发送给最合适的人,由其来确认或拒绝相关活动。 

分布式告警让我们的威胁检测和响应团队能够自动识别有风险的活动,以自然语言向我们的员工发送消息,并要求员工确认此活动。如果 Elastic 员工不认识此活动,告警会立即升级到我们的事件响应团队以采取补救措施。下面是发送给我们员工的分布式告警的一个示例,告警内容是正在将一台新的 MFA 设备注册到员工的帐户上:

如果员工认识这一活动,则他们点击 YES: This Was Me(是的,这是我)按钮。将会向员工显示一条提示,让其提供任何更多信息来帮助解释此活动或对机会进行微调。

在后端,将会创建一个新的安全案例,告警会关联至此案例,详细信息会被记录下来,此案例会由于“无影响”而被关闭,而且在每日报告中会有一条汇总信息。
如果员工不认识这一活动,则他们点击 NO: Escalate to InfoSec(否,升级至 InfoSec)。这将会生成一个新的安全案例,创建一个新的 Slack 频道,邀请事件响应团队和报告人加入此频道,并向团队提供任何其他信息。

通过将这些活动直接发送给最适合确认此活动的人员,我们不仅能够维持我们检测结果真阳性/假阳性的比率,而且如果它们是定期出现在我们环境中的威胁实施者,我们还能够针对带来高风险的活动缩短所有这些“困难”检测的补救时间。 

什么才是分布式告警的良好备选活动呢?

分布式告警的良好备选活动指为您的安全态势带来很高风险但缺少上下文也不显示恶意的活动。例如,为用户触发“已注册新 MFA 设备”信息的单一告警并不针对活动意图提供任何上下文。用户会定期向其帐户上添加新的 MFA 设备。然而,如果这是威胁实施者的设备,我们会认为帐户被盗,因为使用合法的多因素验证设备,所有后续身份验证请求都会成功完成。这一场景为威胁检测和响应团队提出了一个难题。在无须调查这些事件的每条详细信息的情况下,我们如何验证这些缺少上下文的活动呢?我们分发这些告警。

为您提供一些额外的背景信息,这里是我们的威胁检测策略。我们有几个不同想法,从而完整涵盖系统活动。

我们将事件分为三个不同类别:

  • 日志:系统上发生的所有事件。调查时通常会包含日志,以了解发生了什么。日志事件不能表示存在任何可疑活动。它只是所发生事件的一条记录。
  • 信号:我们利用 Elastic 安全应用程序来生成信号。我们会编写检测规则来识别可能显示存在恶意的活动;然而,此活动也可能是良性的。通过单一事件很难确定这些事件的上下文,所以这并不是一条需要立即处理的告警。我们会围绕信号来设计威胁猎捕,以识别相关活动;可利用这些活动来确定恶意或良性内容,从而微调从信号到告警的检测规则。
  • 告警:我们会在下面两种情况下将信号提升为告警:当我们有高度信心此信号表示恶意活动(亦即,恶意活动的概率)时;或者当某活动影响重大,以至于所有事件都必须进行验证以降低影响的概率(亦即,如果是恶意活动,会带来的影响)时。

影响重大但恶意概率很低的告警是进行告警分发的良好选择。这让我们能够在不使用传统 SOC 的情况下,在企业级规模上验证行政活动、新活动、异常用户活动以及所有其他活动。

我们如何分发这些告警?

作为 Elastic 产品的零号顾客,我们的 SIEM 和 SOAR 架构都是围绕 Elastic Stack 来构建的。有关我们如何将全部数据采集到 Elastic Stack 中的详细信息,请参见我们的博文 Elastic 使用 Elastic:收集到 InfoSec SIEM 中的数据

我们对我们的架构进行了一些更新,从而允许实现分布式告警这一新功能。

我们推出了自动化平台来将我们的工作流集中到 Tines 无代码自动化平台中。通过使用在 Tines 中构建的工作流,会基于 Tines 故事中的预定义逻辑对来自 Elastic Stack 的告警进行分类和分发。

向检测规则添加分发标签 DISTRIBUTE_ALERT 后,Tines 会将告警从告警分类队列重定向至分发告警工作流。

包含 DISTRIBUTE_ALERT 标签的所有告警都会通过我们的分布式告警工作流运行。Tines 工作流会从资产数据库中识别出用户,然后通过 Slack 向用户发送告警以进行确认。

用户点击告警中的按钮后,告警会进入随后的工作流,要么请求提供更多信息,要么将告警升级至事件响应团队。

这些告警会使用所有相关信息自动在 Elastic Cases 中创建新案例。我们会利用更多自动化来为分析师提供扩充信息,例如 GreyNoise 和相关 Elastic 安全告警。同时还会在 Elastic Timeline 中提供此 IP 地址过去 30 天的活动,让分析师进行审查。

用户提供反馈并确认活动后,他们的反馈会记录在案例中,然后案例会关闭。 

我要怎么开始呢?

您可以免费试用 14 天 Elastic Cloud 并利用 Tines 示例故事对 Elastic 安全告警进行分类并阻截恶意 IP,开始将 Elastic 安全告警采集到您的自动化工作流中。然后您需要与您选择的消息收发客户端进行集成。Tines 在它的库中针对 SlackMicrosoft Teams 提供了示例故事。