我正在开发一些限制在Root设备上运行的企业应用程序。
我正在使用这段代码来识别root访问权限,但它运行正常。
Determine if running on a rooted device
但是今天我开始知道我的安全团队使用Root Cloak打破了应用程序中的根检查。
我打算限制我的应用程序的访问权限如果设备上存在 Root Cloak 应用程序。但我觉得这不是一个好的解决方案,因为明天会有新的应用程序出现。
另外我在想如果Root Cloak可以添加或删除隐藏root访问权限的应用程序,我的应用程序就不能使用唯一的删除部分,当我首先启动我的应用程序时,它会使用某些部分删除隐藏的root访问权限。代码。
任何人都可以知道Root Cloak是如何做同样的事情以及可以解决这个问题的解决办法。
答案 0 :(得分:4)
或许会重新评估您为什么要阻止您的应用程序在root设备上运行。我知道防止root设备使用企业应用程序似乎是企业安全的灵丹妙药,但事实并非如此。请考虑这一点:解锁的引导加载程序,自定义恢复和S-OFF可能提供可能无法检测的方法来访问系统级数据。
如果您可以保证在有根电话上的数据安全性(相同程度),您将有更强的卖点。假设“无根”等同于“安全”是一种谬论,太多的组织和个人都会成为谬误。
(完全披露:我是RootCloak的创建者)
答案 1 :(得分:0)
如果限制仅仅是因为您需要某些功能,请考虑检查系统上是否存在该功能。
如果这是一个安全问题,那么如果不控制系统上安装的内容,您将永远不会拥有完美的安全性。有足够的时间/资源/威胁,大多数事情都可以被打破。
答案 2 :(得分:0)
清楚地写下安装手册最少状态需要有根设备。在受控企业环境中,可能需要遵循您提供的文档。
只需使用您必须执行的应用程序,并且需要root权限。如果有效,则设备已植根。如果不是,则在大多数情况下可以捕获错误状态。在此步骤显示错误消息。