一种基于操作系统的安全机制验证方法与流程

文档序号:21458115发布日期:2020-07-10 17:54阅读:194来源:国知局
一种基于操作系统的安全机制验证方法与流程

本发明涉及计算机技术领域,特别涉及一种基于操作系统的安全机制验证方法。



背景技术:

随着信息技术的迅猛发展,软件系统的功能日益繁多、复杂,规模越来越大,其面临的安全性挑战也越来越严峻。特别是对于航空航天、汽车电子、工业控制、军事系统这一类安全攸关系统,软件的可信验证显得尤为重要。

目前在软件的可信验证中,目前采用传统的测试手段对软件操作系统的功能逻辑进行验证,在利用传统的手段测试结束后就可以进入完善的生命周期进行运作,然而这种验证方式在要求严格的软件中检验后的结果容易出现误差,从而降低了操作软件运行时的安全性。



技术实现要素:

本申请实施例提供了一种基于操作系统的安全机制验证方法。为了对披露的实施例的一些方面有一个基本的理解,下面给出了简单的概括。该概括部分不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围。其唯一目的是用简单的形式呈现一些概念,以此作为后面的详细说明的序言。

本申请实施例提供了一种基于操作系统的安全机制验证方法,所述方法包括:

当接收到针对操作系统验证指令时,获取预设安全规则;

基于预设验证方式对所述操作系统进行安全机制验证,输出验证结果;

当所述验证结果和所述安全规则一致时,通过验证。

可选的,所述当接收到针对操作系统验证指令时,获取预先生成的安全规则之前,还包括:

从操作系统需求文档中采集操作系统对应的安全功能;

基于所述安全功能创建所述操作系统对应的形式化语义模型。

从所述形式化语义模型中获取安全规则,将所述安全规则作为预设安全规则。

可选的,所述基于预设验证方式对所述操作系统进行安全机制验证,输出验证结果,包括:

采用预设有限状态穷举法验证所述形式化语义模型生成验证结果。

可选的,所述采用预设有限状态穷举法验证所述形式化语义模型生成验证结果之后,还包括:

当所述验证结果和所述安全规则不一致时,对所述形式化语义模型进行修改,使得修改后的模型对应的验证结果满足所述安全规则。

可选的,所述基于预设验证方式对所述操作系统进行安全机制验证,输出验证结果,包括:

基于所述安全规则生成所述操作系统对应的对象数据;

将所述对象数据对应的逻辑方法处理生成语义行为;

采用预设定理证明器对所述语义行为进行验证,生成验证结果。

可选的,所述采用预设定理证明器对所述语义行为进行验证,生成验证结果之后,还包括:

当所述验证结果和预设需求不一致时,对所述对象数据进行修改,使得修改后的对象数据对应的验证结果满足所述预设需求。

可选的,所述基于预设验证方式对所述操作系统进行安全机制验证,输出验证结果,包括:

将所述操作系统抽象处理生成层集合,所述层集合包括高级语言层、汇编层和机器语言层。

获取所述层集合中各层对应的源代码;

采用程序分析技术对所述源代码进行建模,生成所述源代码对应的自动机模型;

采用vcc代码验证器验证所述源代码对应的自动机模型,生成验证结果。

可选的,所述采用vcc代码验证器验证所述源代码对应的自动机模型,生成验证结果之后,还包括:

当所述验证结果不满足预设性质时,对验证的所述自动机模型对应的源代码进行修改,使得修改后的源代码满足所述预设性质。

可选的,所述基于预设验证方式对所述操作系统进行安全机制验证,输出验证结果,包括:

对所述高级语言层、汇编层和机器语言层对应的源代码进行验证生成验证结果集合。

可选的,所述对所述高级语言层、汇编层和机器语言层对应的源代码进行验证生成验证结果集合之后,还包括:

基于所述验证结果集合修改所述高级语言层、汇编层和机器语言层对应的源代码满足各层代码实现功能的一致性。

本申请实施例提供的技术方案可以包括以下有益效果:

在本申请实施例中,用户终端当接收到针对操作系统验证指令时,首先获取预设安全规则,然后基于预设验证方式对所述操作系统进行安全机制验证,输出验证结果,最后当所述验证结果和所述安全规则一致时,通过验证。本申请采用分层的方法依次将整个操作系统的验证分成:安全模型层验证、规则层验证、安全机制层验证和代码实现层验证,分别在每一层都采用形式化技术对对象进行语义建模,建立对应的自动机模型,再从中提取出待验证的性质,通过模型检验或者定理证明的方法验证是否满足期望的性质。验证过程中自上而下逐层验证和调整使其满足性质,最终得到满足整体操作系统性质的形式化模型,即具有可信性和完备性的安全操作系统,从而增加了操作系统的安全性。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。

图1是本申请实施例提供的一种基于操作系统的安全机制验证方法的流程示意图;

图2是本申请实施例提供的一种基于操作系统的安全机制验证过程的过程示意图;

图3是本申请实施例提供的一种基于操作系统的安全机制验证装置的结构示意图;

图4是本申请实施例提供的另一种基于操作系统的安全机制验证装置的结构示意图;

图5是本申请实施例提供的一种结果输出模块的结构示意图;

图6是本申请实施例提供的一种终端的结构示意图。

具体实施方式

以下描述和附图充分地示出本发明的具体实施方案,以使本领域的技术人员能够实践它们。

应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。

在本发明的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。此外,在本发明的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。

到目前为止,对于操作系统的安全机制验证,目前采用传统的测试手段对软件操作系统的功能逻辑进行验证,在利用传统的手段测试结束后就可以进入完善的生命周期进行运作,然而这种验证方式在要求严格的软件中检验后的结果容易出现误差,从而降低了操作软件运行时的安全性。为此,本申请提供了一种基于操作系统的安全机制验证方法,以解决上述相关技术问题中存在的问题。本申请提供的技术方案中,本申请采用分层的方法依次将整个操作系统的验证分成:安全模型层验证、规则层验证、安全机制层验证和代码实现层验证,分别在每一层都采用形式化技术对对象进行语义建模,建立对应的自动机模型,再从中提取出待验证的性质,通过模型检验或者定理证明的方法验证是否满足期望的性质。验证过程中自上而下逐层验证和调整使其满足性质,最终得到满足整体操作系统性质的形式化模型,即具有可信性和完备性的安全操作系统,从而增加了操作系统的安全性,下面采用示例性的实施例进行详细说明。

下面将结合附图1-附图2,对本申请实施例提供的基于操作系统的安全机制验证方法进行详细介绍。该方法可依赖于计算机程序实现,可运行于基于冯诺依曼体系的基于操作系统的安全机制验证装置上。该计算机程序可集成在应用中,也可作为独立的工具类应用运行。其中,本申请实施例中的基于操作系统的安全机制验证装置可以为用户终端,包括但不限于:个人电脑、平板电脑、手持设备、车载设备、可穿戴设备、计算设备或连接到无线调制解调器的其它处理设备等。在不同的网络中用户终端可以叫做不同的名称,例如:用户设备、接入终端、用户单元、用户站、移动站、移动台、远方站、远程终端、移动设备、用户终端、终端、无线通信设备、用户代理或用户装置、蜂窝电话、无绳电话、个人数字处理(personaldigitalassistant,pda)、5g网络或未来演进网络中的终端设备等。

请参见图1,为本申请实施例提供了一种基于操作系统的安全机制验证方法的流程示意图。如图1所示,本申请实施例的所述方法可以包括以下步骤:

s101,当接收到针对操作系统验证指令时,获取预设安全规则;

在本申请实施例中,在获取预设安全规则之前,要生成安全规则,在生成安全规则时,首先从操作系统需求文档中采集操作系统对应的安全功能,然后基于安全功能创建操作系统对应的形式化语义模型,最后从形式化语义模型中获取安全规则,获取到安全规则后即可确定为预设安全规则。

进一步地,在获取预设安全规则之前,首先根据自然语言描述的安全操作系统需求文档,对操作系统的安全功能建立形式化语义模型,即建立一个状态自动机模型,模型的各个状态模拟了在执行过程中各个功能的步骤转换。一一列举出安全模型在执行过程中所需要满足的状态性质,即安全规则。

例如,对eautoos操作系统的安全机制进行验证,eautoos主要由2部分组成:内核和系统服务,提供任务管理、资源管理、通信管理、中断管理、计数器及0s应用管理等功能,作为一个可信的嵌入式实时操作系统,多应用于汽车工业的电子控制单元中。

首先eautoos提供符合osek/autosaros规范的api接口,eautoos将系统中的应用分为可信的与不可信的两大类,它们分别运行于处理器的特权或非特权模式下,嵌入式系统的集成者根据各种因素赋予应用不同的可信属性。根据eautoos中顺序内核的功能配置,对操作系统的安全功能建立形式化语义模型,顺序内核的主要功能是计算当前的执行体,在不同的执行体之间实施转换即内存区域及栈的转换。

配置状态是系统受程序执行的影响而动态变化的状态。根据系统配置状态列举出安全模型在执行过程中所有需要满足的状态性质,即安全规则。安全规则对模型的属性进行描述,是安全模型的具体化。根据安全规则具体所适用对象的不同,细化分解出系统中的不同对象,如:内存块、寄存器、进程、运算单元等。要对每种对象指定安全规则,包括对象属性和对象操作属性,其中,对象操作属性表示任意操作都不能降低对象的强制访问访问控制的保密性安全级别。

s102,基于预设验证方式对所述操作系统进行安全机制验证,输出验证结果;

在本申请实施例中,基于步骤s101可得到安全规则。最后基于预设验证方式对操作系统进行安全机制验证,输出验证结果;

优选的,在对形式化语义模型进行验证时,首先采用预设有限状态穷举法验证形式化语义模型生成验证结果,当验证结果和安全规则不一致时,对形式化语义模型进行修改,使得修改后的模型对应的验证结果满足安全规则。

具体的,针对所需验证的性质,在形式化语义模型的状态自动机上,通过有限状态穷举的方法判定安全模型是否满足上述性质。对每一个性质都进行验证,如果形式化语义模型不满足其中一项性质,则修改模型以满足性质需求,直至修改后的模型都满足所期望的每一项性质。

优选的,在对操作系统对应的各项安全机制进行验证时,首先基于安全规则生成操作系统对应的对象数据,然后将对象数据对应的逻辑方法处理生成语义行为,再采用预设定理证明器对语义行为进行验证,生成验证结果,最后当所述验证结果和预设需求不一致时,对所述对象数据进行修改,使得修改后的对象数据对应的验证结果满足所述预设需求。

具体的,根据操作系统中存在的各项安全机制,包括内存保护、文件保护、普通实体保护、存取鉴别、审计跟踪等,采用定理证明的方法,对系统中各个对象所需满足的属性描述为定理,建立推理规则,用数学公式推导演算进行验证,比如:证明系统的各个进程之间是否满足进程安全通信,是否控制了不同用户对文件的访问读取权限,文件系统存储空间的合理使用等。如果定理推导结果与现实矛盾,则修改安全机制下具体对象的属性需求,直至验证每个对象都符合对应的机制属性。

例如,将安全规则中相应对象的执行具体化为对应的语义行为,如:内存的访问读写、进程的创建于释放等。isabelle/hol是一款可以对系统规格进行描述和验证的定理证明器,因此采用定理证明的方法,使用isabelle/hol对每一个性质都进行验证,证明其满足安全模型。一旦发现违反了对象操作属性,从而就能发现系统安全规则配置上的错误。

安全机制是对上层安全规则的具体实现机制,它是为完成某一安全目标而规定的操作协议流程。操作系统中存在着各项安全机制,包括:内存保护、文件保护、普通实体保护、存取鉴别、审计跟踪等。每个组件会接受某种输入并进行一系列步骤的执行完成状态转换,因此完成该协议的系统可以建模为有限自动机。在对该层次中含有的协议进行深入分析后进行手工建模,再使用模型检测器对时序属性进行验证。该层次的定位是对安全实现上层的安全相关的协议,如用户登录、进程调度、各种网络服务的协议以及进程间通信协议在设计上的安全问题。一旦经验证发现协议上的安全问题,则修改安全机制下具体协议的属性内容,直至验证每个对象都符合对应的机制属性。

优选的,在对操作系统对应的不同层中的源代码进行验证时,首先将操作系统抽象处理生成层集合,层集合包括高级语言层、汇编层和机器语言层,再获取层集合中各层对应的源代码,然后采用程序分析技术对源代码进行建模,生成源代码对应的自动机模型,再采用vcc代码验证器验证源代码对应的自动机模型,生成验证结果,最后当所述验证结果不满足预设性质时,对验证的所述自动机模型对应的源代码进行修改,使得修改后的源代码满足所述预设性质。

具体的,在操作系统实现代码层面,将系统抽象成高级语言层、汇编层和机器语言层,针对不同层的实现语言,使用程序分析技术对操作系统的源代码用抽象的方式解释程序内容并建模,建立代码的自动机模型。在不同层的实现语言,各自验证各层的正确性。将代码的自动机模型作为验证对象,执行代码所需满足的属性所谓验证目标,验证程序段在执行过程中是否满足对应的属性。若代码层的形式化模型不满足所期望的性质,则修正对应代码层的程序段,直至程序满足代码层形式化模型所期望的性质。

例如,在操作系统的代码实现层,安全问题通常具有普遍性漏洞,如缓冲区溢出、竞争条件漏洞等。将模块化程序抽象为一个下推自动机,安全属性则可归结为时序安全属性,并用有限状态机进行描述。先将系统抽象成高级语言层、汇编层和机器语言层,再针对不同层的实现语言,使用程序分析技术对操作系统的源代码用抽象的方式解释程序内容并建模,建立代码的自动机模型。在不同层的实现语言,各自验证各层的正确性。使用vcc注解语言描述每个系统服务的变迁函数的规范以及相关的不变量。基于c语言使用的vcc代码验证器描述系统服务规范,在已有实现代码的基础上增加了:数据结构的不变量、函数契约如:前置、后置条件、断言、循环不变量等。由vcc工具完成自动验证过程,给出成功或者不成功的结论。若出现验证不一致的代码,则修改对应的程序段使得其满足待验证的性质。

优选的,验证高级语言层、汇编层和机器语言层不同层之间的代码一致性时,对高级语言层、汇编层和机器语言层对应的源代码进行验证生成验证结果集合,然后基于验证结果集合修改高级语言层、汇编层和机器语言层对应的源代码满足各层代码实现功能的一致性。

具体的,验证高级语言层、汇编层和机器语言层不同层之间的代码一致性,不同层的代码在语义模型和实现的功能上必须是一致的。如果其中任意两层的代码功能不一致,则修正两层中不一致的代码,直至每两层之间的代码均满足实现一致性,进而可以说明整个操作系统模型和代码实现的一致性。

例如,验证高级语言层、汇编层和机器语言层不同层之间的代码一致性,使得最终不同层的代码在语义模型和实现的功能上是一致的。汇编层作为高级语言层和机器语言层的中间转换层,选择在汇编层对系统模块的功能语义进行形式化建模,提出一种汇编级的系统状态模型。在汇编层中定义状态和状态转换函数,依次建立状态模型的论域,并通过验证汇编层的功能模块的正确性来确保汇编语言层设计的正确性,进而验证高级语言层和机器语言层对系统功能实现的正确性。如果其中任意两层的代码功能不一致,则修正两层中不一致的代码,直至每两层之间的代码均满足实现一致性,最终得到安全可信的操作系统。

s103,当所述验证结果和所述安全规则一致时,通过验证。

在一种可能的实现方式中,基于步骤s102可得到验证结果,当验证结果不符合要求时,进行自动修复。当验证结果符合要求时,验证通过。例如图2所示,首先获取到操作系统的功能需求,然后对获取的功能需求进行建模生成模型,再对模型进行检测。根据从模型中抽取的安全规则使用定理证明法进行验证。在系统安全机制验证中,对系统进行抽象分层,根据分层结果实现代码层模型,然后对模型检测验证,当验证都通过时,确认系统安全。

在本申请实施例中,用户终端当接收到针对操作系统验证指令时,首先获取预设安全规则,然后基于预设验证方式对所述操作系统进行安全机制验证,输出验证结果,最后当所述验证结果和所述安全规则一致时,通过验证。本申请采用分层的方法依次将整个操作系统的验证分成:安全模型层验证、规则层验证、安全机制层验证和代码实现层验证,分别在每一层都采用形式化技术对对象进行语义建模,建立对应的自动机模型,再从中提取出待验证的性质,通过模型检验或者定理证明的方法验证是否满足期望的性质。验证过程中自上而下逐层验证和调整使其满足性质,最终得到满足整体操作系统性质的形式化模型,即具有可信性和完备性的安全操作系统,从而增加了操作系统的安全性。

下述为本发明装置实施例,可以用于执行本发明方法实施例。对于本发明装置实施例中未披露的细节,请参照本发明方法实施例。

请参见图3,其示出了本发明一个示例性实施例提供的基于操作系统的安全机制验证装置的结构示意图。该基于操作系统的安全机制验证装置可以通过软件、硬件或者两者的结合实现成为终端的全部或一部分。该装置1包括第一规则获取模块10、结果输出模块20、验证通过模块30。

第一规则获取模块10,用于当接收到针对操作系统验证指令时,获取预设安全规则;

结果输出模块20,用于基于预设验证方式对所述操作系统进行安全机制验证,输出验证结果;

验证通过模块30,用于当所述验证结果和所述安全规则一致时,通过验证。

可选的,如图4所示,所述装置1还包括:

功能采集模块40,用于从操作系统需求文档中采集操作系统对应的安全功能;

模型创建模块50,用于基于所述安全功能创建所述操作系统对应的形式化语义模型。

第二规则获取模块60,用于从所述形式化语义模型中获取安全规则,将所述安全规则作为预设安全规则。

可选的,如图5所示,所述结果输出模块20,包括:

第一结果生成单元201,用于采用预设有限状态穷举法验证所述形式化语义模型生成验证结果。

模型修改单元202,用于当所述验证结果和所述安全规则不一致时,对所述形式化语义模型进行修改,使得修改后的模型对应的验证结果满足所述安全规则。

数据生成单元203,用于基于所述安全规则生成所述操作系统对应的对象数据;

语义行为生成单元204,用于将所述对象数据对应的逻辑方法处理生成语义行为;

第二结果生成单元205,用于采用预设定理证明器对所述语义行为进行验证,生成验证结果。

数据修改单元206,用于当所述验证结果和预设需求不一致时,对所述对象数据进行修改,使得修改后的对象数据对应的验证结果满足所述预设需求。

集合生成单元207,用于将所述操作系统抽象处理生成层集合,所述层集合包括高级语言层、汇编层和机器语言层。

源代码获取单元208,用于获取所述层集合中各层对应的源代码;

模型生成单元209,用于采用程序分析技术对所述源代码进行建模,生成所述源代码对应的自动机模型;

第三结果生成单元210,用于采用vcc代码验证器验证所述源代码对应的自动机模型,生成验证结果。

第一源代码修改单元211,用于当所述验证结果不满足预设性质时,对验证的所述自动机模型对应的源代码进行修改,使得修改后的源代码满足所述预设性质。

第四结果生成单元212,用于对所述高级语言层、汇编层和机器语言层对应的源代码进行验证生成验证结果集合。

第二源代码修改单元213,用于基于所述验证结果集合修改所述高级语言层、汇编层和机器语言层对应的源代码满足各层代码实现功能的一致性。

需要说明的是,上述实施例提供的基于操作系统的安全机制验证装置在执行基于操作系统的安全机制验证方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的基于操作系统的安全机制验证装置与基于操作系统的安全机制验证方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。

上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。

在本申请实施例中,用户终端当接收到针对操作系统验证指令时,首先获取预设安全规则,然后基于预设验证方式对所述操作系统进行安全机制验证,输出验证结果,最后当所述验证结果和所述安全规则一致时,通过验证。本申请采用分层的方法依次将整个操作系统的验证分成:安全模型层验证、规则层验证、安全机制层验证和代码实现层验证,分别在每一层都采用形式化技术对对象进行语义建模,建立对应的自动机模型,再从中提取出待验证的性质,通过模型检验或者定理证明的方法验证是否满足期望的性质。验证过程中自上而下逐层验证和调整使其满足性质,最终得到满足整体操作系统性质的形式化模型,即具有可信性和完备性的安全操作系统,从而增加了操作系统的安全性。

本发明还提供一种计算机可读介质,其上存储有程序指令,该程序指令被处理器执行时实现上述各个方法实施例提供的基于操作系统的安全机制验证方法。

本发明还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各个方法实施例所述的基于操作系统的安全机制验证方法。

请参见图6,为本申请实施例提供了一种终端的结构示意图。如图6所示,所述终端1000可以包括:至少一个处理器1001,至少一个网络接口1004,用户接口1003,存储器1005,至少一个通信总线1002。

其中,通信总线1002用于实现这些组件之间的连接通信。

其中,用户接口1003可以包括显示屏(display)、摄像头(camera),可选用户接口1003还可以包括标准的有线接口、无线接口。

其中,网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。

其中,处理器1001可以包括一个或者多个处理核心。处理器1001利用各种借口和线路连接整个电子设备1000内的各个部分,通过运行或执行存储在存储器1005内的指令、程序、代码集或指令集,以及调用存储在存储器1005内的数据,执行电子设备1000的各种功能和处理数据。可选的,处理器1001可以采用数字信号处理(digitalsignalprocessing,dsp)、现场可编程门阵列(field-programmablegatearray,fpga)、可编程逻辑阵列(programmablelogicarray,pla)中的至少一种硬件形式来实现。处理器1001可集成中央处理器(centralprocessingunit,cpu)、图像处理器(graphicsprocessingunit,gpu)和调制解调器等中的一种或几种的组合。其中,cpu主要处理操作系统、用户界面和应用程序等;gpu用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器1001中,单独通过一块芯片进行实现。

其中,存储器1005可以包括随机存储器(randomaccessmemory,ram),也可以包括只读存储器(read-onlymemory)。可选的,该存储器1005包括非瞬时性计算机可读介质(non-transitorycomputer-readablestoragemedium)。存储器1005可用于存储指令、程序、代码、代码集或指令集。存储器1005可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各个方法实施例的指令等;存储数据区可存储上面各个方法实施例中涉及到的数据等。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图6所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及基于操作系统的安全机制验证应用程序。

在图6所示的终端1000中,用户接口1003主要用于为用户提供输入的接口,获取用户输入的数据;而处理器1001可以用于调用存储器1005中存储的基于操作系统的安全机制验证应用程序,并具体执行以下操作:

当接收到针对操作系统验证指令时,获取预设安全规则;

基于预设验证方式对所述操作系统进行安全机制验证,输出验证结果;

当所述验证结果和所述安全规则一致时,通过验证。

在一个实施例中,所述处理器1001在执行所述当接收到针对操作系统验证指令时,获取预先生成的安全规则之前时,还执行以下操作:

从操作系统需求文档中采集操作系统对应的安全功能;

基于所述安全功能创建所述操作系统对应的形式化语义模型。

从所述形式化语义模型中获取安全规则,将所述安全规则作为预设安全规则。

在一个实施例中,所述处理器1001在执行所述基于预设验证方式对所述操作系统进行安全机制验证,输出验证结果时,具体执行以下操作:

采用预设有限状态穷举法验证所述形式化语义模型生成验证结果。

当所述验证结果和所述安全规则不一致时,对所述形式化语义模型进行修改,使得修改后的模型对应的验证结果满足所述安全规则。

基于所述安全规则生成所述操作系统对应的对象数据;

将所述对象数据对应的逻辑方法处理生成语义行为;

采用预设定理证明器对所述语义行为进行验证,生成验证结果。

当所述验证结果和预设需求不一致时,对所述对象数据进行修改,使得修改后的对象数据对应的验证结果满足所述预设需求。

将所述操作系统抽象处理生成层集合,所述层集合包括高级语言层、汇编层和机器语言层。

获取所述层集合中各层对应的源代码;

采用程序分析技术对所述源代码进行建模,生成所述源代码对应的自动机模型;

采用vcc代码验证器验证所述源代码对应的自动机模型,生成验证结果。

当所述验证结果不满足预设性质时,对验证的所述自动机模型对应的源代码进行修改,使得修改后的源代码满足所述预设性质。

对所述高级语言层、汇编层和机器语言层对应的源代码进行验证生成验证结果集合。

基于所述验证结果集合修改所述高级语言层、汇编层和机器语言层对应的源代码满足各层代码实现功能的一致性。

在本申请实施例中,用户终端当接收到针对操作系统验证指令时,首先获取预设安全规则,然后基于预设验证方式对所述操作系统进行安全机制验证,输出验证结果,最后当所述验证结果和所述安全规则一致时,通过验证。本申请采用分层的方法依次将整个操作系统的验证分成:安全模型层验证、规则层验证、安全机制层验证和代码实现层验证,分别在每一层都采用形式化技术对对象进行语义建模,建立对应的自动机模型,再从中提取出待验证的性质,通过模型检验或者定理证明的方法验证是否满足期望的性质。验证过程中自上而下逐层验证和调整使其满足性质,最终得到满足整体操作系统性质的形式化模型,即具有可信性和完备性的安全操作系统,从而增加了操作系统的安全性。

本领域技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。所属技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

本文所披露的实施例中,应该理解到,所揭露的方法、产品(包括但不限于装置、设备等),可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

应当理解的是,附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。本发明并不局限于上面已经描述并在附图中示出的流程及结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1