知道盗号名字的麻烦大家写下,标记
看到SUN的官网上吹嘘“银行级的帐号保护”,所有的做网络安全的人都笑了,再说了,银行怎么了,有敢说自己没有安全漏洞的银行吗?闲话少说,切入正题,看看有什么办法可以获得SUN的帐号和密码。
随便下个网络的SNIFFER工具,看一下SUN的登录过程:1)客户端打开服务器的44405端口,建立TCP连接,服务器回一个4字节加密的KEY;2)客户端发用户名和密码(加密的)信息给服务器;3)如果正确,服务器回一大堆20多KB。 玄机就在这一堆数据上,笔者不是果农,也没有闲心分析这些数据的用途,但在数据的最后一部分,服务器居然用明码返回了刚才输入的帐号和密码!
0018: fe 89 00 01 0...全部
看到SUN的官网上吹嘘“银行级的帐号保护”,所有的做网络安全的人都笑了,再说了,银行怎么了,有敢说自己没有安全漏洞的银行吗?闲话少说,切入正题,看看有什么办法可以获得SUN的帐号和密码。
随便下个网络的SNIFFER工具,看一下SUN的登录过程:1)客户端打开服务器的44405端口,建立TCP连接,服务器回一个4字节加密的KEY;2)客户端发用户名和密码(加密的)信息给服务器;3)如果正确,服务器回一大堆20多KB。
玄机就在这一堆数据上,笔者不是果农,也没有闲心分析这些数据的用途,但在数据的最后一部分,服务器居然用明码返回了刚才输入的帐号和密码!
0018: fe 89 00 01 00 36 00 0f 00 00 00 00 00 00 00 04 | 。
。。。。6。。。。。。。。。。
0019: f3 fe 61 83 3c 40 00 a4 fe 89 00 7a 00 00 00 20 | 。。a。<@。。。。。z。。。
001A: bf 02 00 36 00 02 9e 92 3c 40 00 33 04 55 3c 15 | 。
。。6。。。。<@。3。U<。
001B: 30 00 00 00 00 47 47 47 47 47 47 00 00 00 00 00 | 0。。。。GGGGG。。。。。
001C: 00 00 00 00 00 00 00 00 00 00 00 00 9b 67 67 67 | 。
。。。。。。。。。。。。ggg
001D: 67 67 67 67 67 67 67 00 c4 12 00 6f 00 00 00 94 | ggggggg。。。。o。。。。
001E: c5 12 00 bb 30 32 32 31 2e 32 32 33 2e 32 33 39 | 。
。。。0221。223。239
001F: 2e 31 31 33 00 00 00 10 4f 79 00 32 ef b3 03 9b | 。113。。。。Oy。2。。。。
0020: b4 82 7c 10 4f 79 00 49 00 00 00 61 94 40 00 30 | 。
。|。Oy。I。。。a。@。0
0021: 4f 79 00 06 89 40 00 e0 | Oy。。。@。。
上面是数据包的部分,GGGGGG是输入的用户名,gggggggg是密码。
这就不奇怪了,不管你电脑上有没有木马,只要别人在你的网关或代理上把监听数据包的软件一装,你的帐号和密码就在别人的囊中了。本来以为这么严重的问题会在血色之塔上修复,但目前看来似乎棒子们还没有意识到改的必要。
要说9城没做工作也有点冤,早期在网站上可以自由解绑密保,所以别人只要拿到你的密码,在网站上解绑,即使你有密保,也是摆设,忘了什么时候了,网站解绑需要输入密保号,虽然增加了用户操作的复杂,但在客观上的确有效,只要你有密保,偷你的东西就没那么简单了。
密保真的能保安全?9城还雇了个所谓的博士专家从一堆复杂的数学公式证明有多安全,其实稍微有点头脑,不需要初中毕业就可以计算出来:81个点,每次用3个,为保证安全,每次必须用3个不同的点,那么,真正安全的密码只有27次(放开一点,每次至少1个新点,也最多有79次安全密码),按SUN的服务器的掉线率和换线频率看,似乎也就是3-5天的功夫,如果你有密保,盗窃者可以在你的电脑上,网关上,代理上每隔一定时间踢你一次,引诱你输入密保上的点,那些点在数据包上也是可以计算出坐标位置的,也许,SUN的高掉线不全是服务器的错,这方面的可能不能完全排除。
顺便提醒一句,如果你玩WOW,使用了个人PIN码保护,最好用8位以上(10位优先选择)的PIN码,8位以下码根据数据包,只要1分钟就可以计算出来
,10位的需要几天以上。
回到分析SUN,如果改掉了明码,是否就安全了呢?答案是令人沮丧的。
输入用户名和密码,多试验几次就可知道,SUN的认证使用的对称密码,也就是说,服务器可以根据自己发送的KEY解密出密码的明码,服务器可以,黑客和小偷当然也能,常用对称分组加密的算法依次过一遍,在SUN的内存中找到了1个和算法相关的数:61C88647,这是微型加密算法TEA的关键字,依据这个线索,破加密就容易多了,详细地过程不再描述了,免得让人起歹心。
总之,和WOW相比,SUN的认证加密过于简单了,通过客户端送的加密包,坏蛋是能到用户名和密码的。
前面讲了2种通过数据包获得SUN的帐号和密码的方法,网络的问题不解决,盗号肯定无法避免。现在我们回到本地计算机上来,大家最熟悉就是键盘大盗了,象早期的冰河,通过安装键盘钩子类的东西或得键盘输入,这种最常规的方式SUN做预防了吗?没有,连最基本的应对方案软键盘和输入乱序替换都没有做,更不用说其它高深的了。
除了输入,读应用软件运行时的内存数据成为偷窃的另个技术,盗贼们应该感谢WINDOWS系统,提供读取和注入拦截另一个程序的私有数据,微软没有错,就像菜刀一样,可以作烹饪厨具,也可以是杀人凶器。
一个好的程序,经过高安全等级认证的程序或操作系统,最大的一个特点是无记忆性,这体现在:1)敏感的数据用之前和用之后都不以明码存在;2)使用过的内存一概清零。
相比SUN,暴雪要聪明的多,WOW的密码,明文密码在内存中仅存在20到几百毫秒,如果不能在此间隔内读出,登陆后再也不能在内存中找到明码了。
SUN的明码则是始终存在的,而且不只在1个地方存在,是技术障碍吗?应该不是,这是个意识问题,设计者头脑中有没有这种安全意识。所以,只要你登陆了SUN游戏,坏蛋们有足够的时间在内存中读取你的帐号和密码,这种读取,不用搜索,每个版本的位置和读法是几乎固定不变的,是100毫秒以内就能完成的操作。
一个负责任的软件,不应该把安全责任,不吃水果的责任推给用户,用户不是专家,但设计者是,如果采用了多种方法还不能防止用户遭受损失,是
水平问题,用户会理解你的;但是如果任何防范措施都不做,这就是态度问题了,是作为软件设计者不可饶恕的和不道德的行为,因为你不但让用户
的合法权益受侵害,更是把犯罪的技术门槛降低从而在客观上引诱更多的人从事不法行为。
。收起