【技术实现步骤摘要】
【国外来华专利技术】在硬件管理的堆栈架构中受调用者保护的堆栈返回地址
技术介绍
一个或多个方面总体上涉及计算环境内的处理,并且特别的涉及保护计算环境的数据保护。计算机程序的损坏可能以多种形式发生。一种这样的形式是数据覆盖导致程序执行意外任务或返回到意外地址。这种损坏可能是无恶意的或有恶意的。作为特定示例,损坏可能出现在计算机程序使用的调用堆栈(也称为堆栈)中,以存储关于计算机程序的活跃的子例程的信息。例如,堆栈被用来跟踪活跃的子例程应该在该例程完成运行时返回的控制点(即返回地址)。活跃的子例程是一个已被调用但尚未完成运行的子例程。子例程的这种激活可以嵌套到任何级别(作为特殊情况递归),因此是堆栈结构。通过覆盖返回地址,堆栈可能会被破坏,从而使被调用的子例程返回到意外的位置。再一次,返回地址的覆盖可能是无恶意的或有恶意的,但无论如何,都要被检测和计划,使得程序或其他数据不被损坏。
技术实现思路
通过提供用于检测计算环境的堆栈的损坏的计算机程序产品来克服现有技术的缺点并提供附加的优点。该计算机程序产品包括计算机可读存储介质,该计算机可读存储介质可由处理电路读取并存储供处理电路运行以执行方法的指令。该方法例如包括通过在计算环境的处理器上运行的被调用例程来检查由调用例程提供的防护字,调用例程已经调用了被调用例程,并且防护字被存储在调用例程的堆栈中,并通过硬件指令保护直接存储在堆栈中的返回地址;基于所述检查确定所述防护字是否具有期望值;并且基于确定防护字具有意外值,提供堆栈损坏的指示。这使调用者能够提供一个或多个被调用者检查的一个防护字。在一个实施例中,至少检查和确定是通过被调用例程发出的指令来 ...
【技术保护点】
1.一种用于检测计算环境的堆栈的损坏的计算机程序产品,所述计算机程序产品包括:计算机可读存储介质,所述计算机可读存储介质可由处理电路读取并存储用于由所述处理电路运行的方法的指令,以执行方法包括:由被调用例程在计算环境的处理器上运行,检查由调用例程提供的防护字,调用例程调用了被调用例程,并且防护字被存储在调用例程的堆栈中并且保护通过硬件指令直接存储到堆栈中的返回地址;基于所述检查确定所述防护字是否具有期望值;和基于确定防护字具有意外值,提供堆栈损坏的指示。
【技术特征摘要】
【国外来华专利技术】2016.01.06 US 14/989,3971.一种用于检测计算环境的堆栈的损坏的计算机程序产品,所述计算机程序产品包括:计算机可读存储介质,所述计算机可读存储介质可由处理电路读取并存储用于由所述处理电路运行的方法的指令,以执行方法包括:由被调用例程在计算环境的处理器上运行,检查由调用例程提供的防护字,调用例程调用了被调用例程,并且防护字被存储在调用例程的堆栈中并且保护通过硬件指令直接存储到堆栈中的返回地址;基于所述检查确定所述防护字是否具有期望值;和基于确定防护字具有意外值,提供堆栈损坏的指示。2.如权利要求1所述的计算机程序产品,其中至少所述检查和所述确定是通过由所述被调用例程发布的指令来执行的。3.如权利要求2所述的计算机程序产品,其中所述方法还包括运行所述指令,所述运行包括:从堆栈中获得防护字;移动堆栈的堆栈指针,使得防护字不再出现在堆栈上;和执行确定,检查和提供指示中的一个或多个。4.如权利要求3所述的计算机程序产品,其中所述运行还包括:确定调用例程是否支持使用防护字来保护返回地址;和基于确定调用例程支持使用防护字,执行获得,移动和执行。5.根据权利要求1所述的计算机程序产品,其中所述防护字是使用指定防护字地址的存储防护字指令提供的。6.如权利要求1所述的计算机程序产品,其中所述方法进一步包括:使用存储防护字指令提供防护字;和设置一个指示器来指示调用例程支持使用防护字来保护返回地址。7.如权利要求1所述的计算机程序产品,其中所述方法还包括:确定调用例程和被调用例程是否支持使用防护字来保护返回地址;和基于确定调用例程和被调用例程支持使用防护字来保护返回地址,执行检查,确定和提供指示中的一个或多个。8.如权利要求7所述的计算机程序,其中,所述方法还包括基于确定调用例程和被调用例程的至少一个例程不支持使用防护字来保护返回地址,在检查之前终止处理。9.如权利要求7所述的计算机程序产品,其中确定调用例程和被调用例程是否支持使用防护字来保护返回地址包括检查至少一个指示符。10.如权利要求9所述的计算机程序产品,其中,所述至少一个指示符被存储在指示符的向量中。11.一种用于检测计算环境的堆栈的损坏的计算机系统,所述计算机系统包括:存储器;和与所述存储器通信的处理器,其中所述计算机系统被配置为执行一种方法,所述方法包括:由被调用例程在计算环境的处理...
【专利技术属性】
技术研发人员:MK格施温德,K杜瓦尔圣,V萨拉普拉,
申请(专利权)人:国际商业机器公司,
类型:发明
国别省市:美国,US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。