一、绕过锁屏密码取证难度
苹果 | 安卓 | |
诞生时间 | 2008.3 | 2008.9 |
FDE全盘加密
|
2013.9 安卓4.4引入
2015.5 安卓6.0强制开启 |
|
FBE文件加密 | 2013.6 Iphone5s IOS7 | 2016.5 安卓7.0 |
TEE | 2013.6 Iphone5s IOS7
(Secure Enclave) |
2013.3 三星S4、NOTE3
2015.11 华为Mate8、P9 |
TEE口令加密 | 2013.6 Iphone5s IOS7 | 2016.11 华为Mate9、P10 |
SE | 2014.9 Iphone6 | 2017.11 华为Mate10、P20 |
主要加密措施对比
苹果IOS系统闭源,且仅由苹果一个公司进行开发和维护,技术能力强,保密程度高,从芯片设计到操作系统开发均掌握在自己手中,从软硬件底层设计、使用各种安全机制,形成安全闭环。自2011年iPhone 4s推出后,从未出现过严重安全漏洞,仅有的几次漏洞也是从操作系统层面挖掘漏洞,从而绕过密码验证次数限制,进行暴力破解(速度很慢),如果使用复杂密码,则无法破解,也未出现过厂家签名泄露。目前IOS系统安全机制越来越完善,曾经出现过的漏洞及可利用的缺陷均被补上,且默认开启自动更新功能,一旦出现安全问题,第一时间修复。从现场取证来讲,Iphone4S以后的苹果手机,仅有特定的一些操作系统能够绕过锁屏密码进行暴力破解,只要升级到最新操作系统,均无法绕过锁屏密码取证。
安卓系统是谷歌公司主导的开源项目,由各个手机厂家对源码进行修改定制,各厂家技术能力良莠不齐,保密程度差,多次出现厂家官方签名及解BL锁工具泄露。安卓手机厂家在操作系统层面上需要依赖谷歌公司,发现安全问题,无法第一时间修复,且谷歌公司对各大厂家也没有非常强的约束力,对于部分建议使用(非强制)的安全策略,各手机厂家基于成本以及产品更迭速度等原因考虑,绝大部分不会采用。例如2013年9月,安卓4.4引入FDE全盘加密,几乎没有厂家使用,且反对意见很大,认为严重拖累性能,直到原生安卓6.0系统才强制启用(从老版本升级到安卓6.0的几乎都不会启用)。基于TEE的口令加密更是只有华为一家在2016年年底才在高端机型中开始使用。基于上述因素,安卓手机针对不同品牌和型号,或多或少都有一些取证方法,包括最新的华为Mate10(复杂密码无法破解)。我们可以看到,谷歌公司提供的安卓系统,其安全性是越来越高的,已经接近于苹果IOS系统,但是各个手机厂家实现的时候降低了安全性,随着硬件成本降低,会有越来越多的安卓手机采用FBE+TEE+SE的模式,安全性也会越来越高。
综上可知,从已有了解看,升级到最新系统版本的iPhone手机和升级到最新系统版本的华为Mate10、P20,设置复杂密码,安全性最高。
二、恢复删除难度
(一)文件级的恢复删除
文件、照片、视频等恢复属于文件级的恢复删除,对文件进行恢复删除需要先获取磁盘或分区镜像,有几种情况无法进行文件级的恢复删除:
1、无法提取分区镜像的
例如iPhone 4S以后的苹果手机,无法破解密码的安卓手机。
2、采用FBE文件加密的
文件恢复删除的原理,一般是通过系统结构和文件标志来寻找的,FBE文件加密,文件都是密文存储,通过文件结构恢复肯定不可能,因为删除的时候连同文件和文件元数据一起删除了,除非你知道哪些是加密文件部分,哪些是元数据,就算能知道哪些是加密文件哪些是元数据,恢复出来一个字节都不能有差错,否则无法解密成功,但是这也是不可能的,所以基于文件层面就无法恢复。
3、全盘加密且抹掉、恢复出厂设置的
以iPhone为例,加密用的是层级结构,所有文件都经过文件系统密钥加密过,该文件系统密钥储存储在手机的可擦除存储器中,用户使用“抹掉所有内容和设置”选项来抹掉,或者由用户通过 iCloud 发出远程擦除命令来抹掉数据,是直接擦除这个文件系统密钥,并不需要真正擦除数据,密钥被擦除,所有文件均无法访问。
4、采用带有擦除指令的闪存。
EMMC 4.1以后,带有erase指令,如果系统在删除的时候调用了该指令则无法恢复。
综上可知文件级恢复删除iPhone4S以后的做不了,采用FBE加密的安卓手机做不了,使用EMMC 4.1闪存调用erase指令的安卓手机做不了,部分安卓老机型可以做。
(二)SQLITE数据库的恢复删除
拿到APP应用的SQLITE数据库文件做恢复删除,该方式一直有效,曾经有过部分应用在删除时使用了擦除指令,可能影响性能,后续版本又没有使用。
苹果系统与安卓系统均可以做,所以在应用里删除数据是不安全的。
一旦遇到紧急情况,清除应用数据、删除应用,并抹掉手机、恢复出厂设置是比较好的选择。
三、锁屏密码强度
(一)传统密码
安卓支持九宫格图形、数字、混合密码,苹果系统支持6位数字、混合密码。
从工作实际来看,九宫格密码最不安全,其次是4位数字,容易被窥视到,两者均支持混合密码,建议使用8位以上数字+字母混合密码,且该密码没有在其他地方使用过。
(二)生物特征密码
指纹、人脸识别等生物特征密码越来越普及,目前指纹和人脸识别都成功复制出模型并能成功解锁手机,包括安卓和苹果手机。
综上,没有绝对的安全,使用传统密码可能会被窥视或者高清摄像头拍摄,使用生物特征密码可能会被复制,建议一般使用复杂传统密码+生物特征,因为生物特征的提取难度较高,如果需要特别安全,则选择复杂传统密码,每次输入密码时注意遮挡屏幕。
四、APP应用安全性
苹果系统由于是闭源的,安装应用只能通过官方App store,所有在App store上架的应用均经过苹果官方审核,安全性可以得到保障。
安卓系统是开源的,并且由于GFW(Great Firewall of China 防火长城)的影响,国内无法使用谷歌市场,只能使用各个手机厂家和第三方的应用市场,甚至直接从网上下载APK安装,容易出现安全隐患,下载到带木马病毒的应用。
从这一点上来看,苹果系统优于安装系统。
五、云服务安全性
开启锁屏密码的手机可以说安全性已经非常高了,但云存储和云备份的安全性偏低,包括iCloud之前都出现过明星照片泄露事件,从取证上来讲也有很多种办法可以获取到手机的云数据。功能越多,安全隐患越大,功能越少越安全,越不容易出问题,所以建议不要使用云存储云备份。
特别需要注意的是,很多时候云存储、云备份、照片流等功能是默认开启的,需要手工关闭,或者直接不用云功能是最好的,直接不登录。
除了系统自带的云服务,其他第三方APP的同步功能也不要使用,例如QQ同步助手等。
六、木桶理论
有句话叫“用苹果数据给美国人看,用安卓数据给全世界看”,既然系统都是别人的,并且必须要用,就没有绝对的安全。从已有的案例看,出现安全问题,都是使用者犯了特别特别低级的错误导致的,没有一起是使用了某某高精尖未公开漏洞获取到数据。使用者的安全意识淡薄才是最短的那块板。
提高安全意识,做到选择相对安全的手机(新款iPhone、华为Mate10、P20)、及时更新手机操作系统,设置强密码、只到官方市场下载应用,不随意连接WIFI、不启用云服务这些方面,我们的手机还是非常安全的。
名词解释:
FDE:Full Disk Encryption,全盘加密。系统首次启动时,设备会创建一个随机生成的 128 位主密钥A,用主密钥A对DATA分区进行加密,然后会使用默认密码“default_password”对主密钥加密得到主密钥B,再用随机生成的盐对其进行加密得到主密钥C。当用户在设备上设置密码时,128 位的主密钥A会被重新用用户密码加密并存储起来。用户输入密码后,用户密码来解锁密钥C拿到128位的主密钥A,并使用主密钥A来解锁文件系统。
FBE:File-based Encryption,基于文件的加密,该加密方式比FDE更加安全也更加实用,因为FDE是用一个密钥加密DATA分区,而FBE则是对每个文件都采用一个独立的密钥进行加密,对每个文件的加密过程都与FDE类似。实际实现过程中,苹果系统的FBE比安卓的FBE更加复杂和可靠。
TrustZone
TrustZone是ARM公司2002年提出来的,一种硬件架构,为消费电子产品构建一个安全框架来抵御各种攻击。TrustZone将每个物理核虚拟为两个核,一个非安全核(Non-secure Core, NS Core),运行非安全世界的代码;和另一个安全核(Secure Core),运行安全世界的代码,通过时间片分享一个硬件,类似于时分复用。TrustZone在概念上将SoC(System of Chip)的硬件和软件资源划分为安全(Secure World)和非安全(Normal World)两个世界,所有需要保密的操作在安全世界执行(如指纹识别、密码处理、数据加解密、安全认证等),其余操作在非安全世界执行(如用户操作系统、各种应用程序等),安全世界和非安全世界通过一个名为Monitor Mode的模式进行转换
TEE&REE
TEE是TrustZone的具体实现。TEE(Trust Execution Environment)和REE(Rich Execution Environment)概念,分别对应于安全世界(Secure World)和非安全世界(Non-secure World, Normal World)。左边蓝色部分Rich OS Application Environment(REE)表示用户操作环境,可以运行各种应用,例如电视或手机的用户操作系统,图中右边绿色部分Trusted Execution Envrionment(TEE)表示系统的安全环境,运行Trusted OS,也运行一个操作系统的,一个功能简单但是注重安全的操作系统,在此基础上执行可信任应用,包括身份验证、授权管理、DRM认证等,这部分隐藏在用户界面背后,独立于用户操作环境,为用户操作环境提供安全服务。
Secure Enclave:是 Apple A7(2013年)以及之后的处理器中集成的协处理器。它独立于应用处理器之外,并利用自己的安全启动和个性化软件更新,也就是TEEOS,可以理解为深度定制的TrustZone。Secure Enclave包含一个硬件随机数生成器,采用加密存储,涉及指纹、加密和支付的通通由它负责。另外Secure Enclave还提供密钥管理、加密操作、生成唯一UID等等功能。Secure Enclave就像一个黑匣子,只提供有限的输入输出,输入参数给出结果,其他都在内部完成,Secure Enclave与CPU其它区域的通讯也是被严格限制的,即便是系统级别的进程也无法获取Secure Enclave中的敏感数据。针对指纹数据做解密的密钥只在Secure Enclave中使用,外界是拿不到的。
SE:Secure Element安全单元,是一个单独的安全存储芯片,苹果公司从Apple A8(2014年)芯片开始提供,安卓目前仅有华为一家在2017年年底的Mate10、P20手机有使用。TEE虽然安全性很高,但是TEE是利用虚拟化对同一个硬件芯片分时复用实现的,实际上还在主芯片内部同一个物理核心上实现,这个物理芯片功能很强大,功能强大意味着潜在的安全性问题就多,如果发现了芯片漏洞,那TEE也就失效了(例如华为P9的麒麟芯片),但是SE是一个单独的芯片,功能少,安全性更高。
发表评论