重点提示:
众多企业内网均使用自签名HTTPS证书,请使用此场景的企业级用户务必部署HTTP公钥扎钉、同时建议定期检查证书指纹信息。
基于安全问题越来越多的网站开始部署HTTPS加密连接,但并不是所有人都希望基于安全性考虑部署HTTPS。
例如在各地运营商普遍会在用户访问时进行劫持并投放广告, 但若网站使用HTTPS加密连接则无法进行劫持。
原因在于运营商如果劫持 HTTPS 连接那么需伪造SSL证书,这种情况下浏览器会发出警告提醒用户不要访问。
但如果你的网站或是应用使用自签名证书的话, 那么可能要注意已经有运营商开始伪造自签名证书进行劫持。
中国电信劫持自签名证书:
昨天有微博网友声称自己的网站使用的自签名证书在部分地区使用电信访问时会被替换成其他的自签名证书。
讽刺的是原自签名证书使用的是SHA256算法而运营商劫持时替换掉的自签名证书算法使用的是过时的SHA1。
事实上 SHA-1 证书因安全性问题早在去年全球所有证书颁发机构都已经停止签发基于SHA-1算法的SSL证书。
也正是自签名的缘故运营商才敢明目张胆的直接签发基于该算法的证书,用来劫持用户访问HTTPS加密网站。
如上图:左侧为网站原本使用的基于SHA256算法的自签名证书, 右侧为运营商替换后的基于SHA1的证书。
为什么运营商敢劫持自签名网站?
就目前来看国内虽然运营商劫持普遍但从未见过有劫持 HTTPS 网站的先例,尤其是使用受信CA签发的证书。
原因在于运营商如果敢劫持这类受信证书的话那么用户浏览器立刻发出警告提醒使用者不要再访问这个网站。
但是使用自签名证书的网站就不同了,本身用户访问这个网站时浏览器依然会发出警告提醒用户证书不受信。
因此运营商劫持并替换了自签名证书后在用户访问时,并没有和使用原自签名证书访问时的区别即都是警告。
所以无论是用户访问还是网站管理员访问几乎不可能发现问题,这也可以说是这种类型劫持最大的危害之一。
但该网站的管理员是如何发现被替换证书并劫持的呢?原来该网站的软件本身会对证书的指纹信息进行验证。
由于运营商伪造证书指纹信息与网站原自签名证书的指纹信息不同,因此管理员才发现了运营商的这个勾当。
直接危害:
无论是受信的证书颁发机构签发的证书还是网站自签名的证书,凡是被劫持意味着运营商可以监听所有内容。
以上述网站为例用户在访问该游戏网站时诸如账号以及密码等信息,运营商系统里都是可以看到具体的内容。
这意味着即使用HTTPS加密也并没有保证我们信息的安全,而这对于普遍劫持的运营商来说似乎并没有什么。
企业安全提醒:
我们应该感谢这位网友发现的这个问题,
不然至今我们依然还在认为运营商不会劫持使用HTTPS加密的网站
。
事实上使用自签名的网站数量并不少,尤其是集中在很多企业内部网络例如OA系统、邮件及内部服务器连接。
当你的公司使用自签名进行加密连接认为很安全时, 熟不知运营商可能已经动了手脚悄悄替换证书进行监听。
应对方案(缓解):
为了应对这种情况建议所有网站不论自签名网站还是受信SSL证书网站都应该尽快评估并部署HTTP公钥扎钉。
目前如Mozilla Firefox和Google Chrome浏览器都已经支持HTTP公钥扎钉,即访问时还会校验证书一致性。
即使证书被替换成其他的受信证书, 浏览器校验当前证书与服务器签发的证书不一致时依然还是会发出警告。
有关HTTP公钥扎钉的详细信息请访问维基百科:HTTP 公钥固定(又称HTTP公钥扎钉、缩写为HPKP)。