曾经有一把菜刀,360和周总拿着它砍向了流氓软件,而如今这把菜刀砍向了我们。曾经有很多人面对“侵害”,有心杀贼,无刀杀敌,我希望更多的程序员都出来,为互联网的公平和正义提供更多的“菜刀”。
IDF互联网威慑防御实验室
发布日期:2012年11月25日
IDF互联网威慑防御实验室是一个民间信息网络安全爱好者的技术俱乐部机构,骨干成员由相关领域的专业人士、技术人员和业余爱好者共同组成。IDF实验室的研究方向主要集中在:互联网威胁发展趋势、终端安全管理、无线网络通讯安全、僵尸网络等技术领域和产品研究上。IDF实验室面向广大信息网络安全爱好者提供计算机安全知识普及教育、参与对业界相关领域产品、发展动态进行客观的、独立的技术、市场研究与评估,为民间信息网络安全爱好者成长为专业安全技术从业人员提供平台和桥梁。
目录
一、检测背景................................................................. 4
二、 检测目的............................................................... 4
三、 关于360公司隐私保护......................................... 4
四、目标检测软件......................................................... 7
五、检测环境及工具...................................................... 8
六、360安全卫士隐私泄露检测..................................... 8
1、检测环境准备............................................................. 8
a、系统时间设置............................................................. 8
b、安装360安全卫士....................................................... 9
c、关闭自动升级和云安全计划..................................... 9
d、修改文件夹选项.......................................................... 9
e、设置Temp目录“安全”选项卡................................. 10
2、用户信息搜集及上传检测.......................................... 10
七、360安全卫士涉嫌“搜集用户隐私”检测结果....... 14
八、附录一.......................................................................... 17
1、@Royflying原帖与本报告行为检测项对比.................. 17
2、 《一把菜刀:360搜集隐私程序员级分析》............. 18
九、 附录二......................................................................... 22
1、 修订信息.................................................................... 22
2、 致谢................................................................................ 22
一、检测背景
2012年10月12日,方舟子转发了新浪微博网友 @Royflying 的爆料帖《一把菜刀:360搜集隐私程序员级分析》质疑360安全卫士搜集用户隐私。此帖指出“360安全卫士频繁上传大量的信息到服务器,会将大量用户使用其他软件的信息上传到服务器,用户无法知道上传信息的详情,也无法阻止这些信息的上传。这些信息将会暴露用户的生活习惯、作息时间,以及比较私密的软件操作。”
二、检测目的
该报告的目的是基于新浪微博用户 @Royflying 所发微博《一把菜刀:360搜集隐私程序员级分析》中所描述内容及测试方法做的二次验证检测,旨在证实其微博中所描述的360安全卫士涉嫌搜集窃取用户隐私的内容、检测现象、检测手段是否准确、真实、不可抵赖,以验证360安全卫士是否存在在对用户宣传承诺的同时,搜集、窃取用户隐私的问题,从而威胁普通用户信息安全及系统安全。
三、关于360公司隐私保护
本文档摘取《360用户隐私保护白皮书2.0版》(在2010年10月发布的第一版基础上,增加了移动互联网产品的内容:http://www.360.cn/privacy/v2/gaishu.html)中部分内容,以陈述360公司对于个人隐私信息以及360安全软件上传信息的声明。
四、目标检测软件
360安全卫士:
版本:v7.3.0.2003l
安装包大小:17.9 MB
MD5:8FB5774B68133D6CAAC3A2860187BE6F
下载地址:http://down.360safe.com/setup_7.3.0.2003l.exe
如果不能下载或者MD5不匹配,则说明360已经替换该版本安全卫士安装包,请从其他地方搜索下载,注意数字签名时间戳要在2010年11月8日之前。
五、检测环境及工具
虚拟机环境:
VMware Workstation 版本:8.0.5
下载地址:http://d4.xp500.com:8888/xp500.com/VMware_xp500.com.rar
操作系统:Windows XP Professional SP3
检测工具:Wireshark
下载地址:http://www.wireshark.org/download.html
六、360安全卫士隐私泄露检测
我们通过如下操作检测360安全卫士 v7.3.0.2003l是否存在有搜集用户信息并上传到服务器的行为,旨在验证《一把菜刀:360搜集隐私程序员级分析》帖子中所描述内容是否真实、准确、可信。
1、检测环境准备
为避免其他软件或系统干扰,此处选择在虚拟机环境下安装Windows XP SP2操作系统,文件系统为NTFS。向系统内拷贝测试用常规软件安装程序。
a、系统时间设置
调整系统时间到2010年11月11日,以真实还原该版本安全卫士软件行为。若当前系统时间离数字签名时间2010年11月8日较远,会干扰检测过程及检测结果。
b、安装360安全卫士
在安装360安全卫士 v7.3.0.2003l的过程中须断开网络连接,可禁用网卡或断开网络连接,虚拟机中可以选择设置断开网络连接,以防止360云计划对配置文件进行更新。
c、关闭自动升级和云安全计划
360隐私保护中包含“可以随时选择退出‘360云安全计划’,停止360安全软件上传电脑信息。”一句,为避免360云安全计划干扰此次检测过程,此处设置取消“加入‘云安全计划’”,并关闭自动更新,包括木马库。
为检测360安全卫士 v7.3.0.2003l信息记录情况,可根据个人习惯安装部分常规软件,如7z、Notepad++、hash-1.04、输入法等。
d、修改文件夹选项
选择关闭简单文件共享,显示所有文件,显示系统文件,显示文件扩展名。
e、设置Temp目录“安全”选项卡
选择文件夹“%homepath%Local SettingsTemp”,修改temp文件夹的安全属性(需NTFS文件系统),添加everyone用户并关闭everyone的删除权限。以保证任何软件或程序在该文件夹中创建的临时文件不会被删除。
2、用户信息搜集及上传检测
选择运行7z、Notepad++程序,然后打开“%homepath%Application Data360safeLogInfo”目录,查看其中的log文件,发现该路径下存在以360_formal_***命名的log文件,查看该文件,其内容包含有刚刚打开7z、Notepad++操作记录。
如下图所示,log文件中包含操作7z、Notepad++的操作日期、时间及被操作软件路径。
接下来,检测以上生成的log文件是否被通过某种方式上传到服务器。
运行抓包软件,并打开“%homepath%Application Data360safeLogInfo”目录,其中的360_formal_1289299900.log文件已经不在,并重新生成了个360_formal_***文件,同时通过查看抓包记录可以看到之前的log文件被上传到了远程服务器。
浏览“%homepath%Local SettingsTemp”目录是否有zip文件生成,可以看到有一个5f3809b8991f93bf284a190eab69447a.zip文件(通过监测,该文件平均30分钟生成一次)。我们之所以能看到此文件,是因之前对此文件夹做了权限设置。log所在文件夹没有做权限设置,在360安全卫士 v7.3.0.2003l将log上传后自动删除该文件。
将此zip解压出来得到一个5f3809b8991f93bf284a190eab69447a没有后缀的文件,可以用之前安装的Notepad++打开,也可以单击右键选择记事本打开。可以看到压缩包中的内容和之前检测到的log文件内容一致,如下图所示。
查看抓包记录,如下图。
可见360 安全卫士 v7.3.0.2003l将之前的log文件打包并且未经加密又传了一次。
在抓包记录中查找DNS解析记录,可找到61.55.184.71的IP地址是由域名up.f.360.cn解析。
七、360安全卫士涉嫌“搜集用户隐私”检测结果
通过以上验证,360安全卫士 v7.3.0.2003l在未提醒用户的情况下,将搜集到的软件操作信息上传到了360公司的服务器,并随后删除由此产生的临时记录文件。
根据《360用户隐私保护白皮书》,360安全卫士的以上行为特征未遵守《360用户隐私保护白皮书》概述部分中的条款:
通过以上检测结果,360安全卫士 v7.3.0.2003l所搜集用户软件操作信息,对用户隐私造成的风险如下:
若用户运行某一程序,360安全卫士 v7.3.0.2003l会把程序所在路径搜集并未经加密上传至360服务器。若360公司所存放信息的数据库泄露或传输数据被黑客截取进行社工分析,可造成用户的信息泄露。
根据由工信部直属的中国软件测评中心牵头,并联合30多家单位起草的《信息安全技术、公共及商用服务信息系统个人信息保护指南》(草案)(http://wenku.baidu.com/view/c5690605a6c30c2259019e7e.html)中部分条例:
根据以上条例,360安全卫士v7.3.0.2003l对用户信息的处理未遵守其中的用户知情权、选择权及禁止权,并在未获得个人信息主体的明确同意下记录和上传用户行为数据。
截至本报告发布日期,《信息安全技术、公共及商用服务信息系统个人信息保护指南》尚未正式发布,且我国尚无正式颁布的个人隐私法,IDF实验室仅根据以上检测结果,在缺乏相关法律专家的专业意见与指导下,尚不能根据此检测报告结果验证推断360安全卫士 v7.3.0.2003l已经涉嫌窃取用户隐私。
八、附录一
1、@Royflying原帖与本报告行为检测项对比
根据@Royflying 对360安全卫士 v7.3.0.2003l的检测项,以及我方对该版本安全卫士的行为检测项,做如下检测项目对比:
检测对比表(√:有;×:无)
2、《一把菜刀:360搜集隐私程序员级分析》
原文来源于网络(http://weiba.weibo.com/10049/t/z06T3lv2P), 文中言论不代表IDF实验室观点。
【一把菜刀:360搜集隐私程序员级分析 供方舟子及大众参考】这几天方舟子vs360成了网上最热的话题,方舟子说:360你窃取用户隐私。360对于窃取隐私的回应是:你不懂IT,所以没资格指责。你人品还有问题。我懂it,但是我不指责,我来说说而已。那么360和用户隐私是什么关系?方舟子vs360和我又有什么关系?
我来卖菜刀的,菜刀可以是武器也可以是工具。
我希望方舟子买我的菜刀为用户砍出一片互联网晴天。
我也希望360买我的菜刀,砍掉自己的错误行为,还用户一个安全的互联网天空。
我还希望用户也买我的菜刀,做出自己的选择。
下面就是一把菜刀,各位怎么使用就看自己的了。
我抓包时发现360安全卫士频繁上传大量的信息到服务器,经过分析后发现它会将大量用户使用其他软件的信息上传到服务器,用户无法知道上传信息的详情,即使取消‘加入云安全计划’,仍然不能阻止这些信息的上传。这些信息将会暴露用户的生活习惯、作息时间、以及比较私密的软件操作。
360安全卫士的这个收集功能具有很好的实时控制性,可以在云端发布指令,很短时间令客户端停止或开启收集功能,同时收集过程中产生的文件都会被自动删除。这使得这一收集行为具有非常好的隐蔽性。
由于360安全卫士在不同时段发布的安装包收集策略不一致,并非所有版本都具有一致的行为。下面是我对此次分析的产品包的详细信息。
产品版本: 360安全卫士 7.3.0.2003l
安装包大小:17.9 MB
MD5: 8FB5774B68133D6CAAC3A2860187BE6F
下载地址: http://t.cn/zll3LVz
一、360安全卫士全面记录用户使用其他软件的行为信息
正常安装完360安全卫士后,进程防火墙会自动启动,并通过驱动层Hook所有运行程序所需的系统API,运行任意程序时拦截,然后通过appd.dll记录执行程序时间、身份ID、触发程序名、触发程序版本信息、执行程序名、执行程序版本信息等。
记录后通过ipcservice.dll将日志保存为C:Documents and Settings[当前用户名]ApplicationData360safeLogInfo360_tmp_xxxx.log.
以下是一条记录的示例:
二、用户信息日志被360上传到云端服务器,并自动删除不留痕迹
360安全卫士会将收集到的日志合并打包到用户临时目录,上传到360部署的服务器上。
以下是360安全卫士上传文件时的抓包分析截图:
360安全卫士将C:Documents and Settings[当前用户名]Application Data360safeLogInfo目录下的log记录合并后,立即删除相应log文件,并在用户临时目录(C:Documents and Settings[当前用户名]Local SettingsTemp)中创建一个文件压缩后进行上传。压缩文件被命名为随机字符,不易被发现。
上传的地址为:http://up.f.360.cn/upload.php。
上传完成后该压缩包被立即删除,从上传到删除的间隔时间极短,如果没有专业的手段,很难看到被上传的文件是什么内容。
这些信息的上传非常频繁,平均约30分钟就上传一次。直到达到配置文件规定的收集次数才停止收集(默认收集100次),并等待下一次收集的新指令。
另外,用户不知情也不能取消这类收集行为,他们无法知道收集的大致内容,也没有任何手段取消这种频繁上传的行为。即使取消加入‘云安全计划’,仍然不能避免这些信息被上传。
三、360在云端远程控制收集行为,指令下达即实时又隐蔽,取证非常难
在分析中,我还发现了360具有很强的实时远程控制能力。通过更新云端的配置文件,修改几个参数就可以控制360安全卫士是否收集用户信息,以及精确到收集上报多少次后自动停止。
1. 360安全卫士通过配置文件控制是否收集用户信息以及收集的次数等
在360安全卫士的安装目录的ipc子目录下,有一个360hips.ini的配置文件。该文件结构如下:
[OTConfig]
Active= TRUE //TRUE应该是代表开启收集功能
MD5Enable = TRUE
LogFlushSeconds = 180
LogsKeepHours = 72
MaxLogsTotalSize = 20971520
MaxPEFileSizeCalcMD5 =104857600
MaxMD5CacheCount = 1000
MD5CacheClean = 300
LogRecheckSeconds = 14400
MinFreeSpace = 52428800
[FD]
JobTimer = 20
[REPROC]
INTERVAL=60
MAXCOUNT=3
[cpopt]
enable=1
ave=1
[PDU]
PDUCHECK=1
PDUTIMEOUT=2000
PDUTRY=2
PDUAUTO=1
[cplog]
logcount=100 //这里表示收集的次数,收集100次后停止
2.通过服务端更新配置文件,只需要修改两个参数就可以将是否收集以及收集次数的 指令下达到客户端。如:
Active= FALSE
logcount=0
由于360安全卫士每过几分钟就会检查是否需要静默的自动更新,所以,一旦服务端更新文件,指令就可以在很短的时间内到达所有开机的用户。要完全重现收集的现场变得非常难以确定。
3.360近期对收集策略调整频繁
根据360服务端部署的配置文件更新包,可以看出最近的收集策略的变化过程。
示刀完毕,各位请自便,我还有一些唠叨。
关于菜刀的唠叨,曾经有一把菜刀,360和周总拿着它砍向了流氓软件,而如今这把菜刀砍向了我们。曾经有很多人面对“侵害”,有心杀贼,无刀杀敌,我希望更多的程序员都出来,为互联网的公平和正义提供更多的“菜刀”。曾经你们都是什么都不懂的小白,利益都要靠别人来争取,今天有人在拿刀砍向你们,选择莫言是能得到奖励么?怎么做值得思考。
此菜刀:永久免费。
九、附录二
1、修订信息
2、致谢
在本报告撰写过程中得到了来自安全行业的多位技术人员、安全专家及顾问的评审和参考意见,基于他们的意见和建议方使得本报告得以不断修订、完善。
在此感谢@lylspector、@做个好人、@渥村万涛、@黑客老鹰在本报告技术检测、撰写及修订过程提供的意见、建议及帮助。