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

news2024/11/19 17:20:09

安全之安全(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.coloradmin.cn/o/886143.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

cs231n assignment 3 Q2 Image Captioning with Vanilla RNNs

文章目录 嫌啰嗦直接看代码Q2 Image Captioning with Vanilla RNNs一个给的工具代码里的bug问题展示问题解决思路解决办法 rnn_step_forward题面解析代码输出 rnn_step_backward题面解析代码输出 rnn_forward题面解析代码输出 rnn_backward题面解析代码输出 word_embedding_for…

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

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

leetcode 518. 零钱兑换 II

本题是背包问题系列的完全背包问题,和0-1背包唯一的区别就在于:物品是可以重复选取的。 经过之前背包问题的拷打,本题也是一遍AC了。 接下来将给出二维和一维两种做法。 二维dp数组做法: 本题的背包大小即为题中给出的总金额&am…

与微软Office抗衡,两大巨头布局,打造新办公软件,再上新台阶

办公软件是我们日常工作中不可或缺的工具。 除了广为人知的微软Office套件外,近几年来,中国市场有许多优秀的国产办公软件抢眼登场,这些软件在提高工作效率、简化工作流程方面发挥着重要作用。 简单介绍几款值得知道的国产办公软件&#xff…

【学习FreeRTOS】第9章——FreeRTOS任务调度

1.开启任务调度器 vTaskStartScheduler() 作用:用于启动任务调度器,任务调度器启动后, FreeRTOS 便会开始进行任务调度【动态创建任务为例】 创建空闲任务如果使能软件定时器,则创建定时器任务关闭中断,防止调度器开…

99%的Python用户都不知道的f-string隐秘技巧

f-string想必很多Python用户都基础性的使用过,作为Python3.6版本开始引入的特性,通过它我们可以更加方便地向字符串中嵌入自定义内容,但f-string真正蕴含的功能远比大多数用户知道的要丰富,今天我们就来一起get它们~ 「最基础用法…

JVS开源基础框架:平台基本信息介绍

JVS是面向软件开发团队可以快速实现应用的基础开发脚手架,主要定位于企业信息化通用底座,采用微服务分布式框架,提供丰富的基础功能,集成众多业务引擎,它灵活性强,界面化配置对开发者友好,底层容…

MySQL性能分析之慢查询日志查看

一、背景 MySQL的慢查询日志是MySQL提供的一种日志记录,他用来记录在MySQL中响应的时间超过阈值的语句,具体指运行时间超过long_query_time(默认是10秒)值的SQL,会被记录到慢查询日志中。 慢查询日志一般用于性能分析时开启,收集慢SQL然后通过explain进行全面分析,一…

GPU Dissolve(GPU 消散)学习GPU Instancing

一:摘要 通过制作一个模型GPU消散效果来学习GPU Instancing 也就是实例化。 目标效果是杨超大佬文章《GPU shatter》里面的消散效果如图: Tags:模型顶点分裂(Mesh Vertex Splitting), 实例化绘制(GPU Instancing Drawing)&#x…

【100天精通python】Day36:GUI界面编程_高级功能操作和示例

专栏导读 专栏订阅地址:https://blog.csdn.net/qq_35831906/category_12375510.html 一、GUI 高级功能 1 自定义主题和样式 自定义主题和样式可以让你的GUI应用程序在外观方面更加出色。在使用Tkinter时,你可以使用ttkthemes库来应用不同的主题和样式。…

一文搞懂Spring是如何解决Bean循环依赖的?

一.什么是Bean循环依赖 循环依赖是指Bean对象循环引用,是两个或多个Bean之间相互持有对方的引用,循环依赖有2中表现形式 第一种相互依赖,就是A依赖B,B又依赖A 第二种是自我依赖,就是A依赖自己形成自我依赖 对象引用…

上山取石,下江取锦。诗人秋浦啸傲,新津樵唱。江南山水秀美,水乡文化流长。而水,则是这些山水风景的灵魂所在。 水,雨露滋润万物生长的泉源。 它潺潺流淌于山间溪涧,涓涓细流化成了青山的眼泪。水顺势而下&a…

Unity如何制作声音控制条(控制音量大小)

一:UGUI制作 1. 首先在【层级】下面创建UI里面的Slider组件。设置好它对应的宽度和高度。 2.调整Slider滑动条的填充颜色。一般声音颜色我黄色,所以我们也调成黄色。 我们尝试滑动Slider里面的value。 a.滑动前。 b.滑动一半。 c.滑动完。 从以上滑动va…

Openai中的tokens怎么估计

大规模语言模型(LLM)的出现给自然语言处理领域带来了变革的可能性,Openai开放了chatgpt的API,方便了开发人员使用LLM的推理能力,注册时赠送5美元的使用额度,有效期3个月。 如果想便捷的使用chatgpt的API&a…

判断推理

六哥爱学习呀 产品经理 不是说我努力学习我就一定可以通过考试,所以是推不出,类似数学中充分必要性 8 回复 发布于 2019-08-07 16:28 官方解析: 当丙的范围足够大时,可能与甲相交或完全包含甲,在此情况下,有…

【数据结构】顺序队列模拟实现

💐 🌸 🌷 🍀 🌹 🌻 🌺 🍁 🍃 🍂 🌿 🍄🍝 🍛 🍤 📃个人主页 :阿然成长日记 …

ansible 修改远程主机nginx配置文件

安装ansible brew install ansible 或者 pip3 install ansible 添加远程主机 设置秘钥 mac登录远程主机 ssh -p 5700 root192.168.123.211 ssh localhost #设置双机信任 ssh-kyegen -t rsa #设置主机两边的ssh配置文件 vi /etc/ssh/sshd_config/ PermitRootL…

C++写文件,直接写入结构体

C写文件,直接写入结构体 以前写文件都是写入字符串或者二进制再或者就是一些配置文件,今天介绍一下直接写入结构体,可以在软件参数较多的时候直接进行读写,直接将整个结构体写入和读取,看代码: #include&…

除了ping你用过traceroute吗

一、检查两个计算机间的网络是否通 在检查两个机器的网络通不通,我们经常使用的命令是ping 但是当ping不通时,我们就不知道网络是哪里不通了,只能找网管排查。 这里介绍一个检查网络工具 traceroute 二 、TraceRoute是什么 TraceRoute的中文…

驱动 - 20230816

练习 1.编写LED灯的驱动,可以控制三个灯,应用程序中编写控制灯的逻辑,要使用自动创建设备节点机制 驱动头文件 ledHead.h #ifndef __HEAD_H__ #define __HEAD_H__#define PHY_GPIOE_MODER 0X50006000 #define PHY_GPIOE_ODR 0X50006014 #d…