01 · 分层总体架构
参考成熟流式数据平台的分层模式,系统自下而上分为六层。层间通过消息队列解耦,任一层的处理能力可独立水平扩展:
1.1 双管道设计
- 实时管道(分钟级):CT日志流+新注册流 → 候选生成 → 快速指纹比对 → 轻量判定(仅域名/证书/注册特征)。目标:新仿冒资产出现后≤30分钟产出初步告警(工程目标值)。
- 批量管道(日级):区域文件/全量词典 × 品牌库全量展开 → 离线相似度计算 → 深度取证(渲染/视觉)。目标:全量空间周期性覆盖,捕获"老域名复活"与低频手法变体。
02 · 相似度引擎的工程优化
2.1 候选剪枝
对每日亿级域名流做全量相似度计算不可行,必须剪枝:①长度过滤——候选与品牌长度差超过阈值(经验值≥3)直接丢弃;②字符集合过滤——候选含品牌核心字符集合过低的丢弃;③n-gram倒排索引——对品牌名构建3-gram索引,域名流中共享≥2个3-gram的进入精算队列(借鉴文献检索的candidate generation思路);④布隆过滤器——精确变体字典(防御性注册清单、已知仿冒清单)O(1)查询。
2.2 计算预算分配
按品牌分级分配算力:核心品牌(金融/政务头部)全手法+实时管道覆盖;长尾品牌仅高频手法+批量管道。算力监控指标:每日精算域名数、平均判定延迟、队列积压深度——积压超阈值时自动降级长尾品牌手法深度。
def on_domain_event(domain: str):
if domain in whitelist_bloom: # 防御性注册白名单
return
cands = ngram_index.query(domain) # 共享≥2个3-gram的品牌
for brand in cands:
if abs(len(domain)-len(brand)) > 3:
continue
score = sim_score(brand.name, domain)
if score >= brand.rt_threshold: # 实时管道阈值
push(candidate_q, (domain, brand, score))
break03 · 基础设施关联与批量注册识别
单域名判定之外,基础设施聚类可发现"未命中相似度但同属攻击者"的资产:①注册特征聚类——创建时间窗口(分钟级内批量注册)、同一注册商、相似注册模式的域名归组;②NS/证书聚类——共用NS服务器或同一证书SAN列表覆盖大量域名的,标记为基础设施簇;③解析行为聚类——同一IP承载大量品牌相关域名的,重点排查;④级联扩展——任一簇成员被判定P1,全簇复评。聚类结果也是子课题03(品牌滥用与侵权追踪)的基础设施画像输入。
与CT日志的联动实例:某证书SAN列表包含"brand-login.net""brand-verify.net"等20个品牌功能词域名——证书本身就是攻击者的资产清单。对CT流中SAN数量异常(如>10个品牌变体)的证书做专项解析,是高性价比的簇发现路径。
04 · 存储选型
| 数据类型 | 推荐选型 | 理由 |
|---|---|---|
| 原始事件流 | 列式存储/数据湖(Parquet+对象存储) | CT/RDAP原始报文按日分区,支撑回溯审计 |
| 域名判定状态 | 关系库/宽表 | 域名维度最新状态+历史版本,支撑复评 |
| 解析历史 | 时序/列式(ClickHouse类) | passive DNS量级大、按时间范围聚合查询 |
| 关联图谱 | 图数据库(域名-IP-NS-证书-注册特征) | 簇发现、路径查询(OpenCTI同类思路) |
| 指纹与特征向量 | 向量/倒排引擎 | 相似度检索与白名单布隆过滤器 |
| 证据包 | 对象存储+哈希存证 | 截图/HAR/证书链不可篡改保存,支撑法律程序 |
05 · 开源工具盘点
| 工具/项目 | 环节 | 说明 |
|---|---|---|
| dnstwist | 变体生成/探测 | 开源域名变体生成与注册状态探测工具(elceef/dnstwist),本课题手法清单的基础参考 |
| OpenSquat | 开源品牌监测 | 开源品牌仿冒域名监测项目,支持CT日志等数据源,可作自建系统起点 |
| Cert Spotter / crt.sh | CT监测 | 证书透明度订阅与查询(见第3页) |
| urlscan.io | 网页取证 | 公开URL扫描沙箱,提供截图/DOM/请求链API |
| PhishTank / URLhaus | 情报回流 | 公开钓鱼情报平台,用于误报复盘与命中校验(见第5/7页) |
| MISP / OpenCTI | 情报输出 | 判定结论的结构化共享与图谱化(衔接威胁情报研究专题) |
注:工具能力与许可证以其官方仓库为准;商用部署前须核查各项目许可证条款。
06 · 性能与容量规划
- 吞吐假设(示例量级,需按实际数据校准):全球每日新增注册域名十万至百万级,CT日志每日证书签发十万级;实时管道按峰值3倍冗余设计。
- 延迟预算:域名事件→候选生成≤5分钟;取证(解析+三件套)≤15分钟;视觉渲染复评≤2小时(队列化异步)。
- 可用性:采集层容忍数据源中断(断点续传+多源冗余);判定层无状态可水平扩展;证据包写入幂等防重复。
- 成本杠杆:视觉渲染是最贵环节,用三级漏斗(指纹→dHash→pHash/SSIM)将渲染量压缩至初筛量的1%以下(工程经验目标,非保证值)。
07 · 平台自身安全与反滥用设计
域名监测系统本身具备攻击面,建设期须同步纳入安全设计,防止被攻击者反向利用:
| 风险 | 说明 | 设计对策 |
|---|---|---|
| 候选队列投毒 | 攻击者刻意注册大量"像仿冒但合法"的域名,淹没复核资源或污染标注集 | 队列分级限流;标注集入模前资深复核;异常注册模式(与品牌无关的批量相似注册)单独隔离分析 |
| 爬虫被反制 | 取证爬虫被仿冒站识别后定向投放无害内容(只对检测者"展示清白") | 多探测节点轮换;探测任务与判定任务分离;关键证据二次验证 |
| 探测行为被滥用 | 系统被冒用为第三方探测放大器,或探测流量被嫁祸溯源 | 出口流量统一网关、强审计日志;探测目标白名单化;遵守目标网络AUP的速率约束 |
| 证据链完整性 | 证据包若可被篡改,后续处置与法律程序失去效力 | 证据落盘即计算SHA-256并时间戳固化;存储写一次(WORM策略);访问全程留痕 |
| 权限与数据安全 | 品牌库(含高管层敏感词)与判定结论属敏感运营数据 | 最小权限RBAC;敏感字段加密存储与脱敏展示;操作审计季度复核 |
红队校验:平台上线前应开展一轮对抗性自测——模拟"已知仿冒资产的检测者视角"与"试图规避检测的攻击者视角"双向演练,输出规避样本清单并反哺第2页手法库与第4页指纹库。该演练仅针对自有实验环境与自有品牌进行(与第1页合规声明一致)。
本节参考来源(第6页)
elceef/dnstwist:github.com/elceef/dnstwist
OpenSquat 开源品牌监测项目:github.com/atenreiro/opensquat
ClickHouse 列式数据库(解析历史存储参照):clickhouse.com
OpenCTI 开源威胁情报平台(图谱化参照):filigran.io/solutions/opencti