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

对GitHub的审查和封锁

维基百科,自由的百科全书
跳到导航 跳到搜索
GitHub logo

GitHub的审查和封锁经常在多个国家发生,例如中国俄罗斯印度土耳其等。审查和封锁方式包括但不限于DNS污染中间人攻击等。但是,由于封锁引发了用户和科技公司的强烈反应,这些国家最终都解除了对GitHub的封锁。

背景[编辑]

GitHub是一个基于Git的源代码托管网站,主要用于存储源代码并用于项目管理。截止到2015年,GitHub已有超过1000万用户和2.4亿个Git仓库。[1]此外,GitHub还提供了免费的粘贴箱英语pastebin服务(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其他服务未受影响。[6]

中间人攻击[编辑]

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

DDoS攻击[编辑]

抢票插件风波[编辑]

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

旁观者攻击[编辑]

GitHub从2015年3月26日凌晨2时左右(世界协调时间,以下简称为UTC)起遭到了持续的DDoS攻击。[11]GitHub在其部落格称,这次攻击是GitHub历史上最严重的一次DDoS攻击,[12]

GitHub坚信攻击者的目的在于迫使GitHub删除特定类型的内容。[12][13][14]第三方研究者指出,此次攻击采用了HTTP劫持,百度JS脚本文件中间人植入了攻击GitHub的代码,其功能是每隔2秒加载一次GreatFire纽约时报中文网的帐号主页。[15]百度已否认自身产品存在安全问题。[16]。这次攻击导致GitHub在全球范围内的访问速度下降。[17]

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

  1. 第一轮,利用中国大陆以外的网民与翻墙的网民浏览被劫持的百度JavaScript档案,该档案每2秒向GitHub上的两个页面发出请求,被GitHub的弹窗警告拦住;
  2. 第二轮,跨网域<img>攻击,被GitHub检查Referer拦住;
  3. 第三轮,DDoS攻击GitHub Pages
  4. 第四轮,SYN flood,利用TCP协定缺陷发送大批伪造的TCP连线请求,耗尽GitHub的资源。[19]
使用Traceroute追踪TTL来证明中国政府对GitHub发动攻击

根据系统状态讯息页面的显示,已于3月31日停止了网路攻击,该日凌晨0:09分(UTC)已经稳定。GitHub在其Twitter与微博予以了证实。至此,此网路攻击共持续了五天。这次用于网络攻击的工具被称为“大炮”。

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

4月1日,美国总统奥巴马签署了一项政令,授权的内容为:凡参与由美国境外授意或实施,且对“美国的国家安全、外交政策、经济状况,或者金融稳定造成重大威胁”的骇客,将采取旅行与金融方面的制裁。[22]

5月8日,美国国务院发言人Jeff Rathke称,美国联邦政府已要求中国当局调查相关的网路攻击并告知调查结果。[23]

再遭攻击[编辑]

2015年8月,中国政府进一步收紧对网际网路的控制。22日,翻墙软体Shadowsocks作者迫于警方压力删除项目。25日,翻墙软体GoAgent作者自行删除自己的代码。同一天GitHub再次遭到来自中国大陆的DDoS攻击。[24][25]开发者普遍认为此次攻击与中国政府有关。[26]

政府删除请求[编辑]

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

浏览器端攻击[编辑]

2019年4月3日起,中国大陆的一些浏览器(如QQ浏览器微信浏览器UC浏览器360安全浏览器等)将GitHub上的996.icu项目仓库标记为“危险网站”、“违法网站”,阻止用户访问相关GitHub网页。

之后的调查发现,这次对于该项目的屏蔽几乎同时发生,这不得不让人对这些浏览器的幕后产生怀疑。

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

俄罗斯[编辑]

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

运营商封锁[编辑]

在俄罗斯使用火狐浏览器时收到的错误信息
2014年12月2日,在俄罗斯内试图访问GitHub时收到的封锁消息。[a]

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

被封禁的内容[编辑]

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

回应[编辑]

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

政府删除请求[编辑]

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

印度[编辑]

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

运营商封锁[编辑]

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

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

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

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

影响[编辑]

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

批评[编辑]

GitHub章鱼猫和Vimeo标志的轮廓,里面写着“被封禁”。
Free Software Foundation Tamil Nadu英语Free Software Foundation Tamil Nadu绘制的海报,用“#GOIBlocks”的标签来抗议封锁。

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

土耳其[编辑]

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

2016年10月8日,在土耳其黑客组织RedHack英语RedHack声称入侵土耳其能源部长、埃尔多安女婿阿尔巴伊拉克英语Berat Albayrak之后,土耳其信息与通信技术署英语Information and Communication Technologies Authority命令互联网服务供应商封锁几个档案分享网站,包括DropboxMicrosoft OneDriveGoogle Drive[42]。观测网路审查情况的Turkey Blocks英语Turkey Blocks注意到GitHub于次日上午被封锁,并且相关的封锁令被信息与通信技术署逐步发布出来[42]。封锁导致依赖GitHub的软体(例如Font AwesomeHomebrew等)无法正常运行。Startup Istanbul活动的参与者也表达了对基础设施可用性的不满。在土耳其,#GitHub标签成为了Twitter的热门标签之一。按照The Daily Dot英语The Daily Dot的说法,RedHack组织蓄意通过多种服务来传播邮件内容,期待土耳其政府将其封锁,以造成史翠珊效应。18小时后GitHub被解封[43]

注释[编辑]

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

参考文献[编辑]

  1. ^ GitHub Press Info. github.com. Github. [2015-06-27]. (原始内容存档于2016-05-17). 
  2. ^ GitHub Terms of Service. GitHub. [2015-06-27]. (原始内容存档于2015-06-24).  (Specifically terms A8 and G7)
  3. ^ DMCA Takedown Policy. GitHub. [2015-06-27]. (原始内容存档于2015-07-01). 
  4. ^ 程序员叫苦 李开复质疑. 南方都市报. 2013-01-23 [2013-01-23]. (原始内容存档于2013年1月26日). 
  5. ^ Programmers angry over blocking of GitHub code-sharing site. 南华早报. 2013-01-24 [2013-01-24]. (原始内容存档于2013-01-26). 
  6. ^ 存档副本. [2016-07-02]. (原始内容存档于2015-09-24). 
  7. ^ 中国国家防火墙对GitHub进行了中间人攻击. solidot. 2013-01-26 [2013-01-26]. (原始内容存档于2013-01-28). 
  8. ^ 中国, GitHub 和中间人攻击. greatfire. 2013-01-30 [2013-01-30]. (原始内容存档于2013-06-14). 
  9. ^ 12306抢票插件拖垮美国代码托管站Github. 2013-01-16 [2016-07-02]. (原始内容存档于2016-05-10). 
  10. ^ GitHub blocked in China, 'ticket snatching' plugins seen as possible cause. PC World. 2013-01-22 [2016-07-02]. (原始内容存档于2017-01-10). 
  11. ^ GitHub System Status Messages. [2016-07-02]. (原始内容存档于2016-07-02). 
  12. ^ 12.0 12.1 Large Scale DDoS Attack on github.com. GitHub's blog. 2015-03-27 [2015-03-31]. (原始内容存档于2015-03-28) (英语). 
  13. ^ 陈晓莉. GitHub遭遇史上最大规模DDoS攻击,反中国网路防火墙专案被锁定. 台湾iThome. 2015-03-30 [2015-03-30]. (原始内容存档于2015-03-31) (中文(台湾)‎). 
  14. ^ GitHub DDoS 攻击还在继续,百度否认与其有关. 奇客Solidot.org. 2015-03-28 [2015-03-30]. (原始内容存档于2015-03-30) (中文(中国大陆)‎). 
  15. ^ insight-labs. 百度统计js被劫持用来DDOS Github. 乌云知识库. [2016-07-02]. (原始内容存档于2016-09-22). 
  16. ^ 百度在线网络技术(北京)有限公司. 百度安全攻防实验室的微博. 
  17. ^ GitHub. GitHub System Status. [2016-07-02]. (原始内容存档于2017-02-19). 
  18. ^ Github证实遭到DDoS攻击,HTTP劫持已停止. 奇客Solidot. 2015-03-27 [2016-07-02]. (原始内容存档于2016-03-23) (中文(中国大陆)‎). 
  19. ^ 对GitHub的大规模DDoS攻击已超过80个小时. 奇客Solidot. 2015-03-30 [2015-03-30]. (原始内容存档于2015-03-31) (中文(中国大陆)‎). 
  20. ^ 2015年3月30日外交部发言人华春莹主持例行记者会. 中华人民共和国外交部. 2015-03-30 [2015-04-04]. (原始内容存档于2015-04-08). 
  21. ^ 丁雨、苏静. 美媒硬指中国公司搞网络攻击 中方:美方想法很奇怪. 环球时报. 2015-03-30 [2015-04-04]. (原始内容存档于2015-04-08). 
  22. ^ Peter Baker. Obama Expands Options for Retaliating Against Foreign Hackers. 纽约时报. 2015-04-02 [2015-04-18]. (原始内容存档于2015-04-18) (英语). 
  23. ^ 侯雪苹、程芳. 美国要求中国调查针对美国网站的网络攻击活动. 路透社中文网. 2015-05-11 [2015-05-12]. (原始内容存档于2015-05-12) (中文(简体)‎). 
  24. ^ Andrew Blake. China tightens noose on Internet as anti-censorship tools suddenly shutter. The Washington Times. 2015-08-26. (英文)
  25. ^ GoAgent开发者删除项目,GitHub再次受到DDoS攻击. Solidot. 2015-08-25 [2016-07-02]. (原始内容存档于2016-03-06). (简体中文)
  26. ^ Catalin Cimpanu. Recent GitHub DDOS Linked to Chinese Government and Two GitHub Projects. Softpedia. 2015-08-29 [2016-07-02]. (原始内容存档于2016-05-06). (英文)
  27. ^ 27.0 27.1 27.2 开源“赵家人”名单,GitHub激怒中国网安协会首出拳. 端传媒. 2016-06-28. 
  28. ^ Khazan, Olga. Russia’s secret new Internet blacklist. The Washington Post. [2015-04-02]. (原始内容存档于2015-05-11). 
  29. ^ Lunden, Ingrid. Russia Blacklists, Blocks GitHub Over Pages That Refer To Suicide. TechCrunch. [2015-04-01]. (原始内容存档于2015-03-27). 
  30. ^ Лихачёв, Никита. AliExpress, 2ch и GitHub попали в реестр запрещённых сайтов [AliExpress, 2ch and GitHub put on the register of banned sites]. TJournal. [2015-04-09]. (原始内容存档于2015-04-25) (俄语). 
  31. ^ 31.0 31.1 Create suicide.txt. GitHub - amdf/objidlib. [2015-04-08]. (原始内容存档于2015-06-27). 
  32. ^ Delete suicide.txt. GitHub - amdf/objidlib. [2015-04-09]. (原始内容存档于2015-06-27). 
  33. ^ Geraci, Jesse. github/roskomnadzor - README.md. GitHub. [2015-04-01]. (原始内容存档于2017-06-15). 
  34. ^ Patry, Melody. India: Digital freedom under threat? Online censorship. index. [2015-04-02]. (原始内容存档于2016-11-04). 
  35. ^ 35.0 35.1 Saxena, Anupam. Pastebin, Dailymotion, Github blocked after DoT order: Report. The Times of India. [2015-04-01]. (原始内容存档于2015-03-02). 
  36. ^ Blue, Violet. India blocks 32 websites, including GitHub, Internet Archive, Pastebin, Vimeo. ZDNet. [2015-04-01]. (原始内容存档于2015-04-02). 
  37. ^ Ghoshal, Abhimanyu. GitHub, Vimeo and 30 more sites blocked in India over content from ISIS. The Next Web. [2015-04-01]. (原始内容存档于2015-04-04). 
  38. ^ 38.0 38.1 Sharma, Ravi. Indian government unblocks Vimeo, Dailymotion, 2 other websites. The Times of India. [2015-04-01]. (原始内容存档于2015-02-08). 
  39. ^ Orsini, Lauren. India Unblocks GitHub, Three Other Websites. readwrite. [2015-04-01]. (原始内容存档于2015-03-20). 
  40. ^ Srikanth, Kaustubh. Technical Observations About Recent Internet Censorship In India. The Huffington Post. [2015-04-01]. (原始内容存档于2015-05-21). 
  41. ^ Arora, Kim. Government blocks 32 websites to check ISIS propaganda. The Times of India - Tech. [2015-04-01]. (原始内容存档于2015-01-04). 
  42. ^ 42.0 42.1 Dropbox, Google Drive and Microsoft OneDrive cloud services blocked in Turkey following leaks. Turkey Blocks. [2016-10-09]. (原始内容存档于2016-12-09). 
  43. ^ Sozeri, Efe Kerem. How hacktivist group RedHack gamed Turkey’s censorship regime. Daily Dot. [2016-10-12]. (原始内容存档于2016-10-13).