什么是GFW
中国国家防火墙(Great Firewall of China,简称GFW)是世界上最复杂的互联网审查与监控系统之一,由国家计算机网络与信息安全管理中心(CNCERT)运营和维护,用于干扰、阻断、屏蔽不符合中国官方要求的传输内容。
随着互联网技术的不断发展,网络安全威胁日益复杂多样,GFW作为国家网络安全防护体系的重要组成部分,在维护网络空间主权、保障国家安全和社会稳定方面发挥着重要作用。我将粗略的介绍一下我了解的GFW的几个常见技术。
主要技术机制
IP地址封锁
GFW主要采用路由扩散技术封锁特定IP地址。当用户尝试访问这些IP时,系统会将需要拦截的IP地址配置为空路由。此方法简单高效,但易被代理或VPN绕过,因此常与其他技术结合使用。
DNS污染与劫持
GFW通过篡改域名系统(DNS)响应实现审查。当用户查询被禁域名时,系统返回虚假响应,导致连接失败。这种”污染”的原理在于:域名查询通常基于的UDP协议没有任何加密机制,用户是无法验证返回结果的正确性的。对于DNS over HTTPS(DoH)和DNS over TLS(DoT)等加密DNS协议的普及,防火长城则会使用基于IP端口和基于SNI的封锁来封禁特定服务商的DNS服务。
TCP重置(RST)阻断
GFW通过发送伪造的TCP重置包(RST)中断HTTP连接,特别针对80端口的明文流量。当HTTP请求头(如Host: www.google.com )包含敏感关键词时,GFW向通信双方注入RST包,迫使连接终止。
此方案的原理为:用户的浏览器需要服务器建立TCP连接后,再开始发送数据。但是这个过程并不都是加密的HTTPS流量,最初的TLS握手阶段(比如 Client Hello 消息)是明文的。这个握手信息中包含了 SNI(服务器名称指示),明文写着你要连接的网站,如:www.google.com
一旦识别出敏感关键词,GFW会立即行动。伪造两个TCP RST包让浏览器与服务器终止连接。这就是一种典型的中间人攻击,巧妙利用了TCP协议的设计弱点。但最新的ECH(Encrypted Client Hello)技术可以对SNI也进行加密,使得GFW在TLS握手阶段也无法判断你访问的具体域名,从而无法触发RST攻击。
深度包检测(DPI)
DPI是GFW的核心技术,可分析数据包的payload(内容部分),识别敏感关键词、协议特征或流量模式。即使是加密流量,GFW也能通过TLS握手特征等”流量指纹”推断内容,并在检测到敏感信息时重置连接。例如以OpenVPN为代表的传统VPN技术,因其明显的协议特征,就被大规模地识别和干扰。此技术广泛应用于HTTP、VPN和部分加密协议的监控。
主动攻击
全球云服务厂商Cloudflare在《轰动一时的 DDoS 攻击》一文中对此次事件进行了介绍。在2015 年 3 月,GitHub 遭受了一起当时史上最大规模的 DDoS 攻击。经查此次DDoS流量源于中国,并专门针对两个旨在绕过违法中国法律法规的GitHub项目。攻击目的是试图强迫 GitHub 取消这些项目。
此时的攻击手段非常值得关注,GFW通过劫持所有用户的流量,将一段JavaScript代码注入了所有访问百度的用户的浏览器,进而形成攻击流量。甚至使用百度分析服务的站点也被注入该恶意代码,代码导致被感染的浏览器向目标 GitHub 页面发送大量 HTTP 请求。
总结
综上所述,GFW通过IP封锁、DNS污染、TCP重置、深度包检测(DPI)及端口封锁等多层技术组合,构建了一套复杂的网络边界管控体系。成为阻断访问境外反动网站和有害信息、防止来自境外的网络攻击、管控跨境网络数据传输、防范侦查打击跨境网络犯罪的重要安全基础设施。