域阴影:利用CDN进行强大的阻塞通信

2021-04-26 10:27:30

我们邀请Guest博客作者Mingkui Wei,本周向博客提交他们的研究摘要。此博客文章基于即将到来的USENIX安全文件(此处完整版本)。请注意,此处呈现的域阴影思想旨在成为未来系统的构建块,该系统尚未存在于最终用户。我们希望这篇文章能够帮助系统设计师以新的方式思考,并使用这些想法来构建新的审查规避工具。

什么是域阴影?域阴影是一种新的审查规避技术,它使用内容分发网络(CDN)作为实现其目标的杠杆,这类似于域面前。然而,域阴影从域面向域面完全不同,并且在阻塞抗性方面都更强烈。与域面向域相比,许多人之间的一个很大的差异是域阴影中的用户负责整个过程。换句话说,完整的系统可以单独由用户配置,无需审查网站和反审查组织都不是必要的帮助。

域阴影工作如何通过解释如何解决域名和翻译CDN来启动本节。

CDNS就像一个反向代理,它隐藏后端域并仅向公众提供前端域。 CDN通常采用两种方法来完成名称翻译,如以下两个数字所示。我们做出以下假设来促进插图:假设发布者' s(即希望使用CDN的人分发其网站内容)Origin服务器托管在Amazon Web服务(AWS)上,并分配了一个规范名称abc.aws.com和出版商希望使用域名' s name服务器上托管的域example.com宣传网站。

图1显示了大多数CDN使用的名称翻译过程,我们以速度迅速使用。要使用速度和#39; Service,Publisher将首先登录其速度帐户并将example.com设置为前端,Abc.aws.com作为后端。然后,发布者将在其Godaddy' s name服务器中创建一个新的CNAME记录,它将域example.com解析为固定域Global.ssl.fastly.net。图1中的其余步骤是直观的。

还有一些CDN托管自己的TLD名称服务器,如CloudFlare。如果是这种情况,则可以跳过图1中的步骤2和步骤3(如图2所示)。

请注意,两个数字的最后四个步骤都显示了CDN如何进行名称解析的差异。具体地,常规DNS服务器将仅响应具有原始服务器的位置的DNS查询,并且必须由客户端自行获取文档,而CDN将实际获取客户端的Web文档。

基于以上介绍,我们现在可以介绍域阴影的工作原理。域阴影利用创建域绑定(即前端和后端域之间的连接)时的事实,CDN允许在后端设置任意域。因此,用户可以自由地将前端域自由绑定到任何后端域。要在审查的区域内访问被阻止的域(例如C ensored.com),则审查的用户只需要执行以下步骤:

用户将随机域注册为"阴影"域名,例如:shadow.com。我们假设审查员赢得' t阻止这个新注册的域。

用户订阅可在审查区域中访问的CDN服务,但未审查CDN本身。实际的例子是CDN将其所有边缘服务器部署在审查的区域之外。

通过将阴影域设置为前端,用户将阴影域绑定到CDN服务中的义域中的阴义域。

用户在CDN帐户中创建规则,以重写来自主机的传入请求的主机头:shadow.com到主机:cissored.com。这是一个重要的步骤,因为否则,Censored.com的原点服务器将收到一个无法识别的主机标题,无法满足请求。

最后,要访问被审查的域,用户将在审查的区域内向Https://shadow.com发送请求。该请求将被发送到CDN,该CDN将重写主机标头并将请求转发为CISCOREND.COM。从cissoned.com收到响应后,CDN将返回对用户&#34的响应;在名称" https://shadow.com。

在此过程中,审查表只能看到用户使用HTTPS连接到CDN并从Shadow.com请求资源,因此不会阻止流量。

在仍然支持域面前的CDN上,我们可以应用域面前的技术来制作域阴影潜力。为此,我们仍然将Shadow.com设置为前端并被C博伪的元件作为后端,但是当从审查区域内发出HTTPS请求时,用户将请求前域FROFT.com并将主机标头设置为是shadow.com。这样,审查员只会看到用户与前域通信,甚至不会怀疑用户' s行为。

域阴影的好处是什么?与其兄弟姐妹,域名fronting相比,域阴影的明显好处是它可以使用任何CDN(只要CDN支持域阴影,并且基于我们的实验大多数CDNS DO)访问任何域。被审查的域不需要在同一CDN上,这是域面前的巨大限制。实际上,审查的域不需要成为一个域,它根本不必使用CDN。与域Fronting相比,这是一个大的飞跃,它只能访问与前域同一CDN上的域。

域Fronting的另一个缺点是,通过CDN通过CDN授权HTTPS请求的主机标题可以毫无痛地禁用它,必须匹配TLS握手的SNI。另一方面,域阴影更难被禁用,因为允许用户配置后端域是CDN的合法特征。

与其他基于VPS的方案相比,域阴影(可能)更快,不需要专用的第三方支持。它更快,因为与使用自部署代理中继流量的代理-on-vps方案相比,域阴影'实际上是所有在CDN&#39上运行的CDN' SEDED服务器; S高速骨干网,整个基础设施专门针对快速且可靠地分配内容。下图比较了使用PSIPHON使用PSIPHON使用PSIPHON的获取Web文档的延迟使用PSIPHON(基于不同的硬件配置),并使用基于5个不同的CDN提供程序(速度)使用域阴影(速度, Azure CDN,Google CDN,AWS CloudFront和StakePath)。从图中,我们可以看到域阴影大部分时间都会击败其他方案。

复杂性:用户必须在CDN帐户中配置前端和后端域,了解他们想要访问的每个审查的域。虽然可以使用CDN的API自动化这种配置,但是用户仍然需要具有足够的知识,诸如如何向CDN注册,使能API配置以及获取API凭据以及如何注册域。

成本:根据我们的调查,为500 GB的每月数据使用量,使用具有信誉良好的CDN的域阴影的成本约为40美元,这与一般数据使用线性增加或线性地减少。如果用户选择使用廉价的CDN,则可以将成本降至每月10美元。但是,这仍然可以' t击败了PSIPHON和TOR等免费工具。

安全性:通过使用域阴影,浏览器"思考"它只是与阴影域沟通,而Web文档实际上是来自所有不同的审查域(参见我们使用Forbes.com作为阴影域访问Facebook的下图。此类域名转换使得同样的原始政策不再是可执行的。虽然我们可以使用浏览器扩展为在某种程度上帮助解决此问题,但用户必须了解和谨慎对待哪些网站访问。

隐私:CDN拦截所有HTTP和HTTPS流量。 也就是说,当涉及CDN时,HTTPS不再在客户端和原始服务器之间,而是在客户端和CDN边缘服务器之间。 因此,CDN能够在用户和目标服务器之间查看和修改任何和所有流量。 虽然这是非常不可能的,但对于大型和信誉良好的CDN,用户应该意识到这种可能性。 结论我们解释了域阴影,这是一种新技术,实现了使用CDN作为杠杆的审查规避。 它与域面重构不同,但可以用畴内携手合作,以实现更好的阻塞性。 虽然仍然需要大量的工作来解决所有挑战并使其部署,但我们将域阴影视为实现更好的审查规避的有希望的技术。