System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 内存访问方法、电子设备及存储介质技术_技高网

内存访问方法、电子设备及存储介质技术

技术编号:40077361 阅读:16 留言:0更新日期:2024-01-17 01:41
本申请提供一种内存访问方法、电子设备及存储介质,该方法包括:合并源程序中的多个漏洞检测指令,所述多个漏洞检测指令为对多个访问指令进行检测的指令,所述多个访问指令为对同一目标内存进行访问的指令,所述同一目标内存为具有同一内存地址或同一段内存地址的内存;确定合并指令的插入位置,所述合并指令为合并所述多个漏洞检测指令后的指令;在所述合并指令的插入位置上插入所述合并指令,以获得目标程序。本申请提供的方法,有助于提高在内存访问时的性能。

【技术实现步骤摘要】

本申请涉及计算机安全领域,尤其涉及一种内存访问方法、电子设备及存储介质


技术介绍

1、在计算机安全领域存在着内存安全问题,其中,多数的内存安全问题是由于内存溢出或释放后重用引起的。针对这一问题,近年来出现了大量的内存安全实时检测方案,分别从硬件或软件层面对内存边界进行维护,并实时检查内存是否溢出或者触发释放后重用。

2、在上述安全检测方法的实现过程中,普遍存在的是需要一种元数据支持。例如,有些元数据需要单独存放,有些元数据需要被编码在内存地址中。在程序运行时,均需要对元数据进行提取,并结合需要访问的内存地址,判断该地址是否和对应元数据中的范围一致。若不一致,则根据具体判定报告安全问题。

3、然而,上述这些安全检测方法均存在如下问题:在进行内存安全检测的过程中,需要对所有内存读写进行监控,并在此之上进行内存安全检测。这种全内存读写的安全检测需要频繁访问或复制元数据,并且会插入大量的检测指令,访问元数据越频繁,漏洞检查越多,带来的性能开销越大。


技术实现思路

1、本申请提供了一种内存访问方法、电子设备及存储介质,有助于提高在内存访问时的性能。

2、第一方面,本申请提供了一种内存访问方法,包括:

3、合并源程序中的多个漏洞检测指令,所述多个漏洞检测指令为对多个访问指令进行检测的指令,所述多个访问指令为对同一目标内存进行访问的指令,所述同一目标内存为具有同一内存地址或同一段内存地址的内存;

4、确定合并指令的插入位置,所述合并指令为合并所述多个漏洞检测指令后的指令;

5、在所述合并指令的插入位置上插入所述合并指令,以获得目标程序。

6、本申请中,通过合并多个漏洞检测指令,以减少漏洞检测的操作,由此可以降低在内存安全检测过程中的性能开销。

7、其中一种可能的实现方式中,所述合并源程序中的多个漏洞检测指令包括:

8、分析所述源程序中的控制流信息,识别团状形式指令;

9、基于所述团状形式指令进行指令合并,以获得所述合并指令。

10、其中一种可能的实现方式中,所述合并指令的插入位置由所述多个访问指令之间的支配信息确定。

11、其中一种可能的实现方式中,所述目标程序还包括元数据存取指令,所述元数据存取指令用于在加载元数据后进行复用。

12、其中一种可能的实现方式中,所述元数据存取指令由所述源程序中的数据流信息确定。

13、其中一种可能的实现方式中,所述元数据存取指令的插入位置由所述多个访问指令之间的支配信息确定。

14、第二方面,本申请提供了一种内存访问装置,包括一个或多个功能模块,所述一个或多个功能模块用于实现如第一方面所述的内存访问方法。

15、第三方面,本申请提供了一种电子设备,包括:处理器和存储器,所述存储器用于存储计算机程序;所述处理器用于运行所述计算机程序,实现如第一方面所述的内存访问方法。

16、第四方面,本申请提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机实现如第一方面所述的内存访问方法。

17、第五方面,本申请提供一种计算机程序,当上述计算机程序在电子设备的处理器上运行时,使得所述电子设备执行第一方面所述的内存访问方法。

18、在一种可能的设计中,第五方面中的程序可以全部或者部分存储在与处理器封装在一起的存储介质上,也可以部分或者全部存储在不与处理器封装在一起的存储器上

本文档来自技高网...

【技术保护点】

1.一种内存访问方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述合并源程序中的多个漏洞检测指令包括:

3.根据权利要求1或2所述的方法,其特征在于,所述合并指令的插入位置由所述多个访问指令之间的支配信息确定。

4.根据权利要求1所述的方法,其特征在于,所述目标程序还包括元数据存取指令,所述元数据存取指令用于在加载元数据后进行复用。

5.根据权利要求4所述的方法,其特征在于,所述元数据存取指令由所述源程序中的数据流信息确定。

6.根据权利要求4或5所述的方法,其特征在于,所述元数据存取指令的插入位置由所述多个访问指令之间的支配信息确定。

7.一种电子设备,其特征在于,包括:处理器和存储器,所述存储器用于存储计算机程序;所述处理器用于运行所述计算机程序,实现如权利要求1-6任一项所述的内存访问方法。

8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,当所述计算机程序在计算机上运行时,实现如权利要求1-6任一所述的内存访问方法。

【技术特征摘要】

1.一种内存访问方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述合并源程序中的多个漏洞检测指令包括:

3.根据权利要求1或2所述的方法,其特征在于,所述合并指令的插入位置由所述多个访问指令之间的支配信息确定。

4.根据权利要求1所述的方法,其特征在于,所述目标程序还包括元数据存取指令,所述元数据存取指令用于在加载元数据后进行复用。

5.根据权利要求4所述的方法,其特征在于,所述元数据存取指令由所述源程序中的...

【专利技术属性】
技术研发人员:张英骏祝世豪蔡彦李坤吴炜朱晓冉
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1