0

    拼多多远程删除用户照片?你给予App的权限比你想象中更多

    2023.06.01 | admin | 143次围观

    1月12日,有网友爆料称,自己在参加拼多多“邀请新用户,返现一百元”活动时,按要求完成了任务,却未能获得相应的现金奖励。

    拼多多App返现活动|沸点视频

    于是该网友找到拼多多客服,称自己有全程录像和重要截图作为证据,要求拼多多兑现承诺。但让该网友意想不到的是,随后手机系统弹出提示:“检测到‘拼多多’已删除照片或视频。”,手机中的上述取证照片被删除sd卡上的文件无法删除,出现在“最近删除”的文件夹内。

    检测到拼多多已删除照片或视频|沸点视频

    对此,该网友认为是拼多多App远程删除了自己手机上的证据照片。当晚,拼多多在官方微博发表了《关于个别用户反馈“vivo手机提示拼多多删除照片”的说明》回应称,只是删除缓存,因为手机与App的逻辑问题,导致手机系统误认为删除了照片,拼多多绝不会主动删除任何用户保存的图片。

    拼多多说明|新浪微博@拼多多

    无独有偶,早在2020年5月份,腾讯QQ就被曝出App偷偷删除用户照片的新闻,官方给出的回应同样是删除缓存文件。

    QQ回应偷偷删除用户照片|新浪微博@中国新闻网

    App真的可以“擅自”

    删除用户手机中的文件吗?

    从开发的角度分析,在Android 10之前版本的系统中,App的确可以在已获取写入权限的情况下,删除用户手机存储中的照片等文件,并且无需提示用户。

    笔者在实测中,首次打开一个新下载安装的App,该App会弹窗向用户申请权限。

    App弹窗向用户申请权限|华为Mate 30 Pro 5G,Android 10

    如上图所示,App普遍都需要获取手机的存储权限。但是,对于请求用户授权的存储权限中具体包括什么、授权后App可以进行哪些操作等,在弹窗显示的内容中却并没有明确的说明。

    许多普通用户不知情的是,存储权限实际上同时包含了读取权限和写入权限:

    group:android.permission-group.STORAGE //文件存储分组  permission:android.permission.READ_EXTERNAL_STORAGE //读取文件权限  permission:android.permission.WRITE_EXTERNAL_STORAGE //写入文件权限

    左右滑动查看完整内容

    其中的写入权限除了保障App提供更新、升级、缓存等功能之外,还允许App对文件进行删除操作。当用户允许了App的存储权限时,其实已经赋予了App对外部存储中文件的删除操作权限,且在Android 10之前版本的系统中,App删除文件时无需用户再次确认授权。

    另一种申请写入存储权限的弹窗请求通常会表述为“是否允许某App访问您设备上的照片、媒体内容和文件?”。但在普通用户理解中,“访问”仅仅指的是“读取”的权限,而并不包括能够删除数据的“写入”权限。

    App弹窗向用户申请写入媒体存储权限|华为Mate 30 Pro 5G,Android 10

    只有在应用权限管理的页面中点击“查看所有权限”,用户才能看到每一个权限经用户授权后可以进行的具体操作,如存储权限,不仅可以读取存储卡中的内容,还可以修改或删除SD卡中的内容。

    点击“查看所有权限”才能看到每个权限经用户授权后可以进行的操作|华为Mate 30 Pro 5G,Android 10

    除此之外,在手机设置里的应用权限管理页面中,用户也仅能选择“允许”或“禁止”该权限,而无法分别就“读取”和“写入”功能进行授权。

    手机设置内的应用权限管理页面|华为Mate 30 Pro 5G,Android 10

    由于普通用户与App开发者的信息不对等、部分App过度索权等问题,针对隐私权限的矛盾不可避免地爆发了。如何在不影响App功能正常使用的情况下,同时不损害用户权益,是App开发过程中的恒久难题。

    Android权限的变更

    在Android 6.0之前,用户安装App时必须同意开发者添加的所有权限才能成功安装使用该App,无法单独对某项权限进行授权或拒绝,而开发者只要在AndroidManifest.xml清单文件中声明所要使用的权限即可。用户要想使用该App,只能选择妥协,而这样的妥协就完全把个人隐私暴露在了App面前。

    拼多多远程删除用户照片?你给予App的权限比你想象中更多

    版权引用:“Privacy settings” 由 Sergio Ingravalle 授权许可 CC协议

    因此,出于对手机用户更安全的机制考虑,从Android 6.0 之后(targetSdkVersion SDK 23之上)的版本开始,Google将权限分为了普通权限和危险权限。危险权限涵盖了应用需要涉及用户隐私信息的数据或资源,或者可能对用户存储的数据或其他应用的操作产生影响的区域。若应用声明其需要使用可能影响用户隐私的危险权限,需要动态申请权限,必须用户明确向应用手动授予权限才可以,仅在AndroidManifest.xml 中申请权限是不够的。

    Android危险权限组与危险权限

    在Android 10之后,为了让用户更好地控制应用对位置信息的访问权限,引入了 ACCESS_BACKGROUND_LOCATION 权限,影响应用在后台运行时对位置信息的访问权限,给予了用户在“允许”和“拒绝”之外的另一个选择:“仅在使用应用程序时允许”。

    应用权限管理中的位置信息权限,可选择“仅使用期间允许”|华为Mate 30 Pro 5G,Android 10

    从Android 11开始,新增了“单次授权”的机制。每当应用请求与位置信息、麦克风或摄像头相关的权限时,面向用户的权限对话框会包含仅限这一次选项。如果用户在对话框中选择此选项,系统会向应用授予临时的单次授权。而且当该应用数月未使用时,系统会通过自动重置用户已授予应用的运行时敏感权限来保护用户数据。

    Android申请使用麦克风的权限对话框|图源:网络

    除此之外,Android 11之后的版本还强制执行分区存储机制。此机制规定了:App访问读写自己应用目录的文件时,无需任何权限;而即使已经拥有读取外部存储权限,也无法访问其他应用创建添加的非媒体文件。若App需要读写所有共享存储内容,则需要向Google申请MANAGE_EXTERNAL_STORAGE 权限,并在被审核通过加入白名单后,才能向用户声明索取除了其他应用的应用专属目录 (app-specific directory)之外的所有文件的访问权限。从某种程度上来说,分区存储机制的强制执行在保障用户拥有完整的控制权的同时,大大限制了App对用户手机存储中敏感文件的操作权限。

    纵观Android的版本更迭,一些关于权限的变更还是令人欣慰,然而目前Android的权限机制做得还远远不够,用户的声音需要被听到。

    我们能做什么?

    在当前这个数字经济时代sd卡上的文件无法删除,个人的信息安全和隐私正在遭受前所未有的威胁。2018年11月28日,中国消费者协会通报了100款App个人信息收集与隐私政策测评情况。其中,59款App涉嫌过度收集“位置信息”,28款App涉嫌过度收集“通讯录信息”,23款App涉嫌过度收集“身份信息”,22款App涉嫌过度收集“手机号码”等。App过度索权而导致的各类问题已成事实。虽然很多事情仍在发酵,暂无定论,但是个人信息安全风险在这些事件中已十分突出——一旦用户赋予了权限,App就有能力获取手机中存储的数据,包括但不限于相机照片、视频、录音、短信、联系人等信息。

    图源:pexels

    那么在这种因为需要使用功能而不得不给予App相关权限的情况下,我们能做些什么呢?

    首先,从用户层面考虑,熟悉App本身的功能、不从未知来源下载App则是最基本的要求。当然,很多常用的App也存在过度索权的问题,那么在安装和使用App的过程中,一定要仔细了解每个权限的作用,对于每一个权限的“允许”都要小心谨慎,有的权限可以在不需要使用后自行去系统设置里进行关闭。

    此外,保持手机系统的更新也是十分必要的。正如上文所提到的,手机系统版本的不同会使得系统对App使用权限的控制能力有所不同。安卓系统自身的更新以及手机厂商对系统的改进都会对用户的个人信息做到更好的防护。

    图源:Pixabay

    其次,从开发者角度出发,开发App的过程中一定要秉承着最小权限的原则,严格遵守相关的安全开发规范,不申请、不使用非必要的权限。App执行删除这种敏感操作时需要写入动态权限实行单次授权,明确提示用户。

    从行业监管和国家层面考虑,我们不能指望每个用户都是专家,也不能单纯地寄希望于企业和开发者的自律,从法律法规和权限使用标准上入手才能够起到足够的限制和震慑作用,如明确规定细化授权方式,读写分开授权等。归根结底要让用户回归到使用App本身,而不是使用户时常担心App是否窃取了自己的隐私。

    最后,此次事件的曝光本身也提供了一个值得参考的防范思路:通过手机系统或者第三方安全软件对App使用敏感权限时进行适当提醒的方式,将App置于大众的监督之下,更好地约束其行为。

    撰稿|虞珍妮、王聪丽、殷铭

    编辑|虞珍妮

    特别感谢|王俊 提供的安卓专业知识解答与帮助

    部分信息来源:Google 中国官方账号 @谷歌开发者

    翼安研习社

    微信号|YiAnSociety

    知乎|翼安研习社

    抖音|翼安研习社

    CSDN|翼安研习社

    新浪微博|翼安研习社

    今日头条|翼安研习社

    版权声明

    本文仅代表作者观点。
    本文系作者授权发表,未经许可,不得转载。

    发表评论