本文由小茆同学编译,由陈裕铭、Roe校对,转载请注明。
近年来,苹果公司已经将4位数的PIN码转为6位数,同时实施了不安全PIN码的黑名单。这些措施对安全有什么影响?与四位数的PIN码相比,六位数的PIN码能提供多少安全保障?黑名单是否真的有效?
PIN码/密码在移动取证中的作用
简单地说,PIN码或密码是获取iOS设备中的内容的钥匙。密码可以由任意长度的字母数字字符组成,而PIN码是固定长度的数字密码。本文将讨论PIN码的安全性。
虽然有些活动可以用生物识别解锁的设备(Face ID或Touch ID)进行,但还有很多情况下需要使用PIN码。如果没有PIN码,大多数采集方法(除了人工分析)可能无法使用。使用PIN码配对设备与电脑,是高级逻辑提取和低级提取方法的必要前提。即使是对于容易受到checkm8攻击的设备,也需要输入PIN码才能进行数据提取,因为如果没有PIN码,设备上的大部分用户数据将保持加密状态。下表总结了用生物识别技术(Touch ID/Face ID)和PIN码解锁设备的区别。
虽然你可以用生物识别技术解锁设备,并连接一个USB配件,但将设备与电脑配对仍然需要PIN码。
风险评估
在取证调查中,获取PIN码对获得存储设备上的证据至关重要。然而,在打开"清除数据"选项的情况下,连续10次(或更少)错误输入密码后,设备上的所有内容和设置有被永久删除的风险。根据苹果公司的说法,"如果清除数据选项被打开(Settings > Touch ID & Passcode),在连续10次错误地输入密码后,所有内容和设置都会从存储中删除。连续尝试相同的错误密码不计入该限制。这个设置也可以通过支持该功能的移动设备管理(MDM)解决方案和Microsoft Exchange ActiveSync作为管理员策略来实现,并且可以设置为较低的阈值。"
在开启清除数据选项的情况下获取PIN码的风险很高,专家必须仔细平衡获取证据的需要和永久删除重要信息的潜在风险。此外,如果您正在考虑尝试PIN码,请注意不要超过允许的错误尝试次数。您必须对超过限制的潜在后果有详细了解,并且必须在尝试恢复密码时保持谨慎。
请注意,通过MDM或Microsoft Exchange ActiveSync将清除数据选项设置为较低的阈值,可能会使在不丢失对数据的访问权限的情况下攻击PIN码变得更加困难。
PIN码频率限制
苹果公司有一篇关于密码和口令的综合文章,阐述了逐渐增加的时间延迟是如何阻止暴力攻击的。引述:在iOS和iPadOS中,为了进一步阻止暴力破解密码的攻击,在锁屏时输入无效的密码后,会有逐渐增加的时间延迟,如下表所示。
在具有安全区域的设备上,延迟是由安全区域执行的。如果设备在延时期间被重新启动,延时仍会被执行,并从当前时间重新开始计时。
随着延迟的不断增加,尝试所有可能的4位数密码组合需要416天,而尝试所有可能的6位数密码需要114年。这也意味着,人们可以合理地尝试短列表中的弱密码,然后再尝试社交工程攻击中得到的PIN码短列表。
在没有Secure Enclave安全方案的设备上,可以实现完全的密码解锁,并且没有逐步增加的时间延迟。在这些设备上,我们可以达到每秒13.6个密码的速度,只需要12分钟就可以尝试所有可能的4位数密码组合。然而,尝试所有6位数的PIN码,则需要长达21个小时。
Secure Enclave
目前所有的苹果设备都配备了一个名为Secure Enclave Processor(SEP)的安全协处理器。即使设备存在其他可利用的漏洞(这适用于包括iPhone 8、8 Plus和iPhone X在内的设备,它们具有引导加载程序级别的漏洞,使攻击者能够获得最高权限级别),SEP也能够执行PIN码尝试的频率限制。对于一些非常老的设备(如2013年的iPhone 5c和更老的设备),由于缺乏SEP,它们很容易受到在设备上执行PIN码的暴力攻击。
值得注意的是,只要存在可用的SEP漏洞,在某些有Secure Enclave的设备上,一些限制也可以被绕过。在这些设备上,密码破解的速度快得多。根据设备型号、初始状态和iOS版本,暴力破解率可以从每秒30个密码到每分钟4个密码不等。据了解,最新的可利用芯片是苹果A13(iPhone 11系列和iPhone SE gen 2)。
安卓系统
安卓的安全子系统与苹果设备的安全子系统有很大不同。例如,不同的制造商提供他们自己的解决方案,可以取代经典的PIN解锁,从熟悉的图案解锁到类似拼图的解决方案。内部的实现方式也不同。在ARM设备中,最接近SEP的是实现可信执行环境(TEE)的TrustZone。TEE有多种实现方式,其中许多都有漏洞。特别是,如果设备配备的是MediaTek SoC,无论屏幕锁有多复杂,都可以提取和解密用户数据。许多使用其他芯片的安卓智能手机也有漏洞。由于制造商、型号以及硬件和固件的差异很大,因此本文不细说。
弱PIN码
有些PIN码比其他的更弱。根据datagenetics.com,这20个PIN码占现实世界中使用的PIN码的26.83%:
假设你对设备的主人一无所知,最好的攻击策略是先尝试这些最流行的PIN码。事实上,还可以尝试更大的普通PIN码列表,如github上公布的那些。除了苹果的4位数和6位数屏蔽列表,作者还创建了基于数据驱动的屏蔽列表,10倍小于比iOS 4/6位数屏蔽列表(27/29个PIN)和10倍大于iOS 4/6位数屏蔽列表(2740/291000个PIN)。其中一些列表由作者提供,详情参考:https://this-pin-can-be-easily-guessed.github.io/
如果您对设备的主人不甚了解,最常见的PIN码效果很好。但是,如果你确实掌握了他们的一些信息,最好的攻击策略是先尝试一小部分最流行的PIN码,然后再尝试可能对他们有意义的PIN码列表。这类PIN码的例子包括:
· 有意义的年份(四位数):本人及其家庭成员的出生日期;其他重要日期的年份。多项研究表明,以1900年开始的PIN码更有可能出现,其次是以2000年开始的PIN码。
· 以MMYY、DDMM、MMYYYY和其他表示方式(四位或六位)的有意义的日期:这也包括各种常见表示方式的重要日期。
· 家庭成员和经常联系的人的部分电话号码(前四位数,后四位数)。
有创意的PIN码
由于各种原因,有些模式更常见。例如,696969是最常见的六位数密码之一,或159753(数字键盘上的"X"标记)。可能有许多不同的原因使某些PIN码比其他的更有可能,有各种研究,在许多细节上分析了这些模式。常见的PIN码都已经公布在弱PIN码列表中了。在攻击iPhone PIN码时,不需要太有创意。我们建议采取以下行动方案。
冷攻击(对所有者一无所知)
1. 常见的PIN码列表
智能攻击(了解一些关于所有者(或)相关信息)
1. 常见PIN码的短列表
2. 由难忘的年份、难忘的日期和电话号码的一部分组成的PIN码
3. 常见PIN码的长列表
黑名单
黑名单是一个不接受的PIN码的列表,可以是屏蔽性的(不可接受的PIN码将被拒绝)和非屏蔽性的(用户将被警告,但不可接受的PIN码仍然可以使用)。根据2020年进行的一项研究,iOS对4位数(274个PIN)和6位数(2910个PIN)保持非屏蔽黑名单,结论是,目前iOS使用的相对较小的屏蔽名单对限制频率的猜测攻击几乎没有任何好处。
另一方面,这些内置的屏蔽名单代表了最常用的PIN码,而且它们是非屏蔽的,这意味着尝试这些名单上的PIN码可能会增加成功解锁的概率。请注意,iOS屏蔽名单已经包括在许多最常见的PIN码列表中。
参考链接:
https://blog.elcomsoft.com/2023/04/analyzing-iphone-pins/