《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > Java卡虛擬機(jī)的安全攻擊技術(shù)及防御技術(shù)研究
Java卡虛擬機(jī)的安全攻擊技術(shù)及防御技術(shù)研究
2017年電子技術(shù)應(yīng)用第10期
崔炳榮1,2,劉 亮1,2,甘 杰1,2,張海峰1,陳 雷1,2,尹國(guó)龍3
1.北京智芯微電子科技有限公司,國(guó)家電網(wǎng)公司重點(diǎn)實(shí)驗(yàn)室電力芯片設(shè)計(jì)分析實(shí)驗(yàn)室,北京100192; 2.北京智芯微電子科技有限公司,北京市電力高可靠性集成電路設(shè)計(jì)工程技術(shù)研究中心,北京100192; 3.國(guó)網(wǎng)寧夏電力公司電力科學(xué)研究院,寧夏 銀川750002
摘要: Java卡是一個(gè)基于Java的智能卡操作系統(tǒng),Java卡能夠動(dòng)態(tài)更新。著重介紹了在Java卡系統(tǒng)實(shí)現(xiàn)過(guò)程中需要關(guān)注的各種基于Java卡虛擬機(jī)的安全點(diǎn),研究了Java卡虛擬機(jī)運(yùn)行過(guò)程中的脆弱性,總結(jié)了其在安全方面面臨的各種威脅,并進(jìn)一步研究了這些安全威脅可能產(chǎn)生的影響。最后針對(duì)可能出現(xiàn)的不同的安全攻擊,提出并完成了相應(yīng)的安全防御措施。實(shí)驗(yàn)證明,這些防御措施能夠有效地保障Java卡系統(tǒng)的安全性。
關(guān)鍵詞: Java卡 虛擬機(jī) 攻擊 防御
中圖分類(lèi)號(hào): TN409
文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.179014
中文引用格式: 崔炳榮,劉亮,甘杰,等. Java卡虛擬機(jī)的安全攻擊技術(shù)及防御技術(shù)研究[J].電子技術(shù)應(yīng)用,2017,43(10):12-15,19.
英文引用格式: Cui Bingrong,Liu Liang,Gan Jie,et al. The offensive and defensive technology of the Java card virtual machine[J].Application of Electronic Technique,2017,43(10):12-15,19.
The offensive and defensive technology of the Java card virtual machine
Cui Bingrong1,2,Liu Liang1,2,Gan Jie1,2,Zhang Haifeng1,Chen Lei1,2,Yin Guolong3
1.State Grid Key Laboratory of Power Industrial Chip Design and Analysis Technology, Beijing Smart-Chip Microelectronics Technology Co.,Ltd.,Beijing 100192,China; 2.Beijing Engineering Research Center of High-reliablity IC with Power Industrial Grade, Beijing Smart-Chip Microelectronics Technology Co.,Ltd.,Beijing 100192,China; 3.State Grid Ningxia Electric Power Company,Yinchuan 750002,China
Abstract: Java card is a smart card running a small Java based operating system that can dynamically be upgraded. This article introduce developers to the security issues of the Java card virtual machine that should be taken into account when implementing a Java card platform. This article studies vulnerabilities of the Java card virtual machine and tries to identify its shortcomings. Further studies illustrate the impact of various threats. Finally some defensive technology are presented to counteract the threats. The test results can tell the defensive technology is valid for the security of the Java card platform.
Key words : Java card;virtual machine;offensive;defensive

0 引言

    金融、移動(dòng)通信、身份認(rèn)證等領(lǐng)域?qū)?a class="innerlink" href="http://theprogrammingfactory.com/tags/Java卡" title="Java卡" target="_blank">Java卡多應(yīng)用軟件平臺(tái)的需求在近幾年變得日益迫切,多應(yīng)用軟件平臺(tái)支持產(chǎn)品發(fā)行后還可以后下載應(yīng)用,所以Java卡技術(shù)在給使用者帶來(lái)開(kāi)放式便利性的同時(shí),也帶來(lái)了極大的安全風(fēng)險(xiǎn)。針對(duì)智能卡嵌入式軟件安全技術(shù)的研究,已經(jīng)成為智能卡行業(yè)近兩年的熱點(diǎn)。北京智芯微電子科技有限公司的Java卡團(tuán)隊(duì)在Java卡軟件平臺(tái)的安全攻擊防御方面做了很多工作,本文主要介紹其基于Java卡虛擬機(jī)的安全攻擊及防御技術(shù)方面的研究成果。

1 Java卡軟件平臺(tái)簡(jiǎn)介

    Java卡軟件平臺(tái)是智能卡嵌入式軟件的發(fā)展趨勢(shì)。目前金融卡及部分其他行業(yè)卡片都已經(jīng)要求是平臺(tái)卡,電信行業(yè)先前已有成熟的Java平臺(tái)卡發(fā)行?;谝苿?dòng)支付的卡片已經(jīng)明確規(guī)定是多應(yīng)用的平臺(tái)卡,而Java平臺(tái)卡是智能卡平臺(tái)卡的絕對(duì)主流。

    Java卡系統(tǒng)架構(gòu)如圖1所示。

dldz2-t1.gif

    Java卡產(chǎn)品應(yīng)用于金融以及移動(dòng)支付領(lǐng)域,其安全性是不容忽視的,需要很高的安全保障才可以進(jìn)入市場(chǎng)。如圖2所示,Java卡平臺(tái)需要達(dá)到31分以上才可獲得EMVco的平臺(tái)安全證書(shū)(參考Brightsight機(jī)構(gòu)的數(shù)據(jù))。

dldz2-t2.gif

    Java卡虛擬機(jī)是Java卡軟件平臺(tái)的引擎,在整個(gè)平臺(tái)中起著核心的作用,其實(shí)現(xiàn)了一個(gè)軟CPU,用于解釋執(zhí)行Java卡代碼(包括Java卡平臺(tái)的系統(tǒng)代碼以及Java卡應(yīng)用代碼),它維護(hù)下面一些主要的系統(tǒng)資源:

    (1)PC:程序地址指針;

    (2)棧:用于維護(hù)Java卡應(yīng)用執(zhí)行時(shí)的方法調(diào)用現(xiàn)場(chǎng);

    (3)寄存器:用于維護(hù)棧幀結(jié)構(gòu)的寄存器變量;

    (4)字節(jié)碼解釋器:解析應(yīng)用代碼編譯出的目標(biāo)字節(jié)碼。

    通過(guò)攻擊以上資源,攻擊者可以破壞Java卡虛擬機(jī),獲取到一些卡片敏感數(shù)據(jù),甚至可以控制代碼流程非法跳轉(zhuǎn)到攻擊者的惡意代碼進(jìn)行執(zhí)行。

2 Java卡虛擬機(jī)的安全攻擊研究

2.1 針對(duì)虛擬機(jī)的攻擊技術(shù)研究

    Java卡軟件平臺(tái)是否安全,其重點(diǎn)在于:

    (1)黑客是不是能隨意安裝應(yīng)用程序;

    (2)虛擬機(jī)如何抵御惡意代碼;

    (3)如何抵御旁路攻擊;

    (4)如何抵御程序執(zhí)行流程和數(shù)據(jù)被惡意干擾;

    (5)平臺(tái)是否遵守硬件的安全要求。

    對(duì)于以上第(1)種攻擊可以通過(guò)GP(GlobalPlatform)技術(shù)中的安全通道等方式進(jìn)行防御;對(duì)于第(5)種,軟件平臺(tái)會(huì)依賴(lài)芯片平臺(tái)的安全保障。而對(duì)于其余的(2)、(3)、(4)種,Java卡虛擬機(jī)本身需要具備很強(qiáng)的防攻擊能力,承擔(dān)重要的安全防御角色。

    研究發(fā)現(xiàn),針對(duì)Java卡軟件平臺(tái)較為有效的攻擊方式有以下幾種。

    (1)混淆數(shù)據(jù)類(lèi)型攻擊

    Java卡支持byte、short、int和 reference(對(duì)象)數(shù)據(jù),這些數(shù)據(jù)在卡片上的物理存儲(chǔ)方式一致。攻擊者可以使用不同類(lèi)型數(shù)組對(duì)象之間的混淆訪(fǎng)問(wèn)、簡(jiǎn)單對(duì)象和數(shù)組對(duì)象之間的混淆訪(fǎng)問(wèn)、基本類(lèi)型數(shù)據(jù)和對(duì)象數(shù)據(jù)之間的混淆訪(fǎng)問(wèn)、偽造對(duì)象、對(duì)象域作為數(shù)組成員等方式進(jìn)行攻擊。其目的在于迷惑虛擬機(jī)讀取越界數(shù)據(jù)給卡外,從而造成嚴(yán)重的信息泄露。

    (2)操作數(shù)棧攻擊

    在Java卡中棧是方法運(yùn)行的基礎(chǔ),棧中保存了調(diào)用方法的現(xiàn)場(chǎng)信息,也為被調(diào)用方法提供了運(yùn)行時(shí)的操作空間。對(duì)當(dāng)前方法操作數(shù)棧進(jìn)行攻擊(比如通過(guò)持續(xù)壓?;蚱渌绞酵黄茥吔?,進(jìn)而改變方法棧邊界外的數(shù)據(jù)就能破壞掉整個(gè)系統(tǒng)的有序運(yùn)行狀態(tài),攻擊者可以通過(guò)這種方式修改PC指針,使程序跳轉(zhuǎn)到惡意代碼地址進(jìn)行執(zhí)行,也可以改變方法對(duì)??臻g資源的占用情況導(dǎo)致其他不可預(yù)期的錯(cuò)誤。攻擊者通過(guò)上述方法能有效提升非法獲取信息的可能性。

    (3)局部變量攻擊

    局部變量存在于方法棧中,針對(duì)局部變量的攻擊手段有許多種,產(chǎn)生的效果也不盡相同。比如可以對(duì)cap文件中對(duì)應(yīng)方法的局部變量大小信息進(jìn)行修改,達(dá)到突破局部變量邊界,造成數(shù)據(jù)和代碼混亂的目的;也可以針對(duì)局部變量的讀寫(xiě)進(jìn)行非法操作(比如將short數(shù)據(jù)當(dāng)作對(duì)象數(shù)據(jù)讀取使用),以達(dá)到非法數(shù)據(jù)訪(fǎng)問(wèn)的目的。

    (4)字節(jié)碼篡改攻擊

    字節(jié)碼執(zhí)行流程如圖3所示。

dldz2-t3.gif

    通過(guò)激光攻擊等手段更改數(shù)據(jù)總線(xiàn)上讀出的字節(jié)碼,按照?qǐng)D3所示使得虛擬機(jī)跳轉(zhuǎn)到錯(cuò)誤字節(jié)碼解釋執(zhí)行,導(dǎo)致不可預(yù)知的后果。

    借助標(biāo)準(zhǔn)的JCDK工具,手動(dòng)修改字節(jié)碼也可以達(dá)到激光攻擊同樣的效果。人工修改的方式可以控制攻擊的預(yù)期效果,比激光攻擊更加有效和可控,危害性更高。

2.2 虛擬機(jī)的攻擊方式

    目前主流的攻擊方式為準(zhǔn)備一個(gè)CAP,采用以下方式:(1)數(shù)據(jù)類(lèi)型混淆;(2)破壞虛擬機(jī)棧幀結(jié)構(gòu);(3)破壞虛擬機(jī)解釋執(zhí)行流程。

    對(duì)CAP進(jìn)行篡改,以自定義方法或者Java Card平臺(tái)標(biāo)準(zhǔn)API方法為切入點(diǎn),對(duì)卡片進(jìn)行安全攻擊。另外還可以采用激光篡改卡片內(nèi)部數(shù)據(jù)的攻擊方式。

2.2.1 混合攻擊示例

    首先編寫(xiě)源文件,然后對(duì)源文件目標(biāo)文件即CAP文件里的字節(jié)碼進(jìn)行惡意修改,將其修改為CAP’,然后下載到Java卡軟件平臺(tái)上執(zhí)行,從而達(dá)到攻擊目的。

    源文件如下:

Public void process(APDU apdu) {

        if (selectingApplet()) {

            return;

        }

        byte[] buf = apdu.getBuffer();

switch (buf[ISO7816.OFFSET_INS]) {

            case (byte) 0x00:

            M1(buf);

    apdu.setOutgoingAndSend((short) 0, (short) 2);

            break;

        default:

    ISOException.throwIt(ISO7816.SW_INS_NOT_SUPPORTED);

        }

    }

    Public void M1(byte[] buf) {

        byte[] ba = newbyte[2];

        shorti = 258;

        Util.setShort(buf, (short) 0, i);

    }

2.2.2 修改CAP文件

    通過(guò)修改源文件編譯出來(lái)的CAP文件,即修改method組件中M1方法的method_head_info值,由0x0322修改為其他兩字節(jié)的任意數(shù)值(通常會(huì)從0x0000遍歷到0xFFFF),然后重新生成新的攻擊CAP′文件,下載到Java卡軟件平臺(tái)上選擇并執(zhí)行。CAP文件中方法信息存在于方法組件中,方法組件信息如圖4所示。

dldz2-t4.gif

    圖4中出現(xiàn)的字段信息如下:

    (1)tag:虛擬機(jī)規(guī)范中定義的方法組件的標(biāo)識(shí),值為7

    (2)size:方法組件數(shù)據(jù)長(zhǎng)度

    (3)handler_count:異常個(gè)數(shù)

    (4)exception_handler_info:異常信息

    (5)method_info:所有的方法信息標(biāo)識(shí)

    (6)methods[n]:第n個(gè)方法的信息

    (7)method_header_info:方法頭信息標(biāo)識(shí)

    (8)Data:方法頭信息的數(shù)據(jù)

    (9)flags:標(biāo)志位信息

    (10)max_stack:方法最大棧使用量

    (11)nargs:參數(shù)個(gè)數(shù)

    (12)max_locals:局部變量個(gè)數(shù)

    (13)bytecodes:方法內(nèi)容對(duì)應(yīng)的字節(jié)碼

2.2.3 測(cè)試結(jié)果

    圖4中method_header_info前兩個(gè)字代表了方法的操作數(shù)棧的大小、參數(shù)的個(gè)數(shù)和局部變量的個(gè)數(shù)。篡改此數(shù)據(jù)使其從0000-ffff遍歷,期望卡返回?cái)?shù)據(jù)為0x0102,或者拋出異常。安全的Java卡軟件平臺(tái)不會(huì)返回其他任何數(shù)據(jù)。如果虛擬機(jī)不夠安全,執(zhí)行過(guò)程中可能會(huì)拋出各種數(shù)據(jù)。

3 Java卡虛擬機(jī)的安全防御技術(shù)研究及實(shí)現(xiàn)

    根據(jù)上面章節(jié)的分析明確了Java卡虛擬機(jī)內(nèi)核被攻擊的重點(diǎn)所在。接著從以下幾個(gè)方面來(lái)闡述如何對(duì)Java卡虛擬機(jī)進(jìn)行安全防護(hù)。

3.1 棧幀保護(hù)

    (1)操作數(shù)棧完整性檢查

    在方法調(diào)用時(shí)記錄操作數(shù)棧基于棧底的偏移位置,作為現(xiàn)場(chǎng)信息的一部分記錄在幀頭中,在方法返回時(shí)從幀頭信息中讀取出來(lái)并和SP(棧當(dāng)前位置指針)進(jìn)行比對(duì),兩值應(yīng)該相等。如果不等,說(shuō)明棧幀的出入數(shù)據(jù)不對(duì)應(yīng),表明是操作數(shù)棧受到了惡意攻擊。

    (2)操作數(shù)棧邊界檢查

    在進(jìn)行操作數(shù)的出入棧操作時(shí),檢查其訪(fǎng)問(wèn)到的地址邊界是否超出操作數(shù)棧的邊界,超出則表示異常發(fā)生。

    (3)參數(shù)和局部變量邊界檢查

    在方法執(zhí)行過(guò)程中對(duì)于參數(shù)和局部變量的訪(fǎng)問(wèn)應(yīng)該符合方法頭中對(duì)于其個(gè)數(shù)的限定,并保障其地址范圍在此方法棧的起始位置和操作數(shù)棧之間(不同的棧結(jié)構(gòu)設(shè)計(jì)可能有不同的限制條件)。

    (4)方法棧的參數(shù)準(zhǔn)確性檢查

    方法的最大棧使用情況和局部變量數(shù)據(jù)都是方法運(yùn)行時(shí)數(shù)據(jù),對(duì)于這兩個(gè)值的修改不會(huì)影響方法的正常執(zhí)行。但是參數(shù)是先于方法執(zhí)行被壓入棧中的,如果方法頭中參數(shù)個(gè)數(shù)被修改,方法運(yùn)行過(guò)程中的安全機(jī)制會(huì)進(jìn)行相關(guān)防護(hù)。比如參數(shù)個(gè)數(shù)被改小,那么正常的參數(shù)訪(fǎng)問(wèn)就可能被參數(shù)邊界檢查判錯(cuò);如果參數(shù)改大,會(huì)導(dǎo)致方法出棧時(shí)上一個(gè)方法的執(zhí)行環(huán)境被修改從而產(chǎn)生連鎖的防御反應(yīng)。

    以上所有防護(hù)在產(chǎn)生問(wèn)題的時(shí)候軟件平臺(tái)都會(huì)認(rèn)為受到了惡意攻擊,應(yīng)該報(bào)錯(cuò)并采取進(jìn)一步的防御措施,如安全審計(jì)、卡片靜默等。

3.2 字節(jié)碼保護(hù)

3.2.1 運(yùn)行時(shí)類(lèi)型檢查

    (1)byte/short/int/reference類(lèi)型數(shù)組檢查

    規(guī)范中定義的數(shù)組類(lèi)型分別為byte數(shù)組、short數(shù)組、int數(shù)組和reference型數(shù)組,數(shù)組對(duì)象在字節(jié)碼層面的訪(fǎng)問(wèn)入口為讀指令BALOAD、SALOAD、IALOAD、AALOAD和寫(xiě)指令BASTORE、SASTORE、IASTORE、AASTORE。軟件平臺(tái)通過(guò)對(duì)象數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)可以記錄當(dāng)前數(shù)組對(duì)象的具體類(lèi)型,進(jìn)而在字節(jié)碼指令訪(fǎng)問(wèn)時(shí)進(jìn)行對(duì)應(yīng)性檢查來(lái)屏蔽掉不合法的數(shù)組對(duì)象訪(fǎng)問(wèn)。

    (2)簡(jiǎn)單對(duì)象/數(shù)組對(duì)象混淆檢查

    與數(shù)組類(lèi)型檢查類(lèi)似,簡(jiǎn)單對(duì)象和數(shù)組對(duì)象也可以通過(guò)對(duì)象數(shù)據(jù)結(jié)構(gòu)中的相應(yīng)標(biāo)識(shí)來(lái)進(jìn)行區(qū)分。在訪(fǎng)問(wèn)簡(jiǎn)單對(duì)象的字節(jié)碼指令中應(yīng)該進(jìn)行判斷保證此對(duì)象非數(shù)組對(duì)象,反之亦然。

    (3)對(duì)象/基本數(shù)據(jù)類(lèi)型(byte/short/int)混淆檢查

    對(duì)于這種混淆檢查需要設(shè)計(jì)一種新的防護(hù)方式:添加一個(gè)類(lèi)型棧。此棧記錄操作數(shù)棧中數(shù)據(jù)的類(lèi)型。執(zhí)行字節(jié)碼指令時(shí)按照此指令對(duì)操作數(shù)類(lèi)型的要求,結(jié)合類(lèi)型棧的記錄進(jìn)行一致性判斷。這樣就保證了棧數(shù)據(jù)訪(fǎng)問(wèn)的一致性。

3.2.2 對(duì)象/數(shù)組/靜態(tài)域邏輯邊界檢查    

    Java卡虛擬機(jī)在訪(fǎng)問(wèn)數(shù)組時(shí)需要做數(shù)組邊界的運(yùn)行時(shí)檢查;對(duì)象管理數(shù)據(jù)結(jié)構(gòu)中應(yīng)記錄相應(yīng)的size(針對(duì)域和方法),防止攻擊者訪(fǎng)問(wèn)到非法空間;靜態(tài)域的讀寫(xiě)訪(fǎng)問(wèn)時(shí)檢查當(dāng)前訪(fǎng)問(wèn)的包的靜態(tài)域邊界。

3.2.3 防篡改檢查

    為了防止錯(cuò)誤注入攻擊,可適當(dāng)添加關(guān)鍵數(shù)據(jù)的冗余校驗(yàn)機(jī)制,保證程序運(yùn)行流程不受攻擊干擾。

    以上所有檢查在發(fā)現(xiàn)錯(cuò)誤時(shí)都表示系統(tǒng)異常,應(yīng)采取相應(yīng)的安全措施。

3.3 特殊數(shù)據(jù)保護(hù)

    在Java Card規(guī)范中定義了全局對(duì)象和入口點(diǎn)對(duì)象,這些對(duì)象的訪(fǎng)問(wèn)不受防火墻控制,同時(shí)也沒(méi)有外部接口供應(yīng)用創(chuàng)建。Java Card平臺(tái)自身不受限制,可以使用私有方式創(chuàng)建一些全局對(duì)象或者入口點(diǎn)對(duì)象來(lái)承載特殊的使命(如內(nèi)部的快速訪(fǎng)問(wèn)等)。為了保證這些數(shù)據(jù)不被非法訪(fǎng)問(wèn),需要添加對(duì)應(yīng)的防護(hù)手段。APDU數(shù)組作為全局對(duì)象不僅負(fù)責(zé)命令數(shù)據(jù)的傳輸,在標(biāo)準(zhǔn)外部接口中還被當(dāng)做返回?cái)?shù)據(jù)緩沖區(qū)使用,這些數(shù)據(jù)具有一定的敏感性以防止被非法竊取,需要在使用后及時(shí)清理。

3.4 執(zhí)行流程保護(hù)

    針對(duì)此攻擊可以采取在下載器中進(jìn)行方法跳轉(zhuǎn)指令的越界判斷,如果有越界情況發(fā)生,則不允許外部下載。另外為了防止執(zhí)行時(shí)的字節(jié)碼流程跑飛,也可以在下載時(shí)記錄方法邊界,在字節(jié)碼執(zhí)行時(shí)進(jìn)行越界判斷。此實(shí)現(xiàn)機(jī)制稍微復(fù)雜一些,會(huì)增加下載器的處理復(fù)雜度以及影響執(zhí)行時(shí)的性能。

3.5 虛擬機(jī)系統(tǒng)關(guān)鍵數(shù)據(jù)的保護(hù)

    虛擬機(jī)中的關(guān)鍵系統(tǒng)變量可以進(jìn)行備份處理,在相應(yīng)的流程節(jié)點(diǎn)上進(jìn)行比對(duì),這樣可以防止關(guān)鍵數(shù)據(jù)被惡意篡改;也可以結(jié)合有安全功能的Java芯片提供的保護(hù)機(jī)制,進(jìn)行軟硬件的聯(lián)合防護(hù),以達(dá)到關(guān)鍵系統(tǒng)變量不能被惡意代碼隨意更改的目的。

4 測(cè)試結(jié)果及結(jié)論

    北京智芯微電子科技有限公司針對(duì)Java卡虛擬機(jī)安全攻擊的研究成果,設(shè)計(jì)開(kāi)發(fā)了具有自主知識(shí)產(chǎn)權(quán)的安全攻擊用例庫(kù),包含如下幾個(gè)方面:API攻擊、邊界攻擊、執(zhí)行流程攻擊、局部變量攻擊、操作數(shù)棧攻擊、參數(shù)攻擊、共享接口攻擊、特殊數(shù)據(jù)訪(fǎng)問(wèn)攻擊、事務(wù)機(jī)制攻擊、類(lèi)型混淆攻擊和防火墻攻擊。腳本示意如圖5所示。

dldz2-t5.gif

    北京智芯微電子科技有限公司自研的Java卡軟件平臺(tái)通過(guò)了自研安全攻擊平臺(tái)的攻擊測(cè)試。此外通過(guò)了金融卡檢測(cè)中心(BCTC)的安全攻擊測(cè)試。金融卡檢測(cè)中心的嵌入式軟件安全攻擊測(cè)試被公認(rèn)是目前國(guó)內(nèi)攻擊水平最高的第三方測(cè)試。事實(shí)證明,北京智芯微電子科技有限公司的安全攻擊技術(shù)及防御技術(shù)研究是卓有成效的。

    安全領(lǐng)域的攻與防是個(gè)永恒的話(huà)題,北京智芯微電子科技有限公司以后還會(huì)沿著這條路繼續(xù)前進(jìn),加強(qiáng)自研能力,跟進(jìn)國(guó)際最新的攻擊技術(shù)和防御技術(shù),持續(xù)提升安全技術(shù)水平。

參考文獻(xiàn)

[1] 鄧赟,周道雙,李宇.基于智能卡的COS安全設(shè)計(jì)與實(shí)現(xiàn)[J].通信技術(shù),2016(3):352-355.

[2] 徐江珮,烏力吉,楊向軍,等.Java卡COS安全漏洞的一種探測(cè)與分析方法[J].微電子學(xué)與計(jì)算機(jī),2014(12):71-74.

[3] 李奕.智能卡的安全體系研究[J].電子技術(shù),2015(5):19-22.

[4] Guillaume Bouffard,Julien Iguchi-Cartigny,Jean-Louis Lanet.Combined software and hardware attacks on the Java Card control flow[C].10th IFIP WG 8.8/11.2 International Conference,CARDIS,2011.

[5} 于暉.基于混合攻擊的Java卡3.0安全性研究[J].信息安全與通信保密,2014(9):125-128.

[6] 蔣龍龍.JCVM相關(guān)安全性分析與優(yōu)化[D].廣州:廣東工業(yè)大學(xué),2014.

[7] 孫立元.基于漏洞攻擊的Java卡安全性分析[J].計(jì)算機(jī)光盤(pán)軟件與應(yīng)用,2013(5):212-214.



作者信息:

崔炳榮1,2,劉  亮1,2,甘  杰1,2,張海峰1,陳  雷1,2,尹國(guó)龍3

(1.北京智芯微電子科技有限公司,國(guó)家電網(wǎng)公司重點(diǎn)實(shí)驗(yàn)室電力芯片設(shè)計(jì)分析實(shí)驗(yàn)室,北京100192;

2.北京智芯微電子科技有限公司,北京市電力高可靠性集成電路設(shè)計(jì)工程技術(shù)研究中心,北京100192;

3.國(guó)網(wǎng)寧夏電力公司電力科學(xué)研究院,寧夏 銀川750002)

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。