一些网站https证书出现问题的情况分析

安全
2020.03.26下午,有消息说[1]github的TLS证书出现了错误告警。证书的结构很奇怪,在其签发者信息中有一个奇怪的email地址:346608453@qq.com。明显是一个伪造的证书。为了弄清楚其中的情况,我们对这一事件进行了分析。

2020.03.26下午,有消息说[1]github的TLS证书出现了错误告警。证书的结构很奇怪,在其签发者信息中有一个奇怪的email地址:346608453@qq.com。明显是一个伪造的证书。

为了弄清楚其中的情况,我们对这一事件进行了分析。

[[320525]]

DNS劫持?

出现证书和域名不匹配的最常见的一种情况是DNS劫持,即所访问域名的IP地址和真实建立连接的IP并不相同。

以被劫持的域名go-acme.github.io为例,我们的passiveDNS库中该域名的IP地址主要使用如下四个托管在fastly上的IP地址,可以看到其数据非常干净。

DNS劫持

 

对该域名直接进行连接测试,可以看到,TCP连接的目的地址正是185.199.111.153,但其返回的证书却是错误的证书。因此github证书错误的问题并不是在DNS层面出现问题。

DNS劫持/https/证书

劫持如何发生的?

为了搞清楚这个问题,可以通过抓取链路上的数据包来进行分析。为了有较好的对比性,我们先后抓取了443端口和80端口的数据。如下图

DNS劫持/https/证书

TCP三次握手中的服务器应答对比

左边的数据包为https连接,右边的数据包为http连接。可以看到https的服务器应答TTL为53,http的则为44。一般来说,在时间接近的情况下,连接相同的目标IP,数据包在链路上的路径是是近似的。https的TTL显著的大于http的TTL,看起来很有可能是在链路上存在劫持。

有意思的是 在https后续的连接中其TTL值并不稳定,比如在响应证书的数据包中,其TTL变成了47,介于44和53之间,更接近于http链路的情况。作为对比,http的后续数据包的TTL值则一直稳定在44。

[20200327 23:00 更新] 在数据包内容方面,另一个值得关注的点是:被劫持的会话数据包(https)全部回包的IPID都是0. 正常数据包(http)首次回包IPID是0,之后的回包就不是了。

这是两个有意思的现象。

DNS劫持/https/证书

被劫持会话后续返回的TTL值

因此,结合https会话过程中TTL值和IPID的异常,我们猜测是在链路上发生了劫持。

证书是怎么回事?

事实上,从我们DNSMon系统的证书信息来看,这个证书(9e0d4d8b078d7df0da18efc23517911447b5ee8c)的入库时间在20200323早上六点。考虑到数据分析的时延,其开始在大网上使用最晚可以追溯到20200322。

同时可以看到,这个证书在证书链上的父证书(03346f4c61e7b5120e5db4a7bbbf1a3558358562)是一个自签名的证书,并且两者使用相同的签发者信息。

DNS劫持/https/证书

相关证书信息

受影响的域名及时间

从上图中可以看到,该证书的影响不仅仅在github,实际上范围非常大。通过DNSMon系统,我们提取出了受影响的域名共14655个。

通过DNSMon系统查看这些域名的流行度,在TOP1000的域名中,有40个域名受影响,列表如下:

  • 1 www.jd.com
  • 5 www.baidu.com
  • 10 www.google.com
  • 37 www.sina.com
  • 44 www.163.com
  • 51 www.douyu.com
  • 62 www.suning.com
  • 86 www.pconline.com.cn
  • 91 sp1.baidu.com
  • 126 twitter.com
  • 137 www.eastmoney.com
  • 143 mini.eastday.com
  • 158 sp0.baidu.com
  • 174 www.jianshu.com
  • 177 www.mgtv.com
  • 185 www.zhihu.com
  • 232 www.toutiao.com
  • 241 price.pcauto.com.cn
  • 271 www.google.com.hk
  • 272 video.sina.com.cn
  • 299 www.youtube.com
  • 302 www.acfun.cn
  • 365 www.vip.com
  • 421 news.ifeng.com
  • 451 car.autohome.com.cn
  • 472 www.facebook.com
  • 538 www.gamersky.com
  • 550 www.xiaohongshu.com
  • 552 www.zaobao.com
  • 580 www.xxsy.net
  • 621 www.huya.com
  • 640 mp.toutiao.com
  • 643 www.ifeng.com
  • 689 www.ip138.com
  • 741 dl.pconline.com.cn
  • 742 v.ifeng.com
  • 784 www.yicai.com
  • 957 passport2.chaoxing.com
  • 963 3g.163.com
  • 989 www.doyo.cn

对这些域名发生证书劫持时的DNS解析情况分析发现,这些域名的解析IP均在境外,属于这些域名在境外的CDN服务。值得一提的是尽管这些域名都是排名靠前的大站,但是因为国内访问的时候,CDN解析会将其映射为国内的IP地址,因此国内感知到这些大站被劫持的情况比较小。

受影响二级域排名

在二级域方面,github.io 是受影响最大的二级域,也是此次劫持事件的关注焦点。

  • 1297 github.io
  • 35 app2.xin
  • 25 github.com
  • 18 aliyuncs.com
  • 17 app2.cn
  • 14 nnqp.vip
  • 10 jov.cn
  • 8 pragmaticplay.net
  • 7 tpdz10.monster
  • 7 suning.com

从时间维度来看,这些域名的首次被劫持时间分布如下:

从图中可以看出域名首次受影响的数量有日常作息规律,并且在3月26号数量有了较大幅度的增加。

结论

  • 劫持涉及域名较多,共计14655个,其中TOP1000的网站有40个;
  • 劫持主要发生在国内用户访问上述域名的海外CDN节点的链路上。国内用户访问国内节点的情况下未见影响;
  • 所有这些劫持均使用了以 346608453@qq.com 名义签名的证书,但我们没有找到 编号 346608453 的QQ用户与本次劫持事件相连的直接证据,也不认为该QQ用户与本次事件有直接关联;
  • 所有这些劫持最早出现在 2020.03.21 23时附近,持续到现在。并且在过去的24小时(26日~27日)处于高峰。

 

责任编辑:赵宁宁 来源: 安全客
相关推荐

2017-04-13 12:59:43

数据分析

2015-12-04 10:04:53

2022-12-06 17:11:14

Windows 10Windows 11

2010-09-17 15:41:46

网络协议分析软件

2015-08-24 09:26:18

Java内存问题见解

2009-12-16 10:22:49

2012-04-23 14:04:56

CSS网站

2018-11-20 14:24:46

数据分析数据库统计

2017-05-10 15:30:30

skynet崩溃程序

2017-05-23 14:33:46

简历求职前端开发

2009-06-04 16:28:43

EJB常见问题

2016-10-18 22:10:02

HTTP推送HTML

2021-04-19 17:25:08

Kubernetes组件网络

2010-05-13 10:09:18

MySQL编码

2011-06-10 20:02:55

嵌入式开发

2009-11-30 16:19:47

VS调试问题

2011-03-08 14:28:03

proftpdGentoo

2009-07-02 10:52:30

JavaBean规范

2009-11-25 09:23:47

PHP引用&符号

2009-06-12 10:25:42

Webservices
点赞
收藏

51CTO技术栈公众号