[发明专利]一种实现压栈和弹栈的方法和装置有效

专利信息
申请号: 201610012520.3 申请日: 2016-01-08
公开(公告)号: CN105700851B 公开(公告)日: 2018-06-01
发明(设计)人: 肖洪琨;熊燕萍 申请(专利权)人: 大唐微电子技术有限公司;大唐半导体设计有限公司
主分类号: G06F9/30 分类号: G06F9/30
代理公司: 北京安信方达知识产权代理有限公司 11262 代理人: 韩辉峰;李丹
地址: 100094*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 校验 对象引用 弹栈 方法和装置 压栈指令 压栈 读取 指令 返回 合并 写入 攻击
【说明书】:

发明公开了一种实现压栈和弹栈的方法和装置,包括:接收到压栈指令push Reference时,根据压栈指令push Reference中的第一对象引用计算第一校验值,对第一校验值和第一对象引用进行合并,将合并后的数据按序写入到栈中;接收到弹栈指令pop Reference时,按照先进后出的原则从栈中读取数据,获取读取的数据中的第二校验值和第二对象引用,根据获得的第二对象引用计算第三校验值,判断出计算得到的第三校验值和获得的第二校验值相同,返回获得的第二对象引用。通过本发明的方案,接收到弹栈指令pop Reference时,通过比较第二校验值和第三校验值,在第二校验值和第三校验值相同时才返回第二对象引用,从而攻击者无法使用push short或push int来对对象引用对应的对象的内容进行操作,提高了安全性。

技术领域

本发明涉及堆栈技术,尤指一种实现压栈和弹栈的方法和装置。

背景技术

堆栈是一种将数据按序排列的数据结构,主要用于存放函数的参数值、或局部变量的值等。数据通过压栈操作存储数据,通过弹栈操作读取数据,保证数据的先进后出原则。

现有的实现压栈和弹栈的方法大致包括:接收到压栈指令push Reference 时,将压栈指令push Reference中的对象引用按序写入到栈中,接收到弹栈指令pop Reference时,按照先进后出的原则从栈中读取对象引用。

接收到压栈指令push short(或压栈指令push int)时,将压栈指令push short中的数据按序写入到栈中,接收到弹栈指令pop short(或弹栈指令pop int)时,按照先进后出的原则从栈中读取数据。

push short和pop short一般成对使用,push Reference和pop Reference 一般成对使用,在JAVA虚拟机中存在_bspush、_sspush等命令可以通过简单的处理直接调用push short进行压栈,而push Reference和pop Reference 为内部指令,一般在系统进行对象传递或对象创建等过程中由系统内部使用。

现有的实现压栈和弹栈的方法中,由于push short和push Reference在进行压栈和弹栈的过程相同,因此,攻击者往往使用push short代替push Reference来压入某一个对象引用,从而对对象引用对应的对象的内容进行操作,容易造成系统数据的泄露,安全性较低。

发明内容

为了解决上述问题,本发明提出了一种实现压栈和弹栈的方法和装置,能够提高安全性。

为了达到上述目的,本发明提出了一种实现压栈和弹栈的方法,包括:

接收到压栈指令push Reference时,根据压栈指令push Reference中的第一对象引用计算第一校验值,对第一校验值和第一对象引用进行合并,将合并后的数据按序写入到栈中;

接收到弹栈指令pop Reference时,按照先进后出的原则从栈中读取数据,获取读取的数据中的第二校验值和第二对象引用,根据获得的第二对象引用计算第三校验值,判断出计算得到的第三校验值和获得的第二校验值相同,返回获得的第二对象引用。

优选地,当判断出所述第三校验值和所述第二校验值不相同时,该方法还包括:抛出异常。

优选地,当接收到压栈指令push short或push int时,该方法还包括:

将接收到的压栈指令push short或push int中的数据按序写入到所述栈中。

优选地,所述根据压栈指令push Reference中的第一对象引用计算第一校验值包括:

将所述第一对象引用进行按位取反得到所述第一校验值;

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于大唐微电子技术有限公司;大唐半导体设计有限公司,未经大唐微电子技术有限公司;大唐半导体设计有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201610012520.3/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top