「您的验证码是 315716,该验证码仅用于身份验证,请勿泄露给他人使用。」
作为一个记不住密码的人,很多人每天都会受到几条这样的短信。
这条短信,应该只有你、发你短信的机器以及你的手机有机会看见,其他人看就要经过你的授权。
但周四晚上的 315 晚会告诉我们,事情没有那么简单:有一些手机 app 使用到的插件,未经允许就会将你的这些信息偷偷传出去,还是不加密那种。
这些插件主要来自两家公司:上海的氪信和北京的招彩旺旺。插件的使用范围非常广泛,存在于国美易卡、遥控器、天天回收、秒贷钱包等 50 多个 APP 中。
这些插件收集并发回服务器的信息包括你的通讯录、电话号码、短信记录、安装列表、传感器信息等。此外,收集信息只是第一步,收集完成后,他们还会将信息传回指定服务器存储起来,而且是明文传输。这些信息很容易被其他人利用,危及用户财产安全。
看到这个列表,有些读者可能感到松了一口气:「这些 APP 我连听都没听过,更比说安装了」。但你可能忽略了一点,这只是一个小小的检测样本集。中国网信网今年 2 月份公布的数据显示,我国国内市场上监测到的 APP 数量高达 367 万款,被检测的几十款 APP 连其中的万分之一都不到,你又怎么能保证自己不中招?
无处不在的 SDK
SDK 的全称是 Software Development Kit,即软件开发工具包,可以为手机 APP 提供某种服务,比如地图、支付、社交等。
举个例子,A 公司开发了一款网贷 APP,除了提供注册、申请、放款等功能外,还需要能够核对用户的征信信息,评估用户还款风险等。如果所有功能都自己开发,A 公司将付出巨大的人力、物力,造成不必要的成本浪费;而且由于缺乏长期积累,开发出的东西可能会很难用。
但幸运的是,B 公司很早就开发出了这个功能,而且已经封装成了一个包(SDK),付钱就能直接拿来用。这种情况下,为了节省开发成本,A 公司就会选择直接付钱给 B 公司,调用一个 SDK 放到自己的 APP 里。
上面被曝光的那些 APP 就是这么做的,但这么做的远不止他们。
2019 年 7 月,南都个人信息保护研究中心和中国金融认证中联合发布了一份《常用第三方 SDK 收集使用个人信息测评报告》。评测涉及社交交友、生活服务、休闲娱乐、购物导购、旅游交通、移动金融六大行业的 60 款 APP。报告显示,这 60 款 APP 共使用了至少 966 个 SDK,平均每款 APP 使 用 19.3 个(移动金融类未计在内,因为该行业普遍对 APP 进行加固,难以确切检测出使用的 SDK)。
由此可见,使用第三方 SDK 完善自家 APP 功能其实是非常常见的一种操作,毕竟对于大部分中小公司来说,为了一个定位功能去开发一款手机地图怎么看都是划不来的。
但问题在于,这些 SDK 在实现某个功能的过程中往往需要获取用户的一些隐私信息,比如地图应用需要获取用户位置信息,社交应用需要访问用户相册、开启麦克风等。《常用第三方 SDK 收集使用个人信息测评报告》将这些信息分成了五类,分别是:
- 手机设备信息 (如 IMEI、IMSI 等设备唯一识别码);
- 网络信息(如 IP 地址、MAC 地址、Wi-Fi 热点等);
- 手机状态信息 (如已安装 / 运行中的应用信息);
- 用户行为信息(如锁屏、安装、升级、卸载应用软件);
- 用户个人信息 (如电话号码、地理位置、 通话记录)。
在这个环节,遵守规则的企业会在隐私条款中告知用户自己将收集哪些信息,并在首次开启权限时以弹窗告知形式征询用户的同意。
但很多 APP 都没有做到这一点。比如,报告中提到,中国银行手机银行 APP 的讯飞 SDK 可以「对环境或通话录音」,却没有提供任何隐私政策;宜人财富 APP 和宜人贷借款 APP 使用的 TalkingData SDK 获取了用户的地理位置,但两款 APP 的隐私政策都没有提及会收集位置信息。
此外,虽然有些 APP 在隐私政策中已经告知用户将收集哪些信息,但并未明示收集使用个人信息的目的、方式和范围,这就提高了信息滥用的风险。
如何应对 SDK 信息收集乱象?
在 315 晚会之前,SDK 信息收集乱象就已经引起了有关部门注意。2019 年 12 月 31 日,国家互联网信息办公室印发了《APP 违法违规收集使用个人信息行为认定方法》。
该文件针对六种 APP 信息收集违规行为进行了认定,分别是:
- 未公开收集使用规则。如在 APP 首次运行时未通过弹窗等明显方式提示用户阅读隐私政策等收集使用规则;隐私政策等收集使用规则难以阅读等。
- 未明示收集使用个人信息的目的、方式和范围。如未逐一列出 APP(包括委托的第三方或嵌入的第三方代码、插件)收集使用个人信息的目的、方式、范围;在申请打开可收集个人信息的权限,或申请收集用户身份证号、银行账号、行踪轨迹等个人敏感信息时,未同步告知用户其目的,或者目的不明确、难以理解等。
- 未经用户同意收集使用个人信息。如实际收集的个人信息或打开的可收集个人信息权限超出用户授权范围;以默认选择同意隐私政策等非明示方式征求用户同意等。
- 违反必要原则,收集与其提供的服务无关的个人信息。如收集的个人信息类型或打开的可收集个人信息权限与现有业务功能无关;因用户不同意收集非必要个人信息或打开非必要权限,拒绝提供业务功能等。
- 未经同意向他人提供个人信息。如既未经用户同意,也未做匿名化处理,APP 客户端直接向第三方提供个人信息,包括通过客户端嵌入的第三方代码、插件等方式向第三方提供个人信息;既未经用户同意,也未做匿名化处理,数据传输至 APP 后台服务器后,向第三方提供其收集的个人信息等。
- 未按法律规定提供删除或更正个人信息功能未公布投诉、举报方式等信息。如未提供有效的更正、删除个人信息及注销用户账号功能;为更正、删除个人信息或注销用户账号设置不必要或不合理条件等。
针对 315 晚会指出的侵犯消费者隐私行为,氪信科技回应称,此前在评估之后认为该技术有被滥用的风险,已经在 2019 年年底前完全停用该技术。
使用氪信技术的一些公司也针对此事发出了回应:国美金融在 7 月 17 日表示,315 报道中提到的「氪信 SDK 插件」已于 2020 年 1 月 14 日从国美易卡 APP 下线,目前该公司也已停止与氪信的合作。
除了法律层面外,有技术人士指出,近几年兴起的「联邦学习」技术或许可以为这一问题提供新的解决思路。
联邦学习也叫联邦机器学习,由谷歌和微众银行等提出。借助这种技术,我们在用户的手机等客户端完成数据采集、加工等过程,最后上传的是一个加密结果,而不是原始数据。该技术对于缓解数据孤岛和隐私安全问题具有很大的推动作用。有兴趣的同学可以参考机器之心的相关介绍文章:
参考链接:http://www.cfca.com.cn/upload/cpbg.pdf
本文为机器之心报道,转载请联系本公众号获得授权。