GitHub遭受MITM(中间人)攻击

昨天下午4点多起,github pages 突然不能访问,今早,GitHub 官网也出现不能访问的情况。访问这些网站时,浏览器统一检测出证书无效。

现在是2020年3月27日北京时间13点,目前 github.com 和 pages.github.com 已经恢复访问。

这是昨天我在访问 github pages 页面的截图:

提示`ERR_CERT_AUTHORITY_INVALID`网站证书无效。并告诉我:您目前无法访问 pages.github.com,因为此网站使用了 HSTS。网络错误和攻击通常是暂时的,因此,此网页稍后可能会恢复正常。

起初我没在意,又由于我在国外的朋友访问都没有问题,我还天真地以为是被墙了...后来晚上看到有朋友在朋友圈讨论此事,这才认真去看了下浏览器收到的网站证书:

GitHub网站证书居然使用QQ邮箱?AYK?!显然,这不是被墙,这是被攻击了啊。这些网站的证书被攻击者使用的自签名证书代替,导致浏览器无法信任,从而阻止用户访问。这次攻击可能只针对中国IP的访问者,外网并未受到影响。

兴趣来了,这个留下qq邮箱的人是攻击者吗?

可能是,也可能不是(这不是废话吗--!)。可能是攻击者自信放出自己的邮箱,也有可能是攻击者不小心暴露了自己的邮箱,但也有可能是攻击者放出的烟雾弹,这个qq号只是混淆视听的假线索。

Anyway,不管怎样,也不妨碍我们去简单人肉这个qq号的主人是谁。搜索qq号 346608453 ,这是一个网名为`心即灵山`的用户:

经查资料,这不是 GitHub 第一次遭受攻击,早在2015年,就受到过一次大规模的中间人攻击,[github官方日志](https://github.blog/2015-03-27-large-scale-ddos-attack-on-github-com/):

翻译:

我们正在遭受github历史上最大的DDOS(分布式拒绝服务)攻击,攻击从3月26号,周四下午两点开始,攻击手段组合了多种攻击方式,从一些老式的攻击手段到新式,通过浏览器让毫不相干的围观群众参与到对github攻击流量的贡献,根据我们收到的报告推断,我们相信攻击的目的是让我们删除某些特定的内容。

关于中间人攻击,我在百度百科找到了还算通俗易懂的解释:

中间人攻击(Man-in-the-MiddleAttack,简称“MITM攻击”)是一种“间接”的入侵攻击,这种攻击模式是通过各种技术手段将受入侵者控制的一台计算机虚拟放置在网络连接中的两台通信计算机之间,这台计算机就称为“中间人”。这是一种由来已久的网络入侵手段,并且当今仍然有着广泛的发展空间,如SMB会话劫持、DNS欺骗等攻击都是典型的MITM攻击。简而言之,所谓的MITM攻击就是通过拦截正常的网络通信数据,并进行数据篡改和嗅探,而通信的双方却毫不知情。

——百度百科

中间人攻击举例:

假设爱丽丝(Alice)希望与鲍勃(Bob)通信。同时,马洛里(Mallory)希望拦截会话以进行窃听并可能在某些时候传送给鲍勃一个虚假的消息。

首先,爱丽丝会向鲍勃索取他的公钥。如果鲍勃将他的公钥发送给爱丽丝,并且此时马洛里能够拦截到这个公钥,就可以实施中间人攻击。马洛里发送给爱丽丝一个伪造的消息,声称自己是鲍伯,并且附上了马洛里自己的公钥(而不是鲍伯的)。

爱丽丝收到公钥后相信这个公钥是鲍伯的,于是爱丽丝将她的消息用马洛里的公钥(爱丽丝以为是鲍伯的)加密,并将加密后的消息回给鲍伯。

马洛里再次截获爱丽丝回给鲍伯的消息,并使用马洛里自己的私钥对消息进行解密,如果马洛里愿意,她也可以对消息进行修改,然后马洛里使用鲍伯原先发给爱丽丝的公钥对消息再次加密。当鲍伯收到新加密后的消息时,他会相信这是从爱丽丝那里发来的消息。

整个过程就像这样:

1. 爱丽丝发送给鲍伯一条消息,却被马洛里截获:

爱丽丝 `“嗨,鲍勃,我是爱丽丝。给我你的公钥”` -->马洛里鲍勃

2. 马洛里将这条截获的消息转送给鲍伯;此时鲍伯并无法分辨这条消息是否从真的爱丽丝那里发来的:

爱丽丝马洛里 `“嗨,鲍勃,我是爱丽丝。给我你的公钥”` -->鲍伯

3. 鲍伯回应爱丽丝的消息,并附上了他的公钥:

爱丽丝马洛里<-- `[鲍伯的公钥]` --鲍伯

4. 马洛里用自己的公钥替换了消息中鲍伯的公钥,并将消息转发给爱丽丝,声称这是鲍伯的公钥:

爱丽丝<-- `[马洛里的公钥]` --马洛里鲍勃

5. 爱丽丝用她以为是鲍伯的公钥加密了她的消息,以为只有鲍伯才能读到它:

爱丽丝 `“我们在公共汽车站见面!”` --[使用马洛里的公钥加密]-->马洛里鲍勃

6. 然而,由于这个消息实际上是用马洛里的公钥加密的,所以马洛里可以解密它,阅读它,并在愿意的时候修改它。他使用鲍伯的公钥重新加密,并将重新加密后的消息转发给鲍伯:

爱丽丝马洛里 `“在家等我!”` --[使用鲍伯的公钥加密]-->鲍伯

7. 鲍勃认为,这条消息是经由安全的传输通道从爱丽丝那里传来的。


其实马洛里一直夹在它们会话的中间,进行拦截和转发,必要时对内容进行篡改,而爱丽丝和鲍勃均毫不知情。这就是中间人攻击。

这个例子很形象地说明了在网络安全上的一个关键:通信双方需要某种方法来确定他们是真正拿到了属于对方的公钥,而不是拿到来自攻击者的公钥。否则,这类攻击一般都是可行的,在原理上,可以针对任何使用公钥——密钥技术的通讯消息发起攻击。

幸运的是,有各种不同的技术可以帮助抵御 `MITM` 攻击,比如最文章最开始提到的 `HSTS`。目前大多数网站都开启了加密技术对抗劫持,因此遇到证书伪造的攻击,用户访问会被阻止,用户的损失止步于打开不了网页。

--

关于什么是HSTS,推荐大家看这篇文章:

[HSTS详解](https://blog.csdn.net/u014311799/article/details/79037717)

更多关于中间人网络攻击的信息,有兴趣可以一读这篇:

[对github的中间人攻击](https://juejin.im/post/5aa116eff265da23906b97ce)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值