概述
域名信誉引擎是 YBB 邮件系统安全架构中 Phase 10.14 的核心组件,作为邮件安全的"门卫"角色,负责在邮件进入系统之前对发件域名进行多层次的安全性与信誉评估。该引擎聚合 DNS 基础设施、域名注册信息、TLD 信誉、DGA 检测等多个维度的信号,生成 0-100 的统一信誉评分,并将域名划分为 5 个等级(Trusted/Reliable/Neutral/Suspicious/Malicious),供上游安全模块消费。
完整实现代码位于 core/rust_engine/src/security/domain_reputation.rs(~950 行),附带 C FFI 绑定层 ffi/domain_reputation_ffi.rs(~710 行),所有功能通过 24 单元测试验证。
架构设计
5维信誉评分体系
域名信誉引擎采用扣分制评分策略,初始分为 100 分,从 5 个维度进行扣分或加分:
1. TLD 信誉维度(-20 ~ 5):基于顶级域名的风险评级进行加权:
- Standard(com/org/net/edu/gov):标准风险, 5分奖励
- CountryCode(cn/uk/de/jp等48个国家代码):低风险,-2分
- NewGeneric(app/dev/tech/online等30个新通用TLD):中风险,-8分
- HighRisk(xyz/top/club/gq/ml/cf等35个高风险TLD):高风险,-20分
2. 域名年龄启发式(-25 ~ 5):在没有 WHOIS 数据时,基于域名特征进行启发式评估:
- Mature(成熟品牌词汇): 5分
- Standard(可读英文单词组合): 3~ 5分
- Recent(较长混合字符):-10分
- NewlyRegistered(超短随机串):-20分
- SuspectedDga(DGA 疑似):-25分
3. DNS 基础设施维度(-45 ~ 21):结合外部 DNS 检查结果进行综合评分:
- MX 记录:有则 3分/无则 -15分
- SPF 记录:有则 5分/无则 -10分
- DMARC 记录:有则 8分/无则 -10分
- DNSSEC 状态:Secure 5分/Insecure -3分/Bogus -15分
4. 域名异常特征(-10 ~ -20):
- 域名过长(>40字符):-10分
- 数字占比过高(>60%):-10分
5. 可信提供商奖励( 40):已知邮件/云服务提供商直接获得 95 分满分(Trusted 等级):
- 65 预置可信域名(Gmail/Outlook/iCloud/ProtonMail/QQ/163/Aliyun 等)
- 支持运行时自定义添加白名单
DGA 检测算法
域名生成算法(Domain Generation Algorithm)是僵尸网络常用的 C2 通信手段。引擎实现了 3 层 DGA 检测策略:
辅音集中度分析
DGA 域名通常缺乏元音,辅音占比极高。算法统计辅音/元音比率:
- 无元音且长度 ≥ 8:直接标记为 DGA
- 辅音/元音比率 > 4.0 且长度 ≥ 10:判定为 DGA
连续辅音检测
自然语言单词通常不会包含超长连续辅音。当最大连续辅音数 ≥ 6 时,标记为 DGA 疑似。
Shannon 熵分析
DGA 域名通常具有较高信息熵。算法计算字符串的 Shannon 熵:
fn calculate_string_entropy(s:

发表评论 取消回复