苹果系统与安卓系统安全性对比

一、绕过锁屏密码取证难度

  苹果 安卓
诞生时间 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是一个单独的芯片,功能少,安全性更高。