[ 报告与调查 ]

使用代表性故障和边缘情况验证DMARC解析器

在信任源自报告的指标之前,使用版本化的固定矩阵来验证语义准确性、资源限制、重复处理和安全恢复。

由EmailAuth研究团队提供

[ 要点 ]

  • 将原始身份验证结果与 DMARC 对齐结果分开。
  • 明确定义支持的模式、扩展和冲突行为。
  • 比较预定的预期值、重放安全性和测量的资源结果。
在此页面上

接受一份良好 XML 报告的解析器仅通过了一项狭窄的测试。有用的验证套件会检查它提取的内容、拒绝的内容、如何处理支持的变化以及重试是否会更改总数。将预期的标准化值视为夹具的一部分,而不是允许测试发明的输出。

声明支持的合约

参考: RFC 9990 §3.1.1, RFC 9990 §3.2.

记录解析器、运行时、解压缩器和模式版本。说明支持哪些报告格式和扩展以及如何处理旧输入。 RFC 9990 定义当前聚合格式和扩展模型;对旧格式的支持是一个单独的兼容性决定。

首先构建一个最小的有效夹具。保存其字节、散列、预期元数据、间隔、源 IP、计数、身份和对齐结果。不要认为成功的 XML 解析就足够了:验证字段类型和含义。保持缺失的可选值与无效的必需数据不同。

测试常见的语义错误

参考: RFC 9990 §3.1.1.9, RFC 9990 §3.1.1.11, RFC 9989 §5.3.5.

包括原始的 DKIM 通过具有对齐DKIM故障的不相关域和原始域 SPF 通过没有 结盟。包括一种对齐机制通过而另一种失败的情况。检查标准化结果是否要求两种机制都通过或将原始成功与对齐等同。

添加与已发布政策的简单推论不同的报告处置。保留可用的覆盖原因。对于当前模式,包含 ActionDispositionType 值传递,而不是将其作为未知的旧值拒绝; RFC 9990附录 A 定义它用于传递 DMARC 并有执行政策。将遗留格式的期望明确地分开。测试多个DKIM结果,不删除除第一个签名之外的所有签名。目的是保留报告内容,而不是根据不完整的数据捏造新的接收器评估。

练习结构和安全案例

参考: RFC 9990 §3.2, RFC 9990 §8.1.

参考: OWASP XML 外部实体预防,一般指南.

使用无效的必需值、格式错误的 XML、受支持的命名空间扩展、不受支持的版本、缺少可选元素和过多的有界嵌套。隔离测试压缩和扩展的大小限制、中断输入和无害的外部参考哨兵。定义每个输入是否被接受、隔离或拒绝以及原因。

如果下游分析声称要保留受支持的扩展,则它不应悄然消失。不受支持的构造应该产生显式的兼容性结果,而不是被重新分类为失败的身份验证。保持安全测试规模较小且资源有限;不要仅仅为了证明限制而产生破坏性的工作负载。

验证重复和交易行为

参考: RFC 9990 §3.5.4.

导入夹具,重播它并在再次重播之前重新启动工作器。根据记录的重复规则,计数的报告应保持单一。添加一个不同的附件,声称具有相同的报告身份,并需要明确的冲突决定。仅仅相同的 ID 并不能允许未经审查而丢弃不同的证据。

在提交之前注入受控中断。确认没有部分记录影响生产指标,并且允许的重试一次会产生预期结果。将零观测输出测试为不可用,而不是除以零或制造完美的通过率。

完成验收行

合成夹具 F1 包含 90 个具有对齐的DKIM传递的观测值和 10 个没有对齐的传递机制的观测值。其预期包含计数为 100,预期观察到的通过计数为 90。重播 F1 必须使这两个值保持不变。故意截断的副本应被拒绝,而不增加任何一个总数。

执行前保存预期值。将实际输出、资源测量和诊断与该基线进行比较。这是解析器接受规范,而不是声称任何商业或租户解析器已通过它。一个单独的新离线算术/重放模型检查 100/90 值和重复身份的未更改计数;它不会解析或验证RFC 9990 XML 报告。如果某个案例失败,请保留缺陷和精确的固定装置,以便以后的修订可以重现它。

记录结果的门变化

保留一个包含夹具 ID、散列、目的、预期结果、实际结果、解析器配置和审查决策的矩阵。要求所有强制性案例在部署的修订版中通过,并记录不支持功能的例外情况。在依赖性或规范化更改后重新运行,并在重新处理存储的报告之前比较历史指标效果。解析器验证应该保护系统可用性和人们用于政策决策的数字的含义。

[ 外卖 ]

比较预定的预期值、重放安全性和测量的资源结果。

[ 按角色 ]

这对您意味着什么

选择您的角色以执行后续实际步骤。

IT/邮件管理员

版本固定装置和预期标准化值。

测试对齐语义和重放。验证事务恢复和资源限制。

后续步骤

  1. 版本固定装置和预期标准化值。
  2. 测试对齐语义和重放。
  3. 验证事务恢复和资源限制。

CISO / SecOps

一起审查安全和完整性案例。

需要确切版本的验收证据。在历史重新处理之前评估指标影响。

后续步骤

  1. 一起审查安全和完整性案例。
  2. 需要确切版本的验收证据。
  3. 在历史重新处理之前评估指标影响。

创始人/非技术人员

在信任仪表板更改之前需要证据。

将业主分配给失败的验收案例。保持不支持的格式间隙可见。

后续步骤

  1. 在信任仪表板更改之前需要证据。
  2. 将业主分配给失败的验收案例。
  3. 保持不支持的格式间隙可见。

[ 常见问题解答 ]

常见问题

有效的 XML 是否足以接受报告?

否。还要验证支持的报告结构和字段语义。

RFC 9990 §3.1.1

原始DKIM通行证是否应该意味着对齐的DKIM通行证?

不可以。签名域可能与作者域不一致。

RFC 9990 §3.1.1.11 RFC 9989 §4.4

一致的SPF和DKIM必须都通过吗?

不会。通过任一机制传递对齐路径都可以满足DMARC 。

RFC 9989 §5.3.5

重放测试应该证明什么?

重试和重新启动不会再次添加相同的包含观察结果。

具有相同声明报告 ID 的不同文件应如何处理?

保留冲突并应用明确的基于证据的决策。

RFC 9990 §3.5.4

不支持的格式是否会导致身份验证失败?

不。它们是相容性或摄入结果。

畸形的夹具应该如何改变生产指标?

如果在原子提交之前验证失败,则不会发生任何事情。

验证记录属于什么内容?

夹具哈希、预期和实际结果、配置、测量限制和审查决定。

[ 来源 ]

来源

  1. RFC 9989

    部分 §4.4 · §5.3.5

  2. RFC 9990

    部分 §3.1.1· 3.1.1.11 · 3.1.1.9 ·§3.2·§3.5.4·§8.1·附录A

  3. OWASP XML 外部实体预防

    部分 一般指导

[ 词汇表 ]

词汇表

原始认证结果
报告的SPF和DKIM结果没有解释它们与DMARC对齐的关系。

RFC 9990 §3.1.1.11

对齐结果
与DMARC相关的策略评估SPF / DKIM结果。

RFC 9990 §3.1.1.9

重播
根据记录的重复规则重新处理输入,而不会产生意外的额外指标计数。

企业出处

为什么顶级金融机构和政府 退役了他们的电子邮件安全仪表板。

传统的电子邮件身份验证平台会向您出售仪表板并要求您的工程师来完成这项工作。在高风险环境中,手动监督意味着延迟执行、配置漂移和不受监控的影子域。

EmailAuth是代理电子邮件来源平台。 我们的代理人强制执行 p=reject,保持第三方发件人一致并将您的域名移至完整状态 RFC 9989 合规性、新的DMARC标准,以及人机交互审核能力。

政府 大型企业 一级金融机构

SaaS · 专用租赁 · 气隙本地部署 · BYOK 加密

知识库