首页 / 专利库 / 电脑编程 / 算法 / 基于MILS架构的安全操作系统

基于MILS架构的安全操作系统

阅读:1发布:2020-10-21

专利汇可以提供基于MILS架构的安全操作系统专利检索,专利查询,专利分析的服务。并且本 发明 公开一种基于MILS架构的安全 操作系统 ,应用于安全操作系统领域,针对现有的操作系统在形式化验证中存在的认证困难的问题,本发明基于MILS架构的系统把若干个 进程 隔离在一个单独的分区中运行,然后再分别对每个分区进行安全评估,从而大大减少对整个安全系统的认证 力 度,所述MILS架构按照系统层次划分为:分离 内核 层、 中间件 服务层和应用程序层,所述分离内核层的一级调度采用基于固定优先级的多核可抢占式调度 算法 实现,保证了实时操作系统的实时分区的强实时性。,下面是基于MILS架构的安全操作系统专利的具体信息内容。

1.基于MILS架构的安全操作系统,其特征在于,包括:分离内核层、中间件服务层以及应用程序层,所述分离内核层用于提供时间隔离和空间隔离,中间件服务层采用实时CORBA作为其软件结构,为应用程序层分布式对象调用服务,所述应用程序层位具体的操作系统;
所述中间件服务层与应用程序层组成为上层;
由分离内核层的时间隔离和空间隔离功能为上层所提供的独立运行环境作为分区,各分区之间互不影响,每个分区拥有不同的安全级别,用以控制分区之间的信息流交互。
2.根据权利要求1所述的基于MILS架构的安全操作系统,其特征在于,分离内核层实施的安全策略包括:数据隔离、信息流控制、资源控制和故障隔离;所述数据隔离指每个分区只能访问分区自身的内存空间;信息流控制指分区之间的信息交互由分离内核层进行统一控制;资源控制是指对CPU资源的控制;故障隔离则指一个分区的故障限制在该分区内。
3.根据权利要求2所述的基于MILS架构的安全操作系统,其特征在于,所述CPU资源的控制,具体为:当CPU准备切换另一个分区运行时,需先清除上一个分区的内容。
4.根据权利要求3所述的基于MILS架构的安全操作系统,其特征在于,所述分离内核层中一级调度器采用基于固定优先级的多核可抢占式调度算法实现。
5.根据权利要求4所述的基于MILS架构的安全操作系统,其特征在于,所述固定优先级的多核可抢占式调度算法,具体为:多个物理CPU共享同一个就绪队列,就绪队列所采用的优先级为分配给每个VCPU的固定优先级,所述固定优先级的取值范围为0到N-1,其中,0到N/2为实时优先级,剩余的的优先级则为普通优先级。
6.根据权利要求5所述的基于MILS架构的安全操作系统,其特征在于,所述固定优先级的多核可抢占式调度算法,其具体调度过程为:
A1、首先判断触发抢占的VCPU上次所运行的物理CPU当前是否处于空闲状态,如果该物理CPU为空闲状态,那么直接抢占该物理CPU,否则执行步骤A2;
A2、继续查看当前系统中的其他物理CPU,若存在某个物理CPU当前正处于空闲状态,那么直接抢占该物理CPU;否则执行步骤A3;
A3、从当前系统的所有物理CPU上正在运行的VCPU中找到其中优先级最低的VCPU,然后比较该VCPU与触发抢占的VCPU的优先级大小,如果触发抢占的VCPU的优先级更高,那么直接抢占运行该VCPU的物理CPU;否则此次触发抢占的VCPU抢占失败,将该触发抢占的VCPU插入到就绪队列中等待下一次被调度。

说明书全文

基于MILS架构的安全操作系统

技术领域

[0001] 本发明属于计算机操作系统领域,特别涉及一种适用于形式化验证的安全操作系统。

背景技术

[0002] 1946年,世界上诞生了第一台电子数字式计算机,该计算机即ENIAC,ENIAC的出现奠定了电子计算机的发展基础,同时,这也是第一代电子管计算机的诞生标志,之后,随着晶体管技术、大小规模集成电路以及超大规模集成电路的发展,计算机又经历了几次更新换代过程,从第二代的晶体管计算机发展为了现在的第四代大规模集成电路计算机。直到目前为止,计算机仍然在不断地发展,从实际应用的度出发,向着微型化以及智能化等多个方向在不断地前进。并且,伴随着互联网的发展,计算机更是变得无处不在,小到人们生活中使用的手机、电脑、以及家电等,大到航空航天系统、核电能源系统、以及导弹发射等军用系统,计算机的功能正在变得日益强大,其所带来的影响也是极其巨大的。
[0003] 在接受由计算机和互联网的飞速发展所带来的便利的同时,我们又不得不承受与之而来的危害,正是由于计算机系统的无处不在,因此,一旦这些系统出现问题,我们将在第一时间感受到他们所带来的切身危害。比如,2017年在150多个国家和地区肆虐的比特币勒索病毒“WannaCry”,其利用了Windows安全漏洞“EternalBlue”,通过邮件、程序木等多种方式传播,对许多行业造成了严重危害,最终造成损失高达80亿美元。而去年链行业中BEC合约平台所爆出的整型溢出攻击漏洞则是因为源代码中未采用Safemath库进行约束,导致溢出问题绕过代码检查,造成了数以万计的代币流失,最终损失数十亿美元。上述介绍的安全攻击每次出现所带来的后果都非常严重。当然,针对这些威胁,相关机构及人士也提出了很多的应对办法,比如及时发布漏洞补丁、更新病毒库、以及各种杀毒软件等,但是诸如此类的方法都无法从根本上解决问题,通常都是在危险事件已经发生后才能提出应对的方法,因此,为了从根本上解决这些安全问题,必须从操作系统本身的角度去考虑,提高操作系统本身的安全性以应对诸多未知的安全威胁,其根本问题是如何去开发一个安全可靠的软硬件系统。

发明内容

[0004] 为了适应形式化验证的需求,本发明提出一种基于MILS架构的安全操作系统,若干个进程隔离在一个单独的分区中运行,然后再分别对每个分区进行安全评估,从而大大减少对整个安全系统的认证度。
[0005] 本发明采用的技术方案为:基于MILS架构的安全操作系统,包括:分离内核层、中间件服务层以及应用程序层,所述分离内核层用于提供时间隔离和空间隔离,中间件服务层采用实时CORBA作为其软件结构,为应用程序层分布式对象调用服务,所述应用程序层位具体的操作系统;所述中间件服务层与应用程序层组成为上层;
[0006] 由分离内核层的时间隔离和空间隔离功能为上层所提供的独立运行环境作为分区,各分区之间互不影响,每个分区拥有不同的安全级别,用以控制分区之间的信息流交互。
[0007] 进一步地,分离内核层实施的安全策略包括:数据隔离、信息流控制、资源控制和故障隔离;所述数据隔离指每个分区只能访问分区自身的内存空间;信息流控制指分区之间的信息交互由分离内核层进行统一控制;资源控制是指对CPU资源的控制;故障隔离则指一个分区的故障限制在该分区内。
[0008] 进一步地,所述CPU资源的控制,具体为:当CPU准备切换另一个分区运行时,需先清除上一个分区的内容。
[0009] 进一步地,所述分离内核层中一级调度器采用基于固定优先级的多核可抢占式调度算法实现。
[0010] 更进一步地,所述固定优先级的多核可抢占式调度算法,具体为:多个物理CPU共享同一个就绪队列,就绪队列所采用的优先级为分配给每个VCPU的固定优先级,所述固定优先级的取值范围为0到N-1,其中,0到N/2为实时优先级,剩余的的优先级则为普通优先级。
[0011] 进一步地,所述固定优先级的多核可抢占式调度算法,其具体调度过程为:
[0012] A1、首先判断触发抢占的VCPU上次所运行的物理CPU当前是否处于空闲状态,如果该物理CPU为空闲状态,那么直接抢占该物理CPU,否则执行步骤A2;
[0013] A2、继续查看当前系统中的其他物理CPU,若存在某个物理CPU当前正处于空闲状态,那么直接抢占该物理CPU;否则执行步骤A3;
[0014] A3、从当前系统的所有物理CPU上正在运行的VCPU中找到其中优先级最低的VCPU,然后比较该VCPU与触发抢占的VCPU的优先级大小,如果触发抢占的VCPU的优先级更高,那么直接抢占运行该VCPU的物理CPU;否则此次触发抢占的VCPU抢占失败,将该触发抢占的VCPU插入到就绪队列中等待下一次被调度。
[0015] 本发明的有益效果:本发明基于MILS架构的系统把若干个进程隔离在一个单独的分区中运行,然后再分别对每个分区进行安全评估,从而大大减少对整个安全系统的认证力度;并且在分离内核层中的一级调度器采用基于固定优先级的多核可抢占式调度算法来实现,能够保证实时操作系统的实时分区的强实时性。附图说明
[0016] 图1为本发明实施例提供的MILS架构;
[0017] 图2为本发明实施例提供的就绪队列示意图;
[0018] 图3为本发明实施例提供的基于固定优先级的多核可抢占式调度算法的抢占流程。

具体实施方式

[0019] 为便于本领域技术人员理解本发明的技术内容,下面结合附图1-3对本发明内容进一步阐释。
[0020] MILS架构以安全分离型内核为基础,在同一个硬件平台上构建多个分离的分区,然后在不同的分区中你运行不同安全等级的应用程序或操作系统,并且分区之间数据完全隔离,每个分区只能在自己地址空间中运行,分区之间的通信也完全由分离内核进行统一控制。在基于MILS架构的多级安全操作系统中,可以在分区内运行多种操作系统。这些分区内运行的“客户”操作系统都有各自的任务调度器,因此,这些分区内部的任务调度器和分离内核的VCPU调度器共同构成了MILS的两级调度,其中一级调度是分离内核对分区内“客户”操作系统的VCPU调度,二级调度是分区内的“客户”操作系统对自身任务的调度。对于二级调度来说,其采取的调度算法取决于“客户”操作系统,而与MILS架构本身关系并不紧密,因此本部分工作就是对MILS架构的一级调度模块进行形式化证明工作。
[0021] 本发明基于MILS架构涉及安全操作系统,基于MILS架构的系统把若干个进程隔离在一个单独的分区中运行,然后再分别对每个分区进行安全评估,从而大大减少对整个安全系统的认证力度。
[0022] MILS架构中的分区是指由分离内核的时间隔离和空间隔离功能为上层所提供的一个独立运行环境,分区与分区之间互不影响,当其中一个分区出现问题时,其他分区能正常运行,并且每个分区拥有不同的安全级别,用以控制他们之间的信息流交互。为了支持分区的思想,MILS架构按照系统层次划分为:分离内核层、中间件服务层和应用程序层,他们的结构如图1所示。
[0023] (1)分离内核层
[0024] 分离内核(Separation Kernel)是MILS架构的基础,主要负责提供时间隔离和空间隔离,并且,为了保证系统的安全性,分离内核应该尽可能的简单,只提供一些分离内核所必须的的安全机制和功能。分离内核所实施的安全策略主要包括:数据隔离、信息流控制、资源控制和故障隔离。数据隔离是指上层的每个分区只能访问分区自身的内存空间,而不能访问其他分区的内存空间;信息流控制是指分区之间的信息交互必须由分离内核进行统一控制,其通信路径必须经过一定的授权;资源控制是指对CPU资源的控制,当CPU准备切换另一个分区运行时,必须清除上一个分区的内容,以保障其分区安全;故障隔离则是指一个分区的故障必须限制在其分区内,并且绝对不会给其他分区带来危害。
[0025] (2)中间件服务层
[0026] 中间件服务层与上层应用程序层合起来称为分区,通常,中间件服务层中的服务与具体的应用需求相关,比如分区间的通信服务、设备驱动等操作系统服务、以及实时数据分配服务等。中间件服务层通常采用实时CORBA(CommonObject Request Broker Architecture)作为其软件结构,为上层应用程序提供可重用、易于移植的分布式对象调用服务,从而降低开发以及集成的难度。
[0027] (3)应用程序层
[0028] 应用程序层负责执行具体的应用程序并实施应用层的安全策略,通常为满足某种应用需求的操作系统,系统的具体类型不一,可以为Linux、Window等通用操作系统,也可以为VxWorks、RTEMS等实时操作系统。
[0029] 在MILS架构的分离内核中,一级调度器的目的是:根据某种调度算法,从VCPU就绪队列中选择出最合适的一个VCPU,使其占有物理CPU资源。这里的调度算法,根据不同的应用需求将有所不同。本节中的综合实时两级调度机制主要提供了三种一级调度算法:基于时间片轮转的比例调度算法、基于最早截止时间优先的调度算法和基于固定优先级的多核可抢占式调度算法。这三种调度算法的侧重点各不相同,基于时间片轮转的比例调度算法注重各个分区的公平性,主要目的是为了保证各个分区都能公平地使用CPU资源;基于最早截止时间优先的调度算法则注重各个分区的实时性,主要目的是为了保证各个分区内的实时任务都能满足截止时间的时限需求;而基于固定优先级的多核可抢占式调度算法注重的是单个分区的强实时需求以及该调度算法的普适性,其目的主要是为了保证至少一个强实时分区内的实时任务都能按时完成。因为基于固定优先级的多核可抢占式调度算法能够保证实时操作系统的实时分区的强实时性,因此这次工作主要是对固定优先级的多核可抢占式算法进行形式化证明。
[0030] 在基于固定优先级的多核可抢占式调度算法中,多个物理CPU共享同一个就绪队列,就绪队列所采用的优先级即为分配给每个VCPU的固定优先级,固定优先级的可取值范围为0到N-1,其中,0到N/2为实时优先级,用于运行实时分区,之后的优先级则为普通优先级,用于运行非实时分区,基于固定优先级的多核可抢占式VCPU调度算法的就绪队列如图2所示。根据优先级的可取值范围,整个VCPU就绪队列又划分为N个子队列,每个子队列代表一个固定优先级,就绪队列按照子队列优先级数值的大小从小到大进行排列,即优先级越高,则数值越小,则越靠近就绪队列的队首,每个子队列中的所有VCPU的固定优先级相等,他们按照其到达就绪队列的时间进行排序,从而保证先来先服务。
[0031] 基于固定优先级的多核可抢占式调度算法在每次触发调度时的执行流程比较简单,如果当前允许调度,就以优先级从高到低的顺序依次遍历VCPU就绪队列的N个子队列,找到第一个非空的就绪子队列,然后取得子队列的队首VCPU,之后将该VCPU与当前触发调度的PCPU上正在运行的VCPU进行优先级比较,如果当前VCPU的优先级较高,则返回当前VCPU并继续运行,否则,从就绪队列中删除找到的队首VCPU,然后返回该VCPU并运行。
[0032] 基于固定优先级的多核可抢占式调度算法支持VCPU抢占,在有新的VCPU到达就绪就绪队列或者调度末尾进行上下文切换将原VCPU插入就绪队列时,这个新的VCPU的优先级可能比当前正在某个物理CPU上运行的VCPU优先级更高,这种情况下则会触发CPU的抢占算法,抢占流程如图3所示,具体抢占步骤如下:
[0033] 1)首先判断触发抢占的VCPU上次所运行的物理CPU当前是否处于空闲状态,如果该物理CPU正好是空闲的,那么直接抢占该物理CPU,即触发该物理CPU的调度中断,使其进行调度;
[0034] 2)如果不满足1)中的条件,那么则需要继续查看当前系统中的其他物理CPU,一旦发现某个物理CPU当前正处于空闲状态,那么直接抢占该物理CPU;
[0035] 3)如果当前系统中的所有物理CPU都处于工作状态,那么只能从这些物理CPU上正在运行的VCPU中找到其中优先级最低的VCPU,然后比较该VCPU与触发抢占的VCPU的优先级大小,如果触发抢占的VCPU的优先级更高,那么直接抢占运行该VCPU的物理CPU;
[0036] 如果以上三种情况皆不成立,那么此次VCPU抢占失败,该VCPU只能插入到就绪队列中等待下一次被调度。
[0037] 本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈