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是否是真正的用户至上。
猜你喜欢
- 1 . 社会充满不公平现象。你先不要想去改造它,只能先适应它。(因为你管不了它)。2 . 世界不会在意你的自尊,人们看的只是你的成就。在你没
- 肥胖 长期坐在电脑前的人,因缺乏锻炼,会出现重力性脂肪组织分布异常。脂肪堆积在下腹部和腰背部,导致向心性肥胖。 下肢静脉曲张 因缺乏活动,依
- Microsoft.com 从6月12日开始运行Windows Server 2008 Beta 3到现在已经有将近三个月了。 微
- 随着Linux企业应用的扩展,有大量的网络服务器使用Linux操作系统。Linux服务器的安全性能受到越来越多的关注,这里根据Linux服务
- 本文实例讲述了Linux环境(CentOS6.7 64位)下安装subversion1.9.5的方法。分享给大家供大家参考,具体如下:安装环
- Nofollow属性推出以后,Matt Cutts多次说过,nofollow既可以用在论坛,博客等的留言中,代表这些链接不是站长能控制和背书
- 内容摘要:title标签对于提高你网站的排名起到非常重要的作用。尽管如此,有很多人对于怎样去构造一个合适的title还不是很清楚。以下是我对
- 由于Godaddy改版,网上的过户教程并不适用了,于是决定把过程记录下来,希望对朋友们有所帮助。感觉很多人还不是很熟悉,现在就把
- 本文讨论的是在新硬盘上安装Windows2003,如硬盘已有数据,请先备份数据以防造成不必要的无可挽回的损失。系统要求-----对基于x86
- 本文介绍如何让 qmail 增加 smtpd-auth 功能.软件需求系统版本:RedHat6.2必需软件:1、qmail-1.03(www
- 在最新版本的WIN10中微软引入了一个基于虚拟化容器的安全机制,简单理解就是把系统内核放进一个隔离容器里面运行以提高安全性,这个隔离容器是用
- 我也把我的方法做了一下实验,使用serv-u做的,有一点错误,不过终归做了出来,下面总结一下:PASV服务器放在ISA后面,其实就是要解决两
- 广受大家欢迎的发布平台WordPress上个月发布了WordPress 3.0正式版 (取名 “Thelonious”)。此版本引入了非常多
- 外链是搜索优化的一件重磅武器,增加外链主要包括交换链接,论坛推广,博客推广三种,其他的像花钱买广告,挂马找肉鸡,一个是要花钱,一个要技术,其
- 你的服务器上是否存有一些不能随意公开的重要数据呢?当然有吧。最近,偏偏服务器遭受的风险又特别大,越来越多的病毒、心怀不轨的黑客,以及那些商业
- 一、Linux下文件互传,scp命令实例1、Linux下目录复制:本机->远程服务器scp -r /home/abc/test1 ro
- 许多web浏览器都比IE更易于使用,并且不会那么容易就受到黑客和其它威胁的攻击。 大家似乎很难想起来还有许多可以替代IE的web
- 本文子明特别用通俗的例子,说明ARP欺骗攻击的原理,使ARP欺骗攻击原理更加清楚的展现在你的面前。了解ARP地址解析协议我们先来简单描述下什
- 对于作Google AdSense的站长来说,注意自己的帐号安全,是非常重要的。可是由于Google对于站长在哪个网站放广告代码,没有一个所
- 北京时间11月14日早间消息,据国外媒体今日报道,尽管两家公司是竞争对手,但微软创始人、董事长比尔·盖茨(Bill G