正在寻找一种方法来帮助保护您的网络免受潜在的域名生成算法 (DGA) 攻击?无需再找了 — DGA 检测包现已在 Kibana 的 Integrations 应用程序中提供。
只需单击一下,用户就可以安装并开始使用 DGA 模型和相关资产,包括摄取管道配置、异常检测作业和检测规则。请继续阅读,了解有关安装和完全启用 DGA 包的分步说明。
[相关文章:自动化安全保护,快速响应恶意软件]
什么是 DGA?
DGA 是许多恶意软件作者采用的一种技术,以确保客户端计算机的感染能够逃避防御措施。此技术的目标是通过使用数百或数千个随机生成的域名来隐藏受感染的客户端计算机与命令和控制(C & C 或 C2)服务器之间的通信,其中一个域名最终将解析为 C & C 服务器的 IP 地址。
为了更轻松地可视化 DGA 攻击中发生的情况,请想象一下您是一位战场上的士兵。像许多士兵一样,您拥有使用无线电频率进行通信的通信设备。您的敌人可能会尝试通过干扰您的无线电频率来破坏您的通信。对此制定对策的一种方法是跳频 — 使用在传输过程中快速改变频率的无线电系统。对于敌人来说,频率变化似乎是随机且不可预测的,因此很难干扰。
DGA 就像恶意软件的跳频通信通道。它们频繁地更改域名,因此通过 DNS 域名阻止来阻止恶意软件的 C2 通信通道变得不可行。随机生成的 DNS 名称实在太多,无法成功识别和阻止它们。
这项技术在 2009 年随着“Conficker”蠕虫开始使用大量随机生成的域名进行通信而开始在恶意软件领域中兴起。在安全研究人员联盟通过关闭蠕虫用于通信的 DNS 域来中断蠕虫的 C2 通道后,蠕虫的作者开发了这种对策。在 2017 年 WannaCry 勒索软件全球爆发的情况下也进行了 DNS 缓解。
入门
我们已将模型和相关资产(包括管道、异常检测配置和检测规则)从 8.0 版本开始发布到 Kibana 中的 Integrations 应用程序中。我们将继续维护这种格式。
如果您没有 Elastic Cloud 集群,但想开始试验发布的 ProblemChild 包,您可以开始为期 14 天的 Elastic Cloud 免费试用。
我们现在将了解使用发布的 DGA 包在几分钟内在您的环境中启动并运行 DGA 的步骤。
步骤 1:安装包资产
在 Kibana 中,Integrations 应用程序现在包含 DGA 检测包。要安装资产,请单击“设置”选项卡下的“安装 DGA 资产”按钮。这将安装使用 DGA 模型在您的网络数据中检测到 DGA 活动时生成警报所需的所有工件。
安装完成后,您可以导航至“Stack Management > 摄取管道”,并看到已安装 <版本号>-ml\_dga\_ingest\_pipeline
,现在可用于丰富传入的摄取数据。摄取管道利用 <版本号>-ml\_dga\_inference\_pipeline
来执行此操作。
同样,安装的 DGA 模型现在可以在“机器学习 > 模型管理 > 已训练模型”中看到。
步骤 2:丰富您的数据
现在,您可以使用摄取管道摄取数据了。监督模型将分析并使用 DGA 分数丰富包含 DNS 事件的传入数据。
此管道设计用于处理包含 DNS 事件的数据,例如 packetbeat 数据,其中包含以下 ECS 字段:dns.question.name 和 dns.question.registered_domain。您可以通过添加简单的配置设置,将安装的摄取管道添加到 Elastic beat。
如果您已经有与索引关联的摄取管道,则可以使用管道处理器将 DGA 摄取管道集成到现有管道中。
您还需要将以下映射添加到您选择的 beat
{
"properties": {
"ml_is_dga": {
"properties": {
"malicious_prediction": {
"type": "long"
},
"malicious_probability": {
"type": "float"
}
}
}
}
}
您可以在“Stack Management > 索引管理 > 组件模板”下执行此操作。可以编辑以添加自定义组件的模板将标记有 @custom 后缀。通过在“加载 JSON”弹出窗口中粘贴上述 JSON blob,编辑您的 Elastic beat 的 @custom 组件模板。
您现在应该看到该模型使用以下字段丰富传入的 DNS 事件
-
Ml_is_dga.malicious_prediction: 值 “1” 表示 DNS 域预计是恶意 DGA 活动的结果。值 “0” 表示预计是良性的。
-
Ml_is_dga.malicious_probability: DNS 域是恶意 DGA 活动结果的概率分数,介于 0 和 1 之间。
如果您希望立即测试摄取管道是否按预期使用您的数据,则可以使用一些示例文档通过模拟管道 API 并确认您看到了 ml_is_dga 字段。
步骤 3:运行异常检测
该软件包包含预配置的异常检测作业。此机器学习 (ML) 作业检查监督 DGA 模型生成的 DGA 分数,并查找特定源 IP 地址异常高分的异常模式。这些事件被分配一个异常分数。
要在您丰富的数据上运行此作业,请转到“机器学习 > 异常检测”。当您使用作业向导创建作业时,您应该看到一个选项,即使用带有 DGA 卡片的预配置作业。选择该卡片后,您将看到可以运行的预配置异常检测作业。请注意,此作业仅对已由摄取管道丰富的索引有用。
步骤 4:启用规则
为了最大程度地发挥 DGA 框架的优势,请激活安装的检测规则。当满足监督模型或异常检测作业的某些条件时,将触发它们。安装规则的完整列表可以在软件包本身的“概述”页面或最新的实验性检测 版本中找到。
要充分利用包含的预配置异常检测作业,请启用补充规则:潜在 DGA 活动。这将在安全应用程序的检测页面中创建基于异常的警报。
预配置的异常检测作业和补充规则都可以在检测规则存储库版本中找到。要启用和使用已安装的规则,请导航至“安全性 > 规则”,然后选择“加载 Elastic 预构建规则和时间线模板”。
联系我们
我们希望您尝试 ProblemChild 并向我们提供反馈,因为我们会致力于为其添加新功能。如果您在此过程中遇到任何问题,请通过我们的 社区 Slack 频道、讨论论坛,甚至是我们的开放检测存储库与我们联系。
您始终可以在 Elastic Cloud 上体验最新版本的 Elasticsearch 服务,并按照此博客中的说明,在您的环境中为 Windows 进程事件数据设置 ProblemChild 框架。并利用我们的 快速入门培训,为您的成功做好准备。立即开始您的 Elastic Cloud 免费试用,以访问该平台。祝您实验愉快!