GFW的原理和绕过——IDS攻防战
本文探讨了中国的网络审查机制及其绕过方法,包括使用非加密代理、加密代理、VPN、变更协议等技术。详细介绍了深度包检测的规避方法、证书的原理及其在网络安全中的作用,以及针对假证书的防御策略。此外,分析了GFW的弱点及其调戏方法,提出了组合翻墙系统的设计思路,并展望了墙内外互联网审查的未来趋势和应对策略。
type
status
date
slug
summary
tags
category
icon
password
GFW是什么?为什么要翻墙?哪些情况和GFW有关?GFW(Great Firewall)的组成GFW的来历GFW的原理GFW的位置GFW的优点GFW的缺点GFW原理示意图GFW封锁方式一览DNS污染/劫持和IP劫持的解决方案DNS污染的解决方案DNS劫持的解决方案IP路由劫持的解决方案综合解决方案深度包检测的主流规避方法加密代理法变更协议VPN法网络证书原理浅析证书验证过程签署证书链挫败嗅探攻击挫败中间人攻击(Man-in-the-Middle)防御假证书假证书可能导致的攻击假证书的范围关于CNNIC的各方声明GFW的弱点和调戏方法GFW的弱点调戏GFW的方法西厢计划第一季:TCP SEQ错误策略原理优点缺点原理示意图西厢计划第二季:忽略RST包策略方法优点缺点原理示意图组合翻墙系统规则转发系统(可选)HTTP到SOCKS转换(可选)负载均衡系统翻墙代理(SOCKS5)原理示意图准完美方案:VPN结合嵌入式设备工作原理优势缺点原理示意图墙内外互联网审查的趋势发展和展望墙内互联网审查的趋势发展和展望审查策略和技术应对和绕过审查的方法墙外互联网审查的趋势发展和展望审查策略和技术应对和绕过审查的方法Freedom consists not in doing what we like, but in having the right to do what we ought.
— Pope John Paul IIThank you all
GFW是什么?
GFW,即Great Firewall(伟大的防火墙),是中国政府用于互联网审查和监控的系统。它通过阻断和过滤特定的互联网内容,限制访问某些外国网站和服务,来控制和监视国内的网络信息流。
为什么要翻墙?
翻墙指的是绕过GFW的限制,访问在中国大陆受限制或被封锁的网站和服务。人们可能出于以下原因想要翻墙:
- 为了和宇宙人沟通:或许是比喻意义上的探索未知或获取国外信息。
- 需要的资料找不到:在本地搜索引擎或资源上无法找到所需信息。
- 谷歌粉丝,讨厌百度:偏好使用谷歌等国外搜索引擎。
- 好友都在国外,他们让我上facebook:为了与国外的朋友保持联系。
- 求糟糕物:可能指寻求不容易获取的或有争议的信息。
- 闲的蛋疼:可能是指出于好奇或消遣的目的。
哪些情况和GFW有关?
以下情况可能与GFW有关:
- 打开facebook时访问超时:Facebook在中国大陆被GFW封锁。
- 打开google.cn时链接被重置:Google的某些服务在中国大陆受到限制。
- 全球twitter无法访问:Twitter也被GFW封锁。
- 很多网页打不开:可能是由于这些网页被GFW封锁。
以下情况可能与GFW无关:
- 某某公司的服务器去维修了:这是一种常见的技术维护情况。
- 全国断网10分钟:这可能是由于技术故障或其他非审查原因造成的。
- 有人被政府起诉诽谤罪了:这可能与网络言论有关,但不一定直接与GFW相关。
- 浏览器经常弹出广告:这更可能是因为恶意软件或广告软件。
GFW(Great Firewall)的组成
GFW由多个组件构成,包括但不限于以下几个方面:
- 方大师:指的是与GFW相关的某种技术或人物。
- Cisco:指的是Cisco公司生产的网络设备在GFW中的使用。
- IDS(入侵检测系统):用于监测和分析网络流量,以识别可能的非法入侵或违规行为。
GFW的来历
GFW的发展和部署涉及多个技术和合作伙伴,主要用于互联网内容的审查和监控。
GFW的原理
GFW运作的基本原理包括:
- 镜像端口转发数据:是指使用端口镜像来监控和分析通过网络的数据。
- IDS集群旁路解析:通过部署IDS集群对网络流量进行深度分析和监控。
- 危险连接RST包中断:使用RST(重置)包来中断被认为是危险或不允许的网络连接。
GFW的位置
GFW的主要部署位置包括:
- 中国各大网络出口:在中国的主要网络出口处部署,用以控制跨国界的网络流量。
- 多数集中在北京、上海、广州等城市:这些大城市作为网络枢纽,GFW在这里的部署尤为密集。
GFW的优点
GFW的一些认可的优点包括:
- 成本低,效果好:从成本效益的角度,GFW被认为是一个高效的互联网监控和控制系统。
- 扩充性好,运行稳定:系统设计上允许扩展,并在运行上相对稳定。
GFW的缺点
GFW也存在一些缺陷,主要包括:
- 判断智能程度不足,有漏判:系统在自动识别和审查内容方面可能存在不足,导致错误判断或漏判。
- 目前不支持IPv6:随着IPv6的普及,这一点可能成为GFW技术上的一个限制。
GFW原理示意图
GFW封锁方式一览
- DNS污染:故意返回错误的IP地址以阻止对特定域名的访问。
- DNS劫持:将DNS查询重定向到恶意的DNS服务器,该服务器提供错误的解析信息。
- IP路由劫持:将原本指向特定IP地址的流量重定向到不同的地址,有效地拦截或阻断通信。
- 深度包检测:检查经过检查点的数据包的数据部分(可能还包括头部),搜索不符合协议、病毒、垃圾邮件、入侵或预定义标准的内容,以决定是否允许数据包通过或应被重定向到其他目的地。
- (传闻)热点分析:传言中GFW会分析网络流量中的热点内容,以识别和封锁特定的话题或信息。
- (传闻)伪造证书:传言中GFW可能会使用伪造的安全证书来拦截加密的HTTPS流量。
- (传闻)机房白名单制:传言中GFW可能实行机房白名单制度,只允许事先验证过的IP地址进行通信。
DNS污染/劫持和IP劫持的解决方案
DNS污染的解决方案
DNS污染是指篡改DNS查询的回应,导致用户无法访问特定网站或被重定向到错误的地址。解决方案包括:
- 使用OpenDNS:这是一个提供更安全和可靠的DNS解析服务的第三方提供商。
- 使用8.8.8.8(Google DNS):Google的公共DNS服务,提供快速和准确的DNS解析。
DNS劫持的解决方案
DNS劫持是指在DNS请求过程中被非法重定向到其他网站。解决方案包括:
- 使用/etc/hosts文件:在本地计算机上修改hosts文件,直接将域名映射到正确的IP地址。
- 直接指定IP地址访问:直接通过IP地址访问网站,绕过DNS解析。
- 使用本地DNS缓存:缓存安全的DNS查询结果,减少被劫持的风险。
IP路由劫持的解决方案
IP路由劫持是指在数据传输过程中被非法重定向或截获。解决方案包括:
- 使用非加密代理:通过代理服务器进行网络访问,可以避开直接的IP路由劫持。
- 使用twitter API:特定情况下,使用Twitter的API作为通讯渠道。
- 使用加密网址的代理服务器:通过加密的代理服务访问网站,增强数据传输的安全性。
综合解决方案
针对特定情况,可以考虑以下综合策略:
- 当特定网站没有被列为深度包检测关键字时,可以考虑使用IP地址加上非加密代理来访问。这种方法的优点包括:
- 速度快:直接使用IP地址可以加快访问速度。
- 代理资源丰富:有多种代理服务可选择,提供灵活性。
- 不易被封锁:使用非加密代理降低被检测和封锁的风险。
深度包检测的主流规避方法
深度包检测是一种网络数据包分析技术,用于监控和过滤经过网络的数据。以下是一些常用的规避深度包检测的方法:
加密代理法
使用加密代理可以帮助隐藏数据内容,从而绕过深度包检测。主要的加密代理工具包括:
- TOR:一种用于匿名通信的自由软件。
- ssh -D:使用SSH动态端口转发来创建简单的加密代理。
- GAppProxy:一种基于Google App Engine的代理工具。
- Psiphon:旨在提供未经审查的互联网访问的开源工具。
- 无界:一种用于突破网络审查的代理软件。
- 自由门:同样是一种用于绕过互联网封锁的软件。
变更协议
通过改变使用的网络协议,可以有效绕过基于特定协议的深度包检测。常见的变更协议包括:
- UDP(用户数据报协议):一个简单的面向数据报的传输层协议。
- IPv6:最新的互联网协议版本,提供更多的地址空间和更复杂的数据包结构。
- SPDY(不成熟):由Google开发的网络传输协议,目的是降低网页加载时间,但目前尚未广泛采用。
VPN法
虚拟私人网络(VPN)是通过加密连接在公共网络上创建一个安全的网络通道。常用的VPN协议包括:
- PPTP(点对点隧道协议):一种常用的VPN协议,易于设置但安全性较低。
- L2TP(第二层隧道协议):通常与IPsec结合使用,提供更高的安全性。
- OpenVPN:一个基于开源的VPN解决方案,提供高度的安全性和可配置性。
网络证书原理浅析
证书
- 定义:证书是一个包含属主信息(如网址、Email地址、公司名称)和公钥的信息集合。
- 用途:用于在网络通信中验证实体的身份。
验证过程
- SSL握手:当访问一个网站时,通过SSL(安全套接层)握手过程进行通信。
- 域名匹配:确保证书上的域名和网站的域名一致。
签署
- 过程:客户端持有受信机构A的公钥,A使用其私钥加密关于实体B的信息。客户端可以用A的公钥解密验证内容,从而确保其真实性。
- 安全性:这个过程使得攻击者无法伪造证书。
证书链
- 信任层级:浏览器和操作系统内置了信任的根证书。这些根证书认证机构代表用户验证其他公司或个人的证书。
- 链式验证:如果一个证书由受信任的机构签署,则浏览器也信任该证书。
挫败嗅探攻击
- SSL握手的作用:通过使用证书完成的SSL握手,通信双方可以建立一个只有他们能理解的加密通信。
- 加密过程:信息用发送方的私钥加密,接收方使用发送方的公钥进行解密。
挫败中间人攻击(Man-in-the-Middle)
- 域名不符警告:如果中间人使用原始证书,浏览器会因为域名和访问目标不符而发出警告。
- 替换证书问题:如果中间人尝试替换证书,那么新的证书将不会被浏览器信任,因为它不在信任链中。
防御假证书
假证书可能导致的攻击
- 中间人攻击(Man-in-the-Middle):攻击者插入通信双方之间,利用假证书拦截、修改或重定向数据。
- 不可信插件(Untrust Plugins):使用假证书来装载或执行不安全的第三方插件。
假证书的范围
- Entrust:可能涉及某些与Entrust相关的不可信证书问题。
- CNNIC:特指中国互联网络信息中心相关的假证书问题。
关于CNNIC的各方声明
- CNNIC自述:
- 成立于1997年6月3日的非盈利管理与服务机构。
- 执行国家互联网络信息中心的职责。
- 中央编委:
- 表示对CNNIC的具体性质不了解。
- 认为CNNIC不符合事业单位登记条件且未曾申请登记。
- 工商部门:
- 不清楚CNNIC的具体性质。
- 指出CNNIC不是企业,提及其开具发票的合法性问题。
- 民政部门:
- 未能确认CNNIC的组织性质。
- 表明CNNIC不是一个注册社团。
GFW的弱点和调戏方法
GFW的弱点
GFW在设计上有一些弱点,这些弱点为绕过其监控提供了可能:
- 依赖于HTTP协议(RFC2616):GFW主要针对基于HTTP协议的通信进行监控和过滤。
- 依赖于TCP协议及双方对RST包的响应:GFW使用TCP重置(RST)包来中断不希望的连接。
- 没有追踪TCP序列号(SEQ):为了减轻处理负担,GFW不跟踪TCP连接的序列号,这可能导致其对某些类型的网络流量监控不足。
调戏GFW的方法
以下方法可以被用来绕过GFW的一些监控机制:
- 构建畸形的HTTP代理请求头:通过修改HTTP请求头的方式,可以使GFW难以正确识别和过滤请求。
- 传输双方忽略RST包(西厢计划第二季):如果通信双方都忽视GFW发送的TCP RST包,那么连接将不会被中断。
- 伪造TCP SEQ错误的包欺骗GFW(西厢计划第一季):通过发送带有错误序列号的TCP包,可以欺骗GFW,使其不能正确识别和阻断数据流。
西厢计划第一季:TCP SEQ错误策略
原理
- 构建TCP SEQ错误的RST包:通过发送一个带有错误的TCP序列号(SEQ)的重置包(RST包),欺骗GFW。
- 目标机器的响应:由于序列号错误,目标机器忽略这个RST包。
- GFW的反应:GFW由于没有记录真实的TCP序列号,被误导认为该TCP连接已经终止,从而忽略后续的所有报文。
优点
- TCP连接保持活跃:这种方法使得TCP连接可以继续使用,无需重新建立。
- 无需墙外服务器支持:该策略不依赖于墙外的服务器,直接在客户端和目标服务器之间操作。
- 速度快:由于TCP连接直接进行,速度快,和直接上网体验相似。
缺点
- GFW易于调整策略:GFW可以修改其策略,不再忽略被标记为RST的连接后续报文。
- 需要修改协议栈:实现该策略需要对底层的网络协议栈进行修改,这可能导致跨平台兼容性问题。
- 对用户技术要求高:普通用户可能难以实施这种技术策略。
- 可被修复:即使代价较高,这一策略的弱点最终总有可能被GFW修复,例如通过更新协议栈。
原理示意图
西厢计划第二季:忽略RST包策略
方法
- 分离出包和入包:将一条连接分为出包(发送)和入包(接收)。
- 对入包忽略RST:在接收数据时,全面忽略由GFW发送的TCP重置(RST)包。
- 出包通过隧道发送:将出包封装在隧道内,并发送到墙外的服务器。
- 远程服务器伪装:由墙外的服务器伪装成本地IP包,模拟正常的网络流量。
优点
- 高效的数据转发:由于HTTP协议通常发送的数据量少而接收的数据量多,一台墙外转发服务器可以支持大量客户端。
- 难以被IDS阻截:通常的入侵检测系统(IDS)方案难以阻截这种策略,除非将旁路式IDS转为插入式IDS。
缺点
- 依赖墙外服务器:此策略需要墙外服务器进行数据转发。
- 对服务器路由器要求:如果服务器所在的路由器禁止IP伪装,则该策略无法成功实施。
原理示意图
组合翻墙系统
规则转发系统
- 组件:
- Squid
- Tinyproxy
- 3proxy
- Fireproxy
- PAC(Proxy Auto-Config)
- 目的:将需要穿墙的访问(访问被屏蔽或限制的网站)和不需要穿墙的访问(正常访问未被屏蔽的网站)进行分离。
(可选)HTTP到SOCKS转换
- 组件:
- Polipo
- Privoxy
- 目的:转换使用的协议,并提供其他辅助特性,如改善隐私保护、缓存优化等。
(可选)负载均衡系统
- 组件:
- HAProxy
- Proxychains
- 目的:将网络请求的压力分配到多个代理服务器上,以提高可靠性和速度。
翻墙代理(SOCKS5)
- 组件:
- Tor
- SSH -D(动态端口转发)
- 其他支持SOCKS5的代理服务
- 特点:这些方案可以并行使用,只要它们支持SOCKS5代理协议。
原理示意图
准完美方案:VPN结合嵌入式设备
工作原理
- 使用VPN:通过VPN(虚拟私人网络)创建一个加密的网络通道。
- 嵌入式设备支持:使用支持路由功能的设备,如路由器。
- 利用iptables的路由规则:通过iptables设置路由规则,指定需要访问国外内容的数据通过VPN传输。
优势
- 物理解决方案:相当于通过实体设备实现网络分流,提高了系统的稳定性和可靠性。
缺点
- 需要IP路由数据:要求跟踪和更新IP路由数据,以应对网络环境的变化。
- 额外的路由器设备:需要使用具备特定功能的路由器设备。
- VPN依赖:必须依赖于VPN服务的稳定性和可用性。
- 可能与其他服务冲突:手动干预路由设置可能导致与其他网络服务的冲突。
原理示意图
墙内外互联网审查的趋势发展和展望
墙内互联网审查的趋势发展和展望
审查策略和技术
- 白名单备案:
- 域名和IP地址与责任人绑定,增加网络内容的可追溯性。
- 层层责任制度:
- 建立更严格的责任体系,加强对网络内容的管理和控制。
- 审查与自我审查:
- 审查机构的直接审查和鼓励内容提供者的自我审查。
- 五毛技术:
- 使用网络评论员影响或改变公众对特定话题的看法。
- 客户端审查技术:
- 在用户设备上实施审查,如过滤或屏蔽特定内容。
应对和绕过审查的方法
- “儿童黑话”类语言:
- 使用隐喻、双关语或特定俚语来绕过关键词过滤。
- 巭孬嫑昆:
- 示例“儿童黑话”,用于在受限环境中传达意图。
- 隐写术(如jpg+rar):
- 利用隐写术在看似正常的文件中隐藏信息。
- 信息洪水:
- 通过发布大量信息淹没重要消息,减少特定内容的关注度。
- 使用Linux:
- 转向开源操作系统,以获取更多的网络自由和隐私保护。
墙外互联网审查的趋势发展和展望
审查策略和技术
- IPv6支持与可控协议扩充:
- 利用IPv6扩展可控制的网络范围和精确度。
- 增强语义分析技术:
- 使用先进的算法和人工智能技术进行更深入的内容分析。
- 非受控TCP链接断开:
- 主动中断不受控制的TCP连接,如翻墙软件所用连接。
- 工具/方案倒钩:
- 收集流行的翻墙方法并进行针对性的屏蔽。
- 全面断网:
- 在极端情况下,可能采取断开整个网络的措施。
应对和绕过审查的方法
- 不透露翻墙细节:
- 避免将翻墙的具体方法透露给不熟悉的人,以防止信息泄露。
- 隐写术:
- 使用隐写技术在文件中隐藏敏感信息。
- 加密技术:
- 利用强加密手段保护数据和通信。
- 协议混淆:
- 通过混淆网络协议使审查系统难以识别真实数据。
- 小语种:
- 使用非主流语言进行通信,以降低被审查的概率。
- 社会工程学:
- 利用社会工程技巧进行信息传递或获取。
- 自建通讯系统:
- 建立私有或独立的通讯系统,以规避主流网络的审查。
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...