如何在Android设备上安全运行不信任的应用程序而不授予权限访问本地存储?

7次阅读
没有评论

问题描述

需要在一个具有网络访问权限的物联网控制Android应用程序上操作,并且该应用要求能够访问本地媒体文件。由于对这个应用完全不信任,因此不能授予它访问这些文件的权限。用户想知道是否有某种容器技术能运行此应用,使其在仅能看到“空存储”的环境中执行。

解决方案

方案1:使用Android多用户功能中的工作用户

  1. 背景介绍
    Android 10及以上版本引入了新的多用户功能,可以在设备上创建一个虚拟的用户环境。这样,开发者可以为不信任的应用创建一个新的用户账户,限制其访问权限。

  2. 实施步骤

  3. 在设置中进入“辅助功能”(Accessibility)菜单。
  4. 启用“虚拟用户”或“工作用户”(Work Profile),并为新用户的密码设置一个强大的密码。
  5. 安装需要测试的应用,并允许其在新用户账户下运行。

  6. 注意事项

  7. 工作用户可能不支持所有功能。
  8. 目前尚不确定此方法是否能完全隔离应用,使其无法访问设备上的SD卡内容。
  9. 特别是用于Pixel 5机型,在启用这种模式后,任何内置存储的文件将被隔离,并且安装的应用也只能在这个工作环境中运行。

方案2:考虑使用第三方沙盒应用程序

  1. 背景介绍
    存在一些第三方应用解决方案,如Izzy软文中提到的Shelter和Insular,这些应用利用Android的工作用户功能来创建一个孤立的“工作环境”,从而帮助防止恶意软件攻击。

  2. 实施步骤

  3. 通过Google Play商店或F-Droid等可信来源下载并安装上述应用。
  4. 在提供的设置中将目标应用程序移动到一个新创建的工作空间内,以限制其对设备资源的访问权限。

  5. 注意事项

  6. 这些应用尚未经过大规模用户测试,因此具体效果和安全性可能需要进一步验证。
  7. 应确保只有可以在信任源获取的应用被放在此类沙盒环境中。

总结

虽然上述解决方案提供了一定程度的空间隔离来保护设备的安全性,但最终仍然建议只从经过验证的来源(如F-Droid或官方Play商店)下载和安装应用程序,并保持对未知应用的信任级别降低。此外,在启用任何此类功能之前,请务必定期备份重要数据并了解所有可能影响的功能限制。

如果您选择自行测试以上解决方案且发现其有效,请考虑针对您的情况填写“自问自答”以供社区参考。希望这对用户而言是一种可行的方法来处理不信任的应用程序,同时也保护其设备免受不必要的安全风险。

正文完