大炮 (网络攻击工具)

大炮（）是中華人民共和國的網路攻擊工具的名称，借由劫持大量网路流量，对特定目标网站发动分布式拒绝服务攻击（DDoS）。

主要技术
根據命名大炮的加拿大學者表示，大炮將從中國以外的連線流量導到特定的目標網站，導致目標網站網路服務不穩。雖然大炮跟防火長城一起，但大炮是分開的攻擊系統，擁有不同的設計和功用。除了發起分散式阻斷服務攻擊以外，大炮還能監控網路流量，以及採用類似美國國安局的量子注入系統（Quantum insert system），對目標散佈惡意程式。

大炮發起的攻擊

针对“依附的自由”

大炮的第一个目标是GreatFire运营的“依附的自由”相关项目 ，
首次攻击是对GreatFire运营在内容分发网络上的镜像站点，出现在2015年3月14日。之后GreatFire报告大规模的攻击出现在3月17日 。对镜像站点的攻击在3月25日终止。

之后在3月26日，被GreatFire用于托管反审查项目的GitHub也受到攻击。

多次技术报告显示，对GitHub的攻击的方式是采用了HTTP劫持，通过向百度注入恶意的JavaScript代码，其功能是每隔2秒加载一次GreatFire或其运营的纽约时报中文网镜像站点的帳號主頁，以使从中国大陆以外访问百度网站及广告的流量转换为DDoS攻击发送至目标。 对GreatFire运营的镜像站点也使用了了类似的方法。百度已否认自身产品存在安全问题。

这次攻击导致GitHub在全球范围内的访问速度下降。

根據系統狀態訊息頁面的顯示，已於3月31日停止了網路攻擊，該日凌晨0:09（UTC）已經穩定。GitHub在其Twitter與微博予以了證實。至此，此網路攻擊共持續了五天。 Google的研究人员观测到HTTP劫持在4月7日终止。

如何认定与中国政府有关

为了防止数据在网络中无限循环，名为存活时间（Time to live，TTL）的机制限定了数据包的寿命。从数据包发出开始，每经过一个路由，TTL就减去1，当TTL=0时数据包将会被丢弃。大多数系统发送数据包时都是从TTL=64开始，如果该数据包抵达时TTL=24，那么计算机和发送者之间经过了40跳（64-24=40）。在对GitHub发动的DDoS攻击中，攻击者劫持了百度的JS文件。如图所示，百度服务器所发送数据包的TTL=64，第一次抵达用户浏览器时TTL=42，经过了22跳，用户发回的请求包的TTL值也是64，但接下来的响应包的TTL值却突然变成了227，显然有中间人设备注入了伪造包。一位研究人员用定制Traceroute工具测试发现，注入设备位于第11跳和第12跳之间，通过查询第12跳设备的IP地址，作者发现它位于中国联通骨干网，因此得出了中国政府与此有关的结论。

Google對JS劫持攻擊的分析 

2015年4月24日，Google安全團隊在其部落格撰文稱，Javascript劫持攻击的执行分为多個阶段，最早发生在2015年3月3日，最后一次是在4月7日。Google指出，共有8個百度網域遭到劫持，被注入不同大小的Javascript代码。Google认为，全面启用HTTPS加密将能防御這类攻击。

其他
2015年4月26日，大炮對開放原始碼網站wpkg.org與旅遊網站ptraveler.com發動了攻擊，凡是用中國IP瀏覽嵌入了Facebook Connect按鈕脚本的網站，皆會被重新導向至這兩個網站。

2017年8月16日，大炮被发现攻击曾经邀请中国海外流亡富豪郭文贵做访谈的异议新闻站点明镜网，大炮通过对百度站长统计的脚本代码注入攻击明镜网的代码。 

2019年12月初，美国网络服务提供商AT&T公司下屬的網絡安全實驗室发表研究报告指出，自11月25日起，「大炮」被重新部署以攻击被认为与香港反對逃犯條例修訂草案運動有关的网络论坛LIHKG討論區及多个其它意义不明的网络目标。该报道亦提及，早在8月31日，「大炮」就曾对LIHKG讨论区发起攻击。而有关程序代码与2017年明镜新闻网所受攻击中的代碼極爲相似。

观点
加州大学伯克利分校研究生比尔·马尔切克认为，一些中国国内网站，如百度被“大炮”截获数据用以进行网絡攻击，会损害其成为一家全球性竞争企业的机会。

外界普遍相信這是中國政府所為，但中国政府否认关于攻击的指责，外交部发言人华春莹认为“中国是网络黑客攻击的最主要的受害者之一”。

參見 

 旁觀者攻擊
 中华人民共和国网络审查
 中华人民共和国审查词汇列表
 中华人民共和国被封锁网站列表
 突破网络审查（俗称“翻墙”或“破网”）
 中国大陆封锁维基媒体事件
 方滨兴
 和谐社会
 第五權

参考文献

延伸阅读 
 泡泡網-{}-民報告：网-{}-民如何防范中国网-{}-络“大炮”

中华人民共和国网络审查
阻斷服務攻擊
網絡戰
GitHub