作
者
简
介
本文简介
评估目标
图1 TF-A数据流图
数据流
图1显示了TF-A的数据流图。该图显示了基于TF-A系统的不同组件及其与TF-A相互作用的模型。表1给出了每个图元素的描述。在图中,红色虚线表示信任边界。虚线以外的组件被TF-A认为是不可信的。
表1 TF-A数据流图描
威胁分析
资产
我们为TF-A识别了以下资产。
表2 TF-A资产
威胁代理
要了解攻击面,必须识别潜在的攻击者,即攻击入口点。以下威胁代理在此威胁模型的范围内。
表3 威胁代理
注意:在这种威胁模型中,有能力篡改硬件的高级物理攻击者(例如,使用聚焦离子束(FIB)“重新布线”芯片或使用化学物质分解芯片)被认为是超出范围的。
威胁类型
在这个威胁模型中,我们使用STRIDE威胁分析技术对威胁进行分类。在这种技术中,威胁被分类为一种或多种类型:欺骗(Spoofing)、篡改(Tampering)、抵赖(Repudiation)、信息泄露(Information disclosure)、拒绝服务(Denial of service)或特权提升(Elevation of privilege)。
威胁风险评级
对于所确定的每一种威胁,根据在未采取缓解措施的情况下发生威胁的可能性以及威胁的影响(即后果可能有多严重),给出从信息到严重的风险评级。表4从评分、影响和可能性的角度解释了每种评级。
表4 应用于影响和可能性的评级和评分
对已识别的威胁进行综合风险评分;具体来说,就是影响分数乘以可能性分数。例如,一个可能性高但影响低的威胁的总风险得分为8 ;也就是说,4表示高可能性,乘以2表示低影响。总风险评分决定了该发现的总体风险水平,如下表所示。
表5 综合风险等级和相应的评分
威胁的可能性和影响取决于TF-A运行的目标环境。例如,需要物理访问的攻击在服务器环境中不太可能发生,而在物联网环境中更常见。在这个威胁模型中,我们考虑了三种目标环境:物理网设备、移动终端和服务器。
威胁评估
通过对数据流图的每个图元素应用STRIDE分析,识别了以下威胁。
对于每一种威胁,我们努力表明当前是否实施了缓解措施。一些缓解措施在通用代码中部分实现,但也依赖于平台代码来实现其中的一部分。这个威胁模型的目标是平台独立的,必须记住,只有在平台代码正确地履行其职责时,这种威胁才会得到缓解。
此外,一些缓解措施需要启用特定的功能,这些功能必须通过构建标志显式地打开。这些在“缓解措施是否实现?”栏体现
破坏固件镜像来执行任意代码
引导过时的、易受攻击的固件镜像进行回滚攻击
利用TOCTOU绕过引导过程中的镜像身份验证
利用故障技术绕过签名验证执行任意镜像
通过UART日志泄露敏感信息
通过外部调试和跟踪接口读取敏感数据或执行任意代码
使用未经校验的SMC调用,执行DOS攻击
内存溢出或越界引起的代码任意执行或改变程序执行流
处理不当的SMC调用泄露寄存器信息
利用微架构侧信道攻击泄露ATF内存中敏感信息
MMU的错误配置引起的敏感数据泄露或任意代码执行
MMU的错误配置引起的敏感数据泄露或任意代码执行
保存敏感信息至内存引起的敏感信息泄露
执行任意或不受信任的二进制文件作为安全操作系统镜像