亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        訪問驅動下的Cache側信道攻擊研究綜述

        2020-04-22 12:37:26苗新亮蔣烈輝
        計算機研究與發(fā)展 2020年4期
        關鍵詞:間諜攻擊者探查

        苗新亮 蔣烈輝 常 瑞

        1(數學工程與先進計算國家重點實驗室(戰(zhàn)略支援部隊信息工程大學) 鄭州 450001) 2(浙江大學計算機科學與技術學院 杭州 310027)

        隨著物聯網技術的迅猛發(fā)展,其安全問題受到了很多研究者的關注.一方面,海量異構的智能設備承載著核心功能,容易成為攻擊者的直接目標;另一方面,智能終端設備收集到的數據在云、邊、端等處理過程中存在數據泄漏等安全問題.側信道攻擊利用物聯網環(huán)境中共享的物理資源,構建隱蔽信道獲取時間、功耗、電壓、聲音等側信息,從智能終端設備或云平臺中提取敏感信息,目標對象包括智能手機[1]、智能手表[2]、智能燈[3]、電動汽車[4]等實體設備,對物聯網終端設備及應用環(huán)境造成了嚴重危害.

        側信道攻擊與傳統(tǒng)直接獲取訪問敏感數據權限的攻擊不同,它通過分析所監(jiān)控的某些特定資源從系統(tǒng)中獲取敏感信息.而物聯網設備容易遭受側信道攻擊的原因主要有2個:1)大量的用戶共享系統(tǒng)資源,且多個應用程序運行在同一臺物聯網設備中,利用共享資源獲取信息的側信道攻擊一旦危害一個用戶或應用程序,其他用戶或應用程序立即面臨威脅;2)物聯網設備的大量部署,為物理訪問這些設備提供了更多機會,使得攻擊者獲取更多的側信道信息.雖然目前提出的一些隔離技術(虛擬機、沙箱、特權分級等)可以防止非授權訪問,但這種隔離僅僅是邏輯上的隔離,物理資源仍是共享的,因此無法防御側信道攻擊.根據監(jiān)控的資源類型,側信道攻擊通過構建不同的側信道獲取側信息并實施攻擊行為.Ronen等人[3]將差分能量分析和相關性能量分析相結合,利用功率消耗構建側信道,成功提取Philips用來加密和授權新固件的全局AES-CCM密鑰,實現對物聯網設備Philips Hue智能燈的遠距離復位和控制.Islam等人[5-7]分別利用熱力、電壓、聲音構建側信道來提取云環(huán)境中良性租戶的運行時功率使用信息,確定攻擊時間,實現對共享電力設施的有效攻擊.Zhang等人[8]提出在iOS系統(tǒng)中構建計時側信道破壞文件系統(tǒng),利用側信道攻擊成功提取用戶信息,包括識別訪問的網站以及檢測安裝的應用程序等.Genkin等人[9]通過計算機內置網絡攝像頭或麥克風等設備收集噪聲,構建聲音側信道,通過對信號進行分析,可以實時檢測屏幕上的文本內容以及使用虛擬鍵盤輸入的內容等信息.此外,電磁側信道攻擊[4,10-12]、溫度側信道攻擊[13]、光子側信道攻擊[14]、緩存?zhèn)刃诺拦鬧15-16]等在終端設備或云平臺中也得到了廣泛應用.側信道攻擊通過監(jiān)控某些資源,結合已知條件推斷出一些敏感數據,其攻擊效果顯著,且由于不在系統(tǒng)中留下任何痕跡,很難被檢測.

        大量物聯網設備及云平臺中的用戶信息等敏感數據都依賴于密碼庫的可靠性進行保護,而側信道攻擊在提出之初就是一種針對密碼實現的物理攻擊方法,因此很容易對物聯網終端設備實施攻擊.在眾多側信道攻擊中,訪問驅動下的Cache側信道攻擊利用Cache資源共享,通過監(jiān)控用戶程序對Cache的訪問行為,結合已知信息可推斷目標設備和云平臺目標虛擬機中的加密密鑰,同時也可以獲取用戶密碼、瀏覽器訪問記錄等敏感數據.對不同架構下的設備安全和云安全環(huán)境造成了嚴重威脅.因此,本文主要針對訪問驅動下的Cache側信道攻擊進行研究.

        本文的主要貢獻有3個方面:

        1) 重點研究了訪問驅動下的Cache側信道攻擊技術,通過理論分析和實例驗證的方式,對比分析了“清除+重載”、“填充+探測”和“刷新+重載”3種攻擊的攻擊原理、攻擊過程和攻擊效果,詳細闡述了不同攻擊的適用場景以及可能存在的問題;

        2) 提出了Cache側信道攻擊在攻擊LLC和處理噪聲方面的挑戰(zhàn),并給出相應的解決措施;

        3) 結合可信應用環(huán)境廣泛應用于數據存儲和保護等現狀,討論了對部署隔離機制的終端設備和可信云安全環(huán)境實施攻擊等未來研究方向.

        1 Cache側信道攻擊基本原理

        CPU Cache(1)無特殊說明,后文中Cache均指CPU Cache是一個緩沖CPU頻繁使用的數據的小容量存儲器,它利用數據訪問的局部性原理(最近被訪問的數據容易被再次訪問)避免數據再次訪問主存時帶來的高延遲.由于Cache可在不同進程間共享,因此可在CPU Cache中實施Cache側信道攻擊.該攻擊通過監(jiān)控指定程序的Cache訪問行為,推斷出該程序的敏感信息,其核心是利用Cache命中和未命中的時間差實施攻擊行為.算法1是一個RSA平方乘求冪算法,通過側信道攻擊可以獲取算法中的敏感數據.在計算過程中,對于每個位,執(zhí)行一次squ()和mod()函數,當該位值為1時,執(zhí)行一次mul()和mod()函數.因此,第3行函數squ()的執(zhí)行次數可表示二進制指數e的位數,第6行函數mul()是否執(zhí)行表示該位的值是否為1.通過觀察這2個函數地址的Cache訪問行為、比較地址訪問的時間,可以判斷函數是否執(zhí)行,進而推斷出指數e所有位上的值.

        Cache側信道攻擊包含1個目標進程和1個間諜進程,目標進程即被攻擊的進程,間諜進程指在Cache中探測關鍵位置的惡意進程.通過探測,攻擊者可以推斷目標進程的Cache行為信息.最近幾年,Cache側信道攻擊越來越復雜,憑借可以繞過監(jiān)督模式執(zhí)行保護(supervisor mode execution protection, SMEP)以及地址空間布局隨機化(address space layout randomization, ASLR)[17]的特點,逐步由攻擊AES[18-21],RSA[22],DSA[23]等加密算法到獲取擊鍵信息[24]等,而且其攻擊對象包括臺式機[25]、移動設備[24]以及云平臺[15-16,26-27]等.根據攻擊者獲取信息的方式及粒度,可以將Cache側信道攻擊分為3類[28]:1)時序驅動攻擊.攻擊者通過觀察某一次計算運行的整體時間來推測目標程序的Cache命中和未命中的數量.2)蹤跡驅動攻擊.攻擊者在目標進程運行時,通過觀察到大概的Cache行為來推測哪些內存訪問產生了Cache命中.3)訪問驅動攻擊.攻擊者判定目標進程運行時訪問指定Cache組的情況,進而推測出目標進程所訪問的敏感數據.在這3類攻擊中,訪問驅動攻擊的攻擊粒度更細,且在實際應用中更為廣泛.該攻擊一般分為清除、等待、分析3個步驟[29].根據不同的攻擊場景,清除和分析方法有所不同,攻擊方式也變化多樣.第2~4節(jié)分別針對訪問驅動下的“清除+重載(Evict+Reload)”、“填充+探測(Prime+Probe)”、“刷新+重載(Flush+Reload)”這3種Cache側信道攻擊進行詳細闡述.

        2 “清除+重載”攻擊

        2.1 攻擊原理

        Evict+Reload攻擊是一種典型的訪問驅動下的Cache側信道攻擊,主要針對L1-Cache獲取敏感信息.該攻擊的原理是,攻擊者利用Cache組相聯的特點,把指定Cache組中的所有內存行進行清除和檢查,由于間諜進程和目標進程共享Cache,間諜進程可以探查到該Cache組中哪一行被目標進程重新加載,進一步推測出運行目標進程的內核中私有Cache中的數據.

        2.2 實施攻擊

        Evict+Reload攻擊分為3個步驟:1)間諜進程利用沖突地址填滿Cache組中所有行,將目標進程訪問的探查地址從該組中清除;2)間諜進程等待目標進程訪問該Cache組;3)間諜程序訪問探查地址并測量訪問時間.通過訪問時間,確定目標進程在等待階段是否訪問了該探查地址.

        圖1是一個在6路組相聯Cache中實施Evict+Reload攻擊的示例[29].在時刻T0,目標進程將探查地址加載到Cache的某一行中;在清除階段(T1),間諜進程利用沖突地址清除該組中包括探查地址在內的所有的行;在等待階段(T2),間諜進程等待目標進程訪問探查地址;在分析階段(T3),間諜進程訪問探查地址并測量訪問時間.此時,由于目標進程在時刻T2訪問了探查地址,間諜進程再次訪問時會產生一個命中.而在下一個循環(huán)(T4,T5,T6)中,目標進程在時刻T5沒有訪問探查地址,所以當間諜進程在時刻T6訪問探查地址時,會產生一個未命中,此時訪問的時間相比于命中時較長.通過訪問時間,間諜進程很容易確定目標進程是否訪問了該探查地址,進而推斷出敏感數據.例如,給出一串0和1構成的位,當值為“1”時,數值加1,否則查看下一位.那么間諜進程只需獲知在每次循環(huán)中,目標進程是否訪問了“加1”這個操作的探查地址,即可推斷出該串位的具體數值.

        Fig.1 Example of Evict+Reload圖1 Evict+Reload攻擊示例

        2.3 攻擊效果分析

        Gruss等人[30]在提出Cache模板攻擊時,實施并驗證了Evict+Reload攻擊.他們利用物理地址的低18位實施攻擊,清除率接近于100%,而且對按鍵n的探查地址進行檢測,平均檢測率為90%,假陽率為5%.證明了在攻擊者可以訪問共享Cache行的情況下,實施的Evict+Reload攻擊難以被完全防御.

        3 “填充+探測”攻擊

        3.1 攻擊原理

        Prime+Probe攻擊由Osvik等人[31]首次提出,該攻擊的特點是不需要攻擊者和受害者內存共享.其攻擊原理與Evict+Reload攻擊相似,都是利用Cache命中和未命中的時間差,確定目標程序的Cache訪問行為.但由于Prime+Probe攻擊不依賴于間諜程序和目標程序共享內存,因此,不同于Evict+Reload攻擊中比較訪問探測地址的時間差,該攻擊的攻擊者只能測量比較間諜進程訪問指定Cache組的時間差.

        3.2 實施攻擊

        利用Cache訪問特性,攻擊分為3個步驟:1)填充階段,攻擊者通過訪問自己內存空間中部分區(qū)域,將特定的Cache組中的所有行進行填充;2)目標訪問階段,攻擊者等待目標程序訪問該Cache組中的內存行,從而清除第一階段填充的對應Cache行;3)探查階段,攻擊者再次訪問該Cache組中的所有行,并測量訪問時間.如果該內存行已被目標程序從Cache中清除,則訪問時間較長;反之,則所有填充的行仍存儲在Cache中,那么訪問時間較短.通過該攻擊,攻擊者確定目標程序是否訪問指定的Cache組,從而推測敏感數據.

        假設一個m路、n組相聯的Cache,容量為c,Cache中每行大小為b,則n=c/(m×b).目前市場上大部分的L1指令Cache大小為32 KB,每組有8行,且每行占據64 B,因此,L1指令Cache有32 KB/(8×64 B)=64組.在一個4 KB的頁面中,按照Cache行大小進行分塊,可以分成64(4 KB/64 B)塊,而偏移量相同的塊會映射到同一個Cache組中.當對L1指令Cache實施Prime+Probe攻擊時,在填充階段,首先分配足量的連續(xù)內存頁面,使其大小總量與L1指令Cache相同;其次把每個頁面分成64個與Cache行大小相等的塊;然后通過執(zhí)行指令把每個頁面的第i個數據塊映射到第i個Cache組中,使得特定組中的所有行都被填充.

        在探查階段,如圖2所示,通過執(zhí)行rdtsc指令測量訪問第i個Cache組所用的時間.其中,cpuid指令防止指令重序或者亂序執(zhí)行.每個mov指令讀取該Cache組中的一行,每個內存行存儲指向下一行的指針,寄存器%eax存儲測量的時間.通過比較這2個階段中的訪問時間,確定受害者進程是否在等待階段訪問了L1指令Cache中指定的組.

        Fig. 2 Code of probing an 8-way cache
        圖2 探查一個8路組Cache的代碼

        此外,利用Prime+Probe攻擊在探查時也填充了相關的Cache組的特點,有一個改進之處是在重復執(zhí)行探查時,只需在每2個探查之間執(zhí)行預設的等待即可完成Prime+Probe攻擊,而不用額外地執(zhí)行填充操作,提高了攻擊效率.

        3.3 攻擊效果分析

        Osvik等人[31]利用該攻擊檢測Cache在AES加密后的狀態(tài),找到執(zhí)行加密時訪問的Cache組,從而提取密鑰.在已知虛擬地址到物理地址映射關系的情況下,在Athlon 64上可以在300次加密后獲取全部的128 b AES密鑰,在Pentium 4E上需要執(zhí)行16 000次加密獲取全部密鑰;在不知任何地址映射的情況下,在Althon上執(zhí)行8 000次加密后,可以獲取全部密鑰.

        Fig. 3 Timing of Flush+Reload圖3 Flush+Reload攻擊的時序過程

        4 “刷新+重載”攻擊

        4.1 攻擊原理

        Flush+Reload攻擊是Prime+Probe攻擊的一種變形,該攻擊可以從包括L3在內的各級Cache中清除內存行,實施條件依賴于間諜程序和目標程序之間共享內存頁面[32].在Intel處理器中,用戶線程可以使用clflush指令刷新可讀和可執(zhí)行的頁面,這就使得攻擊者可以通過刷新與目標程序共享的頁面來實施攻擊.由于clflush指令可以從整個Cache層次架構中清除指定的內存行,攻擊者使用clflush指令頻繁地刷新目標內存位置,通過測量重新加載該內存行的時間,確定目標程序是否同時將該內存行緩存到Cache中.

        4.2 實施攻擊

        Flush+Reload攻擊由3個步驟組成:1)被監(jiān)控的內存行從Cache中刷新;2)間諜程序等待目標程序訪問該內存行;3)間諜程序重新加載被刷新的內存行并測量加載時間.

        如圖3(a)所示,如果受害者在步驟2沒有訪問被刷新的內存行,那么該內存行不會把內存緩存到Cache中,因此在步驟3被重新加載的時間較長;圖3(b)表示受害者在步驟2訪問被刷新的內存行,此時該內存行會緩存到Cache中,因此在步驟3被重新加載的時間較短.通過測量重新加載時間即可判斷該內存行是否在等待時間被目標程序訪問.

        在Flush+Reload攻擊中,攻擊者無法確定受害者訪問的具體時間,只能設置一個等待時間進行等待并測量,等待時間的設置對攻擊的成功率有著重要的影響.若時間設置較短,如圖3(c)所示,受害者訪問的時間可能與攻擊者重新加載的時間重疊,且是在攻擊者開始進行重新加載后受害者才開始訪問該內存行.此時,受害者訪問該數據時會直接使用攻擊者已重新加載的數據,而不會再從內存中讀取.所以,攻擊者認為受害者在等待階段并沒有訪問該內存行,從而檢測錯誤.若時間設置較長,如圖3(d)所示,受害者訪問的時間與攻擊者重新加載的時間也可能發(fā)生重疊,但此時是受害者先訪問被刷新的內存行,且在訪問未結束時,攻擊者開始重新加載該內存行.由于受害者已經訪問該內存行,攻擊者無需從內存中再訪問該內存行,且重新加載與受害者訪問同時結束,此時重新加載的時間比從內存中加載該內存行的時間短,但比從Cache中裝載的時間長.雖然延長等待時間可以降低由于時間重疊導致的檢測錯誤率,但同時也降低了攻擊粒度.一種解決方案就是對訪問頻率高的內存塊(如循環(huán)體)進行刷新和重新加載,如圖3(e)所示,在等待時間內盡可能多地讓受害者訪問內存行,雖然不能在每次訪問后都能檢測到,但可以降低未檢測率.

        4.3 攻擊效果分析

        由于Flush+Reload攻擊使得攻擊者可以確定哪些具體的指令被執(zhí)行以及哪些具體的數據被受害者訪問,因此被廣泛應用于加密算法的破解中.例如利用運行在不同內核的虛擬機共享物理資源這一特性,對目標虛擬機實施Flush+Reload攻擊獲取敏感數據.Irazoqui等人[33]對該攻擊進行了修改,并對目標虛擬機中運行的OpenSSL 1.0.1中的AES算法上進行了攻擊驗證.與之前攻擊不同,該攻擊只監(jiān)視一個內存行,且在加密之前執(zhí)行刷新,在加密后執(zhí)行重新加載,避免攻擊者中斷受害者進程.通過這些修改,改進的Flush+Reload攻擊更加隱蔽,且攻擊速度更快,只需幾秒到幾分鐘的時間可獲取AES全部密鑰.除此之外,利用Flush+Reload攻擊也可以提取擊鍵信息,Oren等人[25]證實了在Intel平臺上利用該攻擊獲知受害者訪問的網頁以及鼠標使用痕跡.

        5 Cache側信道攻擊的對比分析

        近年來,隨著Cache側信道攻擊的不斷完善,其攻擊復雜度越來越高,且各攻擊模型的優(yōu)缺點和適用場景也更加明顯.Evict+Reload攻擊主要還是在L1-Cache中實施,利用攻擊者和受害者共享內存,間諜進程能夠獲得所需的Cache行,通過攻擊準確判斷指定Cache行的訪問行為,攻擊效率較高.Prime+Probe攻擊不再依賴于攻擊者和受害者共享內存,因此間諜進程無法獲得具體的Cache行,而是通過比較訪問指定Cache組中所有行的時間判斷目標進程Cache訪問行為.雖然攻擊粒度沒有Evict+Reload攻擊細,但該攻擊已逐步發(fā)展為針對LLC的攻擊,更符合實際應用.相比于前2種攻擊,Flush+Reload攻擊速度更快,而且可以直接在LLC中實施,但該攻擊除了需要間諜進程和目標進程之間共享內存外,更依賴于clflush指令刷新Cache,因此,只能作用于支持clflush指令的環(huán)境中,同時,由于刷新指令執(zhí)行周期很短,需要更精準的時鐘計數器提高分辨率,對噪聲處理的要求也更高.

        從攻擊范圍的角度比較,如表1所示,“清除+重載”攻擊目前仍針對低級Cache實施,且主要應用于獲取擊鍵信息;“刷新+重載”攻擊因為需要clflush指令和內存共享,實施條件相對苛刻,剛開始只能在Intel處理器中實施,經過不斷發(fā)展,在ARM中也可以變型實施;“填充+探測”攻擊由最初的針對低級Cache發(fā)展為高級Cache,且不需要內存共享,因此攻擊范圍最廣.

        Table 1 Comparison of Attack Range of Three Cache Side Channel Attacks

        Note: “√” indicates that the attack is performed on this target.

        從防御的角度比較,如表2所示,由于“填充+探測”攻擊的應用最為廣泛,針對這一攻擊提出的防御方法較多.“清除+重載”攻擊一般不用于LLC攻擊中,威脅相對較小,而針對“刷新+重載”攻擊提出的防御方案一般都是在Intel處理器中.雖然這些防御方案可以在一定程度上緩解Cache側信道攻擊,但受限于性能、處理器平臺等因素,并不能完全消除Cache側信道攻擊,利用Intel TSX(transactional synchronization extension)技術可以檢測中斷異常,但目前的攻擊已經可以不觸發(fā)AEX(asynchronous enclave exit),Intel CAT(cache allocation technology)技術可以保護密碼算法,但無法防御來自隔離容器外部的攻擊.

        Table 2 Defense Schemes Proposed for Cache Side Channel Attacks

        Note: “√” indicates that the attack is defeated by this defense.

        Fig. 4 Virtual address composition of regular page (4 KB,top) and huge page (256 KB,bottom) in an Intel x86 processor圖4 Intel x86處理器普通頁面(4 KB)和大頁面(256 KB)虛擬地址組成

        6 Cache攻擊面臨的挑戰(zhàn)

        6.1 針對LLC的側信道攻擊

        當前訪問驅動下的Cache側信道攻擊主要還是在低級Cache中實施,例如Evict+Reload和Prime+Probe攻擊都用于監(jiān)視L1-Cache行為.主要原因有2點:大多數情況下,攻擊者僅能獲取虛擬地址,容量小的Cache,由于對應的組索引位以及Cache行偏移量較少,通過虛擬地址即可獲得,符合攻擊的實際情況;容量小的Cache更容易實現對所有的行進行填充和探查.但是,在很多實際場景中,攻擊者和受害者并不是處于同一個內核中,例如運行在同一個物理機上的不同虛擬機會運行在不同內核上.因此,該類攻擊逐漸轉移到內核共享的LLC上.但在LLC上實施這類攻擊比在L1-Cache上困難很多,主要面臨2個挑戰(zhàn):1)LLC比L1-Cache容量大很多,正常的虛擬地址的頁面偏移量難以完全包含LLC的組索引位;2)現代Intel處理器,從“沙橋”微架構(Sandy Bridge microarchitecture)開始,為提高LLC性能引入了切片技術,即每個內核對應一個切片,每個切片的功能與一個Cache相似,在這種情況下,即使組索引位已知,也無法確定映射到哪一個切片的Cache組中,從而無法完成對應組的填充和探查工作.

        為解決第1個挑戰(zhàn),目前基本上采用調整頁面大小的方法[33,35,46].默認的頁面大小是4 KB,則虛擬地址的低12位表示頁面偏移量,現代處理器中Cache行大小通常為64 B,則行內偏移量需6 b,其余6 b為組索引位,最多索引64個Cache組,無法滿足LLC組索引要求.因此,增加頁面大小成為一種解決方案.如圖4所示,在3級Cache架構的Intel x86處理器中,若L1-Cache,L2-Cache,L3-Cache分別有64,512,4096組,設置頁面大小為256 KB,則頁面偏移量需18 b,其中低0~5位表示Cache行內偏移量,6~11位為L1-Cache的組索引位,6~14位為L2-Cache的組索引位,6~17位為L3-Cache(LLC)的組索引位.因此,當頁面大小為256 KB或者更大時,LLC的組索引位完全包含在虛擬地址的頁面偏移量中,不用地址轉換即可索引對應的組.

        為解決第2個挑戰(zhàn),目前已提出一些解決方案.Irazoqui等人[33]發(fā)現Intel i5-650處理器上LLC分為2個切片,且數據將進入哪個切片由虛擬地址的第(l+1)位決定,其中l(wèi)為組索引和行內偏移量需要的位數.第(l+1)位為0,數據存儲在第0切片,第(l+1)位為1,數據存儲在第1切片,通過(l+1)位判斷內存行映射到哪一切片中的哪一個Cache組中.但是,該方法不具有通用性.Liu等人[35]利用Cache訪問沖突原理設計了一個巧妙的方法,實現在LLC中實施Prime+Probe攻擊.首先,把具有相同的組索引位的內存行作為候選者,建立1個沖突集,初始為空,通過迭代的方式,如果候選者與沖突集中的內存行不發(fā)生沖突,則加入沖突集中,每個切片中要進行填充的Cache組稱為清除組,沖突集是所有切片中清除組的集合;其次,從沖突集中劃分出對應每個切片的清除組.具體是遍歷所有未進入沖突集的候選者,把沖突集中的每條內存行依次除去,如果該候選者與除去的內存行映射到同一個切片的清除組中,此時該候選者與沖突集不再發(fā)生沖突(候選者緩存到被除去的內存行所在的Cache組中),則重新加載該候選者的時間較短;如果該候選者與除去的內存行沒有映射到同一個切片的清除組中,此時該候選者與沖突集繼續(xù)發(fā)生沖突(該候選者映射到的Cache組已滿),則重新加載該候選者的時間較長.通過時間差,可以把與該候選者在同一清除組的所有內存行找出,從而劃分出每個切片的清除組.通過該方法,即使在切片號由Hash函數產生的情況下依然可以在LLC上實施Prime+Probe攻擊,且攻擊效果顯著,對于舊版本的GnuPG,幾秒鐘即可破解密鑰,在新的版本中,也僅需要12~27 min.

        6.2 攻擊實施中的噪聲問題

        訪問驅動下的Cache側信道攻擊針對不同的場景,提出了各種攻擊方式.雖然這些攻擊應用廣泛,且因為不留下痕跡難以被檢測,但因為軟硬件因素,攻擊實施的過程中都不可避免地存在噪聲問題,影響了攻擊效果.對噪聲進行處理,成為當前實施該攻擊的一大挑戰(zhàn).噪聲產生的根源主要有2方面:

        1) 硬件方面.①TLB未命中.TLB是很小的組關聯Cache,用于將虛擬地址轉換到物理地址.在Evict+Reload和Prime+Probe攻擊的探測階段,第1個Cache組總會未命中,此時需要從內存中取數據,產生異常.通常的解決方法是,丟棄第1個Cache組的探測結果消除異常.②預測執(zhí)行.現代處理器通常使用分支預測技術,指令會亂序執(zhí)行,影響探測結果.為防止該噪聲產生,目前基本使用cpuid和mfence指令迫使指令順序執(zhí)行.

        2) 軟件方面.①上下文切換.管理程序上下文切換會污染Cache,導致Cache未命中,從而產生噪聲.②rdtsc指令調用.在探查和重新加載階段,當使用rdtsc指令計時時,由于該指令調用的時間是本地調用的5~20倍,因此測量時間精度有所降低,從而產生噪聲.③其他進程的干擾.在物理機器上,不僅僅是間諜進程和目標進程這2個進程在運行,其他進程也會在該系統(tǒng)中不斷運行并執(zhí)行內存存取.因此,攻擊者觀察到的Cache行為,可能是目標進程訪問Cache導致,也可能是相鄰目標域的其他進程運行時訪問Cache導致,從而產生噪聲.

        7 技術發(fā)展趨勢

        訪問驅動下的Cache側信道攻擊應用十分廣泛,例如2018年初曝出的“熔斷”和“幽靈”2個漏洞均利用了該攻擊[53-54]以及2019年出現的“熔斷2.0”版本,涉及范圍廣,包括各處理器芯片、操作系統(tǒng)、云服務提供商等都受到較大影響,且由于該攻擊難以通過軟件技術被檢測,硬件防御會導致嚴重的性能下降,因此難以提出有效的軟硬件防御方案.目前很多學者針對該攻擊進行了深入地研究,促進了該攻擊模型的進一步完善.綜合該攻擊在實際應用中的擴展性高、粒度細、強度大以及隱蔽性強等特點,提出可針對4個方面開展研究:

        1) 針對其他Cache層次結構特性實施攻擊.現代Cache層次結構逐漸成為非包含性、獨占性,因此利用Cache包含性特點進行監(jiān)控Cache訪問行為的跨核側信道攻擊無法高效實施.目前提出的利用ARM處理器中Cache一致性協(xié)議[24]以及逆向Intel處理器中目錄[55]的方法可以成功實施攻擊,但受到攻擊平臺的限制無法通用.因此,如何對其他特性的Cache架構實施跨核攻擊,成為值得研究的問題.

        2) 構建混合信道攻擊物聯網設備.目前針對物聯網設備的側信道攻擊往往僅關注1個側信道信息,單一的側信道攻擊只能針對1個攻擊面,相比之下,混合側信道攻擊通過多個攻擊面的共同作用放大差異,能夠獲得更高的精度和準確度.雖然已有研究人員提出在傳感器中注入少量特殊噪聲以降低攻擊的成功率[56],但在實際場景中,物聯網設備往往“不經意間”同時泄露功耗、電磁、內存使用等信息,且設備的大量部署更容易通過物理方式獲取這些信息.利用物聯網這一特性,將Cache側信道與多種側信道結合,構建混合隱蔽信道,提高對物聯網設備進行側信道攻擊的效果,是未來值得研究的一個方向.

        3) 加強對云平臺攻擊.在萬物互聯時代下,云、端、邊都存儲了大量的敏感信息,雖然Cache側信道攻擊已在云環(huán)境中成功實現,但實施該攻擊需要提前判斷同駐情況,這成為防御該攻擊的一個突破點.因此,變換攻擊方式,加強云平臺攻擊成為重點研究方向.

        4) 打破可信執(zhí)行環(huán)境的隔離機制.可信執(zhí)行環(huán)境提供的隔離機制(如ARM TrustZone,Intel SGX)可以將隱私數據和代碼隔離在一個可信環(huán)境中,阻止其他程序對其訪問[57-62].目前TrustZone技術已大范圍部署在嵌入式設備中,且SGX技術也用于構建可信云安全環(huán)境,以及加強邊緣計算平臺的安全性[63],增加了該攻擊實施在物聯網設備和云平臺上的難度,而且現在也已經提出利用這種隔離機制緩解側信道攻擊的方案[64-66].如何打破這種隔離機制,實施Cache側信道攻擊,成為該攻擊的一個研究趨勢.

        8 總 結

        利用計算機運行時物理硬件“不經意間”泄露的信息,側信道攻擊無需獲取數據訪問權限即可竊取重要數據,因此被廣泛應用于破解密碼算法等場景中.本文研究了訪問驅動下的Cache側信道攻擊,重點闡述了“清除+重載”攻擊、“填充+探測”攻擊和“刷新+重載”攻擊這3種攻擊方式的原理和過程,對比分析了不同攻擊方式的訪問行為、攻擊范圍和對應的防御方案,并通過攻擊結果討論了該攻擊粒度細、范圍廣和隱蔽性高的特點以及各自攻擊方式的適用場景.同時,結合攻擊過程中存在的問題,提出了Cache側信道攻擊在攻擊LLC和處理噪聲上面臨的挑戰(zhàn),并根據實際應用情況,對該攻擊未來的發(fā)展趨勢進行更深層次的探討.在物聯網時代下,打破Cache側信道攻擊原有的桎梏,加強對隔離機制保護下物聯網設備和云平臺的攻擊,成為該攻擊新的攻破點.

        猜你喜歡
        間諜攻擊者探查
        基于微分博弈的追逃問題最優(yōu)策略設計
        自動化學報(2021年8期)2021-09-28 07:20:18
        冀西北三馬坊熱儲構造探查的新認知
        河北地質(2021年1期)2021-07-21 08:16:06
        尋找真正的間諜
        誰是間諜?
        趣味(數學)(2020年9期)2020-06-09 05:35:06
        正面迎接批判
        愛你(2018年16期)2018-06-21 03:28:44
        橡膠樹miRNA 探查
        貴州科學(2016年5期)2016-11-29 01:25:31
        我是間諜
        中學生(2016年2期)2016-03-01 03:44:57
        高頻超聲探查用于診斷附睪病變男性不育的價值探討
        有限次重復博弈下的網絡攻擊行為研究
        未成年人吸毒原因探查:或因家庭或因好奇
        美妇炮灰被狂躁爽到高潮h| 成年奭片免费观看视频天天看| 色婷婷一区二区三区四区| 中国男女黄色完整视频| 久久久久国产精品| 色综合天天网| 在线观看亚洲精品国产| 亚洲中文字幕高清在线视频一区 | 吃奶呻吟打开双腿做受视频| 国产精品久久久久久妇女6080| 亚洲AV无码一区二区一二区色戒 | 亚洲国产女同在线观看| 搡女人真爽免费视频大全| 国产精品麻豆成人av电影艾秋| 久久久精品电影| 亚洲精品成人一区二区三区| 日韩亚洲欧美久久久www综合| 色一情一乱一伦一区二区三区| 国产欧美日韩图片一区二区| 中文字幕人妻精品一区| 天堂а在线中文在线新版| 妇女性内射冈站hdwwwooo| 在线不卡中文字幕福利| 亚洲国产一区二区三区精品| 亚洲人精品亚洲人成在线| 亚洲国产成人无码影院| 国产一区二区美女主播| 99riav国产精品视频| 亚洲不卡中文字幕无码| 国产在线白浆一区二区三区在线| 看女人毛茸茸下面视频| 影音先锋男人站| 亚洲人成人99网站| sm免费人成虐漫画网站| 热久久美女精品天天吊色| 香蕉网站在线| 国产高清大片一级黄色| 西西午夜无码大胆啪啪国模| 国产目拍亚洲精品一区二区| 国内精品熟女一区二区| 国产一区二区自拍刺激在线观看|