我们必须在拥有root用户访问权限及其带来的所有好处


点按 工资 。做完了 如果您是运行4.4+版本且支持NFC功能的Android手机的所有者,那么您可能听说过Android Pay 。该应用程序支持添加来自许多不同的卡,并且可以在许多主要零售商中使用,并且设置起来也非常容易 。Google实际上 要求 您注册!
也就是说,除非您是拥有根设备的高级用户 。对于我们来说,我们必须在拥有root用户访问权限及其带来的所有好处(广告拦截,主题设置,Xposed等)与使用Android Pay之间进行选择 。Google表示,限制root用户的Android Pay访问权限是一项预防措施,可防止任何可能的财务安全漏洞 。
尽管该平台可以并且应该继续在对开发人员友好的环境中蓬勃发展,但是我们必须确保少数应用程序(不属于该平台的一部分)可以确保Android的安全模型是完整的 。
这种“确保”是由Android Pay甚至第三方应用程序通过SafetyNet API来完成的 。众所周知,当涉及到付款凭证和(通过代理人)真钱时,像我这样的安全人员会格外紧张 。我和我在支付行业的同行们进行了长时间的艰苦研究,研究如何确保Android Pay在具有良好文档集的API和安全模型的设备上运行 。
我们得出的结论是,对Android Pay而言,这样做的唯一方法是确保Android设备通过兼容性测试套件,其中包括对安全模型的检查 。较早的Google电子钱包自付费用服务的结构有所不同,使电子钱包能够在付款授权之前独立评估每笔交易的风险 。相比之下,在Android Pay中,我们与支付网络和合作以对您的实际卡信息进行令牌化,并且仅将此令牌信息传递给商家 。然后,商人清除这些交易,例如购买传统卡 。我知道你们中的许多人都是专家和高级用户,但需要注意的是,我们真的没有一个很好的方法来阐明特定开发者设备对整个支付生态系统的安全差异,或者确定您个人是否可能拥有采取了针对攻击的特别对策-实际上许多人是不会采取的 。– Google的安全工程师 jasondclinton_google 在我们的论坛上发言
幸运的是,XDA总是能找到一种方法(尽管这次是无意的) 。通过在不对/ system分区进行修改的情况下对设备进行生根(即 XDA高级认可的开发人员和Developer Admin Chainfire的无系统根),用户可以绕过根限制并 访问Android Pay 。但是,Chainfire 在Google+帖子中提到,此“修复”仅是“偶然,而非设计原因,Android Pay将进行更新以阻止它 。” 在无系统生根方法发布91天后,看来Google终于介入并更新了他们的SafetyNet API 。
你好黑暗,我的老朋友
Reddit 和 我们自己的论坛上有几份报告,其中最新的SafetyNet检查可检测到无系统的root用户,这意味着您无法再将Android Pay与root用户设备一起使用 。如果您是Android Pay用户,且其设备使用无系统root方法植根,那么您可能会注意到该应用仍会为您打开,并且您会遭到拒绝(我知道,这很难接受……),但不幸的是,真正 。Android Pay仅在首次安装和打开应用程序,添加新卡以及进行交易时检查您的设备是否通过了兼容设备套件 。我们论坛上的用户注意到,该应用程序可能会给您绿色的勾号,使您误以为它可以工作,但可惜,不,交易将不再处理 。
但是,并不是所有的东西都丢失了 。幸运的是,您可以在购买前从SuperSu应用程序禁用su,以暂时允许您的设备通过CTS检查 。然后,在您完成购买后,您可以打开SuperSu应用程序,忽略“更新二进制文件”弹出窗口,然后重新启用su 。带来的不便是肯定的,但是至少您仍然可以享受您的Xposed模块 在您的手机上购物时使用广告拦截器 。
【我们必须在拥有root用户访问权限及其带来的所有好处】

    推荐阅读