App暗箱操作获取用户信息?技术专家详解关联启动的秘密

  App 是否可能通过技术“暗箱操作”,在后台偷偷获取用户个人信息?App 监听、擅自读取用户照片等迷思多年来无法破除,往往处于用户深信不疑、企业又无法自证的尴尬境地。

  12 月 22 日,南都个人信息保护研究中心联合清华大学人工智能国际治理研究院、人工智能治理研究中心(清华大学)在北京举办 2022 啄木鸟数据治理论坛。在论坛个人信息保护专场上,北京汉华飞天信安科技有限公司总经理彭根对 App 合规中常受关注的存储、关联启动和后台获取三个技术点进行了剖析,揭开 App 和操作系统后台的秘密。

  对于用户来说,只需做到简单一步——使用新版本的操作系统,就能较好的保护 App 个人信息安全。彭根也建议开发者坚持告知与行为一致的原则,用更好的服务而不是技术来提高用户“保活率”。

  App 不一定要申请权限才能存储

  在 App 弹窗申请操作系统危险权限时,你会不会在点下同意前犹豫?谷歌定义危险权限接近 30 个,如麦克风、摄像头、联系人、定位,还包括电话和存储。

  许多用户担心,在给出存储权限后,手机 App 会擅自读取、删除手机里的其他文件。今年 11 月 12 日,有网友发现手机操作系统提示得物 App 删除他上传的维权证据视频,引发侵犯隐私的质疑。

  数据存储是几乎所有 App 都会用到的功能,但这是否意味着所有 App 都要申请存储权限?操作系统作出类似提示,是示警还是误报?

  “App 存储并不一定要申请权限,申请所得到的也并不是手机所有的存储权限。”彭根解释,安卓存储机制分为内部存储和外部存储,外部存储又分为私有目录和公有目录。每个 App 都在外部存储拥有自己的私有目录,只能在自己的目录下操作,安卓系统已经帮用户进行了单向拦截。

  彭根在论坛上的报告

  安卓 10 以上的操作系统使用了分区存储机制,对个人信息保护和用户体验都有质的提升。分区存储机制,指的是 App 读取自己创建的文件不需要再申请权限,其他 App 创建的文件需要读取权限。但如果要对其他 App 的文件做写入、删除等操作,则还需要用户二次确认和主动选择同意。这意味着,如果 App 要删除相册里的图片,即使它已经申请过了存储权限,还是得再次经过用户允许。

  彭根在论坛上的报告

  彭根建议,App 开发者将 targetSdkVersion 设置为大于等于 30,以使用 Android10 及以上版本的保护机制,让广大用户对存储空间的使用更放心、安心。

  用服务而非技术提高用户保活率

  关联启动,指的是开机自启动,或被其他应用唤醒连带启动。它常被诟病多个 App 后台运行、拖慢运行速度,或是频繁读取系统信息、甚至抓取用户隐私。

  彭根表示,关联启动现在仍然常用,是因为可以满足很多正常的业务需求。关联启动可以帮助 App 及时收到系统的信息,并通过预先加载提高打开速度。它还能实现在 App 间快速切换,例如购买东西后跳转到支付宝里支付,或是用高德地图打开定位。至于 App 的唤醒条件是否与其功能一致,则需要监管和应用市场加强审核。

  后台获取的应用场景也不少:在手机熄屏后,也可能需要播放音乐、导航、下载或导出文件等。为此,新版本操作系统新增了审核机制,用户一旦选择了“使用中读取”的选项,App 就无法在切屏后继续读取。App 的后台行为也会被新的操作系统可视化,增强对用户的告知提醒。

  彭根认为,开发者设计关联启动和后台运行,最终目的是为了 App“保活”:提高被用户使用的时间和频率,是 App 生存和提高商业估值的关键。他建议,App 用更好的服务来提高保活率,保证告知与行为一致,不要尝试一些不合规的“技术保活路线”,比如启动完全透明的界面、或在后台播放完全没有声音的音频文件。现在,随着操作系统的后台告知日益完善,这样的“小动作”已在用户面前无所遁形。

  对于手机用户,彭根建议尽量使用新版本的操作系统。“有些用户说升级完了不太好用,不太会用,但为了安全性和保护自己个人隐私这是有必要的,而且是用户成本最低的方法,没有学习成本。”

  采写:实习生程雨祺南都记者蒋琳