当前位置: 首页 > 专利查询>杨力祥专利>正文

一种运行时访问控制方法及计算装置制造方法及图纸

技术编号:21953153 阅读:21 留言:0更新日期:2019-08-24 17:59
本发明专利技术公开了一种访问控制方法及计算装置,涉及信息技术,特别是信息安全领域,包括:包括安全装置,和/或,保障装置。所述安全装置基于硬件针对MSU进行访问控制;所述保障装置基于硬件确保只有在特定状态下才能设置使所述安全装置有效的控制状态数据和执行使所述安全装置有效的特定指令;所述安全装置提供合法跨越MSU边界的方式;所述提供合法跨越MSU边界的方式,包括:执行专用的跨MSU转移指令或发生中断/异常时,必须先转移至中转MSU,由中转MSU中程序检查跨MSU转移的合法性并转移至最终的目标;特别的,如果二者转移到相同中转MSU的共同代码位置,由硬件提供标识信息;中断返回也会导致跨MSU转移。

A Runtime Access Control Method and Computing Device

【技术实现步骤摘要】
一种运行时访问控制方法及计算装置
本申请涉及信息
,特别涉及一种运行时隔离方法,以及一种运行时访问控制方法及计算装置。
技术介绍
现有技术中,特别是现有操作系统和处理器体系架构技术中,对于内存及其使用的设计更多的考虑是紧凑、方便、高效,这样的设计使得各个功能的代码之间有着错综复杂的相互联系,数据几乎没有任何封装,或者仅在高级语言的语法编译阶段具有有限的封装,而在运行时实际上可以不受任何检查的随意访问。具体的,对语法的检查只能保证源码中不包含语法所不允许的非法访问,但在运行时,攻击者有可能通过某种手段改变程序的执行序或者是数据访问对象,从而打破语法规则的封装。比如,C++语言规定了类中的私有成员不可被其他类对象访问,但是如果程序被攻击,攻击者在运行时改变了函数的跳转目标,就可以打破这种保护。特别是对于操作系统内核而言,现有技术的上述缺陷,实质上导致内核空间是平坦的,一旦攻击者借助如果攻击者借助用户态和内核态之间的数据传输,利用内核态代码在传输、处理数据中的设计缺陷,就能够用攻击者准备好的数据几乎任意修改内核的数据、代码,进而发起攻击。其中最危险的是攻击导致超越授权,例如:1、超越授权读取用户数据(包括内存和外设的数据)。2、超越授权写入(包括篡改、删除)用户数据。3、超越授权执行系统调用。4、超越授权执行应用程序。一旦攻击者完成了上述动作,同时由于现有操作系统中仅有极为有限的检查机制,攻击者实质上就获得了对计算机任意访问的权限。特别是在硬件设计层面,没有从架构层面,在设计的初期就考虑安全问题,更加剧了信息安全风险。现有体系架构的实现,只考虑功能实现、效率提高等使用方面的问题,并没有从体系架构的设计基点开始就专门的考虑安全问题;即便有些设计,如特权级、分页等,客观上在一定程度上为计算的提供了安全保障,但其设计的出发点仍然是为了使用而非安全,这导致安全保障不成体系,进而不足以消除攻击成立所需的必要条件。在攻击条件下,仍然存在重大安全隐患。
技术实现思路
为了解决现有体系架构的设计初衷没有系统性的考虑安全的问题,本专利技术公开了一种安全装置,在设计基点上,就系统性的解决安全问题,同时优选的,公开一种保障装置,来保障即便在攻击状态下,安全装置也能保持有效。进一步的,考虑到技术方案的可实施性,安全装置及保障装置的设计,也最大限度的与现有硬件体系流水线机制相配合,确保在解决安全问题的同时,不影响流水线的整体设计,进而保证执行效率。针对现有技术的问题,本专利技术公开了一种装置,其特征在于:包括安全装置,和/或,保障装置;进一步的,所述安全装置基于硬件针对MSU进行访问控制;所述保障装置基于硬件确保只有在特定状态下才能设置使所述安全装置有效的控制状态数据和执行使所述安全装置有效的特定指令。所述安全装置,包括:拦截非法跨越MSU边界的访问;提供合法跨越MSU边界的方式;和/或,限制MSU中指令访问存储设施的能力,和/或,限制MSU执行特定指令的能力。所述MSU边界是指:处理器认定的由内存地址值所构成的MSU边界,和/或,处理器认定的由页面标识信息所标定的MSU边界。所述拦截非法跨越MSU边界的访问,包括:如果待执行的指令所在地址超出处理器认定的MSU边界,处理器报异常;如果数据读写目标的地址超出读写指令匹配的MSU边界,处理器报异常。所述提供合法跨越MSU边界的方式,包括:执行专用的跨MSU转移指令或发生中断/异常时,必须先转移至中转MSU,由中转MSU中程序检查跨MSU转移的合法性,如非法,进入异常处理流程,如合法,再由此MSU中代码进行边界切换并转移至最终的目标;特别的,如果二者转移到相同中转MSU的共同代码位置,由硬件提供标识信息,以区别转移是由执行跨MSU转移指令引起还是由产生中断/异常引起;中断返回也会导致跨MSU转移。所述限制MSU中指令访问存储设施的能力,包括:对现有部分存储设施的访问权限做限制,只允许特定MSU中指令才能访问被限制访问权限的存储设施,特别的,对于没有做访问权限限制的存储设施,任何MSU中指令都可以访问。所述限制MSU执行特定指令的能力,包括:对现有部分指令的执行权限做限制,只允许特定MSU才能执行被限制执行权限的指令,对于没有做执行权限限制的指令,在任何MSU中都可以执行。所述保障装置,包括:仅在中转MSU中,和/或,跨MSU转移指令执行,和/或,中断/异常产生,和/或,中断返回时,才能访问确保安全装置有效所需的信息和确保保障装置有效所需的状态数据,和/或,设定存储设施的访问权限,和/或,设定指令执行权限;仅有跨MSU转移指令执行,和/或,中断/异常产生,和/或,中断返回导致跨MSU转移。优选的,在装置中设置安全功能,和/或,保障功能的开关,如关闭该开关,则装置失效。一种安全装置的制作方法,包括:制作MSU边界检查装置和提供合法跨越MSU边界的方法,和/或,提供限制MSU中指令访问存储设施能力的方法,和/或,提供限制MSU执行特定指令能力的方法,和/或,跨越MSU合法性检查程序的生成方法以及生效方法。所述制作MSU边界检查装置的方法包括:制作指令边界检查装置的方法和制作数据边界检查装置的方法。所述制作指令边界检查装置的方法包括:由处理器认定当前MSU边界范围,并判断待执行指令所在地址是否在所述范围之内,如在,可正常取址,如不在,处理器报出异常;具体的,由处理器认定当前MSU边界范围,并判断待执行指令所在地址是否在所述范围之内,可以采用多种方法,一种优选的方法为:处理器设置专用存储设施保存当前MSU边界地址值,在执行指令时,判断处理器的程序计数器的地址值是否在当前MSU边界地址值范围中,如在,表明没有超出所述范围,如不在,表明超出所述范围;另一种优选的方式为:在内存页面的属性中添加标识信息,记录页面所属MSU的页面标识信息,在执行指令时,判断处理器中程序计数器存储的地址值所在的页面所属MSU的页面标识信息,是否与当前MSU页面标识信息一致,如一致,表明没有超出所述范围,否则表明超出所述范围。所述制作数据边界检查装置的方法包括:由处理器认定若干组数据存储MSU边界,针对每组MSU设置与之匹配的读写指令,在对数据进行读写时,根据不同的读写指令判断操作地址是否在与之匹配MSU边界中,如在,可正常访问,如不在,则报出异常。设置多组MSU的目的是为了区分指令,和/或,数据所在MSU、栈数据所在MSU、保险箱MSU、以及用作其他用途的独立MSU。具体的,处理器判断数据读写指令操作的目标地址是否在与之匹配的MSU边界内,可以采用有多种方法:一种优选的方法为:处理器设置若干组专用存储设施保存不同类型MSU边界地址值,在执行读写指令时,判断指令操作的目标地址是否在与指令匹配的MSU边界范围中,如在,表明没有超出所述范围,如不在,表明超出所述范围;另一种优选的方法为:在内存页面的属性中添加标识信息,记录页面所属MSU的页面标识信息,在执行读写指令时,判断指令操作的目标地址所在的页面所属MSU的标识信息,是否与指令所匹配的MSU的页面标识信息一致,如一致,表明没有超出所述范围,否则表明超出所述范围。优选的:如果安全装置包含开关,在开关处于关状态时,不进行指令边界检查和数据边界检查。所述提供合法跨越MSU边本文档来自技高网
...

【技术保护点】
1.一种装置,其特征在于:包括安全装置,和/或,保障装置;所述安全装置基于硬件针对MSU进行访问控制;所述保障装置基于硬件确保只有在特定状态下才能设置使所述安全装置有效的控制状态数据和执行使所述安全装置有效的特定指令。

【技术特征摘要】
1.一种装置,其特征在于:包括安全装置,和/或,保障装置;所述安全装置基于硬件针对MSU进行访问控制;所述保障装置基于硬件确保只有在特定状态下才能设置使所述安全装置有效的控制状态数据和执行使所述安全装置有效的特定指令。2.根据权利要求1所述的装置,其特征在于:所述安全装置,包括:拦截非法跨越MSU边界的访问;提供合法跨越MSU边界的方式;和/或,限制MSU中指令访问存储设施的能力,和/或,限制MSU执行特定指令的能力;所述MSU边界是指:处理器认定的由内存地址值所构成的MSU边界,和/或,处理器认定的由页面标识信息所标定的MSU边界。3.根据权利要求2所述的装置,其特征在于:所述拦截非法跨越MSU边界的访问,包括:如果待执行的指令所在地址超出处理器认定的MSU边界,处理器报异常;如果数据读写目标的地址超出读写指令匹配的MSU边界,处理器报异常。4.根据权利要求2所述的装置,其特征在于:所述提供合法跨越MSU边界的方式,包括:执行专用的跨MSU转移指令或发生中断/异常时,必须先转移至中转MSU,由中转MSU中程序检查跨MSU转移的合法性,如非法,进入异常处理流程,如合法,再由此MSU中代码进行边界切换并转移至最终的目标;特别的,如果二者转移到相同中转MSU的共同代码位置,由硬件提供标识信息,以区别转移是由执行跨MSU转移指令引起还是由产生中断/异常引起;中断返回也会导致跨MSU转移。5.根据权利要求2所述的装置,其特征在于:所述限制MSU中指令访问存储设施的能力,包括:对现有部分存储设施的访问权限做限制,只允许特定MSU中指令才能访问被限制访问权限的存储设施,特别的,对于没有做访问权限限制的存储设施,任何MSU中指令都可以访问。6.根据权利要求2所述的装置,其特征在于:所述限制MSU执行特定指令的能力,包括:对现有部分指令的执行权限做限制,只允许特定MSU才能执行被限制执行权限的指令,对于没有做执行权限限制的指令,在任何MSU中都可以执行。7.根据权利要求1所述的装置,其特征在于:所述保障装置,包括:仅在中转MSU中,和/或,跨MSU转移指令执行,和/或,中断/异常产生,和/或,中断返回时,才能访问确保安全装置有效所需的信息和确保保障装置有效所需的状态数据,和/或,设定存储设施的访问权限,和/或,设定指令执行权限;仅有跨MSU转移指令执行,和/或,中断/异常产生,和/或,中断返回导致跨MSU转移。8.根据权利要求1所述的装置,其特征在于:在装置中设置安全功能,和/或,保障功能的开关,如关闭该开关,则装置失效。9.一种安全装置的制作方法,包括:制作MSU边界检查装置和提供合法跨越MSU边界的方法,和/或,提供限制MSU中指令访问存储设施能力的方法,和/或,提供限制MSU执行特定指令能力的方法,和/或,跨越MSU合法性检查程序的生成方法以及生效方法。10.根据权利要求9所述的方法,其特征在于:所述制作MSU边界检查装置的方法包括:制作指令边界检查装置的方法和制作数据边界检查装置的方法。11.根据权利要求10所述的方法,其特征在于:所述制作指令边界检查装置的方法包括:由处理器认定当前MSU边界范围,并判断待执行指令所在地址是否在所述范围之内,如在,可正常取址,如不在,处理器报出异常。12.根据权利要求11所述的方法,其特征在于:所述由处理器认定当前MSU边界范围,并判断待执行指令所在地址是否在所述范围之内,可采用:处理器设置专用存储设施保存当前MSU边界地址值,在执行指令时,判断处理器的程序计数器的地址值是否在当前MSU边界地址值范围中,如在,表明没有超出所述范围,如不在,表明超出所述范围;或;在内存页面的属性中添加标识信息,记录页面所属MSU的页面标识信息,在执行指令时,判断处理器中程序计数器存储的地址值所在的页面所属MSU的页面标识信息,是否与当前MSU页面标识信息一致,如一致,表明没有超出所述范围,否则表明超出所述范围。13.根据权利要求12所述的方法,其特征在于:所述制作数据边界检查装置的方法包括:由处理器认定若干组数据存储MSU边界,针对每组MSU设置与之匹配的读写指令,在对数据进行读写时,根据不同的读写指令判断操作地址是否在与之匹配MSU边界中,如在,可正常访问,如不在,则报出异常。设置多组MSU的目的是为了区分指令,和/或,数据所在MSU、栈数据所在MSU、保险箱MSU、以及用作其他用途的独立MSU。14.根据权利要求13所述的方法,其特征在于:所述处理器判断数据读写指令操作的目标地址是否在与之匹配的MSU边界内,可采用:处理器设置若干组专用存储设施保存不同类型MSU边界地址值,在执行读写指令时,判断指令操作的目标地址是否在与指令匹配的MSU边界范围中,如在,表明没有超出所述范围,如不在,表明超出所述范围;或;在内存页面的属性中添加标识信息,记录页面所属MSU的页面标识信息,在执行读写指令时,判断指令操作的目标地址所在的页面所属MSU的标识信息,是否与指令所匹配的MSU的页面标识信息一致,如一致,表明没有超出所述范围,否则表明超出所述范围。15.根据权利要求9所述的方法,其特征在于:在安全装置设置开关,在所述开关处在关状态时,不进行指令边界检查和数据边界检查。16.根据权利要求9所述的方法,其特征在于:所述提供合法跨越MSU边界的方法包括:提供专用的跨MSU转移指令,执行此类指令时,转移至中转MSU;提供专用转移指令,执行此类指令时,完成由中转MSU到目标MSU的转移;在中断/异常发生时,通过处理器硬件机制转移至中转MSU;在中断返回时,通过中断指令执行从中转MSU返回中断现场,恢复现场信息。17.根据权利要求16所述的方法,其特征在于:提供专用的跨MSU转移指令,执行此类指令时,转移至中转MSU;提供专用转移指令,执行此类指令时,完成由中转MSU到目标MSU的转移;进一步包括:所述跨MSU转移指令,简称第一类指令,此类指令执行时转移到中转MSU入口位置,指令同时将当前MSU边界切换为中转MSU边界,和/或,同时也将当前可访问的数据MSU边界切换为中转MSU中代码可访问的数据MSU边界,如果不在第一类指令中对当前MSU边界进行切换,处理器需在第一类指令执行后忽略指令边界检查,优选的,中转MSU入口位置可以通过默认的固定存储设施来存储,不必出现在第一类指令中;转移目标地址可以通过第一类指令的操作数指定,也可以通过特定的专用寄存器来指定;所述专用转移指令,简称第二类指令,此类指令用于从中转MSU转移到指定地址;和/或,指令同时将当前MSU边界切换为目标地址所属MSU边界,和/或,同时也将中转MSU可访问的数据MSU边界切换为目标MSU中代码可访问的数据MSU边界;优选的,第二类指令的目标地址应为第一类指令指定的转移目标地址,二者协同完成MSU间的转移,优选的,如果第一类指令执行会导致处理器不进行指令边界检查,那么第二类指令则应指定是否恢复指令边界检查,优选的,转移目标地址可以通过第二类指令操作数指定,也可以通过特定的专用寄存器来指定。18.根据权利要求16所述的方法,其特征在于:如果安全装置包含开关,则开关处于关状态时,不能够执行第一类指令、第二类指令,执行会报出异常。19.根据权利要求16所述的方法,其特征在于:在中断、异常发生时,由处理器进行MSU间的转移,进一步包括:在产生中断/异常后,先保存中断现场的确保安全装置有效所需信息,然后将当前MSU边界设置为中转MSU边界,和/或,同时也将当前MSU可访问的数据MSU边界切换为中转MSU代码可访问的数据MSU边界,并转移至指定的指令位置,优选的,如果不在中断/异常产生时对当前MSU边界进行切换,处理器需在中转MSU中忽略指令边界检查。20.根据权利要求19所述的方法,其特征在于:所述中断/异常的指定转移位置可以是与第一类指令的转移到相同的中转MSU,可选的,转移到同一地址,那么处理器需提供信息标识当前是由哪种触发方式导致执行到指定转移位置;另一种可选方式为:为中断/异常单独设置一个中转MSU,那么这个中转MSU的入口地址应被记入特定存储设施中。21.根据权利要求19所述的方法,其特征在于:所述在中断返回时,中断指令执行回到中断现场,进一步包括:恢复中断现场的确保安全装置有效所需信息,这个信息在发生中断时被记录在特定存储设施中。22.根据权利要求21所述的方法,其特征在于:如果安全装置包含开关设置,仅在安全功能开启时执行以上关于中断、异常、中断返回的操作。23.根据权利要求9所述的方法,其特征在于:所述提供限制MSU中指令访问存储设施能力的方法包括:对需要限制访问权限的存储设施设置特定标识,并通过硬件保证,只有访问存储设施能力不受限制的MSU中指令,才能访问被限制了访问权限的存储设施,访问存储设施能力受限制的MSU中指令,不能访问此类存储设施,特别的,对于不需要限制访问权限的存储设施,任何MSU中指令都可以访问。24.根据权利要求9所述的方法,其特征在于:所述提供限制MSU执行特定指令能力的方法包括:对需要限制执行权限的指令设置特定标识,并通过硬件保证,只有指令执行能力不受限制的MSU,才能能执行被限制了执行权限的指令,指令执行能力受限制的MSU,不能执行此类指令,特别的,对于不需要限制执行权限的指令,任何MSU中都可以执行。25.根据权利要求9所述的方法,其特征在于:所述跨越MSU合法性检查程序的生成方法以及生效方法包括:制作MSU信息记录单元;生成MSU访问控制逻辑;编译包含MSU的源程序;运行时阶段对MSU信息的处理。26.根据权利要求25所述的方法,其特征在于:所述制作MSU信息记录单元,包括:建立控制对照表,具体信息包含:MSU边界信息、MSU属性信息、端口信息、生效/失效、MSU的ID号,MSU访问访问寄存器及执行指令的能力限定信息,优选的,还包括MSU所属用户类型信息,MSU所属用户标识信息,将控制对照表设置于中转MSU数据区域中。27.根据权利要求25所述的方法,其特征在于:所述生成MSU访问控制逻辑,包括:第一类指令执行的访问控制逻辑,和/或,中断/异常产生及中断返回的访问控制逻辑。28.根据权利要求27所述的方法,其特征在于:所述第一类指令执行的访问控制逻辑,进一步包括:通过控制对照表确认源MSU和目标MSU的表项;进行MSU生效/失效检查、端口匹配检查;检查不通过,进入异常处理流程,如通过,执行第二类指令转移到目标MSU;优选的,进入中转MSU后,设定中转MSU边界及中转MSU可访问数据MSU边界;优选的,设定目标MSU边界及目标MSU可访问数据MSU边界,之后第二类指令执行转移到目标MSU。29.根据权利要求27所述的方法,其特征在于:所述中断/异常产生及中断返回的访问控制逻辑,进一步包括:保存确保安全装置有效所需的中断现场信息,设置中转MSU边界为当前MSU边界,及设置中转MSU可访问数据MSU边界为当前MSU可访问数据MSU边界;通过执行中断返回指令实现中断返回;中断返回前,恢复确保安全装置有效所需的中断现场信息,之后执行中断返回指令。30.根据权利要求25所述的方法,其特征在于:所述编译包含MSU的源程序,进一步包括:提取MSU信息;限定MSU语法访问规则;生成与MSU访问相关的指令。31.根据权利要求30所...

【专利技术属性】
技术研发人员:杨力祥
申请(专利权)人:杨力祥
类型:发明
国别省市:北京,11

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

1