【新闻+分析】Github在墙内遭到「中间人」攻击,京东同样受到影响。TLS翻墙可能被重点关注

新闻摘要:
据蓝点网网友反馈,有攻击者正在大规模的发起中间人攻击劫持京东和 GitHub 等网站。此次攻击很有可能是基于 DNS 系统或运营商层面发起的,目前受影响的主要是部分地区用户但涉及所有运营商。例如中国移动、中国联通、中国电信以及教育网均可复现劫持问题,而国外网络访问这些站点并未出现异常情况。


大量用户无法正常访问京东和GitHub:

从目前网上查询的信息可以看到此次攻击涉及最广的是 GitHub.io,其次用户访问京东等国内知名网站亦会报错。查看证书信息可以发现这些网站的证书被攻击者使用的自签名证书代替,导致浏览器无法信任从而阻止用户访问。自签名证书显示证书的制作者昵称为心即山灵,这位心即山灵看起来就是此次攻击的始作俑者。所幸目前全网绝大多数网站都已经开启加密技术对抗劫持,因此用户访问会被阻止而不会被引导到钓鱼网站上去。如果网站没有采用加密安全链接的话可能会跳转到攻击者制作的钓鱼网站,若输入账号密码则可能会被直接盗取。

注 :此QQ号从此前某数据库里可检索出使用者为某校高中生,不过尚不清楚是高中在校生还是已经从该校毕业。


完整新闻(墙内网站)
https://www. cnbeta.com/articles/tech/960295.htm
https://www.oschina.net/news/114402/git-mitm


——————————以下为分析部分——————————

oschina那条链接里的评论很清楚,高赞评论认为如此大规模的攻击并不只是“初学者”、“高中生”那么简单。
(当然了,评论里面某些深红码农的留言实在恶心,虽然他们不敢明着说,但还是阴阳怪气的攻击推墙者)

由于网络工程师对于这件事的看法会比普通用户和程序员更加看得透,由于程序员、网络工程师、两者技能均有的用户在V站数量众多,信息量大得多。因此我主要选取V站某些组某些贴作为分析来源。

知乎也有相关话题和分析,但灌水更多。

回到主题。

这次攻击有好几个重点:
  • 攻击用的证书有两个,第一个是QQ号的邮箱,第二个是手机号邮箱。
  • DNS一切正常,并非DNS污染
  • 仅443端口受影响,tcping该端口时延比80端口以及普通的icmp ping都要短
  • 仅墙内受影响,墙外一切正常。
  • 受到干扰的主要是各大云服务的IP地址,以及各CDN的IP地址


由此可以推测:
  • 干扰SSL的设备位于墙内
  • 影响范围之大,至少是省级层面的设备在“捣乱”


已经有用户表示,想要这样做,BGP路由协议配合路由策略就行。但又有新的麻烦了:BGP协议几乎黑不进去。因为这也是个加密协议。
然而,墙内BGP在好几年前被要求换成国产加密算法,不排除该国产加密算法存在故意留下的后门。

显然,能够做到这些动作的只有运营商、GFW。由于三大运营商同时受到相同的影响,那么更大的可能性是来自于更高权限的地方——GFW。

(知乎 https://www.zhihu.com/question/382718053 里面也有人做了详细测试,并得到相同的结论——墙)

有用户推测,这个实验有可能是反翻墙的实验。

目前流行的翻墙方法之一,就是利用 HTTPS/TLS 掩护翻墙流量。如果GFW实验成功,意味着他们即将能够检查到用户的流量到底是属于普通的HTTPS浏览行为,还是用于翻墙的数据流。

另外,这个中间人攻击之所以会被察觉到,是因为浏览器跳出了提示。如果攻击者将假证书偷偷安装到用户的浏览器,那么就会导致使用者根本无法察觉,自己被卖了也不知道。
因此更为可怕的事情在于,如果各大国产浏览器被某神秘单位要求植入假证书,那么这些浏览器厂商是无法拒绝的。到了那个时候,哪怕用了HTTPS也一样等于裸奔。

题外话,就算没有神秘组织的压力,国产浏览器依然是毒瘤。996时期相关网站被国产浏览器自行屏蔽就是罪证之一。


V站话题来源:
v2ex.com/t/656642
v2ex.com/t/656582
v2ex.com/t/656394

————
更新:v2ray相对好一些,最新版可以避免中间人攻击,但一定要时刻更新最新版并将allowInsecure设置成false。
19
分享 2020-03-28

27 个评论

很久不用国产浏览器了,你国浏览器没有一个不恶心的
如果GFW实验成功,意味着他们即将能够检查到用户的流量到底是属于普通的HTTPS浏览行为,还是用于翻墙的数据流。

这一步的逻辑跳跃有点大。。。为什么这个实验意味着墙可以检测出用户的流量?
这一步的逻辑跳跃有点大。。。为什么这个实验意味着墙可以检测出用户的流量?

那就以这个教程 https://pincong.rocks/article/15493 的方法,再配合尽量简单的说法来讲解

在这个教程中,翻墙流量是伪装成https流量的(https流量是一种经过了加密的数据流),外界只知道有这个网站的存在,墙也只知道有人访问了这个网站,但不知道访问网站的数据流中哪些是翻墙流量,哪些是正常浏览行为,因为墙没有密钥无法解密。只有https服务器才能正确区分,因为它有解密用的密钥,可以解密并获取正确的数据流。

这次墙的实验叫做“中间人攻击”,意思是,在用户不知情的情况下、偷偷地把用户的流量转发到某台代理服务器上,再由代理服务器向目标网站(这次攻击的目标是Github)发送数据。反之亦然。这台代理服务器就是“中间人”。
由于https加密解密需要使用一种叫做“证书”的东西,同时还有跟这个证书相关的两把钥匙(一把公用钥匙,解密用的,叫做公钥;一把仅供客户端和服务器端私下使用的钥匙,加密用的,叫做私钥)。
中间人可以解密来自Github的数据,但却无法以Github的名义再次加密数据并发送给用户,因为中间人没有加密用的Github私钥。那怎么办呢?只能自己造一张假证书,利用这张假证书加密数据再发回给用户。
反方向也一样。
于是,中间人不但知道Github发送了什么数据给用户,也很清楚用户发送了什么数据给Github

把“Github”字眼替换成翻墙用的服务器,答案就很清楚了吧?
那就以这个教程 https://pincong.rocks/article/15493 的方法,再配...

SSL会验证证书的真实性,这是一个yes or no的结果:要么建立加密连接,要么连接失败。除非用户主动选择接受风险(如在浏览器中,选择接受不安全的证书),否则不会出现第三方解密流量的情况。
------------------------
Edit:当然用国产浏览器,植入“国产”证书就是另一回事了。
上次是CF的CDN全部被墙,现在又搞出这种东西。
GFW最近小动作不断啊,不知道是在实验什么东西。
SSL会验证证书的真实性,这是一个yes or no的结果:要么建立加密连接,要么连接失败。除非用户...

这是浏览器的情况(这也是为什么会提到国产浏览器的原因)

翻墙程序则是另一回事。

Web + TLS + v2ray的翻墙做法很简单,凡是访问特定路径的流量统统转发给v2ray。v2ray的TLS不依赖于网站自身的证书,而是用自己的证书。换句话说,网站服务器用了什么证书都跟v2ray无关,网站的证书有没有认证、是否过期,也跟v2ray无关,它不管网站的证书,即使网站的证书遭到中间人篡改照样连进去。

一旦遭遇中间人攻击,中间人就可以很清楚地看得出通讯流量中哪些是正常的http数据,哪些不是http数据。对于非http数据,扔给现有的特征检查程序就可以判定到底这是什么流量,甚至懒得判断直接封杀也是有可能的。中间人(墙)目前没兴趣知道非http数据的实际明文是什么,也无法解密,它只对该流量是不是跟翻墙有关感兴趣。

Web + TLS + shadowsocks同理,ss本身的TLS也是不依赖于网站的证书,而是自成一套,网站的证书到底怎么样,它一样不管,照样连进去。
那就以这个教程 https://pincong.rocks/article/15493 的方法,再配...


牆國以前就搞了一些可疑的
ROOT CA,像CNNIC,
我記得即使是國際性版firefox好像都有默認安裝牆國的CNNIC,很多年以前在牆外被投訴過,
還有通過網銀綁架牆內用戶必須安裝的CERT & CA ,
對于牆內不注意使用習慣,用日常用的瀏覽器的用戶來說,牆國網監用Root CA 來發動中間人攻擊太簡單了.

牆內人要萬分注意瀏覽器里的根證書, 程序員們應該弄一個強國政府搞的ROOTCA(根證書)list,go public,

另外, GFW搞中間人是在搜集流量, 來訓練更精準的機器學習模型深度識別行為吧
这是浏览器的情况(这也是为什么会提到国产浏览器的原因)翻墙程序则是另一回事。Web + TLS + ...

V2Ray(客户端)会使用系统自带的根证书验证证书的合法性:
https://github.com/v2ray/discussion/issues/430
我说句实话,墙内的软件如果敢在电脑上植入什么奇怪的东西,比如证书,就要经受各界人士的扒皮,最终搞臭自己。

我的推测是,墙内很有可能是部署数据库,让某些弱智接受风险并继续连接,然后把内容收录到数据库中。然后收集到的数据使用敏感词分析然后就继续屏蔽网站。

可以这么想,墙的工作量加大,手工业不再满足,需要工业革命,但是,如果用机器收集,瓦房店技术根本玩不过身经百战的CDN。所以就想出了这个中间人劫持的方法。

至于有人说有人会这么弱智吗?我倒是想问,一个小白至少要花两个星期才可以达到翻墙初学者的水平,跟只要点一点接受风险并继续就可以继续用,你会怎么选?
牆國以前就搞了一些可疑的ROOT CA,像CNNIC,我記得即使是國際性版firefox好像都有默認...

cnnic早就被火狐block了,这点可以放心。然而去年我发现firefox上竟然有沃通的证书。。。那可把我吓得不行。三大流氓ca有cnnic,wosign/wotrust,startcom
牆國以前就搞了一些可疑的ROOT CA,像CNNIC,我記得即使是國際性版firefox好像都有默認...

是的,我就是怀疑他们的目的是更精准识别出Web伪装的翻墙流量,以后让墙变得更高
V2Ray(客户端)会使用系统自带的根证书验证证书的合法性:https://github.com/v...

原来在4.18开始加入了这个功能,那还不错。看了下日期,2019年才加的。虽然晚了点,但总算亡羊补牢。
我3年前用v2ray的时候还没有这个功能,自从配置好之后就没再改过也没再关注更新文档,果然有时间还得去看看v2ray的Change Log。
CF的CDN全部被墙是什么时候的事啊,怪不得我今天上不去了

就近段时间,不过很快恢复了,大概就持续了一晚上的样子。我用站长之家的ping试过几个套了Cloudflare CDN的网站,当时解析出来的CDN的IP一律超时。
这一步的逻辑跳跃有点大。。。为什么这个实验意味着墙可以检测出用户的流量?


@沉默的广场

以 v2rayN 为例,allowInsecure 默认为 true(这个默认值默认不安全,可能是因为有些翻墙者技术水平不行,用的就是自签名证书)。假设翻墙者被中间人攻击,v2ray 不会拦截有问题的证书,https 就掩盖不了翻墙的流量了
m
SSL会验证证书的真实性,这是一个yes or no的结果:要么建立加密连接,要么连接失败。除非用户...

并不限于国产浏览器。微软苹果以及国行手机都可能被要求在操作系统层面信任某CA。
cnnic早就被火狐block了,这点可以放心。然而去年我发现firefox上竟然有沃通的证书。。。...

现在Firefox自带央妈银联的中国金融认证中心 (CFCA) 和广东数安时代 (GDCA) 证书,可以取消信任或删除
并不限于国产浏览器。微软苹果以及国行手机都可能被要求在操作系统层面信任某CA。

对的,而且连PC和服务器的Linux也无法幸免。
深度Linux自然不用说,已经在共产党的掌控之下。
就算是Ubuntu、Redhat也未必可靠,它们本身是商业公司,可能会被统战,或者为了“照顾某个市场”而信任某些证书。这方面Firefox就是现成的例子,不但有墙内特供版firefox,就连普通Firefox也无法幸免。

绕了一圈才发现,可信赖的、信赖度高的就只有社区驱动的系统。例如Debian、BSD系列。
很久不用国产浏览器了,你国浏览器没有一个不恶心的

我从没用过,哈哈哈,当年我的IE被3721绑架,我和360就成了世仇。
很久不用国产浏览器了,你国浏览器没有一个不恶心的

阿里巴巴出品,UC Turbo浏览器,良心之作。
https://a2zapk.com/741439-uc-browser-turbo-fast-download-secure-ad-block-1-9-4-900-mod-a2z.html
用https everywhere插件,tor browser就内置这个
另外我好奇,我们都管这个东西叫GFW,不知道它在官方内部是如何称呼的?正式的名字?
2020年4月2日,迷雾通3.5.2已经连不上服务器失效了,难过
2020年4月2日,迷雾通3.5.2已经连不上服务器失效了,难过

我也是,现在只有tor的meek插件了.
有人知道tor的端口吗?在网上找了半天,实在搞不清.

要发言请先登录注册

要发言请先登录注册