[发明专利]一种运行时访问控制装置和方法在审
申请号: | 202110928253.5 | 申请日: | 2019-04-09 |
公开(公告)号: | CN113626843A | 公开(公告)日: | 2021-11-09 |
发明(设计)人: | 杨力祥 | 申请(专利权)人: | 杨力祥 |
主分类号: | G06F21/60 | 分类号: | G06F21/60 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100081 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 运行 访问 控制 装置 方法 | ||
本发明公开了一种运行时访问控制的装置及方法,涉及信息技术,特别是信息安全技术,所述装置包括安全装置和保障装置,所述安全装置基于硬件针对内存区域进行访问控制;所述保障装置基于硬件确保只有在特定状态下才能设置使所述安全装置有效的控制状态数据和执行使所述安全装置有效的特定指令;所述安全装置提供合法跨越内存区域边界的方式,包括执行专用的跨区域转移指令或发生中断/异常时,必须先转移至中转区域,再由此区域中代码进行边界切换并转移至最终的目标地址;特别的,如果二者转移到相同中转区域的共同代码位置,由硬件提供标识信息,以区别转移是由执行跨区域转移指令引起还是由产生中断/异常引起;中断返回也会导致跨区域转移。
技术领域
本申请涉及信息技术领域,特别涉及一种运行时隔离方法,以及一种运行时访问控制方法及计算装置。本案是针对申请号为:201910278179.X的母案,提出的分案申请。
背景技术
现有技术中,特别是现有操作系统和处理器体系架构技术中,对于内存及其使用的设计更多的考虑是紧凑、方便、高效,这样的设计使得各个功能的代码之间有着错综复杂的相互联系,数据几乎没有任何封装,或者仅在高级语言的语法编译阶段具有有限的封装,而在运行时实际上可以不受任何检查的随意访问。
具体的,对语法的检查只能保证源码中不包含语法所不允许的非法访问,但在运行时,攻击者有可能通过某种手段改变程序的执行序或者是数据访问对象,从而打破语法规则的封装。比如,C++语言规定了类中的私有成员不可被其他类对象访问,但是如果程序被攻击,攻击者在运行时改变了函数的转移目标,就可以打破这种保护。
特别是对于操作系统内核而言,现有技术的上述缺陷,实质上导致内核空间是平坦的,一旦攻击者借助如果攻击者借助用户态和内核态之间的数据传输,利用内核态代码在传输、处理数据中的设计缺陷,就能够用攻击者准备好的数据几乎任意修改内核的数据、代码,进而发起攻击。
其中最危险的是攻击导致超越授权,例如:
1、超越授权读取用户数据(包括内存和外设的数据)。
2、超越授权写入(包括篡改、删除)用户数据。
3、超越授权执行系统调用。
4、超越授权执行应用程序。
一旦攻击者完成了上述动作,同时由于现有操作系统中仅有极为有限的检查机制,攻击者实质上就获得了对计算机任意访问的权限。
特别是在硬件设计层面,没有从架构层面,在设计的初期就考虑安全问题,更加剧了信息安全风险。现有体系架构的实现,只考虑功能实现、效率提高等使用方面的问题,并没有从体系架构的设计基点开始就专门的考虑安全问题;即便有些设计,如特权级、分页等,客观上在一定程度上为计算的提供了安全保障,但其设计的出发点仍然是为了使用而非安全,这导致安全保障不成体系,进而不足以消除攻击成立所需的必要条件。在攻击条件下,仍然存在重大安全隐患。
发明内容
为了解决现有体系架构的设计初衷没有系统性的考虑安全的问题,本发明公开了一种安全装置,在设计基点上,就系统性的解决安全问题,同时优选的,公开一种保障装置,来保障即便在攻击状态下,安全装置也能保持有效。
进一步的,考虑到技术方案的可实施性,安全装置及保障装置的设计,也最大限度的与现有硬件体系流水线机制相配合,确保在解决安全问题的同时,不影响流水线的整体设计,进而保证执行效率。
一种装置,其特征在于:
包括安全装置,和/或,保障装置;
所述安全装置基于硬件针对内存区域进行访问控制;所述保障装置基于硬件确保只有在特定状态下才能设置使所述安全装置有效的控制状态数据和执行使所述安全装置有效的特定指令。
优选的,所述装置可以称为内存系统装置。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杨力祥,未经杨力祥许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110928253.5/2.html,转载请声明来源钻瓜专利网。