长春网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

首页 供求 博客 电商
黄页 排行 资讯 招聘
娱乐 设计 房屋 拍客
求职 会计 商务 软件
医药 平面 建站 短信
互动 联讯 招标 美食
网事 汽车 教育 旅游
创业 笑话 摄影 运动
传媒 搜索 装修 美容
婚嫁 女性 育儿 通讯
查看: 3920|回复: 0
打印 上一主题 下一主题

全球首款“偷拍插件”曝光 偷偷上传用户屏幕截图 [复制链接]

Rank: 9Rank: 9Rank: 9

跳转到指定楼层
楼主
发表于 2013-2-17 18:22:28 |只看该作者 |倒序浏览

1月28日,360安全中心发布公告称,发现百度凤巢正在推广一款名为Baidu.Medusa的“偷拍插件”。它在未作任何提示、未经用户允许的情况下,暗中对用户电脑屏幕截图,并把图片上传到百度服务器。此前,只有木马和间谍软件才会偷拍屏幕截图,大众商业软件中百度“偷拍插件”在全球都是首例。


360安全中心发现,百度对其插件注册名称为Baidu.Medusa(美杜莎,希腊神话中丑陋的毒蛇女妖)。一旦用户电脑安装该插件,百度能够轻易判断出用户正在使用哪款浏览器上网,再专门针对360浏览器进行不兼容提示。


据工程师分析,百度“美杜莎偷拍插件”会采集用户系统信息,包括电脑的CPU信息、磁盘序列号、网络地址和网卡信息、当前所有进程列表和浏览器进程名,并在用户登录百度凤巢时对电脑屏幕截图,再将这些信息一并上传到百度服务器上,以此识别和封杀360浏览器,甚至利用这些信息向用户推送“精准广告”。


调查发现,百度“美杜莎插件”推广目前只针对二三线城市,避开了监管部门和媒体集中的北上广区域。在北京只有使用外地的网络代理,才能重现百度“美杜莎插件”的行为。360安全中心已对上述情况进行公证。


百度“美杜莎偷拍插件”技术分析


美杜莎是百度对其“偷拍插件”自己定义的名称。它的原理是,百度插件上传用户屏幕截图等信息,由服务端判断用户正在使用哪款浏览器,从而挟持百度凤巢客户资源针对360浏览器进行不兼容提示。


“美杜莎”分为网页脚本、客户端和服务端三个部分,三者交互完成密码加密和浏览器检测“二选一”目的。


百度“偷拍插件”系统结构和实现


当用户访问开启了“美杜莎”计划的百度凤巢(北京测试时需要外地代理),网站会先通过加载指定的JS脚本,弹出对话框要求用户安装插件。在用户安装完成后,用户登录界面上密码框会变为输入控件的输入框,如图:


该插件会通过特殊方式获得用户输入的密码,加密后计算一个加密的密码,在用户选择登录时:


首先会发送一个握手请求给服务端,包括插件的版本号等,请求获取一个SID(Token),服务端若判断插件有更新,则会返回需要更新,由网页脚本弹出对话框提示:“控件已经更新,请重新下载安装!”


接着网页JS脚本会调用控件的接口: sendEnvironmentInfo,收集当前用户的环境信息并发送给服务端,这是独立于当前网站的一个收集和判定系统,由百度客户端插件收集以下信息:

用户的CPU信息

用户的磁盘序列号

用户的网络IP地址、MAC地址和网关信息

用户网络DNS信息

用户的当前浏览器进程名称信息

用户当前启动的所有程序的进程名称信息

用户当前电脑屏幕的图像截图


除了屏幕截图外,其它信息都使用AES加密算法进行了加密。百度将全部这些信息打包编码到一个数据包后,会通过加密的HTTP传输协议上传到百度的服务器:https://isafe.baidu.com/cinfo,百度服务端解密后看到的数据如下:


偷拍插件采集数据上传后,百度服务端程序会对上传的数据做判定,然后给控件返回一个状态码,网页脚本通过控件的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数据到http://isafe.baidu.com/cinfo这个百度服务器地址上。


综上,百度用于判定用户软件使用情况的数据有:当前进程、进程列表和屏幕截图。以下为几处代码分析:


1、百度“偷拍插件”通过GetDIBits对用户电脑屏幕截图:


2、把截取的BMP数据编码后发送到百度服务器:


3、抓取用户的Cpu、磁盘序列号、ip地址、mac信息、网关信息、DNS信息和所有进程列表上传:


4、网页脚本根据百度服务端返回的状态码弹出相应提示,怎样提示完全由服务端控制:


分享到: QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
分享分享0 收藏收藏0
长春网站建设

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

关于我们|手机版|简洁版|搜索|广告招商|长春网

GMT+8, 2024-4-20 20:13 , Processed in 0.052794 second(s), 14 queries .

版权所有 吉林省新格信息技术有限公司 长春网 联系QQ:5053050 微信号:13624467185

© 2008-2012 吉林省长春地区信息分享门户网站。 ICP备案号: 皖ICP备2021004516号-11
建站技术支持:长春新格

回顶部