存档

‘Censorship’ 分类的存档

DNS劫持的证据

2009年8月22日 dipplum 4 条评论

昨天晚上想访问某著名视频网站, 上传一个小视频. 历经4个小时, 始终没有成功. 期间, 先后用了多种代理服务器, 及itshidden, ultravpn这种VPN程序. 本来, 按照我的理解, VPN的传输层加密加上OpenDNS, 应该可以成功穿墙.

最后发现, 穿墙失败的原因还是出在DNS解析上. 现在的GFW, 应该不仅限于篡改、劫持境内DNS服务器的主机记录. 至少, 下面的实验表明, 境内任何主机发往境外任何IP的DNS协议报文, 都会被GFW劫持(至少北京网通是这样). 并且对敏感主机记录的查询请求, GFW会伪造一个DNS的响应, 给你错误的网站IP地址.

这就使得用诸如OpenDNS, SecureDNS之类的境外DNS也不管用了, 它可能完全收不到你发的某些报文. 这也是我用itshidden和ultravpn不能访问某视频网站的原因.

事实上, GFW甚至不关心你用的境外DNS服务器是否存在, 在下面的实验里, 我分别向几个瞎编的IP发送DNS查询请求, 都能成功收到解析出的IP地址. 实验如下:

  • 就爱你一生一世

image

  • 不爱你一生一世

image

  • 不信气不死你

image

  • 就要气死你

image

如果瞎编一个DNS服务器的地址, 都能收到DNS响应的话, 说明这个响应一定是伪造的.

当然, 在实验中, 我发现了IP地址也不是随便填的. 例如设置为下面两个, 就完全收不到DNS响应. 这个结果还算正常:

  • 我要死我要死

image

  • 我不要死我就要死

image

我的推测是, 要么上面的地址段本身属于中国地区, 不走GFW, 要么GFW不屑于劫持发送到上面地址段的报文. (未经确认)

我在实验中同时发现, GFW的报文伪造能力相当粗糙. 稍微修改下DNS查询的类型, 伪造的报文就出问题了. 见下面两个例子:

  • mx记录查询

image

  • ns记录查询

image上面的出错信息表明, 如果DNS查询不是关于主机A记录的, 如MX和NS记录, GFW伪造出来的报文格式都不对.

最后, 通过实验, 我进一步确认了, GFW的这一功能, 是安装在国内到国际的出口上。发往国内的DNS的请求就没有发现劫持和伪造的痕迹.

  • 设成国内一个不存在的DNS, 如网易机房的一个不存在的IP

image那我们应该怎么办呢? 应该说, 这种劫持方法并不是没有任何空子可钻.

首先, 我们可以修改hosts文件, 让那些敏感网站的IP解析完全不走DNS协议. 这是最近很流行的做法, 这种做法的缺点是人工工作量比较大. 还有一种做法是, 让DNS协议也通过VPN的加密信道发出去. 因为同是VPN方案的Hotspot Shield就可以完美的访问youtube和其他敏感站点, 我猜测是这些VPN为了提升用户体验, 没有让DNS请求也走VPN的加密信道(未经证实), 如果DNS请求本身加密了, GFW应该无从伪造.

我想象中技术上比较优雅的方案, 应该是本地运行一个DNS服务器, 通过HTTPS的方法与境外架设的服务器同步DNS记录, 这样既不用人工维护hosts文件, 也不用依赖于某个VPN. 残念…

分类: Censorship 标签: ,

could you BE more ridiculous

2009年7月9日 dipplum 没有评论

20090707 阵亡的某知名网站的 DNS 记录被重定向到 127.0.0.1

fanfou-0709

之前的全站只读截图,好在我手快

fanfou-0707

分类: Censorship 标签:

关于绿坝的思考

2009年6月17日 dipplum 没有评论

现在绿坝争论的关键分歧在于:大众认为绿坝是强制安装的,因此认为自己的权利受到了侵害;而官方一再强调,用户可以自行卸载该软件,因此不认为该软件具有强制性。

因此这根本不是一场争锋相对的辩论,双方基于上述假设的论点都打在了空处。

我觉得在争论中,应着重强调两点:

  • 首先,“绿坝可卸载”这一事实有待商榷。有人说普通的卸载操作仍然会在系统中留下残留文件。现在已经出现了若干绿坝专杀。
  • 其次,即使“绿坝可卸载”,仍然不能捆绑安装。

下面解释:为什么不能捆绑安装。

    原因很简单:系统安全。已经有研究人员在半天时间内,发现绿坝中多处包含的易受缓冲区溢出攻击的漏洞。
    这一事实表明,绿坝的开发人员缺乏系统软件方面的编程经验,缺乏开发符合一定安全要求的软件的素养,导致漏洞百出。
    如果允许用户自行安装绿坝,黑客或许很难发现哪些机器因安装了绿坝而易受攻击。但捆绑销售这类漏洞百出的软件,将会造成更大的危害。因为所有计算机都是黑客的攻击目标。
    因此,不光是绿坝,所有捆绑销售的软件,由于其预装在系统中这一特性,其漏洞特别容易被黑客或者病毒利用而被攻破,应该用操作系统级别的安全规范去要求这些软件。除非绿坝能够像微软看齐,软件开发中避免不安全的函数调用,定期出安全公告和安全更新,不断修改固化软件的功能。否则不应该捆绑销售这类软件。
分类: Censorship 标签:
This work by dipplum is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 2.5 China Mainland.