被 Google Play 下架刷爆朋友圈:聊聊 SDK 采集数据的秘密(特别推荐) - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
umeng
V2EX    推广

被 Google Play 下架刷爆朋友圈:聊聊 SDK 采集数据的秘密(特别推荐)

  •  
  •   umeng 2016-05-27 16:07:20 +08:00 3630 次点击
    这是一个创建于 3475 天前的主题,其中的信息可能已经有所发展或是发生改变。

    这两天,朋友圈里都在转载有 APP 被 Google Play 下架一事,也许因为本人朋友圈内从事移动互联网数据行业以及各企业开发者较多,此事被炒得沸沸扬扬。其实可以看出大家一直在讨论的仍是移动互联网圈的一个老话题:用户数据隐私与 SDK 收集用户数据的安全性。

    其实用户数据隐私以及 SDK 收集用户数据这两方面,两大应用商店官方并没有明确公示,哪些数据属于隐私数据, SDK 收集用户什么数据才合理。大多数都是我们通过多年服务于众多开发者,协助开发者让应用更快上线的经验积累而作出的判断,那么今天我想在这里和圈里人一同聊聊第三方 SDK 中都有哪些“私货”,也当是做个知识普及,让开发者和用户都清楚了解行业的红线在哪里、自身的隐私如何保护。

    首先简单提下引发业内再次对隐私数据关注的起因。 25 日,一位开发者收到 Google Play 邮件,已将其开发并上线的 APP 进行了下架处理,原因是其使用的一家第三方广告监测 SDK 在未经用户允许的情况下收集用户隐私数据,获取用户设备中全部已经安装应用列表。再多详细内容有想了解的可自行搜索,不是本文重点。

    目前市场上 SDK 采集的方式

    目前移动互联网行业内 SDK 采集数据的方式有两种:一是开发者主动获取,通过 android 或 iOS 提供的系统接口来获得,并且需要声明访问权限,比如: imei 的获取,需要声明"android.permission.READ_PHONE_STATE"允许获得移动设备状态信息,然后通过调用系统接口实现。

    二是开发者主动上传数据,通过 SDK 提供 API 接口,调用接口通过传递参数的形式上传用户数据,比如 [友盟+] 统计 SDK 会提供自定义事件接口( onEvent(Contextcontext, String id, HashMap<String,String> m, long value))、错误信息采集接口( reportError(Context context, String error) )。开发者需要在代码中适当的位置主动调用这些接口来上传数据。通常开发者主动上传的数据主要是用户行为数据,为了统计和分析用户在 APP 中的操作习惯,方便开发者做精细化运营。

    SDK 会采集哪些与服务无关的数据,目的是什么?

    1 、采集用户蓝牙信息(名称、状态、扫描模式等),采集已经成功配对的蓝牙设备信息。蓝牙信息采集目的是为了做设备识别使用,而采集成功配对的蓝牙设备信息则是为了获得与移动设备通过蓝牙通信的另一移动设备信息。单独的蓝牙信息采集由于重名现象较多,不会对用户产生很大的隐私影响。而后者采集配对信息则完全侵犯了用户隐私,同时也泄露了另一移动设备的相关信息。安全危险级别:中。

    2 、采集用户传感器信息。常见的用户设备传感器有:加速度传感器、环境光传感器、距离传感器、磁力计传感器、平衡传感器、震动传感器等。 SDK 采集这类用户信息在我看来大多是为了充实数据库数据量,当然通过这类信息也可以判断移动设备是否为真实移动设备,但极少有使用。这类数据的采集对于用户隐私安全的侵害影响不大,安全危险级别:低。

    3 、采集用户移动设备上已经安装的应用信息、安装列表。这个一定要好好谈一下,这类用户信息的采集可以说比较无底线。通过采集这类信息可以清楚了解用户设备中各类 APP 应用的信息,若数据量庞大,即可推算出每款 APP 应用的市场占有率情况、各类竞品 APP 的情况。对于众多互联网行业而言,这种信息的采集无疑是触及了道德底线。

    同时也可以通过 APP 应用列表信息看到设备用户的喜好,侵犯用户隐私。例如一个设备用户安装了某类同性交友 APP ,那就意味着这种极其隐私的信息将被泄露,造成对用户的隐私侵害。安全危险级别:极高。

    4 、采集移动设备正在运行或最近运行的程序任务信息。通过采集这类信息可以清楚了解设备中其他应用的日启动次数、日启动时长等,与采集用户移动设备上安装应用信息一样都属于侵犯用户隐私、触及互联网行业底线一类。安全危险级别:高。

    5 、采集用户移动设备账户信息,如 google 账户。这类数据的采集可以获取用户账户列表,将移动设备信息与用户账号关联,对设备进行唯一标识。采集如此数据带来的风险也显而易见,若用户账号被泄露、被克隆,那对于用户产生的损失可能是利益上的、更甚是生命上的。所以此类数据的采集对用户隐私侵害极大,安全危险级别:极高。

    以上给大家列出了目前移动互联网行业 SDK “私货”乱象的几类,如果 APP 不想被第三方 SDK “私货”影响,目前可以解决的方法有两种:一是要求第三方修改 SDK ,二是换一家干净的。

    应用商店的隐私政策

    最后,根据 [友盟+] 多年服务开发者的经验积累,给大家梳理下几大应用商店对于 APP 发布的隐私政策。如 Google Play 、 App Store ,都要求凡涉及个人信息及敏感信息的,必须提供隐私权政策,以及任何形式的应用内披露声明,以及完整说明您的应用会收集、如何使用、分享和处理用户数据。但一般来说,这两大应用市场对于在用户不知情的情况下采集获取用户的“账户信息”、“传感器信息”、“蓝牙信息”、“ NFC 信息”、“进程扫描信息“以及”应用安装信息“等是严格禁止的。一旦发现 APP 中有这样的行为存在, APP 下架处理是必然的结果,更有甚之会封停开发者账号。所以开发者要充分重视对用户的告知义务,包括将第三方 SDK 的数据采集信息,也应列入 APP 的用户隐私政策条款中。这一点不用担心有什么副作用,只要合理合法地披露,无论是应用商店,还是现行国家法律都会支持的。

    经验之谈,希望各开发者能够看清移动互联网中的是与非、利与弊,共同维护和建立健康的互联网环境。

    作者: [友盟+] 高级产品研发专家 马巍源

    7 条回复    2016-05-28 18:40:53 +08:00
    airqj
        1
    airqj  
       2016-05-28 10:49:41 +08:00
    难怪开发出来的 apk 这么卡
    multiple1902
        2
    multiple1902  
       2016-05-28 11:48:06 +08:00
    楼主我跟你说,在帖子标题前面加个空格可以让它排在帖子列表的最前面喔。
    luoer
        3
    luoer  
       2016-05-28 12:10:38 +08:00 via Android
    ios 有这种情况吗?还是这种情况就是 android 系统的特性?
    loveour
        4
    loveour  
       2016-05-28 12:34:24 +08:00
    这个的意思是,友盟可以保证符合隐私政策吗?
    loveour
        5
    loveour  
       2016-05-28 12:35:37 +08:00
    @luoer iOS 上权限是被限制的,即使想作恶,除非越狱也有限。而且 iOS 审核很严格。 GooglePlay 当然也审核,但是, GP 之外就很乱了。
    xAx
        6
    xAx  
       2016-05-28 17:49:44 +08:00
    通篇都不提那些获取联系人信息的...

    不妨以最大恶意猜测:楼主是选择性忽视
    zzzmode
        7
    zzzmode  
       2016-05-28 18:40:53 +08:00
    就是 talkingdata 那货干的
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5526 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 03:17 PVG 11:17 LAX 19:17 JFK 22:17
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86