本页使用了标题或全文手工转换

域前置

维基百科,自由的百科全书
跳到导航 跳到搜索
TLS加密连接建立后,HTTP Host Header 使CDN重路由到同一CDN的另一后端网站上。

域前置(英語:Domain fronting),是一种隐藏连接真实端点来规避互联网审查的技术。在应用层上运作时,域前置使用户能通过HTTPS连接到被屏蔽的服务,而表面上像在与另一个完全不同的站点通信。[1][2]

此技术的原理为在不同通信层使用不同的域名。在明文DNS请求和TLS服务器名称指示(SNI)中使用无害的域名来初始化连接、公布给审查者,而实际要连接的「敏感」域名仅在建立加密的HTTPS连接后发出,使其不以明文暴露给网络审查者。[3][4][5]

这种举动在被封锁的站点与无害站点为同一个大型服务提供商时较为可行,例如由内容分发网络提供的服务。[3][4][5]此时审查者通常很难区分被伪装流量与合法流量的特点,迫使审查者选择放行所有看似无害的流量,或者选择彻底封锁此域的流量。而彻底封锁可能带来显著的附加损害。[6][7]

运作演示[编辑]

使用 curl 演示域前置:

# curl DNS 查询 fastly.net 并和其建立 HTTPS 连接,服务器名称指示当然是 fastly.net,
# 但是 HTTP 头 的 Host 是 www.bbc.com。
# 这里 www.bbc.com 被 fastly.net 前置,屏蔽 www.bbc.com 而允许 fastly.net,
# 这种审查可以被域前置绕过。
curl https://fastly.net -H "Host: www.bbc.com" -s | grep -o '<title>.*</title>'
# curl 向维基媒体服务器 91.198.174.192 建立 HTTPS 连接,使用 www.mediawiki.org 作为服务器名称指示,
# 但是 HTTP 头的 Host 是 zh.wikipedia.org。
# 这里 zh.wikipedia.org 被 www.mediawiki.org 前置,屏蔽 zh.wikipedia.org 而允许 www.mediawiki.org,
# 这种审查可以被域前置绕过。
curl https://www.mediawiki.org/wiki/域前置 --connect-to ::91.198.174.192 -H "Host: zh.wikipedia.org" -s | grep -o '<title>.*</title>'

使用情况[编辑]

Signal加密即时通讯应用程式在 2016-2018 年内置了域前置来规避在埃及阿曼卡塔尔阿拉伯联合酋长国的屏蔽。[7]

Telegram 为应对 Roskomnadzor的屏蔽曾使用 亚马逊云计算服务 进行域前置。[8]

Tor浏览器 使用一种称为 meek 网桥的域前置实现来规避审查。[9]俄罗斯黑客组织 Cozy Bear,或称 APT29 使用 Tor 的 meek 网桥来隐藏恶意流量。流量就像连接到使用CDN的普通网站一样。[10][11]

禁用[编辑]

Cloudflare在2016年的一些修改让基于其CDN的域前置不再工作。[12]

Google于2018年4月宣布将在Google應用服務引擎禁用域前置,称这从未是Google有意支持的一项功能。[13][14]亞馬遜公司也在不久后决定停用CloudFront上的域前置兼容,表示这已被视为违反亞馬遜網路服務系統(AWS)服务条款。[15][16][8][17][18]有报道认为,Google和亚马逊做此决定的部分原因是来自俄罗斯政府的压力,因Telegram在当地使用这两家云服务提供商进行域前置活动。[19]

Tor早前也使用Google和亚马逊的云服务进行域前置以保护用户活动,在两者相继关闭域前置兼容后,Tor将域前置服务转移到尚未决定关闭该兼容的Microsoft Azure服务[20],但尚不知微软会否对其提供持续支持[21],微软公司没有回应CyberScoop提出的置评请求[20]

虽然域前置技术可以帮助用户绕过互联网审查,但黑客组织和恶意软件也会使用该技术。FireEye曾报道称,与俄罗斯相关的黑客组织APT29使用该技术从目标网络中窃取数据。[10]Cyber​​Ark等公司则详细介绍了恶意软件如何利用该技术控制僵尸网络賽風(Psiphon)总裁迈克尔·赫尔(Michael Hull)告诉媒体Cyber​​Scoop,他公司的产品从未依赖域前置技术,并将这种做法描述为“解决难题的一个捷径”、“域前置本身不是很有效,结合混淆、HTTP标头修改、传输碎片化等一系列技术才能击败强大的审查者,多元化审查规避工具包的重要性不容小视”,并补充道:“域前置正在击溃内容分发网络的设计,这也是亚马逊和谷歌禁止该技术的原因。”Tor发言人Whited则不太同情两公司的决定,并指责这两家公司作出了轻率的决定,终结了世界的各地记者活动家的一种非常重要的通信手段。[20]

在2018年7月左右的互联网工程任务组(IETF)会议上,苹果公司CloudflareMozilla的工程师在一项名为“加密服务器名称指示(ESNI)”的新协议上取得了进展,该协议将能解决TLS SNI暴露给窃听者的问题。但是,该协议的定稿和部署可能仍需数年。[20]

兼容情况[编辑]

不完全统计,目前兼容域前置的CDNAutomatticFastlyIncapsula英语IncapsulaMicrosoft AzureStackPath

不少网站未使用CDN,但是其HTTP服务器接受无SNI或不同SNI连接,因此使用者也可以使用域前置绕过对于它们的检测SNI的屏蔽。[22]

谷歌网页服务器也兼容域前置[22][23]

参考资料[编辑]

  1. ^ Fifield, David; Lan, Chang; Hynes, Rod; Wegmann, Percy; Paxson, Vern. Blocking-resistant communication through domain fronting (PDF). Proceedings on Privacy Enhancing Technologies. 2015, 2015 (2): 46–64 [2017-01-03]. ISSN 2299-0984. doi:10.1515/popets-2015-0009. (原始内容存档 (PDF)于2020-11-08) –通过De Gruyter. 
  2. ^ MottoIN. 模拟攻击者利用“域前置”(Domain Fronting)技术逃避审查. 搜狐. 2017-07-07 [2017-08-31]. (原始内容存档于2017-09-01). 
  3. ^ 3.0 3.1 Encrypted chat app Signal circumvents government censorship. Engadget. [2017-01-04]. (原始内容存档于2019-03-23). 
  4. ^ 4.0 4.1 Greenberg, Andy. Encryption App ‘Signal’ Is Fighting Censorship With a Clever Workaround. WIRED. [2017-01-04]. (原始内容存档于2017-07-11) (美国英语). 
  5. ^ 5.0 5.1 Domain Fronting and You. blog.attackzero.net. [2017-01-04]. (原始内容存档于2018-10-21). 
  6. ^ doc/meek – Tor Bug Tracker & Wiki. [2017-01-04]. (原始内容存档于2016-12-13). 
  7. ^ 7.0 7.1 Doodles, stickers, and censorship circumvention for Signal Android. signal.org. 2016-12-21 [2021-10-10] (美国英语). 
  8. ^ 8.0 8.1 Brandom, Russell. Amazon Web Services starts blocking domain-fronting, following Google's lead. The Verge. 2018-04-30 [2021-10-10] (英语). 
  9. ^ meek • wiki (美国英语). 
  10. ^ 10.0 10.1 APT29 Domain Fronting With TOR. FireEye. [2020-09-28] (英语). 
  11. ^ Domain Fronting, Phishing Attacks, and What CISOs Need to Know. Cofense. 2018-12-13 [2020-09-28] (美国英语). 
  12. ^ #14256 (Clarify whether Cloudflare's Universal SSL thing works with meek) – Tor Bug Tracker & Wiki. Tor Bug Tracker. [12 May 2020]. 
  13. ^ Brandom, Russell. A Google update just created a big problem for anti-censorship tools. The Verge. [2018-04-19]. (原始内容存档于2020-12-19) (美国英语). 
  14. ^ Google 关闭域前置,影响反审查工具. Solidot. 2018-04-19 [2018-04-22]. (原始内容存档于2018-08-29). 
  15. ^ Enhanced Domain Protections for Amazon CloudFront Requests. (原始内容存档于2020-11-01). 
  16. ^ A letter from Amazon. signal.org. 2018-05-01 [2021-10-10]. (原始内容存档于2019-01-03). 
  17. ^ As Google and AWS kill domain fronting, users must find a new way to fight censorship - TechRepublic. [2018-05-03]. (原始内容存档于2020-10-28). 
  18. ^ Amazon closes anti-censorship loophole on its servers - BSOD Software News. [2018-05-03]. (原始内容存档于2018-05-04). 
  19. ^ Amazon and Google bow to Russian censors in Telegram battle. Fast Company. 2018-05-04 [2018-05-09]. (原始内容存档于2018-05-10) (美国英语). 
  20. ^ 20.0 20.1 20.2 20.3 Domain fronting has a dwindling future. cyberscoop. Scoop News Group. 2018-07-24 [2018-08-29]. (原始内容存档于2020-09-29). 
  21. ^ steph. Domain Fronting Is Critical to the Open Web. Tor Blog. [2021-10-10]. (原始内容存档于2020-12-19). 
  22. ^ 22.0 22.1 Chrisment, Isabelle; Goichot, Antoine; Cholez, Thibault; Shbair, Wazen M. Efficiently Bypassing SNI-based HTTPS Filtering (PDF). IFIP/IEEE International Symposium on Integrated Network Management (IM 2015). Ottawa, Canada: 990–995. 2015-05-11. ISBN 978-1-4799-8241-7. S2CID 14963313. doi:10.1109/INM.2015.7140423. (原始内容存档于2021-08-12). The evaluation also shows that most of TLS servers implement backward compatibility following RFC6066. This explains why TLS servers always go further in the handshake process. For many years, SNI has not deployed widely in browsers and client-side systems and this give the opportunity to such systems accessing HTTPS services 
  23. ^ 测试:curl -v https://dl.google.com --connect-to ::142.250.98.90 -H "Host: www.google.com.hk"

参见[编辑]