Shell's Home

Dec 31, 2012 - 1 minute read - Comments

支付宝体系的问题

今天和几位朋友讨论了一下支付宝的问题,又查了一下case,发现支付宝的问题不仅是那么简单而已。先不吐槽支付宝的问题了,赶快出验证和方案。

在被人恶意补卡的情况下是否安全

关于恶意补卡,这里有个例子。简单来说,就是知道你的身份证和手机号,去异地营业厅用假身份证补手机卡。然后用手机卡获得支付宝系统,再套现。

贝壳分析了自己的系统,如果恶意补卡的话,对于200以上的消费转账,会要求输入宝令。宝令是绑定在手机而非卡上的,所以攻击者会无法消费。而要取消宝令就必须输入宝令,通过手机卡无法取消。因此攻击者即使补贝壳的卡,也无法进行200以上的消费。

但是如果你用的是U盾,那问题就没那么简单。在支付宝的设计中,手机是可以解除U盾绑定的。所以U盾不能对抗恶意补卡。

结论:如果仅仅是200而已,我可以认为这个系统是安全的。

在手机丢失的情况下是否安全

如果手机丢失,问题就更加严重。支付宝密码,支付密码均会被找回,宝令本身就在手机里,因此支付宝的支付系统全面沦陷。支付宝内资金肯定不保。问题是卡上资金。

贝壳绑定了两张卡,浦发和招商,先从快捷支付检查起。检查浦发的卡发现,对支付宝默认开了20000的签约支付额度,当场汗就下来。对于快捷支付来说,这太高了。速度改成300。对于超过300的,依然可以通过网银验证来支付,比较安全。

招行的快捷支付我从头到脚就没看到签约这回事,貌似必须进行网银支付。那就需要我的卡号有效期密码什么的。我觉得这个不大可能出问题。

再检查浦发的普通支付,这需要登录浦发的网上银行。浦发网银是通过手机加密码验证的,基本可以保证转账汇款的安全。

结论:目前调整的结果,一次损失300左右。

网银的一点隐忧

目前网银的密码都太弱了。浦发只有6位数字,招行也只有8位数字字母。难道就不能设定强一些的密码么?

浦发可能是要和卡本身的密码兼容,将手机作为补强。可是手机也会掉啊。一旦手机掉了,整个安全性就由6位数字密码保护。这和掉银行卡一样严重。

建议

  1. 移动和联通关闭身份证显示,尤其是最后四位!
  2. 无论哪种级别,使用支付宝一定要打开宝令。目前只有宝令可以有效对抗补卡攻击。
  3. 在智能机上又绑定网银的,就不要乱装软件,更不要root/越狱。
  4. 中国移动的补卡修改流程。如果当前卡处于激活中,先持续警告旧卡24小时后再激活新卡。
  5. 移动至少应当允许客户自行选择“这个手机号码极端重要,不得实行异地补卡,不得显示个人信息,复机/补卡间隔需要在24小时以上”的增强选项。
  6. 理论上说,移动应当可以推进二代身份证验证能力。使得补卡业务实行时,必须凭借二代身份证验证身份后进行。杜绝假身份证。
  7. 支付宝的密码找回功能降速。从开始找回,发短信和邮件通知,到完成找回密码至少要一小时,最好要24小时才能找回密码。或者允许可以设定“我自愿将找回密码时限改为24小时”以增强安全性。