事件回顾 | 关于QQ读取Chrome历史记录

3026次阅读  |  发布于3年以前

这个年头应该还不会有人不知道QQ吧?很多人学会上网,就是从申请一个自己的QQ号开始。

QQ作为一款国民级的通讯App,被很多粉丝拥戴着,也被很多双眼睛注视着。

本周日,看雪论坛会员qwqdanchun发文称QQ存在读取Chrome历史记录的行为,引发大家强烈关注,事件一度上升为知乎热榜,看雪论坛的原帖浏览量也已超过20万浏览量,看雪论坛一度被挤爆带宽,造成无法访问。

那么接下来小编就带大家一起来梳理一下本次事件。感谢qwqdanchun、anhkgg 对本文技术部分的支持。

验证过程

以下内容为qwqdanchun提供。 开虚拟机装QQ、Chrome,然后打开Process Monitor开始等。规则简单的过滤下。

果然看到了读取AppData\Local\Google\Chrome\User Data\Default\History等目录的操作。

而且时间也是恰到好处的十分钟。

这是实锤了QQ和Chrome过不去啊。 把规则去掉,重新翻了一下发现QQ遍历了Appdata\Local\下的所有文件夹,然后加上User Data\Default\History去读。

User Data\Default\History是谷歌系浏览器默认的历史纪录存放位置,Chrome中枪也就很正常了。 接下来就该研究研究QQ为什么要这么干,以及读取到的浏览器历史记录又用来干什么了呢? 挂上x32dbg,动态调试找到位置。

然后去IDA里直接反编译出来,如下(位置在AppUtil.dll中 .text:510EFB98 附近)

这一段的逻辑还是很好看懂的,先读取各种 User Data\Default\History 文件,读到了就复制到Temp目录下的temphis.db。 回去看下Procmom,果然没错。

再之后的操作就简单了,SQLite读取数据库,然后“select url from urls”。 此外,TIM也未能幸免。

分析到这里,似乎这些“浏览器历史记录被用来干什么”的问题有了答案,但是看雪论坛ID为 anhkgg 的会员对这个结论表示质疑。

QQ读取信息是否侵犯隐私?

以下为anhkgg的分析过程: anhkgg认为QQ仅仅暂时拷贝了chrome历史记录文件到临时文件temphis.db,然后刷选了url进行了一些检测,log信息中看到关键字ptjcur Detect2。 然后通过DeleteFile删除了临时文件temphis.dbg,因为读取历史记录和删除临时文件中间并没有什么上传服务器之类的操作,所有都是本地完成的。 因此将此行为上升到了用户隐私上,这个结论确实略有不妥。 接下来,更新深入和仔细的分析下看看:

读取历史记录相关逻辑是在一个线程中,线程首先会判断dns domain是tencent.com或者存在SNGPERF,则bint为1,那么后面的读取历史记录也就不会做了(这是不针对企鹅内部环境?)。 如果bint是0,则开始detect。 首先通过urlcache(后面再读取chrome历史记录)读取url信息(ptjcur Detect1)。

然后计算url的md5,比几个固定的md5值比较。

如果md5匹配,会解析url分析&后面的参数,然后继续把这个参数做md5计算,和一些md5比较,匹配存入一块内存。 具体后续有什么动作,经过这些简单的分析还不能确认,所以也不能轻易对其下结论。 需要比较url的md5如下,有条件的朋友可以去跑跑看结果是什么,然后企鹅究竟要作什么就一目了然了。-

<pre class="code-snippet__js"><section style="margin-left: 16px;margin-right: 16px;">`<span class="code-snippet_outer">0x1C6389BA, 0xF2FA5666, 0xF2A2E0D3, 0xC892E7BA``<span class="code-snippet_outer">0xB829484C, 0x520F7CC3, 0x94EC8A73, 0xD808E79``<span class="code-snippet_outer">0xDDA1029, 0x9E67F3BB, 0xB18ACC45, 0x597CF438``<span class="code-snippet_outer">0x2564591C, 0x5B11347B, 0x846A0F72, 0xEF704A8`

结 论

QQ会试图读取电脑里所有谷歌系浏览器的历史记录并提取链接,并与一些网站对比,对比成功的会上报。整个操作并不会涉及浏览器之外其他软件,也不会获取浏览记录之外的数据,获取到的数据也没有直接上传服务器。 由于有对电脑域的判断,可能存在程序员失误,写错了判断条件的可能(不过这么久没有发现确实不应该)。 目前,确认会中招的浏览器包括但不限于Chrome、Chromium、360极速、360安全、猎豹、2345等浏览器。 电脑版QQ、TIM、微信和其他版本的QQ均存在此操作。会被读取的只是浏览器历史记录,密码书签和cookies等是安全的。而浏览记录也不是直接上传,总体来说,大家的隐私还是较为安全的。

腾讯回应

腾讯方面今日对此事作出回应,并表示QQ安全团队高度重视并展开调查,发现PC QQ存在读取浏览器历史用以判断用户登录安全风险的情况,读取的数据用于在PC QQ的本地客户端中判断是否恶意登录。所有相关数据不会上传至云端,不会储存,也不会用于任何其他用途。

腾讯方面称具体情况为,该操作为历史上线的一个对抗恶意登录的技术解决方案:因系统识别有不少伪造的QQ客户端会恶意访问多个网站作为前期辅助工作,因此在PC QQ客户端中加入了检测恶意和异常的访问逻辑,以此作为辅助手段去判断恶意客户端。 腾讯方面就本次事件深表歉意,内部正梳理历史问题并强化用户数据访问规范。 腾讯方面称,目前已经更换了检测恶意和异常请求的技术逻辑去解决上述安全风险问题,并发布全新的PC QQ版本。为减少不便,所有受影响的PC QQ历史版本将在今天开始进行热更新和推送升级包。同时,手机端QQ不存在上述操作,不受影响。

帖子原文链接:

本文转自看雪论坛

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8