一、概要
在计算机和网络中,通常会使用密码作为传统的身份验证方式。然而,密码可能被窃取。要解决这一问题,生物特征认证似乎是一个比较完美的解决方案。生物识别认证共包括几种,其中最为常见的包括视网膜扫描、面部识别和指纹认证。每个人的指纹都是独一无二的,通常指纹可以作为识别一个人身份的唯一特征,并且不会被轻易复制。
随着技术的发展,指纹认证技术开始逐渐应用于笔记本电话和手机上,随后应用到密码键盘和加密U盘上。随着2013年iPhone 5推出了Apple Touch ID,指纹认证开始应用于越来越多的手机设备上。从那时起,这种技术就根据三类主要的传感器进行分类,分别是光学传感器、电容传感器和超声波传感器。
我们的测试表明,使用伪造的指纹,基本上可以达到80%的成功率。要达到这样的成功率,需要开展艰巨而复杂的工作。我们发现了与结构和材料物理特性相关的一些障碍和限制,但即便如此,最终所达到的成功率也表明我们很可能会将任意一款测试设备成功解锁。其结论表明,指纹解锁足以针对普通用户起到丢失设备后的防护作用,但是无法应对一些高级威胁攻击,因此,对于一些机密设备而言,不应使用指纹认证。
为与实际情况相匹配,我们开发了三种威胁模型案例。因此,读者应将其结果与家庭安全系统进行比较。如果大家希望这些家庭安全系统能够保护防止国家安全机构(此处指美国)这样的具有雄厚实力的“攻击者”监控我们的房屋,可能是无法实现的。对于普通用户来说,指纹身份验证具有明显的优势,并提供了一个非常直观的安全层。但如果用户是这些具有雄厚背景的攻击者的攻击目标,或者设备中包含敏感信息,那么我们建议选用强密码+令牌的双因素身份验证方式。
在本文中,还涉及了近期一家生物识别公司发生的泄露事件,以及三星在Galaxy S10智能手机上所使用的传感器的最新问题。我们根据针对技术的理解,以及对指纹数据泄露所产生的影响提出了一些问题。随着3D打印技术的发展,目前家用树脂打印机的分辨率已经达到了微米级。那么,普通攻击者是否可以使用3D打印机来打印从玻璃杯上收集到的指纹,还是只有具有强大技术实力的特定组织才能完成?用户在通过边境检查站的时候是否会被复制指纹信息?
为了解答上述三个问题,我们将其转换为三个主要想分析的目标:
1、自从首次发生iPhone 5指纹绕过漏洞之后,指纹扫描技术在安全性方面有哪些改进?
2、3D打印技术对指纹认证安全性有何影响?
3、如何定义攻击者的威胁模型以提供一个真实的上下文?
在此过程中,我们测试了不同品牌和型号的设备。为了完善威胁模型,我们在研究过程中增加了预算方面的限制,并假设如果攻击活动能够以较低的预算来实现,那么就可以由普通攻击者来实现攻击,否则将只能由具有强大技术实力的攻击组织发动攻击。
对于定义威胁模型来说,过程的复杂性也非常重要,我们需要了解普通用户如果想要复现这样的攻击行为,难度究竟会有多大。
威胁建模的第三部分是收集技术。我们定义了三种收集技术,每一种都与包含自身特征的威胁模型相关联。由于大多数用户都不会使用超过一根的手指来进行指纹认证,因此其中也包含一些获取已注册指纹的复杂性。
3D打印技术可以让任何人都有能力制作指纹复制品。不仅如此,它还使得大规模开展指纹复制伪造工作成为了可能。此外,随着指纹认证不断普及,复制生物识别数据所产生的影响可能要比过去更大。我们将这一威胁模型应用于手机、笔记本电脑、密码键盘和U盘之中。
我们使用了三种不同的方式来尝试制作指纹复制品,这些方式是根据相应的威胁详情来定义的。攻击者可能会使用3D打印机制作模具,然后使用纺织胶来重新制作指纹。
目前,指纹认证已经在各种设备上普遍使用,但是在不同设备上,其可靠性都不尽相同。我们需要意识到,在一些情况下,指纹认证的方式并不安全。这意味着,根据每个用户的实际情况,应该灵活选择认证方式。实际上,一些公司的产品在近6年来没有进行过可靠性的改进,这也就意味着,随着3D打印等技术的进步,如今要对这类产品进行攻击会比以前更加容易。
通过下面的视频,我们对研究内容进行了简要的介绍:
二、传感器技术的发展
在过去,攻击者曾多次利用指纹认证,这导致了传感器技术的进步。苹果的Touch ID在2013年首次公开发布。在Chaos Computer Club会议期间,名为Starbug的研究人员首先在iPhone 5s上展示了该技术。近期,三星的旗舰手机S10被研究人员使用硅材料攻破,随后三星通过软件更新的方式解决了此问题。在2019年的Geekpwn网络安全竞赛中,腾讯X-Lab安全研究团队攻破了三款不同手机的指纹认证,但他们没有提供有关研究的详细信息。据Forbes的一篇文章报导,该团队在玻璃上拍摄了指纹的照片,随后就制作了假指纹,整个过程耗时20分钟。据团队负责人说,硬件成本大约在200欧元左右。但是,具体的实现过程目前还是一个黑盒子,没有找到相关的记录。
三、概念解释
3.1 指纹认证设计
指纹认证可以分为两个步骤。第一步是捕获,其中传感器生成指纹图像。第二步是分析和比较生成的图像。这个任务可以由传感器自身(例如在嵌入式设备或门锁这样的自主设备中)完成,也可以由操作系统来完成。例如,在Windows系统中,比较的过程是通过Windows Hello来执行的。操作系统要求传感器捕获数据,然后使用NIST的ANSI INCITS 378-2004格式将该数据转发到操作系统。随后,操作系统进行比较,然后选择是否允许与系统的连接。在这里,比较算法必须包含一定程度的差异。如果指纹存在轻微的变化(例如,有一个很小的缺口),则身份验证需要仍然可以通过。这个阈值并不是公开的,因此可能不同的系统中阈值也各有不同。我们可以在第一步和第二步中分别找到一些弱点。
3.2 传感器类型
在我们的测试过程中,我们发现了三种主要类型的传感器:电容式、光学和超声波。不同的传感器对不同的材料和收集技术的反应不同。大多数传感器都是由第三方厂商开发,然后集成到设备中。唯一的例外是苹果公司,该公司在2012年收购了AuthenTec公司,随后便建立了其自己的传感器。
传感器的最常见类型就是电容式传感器,其中包括有源式和无源式。
电容式指纹传感器:
简而言之,电容式指纹传感器利用人体的自然电容来读取指纹。与读取部分接触的位置将形成一个自然的电容器,这个电容器将会被传感器检测到。相反,如果距离读取部分过远,将无法形成自然的电容。
有源电容式指纹传感器:
有源电容式传感器不仅仅依赖于自然电容,它们将会注入一个微弱的信号,该信号通过手指传递,最后通过触摸指纹脊线到达传感器。
光学指纹传感器:
光学指纹传感器实际上是读取指纹图像。在这种类型的传感器中,有一个光源会照亮与传感器接触的脊。图像传感器通过棱镜来读取这些图像。
超声波传感器:
超声波传感器是最新的一种类型,主要是在具有屏幕传感器的设备上使用。在这种情况下,传感器会发出超声波脉冲,超声波回波将被传感器读取。脊和谷具有不同的回波,从而导致传感器可以根据指纹创建伪图像。
平均而言,超声波传感器似乎最不可靠,因为我们在针对这类传感器的攻击过程中获得了更高的成功率。Goodix是现实光学传感器的主要厂商之一,Qualcomm为三星S10开发了超声波传感器,而Synaptics开发了很多电容式传感器。
3.3 构建威胁场景
我们的过程主要包括两个阶段:收集和创建。在收集阶段,我们收集了目标的指纹,并创建了模具。该模具用于根据实际情况使用不同的材料来制作假指纹。
第一步是收集指纹。在收集技术的部分,我们将分享我们尝试过的不同方法。每一种方法都匹配特定的上下文和特定的威胁模型。
1、直接收集:这种方法表示一种攻击场景,其中受害者处于昏迷状态或完全无法控制自己行为(例如醉酒)的状态。在这种情况中,用软质材料直接在受害者身上制作模具,然后将其硬化。这也可以用作我们的控制方法。利用这种方法,攻击者可以收集所有指纹,也可以观察目标以收集注册时使用的指纹。
2、指纹传感器:这种方法大多是用于在机场出入境或私人安全公司使用指纹读取器来进行采集的场合。大多数边境或海关都收集所有的指纹,因此将不存在查找特定指纹的问题。
3、通过第三方收集:在这种情况下,收集过程是借助第三方来完成的。例如,通过拍摄对象的照片,或者通过杯子、瓶子等实现收集。其概念是,攻击者从受害者的居住地点收集指纹,然后来准备假指纹。在这种方法中,由于攻击者无法控制受害者使用哪些手指,因此能否找到注册的特定指纹会成为一个问题。
第二步是根据先前收集的信息来创建模具。这个过程并不简单,我们将会在限制一节中详细进行说明。我们使用3D打印机来创建模具。家用UV LED打印机的精度为25微米,而皮肤指纹脊宽约500微米,深度为20-50微米。打印机的分辨率完全符合我们的要求。最后一步是投射指纹,我们尝试了许多不同的材料,其中最为相关的硅和织物胶。
下面是我们用于模具的材料示例,以臭名昭著的黑帮团体老大Al Capone公开提供的指纹为例。
四、伪造指纹
4.1 不同的收集技术
1、直接收集
第一种方法是直接收集,其目的是使用真实的手指来创建指纹的底片。对于这种技术,我们使用雕刻家经常使用的粘土Plastiline。这种粘土的优点在于,在常见的温度下会保持坚硬,但如果温度足够高,它会变软甚至变成液体。在我们的尝试过程中,我们使用热风机将粘土加热以使其软化,并留下指纹印记。
使用Plastiline创建模具:
2、指纹传感器:使用低成本指纹读取器获取BMP
我们采用的第二种方法是从指纹读取器获取位图图像。在测试过程中,我们使用了连接到Arduino UNO(或CP2102 USB + TTL转换器)的低成本UART传感器。
我们可以使用SYNODemo应用程序执行这个任务。下面是该应用程序的屏幕截图:
指纹可以通过软件或脚本的方式下载。该图像是256x288像素的位图。
3、通过第三方收集:根据高分辨率图片获取原始图像
我们采取的最后一种方法,是在玻璃上拍摄指纹图片,下面是一个例子:
为了增加脊的对比度,我们使用了刷子在上面刷上石墨粉:
我们并不想泄露研究人员自己的指纹,因此我们以玻璃上的手掌为例。
4.2 指纹采集优化
1、照片优化
图片往往不能直接进行处理。根据收集方法的不同,我们发现了两个问题。
针对指纹传感器的方法,我们发现对于一些指纹传感器(例如三星S10使用的传感器)而言,所获得的图像太小。在这种情况下,我们需要合并几张图片,以获得更大的图片。下面是一个使用FBI数据库中Al Capone指纹的示例。
针对玻璃的收集方法,我们需要应用几个滤镜,以增加对比度并优化线条。3-D软件适用于alpha(灰色阴影):
2、3D增强
3-D设计是使用3-D数字雕刻软件(例如ZBrush)创建的。为了将指纹从椭圆形空白模具中提取出来,我们将黑白图像用于Alpha笔刷。
模具尺寸为32x24mm,我们可以看到图片和3-D对象。
4.3 不同的复制技术
1、3D打印模具
在我们的模具中,经过测试的精度为0.025mm和0.05mm。
在测试期间,对于我们来说,最大的限制在于模具的尺寸。假指纹必须具有准确的大小。但是,使用ZBrush设计的模型没有尺寸选项。因此,在创建过程中,我们不得不充分考虑对象的大小。如果太小或太大,假指纹都不能发挥作用。除此之外,3D打印机使用的树脂在打印后需要固化。必须进行固化,才能使其凝固,并消除树脂的毒性。固化需要在紫外线的空间中进行几分钟。我们发现,这个过程会产生一定的收缩,并且模具的尺寸会根据固化时间而变化。如果我们将模具直接暴露在阳光下,也会发生相同的行为。由于这个参数,我们需要打印50多个模具,并使用它们来创建假指纹,并使用指纹传感器的比较结果和尺寸,以拥有有效的模具,从而获得有效的假指纹。
印刷后的模具图片:
接下来的步骤就是紫外线固化。在从打印机出来之后,物体还不够坚硬,并且有毒。我们在紫外线环境中放置3分钟,使其固化,并消除最终模具的毒性:
这是在制作可利用对象之前所有尝试和假指纹的照片:
在我们的测试过程中,我们使用25微米分辨率的打印方式,获得了更好的结果。但缺点是,印刷时间更长,每个模具需要一小时左右的时间。如果使用50微米分辨率的打印方式,可以将时间缩小一半。
如我们在限制一节中所述,模具的尺寸是我们在这项研究中最大的挑战,也是最耗时的工作,我们在研究过程中共制作了50多个模具,这也就是复制模具过程之所以复杂的原因之一。
2、不同的填充材料
在我们的测试过程中,非常明显,所使用的材料要取决于传感器类型,特别是针对超声波传感器与电容器传感器。为了提高成功率,我们使用了硅和各种胶水,以及导电粉末(石墨和铝)。
电容式传感器的两个主要限制是分辨率和电导率。
确实,如上所示,指纹的定义至关重要。如果要想拥有良好的分辨率,要取决于两个参数:收集方法,以及用于制作复制品的材料。在制作复制指纹时,我们发现织物胶比硅树脂具有更好的清晰度。
电容式传感器(特别是有源传感器)的挑战之一是确保指纹中具有一定的导电率。硅是绝缘的,因此无法在电容式传感器上使用。但是,薄薄的织物胶粘贴剂具有足够的导电性,能足以使传感器启动。
最后,硅对于测试的超声波传感器来说已经足够,但我们在研究中发现的最佳选择是成本较低的织物胶。
五、测试平台
视频:https://youtu.be/CF0D-h7KZqY
5.1 移动设备
手机一直以来都是指纹认证发展的最大动力。在手机上,往往会包含多种传感器。实际上,超声波传感器的发展是取决于在手机上安装传感器的需要。这也是在最近的设备上使用光学传感器的原因。
经过测试,我们的假指纹在三星A70上面不起作用,但是,即使使用了真实的指纹,身份验证率也比其他设备低。这些设备也是指纹认证最早研究的目标,这将会使得该平台在技术上更加成熟。但是,结果显示,与2013年首次破解时相比,手机指纹认证已经被减弱。
我们还发现,不同类型的传感器各自都缺乏明显的优势。
5.2 笔记本电脑
与移动设备相反,我们在测试的笔记本电脑上发现了某些平台存在的明显优势。对于Windows 10使用的Windows Hello框架,我们没有取得成功。我们还额外测试了五个不同的Windows平台,其结果都是一样的。但是,作为控制变量,我们在MacBook Pro上测试了相同的复制品,并获得了95%的成功解锁率。之所以Windows平台安全性更高的原因在于,在所有的平台上,比较算法都位于操作系统中,因此会在所有平台之间共享。
5.3 其他设备
我们还测试了其他设备——密码键盘和两个加密U盘。
其中,密码键盘的指纹传感器是电容式的,需要用指纹导电。结果表明,可以像以前测试过的其他设备一样,成功实现绕过。
针对USB设备,我们测试了两个,分别是Verbatim Fingerprint Secure和Lexar Jumpdrive Fingerprint F35。
在这两种情况下,我们都无法绕过指纹认证。所有的尝试都会返回错误的值。在这些测试中,作为对照,我们在Macbook Pro上使用了相同的假指纹,确认成功率为95%。
六、综合测试结果
其中,橙色线条表示直接收集方法的成功概率,蓝色线条表示图像传感器方法的成功概率,黄色线表示第三方方式的图片成功概率。
该百分比数据是根据我们能够制作出的最佳假指纹在每台设备上进行20次尝试后得出的。
其中,加密U盘Verbatim和Lexar仅通过直接收集的方式进行了测试。由于这是最有效的收集方法,并且从未奏效,因此测试其他两种方法没有任何额外的意义。
七、限制与缓解方式
我们要强调的是,这是一个有意限制预算的研究项目。
针对直接收集方式,我们没有做任何限制。这里提到的缓解措施,仅仅涉及使用3-D打印的方法(传感器图片和玻璃上的图片)。
我们的第一种方法是使用3D打印机直接制作假指纹。这主要是由于树脂相关的问题无法解决,而导致的失败率增高。尽管打印机的分辨率足够好,但打印出来的物品已碎、不导电且过于坚硬。为解决这些问题,可以使用树脂来进行替代。
其替代方式是创建一个3-D打印模具,然后使用不同的材料来制作假指纹。
在我们的研究中,发现了一些限制。最大的是模具的尺寸。为了产生质量较好的指纹,模具必须具有与指纹识别系统所期望的尺寸相匹配的尺寸,也就是0.5mm。如果太大或太小,那么模具将无法使用。
数字化对象大小与实际对象大小的比例没有直接限制。当我们打印模具的数字表示形式时,这也成为了对我们而言的一个问题。我们也没有高分辨率的显微镜,无法去测量基于微米的距离。要解决此问题,我们可以将数字尺寸缩放为3-D打印尺寸,确保基于微米精度的软件可以解决此问题。
如前所述,由于树脂存在一定的收缩,如果直接暴露在紫外线下会改变物体的大小。在研究期间,我们制作了50多个模具才获得了准确的尺寸,这使得我们花费了数周的时间。对于每个假指纹,必须在真实传感器上进行测试,以确认准确的大小。因此,树脂模具并不是最佳的选择,没有收缩膨胀的替代材料或许能更好地制作模具。
最后,无论计算机的品牌是什么,这些运行Windows 10(并使用Windows Hello)的设备给我们带来了真正意义上的困难。我们的方法行不通。根据我们的研究,认证和指纹比较过程是由操作系统根据《生物特征设备设计指南》进行实施的。我们的所有尝试都遭遇了失败。
对于厂商而言,最好的缓解方式是限制指纹的尝试次数。例如,苹果要求用户最多尝试5次,随后就要求输入PIN进行验证。三星实施了相同的缓解措施,但用户必须在5次失败后等待30秒,才能再进行10次尝试,在彻底锁定之前总计能够尝试50次,这样的尝试次数有些过高。我们在荣耀设备上测试了70次以上,因此推测可以在该设备上无限次进行此操作。同样,针对密码键盘,也没有设置尝试的次数限制。
八、总结
在开始研究这个课题时,我们设置了三个目标:
1、自从首次发生iPhone 5指纹绕过漏洞之后,指纹扫描技术在安全性方面有哪些改进?
2、3D打印技术对指纹认证安全性有何影响?
3、如何定义攻击者的威胁模型以提供一个真实的上下文?
显然,我们的结果表明,目前的指纹技术还没有发展到足以对抗所有的威胁模型。因此,我们只能将其视为是家用的安全系统。如果希望它能够阻止秘密机构监视我们的房屋,显然是不可能的。但是,如果想阻止一些轻微程度的犯罪,显然是足够的。对于普通用户而言,指纹身份验证的优点是显而易见的。但是,如果用户的身份更为敏感,或者其设备中包含敏感信息,那么我们建议更多地考虑强密码和令牌双因素身份认证。
我们从收集方法的过程开始,定义了威胁模型。制作的过程既耗时又复杂,我们必须创建50多个模具,并手动进行测试,花费了我们几个月的时间。在我们制作了准确的模具之后,就可以轻松地制作伪造的指纹。今天,通过使用我们的方法,如果只使用一定的预算,是无法按需快速制作指纹复制品的。
我们最后没有找到可以绕过所有指纹传感器的最终方法。例如,我们没能成功绕过Microsoft Windows和Windows Hello管理的传感器。我们还需要更多的研究来确切地了解其原因。但是,我们能够创建假指纹来绕过手机、笔记本电脑和密码键盘上的大多数指纹认证。
3-D打印技术无疑会对指纹认证产生影响。使用替代材料和收缩程度更小的不同树脂,以及使用能确保正确缩放和打印的专用软件,将大幅促进指纹复制过程的批量化趋势发展。使用一些高级工具(例如电子显微镜)来测量指纹中微米级的差异,或者使用高精度激光雕刻工具,也可以在整个过程中做出较大的改进。这些工具将威胁模型归类到资金充裕且技术实力较强的团队,而不是普通人或普通攻击者。
最后,需要强调的是,并不是因为我们没有成功绕过Windows平台和加密U盘就说明它们一定更安全。三星A70甚至是一个更为特殊的情况,根据我们的测试,很多真实的指纹也无法通过它的验证。我们预计,如果拥有更高的预算、更多的资源和专门进行此类工作的团队,也有可能会绕过这些系统。
本文翻译自:https://blog.talosintelligence.com/2020/04/fingerprint-research.html如若转载,请注明原文地址: