ATF(TF-A)安全通告汇总
目录
一、ATF(TF-A)安全通告 TFV-9 (CVE-2022-23960)
二、CVE-2022-23960
一、ATF(TF-A)安全通告 TFV-9 (CVE-2022-23960)
| Title | TF-A披露通过分支预测目标重用(branch prediction target reuse)引发的前瞻执行处理器漏洞 | 
| CVE ID | CVE-2022-23960 | 
| Date | 08 Mar 2022 | 
| Versions Affected | All, up to and including v2.6 | 
| Configurations Affected | All | 
| Impact | 如果攻击者能够找到一个TF-A原语,它可以被预测为一个有效的分支目标,并以某种方式诱导对该原语的错误预测,那么安全世界数据可能会泄露到非安全世界。目前没有已知的漏洞。 | 
| Fix Version | Gerrit topic #spectre_bhb | 
| Credit | 阿姆斯特丹自由大学系统和网络安全小组发布的CVE-2022-23960, Arm发布的补丁 | 
本安全通告描述了当前对TF-A披露的新的前瞻执行处理器漏洞的理解。要了解Arm系统上这些漏洞的背景和更广泛的影响,请参阅Arm Processor Security Update。下面引用的白皮书更详细地描述了Spectre攻击和缓解措施,包括针对所有受影响的Arm cpu的特定实现缓解细节。
二、CVE-2022-23960
在实现了FEAT_CSV2的易受攻击的CPU上,Arm建议在可能的情况下插入一个具有实现特定迭代次数的循环(loop)解决方案,这样就可以在给定CPU往更高异常级别跳转时,丢弃异常入口的分支历史记录。
在进入EL3时,在任何分支指令被执行之前,这都要尽早完成。这足以代表所有的安全世界代码减轻Spectre-BHB,假设没有安全世界代码是在攻击者的控制之下。
下表列出了在TF-A中使用循环解决方案来缓解该漏洞的cpu(所有实现FEAT_CSV2的核心,除了实现FEAT_CSV2的Cortex-A73和Cortex-A75修订版本)。
| Core | 
| Cortex-A72(from r1p0) | 
| Cortex-A76 | 
| Cortex-A76AE | 
| Cortex-A77 | 
| Cortex-A78 | 
| Cortex-A78AE | 
| Cortex-A78C | 
| Cortex-X1 | 
| Cortex-X2 | 
| Cortex-X3 | 
| Cortex-A710 | 
| Cortex-A715 | 
| Cortex-A720 | 
| Neoverse-N1 | 
| Neoverse-N2 | 
| Neoverse-V1 | 
| Neoverse-V2 | 
| Neoverse-Poseidon | 
对于受Spectre-BHB影响的所有其他核心,其中一些没有实现FEAT_CSV2,有些实现了,例如Cortex-A73,建议的缓解措施是通过实现特定的路由flush所有分支预测。
如果本地解决方案不可用,Rich OS可以调用SMC (SMCCC_ARCH_WORKAROUND_3)来应用解决方案。详情请参阅SMCCC Calling Convention specification。
         这个补丁集(Gerrit topic #spectre_bhb)为上表中提到的cpu实现了Spectre-BHB循环解决方案。对于支持speculative barrier指令的cpu,通过使用SB指令代替常见的DSB和ISB序列来优化循环解决方案。它还缓解了支持CSV2特性的Cortex-A72 CPU版本(从r1p0开始)的此漏洞。补丁还包括一个特定的CVE-2022-23960解决方案SMC(SMCCC_ARCH_WORKAROUND_3)的实现,供非安全世界特权软件使用。关于SMCCC ARCH WORKAROUND 3的详细信息可以在SMCCC Calling Convention specification找到。规范和实现还使非安全世界能够发现该固件服务的存在。此补丁还使用现有的解决方案为Cortex-A57, cortex - a72, Cortex-A73和Cortex-A75实现了SMCCC_ARCH_WORKAROUND_3。对于CVE-2017-5715,Cortex-A15补丁将Spectre V2缓解扩展到Spectre-BHB。
以上的解决方案是默认启用的(仅在易受攻击的cpu上)。如果平台不需要它们,可以选择在编译时禁用它们。
怎么禁用呢?

有关非arm架构 CPU的更多信息,请联系CPU供应商。
参考:
9.9. Advisory TFV-9 (CVE-2022-23960) — Trusted Firmware-A 2.9.0 documentation