
[捐赠] · 仪表盘向量 · 贡献指南 · 提交向量 · REST API CTI · WIKI
面向 Suricata 的预测性钓鱼情报 — 从第零天开始先发制人的防御
Antiphishing 是一个开源(GPLv3)网络威胁情报(CTI)基础设施和 Suricata 规则集,旨在尽可能早地在网络层识别并阻断钓鱼基础设施。
该项目结合了精选的钓鱼指标、自动化威胁情报处理以及对新注册域名(NRD)的分析,以便在可疑的新兴基础设施被传统威胁情报源广泛识别之前就将其发现。
Antiphishing 旨在将新兴威胁情报转化为可部署的 Suricata 检测与防御规则。
现代钓鱼基础设施可以在短时间内被创建、武器化并被弃用。
传统黑名单很有价值,但它们通常是在指标已被观测、报告或验证之后才识别出基础设施。
Antiphishing 探索了一种互补的方法:先发制人的威胁情报。
NRD 流水线监控具有可观测 DNS 活动的新注册域名,并使用多种启发式方法分析候选域名,包括:
该流水线分析超过 150 万个候选域名组合,并生成一组被认为足够可疑、需要进一步安全处置的域名。
其目标并非声称每一个新注册域名都是恶意的。相反,目标是在早期阶段识别潜在的钓鱼基础设施,使其在必然出现在传统恶意域名情报源之前就被发现。
这在原始基础设施注册与已确认的恶意情报之间创建了一个互补的检测层。
Antiphishing 中的**第零天(Day Zero)**一词指的是该项目旨在缩短可疑基础设施出现与防御行动之间的时间。
它并不意味着 Antiphishing 能够检测每一次零日攻击、漏洞或此前未知的恶意软件家族。
其关注点更窄且更务实:
尽可能早地识别可疑钓鱼基础设施,并使该情报在网络层可付诸行动。
预测性情报需要与传统的已验证 IOC 情报源不同的置信度模型。
由 NRD 分析流水线生成的域名是通过自动化启发式方法产生的候选指标。因此,它们应被视为高度可疑的基础设施,而不应自动被解读为经人工验证的恶意 IOC。
由于 NRD 流水线优先考虑早期检测,因此误报是可能的。
部署预测性指标的组织应考虑采取适当的:
源自 NRD 的情报特别适用于那些宁可尽早阻断可疑基础设施、也不愿等待域名成为已确认恶意 IOC 的环境。
这是一种有意的权衡:
更早的情报可以提供更早的保护,但更早的情报也带来更大的不确定性。
Antiphishing 不仅仅是一个静态的钓鱼黑名单。
该项目结合了多个来源和处理阶段:
External Threat Feeds
│
├── Phishing indicators
│
└── Infrastructure indicators
│
▼
┌───────────────────┐
│ Intelligence │
│ Processing │
└───────────────────┘
│
├── Domain analysis
├── IP analysis
└── URL processing
│
▼
Newly Registered Domains
│
▼
Candidate Generation
│
├── Typosquatting
├── Homoglyphs
├── Keywords
└── Brand impersonation
│
▼
Suspicious Infrastructure
│
▼
Suricata Detection
│
▼
IDS / IPS Enforcement
该项目还依赖外部自由软件、开源库、公共情报来源和社区 API。
Antiphishing 的作用是将这些组件组合成一个自动化的情报与检测流水线。
主 Suricata 规则集(antiphishing.rules)提供多个检测层。
重要: 匹配规则是生成告警还是主动阻断流量,取决于 Suricata 的部署和配置方式,特别是它运行在 IDS 还是 IPS 模式下。
在 DNS 检查期间使用以下方式检测可疑域名:
dns.query
原生 Suricata 数据集包含 DNS 签名所使用的域名情报。
通过 TLS 服务器名称指示(SNI)进行检测:
tls.sni
这允许在不解密 HTTPS 流量的情况下进行基于域名的检测。
使用应用层签名检查 HTTP 流量和钓鱼 URL。
当流量可供检查时,HTTP 检测可以提供对请求资源的更具体可见性。
使用目标 IPv4 情报检测与已知钓鱼基础设施的连接。
主规则集使用 Suricata 的数据集机制来承载此情报。
主 Antiphishing 规则集使用原生 Suricata 外部数据集。
phishing.lst
DNS 和 TLS 数据集签名所使用的域名情报。
域名数据集与 Suricata 签名文件分开维护,因为它包含的是数据集值而非 Suricata 签名。
phishing_ips.lst
目标 IP 数据集签名所使用的 IPv4 指标。
nrd_suspicious_domains.txt
由 NRD 分析流水线生成并被归类为可疑候选的域名。
重要: 源自 NRD 的域名属于预测性情报,不应自动被解读为已确认的恶意指标。
Antiphishing 通过以下组件与 OPNsense IDS/IPS 生态系统集成:
os-intrusion-detection-content-at-antiphishing
OPNsense 集成目前并不等同于完整的原生 Antiphishing 规则集。
现有的 OPNsense 集成可靠地提供 HTTP 签名。
外部 DNS、TLS 和 IPv4 数据集需要额外处理,因为 OPNsense IDS 内容框架目前没有提供用于分发和加载外部 Suricata 数据集文件的统一机制。
主 Antiphishing 规则集继续使用 Suricata 的原生数据集实现,并未为迁就这一 OPNsense 限制而更改。
一个 OPNsense 专用规则集正在单独研究和测试中。
因此,OPNsense 用户应验证所分发规则集的具体能力,然后再假定所有 Antiphishing 检测层均已启用。
该项目的目标是提供稳定的 OPNsense 集成,而不是发布一个可能导致 Suricata 在启动或重载时失败的配置。
antiphishing.rules
https://github.com/julioliraup/Antiphishing/raw/refs/heads/main/antiphishing.rules
主规则集使用上文所述的外部数据集。
antiphishing-opnsense.rules
https://github.com/julioliraup/Antiphishing/raw/refs/heads/main/antiphishing-opnsense.rules
此文件是 OPNsense 专用的兼容性变体,可能无法提供与主规则集相同的检测覆盖范围。
phishing.lst
https://github.com/julioliraup/Antiphishing/raw/refs/heads/main/phishing.lst
Base64 编码的 Suricata 数据集。
phishing_ips.lst
https://github.com/julioliraup/Antiphishing/raw/refs/heads/main/phishing_ips.lst
纯文本 IPv4 数据集。
nrd_suspicious_domains.txt
https://github.com/julioliraup/Antiphishing/raw/refs/heads/main/nrd_suspicious_domains.txt
源自 NRD 的可疑域名情报。
Antiphishing 旨在与 Suricata 和 suricata-update 集成。
首选安装方法取决于目标平台。
有关当前集成状态和安装步骤,请参阅 OPNsense 文档和项目 wiki。
IPFire 上用于入侵防御的 julioliraup/antiphishing 规则集
Antiphishing 情报流水线大约每 6 小时动态更新一次,以跟踪新兴钓鱼基础设施。
更新流水线处理来自多个来源的情报,并重新生成 Suricata 规则和数据集。
该项目设计用于与以下组件集成:
suricata-updateAntiphishing 使用以下 SID 范围:
6000000 - 6100000
SID 在项目内被谨慎分配,以避免内部冲突。
Antiphishing 通过公共基础设施公开其情报,以便用户检查、评估数据并将其集成到自己的安全工作流中。
可用组件包括:
该项目有意公开其检测基础设施,而不是将检测方法视为黑盒。
Antiphishing 构建于更广泛的开源安全生态系统之上并与之并行。
该项目使用外部: