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

        ?

        一種針對云平臺的緩存?zhèn)刃诺拦舴椒ㄑ芯?/h1>
        2020-03-25 15:14陳小全
        價值工程 2020年4期

        陳小全

        摘要:針對部分英特爾x86架構CPU產品設計上的漏洞,提出了一種新的通過衡量數據讀取時間的信息獲取方法。該方法利用數據從主存讀取和從Cache讀取的顯著時間差異,對比閾值和讀取花費時間的大小來標記數據來自Cache還是主存,進而采用側信道攻擊的方式獲取目標進程的數據。實驗結果顯示,該方法在無噪聲環(huán)境中數據恢復率可達到90%~100%,在低噪聲的環(huán)境中數據恢復率也可達到72%左右,在高噪聲環(huán)境中恢復率略低于45%。與當前其他的攻擊方法相比,具有攻擊實施的門檻較低,數據恢復成功率高的特點。

        Abstract: Aiming at the vulnerability of some Intel x86 architecture CPU product design, this paper proposes a new information acquisition method by measuring the data reading time. The method utilizes the significant time difference between the data read from the main memory and the read from the Cache, compares the threshold and the time spent reading to mark the data from the Cache or the main memory, and then uses the side channel attack to acquire the data of the target process. The experimental results show that the data recovery rate of the proposed method can reach 90%~100% in a noise-free environment, and the data recovery rate can reach 72% in a low-noise environment. The recovery rate is slightly lower than 45% in a noisy environment. Compared with other current attack methods, the method in this paper has the characteristics of low threshold of attack implementation and high success rate of data recovery.

        關鍵詞:信息竊取;側信道攻擊;跨進程攻擊;熔斷漏洞;高級加密標準

        Key words: data leak;side channel attack;cross-process attack;meltdown;AES

        中圖分類號:TN915.08? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 文獻標識碼:A? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 文章編號:1006-4311(2020)04-0269-05

        0? 引言

        自1988年SUN微系統(tǒng)公司的合作創(chuàng)建者約翰提出云計算概念以來,云計算服務已經經歷了三十多年的發(fā)展歷程。在2005年亞馬遜推出AWS(Amazon Web Services)后,IT界衍生出了新的服務模式——云計算服務。云計算服務中包含了虛擬化技術、自動化部署、分布式框架的廣泛應用,對外表現(xiàn)出超強的計算能力和易擴展的特性。然而一個新的事物產生,必將帶來新的安全隱患,這種計算速度遠超脫機計算的解決方案,實則包含敏感數據泄露等安全問題。云計算服務的核心思想是將物理服務器資源完全虛擬化,分配給多個用戶使用,不同的用戶共享一個物理資源。但針對云計算服務的旁路檢測攻擊、拒絕服務攻擊、側信道竊取用戶機密信息攻擊等已經成為云計算面臨的主要安全威脅。當前,云計算平臺針對這些安全威脅所做的防護措施主要包括兩方面:一方面是啟用地址空間布局隨機化技術(Address Space Layout Randomization,ASLR)[1],讓攻擊者難以確定攻擊面的位置,從而加大實施攻擊的難度。另一方面則是設置嚴格的邊界檢查,即不允許進程跨邊界的信息讀取。這兩方面的防護措施在一定程度上保護了云計算平臺的安全。此外,針對云平臺中虛擬機的Cache緩存?zhèn)刃诺拦2]擊也都由于當前商業(yè)云平臺中啟用了Cache緩存隔離、定期清除緩存等防護措施而被有效地阻止。但不可否認的是,在網絡空間中是沒有絕對的安全的??赡茉谝欢ǖ臅r間和空間范圍內,云計算平臺處于安全的狀態(tài),但在另一個時間和空間范圍之內就不一定安全了。有鑒于此,本文針對當前云平臺現(xiàn)存的安全措施,基于CPU存在的漏洞,提出一種新的針對云計算平臺的攻擊方法。這種新的攻擊方法可以繞過云平臺現(xiàn)存的安全措施,實現(xiàn)云環(huán)境中虛擬機的跨進程信息竊取和信息恢復。實驗結果證明,本文所提出的攻擊方法與當前其他的虛擬機跨進程信息竊取方法相比,本方法適用范圍廣、執(zhí)行效率高、實施條件門檻低的優(yōu)點,在信息的恢復度上可以達到90%以上,在某些情況下甚至可以達到100%。

        本文的組織如下:第一節(jié)介紹相關的背景知識和技術知識;第二節(jié)介紹攻擊實施的假設場景;第三節(jié)對實施攻擊的總體流程進行介紹;第四節(jié)將詳細闡述本文提出的攻擊方法的實施過程;第五節(jié)說明本文提出的方法的一些技術細節(jié)問題,包括數據來源的判定方法和數據恢復率的計算方法;第六節(jié)對本文提出的方法進行了總結。

        1? 相關背景介紹

        在這一節(jié),我們將對本文提出的方法涉及到的技術背景進行介紹,這將有助于對本方法的理解。

        1.1 高速緩存

        高速緩存存儲器(Cache)位于CPU中,一般分為三個部分,L1緩存、L2緩存和L3緩存。其中,L3又稱為LLC(Last Level Cache,LLC)緩存。高速緩存的加入是為了解決CPU從主存中讀取數據速度過慢的瓶頸問題。通常情況下,Cache的引入解決了內存地址讀取花費時間上的問題。CPU執(zhí)行讀取指定地址的內存命令時,將目標地址與緩存行中的內存地址作對比,如果目標地址在緩存行中,稱為緩存命中,直接進行虛擬地址到物理地址的映射,則程序執(zhí)行的速度會很快。反之,稱為緩存未命中,CPU將訪問內存中的映射表進行虛擬地址到物理地址的轉換,在這種情況下,程序執(zhí)行的速度會比較慢。

        1.2 側信道攻擊

        側信道攻擊(Side Channel Attack,SCA)是指通過監(jiān)測設備運行中的能量消耗、時間消耗、功率變化水平等側信道信息來實施攻擊的一種方法。通過對信息進行能耗分析和數據分類,可對設備的加密過程造成嚴重的威脅。這種側信道信息收集的方法,比傳統(tǒng)通過數學分析密碼更高效,攻擊者很容易從收集到的信息中尋找到加密結果的特征信息。本文所提出的方法借鑒側信道攻擊手段,通過基于數據讀取時間的探測,確定數據的來源。該方法的好處在于拋開了復雜的密碼加密過程和結果歸類分析過程,對加密結果直接提取特征分析從而泄露敏感信息。

        1.3 熔斷漏洞

        CPU分支預測是提高CPU使用率的一種優(yōu)化策略。目前計算機的現(xiàn)狀為CPU性能過剩,由于調度算法的瓶頸和資源競爭的原因,導致CPU的使用率過低。這樣,CPU制造商就通過添加分支預測技術,使CPU在一個周期內能執(zhí)行更多的機器指令,提高CPU的使用效率。在執(zhí)行分支預測的過程中,如果CPU在執(zhí)行指令寄存器時遇到了多種選擇,比如判斷語句、選擇語句,CPU就會通過廣度優(yōu)先或深度優(yōu)先的搜索算法對所有可能進行試探,并將搜索結果保存在數據寄存器中。如果訪問未授權空間則拋出異常,CPU將回滾到上一次斷點,判定為分支異常。反之,判定為分支預測成功,并有效地提前存儲了指令寄存器的執(zhí)行結果。

        在去年初被發(fā)現(xiàn)的熔斷漏洞(Meltdown)[3-5]就是通過惡意使用CPU的分支預測策略,使用主動拋出異常指令的攻擊方式,在異常指令后將目標數據寫入到緩存中,從而避開了CPU對數據執(zhí)行的檢查,使得跨邊界的數據讀取變?yōu)楝F(xiàn)實。

        1.4 Flush+Reload攻擊

        Flush+Reload攻擊是一種基于Cache的側信道攻擊方法[6-8]。該攻擊方法可以分為以下幾個攻擊過程。Flush過程,攻擊者使用clflush指令清除內存數據對應的L1、L2、L3的緩存行內容,即將緩存行中的內存地址清除并重置映射表。Reload過程,攻擊者先使用rdtsc指令獲取計數器中的時間,將其存儲到寄存器中,該時間我們記為T1。接下來執(zhí)行讀取數據的指令,之后獲取寄存器中的時間值,該時間我們記為T2。最后計算T1和T2的差值,并將這個差值和提前設定的閾值做比較。若差值大于設定的閾值,則說明緩存未命中,數據存儲在主存中。反之,則表示緩存命中,數據存儲在Cache中,進而攻擊者可以獲取目標程序的機密數據。

        1.5 AES加密算法

        高級加密標準(Advanced Encryption Standard,AES)[9-11]是一種高級加密算法,用于替代先前的數據加密標準(Data Encryption Standard,DES)加密算法。英特爾在Clarkdale架構處理器上第一次使用了AES加密指令集,伴隨云平臺的迅猛發(fā)展趨勢,AES被廣泛應用于云計算、云桌面等云計算領域中。迄今為止,使用AES指令集加解密效率約為不使用情況下的200%。在Linux環(huán)境下,可通過命令查看是否支持AES加密指令集。

        2? 攻擊場景假設

        為了詳細敘述本文提出的攻擊方法,我們做以下的攻擊場景假設。

        假設1:實驗環(huán)境中的云平臺采用嚴格的防御措施保證用戶程序的隔離性。云平臺符合主流云平臺的防御措施,提供部分內存、緩存共享。同時在云平臺內部不存在任何威脅。

        假設2:攻擊者為云平臺服務的使用者,具有虛擬機的高權限,以及擁有程序的執(zhí)行權限,并使用OpenSSL1.1.1進行加密操作。其他版本的AES加密雖然沒有測試,但從理論上來說,本文所提出的方法也都適用。

        上述假設均符合實際應用場景,假設1中針對攻擊者背景知識的假設也具有相當的普適意義。為了方便描述,下面將攻擊者創(chuàng)建的進程稱為攻擊進程,將被攻擊的進程稱為目標進程。

        3? 攻擊的實施過程

        攻擊進程通過基于OpenSSL的加密程序將明文信息進行密碼分組鏈接(Cipher-Block Chaining,CBC)工作模式下的AES加密,并存儲加密結果到內存中。需要注意的是,加密后的數據大小要和Cache中L1、L2、L3的緩存容量之和相同。因為如果加密后的數據大于緩存寄存器的總容量,會導致數據被覆寫且不能保證恢復成功率。其次,需要在讀取過程中持續(xù)的運行加密程序。這樣才能使加密程序使用同一數據反復刷新Cache中的內容,以保證數據讀取成功的機率維持在90%~100%的高水平范圍之內。此外,如果系統(tǒng)開啟了ASLR技術,將會導致程序入口地址的偏移量發(fā)生變化。為了解決此問題,可以使用暴力破解的方式獲取表間轉換的偏移量,再通過物理地址與虛擬地址之間的映射關系計算出進程的入口物理地址,進而讀出指定物理地址的數據。經過我們的測算,該方法耗費的時間一般在幾分鐘和幾個小時之內,時間花費雖然較長,但獲取地址偏移量后,可以攻擊的過程中重復使用。

        本文提出的攻擊方法的一個攻擊過程由三個階段組成。在第一階段中,從映射表中剔除被監(jiān)控的內存映射,在第二階段,獲取寄存器中的時間,對指定內存進行讀取操作。在第三階段,攻擊進程重新載入內存,測量重新載入的時間。如果在等待的階段,目標進程訪問了指定的內存地址,內存地址就在Cache中有記錄,讀取所花費CPU周期小于閾值。如果目標沒有訪問指定的內存地址,則這個地址就需要從內存中查找,讀取花費時間大于等于閾值。該算法意在驗證通過Flush+Reload的攻擊手段讀取緩存中的敏感數據的可靠性。圖1顯示了攻擊的三個階段。

        4? 攻擊方法的具體實現(xiàn)與實驗測試

        本節(jié)我們將詳細介紹本文所提出方法的具體實現(xiàn)細節(jié)和實驗測試的過程。我們的實驗分別在國內某主流云平臺和VMware vSphere 的Esxi 6.5、6.7虛擬化平臺上進行。其中,國內某主流云平臺的安全策略由云平臺本身提供,在實驗過程中不做任何改動。VMware vSphere Esxi 6.5和6.7的實驗環(huán)境由一臺Dell R720和兩臺Dell R420服務器組成集群來構成,并使用虛擬私有云(Virtual Private Cloud,VPC)來對云環(huán)境進行隔離。另外,Esxi 6.5和6.7中采用默認安全策略,也不做任何安全策略上的改動,因此我們的實驗環(huán)境具有上述假設1中提到的普適意義。為了充分證明本文所提出方法的可行性和可靠性,實驗中產生的數據由未知安全策略的云平臺中采集,并制成統(tǒng)計圖來顯示。實驗過程中的數據加密方式采用OpenSSL1.1.1進行加密。本文所提出方法的核心在于利用CPU從內存和緩存中讀取數據花費的時間不同的特性,通過使用Flush + Reload方法讀取內存地址,對比讀取數據花費時間同閾值的大小關系,確定數據處于緩存中還是內存中。具體的攻擊方法實現(xiàn)如下所示。

        在步驟一中,將Cache行重置,確保最大可能性減少其他程序產生的噪聲值干擾。在步驟二中,確保數據在Cache中。在步驟三和步驟四中,利用熔斷漏洞的分支特性,將緩存數據讀取到緩沖區(qū),進而讀取用戶的機密信息。

        下面我們將介紹本文所提出的攻擊方法在實施過程中的一些實現(xiàn)細節(jié)。

        4.1 基準測試

        基準測試用于檢測目標機的CPU是否受熔斷漏洞的影響。根據實驗結果表明,除了AMD R7和i9部分處理器不受熔斷漏洞的影響之外,其他的CPU大都受該漏洞的影響。在本文的實驗環(huán)境中,實驗服務器是Dell R720服務器。該服務器使用的CPU的型號為E5-2603,受到熔斷漏洞的影響,故基準測試通過。在國內某著名云平臺進行實驗時,該云平臺使用的CPU同樣受到熔斷漏洞的影響,使用本文提出的方法可以獲取目標程序的信息。但我們也經過實驗證明,采用不定期清理Cache映射表的方法,可以部分的阻止該方法的成功實施。

        4.2 數據讀取工具

        本文提出的方法用來讀取數據的工具以目標程序的物理地址作為參數,將指定物理地址的數據進行轉化讀取,使用的讀取方法類似于文獻[4]中的方法,通過記錄讀取時間,以及從內存讀取的時間和從緩存讀取的時間顯著差異來斷定數據的來源。圖2顯示了實驗結果的可靠性。

        4.3 噪聲降低

        在實驗過程中,系統(tǒng)當中的其他進程如Firefox、apt-get、Ping命令在發(fā)送網絡請求時會產生噪聲。關于這一點,可以使用手動關閉進程的方式減少噪聲的產生。另外,為了減少本文提出的方法因刷新操作而產生的噪聲,本文采用文獻[5]中的方法使用rdtsc指令最小化的調用系統(tǒng)資源,從而降低因刷新而產生的噪聲。為了說明CPU噪聲對攻擊進程的影響,本文使用不同CPU核心來模擬不同的負載環(huán)境,將結果制作成如圖3、圖4統(tǒng)計圖。

        由此可見,CPU的負載會影響數據恢復的成功率。在使用Dell R720服務器實驗時,使用負載較高的CPU核心執(zhí)行恢復程序的數據恢復可靠率較高。在Linux環(huán)境下,可以使用taskset指令單獨調用一個CPU核心執(zhí)行程序,從而增大指定序號CPU負載程度。

        5? 閾值衡量標準

        5.1 閾值衡量標準公式

        本文所提出的方法中,衡量Cache是否命中的閾值是判斷數據來源的關鍵參數,將地址讀取花費時間和閾值進行對比可以判斷數據的來源。大于閾值,則證明數據來源于內存。反之數據來源于Cache緩存。通過閾值對比法判斷數據來源的依據是CPU的一種硬件特性,計算的公式可以在CPU的開發(fā)手冊中明確找到。本文所使用的閾值計算方法如下:

        假設數據長度為a,執(zhí)行第i(i=1,2,3……0

        情況1 Fi+Ri>=v判定為數據來源于主存。

        情況2 Fi+Ri

        簡而言之,該公式說明了閾值取值的可靠性。從而證明通過對比讀取指令所需要的時間來判斷數據存儲的位置的可行性。

        5.2 可靠率衡量公式

        在實驗過程中,通過反復讀寫數據確保了數據存儲在Cache中。通過5.1中閾值衡量公式可以區(qū)分數據是否來源于Cache,記錄讀取時間是否小于閾值的為合法數據,并且設合法數據的總個數為count。將合法數據與源數據進行對比,如果數據一致,則可以認為是有效數據。可靠率的計算公式為:。通過該可靠率計算公式,就可以判斷本文所提出的方法恢復數據的可靠程度,量化的表現(xiàn)出該方法的實施效果。

        6? 結語

        本文所提出的攻擊方法思路來自于主存讀取數據和Cache讀取數據的時間差異特性,并在其基礎上進行了改進。最后以攻擊AES加密算法為例證明了該方法跨進程恢復信息的可行性和可靠性,并提出了基于Flush+Reload算法提高恢復秘鑰的準確率的算法,最后指出高負載對恢復信息可靠性的影響。

        參考文獻:

        [1]Parikh V, Mateti P. ASLR and ROP Attack Mitigations for ARM-Based Android Devices[C]// International Symposium on Security in Computing & Communication. 2017.

        [2]LIU, F., YAROM, Y., GE, Q., HEISER, G., AND LEE, R. B. Last-Level Cache Side-Channel Attacks are Practical. In IEEE Symposium on Security and Privacy – SP (2015), IEEE Computer Society, pp. 605-622.

        [3]Moritz Lipp, Michael Schwarz, Daniel Gruss, Thomas Prescher,Werner Haas, Anders Fogh, Jann Horn, Stefan Mangard, Paul Kocher, Daniel Genkin, Yuval Yarom, and Mike Hamburg. Meltdown: Reading kernel memory from user space. In 27th USENIX Security Symposium (USENIX Security 18), Baltimore, MD, 2018. USENIX Association.

        [4]Simakov N A, Innus M D, Jones M D, et al. Effect of Meltdown and Spectre Patches on the Performance of HPC Applications[J]. 2018.

        [5]Trippel C, Lustig D, Martonosi M. MeltdownPrime and SpectrePrime: Automatically-Synthesized Attacks Exploiting Invalidation-Based Coherence Protocols[J]. 2018.

        [6]Yarom Y , Falkner K . Flush+reload: a high resolution, low noise, l3 Cache side-channel attack[C]// Usenix Conference on Security Symposium. USENIX Association, 2014.

        [7]Zhou P, Wang T, Lou X, et al. Efficient flush-reload cache attack on scalar multiplication based signature algorithm[J]. Science China Information Sciences, 2018, 61(3):039102.

        [8]Yuan Z, Li Y, Sakiyama K, et al. Recovering Memory Access Sequence with Differential Flush+Reload Attack[M]// Information Security Practice and Experience. 2018.

        [9]Neve M, Seifert J P. Advances on Access-Driven Cache Attacks on AES.[J]. Lecture Notes in Computer Science, 2006, 4356:147-162.

        [10]Pammu A A, Chong K S, Ho W G, et al. Interceptive side channel attack on AES-128 wireless communications for IoT applications[C]// Circuits & Systems. 2017.

        [11]Li-Dong X U, Wang M Q, Mathematics S O, et al. A meet-in-the-middle attack on 10-round AES-128[J]. Journal of Shandong University, 2018.

        国产精品毛片无码久久| 无套内谢孕妇毛片免费看| 免费a级毛片无码a∨中文字幕下载| 国产在线不卡一区二区三区| 国产在线欧美日韩一区二区| 精品女同一区二区三区亚洲| 日韩人妻无码精品一专区二区三区 | 欧美性白人极品1819hd| 久久综合精品国产二区无码| 伊人久久一区二区三区无码| 日韩精品资源在线观看免费| 精品久久有码中文字幕| 国产精品_国产精品_k频道| 中文字幕无码专区一VA亚洲V专| 中文字幕av一区二区三区诱惑| 未满十八18禁止免费无码网站| 老师翘臀高潮流白浆| 国产成人av在线影院无毒| 少妇人妻精品一区二区三区视| 国产一二三四2021精字窝| 亚洲av无码专区国产乱码不卡| 亚洲AV无码成人精品区日韩密殿| 白白色视频这里只有精品| 精品久久久久久久无码人妻热| 国产一区日韩二区欧美三区| 厕所极品偷拍一区二区三区视频| 国产白丝网站精品污在线入口| 国产一级r片内射视频播放| 精品亚洲一区二区三区四区五区| 国产亚洲精品aaaaaaa片| 亚洲欧美日韩国产综合专区| 国产喷白浆精品一区二区豆腐| 尤物在线观看一区蜜桃| 久久久天堂国产精品女人| 国产va在线播放| 亚洲一品道一区二区三区| 人妻夜夜爽天天爽三区| 91精品国产丝袜在线拍| 国产精品午夜福利亚洲综合网| 丰满大爆乳波霸奶| 少妇人妻偷人精品无码视频|