前段时间一直都是直接 REJECT 掉 QQ 的截图内置应用的联网权限,今天突发奇想直接 REJECT 了请求网址,然后就看到了如下的一幕……
Request Header 如下:
POST /analytics/rqdsync HTTP/1.1
Host: monitor.uu.qq.com
Accept: */*
bid: com.Tencent.JietuFramework
Accept-Language: zh-cn
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded
Content-Length: 416
User-Agent: %E5%BE%AE%E4%BF%A1/7965 CFNetwork/807.2.14 Darwin/16.4.0 (x86_64)
Connection: keep-alive
pver: 2.2.0(7965)
pid: com.Tencent.JietuFramework
1
cye3s 2017-03-01 11:38:01 +08:00 via Android
截图?
|
2
paradoxs 2017-03-01 11:39:08 +08:00
真有钱 surge dashboard
|
4
bazingaterry 2017-03-01 11:42:05 +08:00 via iPhone
估计是腾讯内部组件重用嘛……
|
7
smilexyk OP @bazingaterry 我主要就是很好奇这个 JietuFramework 为何会需要如此频繁的连接网络,甚至是在我并未使用过一次微信截图功能的情况下。
|
8
lhbc 2017-03-01 11:53:17 +08:00 via iPhone
bid: com.Tencent.JietuFramework
这个是啥……截图? |
9
royxiang 2017-03-01 11:53:39 +08:00
bid 和 pid 都是 com.Tencent.JietuFramework
看样子应该是 @bazingaterry 说的内部组件重用了… |
10
smilexyk OP |
11
RqPS6rhmP3Nyn3Tm 2017-03-01 12:03:47 +08:00 via iPhone
即时通讯软件上传心跳包情有可原,但截图组件就有点奇怪了
最好 Wireshark 看看是啥 |
12
tianshilei1992 2017-03-01 12:06:13 +08:00
我想知道,微信的截图组件在哪…我想删掉…
|
13
imswing 2017-03-01 12:08:20 +08:00 via Android
@tianshilei1992 长按识别二维码应该就是截图吧
|
15
famouslastword 2017-03-01 12:12:40 +08:00
用上马化腾家的东西还担心这些也是醉了,人家就算不用这些小技巧照样把你私隐看干净。
|
16
smilexyk OP @famouslastword 不管怎样也不能自暴自弃啊少年……正是因为不得不用,才尽我们所能来保护自己的隐私
|
17
EricCartman 2017-03-01 12:23:00 +08:00
@famouslastword #15 你不关心不代表别人
|
18
xmoiduts 2017-03-01 12:24:37 +08:00
放行一次看看内容?
|
19
tianshilei1992 2017-03-01 12:26:09 +08:00 1
@imswing 呃,我说的是 Mac 版。另外,我刚才找到了这个 framework ,然后将其重命名后发现,微信打不开了。所以,这个不像是 QQ ,是单独的 app ,不能删除。
|
20
famouslastword 2017-03-01 12:31:24 +08:00
|
21
smilexyk OP @famouslastword 如果世界上只有我一个人,那我想不用就不用的确是没什么问题,问题在于你真的能做到放弃整个社交圈么?在现实已经这样的情况下,能少被收集一点是一点,至少求个心安。
|
23
smilexyk OP @tianshilei1992 看起来是必须得通过拒绝网络请求来解决这个问题了?
|
26
tscat 2017-03-01 13:10:22 +08:00 via iPhone
其实楼上那位有点道理。腾讯可能比你自己都了解自己。你曾经暗恋过的女孩,喜欢吃的东西,他分分钟就知道。多少几百上千万的生意是在腾讯的眼皮子底下做的。
多少公司所谓的机密,政府内幕,在腾讯都是毛毛雨。 |
27
shiji 2017-03-01 13:10:34 +08:00 1
POST /analytics/rqdsync
我的猜测: 第一个词是统计分析,第二个是 RQD + SYNC (同步) 网上另外一个能找到的链接是: http://rqd.uu.qq.com/rqd/sync 常见于一些别的 APP 上(可能用了腾讯的开发组件? SDK 什么的?) 然后继续猜 RQD 的意思。 搜到了: http://wiki.dev.4g.qq.com/v2/ZH_CN/ly/index.html#!rqd.md#RQD 接入配置 http://wiki.dev.4g.qq.com/v2/ZH_CN/android/rqd.md http://www.cnii.com.cn/mobileinternet/2014-08/21/content_1429247_3.htm 应该是跟腾讯 Bugly 相关的崩溃上报组件吧。 这是我从字面上的推理。 |
28
shiji 2017-03-01 13:16:21 +08:00
另外我觉得访问的这么频繁可能是因为你 reject 了它,会短时间多次尝试。你把规则取消掉,弄个对照组比较一下。
|
29
smilexyk OP @shiji 但是很难想象微信会 15s 崩溃一次啊…… Surge 使用的 crashlytics 上传都没有这么频繁。
|
30
smilexyk OP @shiji 刚刚尝试了一下,的确是如果放行一次,那么一段时间内就不会再次请求。但是问题在于究竟我能有什么数据这么重要需要让微信 15s 试一次都得传上去……
|
32
ic2y 2017-03-01 13:30:59 +08:00
@smilexyk 会不会跟当年的暴风影音导致全省断网的那个 bug 一样。。程序员想当然认为肯定成功,处理异常的时候,太随便了。异常的话,就 15s 再试一次。。。
|
33
smilexyk OP @ic2y 其实我估计也是如此,我主要质疑的就是:第一,作为一个截图的 Framework (我姑且顾名思义认为是这样吧),有什么必要请求联网权限,即使有,如果没有成功连接的条件下不断尝试访问,至少也是程序本身的问题;第二, 作为一个截图的 Framework ,他的网络请求在我没有截图的时候唤起,在我截图的时候反而没有发送网络请求,也就是说这个网络请求跟截图这个功能实现并没有什么关系;退一步说,即使是崩溃报告,也没有放在截图 Framework 的必要吧。
|
34
shiji 2017-03-01 13:38:12 +08:00 via Android
@smilexyk 看资料这个所谓的崩溃上报系统不仅仅上报崩溃,普通的错误 /警告也是会上报的。所以如果哪个要循环执行的方法会引发警告的话,也到有可能这样上报错误。
这些都是我的猜测。这事腾讯来个人三言两语就能说明白。我就猜到这了。 |
35
famouslastword 2017-03-01 13:40:18 +08:00
@smilexyk 你确实是太 naive ,而且是庸人自扰,收集信息这种只是从你注册那刻就已经完成了。真想不泄露私隐数据只要不把敏感关键字公开就行了,这种厂商数据你能控制吗?这点数据在手机程序里在正常不过了。
|
36
SpicyCat 2017-03-01 13:47:48 +08:00
图挂了
|
37
zyllwy 2017-03-01 14:18:30 +08:00
这个可以起诉....当泄露隐私案例
|
38
honeycomb 2017-03-01 14:28:14 +08:00
POST /analytics/rqdsync HTTP/1.1
Host: monitor.uu.qq.com 这个明显就是类似 Google Analytics 的遥测数据收集机制,说难听一点叫用户追踪 我鼓励大家限制用户追踪,而这一点从使用浏览器的内容拦截扩展程序开始 |
39
smilexyk OP @famouslastword 从我个人而言,发现这个问题只是想和 V 站上的朋友们分享一下,让不知道而且有需求的人可以考虑 REJECT 掉;其次而言,我个人其实并不反对 Tencent Google 之类的公司进行一定量的数据收集,但是第一,从一名用户的角度上来说,我有权利质疑微信上传数据的行为,第二,从我个人情感角度上来说,即使不反感收集数据本身,我也很反感腾讯这种在工具中夹带私货,明明上传数据却还要把上传请求遮遮掩掩找个截图、股票之类的分支功能藏起来的行为。即使它本身并没有什么过多的想法,我也会产生一些或许多余的想法,就是这样。
|
41
famouslastword 2017-03-01 15:05:19 +08:00
@smilexyk 你当然有权利质疑,只不过提醒你请提高自身认知并拿出确切证据(重点是你确定你有能力找出?)再来质疑,以免浪费大家时间同时也对小白们产生影响,建议你先看看 google dropbox facebook 大厂的程序,这种请求包在懂行的人眼中真的正常不过了。
|
42
smilexyk OP @famouslastword 首先,作为个人对公司的质疑来说,并不适用于有罪推定,也就是说我并没有义务拿出证据,相反是公司有义务提出证据证明我的质疑不成立;其次, Google Facebook Dropbox 等大厂有此类数据上传确实很正常,比如 google-analytics ,比如 crashlytics 等等,但是这些数据上传并没有刻意地避开程序的主进程,相反地在 QQ 和微信中,一个采取了内置一个 app 的方式来上传,一个采取了使用并不是主要功能支持包的 Framework 来上传,似乎这些并不是业内常见的做法吧。
|
43
jeremaihloo 2017-03-01 15:21:17 +08:00
@smilexyk #21 不是很能理解,怎么就心安了,怎么就心不安了
|
44
smilexyk OP @famouslastword 就算我再退一步,以上的问题都是由于开发者的一些失误或者 macOS 系统的一些限制那作为一个收集用户数据的请求(姑且我都不说他收集的是不是隐私数据),他采用的依然是 http 明文传输,而 crashlytics 和 google-analytics 等你所说的大厂据我所知没有一个不是采用 https 协议的,请问这也是再正常不过的事情么?
|
45
n6DD1A640 2017-03-01 15:53:01 +08:00
很早前就留意到, 1 分钟 1 次,拦截也是这样。不过现在没用 QQ 也不管了。。 https://www.v2ex.com/t/279268#reply16
|
46
famouslastword 2017-03-01 16:36:45 +08:00
@smilexyk 笑了,如果是 http 明文传输敏感数据你就抓个包看不就是?就想小米上次被爆一样拿出确切证据,如果不是明文有什么意义? 大厂的程序照样是分模块的,是你见得太少了,都说先提高自身认知再来讨论,你的这种疑问可以直接找腾讯质问,你现在通过第三方发这种质疑厂商可是可以保留法律途径的。真实 too young 而且 too naive.
https://www.zhihu.com/question/28672990 |
47
smilexyk OP @famouslastword 首先, http 本身难道不就代表明文么?难道还存在密文的 http ,最多不过厂商自己做一层加密变成抓包之后依然看不懂的内容而已,并不能改变其本身不安全的事实;其次,我质疑的也就是截图这个模块进行此类上传的合理性,尤其是在主程序都并未请求的情况下;最后,关于法律问题:第一,发现此问题的第一时间我就在微博上私信了腾讯微信的官方微博账号,至今并未获得明确回应,我想询问网友意见的权利我还是有的;第二,我在此并未作出“腾讯微信已经侵犯我隐私权”的判断,而仅表示对这种可能性存在的担忧;第三,腾讯也没有权利限制我对我个人实际控制的笔记本电脑进行网络请求截取的权利,同时我也在此保证我所有截图的真实性
|
48
roist 2017-03-01 17:11:25 +08:00
这里很多人心态就是,已经被你 QJ 了很多次了,想再来就随时随地随便你
不是电脑小白,一些很简单的措施就能防御绝大部分 |
49
ykwlv 2017-03-01 17:20:10 +08:00
可以问下是用的什么软件 reject 的吗?还是系统上哪里设置的?
|
50
Lattez 2017-03-01 17:21:51 +08:00
monitor.uu.qq.com 这个...其实不止那个截图, QQ 本体,微信都会有上传, Reject 掉这一个域名就好了
|
51
enenaaa 2017-03-01 17:21:53 +08:00
非常反感这种偷偷摸摸上传数据的行为。一般情况下能禁的就禁了。
这楼里某些人的心态也是醉 |
52
smilexyk OP @ykwlv surge for Mac ,其实如果不想花钱的话下一个 iHosts 修改一下 hosts 文件效果一样的
|
54
famouslastword 2017-03-01 17:31:23 +08:00
@smilexyk 扯那么多不就是说明你拿不出实际证据啊?没实际证据那还有什么质疑点?国内厂商 HTTP 传输海了去,重点是内容是否明文,是否涉及到敏感数据。不合理性? debug 数据收集算不算合理?这种数据收集在手机应用真的多得是。权利?当你下载到该程序并且决定安装这时候你已经同意了腾讯对你的数据进行操作了,你不同意就别安装啊。
|
55
jian529910670 2017-03-01 17:36:21 +08:00 2
@famouslastword 所以你的资料活该被泄露喽
|
56
famouslastword 2017-03-01 17:45:00 +08:00
@jian529910670 这种厂商数据如果泄露了你能怎么样?请你在全球拿出实际案例厂商泄露了你的数据你能怎样?能找出一家保证自己信息不泄露的厂商吗?现在我不就是说不把敏感关键字公开就可以了?关心这些手机程序那点数据传输首先就是自己不懂风控,而且对实际情况都不掌握还质疑,就想央视那些新闻一样可笑。
|
57
roist 2017-03-01 17:50:35 +08:00 6
@famouslastword 你这个心态可真是极品,布道也请把握尺度
|
58
velee 2017-03-01 17:51:04 +08:00 5
@famouslastword 这货不依不饶的样子,让我感觉很费解。我 block 了,你们随意!
|
59
lrigi 2017-03-01 19:08:08 +08:00 via iPhone
@famouslastword 你有毒吧,是个商人都想多赚点钱就不许用户砍价了?
|
60
smilexyk OP @famouslastword @famouslastword 别的我且不说, http 传输只要不是明文就行?你的意思就是 Apple Google Microsoft 推了那么多年的 https 就是咸吃萝卜淡操心就是了,反正 http 只要加个密就行
|
61
jsq2627 2017-03-01 19:37:05 +08:00
这个一看就是遥测数据收集吧,大厂自己研发,小厂使用第三方(比如国内的 oneapm )
还是希望能多一些像楼主这样的人,能够监督大厂的行为。没人监督很容易被滥用。 |
62
oIIo 2017-03-01 19:41:30 +08:00
|
65
smilexyk OP @SpicyCat 可能我用的新浪图床还没有支持 https ,然后最新的 chrome 会提示不安全
|
66
smilexyk OP @jsq2627 到不了这个水平啊……要是我有监督大厂的这个水准,我也用不着来这里询问大家的看法了,可以学习 Price Tag 作者怒斥新浪那样直接面刚腾讯了 QAQ
|
67
smilexyk OP 刚刚又发生了一件非常好玩的事情,重启电脑打开 Surge 后 QQ 登陆不上了,看了一下请求,果然……
反复尝试数次之后终于成功登陆……不知道是不是因为放弃了 QAQ |
68
magiclu 2017-03-01 20:22:32 +08:00
还是 windows10 的 uwp 好, qq 连截图的功能都没有,假如我要截图,要用系统自带的截图软件,然后复制进去
|
69
famouslastword 2017-03-01 20:31:10 +08:00
@smilexyk 少跟我扯 HTTP HTTPS 好不好,你看过 HTTP Payload 没有?第三方截获到除非能解密到信息否则都没啥用,谁不知道应该普及 SSL , 但这就是国内现状,你这半桶水看到点信息就以为可疑我看了都想笑。我这帖就是说你们这些质疑的请拿出干货证据来,否则就是浪费大家时间而且达成不了什么成果。
|
70
Aixtuz 2017-03-01 20:39:59 +08:00 1
Block 还我清净。
|
71
smilexyk OP @famouslastword 第一, HTTP Payload 看过一些,表示以本人的能力加密后的密文确实看不出来具体内容,但是 http 的风险并不是你一句信息加密过了就能解决的;第二,我完全无意浪费您的时间,欢迎 Block 我,这样您的 Timeline 也不会被我这种小白占领,我们时间不值钱慢慢研究这到底有什么风险,您时间宝贵,去干您认为更值得的事情吧。
|
72
otakustay 2017-03-01 21:18:02 +08:00
因为我系统上的 QQ 和微信不会发这个东西我也没办法去验证,从包的大小来看,比较倾向于是普通的健康检查,既然楼主用的是 surge dashboard ,应该会发现这个 dashboard 自己也会定期发 crashlytics.com 的请求
|
73
smilexyk OP @otakustay 其实本人同样倾向于这个属于正常的检查,问题在于他这个检查第一藏在一个工具类 Framework 里,第二没有采用 https 传输,另外重试的时间太短又不会主动停止,让我觉得有些难以接受。另外我刚刚研究出来一个或可复现的方法,先退出 QQ ,打开 Surge REJECT 掉 monitor.uu.qq.com 这个地址,然后再进入,有一定概率触发多次请求这个地址的行为,不知道你们的机器上能否复现。
|
74
Aixtuz 2017-03-01 22:35:10 +08:00 2
地沟油也是常识,所以别人出门吃饭,有点怀疑,还非得说:你那么在意健康,别出门吃啊?
因为错误的可能性,却要别人改变正当的权利。 |
75
skywatcher 2017-03-01 22:37:13 +08:00
|
76
woyaojizhu8 2017-03-01 22:38:19 +08:00
@otakustay crash report ?不能关闭吗?
|
77
famouslastword 2017-03-01 22:52:39 +08:00 3
@smilexyk 真不想回复你,不懂别装懂好不好, http 风险在你这个质疑的场景除了信息是否加密过还能有什么其他风险?你倒是说出来啊,无非就是怕第三方截获破解信息。还有什么触发多次请求的拜托 netcode 都有重试机制啊。
还有那些被 trigger 的人,真理就是有本事就不用,有本事就去改变,而不是在这里吐嘈都吐不到重点。 |
78
szrambo 2017-03-01 23:16:21 +08:00 3
给大家带来麻烦了,这个确实是 RQD 历史版本的 Bug (内部版本 Bugly ),已经联系业务方更新 SDK 版本修复了。这个 Bug 会一直尝试上报联网统计数据以便统计 Crash 率,并不是在发送监控数据,也不包含任何敏感数据。
我一会详细描述下这个 Bug 。 |
79
szrambo 2017-03-01 23:55:44 +08:00 5
首先给大家道歉,给大家惹麻烦了,也让微信受委屈了。
这个网络请求确实是 RQD SDK 发起的, RQD 即 腾讯内部使用的 Bugly (bugly.qq.com),主要用途是为 App 提供质量监控服务。 在 V2EX 发现这个帖子后,我们紧急排查,发现在 RQD 历史版本(受影响版本发布时间为 2015 年)中确实存在对异常处理不当的 Bug ,具体表现为网络请求失败后会进行重试,没有设置重试次数及其他的退出条件。 受影响的业务逻辑为联网信息上报模块,这个联网信息上报的用途是为了统计 Crash 率,并不会包含用户的隐私信息,这点我可以跟大家保证。 我们已经跟受影响的业务方联系升级替换问题版本了,后续大家可以通过升级软件解决这个问题,如果大家还是觉得有困扰的话,不妨继续屏蔽等待新版。 v2ex 上的同学都很专业,有同学提出担心使用 HTTP 协议上报数据有风险。其实我们在 2015 年 9 月 就已经响应 Apple ATS 的号召,对通信方式进行了升级,目前 RQD 和 Bugly 的最新版本都已升级到 HTTPS 协议进行通信,请大家放心。 另外还想重申一下, Bugly SDK 现网版本都不受此 Bug 影响,如果有在使用 Bugly 的小伙伴请继续放心使用,有任何问题请随时跟我们联系。 |
80
smilexyk OP @famouslastword 同志我又没有逼你回复我……不想回复您可以不回复啊……然后再来说你问的问题:
第一, http 为何不安全:做一个很简单的设想,假设我伪装成了上述的请求地址,向客户端发出请求,请求客户端上传数据,在同一时间发送大量请求,就可以瞬间占满上行带宽,更严重的可以参考前面某位被 QQ 段时间大量请求导致防火墙崩溃的仁兄。 http 为什么不安全?不是因为你能想到他能拿来干什么,而是因为你根本想不到有心之人会拿来干什么。 第二,关于请求失败重试的问题,我承认绝大多数 crash report 都会有这个机制,但是我相信绝大多数的 crash report 都会有最大请求数的设定, crashlyrics 也没有说上传失败之后锲而不舍每 15s 来一次坚持几个小时吧? |
82
famouslastword 2017-03-02 00:02:59 +08:00
@smilexyk 大哥不懂就别抛书包好吧?这种程序主动 POST 的请求你伪造请求地址能干啥?你确定你搞懂了?现在 bug 修复而且澄清了,这下好了吧?
|
83
smilexyk OP @famouslastword 我怎么知道这个 POST 可不可以通过服务器请求来触发?
|
84
famouslastword 2017-03-02 00:19:05 +08:00
@smilexyk 我服了,反正我现在无聊,现在是你客户端主动请求服务器。 Client/Server 原理都不懂还抛书包,你认了吧,我不说了。
https://en.wikipedia.org/wiki/Client%E2%80%93server_model |
85
smilexyk OP @famouslastword 首先我还是那句话,没人求你说。其次,你难道就没有发现这个事情本身就符合一个攻击模式么?在这个事情中我本人充当了一个攻击者,主动 reject 了这个请求触发了这个 bug ,如果我对这个地址的请求被人劫持了进行了 reject ,不也一样可以触发?
|
86
famouslastword 2017-03-02 00:40:10 +08:00
@smilexyk 你这种人真是想到就以为是一回事了,如果真是这样的话那大多数程序都有这问题,问题是这数据包如此之小想搞成 DDOS 你也是无聊至极,而且前提是你能控制对方网络,如果你真能控制对方网络你能干任何事情啦大哥,你是无聊还是歇斯底里为反驳而反驳?建议你多学学实际技术而不是在网上看那些小文章就以为自己懂了,你算了吧。
|
87
smilexyk OP @famouslastword 无聊归无聊,反正我也是闲着无聊才会跟你连撕这么多楼(当然我也得承认我一开始确实没怎么想过这种网络请求要如何进行攻击,因为我觉得这种攻击还不如直接发个病毒邮件来的实在),我的一切说法也只是针对你说 http 不明文就安全来说的。言而总之,你说安全也好,我说有风险也罢,官方已经全面更换 https ,我们俩讨论再多不过是对历史遗留的无谓争论而已,不影响你睡眠质量了。有什么事情明早再说,愿你明早迎来一个有活力的早晨,就酱 lol
|
88
yangqi 2017-03-02 01:20:28 +08:00
|
89
cxbig 2017-03-02 01:26:11 +08:00
光是个心跳不能说明问题,抓个包看看是啥内容才是真的。
比方说我在系统 Contacts 里加一条记录,要是被它发出去了,那才算是隐私泄露。 |
90
famouslastword 2017-03-02 01:32:28 +08:00
|
91
kojirou 2017-03-02 02:10:53 +08:00
其实只是 QQ 一直在失败重试。。
而且都用 QQ 微信了,人家要偷隐私还会用这么 low 的方法给你看到哦 |
92
asdwddd 2017-03-02 02:28:10 +08:00
@smilexyk 记得有那种员工和儿童上网行为监控软件会记录所有的键盘记录和定时截取当前屏幕的截图进行上传,
你是不是怀疑 QQ 在干这种事? |
93
yangqi 2017-03-02 02:48:45 +08:00
@famouslastword 你以为你应用里面加密 http 就安全了?太天真了。你再怎么加密数据, header 怎么加密?怎么判断你访问的域名是真的而不是别人伪造的?
http 本来就应该被条件反射成明文,不要自己为自己比别人聪明,那些小聪明都没用的 |
94
smilexyk OP @famouslastword 我当然要和稀泥了,不然我还怎么睡觉……特么当时都凌晨一点多了
|
96
Gerhman 2017-03-02 09:14:36 +08:00
那个 f 开头的人应该就是那种否定别人找快感的类型吧,看他 bb 那么多也是好玩
|
97
famouslastword 2017-03-02 09:24:42 +08:00
|
98
Lucius 2017-03-02 09:32:07 +08:00
@famouslastword #97 同时也表现了你和 LZ 的素质孰高孰低 233
|
99
smilexyk OP @famouslastword 像我这种成天随便发个帖吐个槽也能被人闹腾的凌晨一点多没法睡觉的当然可怜,不过也用不着你来可怜我。谁做技术谁不做也不是你能判断的,你说我不是我就不是了?(当然某种程度上我确实不是做网络技术的)
|
100
Lucius 2017-03-02 09:37:01 +08:00 1
@famouslastword #97
也许你自己觉得很在理,但是这种咄咄逼人 不依不饶的姿态很令人讨厌。就事论事讨论事情,为什么张口就是 智商 too young naive ? 希望你能意识到自己让别人讨厌了。 |