威胁情报模块
编辑威胁情报模块
编辑此模块从不同的威胁情报源集合中提取数据。提取的数据旨在与指示器匹配规则一起使用,但也与其他功能(如丰富处理器)兼容。用于匹配传入源数据的相关威胁情报属性存储在 threat.indicator.*
字段下。
可用的文件集有:
- abuseurl:支持从 Abuse.ch 收集 URL 实体。
- abusemalware:支持从 Abuse.ch 收集恶意软件/有效载荷实体。
- misp:支持从 MISP 收集威胁情报属性(取代 MISP 模块)。
- malwarebazaar:支持从 Malware Bazaar 收集恶意软件/有效载荷实体。
- otx:支持从 AlientVault OTX 收集威胁情报属性。
- anomali:支持从 Anomali Limo 收集威胁情报属性。
- anomalithreatstream:支持从 Anomali ThreatStream 收集威胁情报属性。
- threatq:支持从 ThreatQuotient 收集威胁情报属性。
请阅读快速入门,了解如何配置和运行模块。
abuseurl
文件集设置
编辑此文件集联系 abuse.ch API 并获取过去 60 分钟内发现的所有新的恶意 URL。
要配置模块,请使用默认 URL,除非在以下示例中指定:
- module: threatintel abuseurl: enabled: true var.input: httpjson var.url: https://urlhaus-api.abuse.ch/v1/urls/recent/ var.interval: 60m
-
var.paths
- 一个基于 glob 的路径数组,用于指定在何处查找日志文件。此处还支持 Go Glob 支持的所有模式。例如,您可以使用通配符从预定义级别的子目录中提取所有文件:
/path/to/log/*/*.log
。这将从/path/to/log
的子文件夹中提取所有.log
文件。它不会从/path/to/log
文件夹本身提取日志文件。如果此设置留空,Filebeat 将根据您的操作系统选择日志路径。 -
var.url
- 要连接的 API 端点的 URL。
-
var.interval
- 轮询 API 以获取更新信息的频率。
-
var.proxy_url
- 可选的 URL,用作 HTTP 代理。
Abuse.ch URL 威胁情报被映射到以下 ECS 字段。
URL 威胁情报字段 | ECS 字段 |
---|---|
url |
threat.indicator.url.full |
date_added |
@timestamp |
host |
threat.indicator.ip/domain |
abusemalware
文件集设置
编辑此文件集联系 Abuse.ch API 并获取过去 60 分钟内发现的所有新的恶意哈希值。
要配置模块,请使用默认 URL,除非在以下示例中指定:
- module: threatintel abusemalware: enabled: true var.input: httpjson var.url: https://urlhaus-api.abuse.ch/v1/payloads/recent/ var.interval: 60m
-
var.paths
- 一个基于 glob 的路径数组,用于指定在何处查找日志文件。此处还支持 Go Glob 支持的所有模式。例如,您可以使用通配符从预定义级别的子目录中提取所有文件:
/path/to/log/*/*.log
。这将从/path/to/log
的子文件夹中提取所有.log
文件。它不会从/path/to/log
文件夹本身提取日志文件。如果此设置留空,Filebeat 将根据您的操作系统选择日志路径。 -
var.url
- 要连接的 API 端点的 URL。
-
var.interval
- 轮询 API 以获取更新信息的频率。
-
var.proxy_url
- 可选的 URL,用作 HTTP 代理。
Abuse.ch 恶意软件威胁情报被映射到以下 ECS 字段。
恶意软件威胁情报字段 | ECS 字段 |
---|---|
md5_hash |
threat.indicator.file.hash.md5 |
sha256_hash |
threat.indicator.file.hash.sha256 |
file_size |
threat.indicator.file.size |
malwarebazaar
文件集设置
编辑此文件集联系 Malware Bazaar API 并获取过去 10 分钟内发现的所有新的恶意哈希值。
要配置模块,请使用默认 URL,除非在以下示例中指定:
- module: threatintel malwarebazaar: enabled: true var.input: httpjson var.url: https://mb-api.abuse.ch/api/v1/ var.interval: 10m
-
var.paths
- 一个基于 glob 的路径数组,用于指定在何处查找日志文件。此处还支持 Go Glob 支持的所有模式。例如,您可以使用通配符从预定义级别的子目录中提取所有文件:
/path/to/log/*/*.log
。这将从/path/to/log
的子文件夹中提取所有.log
文件。它不会从/path/to/log
文件夹本身提取日志文件。如果此设置留空,Filebeat 将根据您的操作系统选择日志路径。 -
var.url
- 要连接的 API 端点的 URL。
-
var.interval
- 轮询 API 以获取更新信息的频率。
-
var.proxy_url
- 可选的 URL,用作 HTTP 代理。
Malware Bazaar 威胁情报被映射到以下 ECS 字段。
恶意软件威胁情报字段 | ECS 字段 |
---|---|
md5_hash |
threat.indicator.file.hash.md5 |
sha256_hash |
threat.indicator.file.hash.sha256 |
sha384_hash |
threat.indicator.file.hash.sha384 |
tlsh |
threat.indicator.file.hash.tlsh |
ssdeep |
threat.indicator.file.hash.ssdeep |
imphash |
threat.indicator.file.pe.imphash |
file_size |
threat.indicator.file.size |
file_name |
threat.indicator.file.name |
file_type_mime |
threat.indicator.file.mime_type |
file_type |
threat.indicator.file.type |
reporter |
threat.indicator.provider |
origin_country |
threat.indicator.geo.country_iso_code |
signature |
threat.indicator.signature |
code_sign.subject_cn |
threat.indicator.file.x509.subject.common_name |
code_sign.issuer_cn |
threat.indicator.file.x509.issuer.common_name |
code_sign.algorithm |
threat.indicator.file.x509.public_key_algorithm |
code_sign.valid_from |
threat.indicator.file.x509.not_before |
code_sign.valid_to |
threat.indicator.file.x509.not_after |
code_sign.serial_number |
threat.indicator.file.x509.serial_number |
misp
文件集设置
编辑此文件集与本地或远程 MISP 服务器通信。这将取代旧的 MISP 模块。
文件集配置允许设置轮询间隔,最初应追溯的时间以及可选的用于过滤结果的任何过滤器。
- module: threatintel misp: enabled: true var.input: httpjson var.url: https://SERVER/events/restSearch var.api_token: xVfaM3DSt8QEwO2J1ix00V4ZHJs14nq5GMsHcK6Z var.first_interval: 24h var.interval: 60m
要使用过滤器配置输出,请使用 MISP 服务器上已存在的字段,并定义单个值或多个值。通过添加过滤器,仅返回具有与过滤器匹配的属性的事件。
以下过滤器仅为示例,有关所有字段的完整列表,请参考 MISP 服务器本身上的 MISP 字段。
- module: threatintel misp: enabled: true var.input: httpjson var.url: https://SERVER/events/restSearch var.api_token: xVfaM3DSt8QEwO2J1ix00V4ZHJs14nq5GMsHcK6Z var.filters: type: ["md5", "sha256", "url", "ip-src"] threat_level: 4 var.first_interval: 24h var.interval: 60m
-
var.paths
- 一个基于 glob 的路径数组,用于指定在何处查找日志文件。此处还支持 Go Glob 支持的所有模式。例如,您可以使用通配符从预定义级别的子目录中提取所有文件:
/path/to/log/*/*.log
。这将从/path/to/log
的子文件夹中提取所有.log
文件。它不会从/path/to/log
文件夹本身提取日志文件。如果此设置留空,Filebeat 将根据您的操作系统选择日志路径。 -
var.url
- 要连接的 API 端点的 URL。
-
var.interval
- 轮询 API 以获取更新信息的频率。
-
var.first_interval
- 首次启动 Filebeat 时检索事件时要搜索的时间范围。在第一个间隔过去之后,模块本身将使用上次响应中的时间戳作为过滤器来检索新事件。
-
var.filters
- 从 MISP 服务器检索新事件时要应用的过滤器字典,此字段是可选的,默认为所有事件。可用选项列表位于 https://www.circl.lu/doc/misp/automation/#search。
-
var.proxy_url
- 可选的 URL,用作 HTTP 代理。
MISP 威胁情报被映射到以下 ECS 字段。
恶意软件威胁情报字段 | ECS 字段 |
---|---|
misp.first_seen |
threat.indicator.first_seen |
misp.last_seen |
threat.indicator.last_seen |
misp.tag |
tag |
misp.value |
threat.indicator.* |
misp.value
根据属性类型映射到相应的字段。
otx
文件集设置
编辑要配置模块,请使用默认 URL,除非在以下示例中指定:
- module: threatintel otx: enabled: true var.input: httpjson var.url: https://otx.alienvault.com/api/v1/indicators/export var.api_token: 754dcaafbcb9740dc0d119e72d5eaad699cc4a5cdbc856fc6215883842ba8142 var.first_interval: 24h var.lookback_range: 2h var.interval: 60m
要仅按特定指示器类型进行过滤,以下是一些支持的可能过滤器的示例:
- module: threatintel otx: enabled: true var.input: httpjson var.url: https://otx.alienvault.com/api/v1/indicators/export var.types: "domain,IPv4,hostname,url,FileHash-SHA256" var.first_interval: 24h var.interval: 60m
-
var.paths
- 一个基于 glob 的路径数组,用于指定在何处查找日志文件。此处还支持 Go Glob 支持的所有模式。例如,您可以使用通配符从预定义级别的子目录中提取所有文件:
/path/to/log/*/*.log
。这将从/path/to/log
的子文件夹中提取所有.log
文件。它不会从/path/to/log
文件夹本身提取日志文件。如果此设置留空,Filebeat 将根据您的操作系统选择日志路径。 -
var.url
- 要连接的 API 端点的 URL。
-
var.api_token
- 用于访问 OTX 的 API 密钥。这可以在您的 OTX API 主页上找到。
-
var.interval
- 轮询 API 以获取更新信息的频率。
-
var.first_interval
- 首次启动 Filebeat 时检索事件时要搜索的时间范围。在第一个间隔过去之后,模块本身将使用上次响应中的时间戳作为过滤器来检索新事件。
-
var.types
- 要包含的指示器类型的逗号分隔列表,默认为全部。可以在AlientVault OTX 文档中找到要过滤的可能类型列表。
-
var.proxy_url
- 可选的 URL,用作 HTTP 代理。
OTX 威胁情报被映射到以下 ECS 字段。
恶意软件威胁情报字段 | ECS 字段 |
---|---|
otx.type |
threat.indicator.type |
otx.description |
threat.indicator.description |
otx.indicator |
threat.indicator.* |
otx.indicator
根据属性类型映射到相应的字段。
anomali
文件集设置
编辑要配置模块,请填写凭据。对于 Anomali Limo(免费的 Taxii 服务),这些通常是在Anomali Limo 网页上找到的默认凭据。Anomali Limo 提供了多个名为集合的源。每个集合都有一个特定的 ID,然后该 ID 适合此配置中使用的 URL。可以使用 Limo 集合中的凭据找到不同的集合列表。
下面的示例使用 URL 中可见的 ID 为 41 的集合。
- module: threatintel anomali: enabled: true var.input: httpjson var.url: https://limo.anomali.com/api/v1/taxii2/feeds/collections/41/objects?match[type]=indicator var.username: guest var.password: guest var.interval: 60m
要按特定类型进行过滤,可以将 var.types
定义为对象类型的逗号分隔列表。默认为 "indicators"。
- module: threatintel anomali: enabled: true var.input: httpjson var.url: https://limo.anomali.com/api/v1/taxii2/feeds/collections/41/objects?match[type]=indicator var.types: "indicators,other" var.username: guest var.password: guest var.interval: 60m
-
var.paths
- 一个基于 glob 的路径数组,用于指定在何处查找日志文件。此处还支持 Go Glob 支持的所有模式。例如,您可以使用通配符从预定义级别的子目录中提取所有文件:
/path/to/log/*/*.log
。这将从/path/to/log
的子文件夹中提取所有.log
文件。它不会从/path/to/log
文件夹本身提取日志文件。如果此设置留空,Filebeat 将根据您的操作系统选择日志路径。 -
var.url
- 要连接的 API 端点的 URL。Limo 提供了多种威胁情报集合。
-
var.username
- 用于访问 API 的用户名。
-
var.password
- 用于访问 API 的密码。
-
var.interval
- 轮询 API 以获取更新信息的频率。
-
var.types
- 要包含的指示器类型的逗号分隔列表,默认为全部。可以在 Stix 2.1 对象类型页面上找到要过滤的可能类型列表。
-
var.proxy_url
- 可选的 URL,用作 HTTP 代理。
Anomali 威胁情报被映射到以下 ECS 字段。
恶意软件威胁情报字段 | ECS 字段 |
---|---|
anomali.description |
threat.indicator.description |
anomali.created |
threat.indicator.first_seen |
anomali.modified |
threat.indicator.last_seen |
anomali.pattern |
threat.indicator.* |
anomali.labels |
tags |
anomali.pattern
根据属性类型映射到相应的字段。
anomalithreatstream
文件集设置
编辑要配置 ThreatStream 集成,您首先需要使用 Anomali 提供的 Elastic SDK 在 Anomali ThreatStream Integrator 中定义一个输出。它将通过 HTTP 或 HTTPS 将指示器传递到作为服务器运行的 Filebeat 实例。
使用以下设置配置 Integrator 输出
- 指示器过滤器:
*
(或使用任何所需的过滤器)。 - SDK 可执行命令:
/path/to/python /path/to/anomali-sdk/main.py
。调整 python 可执行文件的路径和解压缩 Elastic SDK 的目录。 -
JSON 格式的元数据:
{"url": "https://filebeat:8080/", "server_certificate": "/path/to/cert.pem", "secret": "my secret"}
。-
url
:使用 Filebeat 将要运行的主机和端口,并相应地使用http
或https
。 -
server_certificate
:如果使用 HTTPS,则为服务器证书的绝对路径。否则,请勿设置此字段。 -
secret
:在 SDK 和 Filebeat 之间用于身份验证消息的共享密钥字符串。
-
然后相应地在 Filebeat 中配置 anomalithreatstream
文件集
- module: threatintel anomalithreatstream: enabled: true var.input: http_endpoint var.listen_address: 0.0.0.0 # Listen on all interfaces. var.listen_port: 8080 var.secret: 'my secret' var.ssl_certificate: path/to/server_ssl_cert.pem var.ssl_key: path/to/ssl_key.pem
-
var.listen_address
- 将 HTTP 服务器绑定到的本地地址。使用
0.0.0.0
接受来自所有接口的连接。 -
var.listen_port
- 用于 HTTP 服务器的端口号。
-
var.secret
- SDK 和 Filebeat 之间的共享密钥,用于身份验证消息。
-
var.ssl_certificate
- HTTPS 服务器的公共 SSL 证书的路径。如果未设置,Filebeat 将使用不安全的 HTTP 连接。
-
var.ssl_key
- 证书私钥的路径。
Anomali ThreatStream 字段映射到以下 ECS 字段
ThreatStream 字段 | ECS 字段 |
---|---|
asn |
threat.indicator.as.number |
分类[1] |
threat.indicator.marking.tlp |
置信度[1] |
threat.indicator.confidence |
国家/地区 |
threat.indicator.geo.country_iso_code |
date_first |
threat.indicator.first_seen |
date_last |
threat.indicator.last_seen |
详情 |
tags |
域名 |
threat.indicator.url.domain |
电子邮件 |
threat.indicator.email.address |
itype[1] |
threat.indicator.type |
纬度 |
threat.indicator.geo.location.lat |
经度 |
threat.indicator.geo.location.lon |
md5 |
threat.indicator.file.hash |
组织 |
threat.indicator.as.organization.name |
严重程度[1] |
event.severity |
来源 |
threat.indicator.provider |
srcip |
threat.indicator.ip |
url |
threat.indicator.url.original |
[1]: 字段用于派生 ECS 字段的值,但其原始值保留在 threatintel.anomalithreatstream
下。
仪表板
编辑此模块附带威胁情报信息源的仪表板。
威胁情报模块提供的信息概述和运行状况。
由 Abuse.ch Malware 信息源提供的信息概述。
由 Abuse.ch URL 信息源提供的信息概述。
由 AlienVault OTX 信息源提供的信息概述。
由 Anomali Limo 和 Anomali ThreatStream 信息源提供的信息概述。
由 MISP 信息源提供的信息概述。
threatq
文件集设置
编辑threatq
文件集从 ThreatQuotient API 获取情报。
ThreatQ 模块要求您设置有效的 URL、Oauth2 凭据组合以及要从中检索指标的集合 ID。默认情况下,指标将每 1 分钟收集一次,重复数据删除由 API 本身处理。
配置示例
- module: threatintel threatq: enabled: true var.input: httpjson var.host: https://testurl.threatq.com/ var.token_url: https://testurl.threatq.com/api/token var.client_id: oauthclient var.client_secret: 123abcd var.interval: 1m var.data_collection_id: "fsd2f54fsg2sf"
-
var.url
- 要连接的 API 端点的 URL。
-
var.client_id
- 用于身份验证的 Oauth2 客户端 ID。
-
var.client_secret
- 与 client_id 相关的 Oauth2 密钥。
-
var.interval
- 轮询 API 以获取更新信息的频率。
-
var.proxy_url
- 可选的 URL,用作 HTTP 代理。
-
var.http_client_timeout
- 可选值,用于覆盖默认的 HTTP 超时时间(30 秒)。
ThreatQ 字段映射到以下 ECS 字段
ThreatQ 字段 | ECS 字段 |
---|---|
type.name |
threat.indicator.type |
描述 |
threat.indicator.description |
分数 |
threat.indicator.confidence |
值 |
threat.indicator.{url,ip,domain,file.hash} |
来源 |
threat.indicator.provider |
仪表板
编辑此模块附带威胁情报信息源的仪表板。
威胁情报模块提供的信息概述和运行状况。
由 Abuse.ch Malware 信息源提供的信息概述。
由 Abuse.ch URL 信息源提供的信息概述。
由 AlienVault OTX 信息源提供的信息概述。
由 Anomali Limo 和 Anomali ThreatStream 信息源提供的信息概述。
由 MISP 信息源提供的信息概述。
由 ThreatQuotient 信息源提供的信息概述。
字段
编辑有关模块中每个字段的描述,请参阅导出的字段部分。