分享

AAA苹果手机惊现重大漏洞可劫持支付宝和微信支付账号密码

 成功是什么 2015-03-26
2015-03-25 银联江西

银联江西


文章作者@蒸米spark是来自香港中文大学的博士生,他为了证明这一漏洞,制作了用URLScheme设计漏洞劫持微信/支付宝账号密码的Demo。作者声明该漏洞是iOS系统漏洞,和支付宝、微信App无关,只是拿支付宝和微信作为演示漏洞的应用,其他应用同样可以中招,转发者请勿断章取义。


首先来看 demo: 在未越狱的 iPhone6(iOS 8.2)上盗取支付宝账号密码









 原理:

在 iOS 上,一个应用可以将其自身”绑定”到一个自定义 URL Scheme 上,该 scheme 用于 从浏览器或其他应用中启动该应用。这个设计非常类似于 android 上的 broadcast 和 broadcast receiver,但远远没有 android 上的复杂。美团利用支付宝付款的整个过程如图一所示:美团 首先将订单信息通过 URL Scheme 发送给 Alipay,Alipay 收到订单信息,调用支付界面,用户 在 Alipay 上完成支付后,Alipay 再发送一个 URL Scheme 给美团,美团收到付款信息后,显 示团购成功的界面。

图一、正常支付流程

但因为 URL scheme 这个机制太简单了,完全没有考虑有多个 app 声明同一个 URL Scheme 的情况,也没有权限管理之类的方案。在 iOS 官方说明中:“在多个应用程序注册了同一种 URLScheme 的时候,iOS 系统程序的优先级高于第三方开发程序。但是如果一种URLScheme 的注册应用程序都是第三方开发的,那么这些程序的优先级关系是不确定的。”实际上,经 过我们的测试,这个顺序是和 Bundle ID 有关的,如果精心构造 Bundle ID,iOS 总是会调用 我们 app 的 URL Scheme 去接收相应的 URL Scheme 请求。那么问题来了,如果我们精心构 造一个 app 并声明“alipay”这个 URL Scheme 会怎么样呢?

结果就如 demo 中所演示的那样,后安装的 FakeAlipay 应用劫持了美团与支付宝之间的支付 流程,并且可以在用户毫无意识情况下获取用户的账号,支付密码,以及帮用户完成支付。 整个过程如图二所示:FakeAlipay 在收到美团发来的订单信息后,构造了一个和支付宝一样 的登陆界面,用户在输入了账号密码后,FakeAlipay 会把账号密码以及订单信息发送到黑客 的服务器上,黑客在获得了这些信息后,可以在自己的 iOS 设备上完成支付,并把支付成功 的 URL Scheme 信息发回给 FakeAlipay,FakeAlipay 再把支付成功的 URL Scheme 信息转发给 美团。因为时间原因,demo 做得比较粗糙,没有做转发信息给美团这一部分的演示,但绝 对是可行的。

图二、劫持后的支付流程

这种攻击可以成功的原因除了 iOS 本身的漏洞外,支付宝也有一定的责任。那就是发给支付 宝的订单信息并不是绑定当前设备的。因为这个原因,黑客可以在其他的 iOS 设备上完成支 付。 同样是因为不绑定当前设备的问题,黑客甚至可以先在自己的设备上生成好订单,然 后在用户打开支付宝支付的时候把订单替换掉,让用户给黑客的订单买单。

0x03 DEMO 细节分析(微信)


基本上和支付宝一样,不过支付时只需要提供 6 位支付密码,如 果想要得到微信账号密码的话,还需要构造一个假的登陆界面。当然了,你可能会说有短信 验证,但是如果整个登录界面都是伪造的话,用户也会乖乖的帮你输入短信验证码的。并且, 在 iOS 8.1 之前,iOS 的短信也存在监控漏洞,具体请参考我们 ASIACCS 的论文。


作者建议:

  作者在文章中表示该漏洞利用简单,修复却非常复杂,所以在iOS8.2上还是未能修复。但他还是提出了几点建议让开发者参考:

  1.苹果可以限制iOS应用不能注册别的应用的BundleID作为URLScheme。这样的话,使用自己的BundleID作为URLScheme的接收器就会变的安全很多。

  2.第三方应用可以通过①给自己发送URLScheme请求来证明没有被劫持,如果没有收到自己的URLScheme,就可以及时给用户发送提醒;②利用MobileCoreServices服务中的applicationsAvailableForHandlingURLScheme()来检测所有注册了该URLSchemes的应用和处理顺序,从而检测自己、或者别人的URLScheme是否被劫持。

  具体原文和视频可以>>跳转阅读,希望借助这样的一个漏洞报告能够让大家提高警惕,同时让苹果做出回应,从系统上解决这一问题。APP开发商也要从自身考虑引入安全机制,不能完全依赖苹果


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多