[發明專利]一種JAVA智能卡訪問越界的檢測方法有效
| 申請號: | 201611228626.3 | 申請日: | 2016-12-27 |
| 公開(公告)號: | CN106778238B | 公開(公告)日: | 2020-02-21 |
| 發明(設計)人: | 洪佳欣;胡建國;丁顏玉;凌森 | 申請(專利權)人: | 廣州智慧城市發展研究院;中山大學 |
| 主分類號: | G06F21/52 | 分類號: | G06F21/52;G06F21/57 |
| 代理公司: | 佛山幫專知識產權代理事務所(普通合伙) 44387 | 代理人: | 胡麗琴 |
| 地址: | 510800 廣東省*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 java 智能卡 訪問 越界 檢測 方法 | ||
本發明公開一種JAVA智能卡訪問越界的檢測方法,其用于解決現有技術中JAVA智能卡中的虛擬機解釋器執行時存在訪問越界的缺陷。其包括如下步驟:(S01)在將CAP文件安裝到JAVA智能卡時,對CAP文件進行處理;其中,CAP文件包括多個組件,包括常量池組件、類組件和方法組件;(S02)在應用執行過程中,JAVA智能卡內的虛擬機解釋器在執行CAP文件中的指令時,對CAP文件的類組件進行檢查。本發明通過在執行方法調用指令invokevirtual時,對類組件的檢查過程,來防止訪問越界,故提高虛擬機解釋器執行過程的安全性。
技術領域
本發明涉及JAVA智能卡領域,尤其涉及一種JAVA智能卡訪問越界的檢測方法。
背景技術
智能卡(Smart Card)是一種帶有微型處理器和存儲器芯片的微型集成電路卡片,具有運算能力和信息存儲功能。Java智能卡是將Java語言運行平臺移植到智能卡芯片中,使得Java技術“一次編譯,處處運行”的特點可以應用于智能卡上。在Java智能卡的應用開發中,開發方不需要考慮應用裝載的平臺和平臺的特性。與傳統卡片相比,Java智能卡不僅具有平臺無關性,更重要的是支持一卡多應用,且具有更高的安全性。
根據Java卡相關的規范,其安全機制包括應用安裝前的檢查,如字節碼校驗(BCV),應用安裝過程如GP規范,應用間獨立如防火墻等;但是在虛擬機解釋器在執行字節碼的過程,缺少安全機制保障運行時的安全,比如可能出現的訪問越界或者類型強制轉換等問題;其中,組件間的越界訪問是暫時未解決的問題之一。
根據Java卡虛擬機規范,一個應用的CAP文件由12個組件組成,安裝到卡片上的組件主要有引入組件、常量池組件、類組件、方法組件、靜態域組件等;為了節省卡片的存儲空間,每個組件都是接連存放在EEPROM中,導致對某一個組件的訪問溢出時可能訪問到另一個組件的信息;類組件是用于存放應用定義的類的信息;每個類中定義的方法,包括一個是public_virtual_method_table數組,它表示public和protected虛方法的數組,也包括所有的或者任何一個它的超類所聲明或者定義的方法,這些方法可以在一個類的實例上被調用;另一個是package_virtual_method_table數組,這個數組不僅包含了這個類所定義和聲明的方法,同時還包括這個包中定義的任何一個或所有的它的超類所定義和聲明的方法。
如果在CAP文件安裝到卡片上時,由于某種原因導致類組件的方法表數組內的一個元素,或者是常量池數組中的某個方法的引用出現問題,那么可能導致的結果是對Class組件的訪問溢出。虛擬機執行過程的安全性一直都是困擾開發者的一個重要問題,只要CAP文件在解釋執行前沒被檢測出漏洞,那么解釋器執行過程中出現的問題就無法解決。
綜上,有必要設計一種JAVA智能卡訪問越界的檢測方法來彌補上述缺陷。
發明內容
本發明提出一種JAVA智能卡訪問越界的檢測方法,其用于解決現有技術中JAVA智能卡中的虛擬機解釋器執行時存在訪問越界的缺陷。本發明通過在執行方法調用指令invokevirtual時,對類組件的檢查過程,來防止訪問越界,故提高虛擬機解釋器執行過程的安全性。
本發明的技術方案是這樣實現的:
本發明公開一種JAVA智能卡訪問越界的檢測方法,其包括如下步驟:(S01) 在將CAP文件安裝到JAVA智能卡時,對CAP文件進行處理;其中,CAP文件包括多個組件,包括常量池組件、類組件和方法組件;(S02)在應用執行過程中,JAVA智能卡內的虛擬機解釋器在執行CAP文件中的指令時,對CAP文件的類組件進行檢查。
其中,步驟(S01)中,CAP文件的處理方法包括:(1)在載入前,在CAP 文件的每個組件后加上結束標識符;(2)在安裝過程中,每次載入CAP文件的其中一個組件后,由JAVA智能卡上的安裝程序執行在該組件后加上結束標識符。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于廣州智慧城市發展研究院;中山大學,未經廣州智慧城市發展研究院;中山大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201611228626.3/2.html,轉載請聲明來源鉆瓜專利網。





