警惕 SDK 代码的应用:揭秘 SDK 采集 5 大隐私数据的方式

摘要

本文介绍的 SDK 代码是以 Android 平台为主列举的,其中包括五大类开发者可以采集到信息:「设备信息」、「应用信息」、「传感器信息」、「账号信息」、「网络相关信息」。如果一旦开发者需要采集这些数据,必须给出数据披露,否则可能会被应用商店做下架处理。

编者注:本文作者为「友盟+」高级产品研发专家马巍源,极客公园有删改并获得转载授权。


本文介绍的 SDK 代码是以 Android 平台为主列举的,其中包括五大类开发者可以采集到信息:「设备信息」、「应用信息」、「传感器信息」、「账号信息」、「网络相关信息」。如果一旦开发者需要采集这些数据,必须给出数据披露,否则可能会被应用商店做下架处理。

一、应用信息类(信息隐私程度:隐私)

获取到用户手机上已经安装的 App 信息列表和正在运行的应用列表。这类数据属于严重涉及用户隐私的数据,不建议开发者在应用中做这样的操作。

Snip20160531_2.png

二、账号信息类(信息隐私程度:隐私)

获取用户账号信息。此类数据也属于严重涉及用户隐私的数据,不建议开发者在应用中做这样的操作。

Snip20160531_3.png

三、网络相关信息类(信息隐私程度:隐私)

获取用户移动设备的联网信息、用户通信的设备信息、GPS、NFC 信息等。开发者可以利用这些信息准确定位用户地理位置,但这些信息都属于用户非常敏感及隐私的,如果您的服务不是专门提供位置服务,请不要在 App 中获取这类信息,避免违反隐私政策。

Snip20160531_4.pngSnip20160531_5.pngSnip20160531_7.pngSnip20160531_8.png

四、设备信息类(信息隐私程度:较高)

获取用户移动设备标识信息、SIM 标识信息等。但像手机号码这样的用户隐私数据是一定不能采集的,否则会触及各应用商店审核的红线。

Snip20160531_9.pngSnip20160531_10.png

五、传感器信息类(信息隐私程度:隐私)

现在的智能移动设备内部集成了大量的传感器,用以完成智能化工作。不同型号的移动设备,集成传感器的数量与种类也有所区别,比如用户的行踪可以通过位置传感器精确追踪,但这类数据也属于用户隐私数据。

Snip20160531_12.png

以上五大类数据指标是可以通过 Android 提供的标准系统接口获取,但如果使用,必须第一时间告知用户要采集用户哪些数据,并告知用户这些数据用途是什么,在用户同意的情况下才可使用。不过对于其中涉及用户隐私程度较严重的几类数据,例如:安装的软件列表信息、运行的安装列表信息、GPS 信息、NFC 信息等,几大应用商店都禁止使用,一旦被发现肯定会做下架处理。

跨越 Android 系统接口作弊的采集方式

面对目前应用商店严格的规则,个别第三方 SDK 也会通过别的方式采集用户隐私数据,例如:执行 shell 获取移动设备上已经安装的应用信息,这种采集方式是跨越 Android 系统接口的方式,通过执行 linux 命令的方式获取。这种跨过 Android 系统接口采集户隐私数据的行为可以说属于作弊、钻漏洞行为。这种作弊的相关代码也分享给开发者,开发者可根据代码中的信息判断 SDK 是否通过跨越 Android 系统接口的方式采集隐私数据。

Snip20160531_14.png

隐私数据的用途及风险

以上代码基本可以囊括目前市场上 SDK 采集数据涉及用户隐私的类别,下面再就本文中各类数据采集后的用途,以及每个数据存在的隐私风险为大家做个评估。

1、应用信息类(风险程度:高)

SDK 采集数据指标:安装的软件列表、运行的安装列表。

用途与风险:通过采集这类信息可以清楚了解用户设备中各类 App 应用的信息,若数据量庞大,即可推算出每款 App 应用的市场占有率情况、各类竞品 App 的情况。同时也可以用于分析用户喜好、兴趣特征、行为习惯等。完全泄露用户隐私数据,侵犯用户隐私。

隐私保护建议: 提前做数据披露,需要获得用户许可。

2、账号信息类(风险程度:高)

SDK 采集数据指标:获取用户账号。

用途与风险:通过采集这类信息可以获取用户账户列表,将移动设备信息与用户账号关联,对设备进行唯一标示。这种数据的采集会给用户带来极高的风险,若用户账号被泄露、克隆,用户的利益和生命财产可能受到威胁。

隐私保护建议: 提前做数据披露,需要获得用户许可。

3、网络相关信息类(风险程度:高)

SDK 采集数据指标:WiFi 信息、GPS 信息、蓝牙信息、NFC 适配器信息。

用途与风险:通过采集 GPS 信息可以获取用户位置信息,进行用户地域行为分析;采集 WiFi、蓝牙、NFC 信息可获取网络连接状态及配对设备信息、用户支付信息、用户登录验证信息等。这些信息的采集完全侵犯了用户隐私,支付、登录验证等信息将泄露更多用户身份,使用户赤裸裸的「公布于众」,毫无安全可言。

隐私保护建议: 提前做数据披露,需要获得用户许可。

4、设备信息类(风险程度:较高)

SDK 采集数据指标:电话类型、网络类型、注册国家、硬件厂商。

用途与风险:通过采集这类信息可以获取用户机型信息、运营商信息、地域分部信息等,一般用于进行机型适配、用户地域分析、网络模式分析等。这类数据的采集对于用户隐私安全的侵害影响不大,多数用于行业趋势分析。

隐私保护建议: 提前做数据披露,需要获得用户许可。

5、传感器信息类(信息隐私程度:隐私)

SDK 采集数据指标:加速度传感器、环境光传感器、距离传感器、磁力计传感器、平衡传感器、震动传感器。

用途与风险:通过采集这类信息可以获取用户移动设备上传感器配置信息,了解用户移动设备可支持哪些功能,适合运行哪种类型 App。也有一些安全类 App 可通过触发传感器判断此移动设备是否是真机。此类数据的采集对于用户隐私安全的侵害影响不大。

隐私保护建议: 提前做数据披露,需要获得用户许可。

SDK 隐私政策、协议

开发者除了对 SDK 代码要有详细的了解外,还要对隐私政策有所重视和规范,以保护所有使用服务用户的个人隐私权。以安卓为例,目前市场上对于隐私政策的规范都包含:适用范围、信息使用、信息披露、信息存储和交换、Cookie 的使用、信息安全这几大方面。

Snip20160531_15.png

隐私政策举例(模板)

Snip20160531_16.png

隐私政策举例(模板)

其中信息的使用与信息披露尤为重要,如 Google Play 都要求凡涉及个人信息及敏感信息的,必须提供隐私权政策,以及任何形式的应用内披露声明,以及完整说明您的应用会收集、如何使用、分享和处理用户数据。但一般来说,应用市场对于在用户不知情的情况下采集获取用户的「账户信息」、「传感器信息」、「蓝牙信息」、「NFC 信息」、「应用安装信息」等是严格禁止的。一旦发现 App 中有这样的行为存在,App 下架处理是必然的结果。所以开发者要充分重视对用户的告知义务,包括将第三方 SDK 的数据采集信息,也应列入 App 的用户隐私政策条款中。

最新文章

极客公园

用极客视角,追踪你最不可错过的科技圈。

极客之选

新鲜、有趣的硬件产品,第一时间为你呈现。

顶楼

关注前沿科技,发表最具科技的商业洞见。