威胁情报模块
编辑威胁情报模块编辑
此模块从不同的威胁情报源集合中提取数据。提取的数据旨在与指标匹配规则一起使用,但也与其他功能(如Enrich 处理器)兼容。旨在用于匹配传入源数据的相关威胁情报属性存储在 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,然后适合此配置中使用的 URL。可以使用以下凭据在Limo Collections中找到不同集合的列表。
以下示例使用 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
定义为对象类型的逗号分隔列表。这默认为“指标”。
- 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 恶意软件源提供的信息概述。
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 恶意软件源提供的信息概述。
Abuse.ch URL 源提供的信息概述。
AlienVault OTX 源提供的信息概述。
Anomali Limo 和 Anomali ThreatStream 源提供的信息概述。
MISP 源提供的信息概述。
ThreatQuotient 源提供的信息概述。
字段编辑
有关模块中每个字段的描述,请参阅导出字段部分。