999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于ARM處理器Cache特征的計時分析研究

2015-11-26 06:20:17鄧柳于勤陳財森蔡紅柳薛廷梅于茜
兵器裝備工程學報 2015年11期
關鍵詞:差異策略方法

鄧柳于勤,陳財森,蔡紅柳,薛廷梅,于茜

(裝甲兵工程學院a.信息工程系;b.科研部,北京100072)

基于ARM處理器Cache特征的計時分析研究

鄧柳于勤a,陳財森b,蔡紅柳a,薛廷梅a,于茜a

(裝甲兵工程學院a.信息工程系;b.科研部,北京100072)

通過研究Cache基本結構、Cache計時攻擊的基本原理和攻擊模型,發現由于ARM處理器與x86處理器在Cache結構及特征等方面存在差異,導致原有基于x86平臺的Cache計時攻擊方法在ARM平臺上具有不適用性。針對x86處理器與ARM處理器Cache在結構、替換策略、精確計時方法等方面的差異,結合Cache計時攻擊原理,分別提出了改進建議。針對Cache結構差異,提出在編寫間諜程序時參數必須進行配套修改;針對替換策略的不同,提出了訪問一個數據塊多次和建立一個大數據塊的改進建議;針對計時方法的不同,提出在ARM平臺進行精確計時必須要調用性能監控寄存器。

Cache計時攻擊;ARM處理器;移動智能終端;Cache替換策略

目前智能手機、平板電腦等移動智能終端的廣泛使用,已經成為人們日常生活中不可或缺的一部分,但同時也帶來了個人隱私、私有數據泄漏等安全問題,其安全性受到很高關注,因此需要采取安全措施,如用密碼算法加密私有信息。同時,ARM處理器是專門為移動智能終端設計的低功耗處理器,是目前移動終端上主流的處理器之一。為了滿足其高性能要求,ARM處理器也采用了CPU緩存技術,因此為了確保移動終端的數據安全和設備自身安全,基于ARM處理器的密碼算法Cache計時攻擊研究顯得尤為迫切。

Cache計時攻擊是旁路攻擊的一種,該攻擊已被證明用在基于x86架構的桌面計算機的RSA、AES算法具有較大威脅,并已取得一定成就[1-2]。而隨著基于ARM架構下移動智能終端的飛速發展以及對安全性需求日益強烈,急需對ARM架構下移動智能終端的Cache計時攻擊展開研究。同時依據Cache計時攻擊的基本原理,掌握Cache結構特征是Cache計時攻擊的根本前提。

因此有必要研究ARM架構處理器的Cache結構特征,并分析ARM架構與x86架構處理器的Cache結構與特征差異,基于原有x86架構的Cache計時攻擊研究成果,分析移動智能終端的Cache計時攻擊研究方案。

本文分析了ARM處理器Cache與x86處理器Cache的差異。這2種處理器在Cache結構、高精度計時方式以及Cache替換策略等方面存在一定差異,這些差異會導致2個平臺的Cache攻擊方法存在不適用的問題。針對特征差異,本研究提出了相應的解決方案:針對結構的不同,提出間諜程序必須要做出相應修改;針對計時方法的不同,提出了利用ARM處理器的性能監控寄存器來實現精確計時的方法,并且指出需要對這一組寄存器進行適當的配置才能達到精確計時;針對Cache替換策略的不同,給出了通過訪問同一個內存塊多次或者通過訪問一個建立的大內存塊來填充的建議。

1 ARM處理器及Cache特性分析

1.1 ARM處理器

處理器的架構直接決定指令組必須遵守的規則,不同的公司可能生產出架構相同的不同處理器產品。移動智能終端使用最為普遍的處理器架構是ARM v7,該架構分為3個子系列,其中ARM v7-A系列是面向智能手機和平板電腦的。ARM v7-A系列方案的實現成果有Cortex-A8、Cortex-A9等處理器以及高通公司生產的驍龍處理器等[3-6]。

本文主要的攻擊對象為使用Cortex-A系列處理器的移動設備,其處理器為ARM v7-A架構,是專門為供能有限的移動設備而設計的,被廣泛用在了智能手機、平板電腦、上網本上。

ARM處理器通常都支持循環替換策略和偽隨機替換策略2種Cache替換策略[7]。由于后者實現較為簡單,因此大多數采用偽隨機替換策略。通過控制一個寄存器可以切換這2種替換策略。根據ARM架構參考手冊(ARM v7-A和 ARM v7-R版本)顯示,系統控制寄存器(SCTLR)被用來管理某些內存系統設置[3]。該寄存器第14位(RR位)是用來決定替換策略。表1展示了該位可能的值以及相應的設置。

表1 系統控制寄存器

1.2 Cache結構

Cache是為了解決CPU與主存的訪問速度存在不匹配的問題而出現的。依據時間位置法則和空間位置法則,在CPU和主存之間加入一個Cache(緩存),Cache的讀取速度介于CPU和主存之間,CPU讀取數據之前先在Cache中查找數據是否存在,若存在則直接從Cache中讀取,這種事件稱之為一次Cache命中(hit),若不存在則從主存中讀取,并復制一份到Cache中,這種事件稱之為一次失效(miss)。采用Cache技術使CPU與主存速度不匹配的問題得到有效改善。

Cache有3種不同的映射方式[8]:全相聯映射方式、直相聯映射方式和組相聯映射方式。全相聯映射指的是任一主存塊能映射到Cache中任意行(主存塊容量等于Cache行容量);直接相聯映射方式是某一主存塊只能映射到Cache的特定行;組相聯映射方式則是全相聯與直接相聯映射方式的結合,結合兩者的優點。

2 Cache計時攻擊

Cache計時攻擊利用的是CPU訪問Cache是“命中”和“失效”所產生的差異。在Cache訪問過程中,根據要訪問的數據是否在之前存放于Cache中,會產生“命中”和“失效”2種情況,若“命中”,CPU直接從Cache中讀取數據,時間較短,若“失效”,則需從內存中將數據讀給Cache并送往CPU。利用這種計時差異,結合密碼硬件加密方法,對加密過程加以監視并收集泄露數據,利用密鑰信息與Cache訪問信息的相關性,在一定條件下可以分析出密鑰,達到破解密鑰的目的[9]。

2.1 攻擊的分類

根據Cache計時時間的采集方式不同,可將Cache計時攻擊分為時序驅動、訪問驅動、蹤跡驅動3種方式[4]。①時序驅動攻擊采集整個加密進程的加密時間[5],這種方式的優點是采集樣本的方法相對簡單,平臺適用性強,因為只需要采集整個加密的時間,而不需要做太多內部工作,但是缺點是樣本量很大,一般都以百萬計,從而造成離線分析方法比較復雜;②訪問驅動攻擊利用間諜進程驅逐Cache并重復運行的方法采集加密解密過程中訪問過的Cache組信息[10-11],采集方法與時序驅動相比稍微復雜一些,但是分析方法簡單,利用木馬植入技術,可以實現本地攻擊和遠程攻擊;③蹤跡驅動攻擊比訪問驅動攻擊的采集精度更高[12],該方法需要精確采集詳細的加密解密信息,例如一次加密解密過程中每次查表的命中和失效信息,該方法通過純計算方法要實現十分困難,要輔以功耗分析等手段才能實現,因此需要物理接觸密碼設備,導致該攻擊不論在本地和遠程實現起來都很困難。

2.2 攻擊模型

以訪問驅動攻擊為例,其攻擊模型為:先利用間諜進程監視密碼進程的Cache訪問操作,然后通過計時方法,在密碼進程一次或多次加密后,用間諜進程對數據Cache進行數據二次訪問的Cache,獲得“命中”和“失效”特征信息,可以間接獲得加密進程的Cache訪問位置信息等信息,再進一步對其分析,預測加密查表索引信息,根據查表索引、明文密文對以及密鑰之間的關系縮小密鑰搜索空間。具體攻擊模型如圖1所示。

圖1 訪問驅動計時攻擊模型

1)Cache信息采集:在密碼進程(AP)運行的同時,讓間諜進程(SP)在同一PC機上并發運行,AP和SP在主存中所占內存塊分別設為ACB和SCB,其中SCB的大小和Cache存儲空間大小相同(如圖1(a)、圖1(b)所示)。在AP加密之前,SP先將私有內存數據全部加載到Cache中,從而可以清空Cache(如圖1(c)所示);然后再觸發AP執行加密操作,在此加密過程中,AP進程會對Cache進行多次查表訪問,并根據Cache替換策略的特點,會將SP部分的預先加載數據從Cache中驅逐出去(如圖1(d)所示);之后,SP再次訪問所有私有數據時,對AP驅逐出來的數據會發生“Cache失效”、從而因需訪問二級緩存或主存,消耗較多的時鐘周期,通過這種時間差異對比,SP可得到AP在每次加密中查Ti表所訪問的Cache行或Cache組集合以及沒有訪問過的Cache行或Cache組集合。(如圖1(e)所示)。

2)Cache信息分析:根據所采集Cache旁路信息,利用查找表Cache組和查表索引之間的映射關系,得到可能的查表索引值集合A或不可能值集合B,然后結合明文或密文,通過分析預測密鑰。

3 ARM架構處理器的Cache特征分析

由于ARM處理器與x86處理器在結構和特征上存在差異,而這些差異會導致過去的攻擊經驗在ARM平臺上不適用,因此本節著重分析這2種處理器存在哪些差異。

3.1 結構特征差異

計算機與移動智能終端在性能上存在較大差異,造成2種平臺下處理器的Cache設計存在差異。以x86處理器的Intel典型處理器core i5處理器為例,該處理器的L1 Cache為128KB,Cache行大小為64Byte。而ARM平臺處理器在Cortex-A8和Cortex-A9處理器各取一個典型的處理器進行分析,即Google Nexus S的Exynos 3單核1 GHz處理器和Acer Iconia A510的Nvidia Tegra 3 1.4 GHz四核處理器,它們的具體參數如表2和表3所示。

表2 Google Nexus S處理器參數

表3 Acer Iconia A510的處理器參數

從表2、表3中可知:x86平臺的CPU Cache與ARM平臺的CPU Cache在Cache大小、Cache行大小、Cache組數等方面都存在差異,這些差異直接決定了Cache計時攻擊的實現方式。

同時在AES加密實現方式方面,PC端的AES實現方式有查T表和查S盒2種,在移動終端往往不能進行太過于復雜的加密,所以一般采用T查找表這種方式。以128位AES為例,T表包括256個4字節元素,使得每個T表的總大小為1kB。結合不同平臺的CPU Cache的參數,可以發現T表所占據的行數會不同。

3.2 替換策略差異

關于替換策略,ARM處理器通常使用的是隨機替換策略,而x86處理器通常使用的是LRU(最近最少使用)替換策略。這2種替換策略的不同就會造成Cache驅逐方法上存在差異,從而導致原有Cache計時攻擊方法的兼容性問題。

因此間諜程序等攻擊工具在移動平臺的進行攻擊時,必須針對Cache替換策略進行相應調整。

3.3 高精度計時方法差異

基于ARM平臺的處理器,其操作系統為Android,使用性能監控寄存器進行計時,而Intel處理器,在Windows和Linux系統下,使用時間戳計數器(TSC)進行計時。

性能監控寄存器可以通過計算時鐘周期實現精確計時,并且最多可以計數31種不同的事件,同時該寄存器也可以管理和控制這些計數。通常來說,性能檢測寄存器只能在特權模式下被訪問,但是通過設置User Enable Register的適當位,也可以使用用戶模式進行訪問。

在PC端,通常使用TSC進行精確計時。這個64位的寄存器為了計算時鐘周期,每過一個時鐘周期就會增加一次。如果要訪問TSC,一般是通過RDTSC指令完成的。這種高精度計時方法的差異導致在ARM平臺實現Cache計時攻擊需要調整其計時方法。

4 針對ARM處理器的Cache計時攻擊方法

ARM處理器和x86處理器的Cache在結構、高精度計時方法和替換策略等方面都存在差異,因此在ARM處理器上實現Cache攻擊必須要對原有的Cache計時攻擊方法進行改進。本文通過分析研究,針對存在的特征差異,分別提出了相應的改進措施。

4.1 調整間諜程序訪問T表和Cache行的相關參數

由于Cache大小、Cache行大小、Cache行數、組數等參數的不同,同樣的AES算法T查找表在加載進2個平臺的Cache時,所占據的Cache行數以及位置是不一樣的,這些差異需要針對ARM Cache的參數調整間諜程序。

以128位AES加密算法為例,一個T表的大小為1KB,Exynos 3單核1 GHz處理器能存放32個T表,一個T表在該處理器里占用16行Cache,映射方式為4路組相聯。Nvidia Tegra 3 1.4 GHz四核處理器能存放32個T表,一個T表占用32行Cache,映射方式為4路組相聯。典型的PC處理器Cache能存放128個T表,每個T表占用16行。

根據這個差異,間諜程序在運行前,應針對ARM處理器的特征參數,調整其訪問T表和Cache行的相關參數。

4.2 多次訪問一個數據塊或者分配更大內存塊

為了精確驅逐存有AES算法T查找表的Cache行,需要實例化一個臨時數據結構,其大小為L1_Cache_Size字節,4個這樣的數據結構剛好對應一個L1_S Cache組。對于虛擬Cache來說,可以很容易通過分配連續內存區域來建立映射,然而對于物理Cache來說這樣的映射必須手動建立。

當訪問這個臨時數據結構里的數據時,隨機替換策略在所有可能的Cache行Ω={1,2,3,4}中隨機選擇元素(Cache行)替換。但是AES T表元素在整個臨時字節數組都被訪問完之后(即平均每個Cache組訪問了4次之后)仍然被緩存著的概率對于Cache攻擊來說太低。因此,根據ARM Cache的不確定替換策略,有2種可能的方法確定驅逐特定Cache組的概率:①訪問L1_W數據塊多余1次;②分配一個更大的內存塊,即Cache大小的3倍。根據圖2的概率樹可知,第二種方法更有效。

圖2 內存塊bj在重新訪問內存塊bi之后仍然被緩存的概率樹

4.3 ARM平臺下的高精度計時方法

在ARM平臺,沒有時間戳計數器,只能通過性能監控寄存器計時。而通常來說,性能監控寄存器只能在特權模式下訪問,需要對User Enable Register進行適當的設置才能在用戶模式下訪問。而周期計數寄存器只能被有特權的應用訪問,除非明確給非特權的應用賦予訪問權利。核心模塊的目的就是在ARM控制寄存器里設置一個特別的位,賦予非特權應用訪問周期計數寄存器的權限。因為加載特權模塊需要訪問特權,所以需要一個破解(root)過的移動設備來實行攻擊。

另外,要在移動端進行精確的計時,需要對用戶的使能寄存器(PMUSERENR)、性能監控控制寄存器(PMCR)、計數使能設置寄存器(PMCNTENSET)、計數使能清除寄存器(PMCNTENCLR)、周期計數寄存器(PMCCNTR)分別進行設置,在合適的配置之后才能針對移動設備進行精確計時。

5 結束語

本研究通過分析基于ARM處理器和x86處理器2個平臺的Cache特征差異,分析了原有Cache計時攻擊算法在移動智能終端上的不兼容性,并分別提出了相應的解決方案。

進一步的工作將致力于將上述解決方案進行整合并使其在實際攻擊中應用,同時由于現在攻擊的實現前提是移動設備已被root過,所以如何在沒有被root的設備上進行攻擊,也是下一步研究工作。

[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]周平,寇應展,王韜,等.一種改進的針對滑動窗口模冪運算實現的密碼數據Cache計時攻擊[J].計算機科學,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].哈爾濱:哈爾濱工程大學,2012.

[8]陳財森,王韜,郭世澤,等.RSA蹤跡驅動指令Cache計時攻擊研究[J].軟件學報,2013,24(7):1683?1694.

[9]趙新杰,王韜,郭世澤,等.AES訪問驅動Cache計時攻擊[J].軟件學報,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.

(責任編輯楊繼森)

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

鄧柳于勤,陳財森,蔡紅柳,等.基于ARM處理器Cache特征的計時分析研究[J].四川兵工學報,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

國家自然科學基金資助項目“基于ARM架構的移動智能終端的Cache計時攻擊技術研究”(61402528)

鄧柳于勤(1991—),男,碩士研究生,主要從事信息安全與對抗技術研究;陳財森(1983—),男,博士,助理研究員,主要從事信息安全與密碼分析研究;蔡紅柳(1960—),女,副教授,主要從事網絡安全研究;薛廷梅(1978—),男,講師,主要從事計算機網絡與網絡安全研究;于茜(1992—),女,碩士研究生,主要從事信息安全與對抗技術研究。

猜你喜歡
差異策略方法
相似與差異
音樂探索(2022年2期)2022-05-30 21:01:37
例談未知角三角函數值的求解策略
我說你做講策略
找句子差異
生物為什么會有差異?
高中數學復習的具體策略
數學大世界(2018年1期)2018-04-12 05:39:14
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
捕魚
M1型、M2型巨噬細胞及腫瘤相關巨噬細胞中miR-146a表達的差異
主站蜘蛛池模板: 亚洲乱亚洲乱妇24p| 日韩a在线观看免费观看| 久久人妻系列无码一区| 99久久99视频| 一级香蕉视频在线观看| 日韩AV手机在线观看蜜芽| 91丨九色丨首页在线播放| 99资源在线| 波多野结衣二区| 久久国产av麻豆| 99r在线精品视频在线播放| 亚洲第一在线播放| 在线无码私拍| 一本一道波多野结衣av黑人在线| 在线人成精品免费视频| 国产在线欧美| 免费一极毛片| 伊人色天堂| 国产一级无码不卡视频| 狠狠色丁婷婷综合久久| 99精品国产高清一区二区| 黄色网址手机国内免费在线观看| 99爱视频精品免视看| 黄色网在线| 亚洲精品不卡午夜精品| 自偷自拍三级全三级视频| 国产美女一级毛片| 在线观看国产网址你懂的| 亚洲精品手机在线| 欧美精品成人一区二区视频一| 天堂成人av| 重口调教一区二区视频| 欧美日韩v| 久久伊人操| 国产在线观看人成激情视频| 青青青视频免费一区二区| 久久国产毛片| av在线人妻熟妇| 国产在线日本| 福利片91| 欧美激情视频二区| 欧美在线天堂| 直接黄91麻豆网站| 国产一在线观看| 欧美性色综合网| 99热这里只有精品2| 国产美女免费| 一区二区自拍| 国产一区二区三区在线观看视频| 亚洲无线视频| 无码高潮喷水专区久久| 人人91人人澡人人妻人人爽| 国产香蕉国产精品偷在线观看 | 欧美性天天| 精品人妻无码区在线视频| 久久黄色影院| 欧美午夜性视频| 成人av手机在线观看| 亚洲成人网在线播放| 亚洲动漫h| 欧美a级完整在线观看| 久久综合九色综合97婷婷| 精品视频在线一区| 激情综合网址| 亚洲日韩图片专区第1页| 啊嗯不日本网站| 制服丝袜国产精品| 国产黑丝视频在线观看| 国产真实乱子伦视频播放| 国产欧美日韩va另类在线播放| 91国内视频在线观看| 国产精品制服| 中文字幕2区| 青青青视频91在线 | 色成人亚洲| 尤物视频一区| 国产真实乱了在线播放| 美女被操91视频| 日韩毛片免费观看| 中文无码影院| 亚洲精品不卡午夜精品| 久久鸭综合久久国产|