欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種JAVA卡幀的邊界檢查方法與流程

文檔序號:12669977閱讀:596來源:國知局
一種JAVA卡幀的邊界檢查方法與流程

本發(fā)明涉及智能卡技術領域,尤其涉及一種JAVA卡幀的邊界檢查方法。



背景技術:

隨著電子政務和電子商務的發(fā)展,Java卡的應用越來越廣泛,為解決用戶對一卡多用的需要,目前多應用的Java卡越來越普遍,而應用之間的安全問題也日益重要。

現有的攻擊手段中可通過激光攻擊java卡的存儲介質或者下載惡意Applet應用等方式,修改java方法的局部變量索引或者增減彈棧壓棧操作,對方法幀的操作數棧和局部變量區(qū)進行越界訪問,非法獲取卡的存儲數據。Java卡需要提供一種幀的邊界檢查方法,識別針對Java虛擬機的越界訪問,即保證應用不能訪問權限之外的棧數據。



技術實現要素:

為了解決Java卡平臺現有技術中存在的上述問題,本發(fā)明提供了一種JAVA卡幀的邊界檢查方法。

本發(fā)明采取的技術方案如下:

一種JAVA卡幀的邊界檢查方法,包括如下步驟:

步驟S1:Java卡虛擬機執(zhí)行應用的Java方法時,建立一個方法幀,并壓入棧,記錄方法幀的起始地址。同時記錄兩個范圍:合法操作數范圍和合法局部變量索引范圍。

步驟S2:所述Java卡虛擬機執(zhí)行所述所述Java方法的字節(jié)碼時如需訪問棧數據,獲取需要訪問的棧數據類型。

步驟S3:根據所述數據類型;如果當前操作數據是局部變量,則執(zhí)行步驟A1;如果當前操作數據是操作數,則執(zhí)行步驟B1。

步驟A1:判斷局部變量索引是否在合法局部變量索引范圍內,是則執(zhí)行步驟S4,否則拋出異常。

步驟B1:判斷操作數地址是否在合法操作數范圍內,是則執(zhí)行步驟S4,否則拋出異常。

步驟S4:Java卡虛擬機執(zhí)行當前字節(jié)碼。

進一步的,所述的記錄兩個范圍,其特征是:所述Java卡虛擬機解析所述應用的Java方法的method_header_info數據結構中的max_stack,max_locals,nargs信息結合所述方法幀的起始地址信息。使用0作為合法局部變量索引范圍的下邊界;使用方法幀下邊界加上(max_locals+nargs-1)作為合法局部變量索引范圍的上邊界;使用方法幀起始地址+((max_locals+nargs)*2)作為合法操作數范圍的下邊界;使用合法操作數范圍的下邊界加上(max_stack*2)作為合法操作數范圍的上邊界。

本發(fā)明的有益效果在于:本發(fā)明實現了Java卡的多應用安全管理,尤其是通過邊界檢查的方法控制棧幀數據的訪問,提高了多應用共存的安全性。

附圖說明

圖1是一個Java方法在java卡虛擬機上的執(zhí)行流程圖。

圖2是合法操作數范圍和合法局部變量索引范圍的位置示意圖。

圖3是以sstore_2字節(jié)碼為示例的執(zhí)行流程圖。

具體實施方式

下面將結合附圖和具體實施例對本發(fā)明做進一步的說明。

圖1指出了一個java方法在java卡虛擬機上的執(zhí)行流程。Java卡虛擬機執(zhí)行該方法時,會為其建立一個方法幀,并壓入棧,記錄方法幀的起始地址。同時記錄兩個范圍:合法操作數范圍和合法局部變量索引范圍。然后依次執(zhí)行java方法中的字節(jié)碼。直至java方法執(zhí)行結束,方法幀彈出棧。

圖2指出了合法操作數范圍和合法局部變量索引范圍的位置示意圖。從方法幀的起始地址開始,是局部變量區(qū)。因此合法局部變量范圍為方法幀起始地址到((max_locals+nargs)*2)。則合法局部變量索引范圍為0到(max_locals+nargs-1)。局部變量區(qū)上方是操作數區(qū)。因此合法操作數范圍為(方法幀起始地址+((max_locals+nargs)*2))到(方法幀起始地址+(max_locals+nargs)*2+max_stack*2)。

圖3是上述Java方法中sstore_2字節(jié)碼的執(zhí)行流程圖。檢查字節(jié)碼所要寫入索引為2的局部變量是否在合法局部變量索引范圍內,在則繼續(xù)執(zhí)行,不在則拋出異常結束。從幀中將兩個字節(jié)數據彈棧,并將幀頂指針減2存儲。檢查幀頂指針是否在合法操作數范圍內,在則繼續(xù)執(zhí)行,不在則拋出異常結束。將兩個字節(jié)數據寫入到局部變量中。

顯然,本領域的技術人員可以對本發(fā)明進行各種改動和變形而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變形屬于本發(fā)明權利要求及其等同技術的范圍之內,則本發(fā)明也意圖包含這些改動和變型在內。

當前第1頁1 2 3 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
韩城市| 兖州市| 集贤县| 黄平县| 陆川县| 林芝县| 西贡区| 淮安市| 长春市| 新巴尔虎左旗| 辽中县| 本溪市| 明溪县| 积石山| 慈利县| 万源市| 和静县| 安义县| 依安县| 枣阳市| 秭归县| 孝昌县| 苏尼特右旗| 富川| 洱源县| 兴化市| 达日县| 黔东| 元氏县| 高要市| 邢台市| 娄底市| 千阳县| 和静县| 河北省| 平乐县| 邹平县| 嘉鱼县| 资阳市| 南召县| 获嘉县|