安全机制——MPU

admin 2025-12-14 20:00:46 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: MPU(内存保护单元)是一种硬件安全机制,通过检测和防止不可靠程序未经授权使用系统资源来维护系统稳定运行。文章以英飞凌Aurix芯片为例,详细介绍了MPU的两个核心层面:内存权限控制(包括数据读取、写入和指令获取保护)和权限模式管理(包括user0、user1和supervisor三种模式)。MPU的必要性源于ISO26262标准对软件分区间免于干扰的要求,特别是在ASIL等级分区的软件架构中。文章最后提供了MPU配置的具体方法,包括代码和数据保护范围的寄存器设置。 综合评分: 78 文章分类: IoT安全,二进制安全,安全建设,终端安全,技术标准


cover_image

安全机制——MPU

谈思实验室

2025年11月22日 17:27 上海

点击上方蓝字谈思实验室

获取更多汽车网络安全资讯

01

什么是MPU

MPU是内存保护单元(Memory Protect Unit)的缩写,是指通过检测和防止不可靠的程序或失控事件未经授权使用系统资源,来维护系统稳定运行。保护系统采取硬件安全机制,保护用户指定的内存范围免遭未经授权的读取、写入或指令获取访问。为了偏于理解,接下来以英飞凌的Aurix芯片为例,在Aurix芯片中,主要分为内存权限控制、权限模式管理两个层面进行MPU的保护。

1.内存权限控制

内存权限控制主要将软件系统分为程序区和数据区,进行三个方面进行保护:

(1)数据读取保护R

保护范围:地址下边界值≤地址≤地址上边界值

保护颗粒度:8bytes

(2)数据写如保护W

保护范围:地址下边界值≤地址≤地址上边界值

保护颗粒度:8bytes

(3)指令获取保护E

保护范围:地址下边界值≤地址≤地址上边界值

保护颗粒度:32bytes

工作原理:上述保护的区域可以通过设置相对应的地址空间来实现,每个区域都会设置标准的地址的上限和下限,如果内存保护全部使能后,在设置的地址外进行数据读取、数据写入或指令获取操作,则系统会禁止该操作,同时会引起trap造成系统reset。

2.权限模式管理

权限管理主要是通过对资源访问的权限和模式进行管理,以英飞凌Aurix芯片的寄存器为例,分为多个权限模式进行管理:

Aurix寄存器权限管理

芯片手册中提到对操作每个寄存器资源设置了权限了,用户必须在正确的模式下对该寄存器进行访问或操作,如果未能按照手册中的要求去做,则寄存器会操作失败或者引发系统的trap造成reset。

值得一提的是上图包含了我们经常使用的I/O特权模式:user0 mode,user1 mode,supervisor mode

权限特权等级控制

user0 mode:没有外设权限,禁止访问具有外设空间属性的内存区域,并导致 PSE 或 MPP 的trap。此访问级别分配给不需要直接访问外设的任务。此级别的任务无权启用或禁用中断。

user1 mode:常规外设访问。允许访问未受特殊保护的通用外设,包括对串行 I/O 端口的读/写访问、对计时器的读访问以及对大多数 I/O 状态寄存器的访问。此级别的任务可以禁用中断。(此模式的默认行为可能会被系统控制寄存器覆盖)。

supervisor mode:允许访问所有外设。它允许对核心寄存器和受保护的外设进行读/写访问。此级别的任务可以禁用中断。

芯片手册中还提到:“The User-1 mode allows application tasks to directly access non-critical system peripherals. This allows systems to be implemented efficiently, without the loss of security inherent in running in Supervisor mode. (The default behaviour of User-1 mode may be overriden by the system control register).”也就是说user1模式允许应用软件任务直接访问非关键的外设寄存器,这样既保证了效率,又不会损失管理员模式下的安全性,个人理解属于在执行性能和安全性上找到了平衡点。

02

为什么要做MPU

首先在ISO26262标准软件部分7.4.9中提出关于软件分区实施软件组件间免于干扰的要求

功能安全标准软件部分

标准中提到软件分区之间应该确保免于干扰,包括不能改变其他软件分区的代码或数据,也不能访问其他软件分区的非共享资源。

并且在附录D2.3的内存章节中明确定义了几种情况,包含数据内容损坏,数据不一致,堆栈上溢或下溢,对已分配给其他软件要素的内存进行读写访问。

内存访问要求

如果您设计软件架构中按照ASIL等级,进行分区,最高功能安全等级ASIL D,那么就需要QM、ASIL A、ASIL B、ASIL C、ASIL D之间的软件组件免于干扰,这时就需要MPU进行保护。

03

如何配置使用MPU

对于如何配置使用MPU安全机制,为了方便各位同学理解,依然以英飞凌Aurix芯片为例。

首先一个完整的MPU保护配置包含以下配置:

1.代码保护范围

(1)代码保护范围上限寄存器

代码保护范围上限寄存器

(2)代码保护范围下限寄存器

代码保护范围下限寄存器

2.数据保护范围

(1)数据保护范围上限寄存器

数据保护范围上限寄存器

(2)数据保护范围下限寄存器

数据保护范围下限寄存器

3.代码保护范围使能

代码保护执行使能设置寄存器

代码保护执行使能设置寄存器

4.数据写入保护范围使能

数据写入保护使能设置寄存器

数据写入保护使能设置寄存器

5.数据读取保护范围使能

数据读取保护使能设置寄存器

数据读取保护使能设置寄存器

6.内存保护使能寄存器

如果需要激活内存保护功能,内存保护使能标志必须设置为Enable

内存保护使能寄存器

来源:知乎@穷困潦倒的资本家

https://zhuanlan.zhihu.com/p/700462450

谈思-汽车出海安全合规(欧洲)

交流群

谈思 AutoSec Europe 峰会旨在搭建一个能融汇全球视野与中国实践、连接技术前沿与落地应用的国际性专业平台,以助力中国汽车应对在出海过程中面临的网络与数据安全合规痛点。从前沿技术研讨、合规要点解析到经验交流,都将通过本平台为您提供持续支持。社群已超过200人,需邀请加入,如需入群,欢迎添加社群小助手微信taaslabs01。

谈思-SDV&AIDV技术出海

交流群

诚邀行业同仁加入谈思SDV&AIDV出海技术交流群,聚焦软件定义汽车、AI定义汽车、下一代EEA、智能座舱、智能驾驶、软件架构、域控制器开发、芯片技术、软件工具等核心议题,欢迎大家加群交流探讨~~

end

精品活动推荐

AutoSec系列沙龙

专业社群

部分入群专家来自:

新势力车企:

特斯拉、合众新能源-哪吒、理想、极氪、小米、宾理汽车、极越、零跑汽车、阿维塔汽车、智己汽车、小鹏、岚图汽车、蔚来汽车、吉祥汽车、赛力斯……

外资传统主流车企代表:

大众中国、大众酷翼、奥迪汽车、宝马、福特、戴姆勒-奔驰、通用、保时捷、沃尔沃、现代汽车、日产汽车、捷豹路虎、斯堪尼亚……

内资传统主流车企:

吉利汽车、上汽乘用车、长城汽车、上汽大众、长安汽车、北京汽车、东风汽车、广汽、比亚迪、一汽集团、一汽解放、东风商用、上汽商用……

全球领先一级供应商:

博世、大陆集团、联合汽车电子、安波福、采埃孚、科世达、舍弗勒、霍尼韦尔、大疆、日立、哈曼、华为、百度、联想、联发科、普瑞均胜、德赛西威、蜂巢转向、均联智行、武汉光庭、星纪魅族、中车集团、赢彻科技、潍柴集团、地平线、紫光同芯、字节跳动、……

二级供应商(500+以上):

Upstream、ETAS、Synopsys、NXP、TUV、上海软件中心、Deloitte、奇安信、为辰信安、云驰未来、信大捷安、信长城、泽鹿安全、纽创信安、复旦微电子、天融信、奇虎360、中汽中心、中国汽研、上海汽检、软安科技、浙江大学……

人员占比

公司类型占比

文章

不要错过哦,这可能是汽车网络安全产业最大的专属社区!

关于涉嫌仿冒AutoSec会议品牌的律师声明

一文带你了解智能汽车车载网络通信安全架构

网络安全:TARA方法、工具与案例

汽车数据安全合规重点分析

浅析汽车芯片信息安全之安全启动

域集中式架构的汽车车载通信安全方案探究

系统安全架构之车辆网络安全架构

车联网中的隐私保护问题

智能网联汽车网络安全技术研究

AUTOSAR 信息安全框架和关键技术分析

AUTOSAR 信息安全机制有哪些?

信息安全的底层机制

汽车网络安全

Autosar硬件安全模块HSM的使用

首发!小米雷军两会上就汽车数据安全问题建言:关于构建完善汽车数据安全管理体系的建议


评论:0   参与:  16