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

基于高速緩存的側信道攻擊方法研究

2021-03-07 06:22:09李志峰高玉琢
網絡安全技術與應用 2021年9期
關鍵詞:受害者信息

◆李志峰 高玉琢

基于高速緩存的側信道攻擊方法研究

◆李志峰 高玉琢

(寧夏大學信息工程學院 寧夏 750000)

基于高速緩存的側信道攻擊由于其高隱蔽性、高傳輸性、甚至無須物理接觸等特點打破了設備的隔離保護機制,對當今的信息安全產生了重大的威脅,開展側信道攻擊的研究具有重要的國家和社會意義。本文進行了基于高速緩存的側信道攻擊的研究。該攻擊所用到的信息包括cache訪問軌跡、整體加密時間或者cache訪問模式。根據攻擊者對目標系統的攻擊手段和擁有的權限能力可以將攻擊歸為三大類:軌跡驅動攻擊、時間驅動攻擊和訪問驅動攻擊。本文首先研究cache信息的泄露原理及三大類攻擊方法,并指出該類攻擊方法的優勢,最后對cache側信道攻擊的通用架構及具體的攻擊步驟進行詳細研究。

高速緩存;側信道攻擊;漏洞;信息泄露

在硬件設備實際應用中,會泄漏出能量、電磁等多種類型的物理信息,這些信息被稱為側信息。側信息在密碼計算過程中是無法避免總會產生的,攻擊者通過直接或間接的方式獲取密碼算法運算過程中的中間值信息,對算法進行攻擊,進而恢復出算法密鑰,這一類攻擊方法統稱為側信道攻擊技術。側信道攻擊對信息安全有著重大的安全威脅,對于側信道攻擊的研究具有重要的國家和社會意義。基于高速緩存(Cache)的側信道攻擊方法[1]是在2002年第一次提出的,其利用了密碼運算過程中對cache資源訪問時泄露的信息來對密碼算法實現進行攻擊從而獲得算法的密鑰[2-4]。Cache是CPU內部集成的高速緩存存儲器件,CPU通過使用Cache緩存數據來對訪問內存進行加速。當CPU讀取數據時,訪問Cache的速度與訪問內存的速度相差約兩個數量級[3],從而造成訪問數據時由于數據所在位置不同(Cache命中與否)出現顯著的時間差異。攻擊者通過觀察密碼系統運行時Cache數據訪問時間、密碼運算執行時間的差異,分析獲取Cache訪問狀態與密鑰數據的關系,進而獲取部分或全部密鑰信息,是一種非常有效的攻擊方法。相比于其他類型側信道攻擊,Cache側信道攻擊無須專用硬件設備,攻擊者甚至無須物理接觸目標對象,僅通過測量密碼運算執行時間或在目標對象上執行攻擊程序以獲取Cache訪問模式,即可獲取全部或部分密鑰信息,因此Cache側信道要比其他側信道的威脅更大,危害更嚴重。Cache側信道攻擊技術發展至今,已有多種針對不同環境和場景的攻擊方法,可以對不同運行環境中的不同密碼算法發起攻擊。本文將針對當前主流的Cache側信道攻擊方法進行研究,并對攻擊的思路和方法進行探究,抽象出Cache側信道攻擊通用的框架模型。

1 Cache信息泄露原理

Cache是位于CPU與主存之間的靜態存儲器,用以解決CPU與主存之間讀取速度不匹配的問題[5]。具有高速存儲性質的Cache造價昂貴,因此,現代計算機的Cache大多采用多層次結構,通常為三層。其特點就是越靠近CPU的模塊,存儲速度越快。當CPU讀取數據時,首先查看Cache中是否存在所需數據。如果存在,則直接從Cache中讀取數據,即Cache 命中,此時讀取速度較快;如果不存在,則需要從內存中讀取數據并將數據加載到Cache中,即Cache失效,此時讀取速度較慢。Cache和內存在存取速度上存在較大差異,內存的存取速度遠小于Cache的存取速度,兩者相差約兩個數量級,故CPU 訪問內存所需的時間遠大于訪問Cache所需的時間。根據該時間差異,可以判斷出數據是否被訪問過,如果訪問過,則會在Cache 中留下痕跡。

Cache側信道攻擊可以獲取Cache信息從而實現攻擊的另一個重要原理是共享內存。為防止內存中出現冗余數據,操作系統使用共享內存為不同的程序進程提供共享數據。共享數據的內容包括二進制文件或者程序段,每個程序都能訪問共享內存,如果程序對共享數據進行修改,原有的共享內容將繼續在各進程中進行共享。因為很多程序擁有共性,比如輸入、顯示以及一些程序代碼。通過以上的方法和過程,能夠解決內存數據冗余的問題,同時降低Cache競爭并提高運行速度,但這種共享內存使得Cache計時攻擊成為可能。操作系統通過將同一個物理地址空間映射到不同程序的虛擬地址空間,以實現內存共享,其中,不同程序對共享數據的打開與讀取操作互不影響。利用間諜程序將受害程序的一段共享二進制映射到內存中,當受害程序運行時,則會直接從物理內存中獲取數據,且訪問的數據將會停留在Cache中。因為這段共享二進制文件的物理地址對間諜程序透明,間諜程序遍歷所有固定地址范圍,通過訪問數據時的Cache 命中與失效差異,以判斷受害程序訪問的數據,從而實現對Cache信息獲取。

2 Cache側信道攻擊

自2002年Page[1]提出了基于高速緩存的側信道攻擊方法以來,研究者們分析Cache訪問時所能利用到的不同信息:Cache訪問軌跡、整體加密時間或者Cache訪問模式,提出了各種各樣的攻擊方法,這些方法根據攻擊者對目標系統的攻擊手段和擁有的權限能力可以分為三大類,分別是:軌跡驅動(trace-driven)的攻擊、時間驅動(time-driven)的攻擊和訪問驅動(access-driven)的攻擊。

2.1 Cache側信道攻擊方法

(1)軌跡驅動(trace-driven)攻擊。攻擊者有能力接觸到目標物理機器硬件,通過在密碼運算時對Cache和內存的能量、電磁輻射等變化進行物理監聽,分析每次密碼運算時查找表訪問中Cache命中(即查找表在Cache中)與否,對多組不同明文進行監測,通過分析Cache命中與否的序列,獲取密鑰信息。軌跡驅動Cache側信道攻擊最早由Page[1]提出,通過對DES算法的查找表進行監控,成功降低了DES密鑰查找空間。2005年,Bertoni等人成功獲取了AES第一輪的Cache命中序列,分析序列得到48bit的AES密鑰。2006年,Bonneau將攻擊擴展到AES最后一輪,成功獲取AES完整密鑰。Gallias等人在2010年對軌跡驅動Cache攻擊進行了改進,對AES第一輪攻擊即可獲取98bit的密鑰。

(2)時間驅動(time-driven)攻擊。攻擊者僅能測量密碼運算的整體時間,通過統計由Cache命中和未命中所造成的密碼運算時間差異,獲取密鑰信息。對于不同明文輸入,由于Cache命中數不同會導致計算時間有明顯差異,攻擊者通過測量密碼運算整體執行時間,統計分析不同明文對應的加密時間可獲取密鑰信息。時間驅動Cache攻擊主要分為兩類:內部碰撞攻擊[6]和Bernstein攻擊[7]。內部碰撞攻擊利用同一個Cache line中查找表條目的訪問會產生內部碰撞,內部碰撞的發生導致更多的Cache命中,使得執行時間更短,攻擊者通過控制輸入的明文信息,根據執行時間即可推斷出密鑰部分比特信息。Bernstein攻擊通過在與目標機器完全相同的機器上運行相同的密碼算法實現,針對查找表的每個輸入,在學習機器上獲取加密時間的極值點對應的輸入值,以確定目標機器上的密鑰信息。

(3)訪問驅動(access-driven)攻擊。訪問驅動攻擊要求攻擊者能夠在目標機器中運行程序以控制Cache并獲取Cache訪問的精確時間,進而能夠獲取相應的Cache是否被訪問,并分析獲取密鑰信息。訪問驅動攻擊的攻擊者在目標機器中運行的間諜進程和密碼運算進程共享部分Cache資源,間諜進程監控訪問自身數據所需的時間,根據訪問時間長短判斷相應數據是否在Cache中,從而推斷出密碼運算所訪問的Cache line。通過連續的監控,攻擊者得到密碼運算的Cache訪問模式序列,并結合算法特性分析得到密鑰的信息。典型的訪問驅動攻擊包括Prime+Probe和Flush+Reload等[8-10]。

2.2 相比其他攻擊方法的優勢

相比于其他類型的攻擊,基于Cache 的側信道攻擊擁有以下優勢:

(1)相比于傳統的密碼分析,基于Cache 的側信道攻擊在算法實現運行時Cache的使用進行監控,避免了復雜的理論分析,且能夠有效獲取密碼運算關鍵步驟的信息,進而對密鑰信息進行恢復。例如對128位的AES算法,使用Cache側信道攻擊只需要6-7個加密周期就能成功恢復出其密鑰。

(2)相比于其他類型的側信道攻擊,Cache側信道攻擊不需要額外的設備對目標系統進行監控。比如能量攻擊需要使用設備對目標系統的能量功耗進行測量,電磁泄漏側信道攻擊需要使用特定設備對目標系統散發的電磁信息進行測量。而Cache本身是計算機結構的一部分,攻擊者可以直接通過指令獲取Cache的訪問時間,并不需要特定的裝置來測量。

(3)Cache側信道攻擊可以實施跨平臺、跨CPU、跨虛擬機的遠程攻擊,并且攻擊程序利用的是對Cache的正常訪問機制,攻擊過程就是正常的緩存訪問過程,在系統中并不會產生異常信息,因此Cache側信道攻擊具有很高的隱蔽性,不易被檢測。

3 攻擊通用框架

3.1 攻擊模型

基于緩存的側信道攻擊模型討論需攻擊者具備以下的條件,而在現代計算機系統中這些條件基本都能夠滿足:

(1)攻擊者要與受害者存在共享的硬件資源,包括緩存、總線等等;

(2)攻擊者可以隨意訪問受害者空間中的內存;

(3)攻擊者可以測量訪問內存的時間。

一般而言,基于緩存的側信道攻擊可以根據攻擊目標及受害者分為針對主機的攻擊和針對虛擬機的攻擊;根據攻擊對象可以分為針對加密算法的攻擊、針對操作系統的攻擊等。本文后續討論按照攻擊者在實施攻擊時對緩存的利用方式區別,把攻擊分為基于沖突的緩存側信道攻擊和基于復用的緩存側信道攻擊。基于沖突的緩存側信道攻擊是指,攻擊者與受害者不存在共享內存,或有可能存在共享內存,但是“漏洞”不存在于共享內存中,攻擊者只能通過對自己的地址空間中的內容訪問,影響正常受害者進程中對緩存的使用,從而推斷出受害者對某物理地址的訪問模式。其中,這里提到的“漏洞”是指可執行程序的某一部分區域,它可以位于代碼段,也可以位于數據段,這段代碼或數據本身邏輯和設計沒有什么問題,但是這部分內存區域與受害者敏感信息相關,攻擊者可以利用這段代碼的執行情況或數據的訪問情況判斷出受害者信息,從而造成受害者信息泄露[11-12]。基于復用的緩存側信道攻擊,指攻擊者與受害者可以共享內存,例如共享的庫、文件等等,且攻擊者利用的“漏洞”存在于共享內存中,攻擊者可以獲取到該區域的內存訪問模式。

3.2 攻擊步驟

根據攻擊者實施基于緩存側信道攻擊所需要采取的具體操作,攻擊過程可以分為以下幾個步驟:

(1)確定“漏洞”

攻擊者在攻擊過程中,首先要確定出“漏洞”源,才能對“漏洞”確定的地址進行監視從而獲取信息。漏洞主要包括基于指令執行的漏洞和基于數據訪問的漏洞。基于指令執行的漏洞是指受害者程序在執行過程中,存在與受害者信息相關的指令控制流,例如轉移條件中的分支跳轉指令。通過對這些指令的監控,攻擊者可以分析出受害者的指令執行過程,之后對獲得的信息進行推斷;基于數據訪問的漏洞是指程序訪問的數據與受害者信息相關,例如查找某個地址的數據內容時把受害者信息作為索引。攻擊者只需通過觀察內存的訪問情況,便可以獲取出受害者信息。

(2)確定“沖突域”

根據攻擊者和受害者共享的層面不同,攻擊可以分為跨虛擬機攻擊、跨進程攻擊、跨處理器核攻擊。與其他的攻擊方式相比,跨虛擬機的攻擊首先要進行“虛擬機同駐”的判斷,即判斷攻擊者和受害者所在的虛擬機之間的關系是處于同一個處理器核,還是在同一個處理器中不同的處理器核上;或者不同的虛擬機運行于不同的處理器上。通過“虛擬機同駐”判斷,可以分析出攻擊者與受害者之間的共享結構,從而就可以把問題轉化為跨進程攻擊或者跨處理器核攻擊。跨進程攻擊是指攻擊者和受害者運行于同一個處理器核之上,可以共享的資源包括緩存、內存、內存控制器等資源;跨處理器核攻擊是指當攻擊者和受害者運行于不同的處理器核之上時,可以共享的資源包括最后一級緩存(LLC,Last Level Cache)、內存等。當攻擊者所要利用的“漏洞”存在于共享內存中時,攻擊者便可以通過對該“漏洞”對應地址進行直接訪問,影響“漏洞”對應內容在緩存中的狀態;而假如“漏洞”不存在于共享內存中時,攻擊者則需要首先分析出一組“虛擬地址集合”,攻擊者通過這個集合影響“漏洞”對應的代碼或數據在緩存中的狀態,這個虛擬地址集合被稱為“沖突域”。具體來講,沖突域是一組虛擬地址的集合,攻擊者可以訪問這個集合中的地址。一般來說,通過沖突域的訪問可以得到目標地址對應的狀態變化,且攻擊者需根據緩存的關聯程度選擇合適大小的沖突域以得到更為精準的受害者信息。

(3)獲取信息

攻擊者通過“沖突域”對“漏洞”的位置進行監視,從而獲得相關區域的裝填變化信息,即攻擊者竊取的信息,這些信息包括以下幾種類別:

1)訪問執行時間的差異信息。數據或代碼位于不同的存儲器層次結構時,訪問時間會存在較大的差異。通常訪問內存的時間和訪問高速緩存的時間相差約兩個數量級,通過對執行時間的測量,可以獲取到受害者的訪存情況信息。

2)引發中斷的事件信息。當檢測到緩存被驅逐的時候,會引起事務中斷,攻擊者可以捕捉這些事件,從而對受害者行為進行分析,獲取受害者的信息。

3)硬件資源使用情況信息。程序在執行過程中,有可能對硬件單元獨占或者鎖定,從而導致別的程序不能使用。攻擊者可以通過對這些硬件資源的使用情況進行檢測,從而分析出受害者正在執行的部分操作。

(3)還原信息

攻擊者獲取到受害者相關狀態信息的變化后,需要根據已有的先驗知識同時結合獲得的信息進行受害者信息的還原。在還原前需要對獲取到的信息進行一些處理,包括噪聲消除、控制流信息還原、內存訪問情況還原等。通過這些操作及分析,攻擊者便可以獲取到密鑰、受害者行為,內核空間的分布等信息。

4 結束語

基于緩存的側信道攻擊利用Cache相關活動泄露的信息對受害者的信息進行竊取,相比于其他類型側信道攻擊,Cache側信道攻擊無須專用硬件設備,攻擊者甚至無須物理接觸目標對象,即可獲取部分或者全部的受害者信息,因此Cache側信道要比其他側信道的威脅更大,危害更嚴重,對當今的信息安全產生了重大的威脅。本文從Cache信息的泄露原理以及目前主流的Cache側信道攻擊方法及原理進行研究,并針對主流的攻擊方法進行分析和與傳統的攻擊方法進行優勢對比,最后總結出Cache側信道攻擊的通用架構,包括攻擊模型和具體的攻擊步驟。該研究對針對基于緩存的側信道攻擊的防御方法的研究具有重要的意義。

[1]Dan P.Theoretical Use of Cache Memory as a Cryptanalytic Side-Channel. cryptology eprint archive,2002.

[2]Trace-Driven Cache Attacks on AES (Short Paper)[C]// Information and Communications Security,8th International Conference,ICICS 2006,Raleigh,NC,USA,December 4-7, 2006,Proceedings. Springer,Berlin,Heidelberg,2006.

[3]Bonneau J,Mironov I . Cache-Collision Timing Attacks Against AES[J].International Workshop on Cryptographic Hardware and Embedded Systems,2006.

[4]Yarom Y,Falkner K E . FLUSH+RELOAD:a high resolution,low noise,L3 Cache side-channel attack.2014.

[5]程志煒,陳財森,邱雪歡. 基于Flush+Reload的DES算法Cache計時攻擊[J]. 計算機工程,2018,495(12):169-173.

[6]Bonneau J,Mironov I . Cache-Collision Timing Attacks Against AES[J]. International Workshop on Cryptographic Hardware and Embedded Systems,2006.

[7]Bernstein D J. Cache-timing attacks on AES[J]. 2005.

[8]Yarom Y,Falkner K E . FLUSH+RELOAD:a high resolution,low noise,L3 Cache side-channel attack. 2014.

[9]Liu F,Yarom Y,Ge Q,et al. Last-Level Cache Side-Channel Attacks are Practical. IEEE Computer Society,2015.

[10]Tromer E,Osvik D A,Shamir A . Efficient Cache Attacks on AES, and Countermeasures[J]. Journal of Cryptology,2010.

[11]王崇,魏帥,張帆,宋克.緩存側信道防御研究綜述[J].計算機研究與發展,2021,58(04):794-810.

[12]苗新亮,蔣烈輝,常瑞.訪問驅動下的Cache側信道攻擊研究綜述[J].計算機研究與發展,2020,57(04):824-835.

猜你喜歡
受害者信息
“目睹家暴也是受害者”,彰顯未成年人保護精細化
公民與法治(2020年5期)2020-05-30 12:33:40
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
受害者敏感性與報復、寬恕的關系:沉思的中介作用
兒童霧霾的長期受害者
母子健康(2015年1期)2015-02-28 11:21:37
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
關注恐怖主義受害者
信息
建筑創作(2001年3期)2001-08-22 18:48:14
健康信息
祝您健康(1987年3期)1987-12-30 09:52:32
健康信息(九則)
祝您健康(1987年2期)1987-12-30 09:52:28
健康信息(十則)
祝您健康(1986年5期)1986-12-30 09:52:22
主站蜘蛛池模板: 91区国产福利在线观看午夜| 亚洲av成人无码网站在线观看| 国产乱人免费视频| 呦视频在线一区二区三区| 亚洲自偷自拍另类小说| 四虎在线观看视频高清无码| 广东一级毛片| 成人免费网站久久久| 国产成人无码播放| 欧美在线导航| 国产一区二区三区日韩精品| 国产综合网站| 久久情精品国产品免费| 在线免费a视频| 亚洲午夜天堂| 日本精品影院| www欧美在线观看| 久久综合五月婷婷| 日韩精品久久久久久久电影蜜臀| 天堂网国产| av在线无码浏览| 97在线碰| 国产爽妇精品| 国产麻豆另类AV| 久久国产精品77777| 韩日午夜在线资源一区二区| 国产人人乐人人爱| 无码高潮喷水专区久久| 在线日韩一区二区| 黄色一及毛片| 亚洲一区二区三区香蕉| 欧美成人手机在线视频| 8090午夜无码专区| 欧美黄网在线| 日本黄色不卡视频| 成人小视频网| 国产极品美女在线观看| 一级香蕉视频在线观看| 国产男人天堂| 亚洲中文字幕无码爆乳| 九九九国产| 久久综合一个色综合网| www.精品视频| 99r在线精品视频在线播放| 国产精品成| 秋霞一区二区三区| 国产午夜福利片在线观看| 99热这里只有精品2| 无码中文字幕精品推荐| 亚洲中文字幕手机在线第一页| 色综合手机在线| 国产三级国产精品国产普男人| 亚洲免费成人网| 真实国产乱子伦高清| 97精品伊人久久大香线蕉| 99视频精品全国免费品| 久久久久亚洲精品无码网站| 97在线观看视频免费| 国产嫖妓91东北老熟女久久一| 亚洲国产高清精品线久久| 欧美.成人.综合在线| 一本色道久久88| 国产一区二区网站| 亚洲色无码专线精品观看| 精品视频一区二区三区在线播| 国产综合欧美| 亚洲成a人片77777在线播放| 亚洲制服丝袜第一页| 99国产精品国产| 国产激情国语对白普通话| 91精品综合| av一区二区三区高清久久| 欧美区在线播放| 精品久久高清| 中美日韩在线网免费毛片视频| 亚洲欧洲日产国码无码av喷潮| 久久超级碰| 欧美激情二区三区| 久久久国产精品免费视频| 国产丝袜丝视频在线观看| 日韩精品一区二区三区swag| 免费在线看黄网址|