System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 访存方法、处理装置和存储介质制造方法及图纸_技高网

访存方法、处理装置和存储介质制造方法及图纸

技术编号:41417832 阅读:4 留言:0更新日期:2024-05-21 20:50
本公开的实施例提供了一种访存方法、处理装置和存储介质。该访存方法包括:接收访存指令,其中,访存指令包括的访存地址指向内存空间中的目标地址,目标地址与第一内存标记具有映射关系;获取包括第一内存标记的第一内存标记信息;获取第一内存标记对应的第一标记宽度信息,根据第一标记宽度信息,从第一内存标记信息中提取至少部分数据位以得到第一内存标记;使用第一内存标记对于访存指令的执行进行验证。该访存方法改善了系统的安全性。

【技术实现步骤摘要】

本公开的实施例涉及一种访存方法、处理装置和存储介质


技术介绍

1、计算机系统的安全问题一直悬而未决。1988年计算机蠕虫病毒问世,自此以后,计算机系统的安全状况便一直停留在一个恶性循环中:防护者不断开发出针对漏洞的防护补丁,而攻击者却能不断找到新的系统漏洞。据调查,计算机漏洞中有超过七成为内存漏洞,所以这个恶性循环现象也被称为“内存战争”。这个过程中,形式多样的防护方案被不断提出,有一些被工业界采纳,譬如dep(nx/xd)、w⊕x、栈保护(stack canaries)、随机化(aslr,kaslr)以及最近的控制流完整性、内存屏障(memory barrier)等。

2、截至目前,上述每一个防护方案均能够被新的攻击方法攻破。这些新的攻击绕过防护方法的方式多种多样。有的通过特意的裁剪自己的攻击方法,从而绕过防护方案中特定的检查(比如,面向返回编程,return-oriented programming),有的则是利用之前未知的攻击方法(比如,row hammer)。尤其是在内存保护领域,传统防护方法中的w⊕x、随机化以及控制流完整性防护均已经被证明可以被绕过,譬如程序复用攻击(code reuse),基于数据的控制流攻击(control jujutsu)和越界读取导致的信息泄露(information leaks)攻击等。

3、这些新的攻击方法出现的根源所在,便是由于诸多现有的软件是由不安全的开发语言(如c/c++)开发,而硬件对程序编写者的信任程度一直停留在计算机创造初期时代--即相信程序员是专业的不会犯错误。但随着软件系统的不断增大,编程错误已被实践证明是不可避免的。传统处理器设计中对内存内容的无差别设计使得硬件本身对编程者的编程错误没有任何容忍度。

4、另一方面,虽然仅仅基于现有的硬件可以开发出一定的安全防护功能,避免或者检测出程序错误。但是这些方案已经被证明是无法高效地应用到这些计算机系统当中的,譬如,软件实现的完整的内存安全方案会引起计算机系统超过100%的性能损失。如此高的性能损失使得纯软件的安全防护很少落地到广泛的应用当中。

5、因此,现在越来越多的安全工作将重心转移到了硬件方面,因为硬件实现的安全功能在性能损失方面是很低的,甚至接近于0。同时,传统处理器设计中对内存内容的无差别设计导致了很多诸如内存安全漏洞频出、高性能优化困难等问题也可以在一定程度上被弥补。尤其是标记内存的提出,可以通过内存元数据(metadata)的管理,有效辅助处理器智能识别内存中不同类型的存储内容,从而做出不同处理。如果经过合理的标记架构的系统设计,诸如堆栈溢出(空间安全)、悬空指针复用(时间安全)、控制流攻击、信息流泄露等问题,均能起到一定的防护作用。


技术实现思路

1、本公开的至少一个实施例提供了一种访存指令的访存方法,该访存方法包括:接收访存指令,其中,所述访存指令包括的访存地址指向内存空间中的目标地址,所述目标地址与第一内存标记具有映射关系;获取包括所述第一内存标记的第一内存标记信息;获取所述第一内存标记对应的第一标记宽度信息,根据所述第一标记宽度信息,从所述第一内存标记信息中提取至少部分数据位以得到所述第一内存标记;使用所述第一内存标记对于所述访存指令的执行进行验证。

2、本公开的至少一个实施例提供了一种处理装置,该处理装置包括:接收单元,配置为接收访存指令,其中,所述访存指令包括的访存地址指向内存空间中的目标地址,所述目标地址与第一内存标记具有映射关系;第一获取单元,配置为获取包括所述第一内存标记的第一内存标记信息;第二获取单元,配置为获取所述第一内存标记对应的第一标记宽度信息,根据所述第一标记宽度信息,从所述第一内存标记信息中提取至少部分数据位以得到所述第一内存标记;验证单元,配置为使用所述第一内存标记对于所述访存指令的执行进行验证。

3、本公开的至少一个实施例提供了一种处理装置,该处理装置包括:处理单元和存储器,在所述存储器上存储有一个或多个计算机程序模块;其中,所述一个或多个计算机程序模块被配置为由所述处理单元执行时实现上述实施例所述的访存方法。

4、本公开的至少一个实施例提供了一种非瞬时可读存储介质,其中,所述非瞬时可读存储介质上存储有计算机指令,其中,所述计算机指令被处理器执行时实现上述实施例所述的访存方法。

5、本专利技术实施例的基于内存标记的安全方案相对于纯软件方案的效率更高,安全性更好。

本文档来自技高网...

【技术保护点】

1.一种访存指令的访存方法,包括:

2.根据权利要求1所述的访存方法,其中,所述访存地址包括第二内存标记信息,

3.根据权利要求1所述的访存方法,还包括:

4.根据权利要求3所述的访存方法,其中,从所述第二内存标记信息获取第二内存标记,包括:

5.根据权利要求4所述的访存方法,其中,获取所述第一内存标记对应的第一标记宽度信息或所述第二内存标记对应的第二标记宽度信息,包括:

6.根据权利要求5所述的访存方法,其中,所述标记存储位置位于所述内存空间中被选择专用于存储内存标记信息的存储页、存储段,或者位于独立于所述内存空间的存储装置。

7.根据权利要求4所述的访存方法,其中,获取所述第一内存标记对应的第一标记宽度信息或所述第二内存标记对应的第二标记宽度信息,包括:

8.根据权利要求4所述的访存方法,其中,获取所述第一内存标记对应的第一标记宽度信息或所述第二内存标记对应的第二标记宽度信息,包括:

9.根据权利要求4所述的访存方法,其中,获取所述第一内存标记对应的第一标记宽度信息或所述第二内存标记对应的第二标记宽度信息,包括:

10.根据权利要求5、7-8任一所述的访存方法,其中,在获取所述第一内存标记对应的第一标记宽度信息或所述第二内存标记对应的第二标记宽度信息的同时获取所述内存空间中的标记内存粒度信息。

11.根据权利要求10所述的访存方法,其中,所述标记宽度信息和所述标记内存粒度信息一体存储。

12.根据权利要求3所述的访存方法,其中,所述第一内存标记信息还包括指示所述第一内存标记为针对指令的第一类型信息,所述第二内存标记信息还包括指示所述第二内存标记为针对数据的第二类型信息。

13.根据权利要求3-12任一所述的访存方法,其中,比较所述第一内存标记和所述第二内存标记,以确定所述第一内存标记和所述第二内存标记是否匹配,包括:

14.根据权利要求13所述的访存方法,其中,对应于所述第一内存标记和所述第二内存标记是否位于同一取值范围的情形,

15.根据权利要求1所述的访存方法,其中,获取包括所述第一内存标记的第一内存标记信息,包括:

16.一种处理装置,包括:

17.根据权利要求16所述的处理装置,其中,所述访存地址包括第二内存标记信息,所述处理装置还包括:

18.根据权利要求16所述的处理装置,还包括:

19.根据权利要求18所述的处理装置,其中,所述第四获取单元进一步配置为:获取所述第二内存标记对应的第二标记宽度信息,根据所述第二标记宽度信息,从所述第二内存标记信息中提取至少部分数据位以得到所述第二内存标记,或者,根据所述第一标记宽度信息,从所述第二内存标记信息中提取至少部分数据位以得到所述第二内存标记。

20.一种处理装置,包括:

21.一种非瞬时可读存储介质,其中,所述非瞬时可读存储介质上存储有计算机指令,其中,所述计算机指令被处理器执行时实现如权利要求1-15中任一所述的访存方法。

...

【技术特征摘要】

1.一种访存指令的访存方法,包括:

2.根据权利要求1所述的访存方法,其中,所述访存地址包括第二内存标记信息,

3.根据权利要求1所述的访存方法,还包括:

4.根据权利要求3所述的访存方法,其中,从所述第二内存标记信息获取第二内存标记,包括:

5.根据权利要求4所述的访存方法,其中,获取所述第一内存标记对应的第一标记宽度信息或所述第二内存标记对应的第二标记宽度信息,包括:

6.根据权利要求5所述的访存方法,其中,所述标记存储位置位于所述内存空间中被选择专用于存储内存标记信息的存储页、存储段,或者位于独立于所述内存空间的存储装置。

7.根据权利要求4所述的访存方法,其中,获取所述第一内存标记对应的第一标记宽度信息或所述第二内存标记对应的第二标记宽度信息,包括:

8.根据权利要求4所述的访存方法,其中,获取所述第一内存标记对应的第一标记宽度信息或所述第二内存标记对应的第二标记宽度信息,包括:

9.根据权利要求4所述的访存方法,其中,获取所述第一内存标记对应的第一标记宽度信息或所述第二内存标记对应的第二标记宽度信息,包括:

10.根据权利要求5、7-8任一所述的访存方法,其中,在获取所述第一内存标记对应的第一标记宽度信息或所述第二内存标记对应的第二标记宽度信息的同时获取所述内存空间中的标记内存粒度信息。

11.根据权利要求10所述的访存方法,其中,所述标记宽度信息和所述标记内存粒度信息一体存储。

【专利技术属性】
技术研发人员:马乐乐
申请(专利权)人:北京奕斯伟计算技术股份有限公司
类型:发明
国别省市:

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

1