QQ网站登录的RSA加密传输缺陷分析

作者:hidecloud 来源:cnbeta.com 时间:2007-11-25 15:04:00 

QQ网站登录处没有使用https进行加密,而是采用了RSA非对称加密来保护传输过程中的密码以及敏感信息的安全性。 QQ是在javascript中实现整个过程的。这个想法非常新颖,但是也是存在严重缺陷的。如果被黑客利用,则可能被捕获明文密码。

分析报告如下:

Author: axis
Date: 2007-11-23
Team: http://www.ph4nt0m.org  (http://pstgroup.blogspot.com)
Corp: Alibaba B2B Corp / Infomation Security

这个想法非常新颖,详细可以参考云舒写过的 《RSA非对称加密的一些非常规应用》,地址为http://www.icylife.net/yunshu/show.php?id=471

这个原理简单描述为下:

1. 在server端生成一对RSA密钥,包括public key 和 private key

2. public key传输给客户端浏览器, 客户端浏览器用public key加密敏感数据,比如密码;加密后的密文传回给server,然后server用 private key解密。

3. 注意private key只保存在server端,而public key则分发给所有人。 由于 private key只有server知道,所以密文即使被截获了,也无法解开。

这个解决方案其实还是非常好的,至少他防住了大部分的攻击,但是为什么说它是无法替代https,是有缺陷的呢?

因为这个方案无法防止中间人攻击 (man-in-the-middle)。

攻击过程如下:
1. 攻击者通过MIM(比如arp欺骗等)劫持server与客户端浏览器之间的http包
2. 攻击者生成一对伪造的RSA密钥: fake public key/fake private key
3. 攻击者将js文件中的public key替换为fake public key,并传输给客户端浏览器
4. 客户端浏览器用 fake public key加密敏感数据,比如密码,并将加密后的数据传输给攻击者
5. 攻击者用fake private key解密,获得明文密码等
6. 攻击者用server的public key加密明文数据,并传送给server

整个过程中不会出现任何提示,而用户的明文数据则被窃取了!

而luoluo则提出来一个更 * 的想法(顺便在这里祝luoluo今天生日快乐!),他提出可以直接将加密的介质修改。

比如,如果是用js在做加密,则修改js,如果是用flash或java applert做加密,则替换flash或applet,直接去掉这种加密机制,捕获明文密码。

那么为什么说https是不可替代的呢? 因为当实施中间人攻击的时候,浏览器会提示证书已改变(具体参考云舒的关于https安全性的文章),这种机制是内建在浏览器里的,攻击者无力改变它。所以这种报警是非常有意义的。

而如果像QQ一样使用js进行RSA加密传输,实施中间人攻击的时候,是不会有任何提示的,一切都会在用户不知情的情况下发生。

这种情况和以前windows的RDP中间人攻击情况一样: 当使用3389端口的rdp协议登录时候,证书改变的时候没有任何提示。

而相对设计比较安全的ssh协议,ssl协议等,则都会针对证书改变做出提示,防止中间人攻击。

所 以,QQ的这个方案只能保护传输过程中一般的sniffer攻击,但是考虑到当今网络环境下,大部分的sniffer都是基于arp欺骗的,所以这种保护 机制其实是非常脆弱的。它只能对抗目前已知的arp sniffer软件,而对专门开发的替换关键字的软件,则无法有效防御。一旦这种专门针对QQ网站登录的sniffer软件被开发出来并且提供下载,灾难 就不远了。

不过这个方案还是有积极意义的,除去不能抵抗中间人攻击的缺陷外,其他方面都比较完美,特别是成本低廉。如果与https结合使用来防止中间人攻击的话,整个方案就更完美了。

之前曾与朋友戏言QQ是否会因为我这一篇文章而多花费几百万的经费去购买https证书和https硬件加速服务器,现在让我们拭目以待,看看QQ是否是真正的用户至上。

标签:qq,登录,安全,加密
0
投稿

猜你喜欢

  • 美国主机Inmotion主机购买图文教程

    2010-03-28 08:01:00
  • phpwind关于热榜排行最新回复排序问题

    2009-02-19 20:16:00
  • 织梦DedeCMS正式发布5.7版 王牌CMS再发力

    2011-03-09 12:21:00
  • 娱乐大众又带来价值 病毒式营销概念释疑

    2009-02-24 09:31:00
  • 防范SQL脚本入侵,你做好准备了吗?

    2008-02-15 08:20:00
  • 谷歌官方:让垃圾留言远离您的网站和用户

    2008-12-31 18:40:00
  • 网站推广自然的才是最好的

    2007-10-18 13:21:00
  • 一行代码杜绝iframe挂马

    2007-12-23 17:18:00
  • Web服务器启用并运行FTP服务

    2009-01-22 15:56:00
  • 使用dedecms建站的注意事项

    2011-06-19 16:09:30
  • VSFTPD的菜鸟篇

    2009-12-23 19:25:00
  • 如何申请Google AdSense

    2007-08-18 10:46:00
  • 巧用美图秀秀玩出万圣节新花样

    2009-10-30 15:12:00
  • 网赚里面火热而常见的骗术

    2010-05-10 11:20:00
  • 谷歌将大规模推广Voice 用户可直接发送邀请

    2009-10-14 11:49:00
  • 妙手回春,化解服务器登录难题(2)

    2007-03-27 10:22:00
  • Web站点的Win服务器安全解决方案

    2009-07-21 10:13:00
  • Web站点崩溃的原因总结

    2008-04-18 16:05:00
  • 教你打造不一样的美图秀秀欢迎首页

    2009-10-10 16:24:00
  • 更换apache到nginx的操作过程全记录

    2008-07-30 18:05:00
  • asp之家 网站运营 m.aspxhome.com