威胁情报模块
编辑威胁情报模块
编辑此模块会从多个不同的威胁情报来源收集数据。收集到的数据旨在与 指标匹配规则 一起使用,但也兼容其他功能,例如 Enrich 处理器。用于匹配传入源数据的相关威胁情报属性存储在 threat.indicator.*
字段下。
可用的文件集为:
- abuseurl:支持从 Abuse.ch 收集 URL 实体。
- abusemalware:支持从 Abuse.ch 收集恶意软件/有效载荷实体。
- misp:支持从 MISP 收集威胁情报属性(替换 MISP 模块)。
- malwarebazaar:支持从 Malware Bazaar 收集恶意软件/有效载荷实体。
- otx:支持从 AlienVault 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
- 用作 HTTP 代理的可选 URL。
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
- 用作 HTTP 代理的可选 URL。
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
- 用作 HTTP 代理的可选 URL。
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
- 用作 HTTP 代理的可选 URL。
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
- 要包含的指标类型的逗号分隔列表,默认为全部。可在 AlienVault OTX 文档 中找到可过滤的可能类型列表。
-
var.proxy_url
- 用作 HTTP 代理的可选 URL。
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,然后适合在此配置中使用的 URL。可以使用凭据在 Limo 集合 中找到不同的集合列表。
下面的示例使用 ID 为 41 的集合,这可以在 URL 中看到。
- 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
- 用作 HTTP 代理的可选 URL。
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 集成器中定义一个输出。它将通过 HTTP 或 HTTPS 将指标传递到作为服务器运行的 Filebeat 实例。
使用以下设置配置集成器输出:
- 指标过滤器:
*
(或使用任何所需的过滤器)。 - 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 |
classification[1] |
threat.indicator.marking.tlp |
confidence[1] |
threat.indicator.confidence |
country |
threat.indicator.geo.country_iso_code |
date_first |
threat.indicator.first_seen |
date_last |
threat.indicator.last_seen |
detail |
tags |
domain |
threat.indicator.url.domain |
threat.indicator.email.address |
|
itype[1] |
threat.indicator.type |
lat |
威胁指标地理位置纬度 |
经度 |
威胁指标地理位置经度 |
MD5 值 |
威胁指标文件哈希值 |
组织 |
威胁指标 AS 组织名称 |
严重性[1] |
事件严重性 |
来源 |
threat.indicator.provider |
源 IP |
威胁指标 IP |
url |
威胁指标原始 URL |
[1]: 此字段用于导出 ECS 字段的值,但其原始值保留在 threatintel.anomalithreatstream
下。
仪表盘
编辑此模块包含用于威胁情报源的仪表盘。
威胁情报模块提供的信息概述及其运行状况。
Abuse.ch 恶意软件源提供的信息概述。
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
- 用作 HTTP 代理的可选 URL。
-
var.http_client_timeout
- 可选值,用于覆盖默认的 30 秒 HTTP 超时。
ThreatQ 字段映射到以下 ECS 字段
ThreatQ 字段 | ECS 字段 |
---|---|
类型名称 |
threat.indicator.type |
描述 |
threat.indicator.description |
评分 |
threat.indicator.confidence |
值 |
威胁指标.{url,ip,domain,file.hash} |
来源 |
threat.indicator.provider |
仪表盘
编辑此模块包含用于威胁情报源的仪表盘。
威胁情报模块提供的信息概述及其运行状况。
Abuse.ch 恶意软件源提供的信息概述。
Abuse.ch URL 源提供的信息概述。
AlienVault OTX 源提供的信息概述。
Anomali Limo 和 Anomali ThreatStream 源提供的信息概述。
MISP 源提供的信息概述。
ThreatQuotient 源提供的信息概述。
字段
编辑有关模块中每个字段的描述,请参阅导出字段部分。