域控软件安全隔离关键技术剖析:MCU域 VS SOC域

发布者:诚信与爱最新更新时间:2024-10-12 来源: elecfans关键字:安全隔离 手机看文章 扫描二维码
随时随地手机看文章

安全隔离的需求

功能安全开发中,软件阶段由软件V模型左边的软件安全需求SSR开始。SSR是从技术安全需求TSR中提取出软件的功能安全需求,大多数情况下具有不同的ASIL等级。

wKgZomYXe6KAARPrAAERxMLYISc651.pngwKgZomYXe6KAARPrAAERxMLYISc651.png

图1功能安全软件开发V模型


随后,软件安全需求会被分配到软件架构中的软件组件中。不同ASIL等级的软件安全需求被分配到软件组件过后,带来了级联失效的问题。若放任不同ASIL等级软件组件在一个系统中运行,可能会存在低ASIL等级软件组件失效从而引发高ASIL等级软件组件失效的风险。

ISO26262对软件组件之间的交互进行了分析并提出了免于干扰(Freedom from Interference)的需求,安全隔离则旨在隔离软件系统中安全相关与安全无关的软件组件,以及不同ASIL等级的软件组件。


软件内存基础

首先让我们来了解内存的基本知识。RAM与ROM是ECU中常见的存储器类型,它们在数据存储和访问方面扮演着重要的角色。

RAM(Random Access Memory)是一种临时存储器,用于存储计算机正在运行的程序和数据。它具有快速的读写速度和随机访问的特点。

ROM(Read-Only Memory)是一种只读存储器,用于存储固定的程序指令和数据。ROM中的数据在计算机断电时不会丢失,因此被称为非易失性存储器。

然而在软件视角中,软件被编译后会被分为不同的段进行存放。具体分段方式可能根据架构有细微区别在,以Tc3xx系列芯片为例,包含以下几段:

(1)已初始化的数据段

(2)未初始化的数据段

(3)只读数据段

(4)代码段

(5)task栈区

(6)启动栈区

(7)CSA区

这些段被编译器分配到物理内存中,可能由不同的存储器来存放。每当程序需要使用某处数据或者加载某处的指令时,会根据地址来取出所需的数据或是指令进行运算,再将运算结果写入某处物理内存中。

在这个过程中,安全隔离的目标是阻止安全无关的软件组件写入安全相关的软件组件使用的内存区域;低ASIL等级的软件组件写入高ASIL等级的软件组件所使用的内存区域。


MCU上的安全隔离模块

MCU上的安全隔离通常借助内存分区机制和内存保护单元MPU完成。经典AUTOSAR架构中,允许对软件进行内存分区(Partition),借助内存映射(memory map)将软件组件的代码和数据划分到指定的区域内。这种方式虽然能有效地将不同ASIL等级的变量和代码分布到不同的地址范围中,但无法杜绝指针越界、数组越界导致跨区域访问的风险。

MPU(memory protection unit)内存保护单元是一种按内存区域提供保护和隔离的硬件原件,与内存分区配合使用可以阻止不同软件分区的软件组件之间相互访问,从而达到内存隔离的效果。

以Tc3xx系列芯片为例,MPU可以按照保护范围分为两种,一种为系统级的SMPU(System Memory Protection Unit),另一种为核心级的CMPU(Core Memory Protection Unit)。

· 系统级的SMPU

SMPU有时候也被称为Bus MPU,表示其工作在芯片总线上。其保护原理如图2所示,总线上所有主机对于内存的访问都会经过SMPU,当主机拥有所请求内存地址的对应访问权限(读/写)时,才能允许访问。

Tc3xx中的Bus MPU可以维护8个地址保护区域(每个保护区域范围由两个寄存器控制),每个保护区域都记录了64个总线主机的权限。当主机访问内存区域时,首先寻找对应的区域,再根据主机TAG ID检查主机是否拥有对应的权限,检查通过后才能进行读写访问,否则会触发系统定义的故障。

SMPU通常用于多核系统和使用DMA设备的系统,其保护范围有限,且不能覆盖所有的内存区域。

up-3b47d2d236af2518a538fb61105ab942c7d.jpgwKgZomYXe66Afn9WAACK0ZoKrbM598.png

图2 SMPU保护原理

  • · 核心级的CMPU

核心级的CMPU则是每个CPU核心独有的,提供应用级别的隔离。经典AUTOSAR中,软件组件被组织成OSA(OS Application)。OSA内部存在共享资源,OSA之间则需要考虑内存隔离。

CMPU保护原理如图3所示,CMPU隔离对象为CPU中运行的软件。CMPU也会预先划分保护区域,这通常也是内存分区的结果。对于这些内存区域,每一个在核心中运行的OSA可能都具有不同的权限。当上下文切换时,MPU的保护范围也会动态切换,以适配不同的OSA。

同CMPU一样,只有拥有对应内存区域访问权限的OSA,才能成功完成访问,否则会触发系统定义的故障。CMPU通常拥有更多的保护区域,且能覆盖所有的内存空间。在这基础上,CMPU还支持保护集的预设,使CPU进行上下文切换时,更快地切换地址空间地MPU保护权限。一般来说,CMPU的应用更为广泛,在一些不那么复杂的系统中甚至只用CMPU就足以完成内存隔离的需求。

wKgZomYXe7WAIxK_AADXt4Hi0pQ415.png

图3 CMPU隔离原理


SOC上的安全隔离

相比MCU,SOC拥有更强大的性能,可以运行一些复杂操作系统(比如linux)。这种情况下,基于地址范围进行保护的MPU就显得“力不从心”了。进程是操作系统进行资源分配的基本单位,一些应用程序可能由多个进程组成,在某些场景中(比如座舱域)还需要虚拟机来运行不同的操作系统。

因此,我们把SOC上的内存隔离场景划分为两个层级:进程级隔离、应用程序级隔离和操作系统级隔离。本文主要介绍进程级隔离。

MMU(Memory Management Unit)是SOC中常见的硬件,用于提供进程级别的内存分配和隔离。进程在运行时,操作系统会使进程认为自己独占整个寻址空间(32位机器寻址空间为4GB),并使用连续的物理地址进行操作。但实际上,这个内存空间要么尚未分配,要么部分存在于磁盘中。并且其使用的虚拟地址会由MMU进行翻译,对应到分散的物理地址中。

MMU的工作原理如图4所示。内存空间被划分为若干页面(Page),每个页面占用4KB内存。进程使用的连续虚拟页面被MMU翻译到具体的分散的物理页面中。

MMU最主要的功能其实是将虚拟页翻译到物理页。那为什么MMU可以实现进程级隔离呢?

因为MMU的翻译是基于页表进行的,页表记录了进程虚拟页到物理页的映射。操作系统为不同的进程分配的不同的页表起始地址,存储在对应寄存器中。当MMU翻译地址时,根据页表起始地址加偏移量定位到具体的页表项,进而完成地址翻译。不难看出,这种机制使得进程拥有天然隔离的零散的地址空间

wKgaomYXe8GAJ0zpAAC8606e4Jc001.png

图4 MMU工作原理


安全隔离小结

安全隔离的底层原理是避免软件对内存的不合理访问,以满足功能安全要求。硬件层面上,有MPU、MMU这样的硬件进行程序内存空间的保护和约束;软件层面上,容器化技术和虚拟化技术也能帮助用户制定更灵活的隔离策略。但并不是说实现了这些安全隔离机制就等于完全满足了安全隔离需求,还需要结合软件和系统的正确设计来共同达成目标。

经纬恒润功能安全团队成立于2008年,系国内较早从事功能安全技术研究的团队。作为功能安全、预期功能安全国家标准委员会成员,经纬恒润的研发流程、生产流程已通过功能安全开发过程认证,功能安全开发过程达到ASIL-D,相关产品已成功服务于近百家国内外整车及零部件企业。


经纬恒润功能安全软件团队可提供功能安全软件开发技术咨询服务,包括功能安全软件阶段流程/产品咨询、L2监控算法开发集成和L3安全机制(安全通信、隔离、监控、执行和芯片AOU)的开发集成,控制器覆盖动力域、底盘域、智驾域和车身域等。


未来,经纬恒润将紧跟行业发展趋势和市场需求,结合自身汽车电子产品研发和国内外咨询实践,一如既往地坚持自主创新道路,为智能汽车安全保驾护航。


关键字:安全隔离 引用地址:域控软件安全隔离关键技术剖析:MCU域 VS SOC域

上一篇:什么是汽车中控屏?汽车中控屏四核和八核区别
下一篇:基于SOA架构的智能座舱层级

推荐阅读最新更新时间:2024-11-16 22:13

天线信号大比拼:iPhone XS VS iPhone XR
今年苹果发布的三款新iPhone全线采用了英特尔基带,在信号能力上不及高通基带那么强悍,这个问题已经被业界吐槽不少了。但在近日,PC Mag对三款新iPhone进行了信号测试,测试表明虽然三款新机都采用了相同的英特尔基带,但在20MHz的LTE Band 4频段下进行测试iPhone XR的下行速率与iPhone X相近,而iPhone XS则几乎较其翻倍。 由于iPhone X/XR的天线仅支持2x2。而iPhone XS支持4x4 MIMO(多输入多输出),因此在信号较弱的情况下,iPhone XS的表现会更好一点。 当手机连接到2x2 MIMO基站时,测试得出iPhone XS仍可
[手机便携]
天线信号大比拼:iPhone XS <font color='red'>VS</font> iPhone XR
搜狗VS百度 手机输入法词库大比拼
搜狗PC输入法自发布以来一直深受用户喜爱,获得大家普遍好评。手机用户自然而然会关注其手机输入法的发布,凭借其多年来词库的优势,获得了较大成功。 百度手机输入法以其完善的功能和强大的DIY特性吸引了很大一部分用户。近期发布的2.1版除了在UI交互,功能上有较大的提升外,依靠其独有的云优化技术,词库精准度和覆盖率有了极大提升。 就输入法而言,词库必然是核心。搜狗和百度,一个是做输入法起家,词库积累丰厚;一个是搜索引擎巨头,又有独创的云优化技术。究竟哪家的词库更好呢? 今天,我们就来对比一下这两家的输入法词库究竟孰优孰劣。 【新浪微博实时热点词条对比】 今日看点: 这是新浪微博当前的实时热点,主要围绕“社保卡”和“身份
[手机便携]
搜狗<font color='red'>VS</font>百度 手机输入法词库大比拼
特点优势比较:超级计算机VS特种计算机
记者17日从上海市经济和信息化委员会获悉,在最新公布的全球高性能计算机TOP500强排行榜中,由中科院计算所国家智能计算机研究开发中心、曙光信息产业(北京)有限公司、上海超级计算中心联合研制的集群超级计算机“魔方”(Magic Cube) —— 曙光5000A以峰值速度230万亿次再次跻身世界超级计算机前十。 同一天, 2008 年中国国际工业博览会( CIIF2008 )上,作为中国特种计算机龙头企业的研祥智能,其超小型低功耗无风扇嵌入式整机 MEC-1001 荣获 08 年度最佳产品奖、坚固智能终端 WPC-1201 荣获产品创新设计金奖。 如今信息技术已经进入革命时期,超级计算机与特种计算机在
[工业控制]
stm32的VCC/VDD/VSS/VEE
先看一下stm32vet6的引脚图吧 电路设计以及PCB制作中,经常碰见电源符号:VCC、 VDD、VEE、VSS,他们具有什么样的关系那?   一、解释   VCC:C=circuit 表示电路的意思, 即接入电路的电压   VDD:D=device 表示器件的意思, 即器件内部的工作电压;   VSS:S=series 表示公共连接的意思,通常指电路公共接地端电压 VEE:负电压供电;场效应管的源极(S)   二、说明   1、对于数字电路来说,VCC是电路的供电电压,VDD是芯片的工作电压(通常Vcc Vdd),VSS是接地点。     例如,对于ARM单片机来说,其供电电压VCC一般为5V,一般经过稳压模块
[单片机]
stm32的VCC/VDD/<font color='red'>VS</font>S/VEE
基于硅过孔(TSVs)的3D封装技术
  下一代IC设计成本的不断上涨以及随之而来的国外制造技术正在对一种叫“硅过孔(TSVs)”的3D封装技术有浓厚的兴趣。代替了调整,芯片可以通过微小过孔集合垂直堆叠和互连,产生“真实”的3维装置。   IBM、Intel、三星和许多其他的公司都正在致力于此技术,并有充分的理由:基于TSV的3维设计避免了芯片调整过程中的即将发生的“互连危机”。随着互连缩小以至于可以塞进IC设计,他们引起了成问题的时间延迟和电气寄生。早期的基于TSV技术的设计有些昂贵,而且最初瞄准航空航天和军事应用。最终,由于成本的降低,真正的3D芯片可以出现在商业系统,包括下一代蜂窝电话和PDA中。   “产业正在经过可行性(研发)阶段,进入了商业化阶段,
[焦点新闻]
比亚迪VS富士康 代工争夺战重演
    从刚刚亮相的英特尔第四代酷睿平板原型机,到已经上市的华为P6,再到惠普刚刚推出的安卓平板Slate 7,甚至即将上市的诺基亚EOS和中移动自主品牌手机,这些看似无关的话题产品背后有着外界看不到的关联——他们的代工方并不是外界最熟悉的代工巨头富士康,而是曾经挑战过前者的比亚迪。   尽管这家曾经的电池代工企业在外界看来早已向汽车和太阳能产业转型,但越来越多的证据表明比亚迪仍对智能终端代工业务充满兴趣。比亚迪董事局主席兼总裁王传福在今年一季度的股东大会上公开透露,该公司已“开拓了全球手机领导厂商的 智能手机 新项目,并成功拓展了平板电脑等新产品及业务,推动了集团手机部件及组装业务收入及利润的大幅增长”,这是比亚迪集团盈利提
[手机便携]
8月座舱装配量同比增119%,黑莓为舱驾一体提供基础软件支持
佐思汽研《汽车座舱电子月度监测和分析报告(2023年第9期)》,每月发布一期,紧密跟踪智能座舱领域的最新市场数据、分析把握相关行业、公司、产品、技术的发展动向和趋势。 2023年1-8月,中国乘用车新车市场中,液晶仪表装配量为1039.0万台,与2022年同期相比增长了16.1%;中控屏装配量为1185.4万台,同比增长6.8%。2023年8月,中国乘用车L1以上座舱等级车型(指可联网且中控屏尺寸大于等于10吋的车型)的座舱域控装配量为52.7万台,同比增长119.1%,渗透率达28.2%;座舱SoC 芯片 市场基本被高通、 AMD、英特尔、三星等国际芯片大厂垄断,其中高通占据绝对主导地位,其市场份额达60.3%,较去年同期增
[汽车电子]
8月座舱<font color='red'>域</font><font color='red'>控</font>装配量同比增119%,黑莓为舱驾一体提供基础<font color='red'>软件</font>支持
磷酸铁锂电池VS三元锂电池
随着 新能源汽车 产业的发展,锂电池凭借着其诸多优势迅速吸引了大量的应用,而且目前应用较为广泛。作为高能量密度的动力电池—— 三元锂电池 和 磷酸铁锂电池 ,它们都属于锂电池的一种。今天来聊聊两者之间的不同。 一、两者特性的不同 1、安全性的区别: 磷酸铁锂电池 的安全性能是比 三元锂电池 要高的,主要是因为 磷酸铁锂电池 的耐热性能比较好,热失控温度可达到800度以上,即磷酸铁锂电池没达到800度基本是不会自燃的。而 三元锂电池 则不同,热失控温度基本在200度左右,所以对于炎热的地区来说,三元锂电池自燃的风险是会更高的。 2、使用寿命不同:磷酸铁锂电池它循环使用寿命比三元锂电池要更好,一般的三元锂电池它标称循环20
[汽车电子]
磷酸铁锂电池<font color='red'>VS</font>三元锂电池
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

更多开源项目推荐

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved