android中的根检测方法无法绕过

时间:2014-12-04 10:30:17

标签: android security root su

我知道在根设备上运行拥有敏感信息的应用根本不安全。因此,开发人员通常会在这种情况下进行根检测,如果设备找不到根,那么该应用程序将无法安装。一切都好。

开发人员在根检测中使用的主要技术是检查superuser.apk文件,检查chainfire,busybox,执行su命令等。但攻击者可以通过多种方式绕过这些检查,例如将superuser.apk重命名为superuser0.apk。

所以我正在寻找的是针对此问题的独特解决方案,攻击者无法绕过根检测检查。即使这样的解决方案不存在,请分享您的观点。因为你们的解决方案可能有助于至少强化根检测代码。

3 个答案:

答案 0 :(得分:4)

有一个名为rootbeera sample app的开源库,它执行以下检查以检测root。

  • CheckRootManagementApps
  • CheckPotentiallyDangerousAppss
  • CheckRootCloakingApps
  • CheckTestKeys
  • checkForDangerousProps
  • checkForBusyBoxBinary
  • checkForSuBinary
  • checkSuExists
  • checkForRWSystem

答案 1 :(得分:2)

据我所知,没有“单一解决方案”,但您需要检查最常见的事情。以下文章也很有用: https://blog.netspi.com/android-root-detection-techniques/

以下是一些提示......以及你不应该做的事情: Determine if running on a rooted device

答案 2 :(得分:1)

查看Google的SafetyNet服务: https://developer.android.com/google/play/safetynet/index.html

它将进行一些检查以验证设备是否安全并生成可以验证的结果。结果作为JSON Web签名返回,您可以在应用程序中阅读,但为了提供额外的保证,您还可以将此结果发送到您设法让它直接与Google验证结果的服务器。

https://developer.android.com/google/play/safetynet/start.html

我认为这不会在Android的非谷歌版本(来自Cyanogen)上运行,所以要记住这一点。