威胁情报模块

编辑

此模块从不同的威胁情报源集合中提取数据。提取的数据旨在与指示器匹配规则一起使用,但也与其他功能(如丰富处理器)兼容。用于匹配传入源数据的相关威胁情报属性存储在 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 将要运行的主机和端口,并相应地使用 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 Malware 信息源提供的信息概述。

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

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

字段

编辑

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