京东金融 App 被爆窃取用户隐私?可别又怪开源库!

栏目: 软件资讯 · 发布时间: 6年前

内容简介:这两年,无论是国内还是国外,时不时的都会爆出了一些 App 窃取用户隐私的事件。用户对自己的隐私数据,也是越来越重视了,在新安装 App 的时候,也不是对授权框无脑的点同意,还是会认真看清楚是否符合 App 的属性。例如一个新闻类的 App 想要获取通讯录权限,这肯定是不合理的。

京东金融 App 被爆窃取用户隐私?可别又怪开源库!

这两年,无论是国内还是国外,时不时的都会爆出了一些 App 窃取用户隐私的事件。

用户对自己的隐私数据,也是越来越重视了,在新安装 App 的时候,也不是对授权框无脑的点同意,还是会认真看清楚是否符合 App 的属性。例如一个新闻类的 App 想要获取通讯录权限,这肯定是不合理的。

1.

说到用户隐私,今天又有 App 出事儿了,事儿主是 京东金融 App。

最先被微博网友 @瘦出的肋骨已经消失的大侠阿木 发现,京东金融 App,运行在后台的时候,会将用户截图复制到 App 的私有目录中。

视频内演示的步骤是这样的:

  1. 打开京东金融 App,Home 键回到桌面。
  2. 打开招商银行 App,随便找个页面截图。
  3. 从文件管理器中,找到京东金融的目录(android/data/com.jd.jdapp)。
  4. 在其中的 uil-images 目录下,可以找到步骤 2 中的截图文件。

是不是很神奇,无论京东金融拿用户截图有什么目的,在私有目录下存储用户截图这件事情,都是板上钉钉的事儿了。

视频的作者,在视频内举例打开的是招商银行 App,话术里也是在说金融,这类用户比较敏感的 App。

真实情况是,京东金融并没有对截图进行区分,哪怕用户是对王者荣耀进行截图,它依然会拷贝到自己的目录下面,这一点从功能上,是没有区分的。

2.

此事发生之后,京东金融团队反应也很快,立刻发微博解释,声称保存的截图,仅作为用户本地操作,用户不主动发送给客服,是不会无感知的将用户截图上传的,以此窃取用户隐私。在解释的同时,也同步下线了此功能。

官方的解释很长,大概意思就是,京东金融 App 内,有一个“图片助手”的小功能,主要是为了方便用户在截图后向客服反馈问题。

京东金融 App 被爆窃取用户隐私?可别又怪开源库!

注意看右上角,在截图后,页面会有一个浮动的“图片助手”,可以帮用户快捷的反馈问题或者分享。这些就是常规的功能了,在很多 App 内都有类似的功能。

这个功能,主要是为了方便用户操作,真有问题反馈的时候也觉得很贴心。但是现在问题在于,别家的产品都是仅在 App 在前台运行时的截图,才会触发此功能。更重要的是,别家的产品也不会将截图拷贝到自己的私有目录下,这一点才是大家所关心的。

在这件事情上,京东金融最大的两个问题在于:

  • 收集用户在京东金融 App 外的截图。
  • 将截图复制到京东金融 App 的私有目录下。

这两个问题,只要不同时发生,其实问题都不大,严重就严重在,它们同时发生了。

3.

到这里大家是不是好奇,京东金融为什么要将图片存储到私有目录下?实际上如果只是做“图片助手”去反馈问题这个功能,是不需要把文件存储到自己的私有目录下,这么做等于是给自己埋下了隐患。

我猜测应该是代码实现时候,没有考虑到这些细节。

知乎用户 @琴梨梨 通过反编译,根据目录 uil-images 这个字符串,一步步深挖,发现了真相,有兴趣研究细节的朋友,可以查看文末的引用连接。

首先说明一点,通过反编译京东金融 App,暂时没有发现截图存在上传操作。但是为什么会发生将图片拷贝到私有目录的事情呢?

京东金融 App 被爆窃取用户隐私?可别又怪开源库!

简单来说,京东金融 App 中使用的图片加载库,还是老牌的 Android-Universal-Image-Loader。Image-Loader 这个库,已经好几年没有维护了,但是有很多 App 因为历史等原因,依然在使用它。

我们知道,图片库在加载图片的时候,都会对图片进行磁盘缓存,Image-Loader 也不例外,它将要显示的截图,缓存到了私有目录下。所以应该是“图片助手”,没有检测当前 App 是否在前台,只要有新的截图,就会触发它显示截图的缩略图,然后用 Image-Loader 去加载图片,最终导致 Image-Loader 去加载。

这又是一个开源库引发的血案,但是这一回,可真怨不得开源库了。人开源库的功能没问题,只是这个业务场景,应该需要特殊的配置,而不是使用通用的方式进行加载-缓存-显示。

4.

说回到京东金融的解释吧,我是信的。

在这个注重隐私的大环境下,要是真的是为了上传截图而做的功能,大概率也会考虑的更多,尽量做的更隐蔽一些。

多半就是一个无心之失,功能实现的时候,没有考虑到 App 在后台的场景,并且“错误”的使用 Image-Loader 导致图片被缓存到私有目录。你说开发者不知道 Image-Loader 会缓存图片吧?我是不信的。

要我说,问题就是出在整个流程中,各个岗位对用户隐私的不重视,导致大家都不会考虑可能的用户隐私的问题。在整个需求-开发-测试等环节中,检查清单中并没有考虑到用户隐私的问题。

有网友为此还编了段子,大家娱乐一下。

京东金融 App 被爆窃取用户隐私?可别又怪开源库!

reference:视频原始微博:https://m.weibo.cn/1620589064/4340143953936952

京东解释微博:

https://m.weibo.cn/6072759159/4340364808456506

截图分析(一)- 知乎:

https://zhuanlan.zhihu.com/p/56875556

截图分析(二)- 知乎:

https://zhuanlan.zhihu.com/p/56877625

【本文为51CTO专栏作者“张旸”的原创稿件,转载请通过微信公众号联系作者获取授权】

戳这里,看该作者更多好文


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Fluent Python

Fluent Python

Luciano Ramalho / O'Reilly Media / 2015-8-20 / USD 39.99

Learn how to write idiomatic, effective Python code by leveraging its best features. Python's simplicity quickly lets you become productive with it, but this often means you aren’t using everything th......一起来看看 《Fluent Python》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具