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

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

 [[257612]]

这两年,无论是国内还是国外,时不时的都会爆出了一些 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 的私有目录下。

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

3.

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

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

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

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

 

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

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

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

4.

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

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

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

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

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

 


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专栏作者“张旸”的原创稿件,转载请通过微信公众号联系作者获取授权】

 

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

责任编辑:武晓燕 来源: 51CTO专栏
相关推荐

2022-06-02 15:17:17

iOS隐私苹果

2013-03-25 16:52:26

2015-10-16 15:43:02

2015-03-19 11:40:36

2016-12-15 18:15:36

抢票软件隐私安全

2021-01-26 16:44:36

Facebook漏洞双因素认证

2021-07-09 13:56:26

Android加密货币APP

2013-04-24 14:23:58

信息泄露个人隐私

2019-02-20 16:35:44

京东金融缓存截屏

2019-07-21 08:33:53

浏览器扩展插件安全

2021-11-04 05:53:51

微信清粉信息安全信息泄露

2014-12-03 12:50:12

隐私安全隐私数据Uber

2015-08-06 13:17:23

2014-12-03 11:09:16

数据安全数据泄露移动安全

2012-11-29 10:15:57

2023-02-13 07:23:03

APP窃取隐私

2011-12-01 09:56:59

微软Windows Pho

2022-03-02 10:53:32

木马恶意软件

2020-03-11 10:00:22

AI 数据人工智能

2013-01-24 11:28:17

点赞
收藏

51CTO技术栈公众号