GFW的原理和绕过——IDS攻防战

本文探讨了中国的网络审查机制及其绕过方法,包括使用非加密代理、加密代理、VPN、变更协议等技术。详细介绍了深度包检测的规避方法、证书的原理及其在网络安全中的作用,以及针对假证书的防御策略。此外,分析了GFW的弱点及其调戏方法,提出了组合翻墙系统的设计思路,并展望了墙内外互联网审查的未来趋势和应对策略。

type
status
date
slug
summary
tags
category
icon
password

GFW是什么?

GFW,即Great Firewall(伟大的防火墙),是中国政府用于互联网审查和监控的系统。它通过阻断和过滤特定的互联网内容,限制访问某些外国网站和服务,来控制和监视国内的网络信息流。

为什么要翻墙?

翻墙指的是绕过GFW的限制,访问在中国大陆受限制或被封锁的网站和服务。人们可能出于以下原因想要翻墙:
  1. 为了和宇宙人沟通:或许是比喻意义上的探索未知或获取国外信息。
  1. 需要的资料找不到:在本地搜索引擎或资源上无法找到所需信息。
  1. 谷歌粉丝,讨厌百度:偏好使用谷歌等国外搜索引擎。
  1. 好友都在国外,他们让我上facebook:为了与国外的朋友保持联系。
  1. 求糟糕物:可能指寻求不容易获取的或有争议的信息。
  1. 闲的蛋疼:可能是指出于好奇或消遣的目的。

哪些情况和GFW有关?

以下情况可能与GFW有关:
  • 打开facebook时访问超时:Facebook在中国大陆被GFW封锁。
  • 打开google.cn时链接被重置:Google的某些服务在中国大陆受到限制。
  • 全球twitter无法访问:Twitter也被GFW封锁。
  • 很多网页打不开:可能是由于这些网页被GFW封锁。
以下情况可能与GFW无关:
  • 某某公司的服务器去维修了:这是一种常见的技术维护情况。
  • 全国断网10分钟:这可能是由于技术故障或其他非审查原因造成的。
  • 有人被政府起诉诽谤罪了:这可能与网络言论有关,但不一定直接与GFW相关。
  • 浏览器经常弹出广告:这更可能是因为恶意软件或广告软件。

GFW(Great Firewall)的组成

GFW由多个组件构成,包括但不限于以下几个方面:
  1. 方大师:指的是与GFW相关的某种技术或人物。
  1. Cisco:指的是Cisco公司生产的网络设备在GFW中的使用。
  1. IDS(入侵检测系统):用于监测和分析网络流量,以识别可能的非法入侵或违规行为。

GFW的来历

GFW的发展和部署涉及多个技术和合作伙伴,主要用于互联网内容的审查和监控。

GFW的原理

GFW运作的基本原理包括:
  1. 镜像端口转发数据:是指使用端口镜像来监控和分析通过网络的数据。
  1. IDS集群旁路解析:通过部署IDS集群对网络流量进行深度分析和监控。
  1. 危险连接RST包中断:使用RST(重置)包来中断被认为是危险或不允许的网络连接。

GFW的位置

GFW的主要部署位置包括:
  • 中国各大网络出口:在中国的主要网络出口处部署,用以控制跨国界的网络流量。
  • 多数集中在北京、上海、广州等城市:这些大城市作为网络枢纽,GFW在这里的部署尤为密集。

GFW的优点

GFW的一些认可的优点包括:
  1. 成本低,效果好:从成本效益的角度,GFW被认为是一个高效的互联网监控和控制系统。
  1. 扩充性好,运行稳定:系统设计上允许扩展,并在运行上相对稳定。

GFW的缺点

GFW也存在一些缺陷,主要包括:
  1. 判断智能程度不足,有漏判:系统在自动识别和审查内容方面可能存在不足,导致错误判断或漏判。
  1. 目前不支持IPv6:随着IPv6的普及,这一点可能成为GFW技术上的一个限制。

GFW原理示意图

图一
图一

GFW封锁方式一览

  • DNS污染:故意返回错误的IP地址以阻止对特定域名的访问。
  • DNS劫持:将DNS查询重定向到恶意的DNS服务器,该服务器提供错误的解析信息。
  • IP路由劫持:将原本指向特定IP地址的流量重定向到不同的地址,有效地拦截或阻断通信。
  • 深度包检测:检查经过检查点的数据包的数据部分(可能还包括头部),搜索不符合协议、病毒、垃圾邮件、入侵或预定义标准的内容,以决定是否允许数据包通过或应被重定向到其他目的地。
  • (传闻)热点分析:传言中GFW会分析网络流量中的热点内容,以识别和封锁特定的话题或信息。
  • (传闻)伪造证书:传言中GFW可能会使用伪造的安全证书来拦截加密的HTTPS流量。
  • (传闻)机房白名单制:传言中GFW可能实行机房白名单制度,只允许事先验证过的IP地址进行通信。

DNS污染/劫持和IP劫持的解决方案

DNS污染的解决方案

DNS污染是指篡改DNS查询的回应,导致用户无法访问特定网站或被重定向到错误的地址。解决方案包括:
  1. 使用OpenDNS:这是一个提供更安全和可靠的DNS解析服务的第三方提供商。
  1. 使用8.8.8.8(Google DNS):Google的公共DNS服务,提供快速和准确的DNS解析。

DNS劫持的解决方案

DNS劫持是指在DNS请求过程中被非法重定向到其他网站。解决方案包括:
  1. 使用/etc/hosts文件:在本地计算机上修改hosts文件,直接将域名映射到正确的IP地址。
  1. 直接指定IP地址访问:直接通过IP地址访问网站,绕过DNS解析。
  1. 使用本地DNS缓存:缓存安全的DNS查询结果,减少被劫持的风险。

IP路由劫持的解决方案

IP路由劫持是指在数据传输过程中被非法重定向或截获。解决方案包括:
  1. 使用非加密代理:通过代理服务器进行网络访问,可以避开直接的IP路由劫持。
  1. 使用twitter API:特定情况下,使用Twitter的API作为通讯渠道。
  1. 使用加密网址的代理服务器:通过加密的代理服务访问网站,增强数据传输的安全性。

综合解决方案

针对特定情况,可以考虑以下综合策略:
  • 当特定网站没有被列为深度包检测关键字时,可以考虑使用IP地址加上非加密代理来访问。这种方法的优点包括:
    • 速度快:直接使用IP地址可以加快访问速度。
    • 代理资源丰富:有多种代理服务可选择,提供灵活性。
    • 不易被封锁:使用非加密代理降低被检测和封锁的风险。

深度包检测的主流规避方法

深度包检测是一种网络数据包分析技术,用于监控和过滤经过网络的数据。以下是一些常用的规避深度包检测的方法:

加密代理法

使用加密代理可以帮助隐藏数据内容,从而绕过深度包检测。主要的加密代理工具包括:
  1. TOR:一种用于匿名通信的自由软件。
  1. ssh -D:使用SSH动态端口转发来创建简单的加密代理。
  1. GAppProxy:一种基于Google App Engine的代理工具。
  1. Psiphon:旨在提供未经审查的互联网访问的开源工具。
  1. 无界:一种用于突破网络审查的代理软件。
  1. 自由门:同样是一种用于绕过互联网封锁的软件。

变更协议

通过改变使用的网络协议,可以有效绕过基于特定协议的深度包检测。常见的变更协议包括:
  1. UDP(用户数据报协议):一个简单的面向数据报的传输层协议。
  1. IPv6:最新的互联网协议版本,提供更多的地址空间和更复杂的数据包结构。
  1. SPDY(不成熟):由Google开发的网络传输协议,目的是降低网页加载时间,但目前尚未广泛采用。

VPN法

虚拟私人网络(VPN)是通过加密连接在公共网络上创建一个安全的网络通道。常用的VPN协议包括:
  1. PPTP(点对点隧道协议):一种常用的VPN协议,易于设置但安全性较低。
  1. L2TP(第二层隧道协议):通常与IPsec结合使用,提供更高的安全性。
  1. OpenVPN:一个基于开源的VPN解决方案,提供高度的安全性和可配置性。

网络证书原理浅析

证书

  • 定义:证书是一个包含属主信息(如网址、Email地址、公司名称)和公钥的信息集合。
  • 用途:用于在网络通信中验证实体的身份。

验证过程

  • SSL握手:当访问一个网站时,通过SSL(安全套接层)握手过程进行通信。
  • 域名匹配:确保证书上的域名和网站的域名一致。

签署

  • 过程:客户端持有受信机构A的公钥,A使用其私钥加密关于实体B的信息。客户端可以用A的公钥解密验证内容,从而确保其真实性。
  • 安全性:这个过程使得攻击者无法伪造证书。

证书链

  • 信任层级:浏览器和操作系统内置了信任的根证书。这些根证书认证机构代表用户验证其他公司或个人的证书。
  • 链式验证:如果一个证书由受信任的机构签署,则浏览器也信任该证书。

挫败嗅探攻击

  • SSL握手的作用:通过使用证书完成的SSL握手,通信双方可以建立一个只有他们能理解的加密通信。
  • 加密过程:信息用发送方的私钥加密,接收方使用发送方的公钥进行解密。

挫败中间人攻击(Man-in-the-Middle)

  • 域名不符警告:如果中间人使用原始证书,浏览器会因为域名和访问目标不符而发出警告。
  • 替换证书问题:如果中间人尝试替换证书,那么新的证书将不会被浏览器信任,因为它不在信任链中。

防御假证书

假证书可能导致的攻击

  1. 中间人攻击(Man-in-the-Middle):攻击者插入通信双方之间,利用假证书拦截、修改或重定向数据。
  1. 不可信插件(Untrust Plugins):使用假证书来装载或执行不安全的第三方插件。

假证书的范围

  • Entrust:可能涉及某些与Entrust相关的不可信证书问题。
  • CNNIC:特指中国互联网络信息中心相关的假证书问题。

关于CNNIC的各方声明

  1. CNNIC自述
      • 成立于1997年6月3日的非盈利管理与服务机构。
      • 执行国家互联网络信息中心的职责。
  1. 中央编委
      • 表示对CNNIC的具体性质不了解。
      • 认为CNNIC不符合事业单位登记条件且未曾申请登记。
  1. 工商部门
      • 不清楚CNNIC的具体性质。
      • 指出CNNIC不是企业,提及其开具发票的合法性问题。
  1. 民政部门
      • 未能确认CNNIC的组织性质。
      • 表明CNNIC不是一个注册社团。

GFW的弱点和调戏方法

GFW的弱点

GFW在设计上有一些弱点,这些弱点为绕过其监控提供了可能:
  1. 依赖于HTTP协议(RFC2616):GFW主要针对基于HTTP协议的通信进行监控和过滤。
  1. 依赖于TCP协议及双方对RST包的响应:GFW使用TCP重置(RST)包来中断不希望的连接。
  1. 没有追踪TCP序列号(SEQ):为了减轻处理负担,GFW不跟踪TCP连接的序列号,这可能导致其对某些类型的网络流量监控不足。

调戏GFW的方法

以下方法可以被用来绕过GFW的一些监控机制:
  1. 构建畸形的HTTP代理请求头:通过修改HTTP请求头的方式,可以使GFW难以正确识别和过滤请求。
  1. 传输双方忽略RST包(西厢计划第二季):如果通信双方都忽视GFW发送的TCP RST包,那么连接将不会被中断。
  1. 伪造TCP SEQ错误的包欺骗GFW(西厢计划第一季):通过发送带有错误序列号的TCP包,可以欺骗GFW,使其不能正确识别和阻断数据流。

西厢计划第一季:TCP SEQ错误策略

原理

  1. 构建TCP SEQ错误的RST包:通过发送一个带有错误的TCP序列号(SEQ)的重置包(RST包),欺骗GFW。
  1. 目标机器的响应:由于序列号错误,目标机器忽略这个RST包。
  1. GFW的反应:GFW由于没有记录真实的TCP序列号,被误导认为该TCP连接已经终止,从而忽略后续的所有报文。

优点

  1. TCP连接保持活跃:这种方法使得TCP连接可以继续使用,无需重新建立。
  1. 无需墙外服务器支持:该策略不依赖于墙外的服务器,直接在客户端和目标服务器之间操作。
  1. 速度快:由于TCP连接直接进行,速度快,和直接上网体验相似。

缺点

  1. GFW易于调整策略:GFW可以修改其策略,不再忽略被标记为RST的连接后续报文。
  1. 需要修改协议栈:实现该策略需要对底层的网络协议栈进行修改,这可能导致跨平台兼容性问题。
  1. 对用户技术要求高:普通用户可能难以实施这种技术策略。
  1. 可被修复:即使代价较高,这一策略的弱点最终总有可能被GFW修复,例如通过更新协议栈。

原理示意图

图二
图二

西厢计划第二季:忽略RST包策略

方法

  1. 分离出包和入包:将一条连接分为出包(发送)和入包(接收)。
  1. 对入包忽略RST:在接收数据时,全面忽略由GFW发送的TCP重置(RST)包。
  1. 出包通过隧道发送:将出包封装在隧道内,并发送到墙外的服务器。
  1. 远程服务器伪装:由墙外的服务器伪装成本地IP包,模拟正常的网络流量。

优点

  1. 高效的数据转发:由于HTTP协议通常发送的数据量少而接收的数据量多,一台墙外转发服务器可以支持大量客户端。
  1. 难以被IDS阻截:通常的入侵检测系统(IDS)方案难以阻截这种策略,除非将旁路式IDS转为插入式IDS。

缺点

  1. 依赖墙外服务器:此策略需要墙外服务器进行数据转发。
  1. 对服务器路由器要求:如果服务器所在的路由器禁止IP伪装,则该策略无法成功实施。

原理示意图

图三
图三

组合翻墙系统

规则转发系统

  1. 组件
      • Squid
      • Tinyproxy
      • 3proxy
      • Fireproxy
      • PAC(Proxy Auto-Config)
  1. 目的:将需要穿墙的访问(访问被屏蔽或限制的网站)和不需要穿墙的访问(正常访问未被屏蔽的网站)进行分离。

(可选)HTTP到SOCKS转换

  1. 组件
      • Polipo
      • Privoxy
  1. 目的:转换使用的协议,并提供其他辅助特性,如改善隐私保护、缓存优化等。

(可选)负载均衡系统

  1. 组件
      • HAProxy
      • Proxychains
  1. 目的:将网络请求的压力分配到多个代理服务器上,以提高可靠性和速度。

翻墙代理(SOCKS5)

  1. 组件
      • Tor
      • SSH -D(动态端口转发)
      • 其他支持SOCKS5的代理服务
  1. 特点:这些方案可以并行使用,只要它们支持SOCKS5代理协议。

原理示意图

图四
图四

准完美方案:VPN结合嵌入式设备

工作原理

  1. 使用VPN:通过VPN(虚拟私人网络)创建一个加密的网络通道。
  1. 嵌入式设备支持:使用支持路由功能的设备,如路由器。
  1. 利用iptables的路由规则:通过iptables设置路由规则,指定需要访问国外内容的数据通过VPN传输。

优势

  1. 物理解决方案:相当于通过实体设备实现网络分流,提高了系统的稳定性和可靠性。

缺点

  1. 需要IP路由数据:要求跟踪和更新IP路由数据,以应对网络环境的变化。
  1. 额外的路由器设备:需要使用具备特定功能的路由器设备。
  1. VPN依赖:必须依赖于VPN服务的稳定性和可用性。
  1. 可能与其他服务冲突:手动干预路由设置可能导致与其他网络服务的冲突。

原理示意图

图五
图五

墙内外互联网审查的趋势发展和展望


墙内互联网审查的趋势发展和展望

审查策略和技术

  1. 白名单备案
      • 域名和IP地址与责任人绑定,增加网络内容的可追溯性。
  1. 层层责任制度
      • 建立更严格的责任体系,加强对网络内容的管理和控制。
  1. 审查与自我审查
      • 审查机构的直接审查和鼓励内容提供者的自我审查。
  1. 五毛技术
      • 使用网络评论员影响或改变公众对特定话题的看法。
  1. 客户端审查技术
      • 在用户设备上实施审查,如过滤或屏蔽特定内容。

应对和绕过审查的方法

  1. “儿童黑话”类语言
      • 使用隐喻、双关语或特定俚语来绕过关键词过滤。
  1. 巭孬嫑昆
      • 示例“儿童黑话”,用于在受限环境中传达意图。
  1. 隐写术(如jpg+rar)
      • 利用隐写术在看似正常的文件中隐藏信息。
  1. 信息洪水
      • 通过发布大量信息淹没重要消息,减少特定内容的关注度。
  1. 使用Linux
      • 转向开源操作系统,以获取更多的网络自由和隐私保护。

墙外互联网审查的趋势发展和展望

审查策略和技术

  1. IPv6支持与可控协议扩充
      • 利用IPv6扩展可控制的网络范围和精确度。
  1. 增强语义分析技术
      • 使用先进的算法和人工智能技术进行更深入的内容分析。
  1. 非受控TCP链接断开
      • 主动中断不受控制的TCP连接,如翻墙软件所用连接。
  1. 工具/方案倒钩
      • 收集流行的翻墙方法并进行针对性的屏蔽。
  1. 全面断网
      • 在极端情况下,可能采取断开整个网络的措施。

应对和绕过审查的方法

  1. 不透露翻墙细节
      • 避免将翻墙的具体方法透露给不熟悉的人,以防止信息泄露。
  1. 隐写术
      • 使用隐写技术在文件中隐藏敏感信息。
  1. 加密技术
      • 利用强加密手段保护数据和通信。
  1. 协议混淆
      • 通过混淆网络协议使审查系统难以识别真实数据。
  1. 小语种
      • 使用非主流语言进行通信,以降低被审查的概率。
  1. 社会工程学
      • 利用社会工程技巧进行信息传递或获取。
  1. 自建通讯系统
      • 建立私有或独立的通讯系统,以规避主流网络的审查。

Freedom consists not in doing what we like, but in having the right to do what we ought. — Pope John Paul II

Thank you all

Reference: Wu, Mingshi, et al. "How the Great Firewall of China Detects and Blocks Fully Encrypted Traffic." GFW Report, University of Colorado Boulder and University of Maryland, et al., Year.
Loading...