本帖最后由 Bugsong 于 2012-12-26 11:52 编辑
原创发表于— 搜狗输入法上传数据那点事 | 大D综合研究院 原文链接:http://www.dadclab.com/archives/912 本文采用知识共享署名-非商业性使用-相同方式共享 2.5 中国大陆许可协议进行许可。 协议查看链接:http://creativecommons.org/licenses/by-nc-sa/2.5/cn/ 最近CSDN技术社区、人人网、多玩网、嘟嘟牛等网站都爆出被黑客暴库导致大量用户数据泄露的事件,把网际网络上弄得尘土飞扬啊。。越到年底越不平静啊。。哈哈。
前几天在技术宅社区看到一篇文章,【授权转载】密码泄漏和黑天鹅事件 ,其中一个回复表示:“ 很久以前觉得SogouCloud那个进程挺奇怪的,好好的一个输入法附加进程访问外置磁盘干嘛呢(从某次拔U盘开始)!一直输入密码都是敲了Ctrl+Space,但是感觉那个进程在就是不安全……
OK,对于这个,咱们来分析一下进程文件好啦。
P.S.图片看不清的话,请使用新时代浏览器(FireFox、Chrome、Opera等)进行浏览,点击图片会有大图哦~
首先,自然要分析一下这个进程调用了什么DLL文件,也就是有多少个模块。 CurrProcess分析进程模块
从上图的结果可看出,在这个“可疑”的SogouCloud.exe程序运行的时候,基本都是加载Windows的系统dll,Comodo的文件是我的防火墙啦,MacType.dll是一个字体渲染软件。
只加载系统dll文件,可见其程序的功能基本是一些系统功能的扩展。
随后,大D将这个进程的内存数据进行了转储,查看了一下运行时的模块。
VS打开进程DMP转出文件
通过查看内存转储模块,与 CurrProcess检测出的模块进行对比,一致,程序进程不会因为转储调试等行为关闭一些模块和附属进程。
在技术宅社区的回复中提到,SogouCloud.exe程序会访问磁盘,尤其是外置存储设备,譬如U盘,移动硬盘等设备。
大D通过ProcessActivityView程序侦测该进程是否有访问磁盘的操作。 查看进程是否访问磁盘
在开启检测程序之后,大D先后插入两次U盘,U盘里有很多的文件,文本文件、图片等数据。插入一次移动硬盘,移动硬盘内同样有大量的数据。
很遗憾,没有检测到程序访问本地磁盘的操作。 ProcessMonitor监视进程操作
同样很遗憾,使用ProcessMonitor监视进程,同样没有发现进程访问本地磁盘,只有几次注册表操作和大量的TCP网络操作。
既然没有访问磁盘的操作,那么,这些TCP操作是在上传什么数据呢,想要知道上传的数据内容,接下来就要抓包操作了。
根据操作的内容,发现进程频繁的与IP地址为:123.126.51.19这个服务器进行数据交互操作。
下面我们使用Wireshark对与IP地址为:123.126.51.19的服务器进行数据交换的全部进程进行监听和抓包操作。 监听与123.126.51.19数据交互的进程
在同一时间内,有大量的收发包,我们随机对一个数据包进行分析。 对1363序号的数据包抓包
抓取到1363序号的数据包之后,我们分析一下TCP操作的数据包的内容。 分析1363序号数据包
我们分析的这个包有467字节大小,数据向服务器上的/web_ime/pynet.php传递数据,其中还记录有数据来源,也就是搜狗输入法的版本号。
我们可以看到,大D上次输入的“我截屏”这三个字的拼音被发送到服务器上。
数据的下方HTTP返回的代码为200,表示数据正确被服务器接收。
总结
首先,搜狗输入法的SogouCloud进程是不会访问本地磁盘资源的,使用程序监听进程磁盘操作是监听不到的,同时发送的数据包内容全部为你输入的词汇的拼音。
第二,搜狗输入法的SogouCloud进程是做什么用的。根据对上传数据行为的分析,这个进程上传用户的输入词汇,已完成对自身词库的充实。有时屏幕下角会提示最热词汇什么的,都是这个进程大量采集用户输入数据得来的。
第三,使用搜狗输入法是否会导致密码泄露,在监听SogouCloud进程时,在开启输入法,启用英文出入的状态下,没有发现进程截取用户输入的数据进行上传,可见,暂时该进程不会泄露密码。
第四,大D没有在搜狗拼音输入法的设置界面找到关于搜狗云计算服务的相关设置选项。使用AutoRuns查找,也没有发现该进程的自启动项。
第五,建议大家在输入密码时,关闭输入法并使用屏幕键盘的方式。
|