Android 设备管理员 - 禁用未应用于(多用户) guest 帐户的相机

标签 android security android-camera mdm device-admin

我已经实现了一个设备管理员应用程序,它根据某些必要条件(服务器端逻辑)等禁用摄像头等。

   devicePolicyManager = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);
   devicePolicyAdmin = new ComponentName(this, MyDevicePolicyReceiver.class);
   devicePolicyManager.setCameraDisabled(devicePolicyAdmin, true);

一切都按预期工作。但是,用户可以通过简单地在支持多用户的电话模型中切换用户配置文件(例如切换到 guest 帐户)来规避限制。该帐户中的设备管理员列表也不会反射(reflect)该应用程序。根据公司政策,这被视为安全漏洞。

我想知道是否:

  1. 有没有具体的代码可以安装设备管理员 全局?
  2. 有什么方法可以防止多用户 以编程方式无需生根?
  3. 有什么方法可以 防止切换用户或检测用户切换等 发生了,1 或 2 应该是不可能的吗?

任何其他建议也将不胜感激。

最佳答案

(1) 根据我的研究,不可能创建一个对设备上的所有帐户都具有管理员访问权限的设备管理员。该线程中的评论/答案得出了相同的结论:https://android.stackexchange.com/q/138417

(2/3) 查看 DPM API 似乎无法阻止用户切换或创建新帐户或监听帐户切换。通过将 build.prop 修改为 fw.max_users=1 使您的设备生根,可以防止用户切换或创建新帐户,请参阅:https://android.stackexchange.com/a/119632https://www.reddit.com/r/Android/comments/323l36/android_5x_how_to_disable_guest_additional_user/

如果您因为时间/维护/安全问题而反对生根设备,我建议您查看移动设备管理工具。上面的评论提到了 Samsung Knox,它可以让您通过他们的 MultiUserManager 禁用设备上的多个用户。 .

您还可以使用 Mason通过关闭多用户来锁定您的设备/应用程序,防止用户下拉状态栏或访问设置,或将您的应用程序锁定在信息亭模式。

如果这听起来对您有用,请随时与我联系:trevor @ bymason.com

免责声明:我为 Mason 工作

关于Android 设备管理员 - 禁用未应用于(多用户) guest 帐户的相机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37872706/

相关文章:

string - 在不指定格式字符串的情况下执行 scanf 是什么样的漏洞?

java - Java 身份验证的替代方案是什么?

Android Media Recorder 无法在 Google Glass 上录制长视频

geolocation - 如何检测 Android 相机地理标记设置是否打开/关闭(EXIF 数据中的 GPS 信息)

android - 如何使用 intent 设置相机分辨率?

android - 如何使用 MediaMuxerTest(AndroidTestCase 文件)

android - 在 Android 上使用 GL_OES_get_program_binary(编译着色器)

java - 使用 livedata 压缩 4 个或更多异步调用

android - 在 Google Analytics(分析)上查看 AdMob 收入数据

java - 服务器遇到内部错误 (),导致无法完成此请求 - tomcat 服务器