ATF(TF-A)安全通告 TFV-5 (CVE-2017-15031)

news/2024/5/18 13:32:11 标签: ATF, TF-A, CVE, 安全通告, Security, Advisory, ARM安全

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

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

目录

ATF(TF-A)%E5%AE%89%E5%85%A8%E9%80%9A%E5%91%8A%20TFV-5%C2%A0(CVE-2017-15031)-toc" style="margin-left:0px;">一、ATF(TF-A)安全通告 TFV-5 (CVE-2017-15031)

CVE-2017-15031-toc" style="margin-left:0px;">二、CVE-2017-15031


ATF(TF-A)%E5%AE%89%E5%85%A8%E9%80%9A%E5%91%8A%20TFV-5%C2%A0(CVE-2017-15031)">一、ATF(TF-A)安全通告 TFV-5 (CVE-2017-15031)

Title

未初始化或保存/恢复PMCR_EL0可能会泄露安全世界的时间信息

CVE ID

CVE-2017-15031

Date

02 Oct 2017, updated on 04 Nov 2019

Versions Affected

All, up to and including v2.1

Configurations Affected

All

Impact

泄露敏感的安全世界时间信息

Fix Version

Pull Request #1127 (merged on 18 October 2017)

Commit e290a8fcbc (merged on 23 August 2019)

Commit c3e8b0be9b (merged on 27 September 2019)

Credit

Arm, Marek Bykowski

CVE-2017-15031">二、CVE-2017-15031

        PMCR_EL0(性能监视控制寄存器Performance Monitors Control Register)提供性能监视实现的详细信息,包括实现的计数器数量,并配置和控制计数器。如果PMCR_EL0.DP位设置为零,在安全世界执行期间cycle counter周期计数器(当启用时)仍计数,即使被调试信号禁止。

        由于TF-A在非安全世界和安全世界之间切换时不会保存和恢复PMCR_EL0,因此非安全世界代码可以设置PMCR_EL0.DP为零,从而导致安全世界时间信息的泄漏。当进入EL3和转换到S-EL1时,应将此寄存器添加到保存/恢复寄存器列表中。

        此外,PMCR_EL0.DP有一个架构上未知的复位值。由于TF-A未初始化此寄存器,因此至少在某些实现中,默认情况下PMCR_EL0.DP可能会被初始化为0。在安全上下文中,这个和其他具有架构未知复位值的位应该初始化为合理的默认值。

        同样的问题也存在于等效的AArch32寄存器PMCR中,AArch32中PMCR_EL0.DP在架构上复位值为0。

         注意:上面引用的起初pull request只修复了S-EL1的问题,EL3在后来的提交中修复了。

 

参考:9.5. Advisory TFV-5 (CVE-2017-15031) — Trusted Firmware-A 2.9.0 documentation


http://www.niftyadmin.cn/n/4944025.html

相关文章

蓝牙、语音合二为一,启英泰伦CI231系列AI语音BLE芯片

随着智能家居的快速发展和人们对个性化体验的追求,近期启英泰伦推出了令人振奋的创新产品——CI231系列AI语音BLE芯片。这一系列芯片将语音与BLE技术巧妙融合,为用户提供了更丰富的设备连接选项和更个性化的语音交互体验。 CI231系列芯片实物图 CI231系…

深度学习2:过拟合解决办法

1.通过噪声正则化解决过拟合问题 噪声正则化是一种解决过拟合问题的有效方法。该方法通过向训练数据添加随机噪声,从而使模型更加鲁棒,并减少对训练数据的过度拟合。噪声正则化可以通过多种方式实现。其中一种常见的方法是在输入数据中添加随机噪声。例…

spark的standalone 分布式搭建

一、环境准备 集群环境hadoop11,hadoop12 ,hadoop13 安装 zookeeper 和 HDFS 1、启动zookeeper -- 启动zookeeper(11,12,13都需要启动) xcall.sh zkServer.sh start -- 或者 zk.sh start -- xcall.sh 和zk.sh都是自己写的脚本-- 查看进程 jps -- 有…

thinkphp5.1 trace 不显示sql语句

config/app.php app_debug > true,//线上环境为 false // 应用Trace app_trace > true,//线上环境为 false config/database.php debug > true, config/log.php close > false, thinkphp5.1x 设计非常奇怪 必须开启…

[Vue warn]: Error in render: “SyntaxError: “undefined“ is not valid JSON“

[Vue warn]: Error in render: “SyntaxError: “undefined” is not valid JSON” 这说明出现了undefined这个变量类型,比如JSON.parse()时候会出现,可以先尝试打印JSON.parse()括号中的内容是否是undefined,如果是,那问题的根源…

Python实时监控键盘的输入并打印出来

要实现Python实时监控键盘的输入并打印出来,可以使用pynput模块。 首先,需要安装pynput模块: pip install pynput 然后,可以编写以下代码来实现实时监控键盘输入并打印出来的功能: from pynput import keyboard# 定…

Ubuntu安装MySQL Server提示Depends: mysql-server-5.5怎么解决

在 Ubuntu 安装 MySQL Server 时出现 Depends: mysql-server-5.5 的错误通常是因为系统中没有找到所需的软件包版本。这可能是因为软件包源中没有对应的版本或者软件包版本冲突等原因。解决这个问题的方法如下: 更新软件包列表: 在终端中运行以下命令&a…

[.NET学习笔记] -.NET6.0项目动态加载netstandard2.0报错但项目添加引用则正常的问题

问题描述 .NET6.0的项目使用netstandard2.0版本的动态链接库。若是在项目中直接添加引用,应用netstandard2.0项目或者netstandard2.0编译后的dll均能正常工作。但如果通过xcopy等方式,额外将对应的dll复制到执行目录,会执行失败。调用方式一…