GitHub访问速记

原始地址:https://wp.me/pbhQMi-22

不知道我的消息够不够灵通,在昨晚我了解到GitHub Pages疑似遭到中间人攻击。我打开自己的浏览器先访问了GitHub,发现一切正常,然后再打开Pages,就遇到了以下问题:

在这里,我想先说明一下,很多人说HTTPS没用,这都能被挡住。事实上,这就是HTTPS的作用与魅力:它能阻止不安全的连接。如果没有这项机制,你可能甚至不会察觉到网络连接被劫持了。

当我检查证书的时候,我发现了这个证书跟GitHub官方的确丝毫没有联系,因此没有什么浏览器会选择信任它。

这个证书是一个自签证书,给主机“server”签发。这看起来只是一个给局域网或是内网使用的证书,却不知道为什么流到了互联网,而且还是被用于劫持一个大网站!

很多人都查看了CSR信息,发现了该证书请求邮箱是一个QQ邮箱,而他的昵称为“心即灵山”,这个QQ想必很多人也有尝试接触过。

我个人认为这个证书更像是一个替罪羔羊,并不能指示任何一个幕后主使者,而我也不支持任何骚扰这个人的行为。于是我进一步检测这个问题:

  1. 我通过NSLookUp查询GitHub多个网站的地址,并将IP进行搜索,发现是官方IP无误,排除DNS污染等常用GFW操作的可能;

  2. Pages一直都没有强制HTTPS,因此在稍晚的时候,多数人通过HTTP即可访问几乎所有Pages(在通过关键词审查的前提下),因此我合理猜测80端口和443端口被分开路由了,或者是……?

  3. 由于HTTP是明文传输,我合理猜测HTTP也有可能被中间人攻击,只是用户无法察觉。

  4. 因为DH trl,根本不懂什么网络技术,上述猜想根本不会去验证,呜呜呜。

今天早上我登入知乎查看了一下GitHub的主题(Luv Letter的回答),然后发现了一些结论,同时也解决了我的一些疑惑:

  1. 这个情况的确有且仅有在国内发生;

  2. 大家普遍同意那个不明证书(里面提到的QQ号)和幕后主使没有太大关联(就是“替罪羔羊”);

  3. DNS相关部分运作正常,根据网友的进一步检测(我太弱了,呜呜呜),证实HTTP是正常的(没有中间人攻击),而443端口的流量则被转发到不同的路由;

  4. 攻击模式确认就是中间人攻击(MITM)无误。

昨晚我还刻意测试了一下GitHub官网,在那个时候它还能被访问。但是今天早上我起床后再试了一下——

Surprise!相同的手法,相同的结果,相同的阴谋!

没有人想要被网络搞暧昧。

截止到发布前,GitHub的各项服务已经能在中国大陆大部分地区正常访问,少数地区仍存在偶尔的劫持问题,长期禁止GitHub的地区不在本文的讨论范围内。

最后更新于