一种运行进程的方法及装置制造方法及图纸

技术编号:37769527 阅读:12 留言:0更新日期:2023-06-06 13:32
本申请实施例公开了一种运行进程的方法,方法包括:内核获取目标进程的运行功能数据,运行功能数据包括页表信息,页表信息指示目标进程的虚拟地址和物理地址的映射关系;内核将运行功能数据迁移到功能安全分区;功能安全分区根据页表信息对页表内存进行页表信息的重构,页表内存为被分配至功能安全分区且不可被内核访问的物理空间;功能安全分区基于页表内存中的页表信息,在功能安全分区运行目标进程。本申请针对安全进程,通过将进程的页表信息由内核侧传递至功能安全分区侧,且内核无法读写功能安全分区的页表信息,保障了功能安全分区的功能安全等级不被内核的交互污染,提高了系统的安全性。了系统的安全性。了系统的安全性。

【技术实现步骤摘要】
一种运行进程的方法及装置


[0001]本申请涉及计算机
,具体涉及一种运行进程的方法及装置。

技术介绍

[0002]随着信息技术的发展与芯片制造工艺的不断提高,嵌入式操作系统得到了广泛的发展与应用。对实时性和可靠性有严格要求的物联网、汽车电子、工业自动化、军事与航空航天等领域,都离不开嵌入式操作系统。
[0003]对实时性和可靠性有严格要求的应用(如:自动驾驶)通常是基于数据驱动的应用或频繁发生事件触发的应用。这些应用通常可以称为功能安全应用。无论是功能安全应用还是非功能安全应用,通常依赖宏内核(monolithic kernel)的嵌入式操作系统。
[0004]在现有的架构中,包括安全计算基座、安全系统和高功能安全域代理、Linux内核和低功能安全域代理Proxy。安全计算基座运行在EL2提供安全虚拟化和隔离支持,并支持部分底层资源共享,和高功能安全域生态代理Platform在系统运行后提供系统调用、缺页的代理能力,配合低功能安全域代理Proxy提供给CORE侧数据面应用Linux现有生态的复用。
[0005]现有技术中基于安全计算基座为上层两个平面(控制面和数据面)提供分区隔离;安全计算基座和高功能安全域生态代理Platform共同为CORE侧数据面中运行的应用提供高性能的Guest EL1运行环境;高功能安全域生态代理Platform和低功能安全域代理Proxy共同为数据面应用提供Linux代理能力,使得数据面应用能够兼容linux生态;安全计算基座和高功能安全域生态代理Platform共同为数据面应用提供同层安全隔离,解决性能、生态和底层虚拟化安全性问题,然而仍然存在如下不足:在现有的实现中,页表信息保存于内核侧,且内核侧针对于页表信息具备访问和修改的能力,造成了内核侧的环境(QM环境)对功能安全分区(ASIL

D环境)的交互污染,导致了系统的安全性较差。

技术实现思路

[0006]第一方面,本申请提供了一种运行进程的方法,所述方法应用于智能车中的计算机系统,所述计算机系统包括内核和功能安全分区,所述功能安全分区和所述内核位于同一特权层,所述方法包括:所述内核获取目标进程的运行功能数据,所述运行功能数据包括页表信息,所述页表信息指示所述目标进程的虚拟地址和物理地址的映射关系;所述内核将所述运行功能数据迁移到所述功能安全分区;所述功能安全分区根据所述页表信息对页表内存进行页表信息的重构,其中,所述页表内存为被分配至所述功能安全分区且不可被所述内核访问的物理空间;所述功能安全分区基于所述页表内存中的页表信息,在所述功能安全分区运行所述目标进程。
[0007]在一种可能的实现中,所述功能安全分区可以根据所述页表信息对页表内存进行页表信息的重构,且所述页表内存为被分配至所述功能安全分区且不可被所述内核访问的物理空间。也就是说,针对安全进程,功能安全分区(ASIL

D环境)和内核(QM环境)可以各自
都保存一份相同的页表信息,而内核(QM环境)无法读写功能安全分区(ASIL

D环境)的页表信息,而且功能安全分区(ASIL

D环境)可读写内核(QM环境)的页表信息。
[0008]在现有的实现中,页表信息保存于内核侧,且内核侧针对于页表信息具备访问和修改的能力,造成了内核侧的环境(QM环境)对功能安全分区(ASIL

D环境)的交互污染。本申请实施例中,针对安全进程,通过将进程的页表信息由内核侧传递至功能安全分区侧,且内核(QM环境)无法读写功能安全分区(ASIL

D环境)的页表信息,保障了功能安全分区(ASIL

D环境)的功能安全等级不被内核(QM环境)的交互污染,提高了系统的安全性。
[0009]在一种可能的实现中,功能安全分区可以对所述页表信息进行校验,并基于所述页表信息通过所述校验,根据所述页表信息对页表内存进行页表信息的重构。
[0010]在一种可能的实现中,所述校验包括如下的至少一种:权限校验、可靠性校验、完整性校验和数据安全校验。
[0011]具体的,功能安全分区(例如SEE Stub)可以进行端到端的信息校验,校验流程包括但不限于哈希校验完整性,数据信息安全校验等。若校验失败,功能安全分区会保存信息到日志并进行异常场景上报,由更上层架构进行具体的异常处理决策;若校验成功,功能安全分区会在高功能安全分区SEE环境下基于初始化的预留页表内存重构线程页表。
[0012]在一种可能的实现中,SEE Stub收到来自内核的通知(例如中断)后,可以触发迁移事件的中断回调流程,开始检查代理信道的数据,对代理信道的页表信息和进程内容信息和高功能安全域SEE预置的哈希信息进行端到端的完整性校验,并进一步进行合法可靠性校验,若校验失败,则记录此次异常场景并上报上层架构进行异常处理决策;若校验成功,根据代理信道的数据,在高功能安全域环境下使用SEE Stub初始化的预留页表内存进行安全进程的页表重构,此预留页表内存可以通过bitmap数据结构进行管理。
[0013]在校验通过后,功能安全分区可以根据所述页表信息对页表内存进行页表信息的重构,并通过提供EL2层虚拟化支持的PEK接口解映射QM侧对安全进程内存的stage2映射关系,获得物理和虚拟内存两个层面上的内存功能安全保护。
[0014]本申请实施例中,功能安全分区可以通过对信息的端到端校验在多功能安全等级系统环境和协同场景下的诸多代理和交互流程中保障ASIL

D环境功能安全等级不被和QM等系统环境的交互污染,提高了系统的安全性。
[0015]在一种可能的实现中,所述功能安全分区的执行环境满足汽车安全完整性D等级(ASIL

D)的安全等级。
[0016]在一种可能的实现中,因为内核与功能安全分区的物理资源是隔离的,在运行功能数据迁移的过程中需要用到共享内存(例如上述实施例所描述的代理通道)。
[0017]具体的,可以将所述运行功能数据通过共享内存迁移到所述功能安全分区,所述共享内存为所述内核和所述功能安全分区共享的内存。例如,内核可以将运行功能数据存储至所述共享内存,并通知功能安全分区,进而功能安全分区可以从共享内存中获取所述运行功能数据。
[0018]在一种可能的实现中,可以获取在所述内核对所述共享内存进行读写操作时的操作信息,并对所述操作信息进行安全状态判断。示例性的,在本步骤中,SEE Skeleton可以调用PEK提供的安全注册接口将内存注册为代理信道,并记录QM环境对信道的读写行为,从而提供跨域代理信道结构的保护,进而提高了系统的安全性。
[0019]在一种可能的实现中,可以获取在所述内核对所述共享内存进行读写操作时的操作信息,并对所述操作信息进行安全状态判断。示例性的,在本步骤中,SEE Skeleton可以调用PEK提供的安全注册接口将内存注册为代理信道,并记录QM本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种运行进程的方法,其特征在于,所述方法应用于智能车中的计算机系统,所述计算机系统包括内核和功能安全分区,所述功能安全分区和所述内核位于同一特权层,所述方法包括:所述内核获取目标进程的运行功能数据,所述运行功能数据包括页表信息,所述页表信息指示所述目标进程的虚拟地址和物理地址的映射关系;所述内核将所述运行功能数据迁移到所述功能安全分区;所述功能安全分区根据所述页表信息对页表内存进行页表信息的重构,其中,所述页表内存为被分配至所述功能安全分区且不可被所述内核访问的物理空间;所述功能安全分区基于所述页表内存中的页表信息,在所述功能安全分区运行所述目标进程。2.根据权利要求1所述的方法,其特征在于,所述根据所述页表信息对页表内存进行页表信息的重构,包括:对所述页表信息进行校验,并基于所述页表信息通过所述校验,根据所述页表信息对页表内存进行页表信息的重构。3.根据权利要求1或2所述的方法,其特征在于,所述校验包括如下的至少一种:权限校验、可靠性校验、完整性校验和数据安全校验。4.根据权利要求1至3任一所述的方法,其特征在于,所述功能安全分区的执行环境满足汽车安全完整性D等级(ASIL

D)的安全等级。5.根据权利要求1至4任一所述的方法,其特征在于,所述将所述运行功能数据迁移到所述功能安全分区,包括:将所述运行功能数据通过共享内存迁移到所述功能安全分区,所述共享内存为所述内核和所述功能安全分区共享的内存。6.根据权利要求5所述的方法,其特征在于,所述方法还包括:获取在所述内核对所述共享内存进行读写操作时的操作信息,并对所述操作信息进行安全状态判断。7.根据权利要求1至6任一所述的方法,其特征在于,所述目标进程的物理地址为所述计算机系统中第一内存中的地址,所述第一内存用于存储和功能安全进程相关的数据,且在所述目标进程的运行中,所述第一内存不可被所述内核访问。8.根据权利要求1至7任一所述的方法,其特征在于,所述计算机系统还包括第二内存,所述第二内存用于存储和非功能安全进程相关的数据,且所述第一内存和所述第二内存之间隔离。9.根据权利要求8所述的方法,其特征在于,所述第一内存为第一非一致性内存访问NUMA节点,所述第二内存为第二NUMA节点。10.根据权利要求1至9任一所述的方法,其特征在于,所述方法还包括:基于所述目标进程在运行时需要执行目标功能,所述目标功能被配置为需要被所述内核执行,所述功能安全分区将所述目标功能的信息传递至所述内核;所述内核根据所述目标功能的信息,调用影子线程执行所述目标功能,以得到处理结果;所述内核将所述处理结果传递给所述功能安全分区。
11.根据权利要求10所述的方法,其特征在于,所述目标功能为系统调用,所述目标功能的信息为所述系统调用指令的上下文;或者,所述目标功能为缺页异常,所述目标功能的信息为所述缺页异常的上下文。12.根据权利要求10或11所述的方法,其特征在于,所述方法还包括:所述功能安全分区对所述处理结果进行校验,并基于所述处理结果通过所述校验,根据所述处理结果继续执行所述目标进程。13.根据权利要求1至12任一所述的方法,其特征在于,所述内核具体为安全执行环境框架(SEE skeleton);所述功能安全分区具体为安全执行环境基座(SEE stub)。14.一种运行进程的装置,其特征在于,所述装置应用于智能车中的计算机系统,所述计算机系统包括内核和功能安全分区,所述功能安全分区和所述内核位于同一特权层,所述内核包括:获取模块,用于获取目标进程的运行功能数据,所述运行功能数据包括页表信息,所述页表信息指示所述目标进程的虚拟地址和物理地址的映射关系;第一迁移模...

【专利技术属性】
技术研发人员:陶喆周海锋代超谭中平
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1