昨日,部分网友反馈Github网站无法访问,疑似有攻击者大规模地发起中间人劫持。除了Github网站,京东、koajs 等其他网站似乎也受到影响。
此次攻击似乎通过骨干网络进行443端口劫持,经测试,DNS系统解析是完全正常的。目前受影响的主要是部分地区用户,且涉及所有运营商,比如中国移动、中国联通、中国电信以及教育网均可复现劫持问题,而国外网络访问这些网站并未出现任何异常情况。
由于攻击者使用的自签名证书不被所有操作系统以及浏览器信任,因此用户访问这些网站时可能会出现安全警告。
截止3月27日12点,据蓝点网的部分信息动态更新,网友反馈Github网站无法访问,攻击规模似乎进一步扩大。
从目前网上查询的信息可以看到此次攻击涉及最广的是 GitHub.io,查看证书信息可以发现这些网站的证书被攻击者使用的自签名证书代替,导致浏览器无法信任从而阻止用户访问。
图片来自v2ex网友
在自签名证书邮箱更换之前,其显示证书的制作者昵称为心即山灵 (QQ346608453),这位心即山灵看起来就是此次攻击的始作俑者。所幸目前全网绝大多数网站都已经开启加密技术对抗劫持,因此用户访问会被阻止而不会被引导到钓鱼网站上去。如果网站没有采用加密安全链接的话可能会跳转到攻击者制作的钓鱼网站,若输入账号密码则可能会被直接盗取。
图片来自知乎网友
中间人攻击(简称MITM)是指攻击者在通讯两端之间接管流量,攻击者可以拦截通讯双方的通话并篡改内容。简而言之,所谓的中间人攻击就是通过拦截正常的网络通信数据,并进行数据篡改和嗅探,而通信的双方却毫不知情。
后续资讯,本文将持续跟进。
附部分节点测试情况
阿里云上海数据中心(BGP):
- curl -k -v https://z.github.io
- *Connected to z.github.io (185.199.108.153) port 443(#0)
- * SSL connection usingTLSv1.2/ ECDHE-ECDSA-AES128-GCM-SHA256
- * ALPN, server did not agree to a protocol
- *Server certificate:
- * subject: C=CN; ST=GD; L=SZ; O=COM; OU=NSP; CN=SERVER; emailAddress=346608453@qq.com* start date:Sep2609:33:132019 GMT
- * expire date:Sep2309:33:132029 GMT
- * issuer: C=CN; ST=GD; L=SZ; O=COM; OU=NSP; CN=CA; emailAddress=346608453@qq.com* SSL certificate verify result:selfsigned certificate in certificate chain (19), continuing anyway.
- > GET / HTTP/1.1
- >Host: z.github.io
- >User-Agent: curl/7.52.1
- >Accept:*/*
群英网络镇江数据中心(电信):
- curl -k -v https://z.github.io
- *Rebuilt URL to: https://z.github.io/
- *Trying185.199.108.153...
- * SSL connection usingTLSv1.2/ ECDHE-RSA-AES128-GCM-SHA256
- * ALPN, server accepted to use h2
- *Server certificate:
- * subject: C=US; ST=California; L=SanFrancisco; O=GitHub,Inc.; CN=www.github.com
- * start date:Jun2700:00:002018 GMT
- * expire date:Jun2012:00:002020 GMT
- * issuer: C=US; O=DigiCertInc; OU=www.digicert.com; CN=DigiCert SHA2 HighAssuranceServer CA
- * SSL certificate verify ok.
- *Using HTTP2, server supports multi-use
- *Connection state changed (HTTP/2 confirmed)
- *Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
- *UsingStream ID:1(easy handle 0x556d826f6ea0)
- > GET / HTTP/1.1
- >Host: z.github.io
- >User-Agent: curl/7.52.1
- >Accept:*/*
华为云香港数据中心(以下为正常连接的证书信息第44行):
- curl -k -v https://z.github.io
- *Rebuilt URL to: https://z.github.io/
- *Trying185.199.108.153...
- * SSL connection usingTLSv1.2/ ECDHE-RSA-AES128-GCM-SHA256
- * ALPN, server accepted to use h2
- *Server certificate:
- * subject: C=US; ST=California; L=SanFrancisco; O=GitHub,Inc.; CN=www.github.com
- * start date:Jun2700:00:002018 GMT
- * expire date:Jun2012:00:002020 GMT
- * issuer: C=US; O=DigiCertInc; OU=www.digicert.com; CN=DigiCert SHA2 HighAssuranceServer CA
- * SSL certificate verify ok.
- *Using HTTP2, server supports multi-use
- *Connection state changed (HTTP/2 confirmed)
- *Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
- *UsingStream ID:1(easy handle 0x556d826f6ea0)
- > GET / HTTP/1.1
- >Host: z.github.io
- >User-Agent: curl/7.52.1
- >Accept:*/*