威胁情报模块编辑

此模块从不同的威胁情报源集合中提取数据。提取的数据旨在与指标匹配规则一起使用,但也与其他功能(如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 将在其上运行的主机和端口,以及相应地使用 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

分类[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 下。

仪表板编辑

此模块附带用于威胁情报源的仪表板。

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
可选的 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

仪表板编辑

此模块附带用于威胁情报源的仪表板。

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 源提供的信息概述。

字段编辑

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