一.概要:
(1)测试目的:对豌豆荚手机精灵在正常使用过程中与豌豆荚服务器之间传输的数据包进行分析。
(2)测试方法:通过Fiddler对豌豆荚手机精灵与其服务器之间传输的数据包进行抓包并作对比分析
(3)测试背景:豌豆实验室联合创始人王俊煜称:“每个豌豆荚用户手机上平均安装78个应用,却只有28张照片和24首歌”。蚕豆网针对此事向豌豆荚提出质疑:豌豆荚手机精灵是如何获得用户此类信息?在未获官方明确答复后,蚕豆网对豌豆荚手机精灵数据传输进行检测分析。
二.测试产品描述:
(1)测试对象
重点测试:
豌豆荚手机精灵Windows版 1.24.4.1413
豌豆荚Android版 1.26.0
辅助测试:
豌豆荚手机精灵Windows版 2.0.11.456
豌豆荚手机精灵Windows版1.8.125.572
豌豆荚手机精灵Windows版1.10.0.0
(2)测试产品版本选择描述:
豌豆荚手机精灵于2012年2月19日对外宣传其安装用户突破2500万,并于2012年2月21日发布豌豆荚2.0版,因此本产品测试报告并未选择豌豆荚2.0版作为测试,故选择豌豆荚手机精灵Windows版2.0之前一版本 1.24.4.1413作为重点测试对象。
(3)产品使用环境
PC端:Windows XP SP2
测试手机:三星Galsxy Tab P1000 Android2.2(已恢复出厂设置)
网络状况:PC端与广域网连接;测试手机关闭WIFI及数据通信
三.测试方法:
豌豆荚手机精灵与其服务器间采用加密传输,因时间紧迫,无法在短时间破解其加密算法,于是采用截取其向服务器传输数据包,并对豌豆荚手机精灵向测试手机采取单一的本地输入操作,记录输入数据大小,对豌豆荚手机精灵传输数据包大小进行对比分析。
本测试可分为六个小项,具体方法如下
项目一:测试手机与PC端连接,仅打开豌豆荚手机精灵,待测试手机与PC端成功连接,未做任何操作,10秒钟后关闭豌豆荚手机精灵,检测豌豆荚手机精灵与其服务器间传输的数据包。
项目二:将测试手机与PC端连接,仅打开豌豆荚手机精灵,待测试手机与PC端成功连接,进入通信录选项,添加指定字符串长度的信息,关闭豌豆荚手机精灵,检测豌豆荚手机精灵与其服务器间传输的数据包。
项目三:将测试手机与PC端连接,仅打开豌豆荚手机精灵,待测试手机与PC端成功连接,进入短信选项,发送指定字符串长度信息,关闭豌豆荚手机精灵,检测豌豆荚手机精灵与其服务器间传输的数据包。
项目四:将测试手机与PC端连接,仅打开豌豆荚手机精灵,待测试手机与PC端成功连接,进入图片选项,添加特定规格图片,关闭豌豆荚手机精灵,检测豌豆荚手机精灵与其服务器间传输的数据包。
项目五:对豌豆荚Android版进行分析。
项目六:测试豌豆荚手机精灵Windows版2.0.11.456、1.8.125.572、1.10.0.0。
四.测试过程
测试对象: 豌豆荚手机精灵Windows版 1.24.4.1413
项目测试一:测试未做任何操作情况下豌豆荚手机精灵数据传输
测试次数:10次
测试结果:截取数据包长度为
测试截图如下所示:
项目小结:
本测试结果为豌豆荚手机精灵与测试手机连接后,未做任何操作,10秒后关闭,检测豌豆荚手机精灵与其服务器间传输的数据包为2355byte.
项目测试二:测试添加通信录后豌豆荚手机精灵与其服务器间数据传输
本项目测试包含三个部分:
a. 进入通讯录后关闭豌豆荚手机精灵
b. 进入通讯录后,添加指定字符长度的5个联系人,关闭豌豆荚手机精灵
c. 进入通讯录后,添加指定字符长度的10个联系人,关闭豌豆荚手机精灵
1. 进入通讯录后关闭豌豆荚手机精灵
测试结果:
测试截图如下所示
2.进入通讯录后,添加指定字符长度的5个联系人,关闭豌豆荚手机精灵
添加联系人规格:
每个联系人添加7个选项,每个选项添加100个0,即每个选项添加100byte,每个联系人所占用数据为700byte,本测试共添加5个联系人,数据大小为3500byte。
测试结果如下图所示:
本测试结果为豌豆荚手机精灵与测试手机连接后,添加5个数据大小为3500byte的联系人信息,检测豌豆荚手机精灵与其服务器间传输的数据包为7707byte.
3.进入通讯录后,添加指定字符长度的10个联系人,关闭豌豆荚手机精灵
添加联系人规格:
每个联系人添加7个选项,每个选项添加100个0,即每个选项添加100byte,每个联系人所占用数据为700byte,本测试共添加10个联系人,数据大小为7000byte。
测试结果如下图所示
本测试结果为豌豆荚手机精灵与测试手机连接后,添加10个数据大小为7000byte的联系人信息,检测豌豆荚手机精灵与其服务器间传输的数据包为12459byte.
项目小结:
本项目共进行2次测试,测试结果如下图所示。
结果分析:
当对豌豆荚手机精灵添加5个联系人信息大小为3500byte的信息后,豌豆荚手机精灵传输的数据包大小会较未添加之时增加4736byte;当对豌豆荚手机精灵添加10个联系人信息大小为7000byte的信息化,豌豆荚手机精灵传输的数据包大小会较未添加之时增加9488byte,较添加5个联系人增加4752byte。
测试结果显示,每增加5个联系人豌豆荚手机精灵向其服务器传输的数据包大小几乎相同,同时需要补充,联系人信息的实际大小充分考虑增加结构化信息描述(主要为姓名、地址等标签),所以最终每个联系人信息的实际大小应略大于单独添加的700byte信息。
项目测试三:测试豌豆荚手机精灵在使用短信功能后与服务器间的信息传输
本项目测试包含四个部分:
a.进入短信栏目后,关闭豌豆荚手机精灵
b.进入短信栏目后,将1000byte长度信息发送给1个联系人,关闭豌豆荚手机精灵
c.进入短信栏目后,将10000byte长度信息发送给1个联系人,关闭豌豆荚手机精灵
d.进入短信栏目后,将1000byte长度信息发送给3个联系人,关闭豌豆荚手机精灵
测试结果:
结果分析:
打开豌豆荚手机精灵未做任何操作,发送的数据包大小为2355byte,当进入短信选项,发送数据包大小为2443byte;发送2条不同内容的信息至1个人,豌豆荚手机精灵发送数据包大小相同,均比未发送短信增加了144byte;当发送3条信息至3个联系人时,豌豆荚手机精灵发送数据包大小为2891byte,比发送至单人增加了304byte,平均每条信息增加152byte,与发送单条信息发送数据包大小基本吻合。
测试结果显示,因发送信息长度为1000byte、10000byte、3000byte,豌豆荚手机精灵所发送数据包大小均小于信息大小,因此可以初步认定,豌豆荚手机精灵不会上传短信内容;但平均每发送一条信息豌豆荚手机精灵会发送一个在150byte左右的数据包至服务器,此信息可能包含以下2个内容:1.用户在豌豆荚上操作所执行的行为轨迹。2.豌豆荚手机精灵记录收件人及发件人联系方式。
项目测试四:测试豌豆荚手机精灵在使用图片功能后与服务器间的信息传输
本项目将本地图片通过豌豆荚手机精灵传至测试手机,包含
a.进入图片栏目后,关闭豌豆荚手机精灵
b.进入图片栏目后,将940K图片传至测试手机,关闭豌豆荚手机精灵
c.进入图片栏目后,将245K图片传至测试手机,关闭豌豆荚手机精灵
d.进入图片栏目后,将2张分别为940K、245K图片传至测试手机,关闭豌豆荚手机精灵
e.进入图片栏目后,将940K图片缩放至56K,未改变图片摘要描述,传至测试手机,关闭豌豆荚手机精灵
f.进入图片栏目后,将940K图片增加1000byte的图片摘要描述,图片大小增加至950K,传至测试手机,关闭豌豆荚手机精灵
测试结果:
结果分析:
打开豌豆荚手机精灵未做任何操作,发送数据包大小为2355byte,当进入短信选项,发送数据包大小为2611byte;从表中可以看出,上传一张图片,无论图片大小及是否缩放、图片描述是否更改,豌豆荚手机精灵发送数据包大小均为2787byte;上传两张图片,豌豆荚手机精灵发送数据包大小为2971byte。
测试结果显示,本次图片传输是基于本地,并未通过豌豆荚手机精灵下载图片,而所上传图片大小均超过豌豆荚手机精灵所发送数据包大小,因此可以初步认定,豌豆荚手机精灵并不会上传图片至其服务器,但平均每上传一张图片至测试手机,豌豆荚手机精灵会发送一个180byte左右的数据包至服务器,此信息可能包含以下2个内容:1.用户在豌豆荚上操作所执行的行为轨迹。2.豌豆荚手机精灵记录图片部分属性。
项目测试五:对豌豆荚Android版进行分析
豌豆荚Android版可分为两个进程:前台程序运行进程及后台守护进程。
前台程序运行进程可以直接通过点击应用图标打开;后台守护进程为程序运行自动启动,以保障当测试手机与PC连接后,打开豌豆荚手机精灵,豌豆荚Android版能自动启动。
通过对豌豆荚Android版代码分析后得出,当在手机进程管理器中强制将其进程予以关闭,但如以下几个条件被触发时,其后台守护进程会被重启:
1、打开wifi,豌豆荚后台服务启动
2、接收短信,豌豆荚后台服务启动
3、打开2G/3G网络,豌豆荚后台服务启动
4、插入或者移除内存卡,豌豆荚后台服务启动
豌豆荚Android版监听代码如下:
项目测试六:测试豌豆荚手机精灵Windows版2.0.11.456、1.8.125.572、1.10.0.0
测试对象:
豌豆荚手机精灵Windows版1.8.125.572
通过测试,未发现其存在向服务器传输数据行为。
测试对象:
豌豆荚手机精灵Windows版1.10.0.0
通过测试,未发现其存在向服务器传输数据行为。
测试对象:
豌豆荚手机精灵Windows版 2.0.11.456
通过测试,发现其存在向服务器传输数据的行为,传输数据时间:豌豆荚手机精灵启动时发布。
五.结论
1,通过对豌豆荚手机精灵的联系人、短信、图片操作后,存在以下行为
2,其中,豌豆荚手机精灵Windows版 1.24.4.1413存在以下行为
可能存在的行为分析:
a.记录用户添加本地联系人信息
b.记录用户短信发送动作及部分信息
c.记录用户上传本地图片动作及部分信息
3.通过对豌豆荚Android版分析存在以下行为:
当打开WIFI、接收短信、打开或关闭2G/3G网络、插入或者移除内存卡,均会促发豌豆荚Android版后台守护进程再次启动。
六.附件
豌豆实验室于2012年3月2日对“豌豆荚涉嫌窃取用户隐私信息”报道的回复:
我们非常理解用户看到这篇报道之后产生的遐想以及担心,大家担心的并非平均一部手机中有多少应用、音乐和照片,而是豌豆荚是否知道具体的短信、通信录、视频、图片内容。其实这就好像人口普查,人们并无法通过公布的全国平均年龄和收入得知每个个体的年龄和收入一样。那么针对我们收集到的用户问题,回答如下:
豌豆荚到底知不知道我手机里的具体内容?
一个手机助手软件最重要的功能就是帮用户在自己的电脑上识别手机里的通讯录、短信、应用、音乐等内容,从而用户才能够方便的了解自己的手机并进行管理,豌豆荚Windows版也是一样。
当你在豌豆荚Windows版里看到了你的每一条短信、通信录、音乐、照片、视频等内容,豌豆荚的服务器也会看到吗?不会,豌豆荚的服务器只会统计用户手机里这类内容的数量,但绝不会记录用户短信、通信录、音乐、照片的具体内容。举一个简单的例子,目前豌豆荚用户已经达到2500万,豌豆荚知道的是音乐总数为6亿,这也就是“一个普通豌豆荚用户的手机里装了24首歌”得出的数据,仅此而已。
但是,对于应用,豌豆荚的服务器会对应用的包名、版本信息进行记录,因为只有如此我们才能够帮用户的应用进行版本升级等操作。
豌豆荚为什么要收集应用、音乐、视频数量这样的数据呢?
第一是为了满足用户的基本功能需求,如之上对应用基本信息的收集;
第二是为了帮助豌豆荚改进产品,比如“每个豌豆荚用户手机上平均安装78个应用,却只有28张照片和24首歌”这几个数字,同苹果iTunes的公开数据做对比后就知道,豌豆荚音乐等娱乐内容还做的不够好,有很大改进空间。
豌豆荚手机精灵最终用户协议
1 说明
1.1 本协议适用于北京卓易讯畅科技有限公司(以下称“卓易讯畅”)开发的豌豆荚手机精灵(以下称“本产品”)。使用本产品以及与其相关联的各项技术服务和网络服务之前,您必须同意接受本协议。若不接受本协议,您将无法使用本产品及相关服务。
1.2 您可以通过以下任何一种方式接受本协议:
(A) 在本产品任一用户界面中,点击表示接受或同意本协议的全部条款的选项;
(B) 实际使用本产品或其相关服务。您对本产品及其相关服务的使用将被视为您自实际使用起便接受了本协议的全部条款。
2 个人信息与隐私保护
2.1 本产品涉及的个人数据的网络存储功能及数据共享服务,是用户自愿申请与参与的。产品本身对用户数据采用高安全级别的加密方案,以保护用户的隐私安全。但因用户保管不周而导致的用户信息丢失、密码泄露等非软件本身原因,或由其他网络环境因素及外界不可控因素导致的任何损失和风险,卓易讯畅不承担任何责任。
2.2 用户在使用本产品及其相关服务,以及在进行用户注册时,应保证用户信息的真实、准确和完整。如果上述信息实际发生变化,用户应及时进行更新和修改。对于任何上述信息的不真实、不准确、不完整或未能及时更新所导致的任何损失和风险,卓易讯畅不承担任何责任。
3 使用许可
3.1 本产品授权个人用户非商业性、非专有性地免费使用,用户可以为非商业性目的下载、安装、使用、复制和传播本产品。但未经卓易讯畅特别授权,用户不得以任何商业目的或其他非个人使用的目的对本产品进行复制、销售以及传播,包括但不限于软件产品预装以及捆绑。
4 特别注意事项
4.1 本产品为测试版本。目前卓易讯畅对本产品仅提供试用,试用阶段本产品有可能出现无法预料的异常情况和故障,用户在安装、使用本产品前须充分理解与此有关的一切风险,卓易讯畅对于此种风险造成的一切可能损害后果,不承担任何责任。
4.2 本产品具有自动更新功能,以便及时为用户提供最新功能以及对产品进行修改和优化,可能采用错误修复、增强功能、新软件模块和全新版本的形式。更新将通过网络自动完成,由此造成的本产品在功能服务与界面外观上的变化,将会被视为用户默认接受。
4.3 为进一步对本系统的功能和服务进行优化,我们可能通过本系统收集用户某些数据并与关联服务分享该数据。这些收集和分享的目的仅限于提高本系统的功能和服务,均不指向任何特定用户,且不会被公开或用于其它目的。这些数据将仅被用于提高系统的质量、改进系统性能,同时提供更有价值的服务。
5 所有权及知识产权
5.1 本产品(包括但不限于本产品中所含的任何图像、动画、录像、录音、音乐、文字和附加程序(dll、exe等))、随附的说明材料、及本产品的任何副本的所有法定权利、所有权和利益,包括其中包含的所有知识产权(无论这些权利是否已经注册),均由卓易讯畅拥有,用户不得复制、修改、租赁、出租、借贷、出售、分发这些内容(无论是全部还是部分),或在该内容(无论是全部还是部分)的基础上创作衍生作品。
5.2 未经卓易讯畅特别授权,用户不得复制、修改本产品或其中的任何部分;对本产品或其中的任何部分创作衍生作品;对本产品进行反向工程(reverse engineer)、反向编译(decompile)或反汇编(disassemble),或者试图从软件或软件的任何部分提取源代码。用户不得删除、掩藏或修改相关服务所附加的或包含的任何所有权声明(包括版权和商标声明)。
5.3 本产品和其主页上涉及的由他人合法享有权益的内容、信息和资料,未经权利人授权许可,用户不得擅自复制、修改、或使用这些内容。用户因此对其他权利人的权利侵犯,造成的一切责任由用户自行承担,卓易讯畅不承担任何责任。
6 免责声明与责任限制
6.1 鉴于本产品可通过网络等途径下载、传播,对于从非卓易讯畅指定站点或途径下载的本产品以及从非卓易讯畅发行的介质上获得的本产品,卓易讯畅无法保证该产品是否包含计算机病毒、木马程序或者黑客软件等;对于由此引起的用户直接或间接的损害后果,卓易讯畅不承担任何责任。
6.2 鉴于用户计算机、移动设备软件与硬件环境的差异性和复杂性,本产品提供的各项功能与服务并不能保证在任何情况下都能正常执行或达到用户所期望的结果。对于用户使用本产品产生的一切后果,卓易讯畅均不承担任何责任。
6.3 鉴于本产品的功能和服务涉及到互联网服务和移动通信服务,可能会受到各个环节不稳定因素的影响,存在因不可抗力、计算机病毒、黑客攻击、系统不稳定、用户所在位置以及其他任何网络、技术、通信线路等原因造成的服务中断或不能满足用户要求的风险,用户须明白并自行承担以上风险可能造成的一切后果,卓易讯畅不承担任何责任。对于任何第三方如电信部门的通讯线路故障、技术问题、网络、硬件故障、系统不稳定性及其他各种不可抗力因素(如洪水、暴风雨、地震、火灾、战争、起义、暴动、骚乱、劳工纠纷、意外事故、政府行为、通信和能源故障等)而造成的用户损失,卓易讯畅亦不承担任何责任。
6.4 用户必须在法律许可的范围内使用本产品,不得将本产品用于任何非法或侵权活动,包括但不限于将本产品用于展示、传播包含色情、种族主义、低级趣味、淫秽、诽谤中伤、污辱性质的资料,以及传播任何针对宗教、民族传统、人种、性别、年龄的各种仇恨、歧视和偏见的内容。对于用户此类行为造成的一切后果,卓易讯畅不承担任何责任。
7 协议的解释、变更与终止
7.1 在适用法律允许的范围内,卓易讯畅保留对本协议任何条款的解释权和随时变更的权利。 卓易讯畅可能会随时根据需要修改本协议的任一条款。如发生此类变更,卓易讯畅会提供新版本的最终用户协议。用户在变更后对本产品的使用将视为已接受变更后的协议条款。
7.2 本协议在根据下述规定终止前,将会一直适用。当下列情况出现时,卓易讯畅可以随时中止与用户的协议:
(A)用户违反了本协议中的任何规定;
(B)法律法规要求终止本协议;
(C)卓易讯畅认为实际情形不再适宜继续执行本协议。
8 法律适用与司法管辖
8.1 本协议及因本协议产生的一切法律关系及纠纷,均适用中华人民共和国法律。用户与卓易讯畅在此同意以卓易讯畅营业所在地法院管辖。
(责任编辑:周思洋)