360指责百度窃取用户信息 公布美杜莎插件技术分析

2013-02-03 09:37:18   来源:   评论:0
1月28日,360安全中心发布公告称,百度凤巢正在大规模部署"偷拍插件"。它在未作任何提示、未经用户允许的情况下,暗中对用户电脑屏幕截图,并把图片上传到百度服务器。360安全中心发现,百度对其插件注册名称为B...
1月28日,360安全中心发布公告称,百度凤巢正在大规模部署"偷拍插件"。它在未作任何提示、未经用户允许的情况下,暗中对用户电脑屏幕截图,并把图片上传到百度服务器。
 
360安全中心发现,百度对其插件注册名称为Baidu.Medusa(美杜莎)。一旦用户电脑安装该插件,百度能够轻易判断出用户正在使用哪款浏览器上网,再专门针对360浏览器进行不兼容提示。
 
据工程师分析,百度"美杜莎插件"会采集用户系统信息,包括电脑的CPU信息、磁盘序列号、网络地址和网卡信息、当前所有进程列表和浏览器进程名,并在用户登录百度凤巢时对电脑屏幕截图,再将这些信息一并上传到百度服务器上,以此识别和封杀360浏览器。
 
据360的调查,百度"美杜莎插件"推广目前只针对二三线城市,在北京只有使用外地的网络代理,才能重现百度"美杜莎插件"的行为。360安全中心已对上述情况进行公证。
 
百度"美杜莎插件"技术分析
 
百度"美杜莎插件"系统结构和实现
 
"美杜莎"分为网页脚本、客户端和服务端三个部分,三者交互完成密码加密和浏览器检测"二选一"目的。
 
当用户访问开启了"美杜莎"计划的百度凤巢(北京测试时需要外地代理),网站会先通过加载指定的JS脚本,弹出对话框要求用户安装插件。在用户安装完成后,用户登录界面上密码框会变为输入控件的输入框,如图:
\
该插件会通过特殊方式获得用户输入的密码,加密后计算一个加密的密码,在用户选择登录时:
 
首先会发送一个握手请求给服务端,包括插件的版本号等,请求获取一个SID(Token),服务端若判断插件有更新,则会返回需要更新,由网页脚本弹出对话框提示:"控件已经更新,请重新下载安装!"
 
接着网页JS脚本会调用控件的接口: sendEnvironmentInfo,收集当前用户的环境信息并发送给服务端,这是独立于当前网站的一个收集和判定系统,由百度客户端插件收集以下信息:
 
用户的CPU信息
用户的磁盘序列号
用户的网络IP地址、MAC地址和网关信息
用户网络DNS信息
用户的当前浏览器进程名称信息
用户当前启动的所有程序的进程名称信息
用户当前电脑屏幕的图像截图
除了屏幕截图外,其它信息都使用AES加密算法进行了加密。百度将全部这些信息打包编码到数据包后,会通过加密的HTTP传输协议上传到百度的服务器,百度服务端解密后看到的数据如下:
\
偷拍插件采集数据上传后,百度服务端程序会对上传的数据做判定,然后给控件返回一个状态码,网页脚本通过控件的getLastErrorCode接口获取到这个状态码。当服务端程序通过进程信息或截图判定用户正在使用360浏览器,则返回-3这个状态码。
 
网页脚本判断如果返回的状态码是-3,那么就调用控件的getSendbackMessage接口,目的是获得百度服务端返回的一段文字,并弹出对话框提示用户更换其他浏览器。
 
在这个过程中,上传信息判定是由百度云端决定的,弹框的文字也是由云端发送的,关键逻辑都由云控。
 
由于上传信息非常丰富,因此百度云端判断相当灵活,不仅可以针对360浏览器不兼容,还可以针对系统中其他任何软件做不兼容提示,提示文字也是完全云控、可随时变化的,同时还可以随时在服务端配置升级,要求用户更新插件,以便应用新的信息采集和对抗策略。
 
百度"美杜莎插件"技术原理
 
npBaiduSafeInput.dll控件的关键在于sendEnvironmentInfo这个函数,它首先收集信息,收集的信息包括cinfo\bmp两个字段。
 
cinfo字段包括了除了截屏之外的其它系统信息,是一个简单的key-value结构数据,使用AES加密算法进行了加密,然后编码为ASCII-HEX后,保存在数据包的cinfo字段中。
 
获取cinfo.processlist字段系统进程列表信息使用的API是ToolHelp32 系列API,通过对比当前进程Pid,在进程列表中筛选出当前浏览器进程名并保存为cinfo.currentprocess字段。
 
截屏数据则通过GetDIBits截取屏幕指定区域的图像并保存为BMP数据,编码为ASCII-HEX后,保存在bmp字段。
 
这些数据再加上之前获取的sid数据,和计算整个数据包的md5数据,拼接成具有4个字段的数据包,通过WinHttp接口发送加密的HTTPS数据到isafe.baidu.com/cinfo这个百度服务器地址上。
 
综上,百度用于判定用户软件使用情况的数据有:当前进程、进程列表和屏幕截图。以下为几处代码分析:
 
1、百度"美杜莎插件"通过GetDIBits对用户电脑屏幕截图:
\
2、把截取的BMP数据编码后发送到百度服务器:
\
3、抓取用户的Cpu、磁盘序列号、ip地址、mac信息、网关信息、DNS信息和所有进程列表上传:\
4、网页脚本根据百度服务端返回的状态码弹出相应提示,怎样提示完全由服务端控制:\
百度:将在全国推广安全升级
 
对于360的指责,百度发布回应称,为保障百度客户账号及资金的安全性,百度"凤巢"客户管理内部系统近日进行了安全策略升级。但百度"凤巢"客户管理系统是百度与代理商和客户进行业务协同的内部管理信息系统,并非面向普通用户,此次安全升级不会影响到普通用户。
 
百度表示之所以要对凤巢进行安全升级,是因为有包括奇瑞、三峡集团等在内的多个客户反映,企业内部信息遭某浏览器上传并泄露。百度之前也曾多次接到客户投诉,称在使用某浏览器时发生数据及信息丢失的情况,甚至被盗用账号。这样做都是"基于客户安全考虑。"
 
百度称,"此次'凤巢'内部系统安全升级活动正在面向部分客户试运行,未来会进一步在全国客户中推进。"

相关热词搜索:指责 百度 窃取
延伸阅读

友情链接

服务电话: 0722-7113736 作息时间:周一至周五 8:30-17:50

CopyRight © 2010-2012 版权所有:随州博强网络科技 

洒水车 www.szbq.net 随州生活宝 汽车公告 地址: 随州市时代广场C区115号  随州博强网络科技