查看: 1871|回复: 0
打印 上一主题 下一主题

将军令的安全问题

[复制链接]
跳转到指定楼层
楼主
发表于 2008-9-9 13:53:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式 来自:北京
本人一直从事网络安全的研究,以前总是固执得认为将军令挺安全的,后来无意看到一篇安全文章后才醒悟网易提供的将军令有很大安全缺陷,其仅能防止采用键盘记录手段的木...马,对于更高明的木...马则不起作用,这种木...马的原理是:做一个伪装的程序,模仿梦幻登录的全部界面,当用户输完将军令时,立即将用户名、密码、将军令发送到木...马作者,此时木...马作者可以立即用该“用户名、密码、将军令”在一分钟内完成登录过程。
网易对登录过程中的将军令输入方法做了几次修改,都没有改到根本上,他总认为是键盘记录器记住了将军令数字,所以最后改用图片式输入,以为这样可以防止木...马取到将军令数值,其实人家根本不用记录,人家是用的是伪装的程序,你再怎么变换伪装程序还不是一清二楚。

也许网易看了上面的原理介绍想,把登录过程延长到1分钟以上再输入将军令是不是可以解决该问题,表面上看好像可以,木...马作者拿到“用户名、密码、将军令”时,他需要至少一分钟才能输入将军令,此时将军令过期了,呵呵,这也没有用处,人家可以先同步登录,取到“用户名、密码”时,就先同步输入“用户名、密码”,等再取到将军令数字时,再跟着输入将军令数字,所以也不能解决问题。

密保卡与手机密保也是一样的问题,要牢记,木...马作者用的是伪装的程序而不是用你的游戏客户端,也就是根本不与你服务器建立连接。
要防止此类木...马,必须采用挑战-响应式登录,即当游戏客户端与服务器建立链接时,服务器产生一个与此连接绑定的随机挑战,而玩家跟据这个随机挑战按一定算法生成应答,该算法要保证木...马得到应答后推算其不出产生的方法,这样木...马取得应答就没有用处,因为当他一与网易服务器连接时网易服务器将生成新的挑战。
说到具体的实现方法,推荐以下两种方案:
1、用手机短信替代现有的将军令数值,即当玩家输入用户名、密码后,服务器验证完用户名、密码,成功时发送一随机数到玩家手机上(手机要像将军令一样提前绑定上),由于随机数是跟游戏客户端与服务器的连接绑定的,新建连接将产生新随机数,所以木...马取得随机数也没有用,玩家收到短信数字后接着输入该数值,服务器验证通过后进入游戏。
2、改造现有的将军令,让将军令可以输入数值,同1中的流程一样,服务器在验证完用户名密码后产生随机数显示在界面上,玩家将该随机数输入到将军令中计算出一新的数值,最后输入新的数值提交给服务器验证,将军令跟据随机数产生新数值可采用SHA算法

第一种方案无疑更好些,因为大部份玩家都有手机,第二种方案可做补充,针对没有手机的学生族。
收藏收藏 分享淘帖 支持支持 反对反对 赞赞(0)
【论坛近期活动汇总】
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则