防止SSL劫持的终极方法


  众所周知,我们正处在一个存在着各种诈骗、劫持的网络年代,我们的各种帐号密码很多时候都能很容易地被黑客窃取。由此很多网站使用HTTPS来保护用户的信息不被窃取。而HTTPS本身所使用的SSL协议也并不是完美无缺,即使能确保本机安全,也还存在着各种SSL劫持了,令人防不胜防。

  曾经发生过并被大众知晓的SSL劫持有:Comodo CA被黑客入侵用于伪造SSL证书、DigiNotar CA被黑客入侵用于伪造SSL证书、法国政府伪造CA证书用于劫持Gmail等。当然,还有广为流传的CNNIC,虽然并没有被发现进行过SSL劫持,不过鉴于其之前的所作所为,很多人还是很担心某天会针对自己进行劫持,而针对单人的劫持比较难以发现。

  所以很多人为了安全起见,将CNNIC的SSL证书标记为不信任,但由此带来了一些问题,比如中国区的战网使用了CNNIC颁发的证书导致无法连接,中国区的Windows Azure也使用了CNNIC颁发的证书导致无法连接等问题。而除了CNNIC,很多人还担心很多中级CA机构会以更隐蔽的方式进行劫持。

  鉴于存在着这些问题,那么就需要有相应的解决方法。笔者在这里介绍一个用于预防SSL劫持的开源工具,使用中不存在删除证书的各种问题,也不存在担心中级CA机构的问题。此工具的项目地址为: https://github.com/lehui99/scphcp ,依赖于python,安装python后根据项目主页中的问于答进行操作即可使用。此项目刚开发完成,使用中或许会存在一些问题,如发现问题则欢迎在项目中提Issue,我会尽快进行修复。

  使用此工具后只能防止SSL劫持,并不能防止HTTP劫持,比如《电信级的RSA加密后的密码的破解方法》中使用的HTTP劫持无法预防。所以访问重要的网站时需要确保使用的是HTTPS进行访问。

防止SSL劫持的终极方法

  目前使用此工具需要一定的电脑知识,需要会安装python并设置环境变量并编辑配置文件。笔者会在后续开发中制作一个简易使用的exe版给大家,只需持续关注项目主页即可知道何时发布exe版。