ATF(TF-A)安全通告 TFV-2 (CVE-2017-7564)

安全之安全(security²)博客目录导读

ATF(TF-A)安全通告汇总

目录

一、ATF(TF-A)安全通告 TFV-2 (CVE-2017-7564)

二、 CVE-2017-7564


一、ATF(TF-A)安全通告 TFV-2 (CVE-2017-7564)

Title

 启用安全自托管侵入式调试接口,可允许非安全世界引发安全世界panic

CVE ID

CVE-2017-7564

Date

02 Feb 2017

Versions Affected

All versions up to v1.3

Configurations Affected

All

Impact

拒绝服务攻击Denial of Service(安全世界panic)

Fix Version

15 Feb 2017 Pull Request #841

Credit

ARM

二、 CVE-2017-7564

        MDCR_EL3.SDD位控制AArch64安全自托管侵入式调试使能。默认情况下,当前版本的ARM可信固件(TF-A)的BL1和BL31镜像在早期入口点代码中无条件地将该位设置为0,这允许从安全世界调试异常。这可以在el3_arch_init_common AArch64 macro的实现中看到。鉴于TF-A目前不支持此特性(例如,通过保存和恢复适当的调试寄存器),这可能允许普通世界攻击者在安全世界中引起panic。

ATF(TF-A)安全通告 TFV-2 (CVE-2017-7564)_第1张图片

        应该将MDCR_EL3.SDD位设置为1,以禁用安全世界调试异常。

        早期版本的TF-A(在commit 495f3d3之前)没有设置这个位。由于该位在架构上复位值未知,因此早期版本可能会也可能不会有相同的问题,具体取决于平台。

ATF(TF-A)安全通告 TFV-2 (CVE-2017-7564)_第2张图片

        类似的问题也适用于MDCR_EL3.SPD32位,它控制AArch32安全自托管侵入式调试使能。TF-A将这些位配置为0b00,这意味着身份验证接口启用了来自Secure EL1的调试异常。因此,这个问题只存在于AArch32 Secure EL1代码中,当身份验证接口启用了安全特权侵入式调试时,此时设备很容易受到其他更严重的攻击。

        但是,由于TF-A不支持处理调试异常,因此MDCR_EL3.SPD32位应该配置为0b10来禁用AArch32 Secure EL1的调试异常。

ATF(TF-A)安全通告 TFV-2 (CVE-2017-7564)_第3张图片

        最后,这个问题也适用于使用TF SP_MIN镜像或集成等效于el3_arch_init_common宏的AArch32 equivalent平台。这里受影响的位是SDCR.SPD,也应该设置为0b10而不是0b00。

ATF(TF-A)安全通告 TFV-2 (CVE-2017-7564)_第4张图片

 ATF(TF-A)安全通告 TFV-2 (CVE-2017-7564)_第5张图片

ATF(TF-A)安全通告 TFV-2 (CVE-2017-7564)_第6张图片

 参考:9.2. Advisory TFV-2 (CVE-2017-7564) — Trusted Firmware-A 2.9.0 documentation

你可能感兴趣的:(TF-A之安全,ATF,TF-A,CVE,安全通告,Security,Advisory,ARM安全)