威胁情报模块

编辑

此模块会从多个不同的威胁情报来源收集数据。收集到的数据旨在与 指标匹配规则 一起使用,但也兼容其他功能,例如 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 将运行的主机和端口,以及相应的 httphttps
    • 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

email

threat.indicator.email.address

itype[1]

threat.indicator.type

lat

威胁指标地理位置纬度

经度

威胁指标地理位置经度

MD5 值

威胁指标文件哈希值

组织

威胁指标 AS 组织名称

严重性[1]

事件严重性

来源

threat.indicator.provider

源 IP

威胁指标 IP

url

威胁指标原始 URL

[1]: 此字段用于导出 ECS 字段的值,但其原始值保留在 threatintel.anomalithreatstream 下。

仪表盘

编辑

此模块包含用于威胁情报源的仪表盘。

filebeat threatintel overview

威胁情报模块提供的信息概述及其运行状况。

filebeat threatintel abuse malware

Abuse.ch 恶意软件源提供的信息概述。

filebeat threatintel abuse url

Abuse.ch URL 源提供的信息概述。

filebeat threatintel alienvault otx

AlienVault OTX 源提供的信息概述。

filebeat threatintel anomali

Anomali Limo 和 Anomali ThreatStream 源提供的信息概述。

filebeat threatintel misp

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

仪表盘

编辑

此模块包含用于威胁情报源的仪表盘。

filebeat threatintel overview

威胁情报模块提供的信息概述及其运行状况。

filebeat threatintel abuse malware

Abuse.ch 恶意软件源提供的信息概述。

filebeat threatintel abuse url

Abuse.ch URL 源提供的信息概述。

filebeat threatintel alienvault otx

AlienVault OTX 源提供的信息概述。

filebeat threatintel anomali

Anomali Limo 和 Anomali ThreatStream 源提供的信息概述。

filebeat threatintel misp

MISP 源提供的信息概述。

filebeat threatintel threatq

ThreatQuotient 源提供的信息概述。

字段

编辑

有关模块中每个字段的描述,请参阅导出字段部分。