主流安全大漏洞:隐私空间泄密
目前很多安全软件都提供了隐私空间、文件保险箱之类的功能。这类功能对于用户来说还是很实用的。因为,现在一般用户会在智能手机上保存各种照片、视频、文件等隐私文件。不过一旦手机丢失,隐私文件就很可能泄露出去。但是这些功能到底有多安全呢?经过我们研究,所有主流安全软件都存在漏洞,隐私数据会泄密。
市面上常用的安全软件将需要保护的文件分为图片、视频和普通文件。用户可以进行添加、还原等操作。对于图片、视频还可以直接打开。这一功能对于用户来说是比较人性化的。用户无需先还原,再根据文件地址打开图片或视频。但是,正是这一功能,给隐私空间留下一个严重的漏洞。该漏洞目前还没有那一家第三方安全软件已经解决。
首先,一般被加密的文件都是存在sdcard上。由于sdcard是采用fat32格式的,无法保存权限相关的数据。所以linux下的用户、组等权限管理功能就无法适用。存在sdcard上的文件,能够被所有申请了读写sdcard权限的App直接访问。因此本质上讲,以明文形式存在sdcard上的所有文件都是不安全的。有了以上前提,我们来看一下安全软件是如何保护sdcard上的文件的。一般的安全软件保护文件分为两步:一,将原始文件加密;二,将其放入特定文件夹并删除原始文件。这样做能够使其他软件即使知道了被保护的文件地址,拿到的也是加密之后的数据。解密一般文件则按照相反的流程来做。对于图片、视频文件,用户可以直接打开。这一功能在Android平台一般有两种做法。一种是不保留解密后的临时文件,直接在内存中解密,并且通过内置的浏览软件打开。该方法不会在sdcard上留下解密后的临时文件,安全性比较高;另一种是在sdcard上保存解密后的临时文件,使用内置或外置的浏览软件打开。显然,这种做法就会给隐私空间留下一个严重的漏洞。其他软件能够直接访问解密后的临时文件,窥探用户的隐私。
既然,第二种方法如此的不安全,为什么还会有安全软件采用呢?原因很简单,对于一些比较庞大,或者无法用内置浏览器打开的文件,第一种方法就无法使用。具体的例子,可以对比一下图片和视频的保护。之前在研究图片加密的时候,有些安全软件也会保存解密后的临时文件。但在之后版本中,陆续发现该方法逐渐被摒弃。目前,市面上采用的普遍做法是内存解密+内置软件打开。因为,图片文件一般都不大,并且要实现图片解码是比较简单的。但是,对于视频文件,该方法就失效了。视频文件一般都比较大,格式种类也很多,实现视频解码难度比较大。因此,目前安全软件采用的都是保存临时文件,然后调用系统Intent,打开该文件。
系统的Intent一般类似下面这条腾讯手机管家的log,解密视频文件就是/mnt/sdcard/.tmfs/9e198ad989d3a6e96c0ded91ea2da052.mp4
I/ActivityManager(534): START u0 {act=android.intent.action.VIEW dat=file:///mnt/sdcard/.tmfs/9e198ad989d3a6e96c0ded91ea2da052.mp4 typ=video/* flg=0x4000000 cmp=com.android.gallery3d/.app.MovieActivity (has extras)} from pid 10775
具体临时文件目录可以看下图
360隐私保险箱 v1.0.8.1029
LBE安全大师 v5.0.3720
腾讯手机管家 v4.1.1
网秦私密空间 v3.6.86.22,网秦私密空间略微复杂,文件夹是随机创建的。
以上都是采取正常逻辑解密,之后调用视频播放器打开。而安全管家的做法做法着实让我们有点惊讶,因为未采用任何加密方法加密,而仅仅是将文件后缀名去掉之后保存,有点掩耳盗铃的感觉。
安全管家 v3.9.5
乐安全是我们比较尊敬的一个团队,主要原因是这个团队总是会打破常规,在技术上另辟蹊径,寻求不同的解决方案。
我们曾经分析过的乐安全内嵌广告拦截也是如此:连接:乐安全内嵌广告屏蔽原理
首先乐安全会在sdcard上创建一个隐藏文件夹.pFolder,下面有pictures/videos/files三个文件夹存放明文的隐私数据,如果乐安全申请了root权限,会mount一个空镜像loop设备到.pFolder,文件访问权限是root,这样第三方app无法访问.pFolder。具体做法是:
1. 当隐私空间不在前台,执行命令:mount -o loop /sdcard/.cover.img /sdcard/.pFolder
这里.cover.img是乐安全创建的一个空的ext2系统镜像文件,然后连接到某个空闲loop设备,最后再mount到.pFolder文件夹,由于是root权限,所以第三方app无法访问。
2. 一旦隐私空间在前台,执行命令:umount /sdcard/.pFolder
值得肯定的是乐安全这样做很巧妙,且数据不用加密,效率更高,但是依然有很大漏洞:
1. 最可怕的问题,如果没有root权限,.pFolder所有数据都是明文存储,且第三方app都能访问,乐安全并没有对无法拿到root权限下做特别处理。
2. 打开隐私空间必须unmount,这个时间段如果有恶意程序开发一个后台程序扫描.pFolder,所有数据都可见,我们已经实现这样的原型。
3. 通过U盘或者MTP方式连接到PC查看SD卡内容,.pFolder下所有数据可见
另外,技术上一个改进建议:为什么不直接mount tmpfs到.pFolder不是更简单,省去创建.cover.img?
乐安全 v5.0.6
为了方便大家学习研究,我们写了一个demo app,操作方法很简单,打开app,然后推出,等待copy视频,所有隐私视频拷贝出来放在sdcard根目录下面的steal文件夹。
Demo app源程序下载地址:http://qun.qzone.qq.com/group#!/321150823/share, StealPrivacy.rar
总而言之,这一漏洞分布很广,几乎所有提供隐私文件保护的安全软件都会存在;另外,即便是加密了,恶意软件把加密文件上传到服务器,暴力破解也是比较容易的。
真正的数据保护主要有2个层面的要求,一个是加密,一个是隔离。这方便做到企业级有黑莓和三星Knox。第三方app只能做到第一个层面,无法做到第二个层面。
小分队提出的系统解决方案就是在系统层面同时满足以上两点要求。
具体方案,我们参照Android保护sdcard上安装的软件的策略,在系统级对这一漏洞进行修补。实现一套加密文件系统,提供加密文件的读写接口,直接从系统调用这一层进行保护。这样做可以避免保存明文的临时文件。如果实在要保存临时文件,也可以参考sdcard上的asec文件保护方法。同过vold多次挂载的方式,在Runtime时,将临时文件路径重定向,从而彻底保护临时文件。
最后感谢小分队外援:小分队_菜鸟(QQ号:437427128),开发demo程序
主流安全大漏洞:隐私空间泄密相关推荐
- android酷管家初始密码,不丢文件不忘密码 酷派大神隐私空间体验
人人都有隐私,人人都需要保护隐私.私密完全不只有那些不能见光的东西,也有很多属于自己的小秘密,也有不少不愿让陌生人知晓的资料.为了隐藏心中的秘密,为了不让账号密码这类隐私流露避免潜在损失,所以我们要将 ...
- android 隐私空间,不想用隐私空间?安卓用户原来还可以这样隐藏手机秘密
原标题:不想用隐私空间?安卓用户原来还可以这样隐藏手机秘密 这几天我的手机经常会弹出提醒框,说我已经连续使用手机5个小时,提醒我放下手机休息休息,多的时候这个提示一天会弹出来两三次.不知道这个提醒功能 ...
- 触目惊心:2015十大最具影响力的数据泄密事件
2015年,是数据安全事故频发年,也是数据安全防护技术高速发展的一年.回顾整个2015,产业信息化.数字化.网络化进程加速,互联网+已然成为一种不可逆的趋势,互联网.云计算.大数据带来更新式革命,然而 ...
- 鸿蒙系统有无隐私空间,华为鸿蒙OS系统有隐私空间功能吗 华为p40使用鸿蒙系统体验评测...
小米手机的黑科技那是真的多到不可想象,其中比较神奇的就是这款手机鸿蒙系统有没有隐私空间呢?接下来小编就来带大家一起了解鸿蒙系统怎么样吧. 鸿蒙系统有没有隐私空间 根据最新消息华为鸿蒙系统还是有隐私空间 ...
- 华为隐藏鸿蒙,鸿蒙系统有隐私空间吗_华为鸿蒙系统有隐私空间吗
小米手机的黑科技那是真的多到不可想象,其中比较神奇的就是这款手机鸿蒙系统有没有隐私空间呢?接下来小编就来带大家一起了解鸿蒙系统怎么样吧. 1.鸿蒙系统有没有隐私空间 根据最新消息华为鸿蒙系统还是有隐私 ...
- mSystems: 南土所褚海燕组揭示了大空间尺度下空间比季节对土壤微生物群落的影响大
文章目录 大空间尺度下空间比季节对土壤微生物群落的影响大 写在前面 导读 背景 结果 土壤微生物群落的时空分布 图 1 细菌和真菌的alpha多样性的时空变异及细菌和真菌的beta多样性的时空变异 图 ...
- oracle 10g磁盘管理,Oracle 10g UNDO表空间过大导致磁盘空间不足的解决
在Oracle 10g数据库的应用中,出现了UNDO表空间过大导致磁盘空间不足而崩溃的现象(ORA-30036: unable to extend segment by 8 in undo table ...
- P2P太假了,光有网站平台,连人都找不着了,更不用说网站大漏洞没人管,呵呵...
P2P太假了,光有网站平台,连人都找不着了,更不用说网站大漏洞没人管,呵呵 今天看到乌云有公布了一个p2p网站的漏洞: http://www.wooyun.org/bugs/wooyun-2015-0 ...
- Homebrew存在大漏洞,恶意代码远程操纵电脑! 网友:这不是单方面的责任
丰色 发自 凹非寺 量子位 报道 | 公众号 QbitAI Mac包管理工具Homebrew出现了一个大漏洞: 在Homebrew/homebrew-cask仓库中,通过混淆Homebrew项目中自动 ...
- Sqlserver 错误日志太大导致硬盘空间不足
Sqlserver 数据库因长时间使用,错误日志过大导致硬盘空间不足. 解决办法:清除Sqlserver错误日志 1.新建查询 2.选择master 3.执行 sp_cycle_errorlog 六次 ...
最新文章
- Node.js基金会官方的开发者认证准备就绪
- 001-ant design安装及快速入门【基于纯antd的基本项目搭建】
- Spring文档学习
- 【论文解读】ICLR2020 | 深度自适应Transformer
- 拆!对比详解 Flutter Widget 和 CSS,你关心的布局原理都在这儿了
- Vscode----热门插件超实用插件汇总(史上最全)
- 如何判断当前的SAP Spartacus已经运行在SSR模式,而不是PWA模式下了
- c++获取输入数字的位数/获取位数并且将其存入数组中/获取位数存入数组并且利用它解决实际问题
- asp功放怎么装_客厅家庭影院该怎么摆放?
- 在BetterZip的收藏夹中如何添加经常使用的文件夹?
- ScheduledExecutorService 延迟 / 周期执行线程池
- 【零散知识】最大类间方差法(大津法,Otsu)
- linear-gradient实现Ps标尺
- 大学生面试JAVA程序员应该具备的JAVA面试题库
- 斐讯k3怎么设置虚拟服务器,斐讯 K3 无线路由器无线中继设置教程
- unity触发时播放音效
- Qt 事件机制,底层实现原理
- 将自定义的类的对像保存在本地
- 微信群影视机器人登录使用教程
- emacs之使用gnus读取和发送新浪邮件