[发明专利]一种JAVA卡帧的边界检查方法在审

专利信息
申请号: 201611186553.6 申请日: 2016-12-20
公开(公告)号: CN106845225A 公开(公告)日: 2017-06-13
发明(设计)人: 曾林;仲倩黎 申请(专利权)人: 北京中电华大电子设计有限责任公司
主分类号: G06F21/56 分类号: G06F21/56;G06F9/455
代理公司: 暂无信息 代理人: 暂无信息
地址: 102209 北京市昌平区北七家镇未*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 java 边界 检查 方法
【说明书】:

技术领域

发明涉及智能卡技术领域,尤其涉及一种JAVA卡帧的边界检查方法。

背景技术

随着电子政务和电子商务的发展,Java卡的应用越来越广泛,为解决用户对一卡多用的需要,目前多应用的Java卡越来越普遍,而应用之间的安全问题也日益重要。

现有的攻击手段中可通过激光攻击java卡的存储介质或者下载恶意Applet应用等方式,修改java方法的局部变量索引或者增减弹栈压栈操作,对方法帧的操作数栈和局部变量区进行越界访问,非法获取卡的存储数据。Java卡需要提供一种帧的边界检查方法,识别针对Java虚拟机的越界访问,即保证应用不能访问权限之外的栈数据。

发明内容

为了解决Java卡平台现有技术中存在的上述问题,本发明提供了一种JAVA卡帧的边界检查方法。

本发明采取的技术方案如下:

一种JAVA卡帧的边界检查方法,包括如下步骤:

步骤S1:Java卡虚拟机执行应用的Java方法时,建立一个方法帧,并压入栈,记录方法帧的起始地址。同时记录两个范围:合法操作数范围和合法局部变量索引范围。

步骤S2:所述Java卡虚拟机执行所述所述Java方法的字节码时如需访问栈数据,获取需要访问的栈数据类型。

步骤S3:根据所述数据类型;如果当前操作数据是局部变量,则执行步骤A1;如果当前操作数据是操作数,则执行步骤B1。

步骤A1:判断局部变量索引是否在合法局部变量索引范围内,是则执行步骤S4,否则抛出异常。

步骤B1:判断操作数地址是否在合法操作数范围内,是则执行步骤S4,否则抛出异常。

步骤S4:Java卡虚拟机执行当前字节码。

进一步的,所述的记录两个范围,其特征是:所述Java卡虚拟机解析所述应用的Java方法的method_header_info数据结构中的max_stack,max_locals,nargs信息结合所述方法帧的起始地址信息。使用0作为合法局部变量索引范围的下边界;使用方法帧下边界加上(max_locals+nargs-1)作为合法局部变量索引范围的上边界;使用方法帧起始地址+((max_locals+nargs)*2)作为合法操作数范围的下边界;使用合法操作数范围的下边界加上(max_stack*2)作为合法操作数范围的上边界。

本发明的有益效果在于:本发明实现了Java卡的多应用安全管理,尤其是通过边界检查的方法控制栈帧数据的访问,提高了多应用共存的安全性。

附图说明

图1是一个Java方法在java卡虚拟机上的执行流程图。

图2是合法操作数范围和合法局部变量索引范围的位置示意图。

图3是以sstore_2字节码为示例的执行流程图。

具体实施方式

下面将结合附图和具体实施例对本发明做进一步的说明。

图1指出了一个java方法在java卡虚拟机上的执行流程。Java卡虚拟机执行该方法时,会为其建立一个方法帧,并压入栈,记录方法帧的起始地址。同时记录两个范围:合法操作数范围和合法局部变量索引范围。然后依次执行java方法中的字节码。直至java方法执行结束,方法帧弹出栈。

图2指出了合法操作数范围和合法局部变量索引范围的位置示意图。从方法帧的起始地址开始,是局部变量区。因此合法局部变量范围为方法帧起始地址到((max_locals+nargs)*2)。则合法局部变量索引范围为0到(max_locals+nargs-1)。局部变量区上方是操作数区。因此合法操作数范围为(方法帧起始地址+((max_locals+nargs)*2))到(方法帧起始地址+(max_locals+nargs)*2+max_stack*2)。

图3是上述Java方法中sstore_2字节码的执行流程图。检查字节码所要写入索引为2的局部变量是否在合法局部变量索引范围内,在则继续执行,不在则抛出异常结束。从帧中将两个字节数据弹栈,并将帧顶指针减2存储。检查帧顶指针是否在合法操作数范围内,在则继续执行,不在则抛出异常结束。将两个字节数据写入到局部变量中。

显然,本领域的技术人员可以对本发明进行各种改动和变形而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变形属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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