安卓Trustzone降级攻击解析:http://www.freebuf.com/news/148222.html
手机厂商通过ARM TrustZone硬件隔离技术实现了“可信执行环境”(Trusted ExecutionEnvironments)。 TEE
以Android为例,应用程序(Apps)、Android系统、以及底层的Linux内核都运行在Normal World里,而诸如数字版权保护(Digital Rights Management,简称DRM)和一些登录、支付协议的加解密过程和数据则存在于Secure World/TrustZone里。Secure World/TrustZone里的程序可以自由访问Normal World里的内容,但反过来是禁止的。因此理论上,即便攻击者攻陷了Normal World里的组件,也无法偷盗或篡改TrustZone里的内容。
不过,Trustlet(可信世界里的安全应用程序)和TZOS(可信世界里的安全操作系统)并非固化在硬件里的。其中,Trustlet是可以运行时从Normal World动态加载的,TZOS是包含在手机ROM里跟着OTA(Over-the-air Update)升级一起更新的。为了防止攻击者篡改或替换Trustlet和TZOS,一般手机厂商都用私钥对它们做了签名,并在手机上植入相应的公钥进行签名验证,保证Trustlet和TZOS一定都是厂商自己发布或信任的。具体而言,TZOS的签名验证发生在启动阶段,由Bootloader验证,一旦发现验签失败会拒绝继续启动过程;而Trustlet的签名验证发生在它们的动态加载阶段,由TZOS完成,一旦验签失败则不允许执行。
攻击思路:攻击者在TrustZone之外,可以用低版本TZOS/Trustlet替换当前手机上运行的版本,然后利用低版本TZOS/Trustlet的漏洞攻入TrustZone。理想情况下,Trustlet和TZOS升级时只能用新版本覆盖旧版本(版本号只能增大),但实际实验发现,包括华为、三星、GoogleNexus等厂商的多款很流行的手机并没有做这一检查。因此,只要攻击者拿到了手机Root权限(攻陷Normal World),他可以用有可利用漏洞的Trustlet/TZOS旧版本覆盖当前Trustlet/TZOS,然后通过既有漏洞的利用进一步攻陷TrustZone。
TrustZone
最新推荐文章于 2022-01-09 11:57:14 发布