鄧柳于勤,陳財(cái)森,蔡紅柳,薛廷梅,于茜
(裝甲兵工程學(xué)院a.信息工程系;b.科研部,北京100072)
基于ARM處理器Cache特征的計(jì)時(shí)分析研究
鄧柳于勤a,陳財(cái)森b,蔡紅柳a,薛廷梅a,于茜a
(裝甲兵工程學(xué)院a.信息工程系;b.科研部,北京100072)
通過(guò)研究Cache基本結(jié)構(gòu)、Cache計(jì)時(shí)攻擊的基本原理和攻擊模型,發(fā)現(xiàn)由于ARM處理器與x86處理器在Cache結(jié)構(gòu)及特征等方面存在差異,導(dǎo)致原有基于x86平臺(tái)的Cache計(jì)時(shí)攻擊方法在ARM平臺(tái)上具有不適用性。針對(duì)x86處理器與ARM處理器Cache在結(jié)構(gòu)、替換策略、精確計(jì)時(shí)方法等方面的差異,結(jié)合Cache計(jì)時(shí)攻擊原理,分別提出了改進(jìn)建議。針對(duì)Cache結(jié)構(gòu)差異,提出在編寫間諜程序時(shí)參數(shù)必須進(jìn)行配套修改;針對(duì)替換策略的不同,提出了訪問(wèn)一個(gè)數(shù)據(jù)塊多次和建立一個(gè)大數(shù)據(jù)塊的改進(jìn)建議;針對(duì)計(jì)時(shí)方法的不同,提出在ARM平臺(tái)進(jìn)行精確計(jì)時(shí)必須要調(diào)用性能監(jiān)控寄存器。
Cache計(jì)時(shí)攻擊;ARM處理器;移動(dòng)智能終端;Cache替換策略
目前智能手機(jī)、平板電腦等移動(dòng)智能終端的廣泛使用,已經(jīng)成為人們?nèi)粘I钪胁豢苫蛉钡囊徊糠?,但同時(shí)也帶來(lái)了個(gè)人隱私、私有數(shù)據(jù)泄漏等安全問(wèn)題,其安全性受到很高關(guān)注,因此需要采取安全措施,如用密碼算法加密私有信息。同時(shí),ARM處理器是專門為移動(dòng)智能終端設(shè)計(jì)的低功耗處理器,是目前移動(dòng)終端上主流的處理器之一。為了滿足其高性能要求,ARM處理器也采用了CPU緩存技術(shù),因此為了確保移動(dòng)終端的數(shù)據(jù)安全和設(shè)備自身安全,基于ARM處理器的密碼算法Cache計(jì)時(shí)攻擊研究顯得尤為迫切。
Cache計(jì)時(shí)攻擊是旁路攻擊的一種,該攻擊已被證明用在基于x86架構(gòu)的桌面計(jì)算機(jī)的RSA、AES算法具有較大威脅,并已取得一定成就[1-2]。而隨著基于ARM架構(gòu)下移動(dòng)智能終端的飛速發(fā)展以及對(duì)安全性需求日益強(qiáng)烈,急需對(duì)ARM架構(gòu)下移動(dòng)智能終端的Cache計(jì)時(shí)攻擊展開研究。同時(shí)依據(jù)Cache計(jì)時(shí)攻擊的基本原理,掌握Cache結(jié)構(gòu)特征是Cache計(jì)時(shí)攻擊的根本前提。
因此有必要研究ARM架構(gòu)處理器的Cache結(jié)構(gòu)特征,并分析ARM架構(gòu)與x86架構(gòu)處理器的Cache結(jié)構(gòu)與特征差異,基于原有x86架構(gòu)的Cache計(jì)時(shí)攻擊研究成果,分析移動(dòng)智能終端的Cache計(jì)時(shí)攻擊研究方案。
本文分析了ARM處理器Cache與x86處理器Cache的差異。這2種處理器在Cache結(jié)構(gòu)、高精度計(jì)時(shí)方式以及Cache替換策略等方面存在一定差異,這些差異會(huì)導(dǎo)致2個(gè)平臺(tái)的Cache攻擊方法存在不適用的問(wèn)題。針對(duì)特征差異,本研究提出了相應(yīng)的解決方案:針對(duì)結(jié)構(gòu)的不同,提出間諜程序必須要做出相應(yīng)修改;針對(duì)計(jì)時(shí)方法的不同,提出了利用ARM處理器的性能監(jiān)控寄存器來(lái)實(shí)現(xiàn)精確計(jì)時(shí)的方法,并且指出需要對(duì)這一組寄存器進(jìn)行適當(dāng)?shù)呐渲貌拍苓_(dá)到精確計(jì)時(shí);針對(duì)Cache替換策略的不同,給出了通過(guò)訪問(wèn)同一個(gè)內(nèi)存塊多次或者通過(guò)訪問(wèn)一個(gè)建立的大內(nèi)存塊來(lái)填充的建議。
1.1 ARM處理器
處理器的架構(gòu)直接決定指令組必須遵守的規(guī)則,不同的公司可能生產(chǎn)出架構(gòu)相同的不同處理器產(chǎn)品。移動(dòng)智能終端使用最為普遍的處理器架構(gòu)是ARM v7,該架構(gòu)分為3個(gè)子系列,其中ARM v7-A系列是面向智能手機(jī)和平板電腦的。ARM v7-A系列方案的實(shí)現(xiàn)成果有Cortex-A8、Cortex-A9等處理器以及高通公司生產(chǎn)的驍龍?zhí)幚砥鞯龋?-6]。
本文主要的攻擊對(duì)象為使用Cortex-A系列處理器的移動(dòng)設(shè)備,其處理器為ARM v7-A架構(gòu),是專門為供能有限的移動(dòng)設(shè)備而設(shè)計(jì)的,被廣泛用在了智能手機(jī)、平板電腦、上網(wǎng)本上。
ARM處理器通常都支持循環(huán)替換策略和偽隨機(jī)替換策略2種Cache替換策略[7]。由于后者實(shí)現(xiàn)較為簡(jiǎn)單,因此大多數(shù)采用偽隨機(jī)替換策略。通過(guò)控制一個(gè)寄存器可以切換這2種替換策略。根據(jù)ARM架構(gòu)參考手冊(cè)(ARM v7-A和 ARM v7-R版本)顯示,系統(tǒng)控制寄存器(SCTLR)被用來(lái)管理某些內(nèi)存系統(tǒng)設(shè)置[3]。該寄存器第14位(RR位)是用來(lái)決定替換策略。表1展示了該位可能的值以及相應(yīng)的設(shè)置。
表1 系統(tǒng)控制寄存器
1.2 Cache結(jié)構(gòu)
Cache是為了解決CPU與主存的訪問(wèn)速度存在不匹配的問(wèn)題而出現(xiàn)的。依據(jù)時(shí)間位置法則和空間位置法則,在CPU和主存之間加入一個(gè)Cache(緩存),Cache的讀取速度介于CPU和主存之間,CPU讀取數(shù)據(jù)之前先在Cache中查找數(shù)據(jù)是否存在,若存在則直接從Cache中讀取,這種事件稱之為一次Cache命中(hit),若不存在則從主存中讀取,并復(fù)制一份到Cache中,這種事件稱之為一次失效(miss)。采用Cache技術(shù)使CPU與主存速度不匹配的問(wèn)題得到有效改善。
Cache有3種不同的映射方式[8]:全相聯(lián)映射方式、直相聯(lián)映射方式和組相聯(lián)映射方式。全相聯(lián)映射指的是任一主存塊能映射到Cache中任意行(主存塊容量等于Cache行容量);直接相聯(lián)映射方式是某一主存塊只能映射到Cache的特定行;組相聯(lián)映射方式則是全相聯(lián)與直接相聯(lián)映射方式的結(jié)合,結(jié)合兩者的優(yōu)點(diǎn)。
Cache計(jì)時(shí)攻擊利用的是CPU訪問(wèn)Cache是“命中”和“失效”所產(chǎn)生的差異。在Cache訪問(wèn)過(guò)程中,根據(jù)要訪問(wèn)的數(shù)據(jù)是否在之前存放于Cache中,會(huì)產(chǎn)生“命中”和“失效”2種情況,若“命中”,CPU直接從Cache中讀取數(shù)據(jù),時(shí)間較短,若“失效”,則需從內(nèi)存中將數(shù)據(jù)讀給Cache并送往CPU。利用這種計(jì)時(shí)差異,結(jié)合密碼硬件加密方法,對(duì)加密過(guò)程加以監(jiān)視并收集泄露數(shù)據(jù),利用密鑰信息與Cache訪問(wèn)信息的相關(guān)性,在一定條件下可以分析出密鑰,達(dá)到破解密鑰的目的[9]。
2.1 攻擊的分類
根據(jù)Cache計(jì)時(shí)時(shí)間的采集方式不同,可將Cache計(jì)時(shí)攻擊分為時(shí)序驅(qū)動(dòng)、訪問(wèn)驅(qū)動(dòng)、蹤跡驅(qū)動(dòng)3種方式[4]。①時(shí)序驅(qū)動(dòng)攻擊采集整個(gè)加密進(jìn)程的加密時(shí)間[5],這種方式的優(yōu)點(diǎn)是采集樣本的方法相對(duì)簡(jiǎn)單,平臺(tái)適用性強(qiáng),因?yàn)橹恍枰杉麄€(gè)加密的時(shí)間,而不需要做太多內(nèi)部工作,但是缺點(diǎn)是樣本量很大,一般都以百萬(wàn)計(jì),從而造成離線分析方法比較復(fù)雜;②訪問(wèn)驅(qū)動(dòng)攻擊利用間諜進(jìn)程驅(qū)逐Cache并重復(fù)運(yùn)行的方法采集加密解密過(guò)程中訪問(wèn)過(guò)的Cache組信息[10-11],采集方法與時(shí)序驅(qū)動(dòng)相比稍微復(fù)雜一些,但是分析方法簡(jiǎn)單,利用木馬植入技術(shù),可以實(shí)現(xiàn)本地攻擊和遠(yuǎn)程攻擊;③蹤跡驅(qū)動(dòng)攻擊比訪問(wèn)驅(qū)動(dòng)攻擊的采集精度更高[12],該方法需要精確采集詳細(xì)的加密解密信息,例如一次加密解密過(guò)程中每次查表的命中和失效信息,該方法通過(guò)純計(jì)算方法要實(shí)現(xiàn)十分困難,要輔以功耗分析等手段才能實(shí)現(xiàn),因此需要物理接觸密碼設(shè)備,導(dǎo)致該攻擊不論在本地和遠(yuǎn)程實(shí)現(xiàn)起來(lái)都很困難。
2.2 攻擊模型
以訪問(wèn)驅(qū)動(dòng)攻擊為例,其攻擊模型為:先利用間諜進(jìn)程監(jiān)視密碼進(jìn)程的Cache訪問(wèn)操作,然后通過(guò)計(jì)時(shí)方法,在密碼進(jìn)程一次或多次加密后,用間諜進(jìn)程對(duì)數(shù)據(jù)Cache進(jìn)行數(shù)據(jù)二次訪問(wèn)的Cache,獲得“命中”和“失效”特征信息,可以間接獲得加密進(jìn)程的Cache訪問(wèn)位置信息等信息,再進(jìn)一步對(duì)其分析,預(yù)測(cè)加密查表索引信息,根據(jù)查表索引、明文密文對(duì)以及密鑰之間的關(guān)系縮小密鑰搜索空間。具體攻擊模型如圖1所示。
圖1 訪問(wèn)驅(qū)動(dòng)計(jì)時(shí)攻擊模型
1)Cache信息采集:在密碼進(jìn)程(AP)運(yùn)行的同時(shí),讓間諜進(jìn)程(SP)在同一PC機(jī)上并發(fā)運(yùn)行,AP和SP在主存中所占內(nèi)存塊分別設(shè)為ACB和SCB,其中SCB的大小和Cache存儲(chǔ)空間大小相同(如圖1(a)、圖1(b)所示)。在AP加密之前,SP先將私有內(nèi)存數(shù)據(jù)全部加載到Cache中,從而可以清空Cache(如圖1(c)所示);然后再觸發(fā)AP執(zhí)行加密操作,在此加密過(guò)程中,AP進(jìn)程會(huì)對(duì)Cache進(jìn)行多次查表訪問(wèn),并根據(jù)Cache替換策略的特點(diǎn),會(huì)將SP部分的預(yù)先加載數(shù)據(jù)從Cache中驅(qū)逐出去(如圖1(d)所示);之后,SP再次訪問(wèn)所有私有數(shù)據(jù)時(shí),對(duì)AP驅(qū)逐出來(lái)的數(shù)據(jù)會(huì)發(fā)生“Cache失效”、從而因需訪問(wèn)二級(jí)緩存或主存,消耗較多的時(shí)鐘周期,通過(guò)這種時(shí)間差異對(duì)比,SP可得到AP在每次加密中查Ti表所訪問(wèn)的Cache行或Cache組集合以及沒(méi)有訪問(wèn)過(guò)的Cache行或Cache組集合。(如圖1(e)所示)。
2)Cache信息分析:根據(jù)所采集Cache旁路信息,利用查找表Cache組和查表索引之間的映射關(guān)系,得到可能的查表索引值集合A或不可能值集合B,然后結(jié)合明文或密文,通過(guò)分析預(yù)測(cè)密鑰。
由于ARM處理器與x86處理器在結(jié)構(gòu)和特征上存在差異,而這些差異會(huì)導(dǎo)致過(guò)去的攻擊經(jīng)驗(yàn)在ARM平臺(tái)上不適用,因此本節(jié)著重分析這2種處理器存在哪些差異。
3.1 結(jié)構(gòu)特征差異
計(jì)算機(jī)與移動(dòng)智能終端在性能上存在較大差異,造成2種平臺(tái)下處理器的Cache設(shè)計(jì)存在差異。以x86處理器的Intel典型處理器core i5處理器為例,該處理器的L1 Cache為128KB,Cache行大小為64Byte。而ARM平臺(tái)處理器在Cortex-A8和Cortex-A9處理器各取一個(gè)典型的處理器進(jìn)行分析,即Google Nexus S的Exynos 3單核1 GHz處理器和Acer Iconia A510的Nvidia Tegra 3 1.4 GHz四核處理器,它們的具體參數(shù)如表2和表3所示。
表2 Google Nexus S處理器參數(shù)
表3 Acer Iconia A510的處理器參數(shù)
從表2、表3中可知:x86平臺(tái)的CPU Cache與ARM平臺(tái)的CPU Cache在Cache大小、Cache行大小、Cache組數(shù)等方面都存在差異,這些差異直接決定了Cache計(jì)時(shí)攻擊的實(shí)現(xiàn)方式。
同時(shí)在AES加密實(shí)現(xiàn)方式方面,PC端的AES實(shí)現(xiàn)方式有查T表和查S盒2種,在移動(dòng)終端往往不能進(jìn)行太過(guò)于復(fù)雜的加密,所以一般采用T查找表這種方式。以128位AES為例,T表包括256個(gè)4字節(jié)元素,使得每個(gè)T表的總大小為1kB。結(jié)合不同平臺(tái)的CPU Cache的參數(shù),可以發(fā)現(xiàn)T表所占據(jù)的行數(shù)會(huì)不同。
3.2 替換策略差異
關(guān)于替換策略,ARM處理器通常使用的是隨機(jī)替換策略,而x86處理器通常使用的是LRU(最近最少使用)替換策略。這2種替換策略的不同就會(huì)造成Cache驅(qū)逐方法上存在差異,從而導(dǎo)致原有Cache計(jì)時(shí)攻擊方法的兼容性問(wèn)題。
因此間諜程序等攻擊工具在移動(dòng)平臺(tái)的進(jìn)行攻擊時(shí),必須針對(duì)Cache替換策略進(jìn)行相應(yīng)調(diào)整。
3.3 高精度計(jì)時(shí)方法差異
基于ARM平臺(tái)的處理器,其操作系統(tǒng)為Android,使用性能監(jiān)控寄存器進(jìn)行計(jì)時(shí),而Intel處理器,在Windows和Linux系統(tǒng)下,使用時(shí)間戳計(jì)數(shù)器(TSC)進(jìn)行計(jì)時(shí)。
性能監(jiān)控寄存器可以通過(guò)計(jì)算時(shí)鐘周期實(shí)現(xiàn)精確計(jì)時(shí),并且最多可以計(jì)數(shù)31種不同的事件,同時(shí)該寄存器也可以管理和控制這些計(jì)數(shù)。通常來(lái)說(shuō),性能檢測(cè)寄存器只能在特權(quán)模式下被訪問(wèn),但是通過(guò)設(shè)置User Enable Register的適當(dāng)位,也可以使用用戶模式進(jìn)行訪問(wèn)。
在PC端,通常使用TSC進(jìn)行精確計(jì)時(shí)。這個(gè)64位的寄存器為了計(jì)算時(shí)鐘周期,每過(guò)一個(gè)時(shí)鐘周期就會(huì)增加一次。如果要訪問(wèn)TSC,一般是通過(guò)RDTSC指令完成的。這種高精度計(jì)時(shí)方法的差異導(dǎo)致在ARM平臺(tái)實(shí)現(xiàn)Cache計(jì)時(shí)攻擊需要調(diào)整其計(jì)時(shí)方法。
ARM處理器和x86處理器的Cache在結(jié)構(gòu)、高精度計(jì)時(shí)方法和替換策略等方面都存在差異,因此在ARM處理器上實(shí)現(xiàn)Cache攻擊必須要對(duì)原有的Cache計(jì)時(shí)攻擊方法進(jìn)行改進(jìn)。本文通過(guò)分析研究,針對(duì)存在的特征差異,分別提出了相應(yīng)的改進(jìn)措施。
4.1 調(diào)整間諜程序訪問(wèn)T表和Cache行的相關(guān)參數(shù)
由于Cache大小、Cache行大小、Cache行數(shù)、組數(shù)等參數(shù)的不同,同樣的AES算法T查找表在加載進(jìn)2個(gè)平臺(tái)的Cache時(shí),所占據(jù)的Cache行數(shù)以及位置是不一樣的,這些差異需要針對(duì)ARM Cache的參數(shù)調(diào)整間諜程序。
以128位AES加密算法為例,一個(gè)T表的大小為1KB,Exynos 3單核1 GHz處理器能存放32個(gè)T表,一個(gè)T表在該處理器里占用16行Cache,映射方式為4路組相聯(lián)。Nvidia Tegra 3 1.4 GHz四核處理器能存放32個(gè)T表,一個(gè)T表占用32行Cache,映射方式為4路組相聯(lián)。典型的PC處理器Cache能存放128個(gè)T表,每個(gè)T表占用16行。
根據(jù)這個(gè)差異,間諜程序在運(yùn)行前,應(yīng)針對(duì)ARM處理器的特征參數(shù),調(diào)整其訪問(wèn)T表和Cache行的相關(guān)參數(shù)。
4.2 多次訪問(wèn)一個(gè)數(shù)據(jù)塊或者分配更大內(nèi)存塊
為了精確驅(qū)逐存有AES算法T查找表的Cache行,需要實(shí)例化一個(gè)臨時(shí)數(shù)據(jù)結(jié)構(gòu),其大小為L(zhǎng)1_Cache_Size字節(jié),4個(gè)這樣的數(shù)據(jù)結(jié)構(gòu)剛好對(duì)應(yīng)一個(gè)L1_S Cache組。對(duì)于虛擬Cache來(lái)說(shuō),可以很容易通過(guò)分配連續(xù)內(nèi)存區(qū)域來(lái)建立映射,然而對(duì)于物理Cache來(lái)說(shuō)這樣的映射必須手動(dòng)建立。
當(dāng)訪問(wèn)這個(gè)臨時(shí)數(shù)據(jù)結(jié)構(gòu)里的數(shù)據(jù)時(shí),隨機(jī)替換策略在所有可能的Cache行Ω={1,2,3,4}中隨機(jī)選擇元素(Cache行)替換。但是AES T表元素在整個(gè)臨時(shí)字節(jié)數(shù)組都被訪問(wèn)完之后(即平均每個(gè)Cache組訪問(wèn)了4次之后)仍然被緩存著的概率對(duì)于Cache攻擊來(lái)說(shuō)太低。因此,根據(jù)ARM Cache的不確定替換策略,有2種可能的方法確定驅(qū)逐特定Cache組的概率:①訪問(wèn)L1_W數(shù)據(jù)塊多余1次;②分配一個(gè)更大的內(nèi)存塊,即Cache大小的3倍。根據(jù)圖2的概率樹可知,第二種方法更有效。
圖2 內(nèi)存塊bj在重新訪問(wèn)內(nèi)存塊bi之后仍然被緩存的概率樹
4.3 ARM平臺(tái)下的高精度計(jì)時(shí)方法
在ARM平臺(tái),沒(méi)有時(shí)間戳計(jì)數(shù)器,只能通過(guò)性能監(jiān)控寄存器計(jì)時(shí)。而通常來(lái)說(shuō),性能監(jiān)控寄存器只能在特權(quán)模式下訪問(wèn),需要對(duì)User Enable Register進(jìn)行適當(dāng)?shù)脑O(shè)置才能在用戶模式下訪問(wèn)。而周期計(jì)數(shù)寄存器只能被有特權(quán)的應(yīng)用訪問(wèn),除非明確給非特權(quán)的應(yīng)用賦予訪問(wèn)權(quán)利。核心模塊的目的就是在ARM控制寄存器里設(shè)置一個(gè)特別的位,賦予非特權(quán)應(yīng)用訪問(wèn)周期計(jì)數(shù)寄存器的權(quán)限。因?yàn)榧虞d特權(quán)模塊需要訪問(wèn)特權(quán),所以需要一個(gè)破解(root)過(guò)的移動(dòng)設(shè)備來(lái)實(shí)行攻擊。
另外,要在移動(dòng)端進(jìn)行精確的計(jì)時(shí),需要對(duì)用戶的使能寄存器(PMUSERENR)、性能監(jiān)控控制寄存器(PMCR)、計(jì)數(shù)使能設(shè)置寄存器(PMCNTENSET)、計(jì)數(shù)使能清除寄存器(PMCNTENCLR)、周期計(jì)數(shù)寄存器(PMCCNTR)分別進(jìn)行設(shè)置,在合適的配置之后才能針對(duì)移動(dòng)設(shè)備進(jìn)行精確計(jì)時(shí)。
本研究通過(guò)分析基于ARM處理器和x86處理器2個(gè)平臺(tái)的Cache特征差異,分析了原有Cache計(jì)時(shí)攻擊算法在移動(dòng)智能終端上的不兼容性,并分別提出了相應(yīng)的解決方案。
進(jìn)一步的工作將致力于將上述解決方案進(jìn)行整合并使其在實(shí)際攻擊中應(yīng)用,同時(shí)由于現(xiàn)在攻擊的實(shí)現(xiàn)前提是移動(dòng)設(shè)備已被root過(guò),所以如何在沒(méi)有被root的設(shè)備上進(jìn)行攻擊,也是下一步研究工作。
[1]Herath U,Alawatugoda J,Ragel R.Software implementation level countermeasures against the cache timing attack on advanced encryption standard[C]//Eprint Arxiv:1403. IEEE,2013:75-80.[2]周平,寇應(yīng)展,王韜,等.一種改進(jìn)的針對(duì)滑動(dòng)窗口模冪運(yùn)算實(shí)現(xiàn)的密碼數(shù)據(jù)Cache計(jì)時(shí)攻擊[J].計(jì)算機(jī)科學(xué),2013(3):201-205.
[3]ARM.ARM Architecture Reference Manual,ARMv7-A and ARMv7-R ed.,ARM DDI 0406 A[Z].2007.
[4]Osvik D A,Shamir A,Tromer E.Cache attacks and countermeasures:the case of AES[M].Springer Berlin Heidelberg,2006:1-20.
[5]Bernstein D J.Cache-timing attacks on AES[Z].2005.
[6]ARM.ARM處理器[EB/OL].[2015-01-20].http:// www.arm.com/zh/products/processors/index.php.
[7]王超宇.緩存替換策略研究[D].哈爾濱:哈爾濱工程大學(xué),2012.
[8]陳財(cái)森,王韜,郭世澤,等.RSA蹤跡驅(qū)動(dòng)指令Cache計(jì)時(shí)攻擊研究[J].軟件學(xué)報(bào),2013,24(7):1683?1694.
[9]趙新杰,王韜,郭世澤,等.AES訪問(wèn)驅(qū)動(dòng)Cache計(jì)時(shí)攻擊[J].軟件學(xué)報(bào),2011,22(3):572-591.
[10]Percival C.Cache missing for fun and profit[Z].2005.
[11]Neve M,Seifert J P.Advances on access-driven Cache attacks on AES[C]//Selected Areas in Cryptography.Springer Berlin Heidelberg,2007:147-162.
[12]Acri?mez O,Ko? ? K.Trace-driven Cache attacks on AES(short paper)[M].Springer Berlin Heidelberg,2006:112 -121.
(責(zé)任編輯楊繼森)
Research on Timing Analysis Based on Cache Feature of ARM
DENG Liu-yu-qina,CHEN Cai-senb,CAI Hong-liua,XUE Ting-meia,YU Xia
(a.Department of Information Engineering;b.Ministry of Science Research,Academy of Armored Forces Engineering,Beijing 100072,China)
By investigating Cache structure,Cache timing attack basic principle and attack model,we found that the existed Cache timing attack method for x86 platform cannot be applied for ARM platform. This is caused by the differences of structure et.al between the ARM processor Cache and x86 processor Cache.This article respectively investigated x86 platform Cache and ARM platform Cache in aspects such as structure,replacement strategy,accurate timing methods,combining with the Cache timing attack principle,and put forward the improvement suggestions to solve these problems.To Cache structure difference,supporting parameters must be modified when writing spy programs.In view of the different replacement policy,access to a data block more than one time or access a larger data block may be improvement suggestions.In view of the different timing method,we put forward that we must use performance-monitor registers on the ARM platform for precise timing.
Cache timing attack;ARM processor;mobile smart devices;Cache replacement policy
鄧柳于勤,陳財(cái)森,蔡紅柳,等.基于ARM處理器Cache特征的計(jì)時(shí)分析研究[J].四川兵工學(xué)報(bào),2015(11):118-121.
format:DENG Liu-yu-qin,CHEN Cai-sen,CAI Hong-liu,et al.Research on Timing Analysis Based on Cache Feature of ARM[J].Journal of Sichuan Ordnance,2015(11):118-121.
TP309
A
1006-0707(2015)11-0118-05
10.11809/scbgxb2015.11.031
2015-01-28
國(guó)家自然科學(xué)基金資助項(xiàng)目“基于ARM架構(gòu)的移動(dòng)智能終端的Cache計(jì)時(shí)攻擊技術(shù)研究”(61402528)
鄧柳于勤(1991—),男,碩士研究生,主要從事信息安全與對(duì)抗技術(shù)研究;陳財(cái)森(1983—),男,博士,助理研究員,主要從事信息安全與密碼分析研究;蔡紅柳(1960—),女,副教授,主要從事網(wǎng)絡(luò)安全研究;薛廷梅(1978—),男,講師,主要從事計(jì)算機(jī)網(wǎng)絡(luò)與網(wǎng)絡(luò)安全研究;于茜(1992—),女,碩士研究生,主要從事信息安全與對(duì)抗技術(shù)研究。