域名生成算法检测
编辑域名生成算法检测
编辑域名生成算法 (DGA) 检测软件包包含用于检测网络数据中 DGA 活动的资产。此软件包需要白金版订阅。请确保在继续操作之前,您的集群上已安装试用版或白金版级别的订阅。此软件包根据 Elastic License 2.0 许可。
有关更多详细信息,请参阅以下博客
安装
编辑- 升级:如果从低于 v2.0.0 的版本升级,请参阅 v2.0.0 及更高版本部分。
- 添加集成包:通过 管理 > 集成 > 添加域名生成算法检测 安装软件包。配置集成名称和代理策略。单击“保存并继续”。
- 安装资产:单击 设置 > 安装域名生成算法检测资产 安装资产。
-
配置管道:要配置管道,您可以使用以下步骤之一
-
如果使用 Elastic Defend,请将自定义管道添加到数据流。转到 堆栈管理 > 摄取管道,然后检查是否存在管道
logs-endpoint.events.network@custom
。 image::images/dga/custom-pipeline.png[组件模板] 如果不存在,您可以通过在 Dev Console 中运行以下命令来创建它。请务必将<VERSION>
替换为当前软件包版本。PUT _ingest/pipeline/logs-endpoint.events.network@custom { "processors": [ { "pipeline": { "name": "<VERSION>-ml_dga_ingest_pipeline", "ignore_missing_pipeline": true, "ignore_failure": true } } ] }
- 如果
logs-endpoint.events.process@custom
已存在,请选择它旁边的三个点,然后选择 编辑。单击 添加处理器。为处理器选择 管道,为名称输入<VERSION>-ml_dga_ingest_pipeline
(将<VERSION>
替换为当前软件包版本),然后选中 忽略丢失的管道 和 忽略此处理器的失败。选择 添加处理器。 - 如果使用 Elastic Beat (如 Packetbeat),则通过将简单的配置 设置 添加到
packetbeat.yml
,将摄取管道添加到其中,然后跳到这些说明中的 添加预配置的异常检测作业 部分。
-
-
将所需映射添加到索引或组件模板:转到 堆栈管理 > 索引管理 > 组件模板。可以使用
@custom
后缀标记可编辑以添加自定义组件的模板。例如,Elastic Defend 网络事件的自定义组件模板是logs-endpoint.events.network@custom
。 注意:请勿尝试编辑@package
模板。 image::images/dga/component-templates.png[组件模板]-
如果
@custom
组件模板不存在,您可以在 Dev Console 中执行以下命令来创建它,然后继续执行这些说明中的 滚动 部分。PUT _component_template/{COMPONENT_TEMPLATE_NAME}@custom { "template": { "mappings": { "properties": { "ml_is_dga": { "type": "object", "properties": { "malicious_prediction": { "type": "long" }, "malicious_probability": { "type": "float" } } } } } } }
- 如果
@custom
组件模板已存在,则需要对其进行编辑,以添加映射,以便正确丰富数据。单击它旁边的三个点,然后选择 编辑。 image::images/dga/component-templates-edit.png[组件模板] -
在索引设置步骤中,添加以下内容。请务必将
<VERSION>
更改为当前软件包版本。{ "index": { "default_pipeline": "<VERSION>-ml_dga_ingest_pipeline" } }
- 继续执行 UI 中的映射步骤。单击页面底部的 添加字段,然后为
ml_is_dga
创建一个Object
字段。 image::images/dga/field1.png[组件模板] - 最后在
ml_is_dga
下创建两个属性。 image::images/dga/field1a.png[组件模板] - 第一个属性为类型为
Long
的malicious_prediction
,然后为类型为Float
的malicious_probability
。 image::images/dga/field2.png[组件模板] - 您的组件映射应如下所示: image::images/dga/fields-complete.png[组件模板]
- 单击 查看,然后单击 保存组件模板。
-
-
滚动 根据您的环境,您可能需要滚动,以便选择这些映射。Elastic Defend 的默认索引模式为
logs-endpoint.events.network-default
。POST INDEX_NAME/_rollover
- (可选)创建数据视图 用于您的网络日志。
-
添加预配置的异常检测作业:在 机器学习 > 异常检测 中,创建作业时,您应该会看到一个
使用预配置的作业
的选项,其中包含一个DGA
的卡片。选择卡片时,您将看到一个预配置的异常检测作业,您可以根据最适合您的环境的作业启用它。请注意,此作业仅对已由摄取管道丰富化的索引有用。 -
启用检测规则:您还可以启用检测规则,以根据上述 ML 作业标记的异常,在您的环境中发出 DGA 活动警报。从该软件包的 2.0.0 版本开始,这些规则作为 安全 > 规则 中的检测引擎的一部分提供,并且可以使用标签
用例:域名生成算法检测
来查找。有关导入和启用规则的更多信息,请参阅此文档。
在 安全 > 规则 中,使用“用例:域名生成算法检测”标签进行筛选
异常检测作业
编辑作业 | 说明 |
---|---|
dga_high_sum_probability |
检测潜在的 DGA(域名生成算法)活动,该活动通常由恶意软件命令和控制 (C2) 通道使用。查找发出 DNS 请求的源 IP 地址,这些请求具有较高的 DGA 活动聚合概率。 |
v2.0.0 及更高版本
编辑该软件包的 v2.0.0 引入了重大更改,即弃用了软件包中的检测规则。要继续接收 DGA 检测的更新,我们建议您在执行以下操作后升级到 v2.0.0
-
卸载与此软件包关联的现有规则:导航到 安全 > 规则 并删除以下规则
- 机器学习使用已知的 SUNBURST DNS 域名检测到 DGA 活动
- 机器学习检测到预测为 DGA 域的 DNS 请求
- 潜在的 DGA 活动
- 机器学习检测到具有高 DGA 概率分数的 DNS 请求
根据您使用的软件包版本,您可能还可以使用标签 DGA
搜索上述规则
- 使用 此处 中的步骤将 DGA 软件包升级到 v2.0.0
- 按照下面的启用检测规则部分中所述安装新规则
在 2.0.1 及更高版本中,软件包会忽略冷数据层和冻结数据层中的数据,以减少堆内存使用量,避免在过时数据上运行,并遵循最佳实践。
许可
编辑在生产环境中使用需要您具有允许使用机器学习功能的许可证密钥。
更新日志
编辑更新日志
版本 | 详细信息 | Kibana 版本 |
---|---|---|
2.0.4 |
错误修复 (查看拉取请求) |
8.9.0 或更高版本 |
2.0.3 |
错误修复 (查看拉取请求) |
8.9.0 或更高版本 |
2.0.2 |
增强功能 (查看拉取请求) |
8.9.0 或更高版本 |
2.0.1 |
增强功能 (查看拉取请求) |
8.9.0 或更高版本 |
2.0.0 |
增强功能 (查看拉取请求) |
8.9.0 或更高版本 |
1.1.0 |
增强功能 (查看拉取请求) |
8.0.0 或更高版本 |
1.0.1 |
增强功能 (查看拉取请求) |
8.0.0 或更高版本 |
1.0.0 |
增强功能 (查看拉取请求) |
8.0.0 或更高版本 |
0.0.5 |
增强 (查看拉取请求) |
— |
0.0.4 |
增强 (查看拉取请求) |
— |
0.0.3 |
错误修复 (查看拉取请求) |
— |
0.0.2 |
错误修复 (查看拉取请求) |
— |
0.0.1 |
增强 (查看拉取请求) |
— |