
[捐赠] · 仪表板向量 · 贡献指南 · 提交向量 · REST API CTI · 维基
面向 Suricata 的预测性钓鱼情报 — 从第零天起进行先发制人的防御
Antiphishing 是一个开源(GPLv3)网络威胁情报(CTI)基础设施和 Suricata 规则集,旨在尽早于网络层识别并阻断钓鱼基础设施。
该项目结合了精选的钓鱼指标、自动化威胁情报处理以及对新注册域名(NRD)的分析,以便在可疑的新兴基础设施被传统威胁源广泛识别之前将其发现。
Antiphishing 旨在将新兴威胁情报转化为可部署的 Suricata 检测与防御规则。
现代钓鱼基础设施可以在短时间内被创建、武器化并弃用。
传统黑名单固然有价值,但它们通常是在指标已被观察、报告或验证之后才识别出相关基础设施。
Antiphishing 探索了一种互补的方法:先发制人的威胁情报。
NRD 管道监控具有可观察 DNS 活动的新注册域名,并使用多种启发式方法分析候选域名,包括:
该管道分析超过 150 万个候选域名组合,并产出一组被认为足够可疑、需要进一步安全处置的域名。
其目标并非声称每个新注册域名都是恶意的。相反,目标是在早期阶段识别潜在的钓鱼基础设施,早于其必然出现在传统恶意域名源中的时间。
这就在原始基础设施注册与已确认的恶意情报之间创建了一个互补的检测层。
Antiphishing 中的**第零天(Day Zero)**一词指的是该项目旨在缩短可疑基础设施出现与防御行动之间的时间。
这并不意味着 Antiphishing 能够检测每一次零日攻击、漏洞或此前未知的恶意软件家族。
其关注点更为聚焦且务实:
尽早识别可疑的钓鱼基础设施,并使该情报在网络层可操作化。
预测性情报需要与传统已验证 IOC 源不同的置信度模型。
由 NRD 分析管道生成的域名是通过自动化启发式方法产生的候选指标。因此,它们应被视为高度可疑的基础设施,而非自动解读为人工验证的恶意 IOC。
由于 NRD 管道优先考虑早期检测,因此可能出现误报。
部署预测性指标的组织应考虑适当的:
NRD 衍生的情报特别适用于以下环境:尽早阻断可疑基础设施优于等待域名成为已确认的恶意 IOC。
这是一种刻意的权衡:
更早的情报可以提供更早的保护,但更早的情报也伴随着更大的不确定性。
Antiphishing 不仅仅是一个静态的钓鱼黑名单。
该项目结合了多种来源和处理阶段:
外部威胁源
│
├── 钓鱼指标
│
└── 基础设施指标
│
▼
┌───────────────────┐
│ 情报 │
│ 处理 │
└───────────────────┘
│
├── 域名分析
├── IP 分析
└── URL 处理
│
▼
新注册域名
│
▼
候选生成
│
├── 域名仿冒
├── 同形字
├── 关键词
└── 品牌冒充
│
▼
可疑基础设施
│
▼
Suricata 检测
│
▼
IDS / IPS 执行
该项目还依赖外部自由软件、开源库、公共情报源和社区 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 集成。
首选安装方法取决于目标平台。
请参阅安装与配置指南:
https://github.com/julioliraup/Antiphishing/wiki/Configuration-Ruleset-on-GNU-Linux
https://github.com/julioliraup/Antiphishing/wiki/Configuration-Ruleset-on-pfSense
https://github.com/julioliraup/Antiphishing/wiki/Configuration:-Antiphishing-Ruleset-on-IDSTower
Antiphishing 规则集可通过 OPNsense IDS/IPS 内容生态系统获取。
有关当前集成状态和安装流程,请参阅 OPNsense 文档和项目维基。
Antiphishing 情报管道大约每 6 小时动态更新一次,以追踪新兴的钓鱼基础设施。
更新管道处理来自多个来源的情报,并重新生成 Suricata 规则和数据集。
该项目旨在与以下组件集成:
suricata-updateAntiphishing 使用以下 SID 范围:
6000000 - 6100000
SID 在项目内部经过仔细分配,以避免内部冲突。
Antiphishing 通过公共基础设施公开其情报,以便用户检查、评估并将数据集成到自己的安全工作流中。
可用组件包括:
该项目有意公开其检测基础设施,而非将检测方法视为黑盒。
Antiphishing 构建于更广泛的开源安全生态系统之上并与之并行发展。
该项目使用外部:
Antiphishing 不声称拥有其消费的底层情报来源或工具的所有权。
其主要贡献在于自动化、关联、分析管道,以及将情报转化为可部署的 Suricata 检测内容。
特别衷心感谢 @antixmars、@sikysikov、@satta、@flipper203 和 @zoomequipd 的贡献、见解、测试和支持。
Antiphishing 是一个协作生态系统,社区反馈是改进项目检测质量和平台兼容性的重要组成部分。
Antiphishing 作为一项独立的公共安全基础设施进行维护。
该项目旨在让主动式钓鱼情报和网络层检测无需组织购买商业威胁情报平台即可获得。
然而,运营一个持续更新的情报管道需要真实的基础设施和运营成本。
您的支持有助于资助:
NRD 分析管道需要大量的 CPU 和内存资源来处理大量候选域名组合。
赞助还有助于维护:
面向在生产环境中使用 Antiphishing 的 MSSP、SOC、安全团队、研究人员和组织:
Antiphishing 提供了一种通过 Suricata 实现预测性钓鱼情报和网络层执行的开源方法。
通过支持该项目,组织有助于维护持续处理、分析和分发新兴威胁情报所需的基础设施。
其目标是让情报对社区保持可访问性,而非将整个检测管道置于商业付费墙之后。
如果 Antiphishing 保护了您的网络、支持了您的研究,或在事件响应期间为您的团队节省了时间,请考虑支持该基础设施:
08650081401如需定期支持或一次性捐款:
https://github.com/sponsors/julioliraup
欢迎贡献。
您可以通过以下方式贡献:
请参阅:
CONTRIBUTING.md
预测性情报必然涉及不确定性。
如果您发现误报、错误指标、检测问题或集成问题,请尽可能提供详细的技术信息并提交 GitHub Issue。
有用的信息可能包括:
这些信息有助于改进检测管道,同时减少不必要的误报。
如需安全研究、误报、技术合作或合作伙伴洽谈:
问题: https://github.com/julioliraup/Antiphishing/issues
Antiphishing 围绕一个简单的原则构建:
威胁情报在攻击者有机会建立立足点之前变得可操作时,其价值最高。
该项目结合开源情报、自动化分析、新兴域名研究和 Suricata 执行,探索一种更主动的钓鱼防御模式。
Antiphishing 并非等待每个恶意域名都成为已知 IOC,而是研究新兴钓鱼活动周围的基础设施是否能够更早地提供有用的防御信号。
这就是该项目的核心理念:
从新兴基础设施 → 到情报 → 到检测 → 到防御。