[发明专利]检测计算环境的堆栈的损坏的方法、系统和计算机程序产品有效
| 申请号: | 201680076585.2 | 申请日: | 2016-12-23 |
| 公开(公告)号: | CN108475223B | 公开(公告)日: | 2021-04-20 |
| 发明(设计)人: | M.K.格施温德;K.杜瓦尔圣;V.萨拉普拉 | 申请(专利权)人: | 国际商业机器公司 |
| 主分类号: | G06F11/00 | 分类号: | G06F11/00;G06F21/52 |
| 代理公司: | 北京市柳沈律师事务所 11105 | 代理人: | 王珊珊 |
| 地址: | 美国纽*** | 国省代码: | 暂无信息 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 检测 计算 环境 堆栈 损坏 方法 系统 计算机 程序 产品 | ||
通过使用放置在程序堆栈中的防护字来检测程序堆栈的损坏。在处理器上运行的被调用例程检查调用例程堆栈中的防护字。检查确定防护字是否具有预期值。基于确定防护字具有意外值,提供堆栈损坏的指示。然而,一些例程可能不支持使用防护字。因此,相互关联的例程可能具有不同的保护能力。确定不同的保护能力,提供相同的指示,并且由于不同的保护能力而运行例程而不失败。
背景技术
一个或多个方面总体上涉及计算环境内的处理,并且特别的涉及保护计算环境的数据保护。
计算机程序的损坏可能以多种形式发生。一种这样的形式是数据覆盖导致程序执行意外任务或返回到意外地址。这种损坏可能是无恶意的或有恶意的。作为特定示例,损坏可能出现在计算机程序使用的调用堆栈(也称为堆栈)中,以存储关于计算机程序的活跃的子例程的信息。例如,堆栈被用来跟踪活跃的子例程应该在该例程完成运行时返回的控制点(即返回地址)。活跃的子例程是一个已被调用但尚未完成运行的子例程。子例程的这种激活可以嵌套到任何级别(作为特殊情况递归),因此是堆栈结构。通过覆盖返回地址,堆栈可能会被破坏,从而使被调用的子例程返回到意外的位置。
再一次,返回地址的覆盖可能是无恶意的或有恶意的,但无论如何,都要被检测和计划,使得程序或其他数据不被损坏。
发明内容
通过提供用于检测计算环境的堆栈的损坏的计算机程序产品来克服现有技术的缺点并提供附加的优点。该计算机程序产品包括计算机可读存储介质,该计算机可读存储介质可由处理电路读取并存储供处理电路运行以执行方法的指令。该方法例如包括通过在计算环境的处理器上运行的被调用例程来检查由调用例程提供的防护字,调用例程已经调用了被调用例程,并且防护字被存储在调用例程的堆栈中,并通过硬件指令保护直接存储在堆栈中的返回地址;基于所述检查确定所述防护字是否具有期望值;并且基于确定防护字具有意外值,提供堆栈损坏的指示。这使调用者能够提供一个或多个被调用者检查的一个防护字。
在一个实施例中,至少检查和确定是通过被调用例程发出的指令来执行的。作为一个例子,该指令被运行,并且该运行包括从该堆栈获得该防护字;移动堆栈的堆栈指针,使得防护字不再出现在堆栈上;以及执行一个或多个确定,检查和提供指示。
在进一步的示例中,运行包括确定调用例程是否支持使用防护字来保护返回地址;并且基于确定调用例程支持使用防护字,执行获得,移动和执行。
作为示例,使用指定防护字地址的存储防护字指令来提供防护字。在一个方面,指示符被设置为指示调用例程支持使用防护字来保护返回地址。
在另一方面,确定调用例程和被调用例程是否支持使用防护字来保护返回地址。基于确定调用例程和被调用例程支持使用防护字来保护返回地址,执行一个或多个检查,确定和提供指示。
在一个示例中,基于确定调用例程和被调用例程的至少一个例程不支持使用防护字来保护返回地址,在检查之前终止处理。这可能会提高系统性能。
在一个方面中,确定调用例程和被调用例程是否支持使用防护字来保护返回地址包括检查至少一个指示符。作为一个例子,至少一个指示符被存储在指示符向量中。
与一个或多个方面有关的计算机实现的方法和系统也在本文中描述和要求保护。此外,与一个或多个方面有关的服务也被描述并且可以在此要求保护。
通过本文描述的技术实现附加的特征和优点。其他实施例和方面在本文中详细描述并且被认为是所要求保护的方面的一部分。
附图说明
在说明书结尾处的权利要求书中特别指出并明确要求一个或多个方面作为示例。根据以下结合附图的详细描述,一个或多个方面的上述和目的,特征和优点是显而易见的,其中:
图1描绘了并入和/或使用本发明的一个或多个方面的计算环境的计算机系统/服务器的一个示例。
图2A描绘了并入和/或使用本发明的一个或多个方面的计算环境的另一示例。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201680076585.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:车载更新装置、更新系统及更新处理程序
- 下一篇:车载用控制系统





