安全问题的本质
注:一口气写完此文,然后上网搜了下相关新闻,发现阿里小微金融的风险官胡晓明已经做出正式回应。点击阅读原文可以查看他的公开信。
http://it.people.com.cn/n/2014/0120/c1009-24170736.html
最近在网上有篇关于支付宝安全的文章,讲的是如果手机丢失了以后,别人捡到手机,就可以通过手机登录支付宝帐号、取回密码、解绑数字证书,最后把钱从支付宝里给弄走。
有朋友发消息来向我求证这篇文章的真实性。原本对于这种水文我是不太关注的,因为支付宝从始至终都不缺乏这种负面新闻。但问得人多了,我觉得借着这个机会科普一下也挺好。
首先在「微信支付」挑战「支付宝」这样的敏感之季,我觉得这篇文章很像是微信的软文,就算不是,微信也应该给它付钱。为什么这么说呢?因为这篇文章写的很高明。但不是说这篇文章说的不对,相反,从某些角度来看,它确实有一定的道理。
我在我写的《白帽子讲Web安全》一书中,开篇第一章「我的安全世界观」里就提纲挈领的论述了安全的本质问题:
「安全问题的本质是信任的问题。」
以前我曾经很无耻的对朋友说,我要把这本书作为我的「开山立派」之作,系统的阐述我的安全观。其中最精华的就是这第一章,但我相信大多数从业人员都只对后面讲具体案例的部分感兴趣,这其实是捡了芝麻丢了西瓜。
如果按照「安全问题的本质是信任问题」来理解支付宝所面临的问题,就很好理解了。
网上的那篇文章主要的出发点在于控制了手机,则控制了支付宝账户里的一切,因为所有的业务(包括安全流程)都可以通过手机完成。
实际上,支付宝的安全模型在设计时,就默认将手机当成了所有「可信任」环节里的最后一环,它的优先级是高于其它「可信任」的参照物的。
设计任何安全方案,最终都必须要有一个东西是「假设可以信任的」,只是看这个「可信任」的东西被攻击成功的概率大小。如果不这么做,则做不出任何的安全方案。
比如说你买了一辆车,并拿到了遥控车钥匙,那么就得假设车锁和车钥匙是安全的。但其实遥控车钥匙并不安全,有很多偷车的盗贼都会记录遥控车钥匙发出的信号,等车主离开后就重放这个信号从而解锁。这就是打破了原本的信任假设。
回到支付宝的问题上来,之所以支付宝要把手机设定为「可信任环节里的最后一环」,原因就是因为以前用过的很多安全认证方式都发现不靠谱。网上那篇文章里提到的用邮箱验证、用数字证书等来解决支付宝的问题,却不知道这两样东西早就被黑客玩残了。邮箱就不说了,针对数字证书的木马很多年前就猖獗一时,所以支付宝后来才加上手机短信验证。
但其实手机认证在几年前也开始遇到挑战,甚至有一些欺诈案件,是骗子直接打电话给受害者,伪装成客服,询问受害者刚才接收到的手机验证码。受害者也经常会主动告诉骗子手机验证码,然后钱就被骗子转走了。
之所以今天这些问题突然引起高度关注,与「余额宝」强大的吸金能力分不开。用户们存在支付宝里的钱突然变多了很多,而且是成数量级增长,金额巨大,个别用户被盗几乎是必然的。而新闻媒体一旦把问题放大,就草木皆兵了。
支付宝一直在营造「你敢付,我敢赔」的形象。在网购早期,很多人不敢上网付钱,于是支付宝为了解决这个信任问题提出了这个口号。今天支付宝面临的问题本质是一样的,它开始遭遇信誉危机。我们可能越来越少开始听到「支付宝赔付成功」的消息。
如果是我来解决这个问题,会从这么几个方面入手:
首先,重新依靠邮箱认证、数字证书这些方式是历史的倒退。因此当手机已经不再可靠(数亿的用户,出问题是必然的,就算很小的比例也很可怕了)时,需要找到一个比手机更可信任的方式。
但今天支付宝可能没想清楚的是,当有金额巨大的客户上来时(比如百万元以上的用户),他的服务能力还没有对应的提高到VIP级别。这是和银行最大的区别。服务一个百万元以上的客户,与服务于一个只存了一百块的客户肯定要有不同的标准。
我记得有一次我用信用卡刷了几万元的消费,在两分钟内银行就马上打电话过来,和我进行人工确认。而这种服务能力是支付宝目前所缺少的。当系统做不到完美时,可以适当的引入人工服务来弥补。
(注:目前支付宝的解决方案是双因素,比如手机验证码加上身份证信息。但仍然不够强。)
其次,大额的提取应该有一些限制,一些异常行为也应该及时冻结。按道理这些「常规方法」都没什么必要老生常谈了,因为支付宝在用户行为的安全模型方面投入了上千台服务器的计算集群做这个事。但可能是因为用户基数太大,所以难免会有漏网之鱼。
最后,安全的最高境界就是卖保险。如何鼓励大用户把钱放上来呢?卖保险给他。支付宝应该及时申请保险行业的牌照和资质,对整个阿里系来说太有用了。就算弄不来,也可以找一家合作伙伴来提供保险服务,这样才能真正让用户放心。实际上「你敢付,我敢赔」的本质就是想解决用户的心理障碍,给用户上个保险。(注:刚查到支付宝在2013年4月已经与平安保险合作,提供理赔服务。但效果如何未体验。)
在去年7月份,我在黑板报上写过一篇「让支付简单一点」,吐槽了支付宝的安全产品设计越来越复杂,但却没有真正解决问题。一个个的堆叠安全功能是没有用的,理不清,剪还乱。回到开头提到的这篇文章来,知道我为什么说这可能是「微信的软文」了吧?因为支付宝要真信了这些建议,就被带到沟里去了。问题没解决,可能还把事情搞的更加复杂,最后用户体验只会越来越差。
(今日题图:SBN SiGORTA,作者:candas arin)
==== 道哥的黑板报 ====
走在创业道路上的文艺白帽子。
微博、知乎:aullik5
http://taosay.net
微信公号:道哥的黑板报,微信ID:taosay
建议继续学习:
扫一扫订阅我的微信号:IT技术博客大学习
- 作者:axis 来源: 道哥的黑板报
- 标签: 本质
- 发布时间:2014-02-18 12:49:39
- [52] 图书馆的世界纪录
- [52] IOS安全–浅谈关于IOS加固的几种方法
- [51] 如何拿下简短的域名
- [50] android 开发入门
- [49] Oracle MTS模式下 进程地址与会话信
- [49] Go Reflect 性能
- [47] 【社会化设计】自我(self)部分――欢迎区
- [45] 读书笔记-壹百度:百度十年千倍的29条法则
- [37] 程序员技术练级攻略
- [28] 视觉调整-设计师 vs. 逻辑