还有疑问?

马上发起在线咨询,专业律师快速回复你的问题

立即咨询

手机黑灰产专题研究(一)安卓手机特殊权限、App及SDK开发者风险与应对

2023-07-17 13:21:31   6109次查看

      在移动互联网时代,人们对手机的依赖已经超出想象,一刻都不放下手机似乎成为了一种习惯。而在手机系统市场中,谷歌公司所开发的安卓系统具有较强的开放性,占据了相当大的市场份额。也正是由于这种开放性特点,也被许多软件开发者盯上,利用免费App向用户索取各种各样的权限,再将用户流量以各种方式进行变现。随着《数据安全法》、《个人信息保护法》等法律的颁布的实施,以及公安部“净网行动”、工信部针对App侵害用户权益专项清理行动的持续开展,在赋予互联网大厂和App开发者更多的义务的同时,手机黑灰产业自然成为了其中一项重要打击面。

一、安卓系统的特殊权限—无障碍服务

      安卓系统权限一般可分为Normal和Dangerous不同等级。其中Normal为普通权限,例如App申请使用网络连接、与蓝牙配对等,由于风险较小,只需要在Manifest中予以声明即可取得系统授权。Dangerous为敏感权限,例如App申请访问相机、麦克风、联系人信息等,由于已经涉及用户隐私信息的数据或资源,出于保护用户之目的,该类权限除在声明同时,还需要手动申请,用户在弹窗点击确认之后才能获取到相应权限。除此以外,还存在Signature\System等特别权限,如android.permission.BIND_ACCESSIBILITY_SERVICE(无障碍服务)、android.permission.BIND_DEVICE_ADMIN(设备管理器)等,由于其系统权限之高、功能之强大,安卓官方规定了更高的权限等级。而这其中以安卓无障碍服务(权限)为代表,成为手机黑灰产业中的关键技术手段。

(一)无障碍服务的功能

      据安卓系统官方介绍,考虑到一些用户不能很好地使用安卓设备,比如由于视力、身体条件等方面的限制,造成阅读内容、触控操作、声音信息等方面的获取困难,因此而提供了Accessibility特性和服务以便于协助他们更好的操作手机,在国内更普遍地被称为无障碍服务。该项服务主要功能有三点:收集信息、对无障碍事件作出响应、以及为用户执行操作。通俗的说,其可以获取用户正在运行的App信息、用户进行的点击、长按等动作、读取通知栏信息,同时代替用户对手机进行操作。换言之,无障碍服务可以获取手机的全部信息、并实现用户手动能够完成的全部操作。可见,无障碍服务是一项权限非常高的应用程序接口,也正因此,安卓官方强制规定无障碍权限必须由用户在应用管理中手动确认开启。

      尽管无障碍服务最初设计用于更好的服务残障用户或暂时无法与设备进行全面互动的用户,但随着市场需求的变化,该项功能也有了许多新的应用场景与拓展。例如著名的“李跳跳”App,可协助用户在打开任意App时自动点击开屏广告的“跳过”按钮,被很多安卓设备用户奉为必备软件。

(二)App或SDK使用无障碍服务的风险

      无障碍服务在带给我们极大便利的同时,也存在较大风险。根据前述功能,获取到安卓无障碍权限的App在技术上具备了完全控制用户手机的可能,其风险主要存在于两个方面。

      首先,在用户授权App使用无障碍权限的场景中,可能存在对于第三方计算机信息系统的侵害。以较为著名的“自动抢红包”类软件为例,其原理是在获取到无障碍权限后,对于微信、QQ软件进行监控实现获取他人发红包的信息,进而模拟用户操作实现自动抢红包的功能。在(2019)闽08刑终119号刘某某等人提供侵入、非法控制计算机信息系统程序、工具案中,涉案软件被鉴定为“未经微信授权通过Android‘无障碍’功能增加了‘自动抢红包’的功能,对微信抢红包的流程进行了干扰,属于破坏性程序”。在(2021)浙01民终10310号腾讯计算机系统有限公司诉杭州百豪科技有限公司等公司不正当竞争案中,涉案软件调用安卓系统为开发者提供的无障碍服务和通知使用权服务,通过监听、控制或者自动点击屏幕的功能实现自动抢红包,妨碍QQ产品或者服务的正常运行,扰乱了市场竞争秩序,应属不正当竞争行为。两起案件中的App可能在具体功能部署上存在区别,但违法风险已清晰可见。

      其次,在骗取用户授权以及超越用户授权的场景中,可能存在对于用户手机设备的非法控制。从技术原理上说,无障碍权限完全具备对于用户手机进行控制的能力,故是否属于“非法控制”便主要集中于对用户授权自愿性、授权范围的判断。对于提供无障碍服务的App,想要正常提供服务必不可少的前提就是让用户手动点击确认、开启无障碍服务,但是安卓系统中“设置-辅助功能-无障碍”处对于提高无障碍服务的应用的描述是开发者可以自定义的,这导致存在诱导用户骗取授权的情形。例如某“Wifi密码查看器”软件,将无障碍服务描述为“WIFI信号增强服务”以骗取用户开启,但实际上无障碍服务与所谓信号增强并无关系,仅是为后续其他操作行为进行铺垫。此外,对于用户授权使用无障碍服务实现某项“自动操作”后,超出授权范围进行广告推送、关联APK下载等行为,则也可能涉嫌非法控制计算机信息系统罪。

二、APP运营者和SDK提供者的合规应对

      由于无障碍服务可以控制用户手机实施特定操作,具有“控制”行为的特征,所以是否违法的认定关键在于是否具有违背用户意志的“非法性”。同时,由于App中大量使用SDK插件,如果想实现全面合规,就意味着App运营者、SDK提供者以及用户三方之间需要进行多次、完整的授权。

(一)App与SDK的关系

      App与SDK既独立又共生,App是用户使用的应用程序,SDK则是指用于为特定的软件包、软件框架、硬件平台、操作系统等创建应用软件的开发工具的集合软件工具包。除了App开发者自己开发的SDK,SDK一般由第三方独立的开发者完成,通俗来讲SDK就是第三方服务商提供的实现产品软件某项功能的工具包。比如,我们在其他App中可以通过微信账号登录,便是用到了微信登录SDK。

      但由于SDK是被封装于App中,所以用户一般无法感知到SDK,这也使得SDK成为手机黑灰产的重灾区。此前央视315晚会也已经报道过SDK“寄生推”、SDK未授权收集用户信息、倒卖个人信息等多种恶性事件,因此需要重点关注。

(二)App、SDK和用户之间三重授权

      由于SDK被嵌入合作方App之中,只能通过App向用户索取相关权限,故存在了用户向App、用户向SDK以及App向SDK的三重授权关系。而三者之间的授权关系主要以“用户协议”、“隐私政策”等电子协议形式进行,同时相关协议也宜采取在首次启动时以弹窗形式播放,设置强制等待时间或设置下拉至末尾才可关闭等措施。

      首先,在App与用户之间的协议中,除对App所提供的各项服务明确约定以外,还需要对服务对应的权限进行列举。同时,对于App内所嵌入的第三方SDK进行说明,如在接入列表中对于第三方SDK的主体、服务、权限、功能目的等信息写明,并承诺对合作方SDK或API进行严格的安全监测,以请求用户授权。

      其次,在SDK向用户提供服务时也应当显示用户协议及隐私政策,其中对于具体服务种类及相关权限需要进行说明。需要注意的是,提供服务和索取权限之间应当紧密相连,权限和服务能够相匹配,以请求用户授权。特殊权限的开启,还需要用户手动再次确认,如前述无障碍服务权限则需要用户至系统设置中开启。

      再次,在App与SDK的合作中,除对服务、权限、运行模式等常规事项进行约定外,对于App运营者而言也存在一定的审查义务。SDK的审查主要包括来源安全性评估、代码安全性评估、行为安全性评估等,具体例如SDK提供者的基本信息、是否存在已知的安全漏洞、是否申请敏感权限、是否嵌入其他SDK等。

三、申请、使用权限符合合法、正当、必要的最小原则

      尽管目前法律规范中没有直接针对App及SDK申请权限作出要求,但考虑到获取权限与收集个人信息存在诸多相似之处,故《网络安全法》、《个人信息保护法》中对于用户个人信息收集处理的规定,可作为重要参考标准。

      《网络安全法》

      第四十一条 网络运营者收集、使用个人信息,应当遵循合法、正当、必要的原则,公开收集、使用规则,明示收集、使用信息的目的、方式和范围,并经被收集者同意。

      《个人信息保护法》

      第五条 处理个人信息应当遵循合法、正当、必要和诚信原则,不得通过误导、欺诈、胁迫等方式处理个人信息。

      第六条 处理个人信息应当具有明确、合理的目的,并应当与处理目的直接相关,采取对个人权益影响最小的方式。

      所谓合法、正当、必要最小原则包括三方面内容。合法即为权限取得方式合法,如向用户告知后取得用户同意,不存在诱导、欺骗用户开启权限的情形;正当即为使用目的正当,权限开启后应当为实现相应功能,不能用于其他用途。必要最小原则则要求对于权限的获取及应用必须严格符合特定App或SDK为用户提供服务之必须,除提供服务外不得有其他与服务无关、或关联度不高的运用。同时,如果存在短时长、高频次索取权限,或在用户明确拒绝权限申请后,频繁弹窗、反复申请与当前服务场景无关权限,也容易被视为对于该原则的违反,情节严重的,存在涉嫌非法控制计算机信息系统罪的风险。

      此外,2022年5月7日工信部发布了《移动互联网应用程序(APP)收集使用个人信息最小必要评估规范》总则等4项行业标准,虽不具有法律强制力,但也可作为App与SDK合规的重要参照。该标准规定了“最小必要原则”的评估要求,其中对于“权限申请和使用”也提出了多项要求,例如:

      APP应申请与业务功能相关的权限,不应过度申请权限。如APP的业务功能中,不包含录音相关场景,则不应申请录音权限。

      APP申请敏感权限时,应同步告知权限使用的目的和用途。

      APP宜优先采用系统自身功能,代替调用相关敏感权限。如APP需要拨打电话功能时,可优先选择调用系统的电话界面,而不是申请电话权限。

      对于第三方SDK等外部代码的引用,APP应要求SDK其相关权限的申请同样满足最小必要原则,不得过度申请权限。

      上述评估标准虽然针对的是位置、图片等常见敏感权限所作,但对于以无障碍服务为代表的特殊权限的评估,仍然可以围绕“最小必要原则”的核心认定思路——权限和服务的关联度高低,以及是否为用户提供服务之必需来确定。

四、在授权范围内提供服务、使用权限、不存在滥用权限行为

      在合法取得手机相关权限后,App或SDK应当严格依照法律、协议约定将权限用于相关服务,不能超出授权范围或协议约定范围,滥用权限,实施广告推送、关联下载、恶意跳转等行为。

      在工信部《关于开展纵深推进APP侵害用户权益专项整治行动的通知》中列举了多项App、SDK违规收集、滥用权限的行为,如违规收集、使用个人信息,强制、频繁、过度索取权限,欺骗误导用户下载App等。以较为常见的广告SDK为例,由于广告服务并非用户使用手机之必需,故申请的权限较为有限,但存在一些SDK提供者在提供其他服务的同时,强制用户捆绑使用定向推送功能,将收集到的用户搜索、浏览记录、使用习惯等个人信息,用于定向推送或广告精准营销,且不提供单独关闭该功能的选项。此类行为也是通知中指出的违规重点区域。

      对此,可以以企业收入来源作为判断的参考标准。根据企业收入来源明细,相关收入是否属于依法律、依约定提供服务所得,是否存在将取得的用户权限用于实施其他特定操作而产生灰色收入等,因此“收入来源正当性”可作为App或SDK合规的核心审查要素。

声明:本网部分内容系编辑转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请联系我们,我们将在第一时间处理! 转载文章版权归原作者所有,内容为作者个人观点本站只提供参考并不构成任何应用建议。本站拥有对此声明的最终解释权。

1
发表评论
去登录