![]() |
Domain Shadowing: 利用 CDN 实现强大的抗阻塞通信 - 可打印的版本 +- Netflix优惠码论坛 (https://www.sinovoter.com) +-- 版块: 合租专栏 (https://www.sinovoter.com/forum-18.html) +--- 版块: Surge与各类代理加速器合租 (https://www.sinovoter.com/forum-57.html) +--- 主题: Domain Shadowing: 利用 CDN 实现强大的抗阻塞通信 (/thread-7450.html) |
Domain Shadowing: 利用 CDN 实现强大的抗阻塞通信 - netflix - 08-04-2023 我们邀请了客座博客作者魏明奎本周向博客提交了他们的研究摘要。这篇博文基于即将发布的 Usenix 安全论文(完整版本请点击此处)。请注意,本文提出的Domain Shadowing思想旨在成为最终用户尚不存在的未来系统的构建块。我们希望这篇文章能够帮助系统设计者以新的方式思考,并利用这些想法来构建新的审查规避工具。 什么是Domain Shadowing? 域名屏蔽是一种新的审查规避技术,它使用内容分发网络 (CDN) 作为实现其目标的杠杆,这与域名前置类似。然而,Domain Shadowing的工作原理与域前置完全不同,并且在抗阻塞性方面更强。与域前置相比,其中的一大区别是Domain Shadowing中的用户负责整个过程。换句话说,整个系统可以由用户单独配置,而不需要被审查网站或反审查组织的必要帮助。 域名隐藏的工作原理 我们在本节开始时将解释 CDN 如何解析和解析域名。 CDN 的作用类似于反向代理,隐藏后端域并仅向公众呈现前端域。CDN 通常采用两种方法来完成域名解析,如下两图所示。为了便于说明,我们做出以下假设:假设发布者(即想要使用 CDN 分发其网站内容的人)的源服务器托管在 Amazon Web Service (AWS) 上,并分配了规范域名 abc.aws。 com,发布商希望使用域名 example.com 来宣传该网站,该域名托管在 GoDaddy 的域名服务器上。 图1展示了大多数CDN使用的域名解析流程,我们以Fastly为例。要使用 Fastly 的服务,发布者将首先登录其 Fastly 帐户并将 example.com 设置为前端,将 abc.aws.com 设置为后端。然后,发布商将在其 GoDaddy 域名服务器中创建新的 CNAME 记录,该记录将域 example.com 解析为固定域 global.ssl.fastly.net。图 1 中的其余步骤很直观。 还有一些 CDN 托管自己的 TLD 域名服务器,例如 Cloudflare。如果是这种情况,则可以跳过图1中的步骤2和步骤3(如图2所示)。 请注意,两张图的最后四个步骤显示了 CDN 执行域名解析的方式的差异。具体来说,常规 DNS 服务器只会响应带有源服务器位置的 DNS 查询,并且文档必须由客户端本身获取,而 CDN 实际上会为客户端获取 Web 文档。 图 1. Fastly 的域名解析 图 2:Cloudflare 的域名解析 基于上面的介绍,我们现在可以介绍Domain Shadowing的工作原理。Domain Shadowing利用了以下事实:当创建域绑定(即前端域和后端域之间的连接)时,CDN 允许在后端设置任意域。因此,用户可以自由地将前端域绑定到任何后端域。要访问被审查区域内的被阻止域(例如 censored.com),被审查用户只需执行以下步骤:
在此过程中,审查者只会看到用户使用HTTPS连接到CDN并向shadow.com请求资源,因此不会阻止流量。 在仍然支持域前置的 CDN 上,我们可以应用域前置技术来使Domain Shadowing更加隐蔽。为此,我们仍然将shadow.com设置为前端,将censored.com设置为后端,但是当从审查区域内发出HTTPS请求时,用户将请求前端域front.com并将Host标头设置为是shadow.com。这样,审查者只会看到用户正在与前域通信,甚至不会怀疑用户的行为。 Domain Shadowing有什么好处? 与域前置相比,域隐藏的明显好处是它可以使用任何 CDN(只要 CDN 支持域隐藏,并且根据我们的实验大多数 CDN 都支持)来访问任何域。审查域名不需要位于同一个 CDN 上,这是域名前置的一大限制。实际上,被审查的域根本不需要是使用 CDN 的域。与前置域相比,这是一个很大的飞跃,前置域只能访问与前置域相同的 CDN 上的域。 域前置的另一个缺点是,它可以(并且正在)被 CDN 通过强制 HTTPS 请求的主机标头必须与 TLS 握手的 SNI 匹配来轻松禁用。另一方面,Domain Shadowing更难禁用,因为允许用户配置后端域是 CDN 的合法功能。 与其他基于 VPS 的方案相比,Domain Shadowing(可能)更快,并且不需要专门的第三方支持。速度更快,因为与使用自行部署的代理来中继流量的 proxy-on-VPS 方案相比,Domain Shadowing的中继实际上是在 CDN 高速骨干网络上运行的所有 CDN 边缘服务器以及整个基础设施经过专门优化,可以快速可靠地分发内容。下图比较了直接从源服务器获取 Web 文档、使用 Psiphon、使用 EC2 代理(基于不同硬件配置的 2 个实例)以及使用基于 5 个不同 CDN 提供商的Domain Shadowing(Fastly、 Azure CDN、Google CDN、AWS Cloudfront 和 StakePath)。从图中, Domain Shadowing的挑战 目前,Domain Shadowing面临以下主要挑战:
隐私: CDN 拦截所有 HTTP 和 HTTPS 流量。也就是说,当涉及到CDN时,HTTPS不再是在客户端和源服务器之间,而是在客户端和CDN边缘服务器之间。因此,CDN 能够查看和修改用户和目标服务器之间的任何和所有流量。虽然这种情况不太可能发生,特别是对于大型且信誉良好的 CDN,但用户应该意识到这种可能性。 结论 我们解释了域名屏蔽,这是一种利用 CDN 作为杠杆来实现审查规避的新技术。它与域前置不同,但可以与域前置协同工作以实现更好的抗阻塞性。虽然仍需要开展大量工作来解决所有挑战并使其可部署,但我们认为Domain Shadowing是一种有前途的技术,可以实现更好的审查规避。 |