[发明专利]用于控制对有界指针的使用的装置和方法在审
申请号: | 201980042614.7 | 申请日: | 2019-07-05 |
公开(公告)号: | CN112334884A | 公开(公告)日: | 2021-02-05 |
发明(设计)人: | 鲁本·鲍里索维奇·艾拉佩蒂安;凯文·布罗德斯基;布拉尼斯拉夫·兰科夫 | 申请(专利权)人: | ARM有限公司 |
主分类号: | G06F12/02 | 分类号: | G06F12/02 |
代理公司: | 北京东方亿思知识产权代理有限责任公司 11258 | 代理人: | 陈蒙 |
地址: | 英国*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 控制 指针 使用 装置 方法 | ||
提供了用于控制对有界指针得使用的装置和方法。该装置具有:存储器分配电路,用于分配存储器中的存储器区域;以及有界指针生成电路,用于生成有界指针,这些有界指针至少包括用于访问存储器区域的可撤销有界指针。该可撤销有界指针提供指针值以及标识该存储器区域的地址范围的范围信息。该存储器分配电路被布置为在存储器中的头部位置处提供存储器区域的头部,该头部具有第一令牌字段,其被初始化为与存储器区域相关联的第一令牌值。该头部位置从可撤销有界指针所提供的范围信息中导出。存储器分配电路响应于存储器区域的解除分配,修改头部的第一令牌字段中的存储值。作为上述步骤的结果,响应于对使用可撤销有界指针来生成存储器地址的请求,使用认证检查可以被布置为在确定第一令牌字段中的存储值已被改变时,防止生成存储器地址。这提供了一种用于试图防止释放后使用场景的强健机制,在释放后使用场景中,在相关联的存储器区域被解除分配之后尝试使用有界指针。
技术领域
本技术涉及数据处理的领域。
背景技术
一些数据处理装置可以支持有界指针,其中,指示特定地址的指针与指示该指针的允许地址范围的范围信息相关联。例如,这样的指针可以被称为“胖指针”。
除了范围信息之外,这样的有界指针还可以具有其他相关联的属性,其定义对指针的使用的一个或多个限制/许可。因此,通过对如何使用由边界指针指定的指针值施加约束,使用此类有界指针可以提供强大的安全性。
当在存储器中分配存储器区域时,例如,以使得该存储器区域能够被特定处理使用,可以建立一个或多个有界指针以与所分配的存储器区域关联使用。这样的有界指针可以包括范围信息,其标识所分配的存储器区域的地址范围。当处理试图使用有界指针生成存储器储器地址时,它将被限制为仅生成落入所分配的存储器区域的地址范围内的存储器地址。
可能出现的问题是,当稍后解除分配存储器区域时,释放了该存储器空间以用于重新分配,有界指针可能仍可用于处理电路。在相关联的存储器区域已被解除分配之后对这种有界指针的潜在使用被称为“释放后使用(use-after-free)”问题。具体地,如果由于编程错误而发生在解除分配相关联的存储器区域之后使用有界指针,则可能引起软件的未定义行为。此外,当有界指针的这种使用作为由安全攻击者有意引起的动作而发生时,这可能潜在地导致信息的安全性泄漏、和/或远程代码执行。
因此,期望提供一种减轻释放后使用问题的技术。
发明内容
在一个示例配置中,提供了一种装置,包括:存储器分配电路,用于分配存储器中的存储器区域;以及有界指针生成电路,用于生成有界指针,该有界指针至少包括用于访问存储器区域的可撤销有界指针,该可撤销有界指针提供指针值以及标识该存储器区域的地址范围的范围信息;其中,该存储器分配电路被布置为在存储器中的头部位置处提供存储器区域的头部,该头部具有第一令牌字段,该第一令牌字段的存储值被初始化为与存储器区域相关联的第一令牌值,该头部位置是从可撤销有界指针所提供的范围信息中导出的,并且其中,存储器分配电路响应于存储器区域的后续解除分配,来修改头部的第一令牌字段中的存储值;并且响应于对使用可撤销有界指针来生成存储器地址的请求,使用认证检查被布置为在确定第一令牌字段中的存储值已被改变时,防止生成存储器地址。
在另一示例配置中,提供了一种控制在装置中对有界指针的使用的方法,该装置具有用于分配存储器中的存储器区域的存储器分配电路,以及用于生成有界指针的有界指针生成电路,该方法包括:布置该有界指针生成电路来至少生成用于访问存储器区域的可撤销有界指针,该可撤销有界指针提供指针值以及标识该存储器区域的地址范围的范围信息;在存储器中的头部位置处提供存储器区域的头部,该头部具有第一令牌字段,该第一令牌字段的存储值被初始化为与存储器区域相关联的第一令牌值,该头部位置是从可撤销有界指针所提供的范围信息中导出的;使得存储器分配电路响应于存储器区域的后续解除分配,来修改头部的第一令牌字段中的存储值;以及响应于对使用可撤销有界指针来生成存储器地址的请求,使得使用认证检查在确定第一令牌字段中的存储值已被改变时,防止生成存储器地址。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于ARM有限公司,未经ARM有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201980042614.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:用于在马达起动期间冷却马达的方法和系统
- 下一篇:用于压缩机的多级谐振器