楠木轩

安卓TrustZone可信机制被“降级”攻破

由 蓝树芬 发布于 综合

  安卓TrustZone可信机制被“降级”攻破

  当下,用户越来越频繁使用手机进行账号登录和金钱交易,这也可能带来隐私泄露及财产损失等安全隐患。面对这一现状,手机厂商通过ARM TrustZone硬件隔离技术打造“可信执行环境”,从而实现为手机上的敏感程序和数据提供安全保护。

  近日,百度安全实验室和弗罗里达州立大学(Florida State University)联合研究发现,“TrustZone的底层安全系统(TZOS)和上层安全应用(Trustlet)都存在降级攻击的风险”,包括华为、三星、Google等厂商的多款主流手机都存在这一漏洞。值得注意的是,一旦TrustZone被黑客攻破,整个手机的安全性都会受到威胁。

  缺版本号验证可致TrustZone被攻陷

  可信执行环境(TEE)是硬件制造商推出了一种新型安全机制,如ARM的TrustZone,在数字世界中被广泛应用。它有两个独立世界――Normal World和Secure World,Normal World中的用户应用程序和普通操作系统是比较传统的模式,而Secure World中的用户应用程序和其操作系统具有专门用途。

  (配图:可信执行环境典型构造图 )

  以Android为例,诸如数字版权保护和一些登录、支付协议的加解密过程和数据均存在与Secure World中,而Secure World中的程序可以自由访问Normal World中的内容,反之却禁止,因此这在理论上便给攻击者造成了攻击难度,即使其攻陷了Normal World里的组件,也无法偷盗或篡改TrustZone里的内容。

  然而,Trustlet和TZOS并非固化在硬件中。为了有效防止攻击者篡改或替换Trustlet和TZOS,手机厂商会在设计上,通过包括引导加载程序(Bootloader)、可信操作系统及相应的证书或密钥形成的信任链进行验证操作,从而确保了Secure World的完整性。

  但是,弗罗里达州立大学和百度安全实验室通过实验发现,主流手机厂商均没有对Trustlet和TZOS的版本号做验证。因此,只要攻击者拿到了手机Root权限(攻陷Normal World),他可以用既有漏洞的Trustlet/TZOS旧版本覆盖当前Trustlet/TZOS新版本,然后利用既有漏洞进一步攻陷TrustZone系统。

  TrustZone存在降级攻击风险可致Android用户隐私和机密泄露

  一旦ARM的TrustZone被控制,就具备发动Android TrustZone的降级攻击条件,攻击者可以用存在已知漏洞的版本去替换现有的版本。当Android TrustZone缺乏回滚保护机制,就会被攻击者回滚到存在安全漏洞的旧版本。

  事实上,目前的TZOS和Trustlet都存在降级攻击的风险――攻击者在TrustZone之外,可以用低版本TZOS/Trustlet替换当前手机上运行的版本,然后利用低版本TZOS/Trustlet的漏洞攻入TrustZone。简单来说,如果一个过时的版本有漏洞可以利用,而漏洞在最新的版本上才被修补时,黑客仍然可以通过将最新版本的软件降级到可利用的较低版本,从而获得一切藏在TrustZone中用户的账号密码等隐私信息。

  以Google Nexus6为例,其旧版本的DRM Trustlet存在可以让Normal World攻击者获得TrustZone执行权限的CVE-2015-6639漏洞,并且已有公开的漏洞利用代码。经实验发现,尽管当手机升级之后(例如更新到N6F26Y这一编号的ROM)这一漏洞得到了修复,但拥有Root权限的攻击者仍然可以用旧版(例如LMY48M这一编号的ROM)中提取的Trustlet覆盖新版Trustlet,并成功将其运行起来。一旦旧版Trustlet运行在了TrustZone里,攻击者即可发起既有攻击拿到TrustZone的执行权限。因此,即便手机进行了升级和漏洞修补,仍然没有阻止攻击者进入TrustZone。

  类似地,针对TZOS也可以做类似的降级攻击。研究者用旧版ROM里提取的TZOS覆盖了升级之后的手机里TZOS所在分区,手机仍然通过了Bootloader验证、能够正常启动。攻击者可以因此攻击TZOS的漏洞动态获得TrustZone里的内核权限――这样便获得了一切藏在TrustZone里的秘密和能力。

  主流厂商紧急修复 TrustZone将补发补丁

  截止目前,百度安全实验室和弗罗里达州立大学已将这项联合研究成果提供给包括谷歌,三星,华为等在内的全球主流手机厂商。最新消息称,国内手机厂商华为等已针对TrustZone降级攻击着手修复。Google Project Zero也独立地对这一问题进行了研究和披露,希望各大Android厂商对这一问题引起重视,尽快进行全面地修复。

  此外,一些手机厂商逐渐在产品上引入Security Enclave处理器,相当于在TrustZone之下引入一层额外的隔离和保护。然而,Security Enclave如果设计或实现时考虑不当,也会面临同样的威胁,需要厂商予以注意。