欺骗性电子邮件如何通过 SPF 检查并进入我的收件箱 PlatoBlockchain Data Intelligence。 垂直搜索。 哎。

欺骗性电子邮件如何通过 SPF 检查并进入我的收件箱

如果您允许数十亿个 IP 地址作为您的域发送,发件人策略框架将无法帮助防止垃圾邮件和网络钓鱼

二十年前, 保罗·维希 发表评论请求 拒绝 MAIL FROM 这有助于刺激互联网社区开发一种新的方式来对抗垃圾邮件 发件人政策框架 (防晒系数)。 当时的问题和现在一样,是 简单邮件传输协议 (SMTP) 用于在 Internet 上发送电子邮件,它无法检测伪造的发件人域。  

但是,在使用 SPF 时,域所有者可以发布域名系统 (DNS) 记录,这些记录定义了授权使用其域名发送电子邮件的 IP 地址。 在接收端,邮件服务器可以查询邮件的 SPF 记录 明显的 发件人域检查发件人的 IP 地址是否有权代表该域发送电子邮件。 

SMTP 电子邮件和 SPF 概述 

熟悉 SMTP 消息发送机制以及 SPF 如何与它们交互的读者可能更愿意跳过这一部分,尽管幸好它很短。 

想象一下爱丽丝在 example.com 希望向 Bob 发送一封电子邮件,地址为 example.org. 如果没有 SPF,Alice 和 Bob 的电子邮件服务器将进行类似以下的 SMTP 对话,使用 HELO 而不是 EHLO 进行了简化,但不会以显着改变基本结构的方式进行: 

这就是发送和接收 Internet (SMTP) 电子邮件的方式 自从早期的1980s,但它有——至少按照今天的互联网标准——是一个主要问题。 在上图中,乍得在 例子.net 可以很容易地连接到 example.org SMTP 服务器,进行完全相同的 SMTP 对话,并且收到一封来自 Alice 的电子邮件 example.com 交付给鲍勃 example.org. 更糟糕的是,除了可能在诊断消息标头中与主机名一起记录的 IP 地址(此处未显示)之外,没有任何迹象表明对 Bob 的欺骗,但这些对于非专家来说并不容易检查,并且取决于您的电子邮件客户端应用程序,通常甚至难以访问。 

尽管在垃圾邮件的早期阶段并没有被滥用,但随着大规模垃圾邮件成为一种既定但值得鄙视的商业模式,这种电子邮件伪造技术被广泛采用,以提高垃圾邮件被阅读甚至采取行动的机会。 

回到假设的乍得 例子.net “从”爱丽丝发送该消息......这将涉及两个级别的模拟(或伪造),现在许多人认为可以或应该进行自动化的技术检查来检测和阻止此类伪造的电子邮件。 第一个是 SMTP 信封级别,第二个是邮件标头级别。 防晒指数 提供 SMTP 信封级别的检查,以及后来的防伪和消息身份验证协议 DKIMDMARC 在消息头级别提供检查。 

SPF有效吗? 

据一个人说 根据一项研究, 在 2022 年发布的 32 亿个域中,约有 1.5% 有 SPF 记录。 其中,7.7% 的语法无效,1% 使用已弃用的 PTR 记录,该记录将 IP 地址指向域名。 SPF 的使用一直缓慢且确实存在缺陷,这可能会导致另一个问题:有多少域的 SPF 记录过于宽松?  

最近的研究发现 仅澳大利亚就有 264 个组织在其 SPF 记录中拥有可利用的 IP 地址,因此可能会在不知不觉中为大规模垃圾邮件和网络钓鱼活动奠定基础。 虽然与该研究发现的内容无关,但我最近自己刷了一些利用错误配置的 SPF 记录的潜在危险电子邮件。 

我收件箱中的欺骗性电子邮件 

最近收到一封自称来自法国保险公司Prudence Cr的邮件éole,但拥有所有 垃圾邮件的特征 和欺骗: 

 欺骗性电子邮件如何通过 SPF 检查并进入我的收件箱 PlatoBlockchain Data Intelligence。 垂直搜索。 哎。

虽然我知道伪造邮件的 From: address 邮件标头是微不足道的,但当我检查完整的电子邮件标头并发现 SMTP 信封 MAIL FROM: address 中的域时,我的好奇心被激起了 回复@prudencecreole.com 已通过 SPF 检查: 

欺骗性电子邮件如何通过 SPF 检查并进入我的收件箱 PlatoBlockchain Data Intelligence。 垂直搜索。 哎。

所以我查找了域的 SPF 记录 prudencecreole.com: 

欺骗性电子邮件如何通过 SPF 检查并进入我的收件箱 PlatoBlockchain Data Intelligence。 垂直搜索。 哎。

这是一个巨大的 IPv4 地址块! 178.33.104.0/2 包含 25% 的 IPv4 地址空间,范围从 128.0.0.0191.255.255.255. 超过 XNUMX 亿个 IP 地址是 Prudence Creole 域名的批准发件人——垃圾邮件发送者的天堂。 

为了确保我不是在自欺欺人,我在家里设置了一个电子邮件服务器,由我的互联网服务提供商分配了一个随机但符合条件的 IP 地址,并向自己发送了一封电子邮件欺骗 prudencecreole.com:  欺骗性电子邮件如何通过 SPF 检查并进入我的收件箱 PlatoBlockchain Data Intelligence。 垂直搜索。 哎。

成功了! 

最重要的是,我从收件箱中的另一封欺骗性垃圾邮件中检查了域的 SPF 记录 野生航行者网站: 

欺骗性电子邮件如何通过 SPF 检查并进入我的收件箱 PlatoBlockchain Data Intelligence。 垂直搜索。 哎。

瞧, 0.0.0.0/0 block 允许整个 IPv4 地址空间(由超过 XNUMX 亿个地址组成)在冒充 Wild Voyager 时通过 SPF 检查。 

在这个实验之后,我通知了 Prudence Créole 和 Wild Voyager 关于他们错误配置的 SPF 记录。 谨慎铬éole 在本文发表之前更新了他们的 SPF 记录。 

反思和经验教训 

为您的域创建 SPF 记录不会对垃圾邮件发送者的欺骗行为造成致命打击。 但是,如果安全配置,SPF 的使用可能会挫败许多尝试,例如那些到达我收件箱的尝试。 可能阻碍 SPF 立即、更广泛使用和更严格应用的最重要障碍是电子邮件的可传递性。 玩 SPF 游戏需要两个人,因为发件人和收件人都需要协调他们的电子邮件安全策略,以防电子邮件因双方采用过于严格的规则而无法送达。 

但是,考虑到垃圾邮件发送者欺骗您的域的潜在风险和损害,可以酌情应用以下建议: 

  • 为您的所有 HELO/EHLO 身份创建 SPF 记录,以防任何 SPF 验证者遵循 RFC 7208 中的建议 检查这些 
  • 最好使用 所有 机制与 = or ~= 限定词而不是 ?= 限定符,作为后者 有效地允许任何人欺骗您的域 
  • 设置“放弃一切”规则(v = spf1 -all) 对于您拥有的每个域和子域,它们不应生成(互联网路由)电子邮件或出现在 HELO/EHLO 或 MAIL FROM: 命令的域名部分 
  • 作为指导,请确保您的 SPF 记录很小,最好最多 512 个字节,以防止它们被某些 SPF 验证程序默默忽略 
  • 确保您在 SPF 记录中仅授权有限且受信任的 IP 地址集 

SMTP 发送电子邮件的广泛使用创造了一种 IT 文化,专注于可靠和高效地传输电子邮件,而不是安全和隐私。 重新调整以安全为重点的文化可能是一个缓慢的过程,但鉴于互联网的一大祸害——垃圾邮件,它应该获得明显的收益。 

时间戳记:

更多来自 我们安全生活