GlobalPlatform TEE Protection Profile (PP)Version 1.2.1 A.3 攻击路径举例(二)

本文是对GlobalPlatform TEE Protection Profile (PP)Version 1.2.1 附录中A.3 攻击路径举例翻译的第二部分,主要翻译基于软件的攻击路径。


A.3.2基于软件的攻击路径

        本部分内容描述了几种基于软件方法的攻击路径,他们有可能促成一个成功的攻击识别步骤。值得注意的是,以下一些方法可能无法直接形成某种攻击,仅作为发现潜在漏洞的方式,例如模糊测试和利用已过时或隐藏的APIs。

A.3.2.1 针对密码技术的Cache Attack(缓存攻击)

        本攻击的目标是恢复在某种设置下执行多种操作的TEE所使用的密钥,攻击需要满足所有以下条件:复在某种设置下执行多种操作的TEE所使用的密钥,攻击需要满足所有以下条件:

  • TEE和REE共享同一cache存储空间;
  • 密码学算法全部以软件形式实现;
  • 密码学算法依赖cache的访问,例如查表操作。

        本攻击通过严格控制REE的cache数据进行实施,能够借助分配给TEE的特定空间大小的cache获取信息,并度量TEE密码算法的执行时间以推断cache miss的统计数据,获取密码算法所使用密钥的相关信息,最终利用这些密钥实施非授权的操作。

        攻击识别步骤所需满足的典型要求包括:

  • 对REE具有root访问权限;
  • 具有TEE的综合性文档,包括其使用的硬件资源信息;
  • REE debug工具;
  • 能够启动一系列测试用例,通过用例加载一个测试TA,使TA调用TEE密码学操作,以对攻击目标进行取样;
  • 具有触发密码学操作的能力,操作应使用攻击目标对应的密钥;
  • 能够在REE对TEE执行的密码学操作进行度量(例如度量上千次)。

        在重启TEE或执行cache line剔除操作和cache清空操作时,本攻击使用的软件应该保证TEE端在每次进程执行时的状态均是一致的,因此:

  • 所有的cache存储器均属于TEE,并且在密码算法进程执行开始前,cache中没有任何数据被缓存。

A.3.2.2 对于Client API和TEE驱动的模糊测试(fuzzing)

        本攻击的目标是通过触发TEE内部异常状态或以无效、异常或随机数据使用TEE Client API或TEE驱动接口的方法,在TEE实现中触发异常行为并查找漏洞。

攻击识别步骤所需满足的典型要求包括:

  • 对REE具有特权级访问权限,且可能是远程访问;
  • 能够启动一系列实例以实现或运行定制的TA;
  • 投入时间和资源来实现模糊测试工具或将现有软件适配TEE;
  • 对TOE具有很好的理解和认识,能够评估和预测攻击的可行性,并且在系统崩溃时能够重启攻击,对于攻击可行性的评估和预测能力举例来说,攻击时应具有一段二进制代码能够将缓冲区溢出的数据写入到Rich OS的内存中。

A.3.2.3 突破内存隔离

        本攻击的目标是通过利用控制内存隔离的硬件之漏洞,直接访问和修改TEE内存的数据内容。

        攻击识别步骤所需满足的典型要求包括:

  • 获取权限以绕过或修改访问控制或隔离规则,能够直接向物理内存写数据;
  • 拥有TEE文档,记录有内存映射关系或逆向工程的相关资料。

        一旦TEE的内存能够被访问到,基于软件的分析仪可以被用于对TEE代码和数据的直接逆向工程,进而决定向TEE内存中写入何种数据以在未获授权的情况下修改TEE的永久数据。

A.3.2.4 证书解析错误

        本攻击的目标是向TEE提供一个构造有误的证书(证书只能被错误地解析)以使攻击者向安全环境注入恶意代码。攻击行为可以将TEE更新功能、TA服务功能或基于客户端认证功能的实现作为目标。

        一般假设通过模糊测试或对边界情况有针对性的实验可以发现潜在的漏洞,因此不需要任何对于TOE的预备知识。

A.3.2.5 借助已知漏洞或问题APIs利用相关APIs或协议实施攻击

        本攻击的目标是使用已废弃或未公开的接口向TEE注入恶意代码或从TEE提前秘密数据。攻击向量可以是一个基于不安全密码学算法的遗留通信协议,或者是一个已经不再针对安全问题进行更新的私有API。

        一般假设从一个私有API中或通过探查使用未公开功能的现有应用程序可以发现漏洞。即使一个潜在的漏洞被识别和发现,攻击者仍然需要找到利用该漏洞的方法。攻击识别步骤所需满足的典型要求包括访问能够定位真实漏洞的debug设备和设计能够利用漏洞的能力。



  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值