安全之安全(security²)博客目录导读
TEE之GP(Global Platform)认证汇总
目录
一、TEE威胁分析介绍
二、TEE威胁分析分类
1、Core TEE PP
1.1、T.ABUSE_FUNCT
1.2、T.CLONE
1.3、T.FLASH_DUMP
1.4、T.IMPERSONATION(扮演、模仿)
1.5、T.ROGUE_CODE_EXECUTION
1.6、T.PERTURBATION(摄动、扰乱)
1.7、T.RAM
1.8、T.RNG
1.9、T.SPY(间谍、密探)
1.10、T.TEE_FIRMWARE_DOWNGRADE
1.11、T.STORAGE_CORRUPTION
1.12、T.ABUSE_DEBUG
2、TEE Time and Rollback PP-Module
2.1、T.ROLLBACK
2.2、T.TA_PERSISTENT_TIME_ROLLBACK
3、TEE Debug PP-Module
一、TEE威胁分析介绍
此保护概要文件旨在解决在最终使用阶段对TEE资产产生的威胁。TEE社区最感兴趣的攻击是那些可以通过软件手段实现的攻击,这些攻击是非破坏性的,并且可以很容易地传播,例如通过互联网。然而,所选择的攻击可能性并不排除其他手段和其他类型的攻击。
攻击者是个人或组织,可以远程或物理(本地)访问嵌入TEE的设备。当TEE持有第三方资产时,设备的用户就成为潜在的攻击者。攻击背后的动机可能非常多样,通常与运行在TEE上的受信任应用程序有关。例如,攻击者可能试图窃取设备所有者的内容(例如存储在设备中的密码)或服务提供商的内容,或者从TEE或TA的服务中不当获益(例如访问公司网络或在同一设备或其他设备中未经授权使用DRM内容),或者威胁设备/TEE制造商或服务提供商的声誉。攻击的影响不仅取决于被攻击的单个资产的价值,而且在某些情况下,还取决于以低成本快速复制攻击的可能性:在给定的启用TEE的设备上执行的单个攻击比同时到达许多设备的大规模攻击的影响要小。
在许多情况下,攻击需要两个步骤:识别阶段,攻击者发现一些漏洞,并分发指令或工具来利用它;利用阶段,攻击者使用这些指令或工具有效地利用漏洞。攻击者的识别阶段和利用阶段可能不同。
实际上,不同的设备管理和部署模型以及服务会产生不同的预期威胁模型。对于在企业环境中使用的设备,其中服务的安装是受控的,终端用户在破坏这些服务方面没有任何价值,威胁模型处理整体的软件攻击和漏洞。攻击确实不容易复制,因为大规模访问其他此类设备是不可能的。对于非管理的个人设备,攻击更有可能传播,因为一方面,设备更广泛,另一方面,最终用户自己可能有兴趣传播攻击。因此,区分攻击中的识别阶段和利用阶段是评估此类未管理设备的关键。
根据设备的使用方式,在识别阶段,根据攻击者可用的手段,软件或硬件,以及使用多个设备的可能性,可能以破坏性的方式进行不同的假设是有效的。当识别和利用分离时,为了解决攻击可能容易传播的非管理设备,识别阶段的攻击者可能具有软件或硬件专业知识,并可以访问示波器、协议分析仪、电路仿真器或JTAG调试器等设备,这些设备允许攻击者在PCB上的封装接口上操作。然而,预计可用的攻击潜力不足以在深层封装和SoC级别上发挥作用。
附录a描述了开发阶段的四种类型的攻击者。我们认为与广泛攻击最相关的攻击者是:
- 远程攻击者:这种利用配置文件对远程控制的设备执行攻击,或者制作一个对最终用户非常方便的可下载工具。攻击者检索在识别阶段识别的漏洞的详细信息,并输出标识符提供的攻击代码/可执行文件等。然后,攻击者制作一个远程工具或恶意软件,并使用网络钓鱼等技术让受害者下载并执行它,或者在互联网上制作一个友好的工具。请注意,新的恶意软件、特洛伊木马、病毒或root工具的设计通常是从互联网上可用的现有基础执行的。
- 本地外行攻击者:此利用配置文件具有对目标设备的物理访问权限;最终用户或代表他的人可能是攻击者。攻击者可能会从标识符或互联网上编写的关于如何执行攻击的指南中检索攻击代码/应用程序,并可能下载并使用工具来越狱/root/刷新设备,以便获得对REE的特权访问,从而允许执行漏洞利用。这些攻击不需要专门的设备。
在所有情况下,总体攻击潜力极大地限制了高级攻击者执行漏洞利用的可能性。对于大规模利用攻击,请参阅附件A,以获得对识别和利用阶段的全面描述,特定于TEE的攻击潜力表,以及TEE在该领域可能必须面对的具有代表性的攻击集。由于对这些漏洞的兴趣和传播的可能性比较有限,因此针对受管理设备的攻击应该只属于这些攻击的一个子集。
章节1.1至1.3定义了core PP和PP-Modules面临的威胁。威胁的描述提供了其总体目标、受威胁的资产,在某些情况下还提供了典型的攻击路径。
二、TEE威胁分析分类
1、Core TEE PP
以下威胁适用于任何TEE。
1.1、T.ABUSE_FUNCT
攻击者在其预期可用性范围之外访问TEE功能,从而违反TEE生命周期或状态机的不可逆阶段。
攻击者设法实例化非法TEE或在不安全状态下启动TEE或进入不安全状态,从而允许攻击者获取敏感数据或破坏TSF(绕过、停用或更改安全服务)。
直接受到威胁的资产:TEE初始化代码和数据(完整性)、TEE运行时数据(机密性、完整性)、RNG(机密性、完整性)、TA代码(真实性、一致性)。
间接受到威胁的资产:包括实例时间在内的TA数据和密钥(机密性、真实性、一致性)。
应用说明:
攻击路径可能包括,例如,在非预期的上下文中使用命令或使用非预期的参数,冒充授权实体,或利用实现不良的reset功能提供不适当的特权。
特别是,在常规操作系统中运行的假应用程序伪装成在TEE中运行的安全应用程序,可以获取pin和密码,并代表用户运行真正的安全应用程序。然而,这种威胁不能仅由TEE来应对,必须在服务设计中加以考虑,例如,通过在client和TA之间使用应用程序身份验证的通信通道。
1.2、T.CLONE
攻击者设法将TEE相关数据从一个设备复制到另一个设备,并使该设备接受它们作为真实数据。
直接受到威胁的资产:所有数据和密钥(真实性、设备绑定)、TEE标识数据(真实性、完整性)。
1.3、T.FLASH_DUMP
攻击者以明文形式部分或全部恢复外部Flash的内容,从而泄露敏感的TA或TEE数据,并可能允许攻击者进行其他攻击。
直接受到威胁的资产(机密性、真实性、一致性):TA数据和密钥、TEE持久数据。
应用说明:
例如,攻击路径包括通过REE执行(部分)内存dump,纯粹通过软件或USB连接。
在识别过程中,另一个例子包括拆下闪存并dump其内容,例如,泄露一个提供对同一型号的许多设备的特权访问的密钥。
1.4、T.IMPERSONATION(扮演、模仿)
攻击者冒充可信应用程序以获得对另一个可信应用程序的服务和数据的未经授权的访问。
直接受到威胁的资产(机密性、完整性):TEE运行时数据、RNG。
间接受到威胁的资产:所有数据和密钥(保密性、真实性、一致性)。
1.5、T.ROGUE_CODE_EXECUTION
攻击者将恶意代码导入TEE以公开或修改敏感数据。
直接受到威胁的资产(机密性、完整性):TEE运行时数据、RNG。
间接威胁的资产(保密性、真实性、一致性):所有资产。
应用说明:
在REE中导入代码是TEE无法控制的。
1.6、T.PERTURBATION(摄动、扰乱)
攻击者修改TEE或TA的行为,以公开或修改敏感数据,或强制TEE或TA执行未经授权的服务。
资产直接受到威胁:TEE初始化代码和数据(完整性),TEE存储信任根(机密性,完整性),TEE运行时数据(机密性,完整性),RNG(机密性,完整性)。
间接受到威胁的资产:包括TA实例时间在内的所有数据和密钥(机密性、真实性、一致性)。
应用说明:
未经授权使用命令(一个或多个不正确的命令、未定义的命令、隐藏的命令、无效的命令序列)或缓冲区溢出攻击(覆盖缓冲区内容以修改执行上下文或获取系统特权)是攻击路径的示例。TEE也可以通过REE或TA“编程错误”进行攻击,例如,利用多线程、上下文/会话管理或封闭会话;在执行命令时被TEE触发系统复位。
1.7、T.RAM
攻击者部分或全部恢复RAM内容,从而泄露运行时数据,并可能允许攻击者干扰TEE初始化代码和数据。
直接受到威胁的资产:TEE初始化代码和数据(完整性),TEE存储信任根(机密性,完整性),TEE运行时数据(机密性,完整性),RNG(机密性,完整性)。
间接受到威胁的资产:所有数据和密钥(保密性、真实性、一致性)。
应用说明:
当REE和TEE共享一些内存时,攻击路径包含由REE发起的(部分)内存dump(读/写)。
在识别阶段,攻击路径的另一个示例是窥探内存总线,揭示仅在运行时解密的代码,并在该代码中找到可被利用的缺陷。
1.8、T.RNG
攻击者以未经授权的方式获取有关TEE生成的随机数的信息。例如,这可能是因为生成的随机数没有足够的熵,或者因为攻击者强制输出部分或全部预定义的值。
失去不可预测性(随机数的主要属性)是一个问题,如果它们被用来生成加密密钥。故障或过早老化也可能允许获得随机数的信息。
直接受到威胁的资产(保密性、完整性):RNG和来自随机数的秘钥。
1.9、T.SPY(间谍、密探)
攻击者通过运行时攻击或未经授权访问存储位置来泄露机密数据或密钥。
直接威胁资产(保密性):所有数据和密钥,TEE存储信任根。
应用说明:
CA或TA利用侧信道(例如计时,功耗),检索残余敏感数据(例如不正确清除的内存)或使用未记录或无效的命令代码都是攻击路径的示例。数据可能被用来利用在其上获得数据的设备,或另一个设备(例如共享密钥)。
在识别阶段,攻击者可能会探测外部总线。
1.10、T.TEE_FIRMWARE_DOWNGRADE
攻击者备份部分或全部TEE固件并稍后恢复,以便使用过时的TEE功能。
直接受到威胁的资产:TEE固件(完整性)。
间接受到威胁的资产:所有数据和密钥(保密性、真实性、一致性)。
1.11、T.STORAGE_CORRUPTION
攻击者破坏TEE使用的全部或部分非易失性存储(包括可信存储),试图从存储安全机制触发意外行为。攻击的最终目标是公开或修改TEE或TA数据或代码。
直接受到威胁的资产:TEE存储信任根(保密性、完整性)、TEE持久化数据(机密性、一致性)、TEE固件(真实性、完整性)、TA数据和密钥(机密性、真实性、一致性)、TA实例时间(完整性)、TA代码(真实性、一致性)。
应用说明:
例如,攻击可以依赖于REE文件系统或Flash驱动程序。
1.12、T.ABUSE_DEBUG
攻击者设法获得对TEE调试功能的访问权限,从而获得敏感数据或破坏TSF(绕过、停用或更改安全服务)。
直接受到威胁的资产:TEE初始化代码和数据(完整性)、TEE运行时数据(机密性、完整性)、RNG(机密性、完整性)、TA代码(真实性、一致性)。
间接受到威胁的资产:包括实例时间在内的TA数据和密钥(机密性、真实性、一致性)。
应用说明:
在识别阶段,攻击者可能会搜索漏洞,例如利用JTAG接口访问TEE调试模式。
2、TEE Time and Rollback PP-Module
两个新的威胁应用于实现可信存储和TA持久时间完整性(也称为防回滚属性):T.ROLLBACK和T.TA_PERSISTENT_TIME_ROLLBACK。
2.1、T.ROLLBACK
攻击者备份部分或全部存储空间并稍后恢复它们,以便使用过时的TA服务或让TA使用过时的数据。
直接受到威胁的资产(机密性、完整性):TA数据和密钥、TEE持久数据、TA代码。
间接受到威胁的资产(机密性、完整性):TEE运行时数据、RNG。
应用说明:例如,攻击可能包括使用REE从Flash执行备份存储并稍后恢复它,或者修改用于检测回滚的TEE持久数据。
2.2、T.TA_PERSISTENT_TIME_ROLLBACK
攻击者修改TA持久时间,例如为了延长过期的权限或生成假日志。
直接受到威胁的资产:TA持续时间(完整性)。
间接受到威胁的资产:TA数据和密钥(机密性、完整性)。
应用说明:攻击可能包括,例如,使用REE从Flash中备份TA持久时间并稍后恢复它,修改时钟计数器,或拆除时钟电源。
3、TEE Debug PP-Module
在TEE调试pp模块中没有额外的威胁。文章来源:https://www.toymoban.com/news/detail-707184.html
文章来源地址https://www.toymoban.com/news/detail-707184.html
到了这里,关于GP(GlobalPlatform)TEE威胁分析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!