safetynet解释说:为什么android pay和其他应用程序不能在根设备上运行

扎根你的Android设备可以让你访问更多种类的应用程序和更深入的Android系统。但有些应用程序,比如谷歌的Android Pay,根本无法在根设备上运行。...

safetynet解释说:为什么android pay和其他应用程序不能在根设备上运行

扎根你的Android设备可以让你访问更多种类的应用程序和更深入的Android系统。但有些应用程序,比如谷歌的Android Pay,根本无法在根设备上运行。

Google使用一种叫做SafetyNet的东西来检测你的设备是否有根目录,并阻止对这些功能的访问。谷歌也不是唯一的一家——很多第三方应用程序也无法在安卓设备上运行,尽管它们可能会通过其他方式检查root的存在。

安全网:谷歌如何知道你的安卓**已经扎根

相关报道:厌倦了信用卡被盗?使用Apple Pay或Android Pay

Android设备提供了一个“safetynetapi”,它是安装在Google认可的Android设备上的googleplay服务层的一部分。据Google称,这个API“提供对Google服务的访问,帮助您评估Android设备的健康和安全”。如果你是Android开发者,你可以在应用程序中调用这个API来检查你运行的设备是否被篡改。

此SafetyNet API旨在检查设备是否已被篡改,例如,是否已被用户根目录、是否正在运行自定义ROM或是否已感染低级恶意软件。

安装了谷歌Play Store和其他应用程序的设备必须通过谷歌Android“兼容性测试套件”。根一个设备或安装一个自定义ROM防止设备是“CTS兼容”。这就是safetynetapi如何判断您是否是根用户——它只检查CTS兼容性。同样地,如果你得到一个从未与谷歌应用程序一起提供的安卓设备——比如那些从中国工厂直接发货的价值20美元的平板电脑中的一款——它根本不会被认为是“CTS兼容”的,即使你还没有把它扎根。

为了获得这些信息,googleplay服务下载了一个名为“snet”的程序,并在你设备的后台运行它。这个程序从你的设备收集数据,并定期发送给谷歌。谷歌将这些信息用于各种目的,从了解更广泛的Android生态系统到确定你的设备软件是否被篡改。Google没有解释snet到底在寻找什么,但是snet很可能会检查您的系统分区是否已经从出厂状态修改过。

您可以通过下载像SafetyNet Helper Sample或SafetyNet Playground这样的应用程序来检查设备的SafetyNet状态。该应用程序将询问谷歌的SafetyNet服务有关你的设备状态,并告诉你它从谷歌服务器得到的响应。

有关更多技术细节,请阅读由软件安全公司Cigital的技术策略师johnkozyrakis撰写的博客文章。他深入研究了SafetyNet,并进一步解释了它的工作原理。

safetynet解释说:为什么android pay和其他应用程序不能在根设备上运行

由应用程序决定

SafetyNet对于应用程序开发人员是可选的,应用程序开发人员可以选择是否使用它。只有当应用程序的开发者不希望它在根设备上工作时,SafetyNet才会阻止它工作。

大多数应用程序根本不会检查SafetyNet API。即使是检查了safetynetapi的应用程序,比如上面的测试应用程序,如果收到错误的响应,也不会停止工作。应用程序的开发人员必须检查SafetyNet API,并使应用程序拒绝运行,如果它知道你的设备的软件已被修改。谷歌自己的Android支付应用就是一个很好的例子。

android pay在根设备上不起作用

谷歌的Android支付移动支付解决方案在植根的Android设备上根本不起作用。试着启动它,你会看到一条消息说“Android Pay不能使用。谷歌无法验证您的设备或其上运行的软件是否与Android兼容。”

当然,这不仅仅是关于根的问题——运行一个定制的ROM也会让你违反这个要求。如果你使用的是设备没有附带的定制ROM,safetynetapi会声称它与Android不兼容。

safetynet解释说:为什么android pay和其他应用程序不能在根设备上运行

相关报道:针对Root的案例:为什么Android设备没有扎根

记住,这不仅仅是检测根。如果你的设备被一些系统级恶意软件感染,这些恶意软件能够监视Android Pay和其他应用程序,SafetyNet API也会阻止Android Pay正常运行,这是一件好事。

扎根你的设备打破了Android的正常安全模式。Android Pay通常使用Android的沙盒功能来保护你的支付数据,但应用程序可以在根设备上突破沙盒。谷歌无法知道Android Pay在某个特定设备上的安全性,如果该设备是根设备或者运行一个未知的自定义ROM,那么他们会阻止它。一位Android支付工程师在XDA开发者论坛上解释了这个问题,如果你想了解更多的话。

应用程序检测根目录的其他方法

SafetyNet只是应用程序检查是否在根设备上运行的一种方法。例如,三星设备包括一个名为KNOX的安全系统。如果你根你的设备,诺克斯安全是绊倒。三星自己的移动支付应用程序Samsung Pay将拒绝在根设备上运行。三星正在为此使用KNOX,但它也可以使用SafetyNet。

类似地,很多第三方应用程序会阻止你使用它们,而且并不是所有的应用程序都使用SafetyNet。他们可能只是检查设备上是否存在已知的根应用程序和进程。

很难找到一个最新的应用程序列表,这些应用程序在设备根目录下不工作。但是,root斗篷提供了几个列表。这些名单可能已经过时了,但它们是我们能找到的最好的。许多是银行和其他移动钱包应用程序,它们阻止根**上的访问,试图保护你的银行信息不被其他应用程序捕获。用于视频流服务的应用程序也可能拒绝在根设备上运行,作为一种DRM措施,试图阻止您录制受保护的视频流。

有些应用程序可能会被欺骗

谷歌正在和SafetyNet玩一个猫捉老鼠的游戏,不断更新它,试图在人们绕过它之前保持领先。例如,Android开发者Chainfire创建了一种新方法,即“无系统根(systemlessroot)”,它可以在不修改系统分区的情况下为Android设备建立根。SafetyNet最初并没有检测到这样的设备被篡改,Android Pay也起了作用——但SafetyNet最终被更新以检测这种新的根方法。这意味着Android Pay不再与无系统root一起工作。

相关:忘记闪烁的rom:使用Xposed框架调整你的Android

根据应用程序检查根访问权限的方式,您可以欺骗它。例如,据报道,有一些方法可以在不破坏KNOX安全性的情况下为一些三星设备设置根目录,从而允许您继续使用Samsung Pay。

对于只检查系统上根应用程序的应用程序,有一个名为root斗篷的Xposed框架模块,据说它允许你欺骗它们,使它们无论如何都能工作。这适用于DirecTV GenieGo、Best Buy CinemaNow和Flixster的电影等应用程序,这些应用程序通常不适用于根设备。然而,如果这些应用程序被更新为使用谷歌的SafetyNet,它们就不会这么容易被欺骗。

safetynet解释说:为什么android pay和其他应用程序不能在根设备上运行


大多数应用程序将继续正常工作,一旦你根你的设备。**支付应用是个大例外,其他一些银行和金融应用也是如此。付费视频流服务有时也会试图阻止你观看他们的视频。

如果您需要的应用程序在您的根设备上无法运行,您可以随时取消根设备以使用它。应用程序应该在你将设备恢复到安全的出厂状态后工作。

图片来源:Danny Choo在Flickr上

  • 发表于 2021-04-10 00:18
  • 阅读 ( 282 )
  • 分类:互联网

你可能感兴趣的文章

这是让你的android设备根目录的最好方法

植根(Rooting)是一个允许系统级访问某些应用程序和实用程序的过程,长期以来一直是Android爱好者和超级用户体验的一部分。 ...

  • 发布于 2021-03-14 03:22
  • 阅读 ( 366 )

netflix在根机器人上不再可用

...非法扎根或解锁,您可能无法再从谷歌Play商店下载Netflix应用程序。如果你已经在你的设备上安装了Netflix应用程序,它应该仍然可以工作,但它随时可能停止工作。 ...

  • 发布于 2021-03-14 17:09
  • 阅读 ( 139 )

你还需要根你的android手机吗?

...悖的。扎根使您能够使用像FlashFire或ROM管理器这样的flash应用程序,而定制ROM通常是预先扎根的。 ...

  • 发布于 2021-03-14 22:47
  • 阅读 ( 222 )

你是quadroot曝光的9亿android用户之一吗?

... 与去年的StageFlight bug不同,QuadRoot实际上需要安装恶意应用程序,很可能是在启用了来自“未知来源”的应用程序安装之后。除此之外,正如Google在其声明中指出的(您可以在下一节中阅读),Android的“验证应用程序”功能...

  • 发布于 2021-03-17 16:43
  • 阅读 ( 149 )

你的智能手机有一个特殊的安全芯片。下面是它的工作原理

...的微型操作系统。 你的**的常规操作系统和运行在上面的应用程序无法在安全区域内看到。这样可以保护安全区域不被篡改,并让安全区域执行各种有用的操作。 它是一个独立的处理器 所有这些芯片的工作方式略有不同。在...

  • 发布于 2021-04-04 07:42
  • 阅读 ( 566 )

支持android已经不值得了

...问根权限。其实很简单,这些权限并没有授予普通用户和应用程序,所以你必须做一些特殊的工作才能获得它们。 那么,你能用一个有根的**做什么呢?很多东西!如果你发现你的**在某种程度上限制了你,或者发现你自己在说...

  • 发布于 2021-04-06 20:37
  • 阅读 ( 156 )

如何使用magisk来创建你的android手机(让android pay和netflix再次工作)

...装Magisk管理器,您应该从上面的XDA线程下载它。在安装此应用程序之前,您需要启用未知源。跳转到“设置”>“安全”>“未知源”,单击切换并接受警告。 之后,如果您直接在**上下载Magisk Manager,则可以从下载文件夹中...

  • 发布于 2021-04-07 12:35
  • 阅读 ( 228 )

android上的“无系统根”是什么,为什么更好?

...单得多。 相关报道:SafetyNet解释:为什么Android Pay和其他应用程序不能在根设备上工作 当然,最后一点是一把双刃剑,因为有些用户更愿意在工厂重置设备后保持根目录,好消息是,只需要重新闪存适当的超级U文件才能重新获...

  • 发布于 2021-04-07 16:00
  • 阅读 ( 144 )

如何使用supersu和twrp来创建android手机的根目录

如果你真的想深入研究Android系统,你可能会发现有些应用程序需要root访问。这些年来,Rooting已经变得不那么必要了,但是如果你想运行某些类型的应用程序,它仍然很有用。下面是支持最广泛的设备根目录方法,以及您可能...

  • 发布于 2021-04-09 02:57
  • 阅读 ( 219 )

越狱、寻根和解锁有什么区别?

...认情况下,Windows RT系统只允许您运行Microsoft编写的桌面应用程序。)但是,必须为ARM编译桌面应用程序,因此您不能运行任何现有的Windows桌面程序,尽管可以为ARM上的Windows桌面调整和重新编译开源应用程序。 像苹果和微软这...

  • 发布于 2021-04-10 00:25
  • 阅读 ( 283 )
k30150746994
k30150746994

0 篇文章

相关推荐