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

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

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

目录

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

二、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

        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.hqwc.cn/news/70155.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Stable Diffusion入门修炼手册

简介 作为新入门的新手,通常安装完Stable Diffusion之后,一打开界面,在文生图输入girl或者dog,结果出来的画面比较糟糕,看起来像素很低,画面不清晰,人物也不怎么美,等等其他问题&am…

STM32 FLASH 读写数据

1. 《STM32 中文参考手册》,需要查看芯片数据手册,代码起始地址一般都是0x8000 0000,这是存放整个项目代码的起始地址 2. 编译信息查看代码大小,修改代码后第一次编译后会有这个提示信息 2.1 修改代码后编译,会有提示…

【数据结构】实现顺序表

目录 一.介绍顺序表二.实现顺序表1.创建多文件2.顺序表的存储方式3.函数的声明4.初始化顺序表5.清理顺序表6.打印顺序表7.扩容8.尾插8.尾删9.头插10.头删11.查找12.修改13.在pos位置插入13.在pos位置删除 三.全部代码1.SeqList.h2.SeqList.c3.Test.c 一.介绍顺序表 顺序表是用…

【Linux命令详解 | tar命令】 tar命令用于打包和解压文件,常用于备份和压缩文件

文章标题 简介一,参数列表二,使用介绍1. 打包文件和目录2. 解包归档文件3. 压缩归档文件4. 列出归档文件内容5. 排除特定文件6. 保留文件权限和所有权7. 保留时间戳8. 增量备份9. 使用文件列表10. 压缩级别控制 总结 简介 在Linux中,tar命令…

BTC硬币已实现价格分布

号外:刘教链新作,欢迎点击阅读: 公众号「刘教链内参」8.16发表:《内参:Vitalik亲口承认几乎所有二层roll-up都有后门》。 公众号「刘教链Pro」8.16发表:《作为投资组合保险的比特币》。 * * * * * * 熟悉比…

Ubuntu安装Apache+Php

环境:ubuntu 22.04 虚拟机 首先更新一下 sudo apt-get update sudo apt-get upgrade安装Apache2: sudo apt-get install apache2 输入y,继续。等着他恐龙抗浪抗浪的下载安装就好了 打开浏览器访问http://localhost/ 安装php: …

TCP/IP协议追层分析物理层(第三十九课)

TCP/IP协议追层分析物理层(第三十九课) 1 物理层:建立、维护、断开物理连接,定义了接口及介质,实现了比特流的传输。 1、传输介质分类 有线介质:网线(双绞线)、光纤 无线介质:无线电 微波 激光 红外线 2、双绞线分类: 五类cat5: 适用于100Mbps 超五类cat5e:适用于…

easyx图形库基础4:贪吃蛇

贪吃蛇 一实现贪吃蛇:1.绘制网格:1.绘制蛇:3.控制蛇的默认移动向右:4.控制蛇的移动方向:5.生成食物6.判断蛇吃到食物并且长大。7.判断游戏结束:8.重置函数: 二整体代码: 一实现贪吃蛇…

Vim的插件管理器之Vundle

1、安装Vundle插件管理器 Vim可以安装插件,但是需要手动安装比较麻烦,Vim本身没有提供插件管理器,所以会有很多的第三方的插件管理器,有一个vim的插件叫做 “vim-easymotion”,在它的github的安装说明里有列出对于不同…

【第二阶段】kotlin的函数类型作为返回类型

fun main() {//调用,返回的是一个匿名类型,所以info就是一个匿名函数val infoshow("",0)//info接受的返回值为匿名类型,此时info就是一个匿名函数println(info("kotlin",20)) }//返回类型为一个匿名函数的返回类型fun show(name:Str…

深度学习从入门到实际项目资料汇总

图片来源于AiLake,如若侵权,请联系博主删除 文章目录 1. 介绍2. 深度学习相关学习资料2.1 [《动手学深度学习》](http://zh.d2l.ai/index.html)2.2 [导航文库](https://docs.apachecn.org/#1be32667e7914f03afb3c39239bd2525)2.3 [AI学习地图&#xff0c…

时序预测 | MATLAB实现基于CNN-BiLSTM卷积双向长短期记忆神经网络的时间序列预测-递归预测未来(多指标评价)

时序预测 | MATLAB实现基于CNN-BiLSTM卷积双向长短期记忆神经网络的时间序列预测-递归预测未来(多指标评价) 目录 时序预测 | MATLAB实现基于CNN-BiLSTM卷积双向长短期记忆神经网络的时间序列预测-递归预测未来(多指标评价)预测结果基本介绍程序设计参考资料 预测结果 基本介绍…