2011-12-19来源:金山安全中心
摘要:近日,360手机精灵、豌豆荚、腾讯应用助手等手机辅助管理软件被爆存在安全隐患,会导致用户手机内存、存储卡的数据(照片、短信、聊天记录、电话录音、视频以及其他文档)等个人数据不经允许被第三方恶意访问、上传、下载、或篡改、删除。
关键词:安卓 手机管理 漏洞 分析报告
报告摘要
近日,360手机精灵、豌豆荚、腾讯应用助手等手机辅助管理软件被爆存在安全隐患,会导致用户手机内存、存储卡的数据(照片、短信、聊天记录、电话录音、视频以及其他文档)等个人数据不经允许被第三方恶意访问、上传、下载、或篡改、删除。
运行Android平台的智能手机在全球的市场份额约22%,中国又是全球智能手机拥有量最多的国家。据分析,截止2011年第三季度,中国网民拥有的Android手机总量约2500万台,超过iphone手机拥有量。因此,360手机精灵等Android手机辅助管理软件的安全漏洞可能影响数千万Android手机用户。
金山毒霸安全中心对上述软件存在信息泄露漏洞的情况进行了详细技术分析和验证,详细如下:
【 三款手机辅助管理软件存在信息泄露风险的简单分析】
可以看到:
360手机精灵:360安全卫士的覆盖面和其不经明示,连接手机即安装360手机精灵的特点,360手机精灵的漏洞影响的用户面最大。
豌豆荚:该软件通过Wifi下去掉文件管理器功能的方式来处理该问题,造成产品功能的缺失,同时该软件的验证码机制由于在同一机器,同一无线环境下不会变化,因此仍存在一定风险。
腾讯应用助手:该软件通过强度较高的socket的点对点的通信方式,只有在机器本身中木马,或者Hub被抓包的情况下,才存在安全风险,该种情况大部分软件的安全性都会受到波及,因此影响面最小。
目前,三款软件均已经修复原有产品漏洞,金山毒霸安全中心对其修复方案进行技术分析,详细如下:
【三款Android手机辅助管理软件存在信息泄露漏洞的评估及解决方案】
结论:360手机精灵的解决方案依然遗留了较大的安全风险,豌豆荚和QQ应用助手的解决方案技术完善性更佳。
金山毒霸安全中心提示软件企业,功能的便利性不能以牺牲用户数据安全为代价,希望各手机软件管理厂商能够积极协商制定技术规范,进行技术交流和指导,促进行业发展。
1. 情况概述
对360手机精灵样本进行了深入分析,主要结论包括:
·在涉及公司主站以及第三方下载站发现存在该问题样本;
·国内用户手机中间存在该样本;
·样本会开启一个FTP服务;
·样本使用了固定的用户名和密码;
·样本会使用360安全卫士作为主安装渠道,在没有明示用户的情况下,连接手机充电,即会安装到Android手机上;
·在Wifi模式下,没有对访问来源进行限制;
·FTP密码为明文保存易被恶意利用
2. 影响版本
360手机精灵1.31之前版本的用户,包括1.30、1.20等版本
3. 漏洞现象
在安装360安全卫士的机器上,插上数据线会弹出管理手机对话框
图3 手机连接电脑充电时,360弹窗提示管理手机
点击管理我的手机按钮。会提示正在连接手机
图4 360手机助手正在连接Android手机
这时会不经用户确认自动安装360手机精灵
图5 PC端提示安装360手机精灵,手机端不会有任何提示
静默安装后,会出现360手机助手界面
图6 360手机助手主界面
这时候查看手机的设置|应用程序中,就会发现360手机精灵程序已经被安装
图7 Android手机中360手机精灵被安装
360手机精灵会在后台运行,点击运行可以看到如下界面:
图8 手动运行 360手机精灵的界面
此时如果开着Wifi网络,则其他Wifi用户可以通过360手机精灵的漏洞,远程登录FTP服务连接到这部手机上
图9 其他接入wifi的电脑可访问安装了360手机精灵的Android手机
此时可以对手机中的内容进行浏览、下载、删除操作。
图10 安装了360手机精灵的Android手机中存储卡数据正在被下和和进行删除操作
图11 FTP客户端远程删除安装了360手机精灵的Android手机存储卡数据确认后就删除了
图12 安装了360手机精灵的Android手机存储卡数据被远程删除
4. 技术分析
程序版本:
com.qihoo360.daemon 1.3.0
漏洞描述:
360手机精灵提供文件管理功能,这个功能是360手机精灵实现的一个ftp服务来管理文件,ftp的密码明文保存在程序的配置文件中,登录ftp时由于没有限制客户端,导致
在同一AP(无线网热点) 下的其他用户可以浏览、上传、下载、删除安装有360手机精灵的手机的sdcard里面的内容,手机内存目录可浏览、下载。
具体分析如下:
从AndroidManifest.xml 看到,360手机精灵开机自启动,然后后台有一个守护后台服务,监听来至pc 端的ftp连接
<service
android:name="com.qihoo360.mobilesafe.pcdaemon.service.DaemonService"
android:exported="true"
>
</service>
<uses-permission
android:name="android.permission.RECEIVE_BOOT_COMPLETED"
>
</uses-permission>
在主程序里面实现了一个ftp 服务器
图13 360手机精灵内置的Ftp服务
其中有DELE STOR,列举文件等常用ftp命令,在后台DaemonService 服务中,我们会看到开启了ftp 监听服务,等待pc 客户端连接
图14 360手机精灵FTP服务属性
由于360手机精灵会使用SharedPreferences把用户和密码明文存在本程序目录中
图15 360手机精灵的用户名、口令以明文方式保存
知道了用户名和密码,端口和ftp 协议,我们可以开一个扫描器扫描局域网安装了360手机精灵的Android手机。
ftp 登陆没有限制,然后开机后台服务自启动,导致在wifi 环境下,随意登陆ftp服务器,相当于360 把你的手机提供给别人访问了。这样只要你安装了360 手机精灵,在公用wifi 环境下,就能访问你sdcard 里面的东西了。许多程序喜欢备份通讯录,短信存在sdcard中,然而又没有加密(或者加密的强度很差,非常容易破解),这导致黑客直接存取你的信息。
解决方案
新版本中,在Wifi 环境下只允许本机IP地址进行FTP登陆。
图16 新版360手机精灵的修改
但尽管做了IP过滤限制,该方案依然存在被恶意程序或者网站利用的潜在风险;
1. 情况概述:
对豌豆荚进行了深入分析,主要结论包括:
·在涉及公司主站以及第三方下载站发现存在该问题样本;
·国内用户手机中间存在该样本;
·样本会开启一个FTP服务;
·样本使用了固定的用户名和密码;
·在Wifi模式下,没有对访问来源进行限制;
2. 漏洞现象
豌豆荚为了实现文件管理功能,使用了FTP服务,该服务使用了固定的用户名和密码,且因为该软件会自动启动并后台运行,在手机开启Wifi的情况下,同一无线路由器AP中,安装豌豆荚的用户均会受到威胁。
豌豆荚主界面
图17 豌豆荚管理手机的主界面
在豌豆荚启动的情况下,此时如果开着Wifi网络,其他用户可以通过FTP服务连接到这部手机上
图18 豌豆荚启动Wifi方式连接到PC
此时可以连接到这部手机
图19 使用FTP客户端连接安装了豌豆荚的Android手机
同时对手机中的内容进行下载
图20 使用FTP客户端软件下载安装了豌豆荚的Android手机数据
和进行删除操作
图21 使用FTP客户端软件删除安装了豌豆荚的Android手机数据
确认后就删除了
图22 删除后的结果展示
3. 技术分析
漏洞版本:
com.wd.AndroidDaemon 1.8
漏洞描述:
豌豆夹使用ftp 服务,用户名和密码直接写在程序中,登录ftp时由于没有限制客户端,导致在同一AP(无线接入热点)下的其他用户可以浏览、上传、下载、删除安装有豌豆荚手机精灵的手机的sdcard里面的内容。
具体分析如下:
从AndroidManifest.xml 看到,豌豆夹android 端同样使用ftp提供File管理功能
<service
android:name="com.wd.core.server.ftp.WandouFileService">
</service>
在反编译的类WandouFileService.class 里面我们能看到
图23 分析豌豆荚手机端(1)
密码和用户名就是a.f 和a.g 中,在混淆的a类中,可以看到默认的用户和密码。
图24 分析豌豆荚手机端(2)
(豌豆荚的密码需要反编译才能获得,相对于360手机精灵较难被普通用户掌握)
解决方案:
豌豆荚取消了通过FTP文件管理的功能,在Wifi的tcp连接中让用户输入生成的验证码,但是这个tcp链接依然不安全,这个验证对于同一台手机来说会不变,依然有问题,可以用tcp连接来访问联系人以及短信。
影响版本
安装豌豆荚1.1.24.1.1396之前版本的用户,包括豌豆荚1.23.1等版本
修补方案分析
豌豆荚在Wifi环境下,取消了SD卡文件管理功能,造成产品功能缺失
图25 豌豆荚官方就修补方案发表微博
此外豌豆荚使用TCP链接,让用户输入生成的验证码,这个验证码在同一无线网络环境下的同一台手机来说是会不改变,在破解验证码算法后,存在通过该方式读取联系人和短信信息的威胁。
1. 情况概述:
金山对腾讯应用助手进行了深入分析,主要结论包括:
·动态验证进行验证;
·使用socket连接进行连接,相对较为难被利用;
2. 技术分析
漏洞版本:
腾讯应用助手(安卓软件管理)v1.0 Beta3
漏洞描述:
腾讯应用助手使用socket连接,在socket 连接中,由于没有限制客户端,导致在同一AP下的其他用户可以随意存取安装有QQ应用助手的手机的sdcard里面的内容,虽然这种连接理论上能劫持,但是要由于需要验证码,只有仔细分析算法后,写出验证码算法后才能连接,安全的强度不够。
技术分析
从AndroidManifest.xml 看到,腾讯应用助手开机自启动,然后后台有一个守护后台服务,监听来至pc 端的socket连接,如下:
<service
android:name="com.qq.AppService.AppService" >
</service>
<uses-permission
android:name="android.permission.RECEIVE_BOOT_COMPLETED"
>
</uses-permission>
在com.qq.AppService.AppService,根据连接方式选择wifi 连接还是usb连接
图26 分析QQ手机助手
图25 QQ应用助手手机端启用Wifi连接
修补方案分析
在腾讯应用助手(安卓软件管理)v1.0 Beta4 版的更新日志中可以看到:
应用助手for Android 1.0 Beta4 Fix2011-12-15
1. 修改USB连接流程,增加应用助手手机端安装提示
2. 新增Wifi连接确认,保证您的手机连接更加安全
3. wifi连接时手机端增加PC连接的状态显示
在Wifi联网时,手机端有需要用户确认提示对话框,安全性得到很大提高。