对GitHub的审查和封锁

GitHub的审查和封锁经常在多个国家发生,例如中国俄罗斯印度土耳其等。审查和封锁方式包括但不限于DNS污染中间人攻击等。但是,由於封鎖引發了用戶和科技公司的強烈反應,這些國家最終都解除了對GitHub的封鎖。

GitHub logo

背景

GitHub是一个基于Git的源代码托管网站,主要用于存储源代码并用于项目管理。截止到2015年,GitHub已有超过1000万用户和2.4亿个Git仓库。[1]此外,GitHub还提供了免费的粘贴箱服务(Gist)和免费的网络空间GitHub Pages。GitHub许可协议禁止滥用GitHub的各项服务,保留了删除内容的权力。[2]此外,如果GitHub收到DMCA删除通知,GitHub也会删除项目。[3]

中国

DNS污染

2013年1月20日,中國大陸政府的防火長城利用域名污染和關鍵詞過濾等手段封鎖GitHub,令中國大陸的用戶無法直接進入。針對政府對GitHub的封鎖行動,李开复新浪微博抗議,迅速引起網民的關注,該訊息更在三小時内被轉發逾3萬2千次[4][5]。2013年1月23日,GitHub被解封,事件平息。

後來,Gist又被防火長城封鎖,但GitHub其他服務未受影響。(新疆、西藏则完全封锁)

2019年10月29日晚间,提供GitHub托管的源代码原始格式内容的域名raw.githubusercontent.com被防火长城封锁[6]。方式是DNS污染[7]。后被解封。

中间人攻击

2013年1月26日,有中国大陆的用户在访问GitHub时发现证书无效,经检查发现,GitHub的证书变为了一自签署的X.509证书,生成时间为2013年1月25日,有效期一年,故有人推测GitHub疑似遭到了中间人攻击。攻击持续了约一个小时后停止,访问恢复正常。[8][9]

2020年3月26日,中国大陆多地用户访问GitHub Pages时发现遭遇中间人攻击证书变为一张通过私人QQ邮箱自签名的证书,生成时间为2019年9月26日。部分地区遭受攻击数小时后停止,[10][11]但也有部分地区持续遭受攻击1-2天且证书变为了另一张使用MyMail自签名的证书[12]部分用户称同一时间京东也遭到了相同攻击,Github主站和部分子域名也遭到了攻击,百度必应更是在3月24日就遭到了该证书攻击[13][14],有第三方研究者指出影响的域名多达15462个,且劫持早在3月23日就已开始[15]。且疑似有针对部分IP段不分域名全局劫持的现象[16],部分网友怀疑与GFW实验新功能有关[14][17][18]但尚无明确证据证明此次事件与审查有关。[19][20]

抢票插件风波

2013年1月15日晚,GitHub遭到疑似DDoS攻击,管理员查询日志后得知,攻击来自中国的一个12306抢票插件。因为该插件代码本身的缺陷,加上插件作者低估了春运抢票的人数,构成了DDoS攻击。[21]1月20日,GitHub在中国遭到屏蔽。有评论认为,该抢票插件是导致GitHub在中国被屏蔽的原因。[22]

旁觀者攻擊

GitHub从2015年3月26日凌晨2時左右(世界協調時間,以下簡稱為UTC)起遭到了持续的DDoS攻击。[23]GitHub在其部落格称,这次攻击是GitHub历史上最严重的一次DDoS攻击,[24]

GitHub堅信攻擊者的目的在於迫使GitHub刪除特定類型的內容。[24][25][26]第三方研究者指出,此次攻击采用了HTTP劫持,百度JS脚本文件中间人植入了攻击GitHub的代码,其功能是每隔2秒加载一次GreatFire纽约时报中文网的帳號主頁。[27]百度已否认自身产品存在安全问题。[28]。这次攻击导致GitHub在全球范围内的访问速度下降。[29]

3月28日(UTC+8)起,GitHub在中国大陆十分不稳定,多数情况下无法访问。[30]截止29日,攻击者共使用了四種DDoS攻擊技術:

  1. 第一輪,利用中國大陸以外的網民與翻牆的網民瀏覽被劫持的百度JavaScript檔案,該檔案每2秒向GitHub上的两个頁面發出請求,被GitHub的彈窗警告攔住;
  2. 第二轮,跨網域<img>攻擊,被GitHub检查Referer攔住;
  3. 第三輪,DDoS攻擊GitHub Pages
  4. 第四輪,SYN flood,利用TCP協定缺陷发送大批伪造的TCP連線請求,耗盡GitHub的資源。[31]
使用Traceroute追踪TTL来证明中国政府对GitHub发动攻击

根據系統狀態訊息頁面的顯示,已於3月31日停止了網路攻擊,該日凌晨0:09分(UTC)已經穩定。GitHub在其Twitter與微博予以了證實。至此,此網路攻擊共持續了五天。这次用于网络攻击的工具被称为“大炮”。

3月30日(UTC+8),中國外交部发言人在例行記者會上被媒体问及此事时,不承認也不否認网络攻击與中國政府有關,称“中国历来是网络攻击的受害国”、“近期似乎只要是美国或者其他哪个国家有网站受到攻击,就会有人联想是不是中方客所为,这很奇怪。”[32][33]

4月1日,美國總統奥巴馬簽署了一項政令,授权的内容為:凡參與由美國境外授意或實施,且对“美国的国家安全、外交政策、经济状况,或者金融稳定造成重大威胁”的駭客,将採取旅行與金融方面的制裁。[34]

5月8日,美國國務院發言人Jeff Rathke稱,美国聯邦政府已要求中国當局调查相关的網路攻擊并告知调查结果。[35]

再遭攻擊

2015年8月,中國政府進一步收緊對網際網路的控制。22日,翻牆軟體Shadowsocks作者迫於警方壓力刪除項目。25日,翻牆軟體GoAgent作者自行刪除自己的代碼。同一天GitHub再次遭到來自中國大陸的DDoS攻擊。[36][37]开发者普遍认为此次攻击与中国政府有关。[38]

政府删除请求

自从2016年开始,GitHub为了不被在拥有互联网审查的国家被完全封锁,启用了黑名单机制,他们会审核来自于那一些国家的政府请求,并使得政府请求的页面无法被来自于该国家的源IP访问,并显示“Repository unavailable because of the Chinese Internet Blacklist(由于中国互联网黑名单,存储库不可用)”。[39]根据GitHub官方所说,这是“以便我们在该辖区的用户可以继续访问GitHub进行协作和构建软件。”他们专门创建了一个页面来记录所有可供公开的政府请求。[40]

2016年6月8日,中国网络空间安全协会致信GitHub,称其中一个名为“Zhao”的项目诽谤中国领导人习近平,要求立刻删除。3天后GitHub公开了这封公开信。这是GitHub收到的第六个政府删除请求,也是第一个来自中国政府的请求。[41]该项目是博客主编程随想制作的“赵家人”名单。目前,在中国大陆访问该项目,网站会返回HTTP 451错误。[41]

浏览器端攻击

2019年4月3日起,中国大陆的一些浏览器(如火狐浏览器中国版、QQ浏览器微信浏览器UC浏览器360安全浏览器等)将GitHub上的996.icu项目仓库标记为“危险网站”、“违法网站”,阻止用户访问相关GitHub网页。[42] 同年11月30日起,上述浏览器屏蔽了搭建在Github上的Evil Huawei[43]项目。

之后的调查发现,这些浏览器对于该项目的屏蔽几乎同时。

也有人猜测,对于该项目的屏蔽跟同一个提供源有关,不过目前尚未下定论。

俄罗斯

俄罗斯政府通过俄联邦电信、信息技术和大众传媒监督局维护一份网络封锁的黑名单,封锁网站包括儿童色情、毒品、宣扬自杀、宣扬恐怖主义和其他非法网站等。[44]

运营商封锁

2014年12月2日,在俄罗斯内试图访问GitHub时收到的封锁消息。[lower-alpha 1]

2014年12月2日,俄联邦电信、信息技术和大众传媒监督局因为网站内包含了几种涉及自杀教学的内容而封禁了GitHub。因为GitHub全站使用HTTPS连接,无法针对部分页面进行封锁,因此互联网服务供应商被强制要求封锁整个网站。 实行封锁的运营商包括:Beeline、MTS、MGTS和Megafon。监督局负责人Maxim Ksenzov表示,GitHub被封禁是因为之前的2014年10月10日GitHub未遵守俄罗斯的删除请求。[45]在2014年10月2日GitHub曾被短暂封锁,直到原始的自杀教程被删除。[46]

被封禁的内容

2014年3月23日,有人在GitHub上面发布了介绍自杀的手册,内含用俄语描述的31种自杀方法,该项目被数个用户複刻[47]在GitHub被封锁之后,很多GitHub用户举报了该项目。该项目于2014年10月2日被建立者删除。[lower-alpha 2][47][48]

回应

按照俄罗斯政府的相关要求,GitHub屏蔽了相关仓库在俄罗斯内的访问,以解除对GitHub的封锁。GitHub为监督局专门建立了一个名为“roskomnadzor”的仓库,并记录来自监督局的删除通知。在仓库的README文件中,GitHub指出,他们对互联网审查表示关注,公开透明是为了防止潜在的史翠珊效应。GitHub还指出,发布通知仅仅是为了记录,不会针对仓库内容的观点进行判断。[49]

政府删除请求

截止到2016年6月,GitHub共收到6份政府删除请求,其中5份来自俄罗斯政府。[41]

印度

印度根据联邦和州法律来审查网站。互联网服务供应商需要按照信息技术法的要求来进行审查。但有评论指出,这些法律规定比较模糊,供应商容易过分审查。[50]

运营商封锁

在2014年12月17日,印度电信部门命令运营商封禁32个网站。[51]命令于2014年12月31日被公开,其中包括GitHub、Gist、Vimeo互联网档案馆和多个粘贴箱服务。[52]

封锁令被印度执政党印度人民党的Arvind Gupta所证实,他还指出封锁令与印度的反恐小组针对伊斯兰国的建议有关。Gupta还指出,配合政府调查的网站会被解除封锁。[53]

2015年1月2日,印度通信部门宣布将解封四个网站,其中有GitHub Gist,并指出一旦剩下的网站遵守印度法律,也会被解除封锁。解释封禁原因时,部长提到“在这些网站中,大多数网站在发布内容之前都不需要任何审核……这些网站经常被用于传递和交流吉哈德内容……”[54]

2015年1月4日,一个GitHub发言人指出,一些用户在访问GitHub时仍然会遇到困难,GitHub已经和印度政府进行接触,但仍然无法确定封禁的具体原因。发言人还指出,使印度的开发者能够重新访问GitHub是他们的高优先级工作,他们“愿意与印度政府合作,建立一套识别和处理非法内容的过滤系统,以恢复网站的正常访问,并确保将来不会再受到影响。”[55]

影响

印度时报报道,运营商Vodafone、BSNL、Hathway封锁了GitHub而通过Airtel仍能访问。[51]因为封锁令只告诉运营商封锁哪些网站但未指出如何封锁,因此封锁程度是不同的。封锁是不可靠的,并且似乎发生在多个层面上。即使是同一运营商,封锁方法也有多种,包括IP封锁、使用代理服务器DNS污染。根据封锁程度不同,突破封锁的方法也不同,例如更换DNS服务器或使用代理软件[56]

批评

Free Software Foundation Tamil Nadu绘制的海报,用“#GOIBlocks”的标签来抗议封锁。

针对封锁,TechCrunch评论到“在名单中加入GitHub……是最脑残的决定之一”,并预言GitHub在信息技术领域的重要性会使封禁行为引发抗议。Twitter用户通过“#GOIblocks”标签进行抗议,并引用纳伦德拉·莫迪在2012年发表的信息来谴责网络封锁。[57]印度匿名者多次向政府发出威胁,但并未采取实际行动。[54]

土耳其

由Turkey Blocks提供的证明GitHub已被封锁的截图

2016年10月8日,在土耳其黑客组织RedHack声称入侵土耳其能源部长、埃尔多安女婿阿尔巴伊拉克之后,土耳其信息与通信技术署命令互联网服务供应商封锁几个檔案分享网站,包括DropboxMicrosoft OneDriveGoogle Drive[58]。觀測網路審查情況的Turkey Blocks注意到GitHub於次日上午被封鎖,並且相關的封鎖令被信息与通信技术署逐步發佈出來[58]。封鎖導致依賴GitHub的軟體(例如Font AwesomeHomebrew等)無法正常運行。Startup Istanbul活動的參與者也表達了對基礎設施可用性的不滿。在土耳其,#GitHub標籤成為了Twitter的熱門標籤之一。按照The Daily Dot的說法,RedHack組織蓄意通過多種服務來傳播郵件內容,期待土耳其政府將其封鎖,以造成史翠珊效應。18小時後GitHub被解封[59]

美国

2019年5月起,美国的出口管理条例开始对开源代码进行管制[60]

此時开始对伊朗叙利亚和克里米亚的私人repo和付费账户实施限制[61][62][63],2020年4月起一個名為Aurelia的軟體代碼被GitHub封鎖引起較大紛爭,其理由為參與的兩個志願者為伊朗人,引起該程式諸多志願者不滿並於硅谷的「 黑客新闻 」论坛大舉批判,後續GitHub改變作法重新啟動Aurelia頁面但封鎖兩個伊朗人帳號,之前並發生過一名為Hamed Saeed的開發者已經移民芬蘭多年但祖籍為伊朗而被封鎖的事件。[64]此事件引發一個後續討論,美國訂定的制裁他國法案僅限於不讓特定外國人使用美國技術,然而GitHub上的技術是各國志願者撰寫並無償分享,並非美國購買有版權的所有物,[65]其中也包含伊朗程式員也就是其實有伊朗的技術,美國無權拿不屬於自己的東西制裁別人甚至「拿伊朗的技術制裁伊朗」。GitHub最后在爭議下覺得有所理虧而改變作法,被封禁的用户可以下載回自己的作品,但依然不能在社区里查看代码。[66][67]

注释

  1. 页面提示网站已被封禁,并列出了4个违反俄罗斯联邦法律的原因。
  2. 然而,因为该项目被複刻,并且Git会记录变更历史,因此内容仍然可以在GitHub内被找到。

参考文献

  1. . github.com. Github. [2015-06-27]. (原始内容存档于2016-05-17).
  2. . GitHub. [2015-06-27]. (原始内容存档于2015-06-24). (Specifically terms A8 and G7)
  3. . GitHub. [2015-06-27]. (原始内容存档于2015-07-01).
  4. . 南方都市报. 2013-01-23 [2013-01-23]. (原始内容存档于2013年1月26日).
  5. . 南华早报. 2013-01-24 [2013-01-24]. (原始内容存档于2013-01-26).
  6. . [2019-10-30]. (原始内容存档于2019-10-30).
  7. . [2019-10-30].
  8. . solidot. 2013-01-26 [2013-01-26]. (原始内容存档于2013-01-28).
  9. . greatfire. 2013-01-30 [2013-01-30]. (原始内容存档于2013-06-14).
  10. . cnBeta.COM (中文(中国大陆)‎).
  11. . V2EX. 2020-03-26 [2020-04-03] (中文(中国大陆)‎).
  12. . www.landiannews.com. [2020-03-28].
  13. . V2EX. 2020-03-26 [2020-04-03] (中文(中国大陆)‎).
  14. . www.zhihu.com. [2020-04-03].
  15. . 360 Netlab Blog - Network Security Research Lab at 360. 2020-03-27 [2020-04-03] (英语).
  16. . www.zhihu.com. [2020-04-03].
  17. . pincong.rocks. [2020-04-03].
  18. . V2EX. 2020-03-27 [2020-04-03] (中文(中国大陆)‎).
  19. . OSCHINA. 2020-03-27.
  20. . V2EX. 2020-03-26 [2020-04-03] (中文(中国大陆)‎).
  21. . 2013-01-16 [2016-07-02]. (原始内容存档于2016-05-10).
  22. . PC World. 2013-01-22 [2016-07-02]. (原始内容存档于2017-01-10).
  23. . [2016-07-02]. (原始内容存档于2016-07-02).
  24. . GitHub's blog. 2015-03-27 [2015-03-31]. (原始内容存档于2015-03-28) (英语).
  25. 陳曉莉. . 台灣iThome. 2015-03-30 [2015-03-30]. (原始内容存档于2015-03-31) (中文(台灣)‎).
  26. . 奇客Solidot.org. 2015-03-28 [2015-03-30]. (原始内容存档于2015-03-30) (中文(中国大陆)‎).
  27. insight-labs. . 乌云知识库. [2016-07-02]. (原始内容存档于2016-09-22).
  28. 百度在线網络技术(北京)有限公司. .
  29. GitHub. . [2016-07-02]. (原始内容存档于2017-02-19).
  30. . 奇客Solidot. 2015-03-27 [2016-07-02]. (原始内容存档于2016-03-23) (中文(中国大陆)‎).
  31. . 奇客Solidot. 2015-03-30 [2015-03-30]. (原始内容存档于2015-03-31) (中文(中国大陆)‎).
  32. . 中华人民共和国外交部. 2015-03-30 [2015-04-04]. (原始内容存档于2015-04-08).
  33. 丁雨、苏静. . 环球时报. 2015-03-30 [2015-04-04]. (原始内容存档于2015-04-08).
  34. Peter Baker. . 紐約時報. 2015-04-02 [2015-04-18]. (原始内容存档于2015-04-18) (英语).
  35. 侯雪苹、程芳. . 路透社中文網. 2015-05-11 [2015-05-12]. (原始内容存档于2015-05-12) (中文(简体)‎).
  36. Andrew Blake. . The Washington Times. 2015-08-26.(英文)
  37. . Solidot. 2015-08-25 [2016-07-02]. (原始内容存档于2016-03-06).(简体中文)
  38. Catalin Cimpanu. . Softpedia. 2015-08-29 [2016-07-02]. (原始内容存档于2016-05-06).(英文)
  39. Horwitz, Josh. . Quartz. June 28, 2016 [25 December 2020].
  40. hubot. . GitHub. [25 December 2020].
  41. . 端传媒. 2016-06-28.
  42. . 996.icu. 2020-12-22.
  43. . Evil Huawei. evil-huawei. 2020-12-21.
  44. Khazan, Olga. . The Washington Post. [2015-04-02]. (原始内容存档于2015-05-11).
  45. Lunden, Ingrid. . TechCrunch. [2015-04-01]. (原始内容存档于2015-03-27).
  46. Лихачёв, Никита. [AliExpress, 2ch and GitHub put on the register of banned sites]. TJournal. [2015-04-09]. (原始内容存档于2015-04-25) (俄语).
  47. . GitHub - amdf/objidlib. [2015-04-08]. (原始内容存档于2015-06-27).
  48. . GitHub - amdf/objidlib. [2015-04-09]. (原始内容存档于2015-06-27).
  49. Geraci, Jesse. . GitHub. [2015-04-01]. (原始内容存档于2017-06-15).
  50. Patry, Melody. . index. [2015-04-02]. (原始内容存档于2016-11-04).
  51. Saxena, Anupam. . The Times of India. [2015-04-01]. (原始内容存档于2015-03-02).
  52. Blue, Violet. . ZDNet. [2015-04-01]. (原始内容存档于2015-04-02).
  53. Ghoshal, Abhimanyu. . The Next Web. [2015-04-01]. (原始内容存档于2015-04-04).
  54. Sharma, Ravi. . The Times of India. [2015-04-01]. (原始内容存档于2015-02-08).
  55. Orsini, Lauren. . readwrite. [2015-04-01]. (原始内容存档于2015-03-20).
  56. Srikanth, Kaustubh. . The Huffington Post. [2015-04-01]. (原始内容存档于2015-05-21).
  57. Arora, Kim. . The Times of India - Tech. [2015-04-01]. (原始内容存档于2015-01-04).
  58. . Turkey Blocks. [2016-10-09]. (原始内容存档于2016-12-09).
  59. Sozeri, Efe Kerem. . Daily Dot. [2016-10-12]. (原始内容存档于2016-10-13).
  60. 宪瑞. . 快科技. 2019-05-21 [2019-08-01] (中文(中国大陆)‎).
  61. GitHubDaily. . GitHubDaily. 2019-07-26 [2019-08-01]. (原始内容存档于2019-08-01) (中文(中国大陆)‎).
  62. GitHubDaily. . GitHubDaily. 2019-07-29 [2019-08-01]. (原始内容存档于2019-08-01) (中文(中国大陆)‎).
  63. 黄善清. . 雷锋网. 2019-07-29 [2019-08-01]. (原始内容存档于2019-08-01) (中文(中国大陆)‎).
  64. 雷鋒站-GitHub是开源,最终也是政治
  65. mohebifar /made-in-iran
  66. 觀察者網-因为两位志愿者来自伊朗
  67. GitHub惹衆怒,CEO 親自道歉
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.