【技术实现步骤摘要】
用于内联元数据的数据重定位
[0001]本公开总体上涉及计算机系统的领域,更具体而言,涉及用于内联元数据的数据重定位。
技术介绍
[0002]存储器安全漏洞(例如,缓冲器溢出和释放后使用(UAF))占所有软件漏洞的绝大部分。归因于增加的指针大小、对带有较差局部性的表的依赖性和元数据重复,所提议的缓解方式具有高开销。例如,存储器标签技术是一种被设计为防止缓冲器溢流、溢出和UAF漏洞利用的存储器安全机制。典型地,该技术对于每个数据块使用重复存储器标签。例如,在使用16字节存储器块的系统中,1字节标签与每个存储器块关联。因此,16GB存储器分配可能简单地需要附加1GB以存储标签数据——导致归因于多次冗余存储器访问以检索标签元数据造成的数吉字节的浪费的存储器和性能影响。
附图说明
[0003]为了更完整地理解本公开及其特征和优点,结合附图参考以下描述,其中,相同的附图标记代表相同的部分,其中:
[0004]图1是根据本文描述的至少一个实施例的用于对于存储器分配执行安全检查的说明性系统的示意图;
[0005]图2是根据至少一个实施例的说明性编码指针架构的示意图;
[0006]图3是根据实施例的带有用于内联元数据的数据重定位的存储器分配和访问系统的示意性说明;
[0007]图4是示出根据实施例的用于存储器分配的示例指针编码和元数据的简化框图;
[0008]图5是表示根据实施例的用于图3所示的各种槽大小的可能元数据格式和存储位置的框图;
[0009]图6是根据实施例的 ...
【技术保护点】
【技术特征摘要】
1.一种装置,包括:处理器电路,以通信方式耦合到存储器电路,其中,所述处理器电路用于:接收与应用对应的、用于访问所述存储器电路的存储器分配中的地址范围的存储器访问请求;在所述存储器分配内定位元数据区域;以及响应于确定所述地址范围至少包括所述元数据区域的一部分:获得所述元数据区域中存储的第一元数据;使用所述第一元数据以确定重定位区域中的替选存储器地址;以及在所述替选存储器地址处,从所述存储器分配中的所述地址范围中所包括的所述元数据区域的所述一部分读取移置数据。2.如权利要求1所述的装置,其中,所述地址范围包括所述存储器分配的预期分配区域的一个或多个字节。3.如权利要求1所述的装置,其中,所述重定位区域位于所述存储器分配的结束部分处、所述存储器分配的起始部分处或所述存储器分配外部的所述存储器电路的区块中。4.如权利要求1所述的装置,其中,所述元数据区域中存储的所述第一元数据包括指示所述存储器分配的上边界的上边界信息或指示所述存储器分配的下边界的下边界信息。5.如权利要求4所述的装置,其中,所述重定位区域位于所述存储器分配内,并且与所述存储器分配的上边界或所述存储器分配的下边界之一对齐。6.如权利要求1所述的装置,其中,在所述存储器分配内定位所述元数据区域包括:基于与所述存储器访问请求关联的编码指针中的地址位、所述编码指针中的大小元数据和所述元数据区域的大小,确定所述元数据区域的第二存储器地址,其中,所述元数据区域被划分于所述存储器分配被分派给的所述存储器电路的槽的中点地址处。7.如权利要求6所述的装置,其中,所述编码指针中的大小元数据表示所述存储器分配被分派给的所述存储器电路的槽的2的幂大小。8.如权利要求1所述的装置,其中,所述第一元数据是以下之一:指示所述存储器分配的上边界的上边界信息;指示所述存储器分配的下边界的下边界信息;所述重定位区的从所述存储器分配被分派给的所述存储器电路的槽的中点地址的偏移;指向所述重定位区域的指针;或对所述重定位区域的索引。9.如权利要求1
‑
8中任一项所述的装置,其中,所述处理器电路还用于:响应于对基于第一分配大小分配所述存储器电路的存储器分配请求,执行包括以下的存储器分配操作:基于待在所述存储器分配的元数据区域中存储的元数据,将所述第一分配大小增加到增加的存储器分配大小;基于所述增加的存储器分配大小,获得所述存储器分配;以及在所述元数据区域中存储所述第一元数据。10.如权利要求9所述的装置,其中,所述处理器电路还用于:
接收与所述应用对应的、在所述存储器分配的地址范围中存储第一数据的存储器存储请求;至少标识待从所述元数据区域移置的所述第一数据的第一部分;以及在所述重定位区域中的所述替选存储器地址处存储所述第一数据的所述第一部分作为所述移置数据。11.如权利要求1
‑
8中任一项所述的装置,其中,所述处理器电路还用于:响应于对基于第一分配大小分配所述存储器电路的存储器分配请求,执行包括以下的存储器分配操作:基于所述第一分配大小获得所述存储器分配;获得所述存储器分配外部的所述重定位区域;生成指向所述重定位区域的重定向指针;以及在所述元数据区域中存储所述重定向指针。12.如权利要求11所述的装置,其中,所述处理器电路还用于:接收与所述应用对应的、在所述存储器分配的地址范围中存储第一数据的存储器存储请求;至少标识待从所述元数据区域移置的所述第一数据的第一部分;以及使用所述重定向指针以在所述重定位区域中的所述替选存储器地址处存储所述第一数据的所述第一部分作为所述移置数据。13.如权利要求1
‑
8中任一项所述的装置,其中,所述处理器电路还用于:响应于确定所述地址范围的起始存储器地址位于所述元数据区域之前,基于所述地址范围的起始存储器地址访问所述元数据区域之前的第二数据;以及通过至少串接所述移置数据和所述第二数据生成对应于所述地址范围的重组数据。14.如权利要求1
‑
8中任一项所述的装置,其中,所述存储器电路包括:元数据缓存,由元数据缓存集合索引进行索引;和数据缓存,由数据缓存集合索引进行索引,其中,所述处理器电路还用于:使用所述元数据缓存集合索引搜索所述元数据缓存...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。