• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    緩存?zhèn)刃诺婪烙芯烤C述

    2021-04-09 05:52:58
    關(guān)鍵詞:用戶程序攻擊者漏洞

    王 崇 魏 帥 張 帆 宋 克

    (國家數(shù)字交換系統(tǒng)工程技術(shù)研究中心(戰(zhàn)略支援部隊(duì)信息工程大學(xué)) 鄭州 450003)

    隨著Spectre[1],Meltdown[2],Foreshadow[3],ZombieLoad[4]等一系列CPU硬件漏洞的發(fā)現(xiàn),人們在研究應(yīng)用軟件和操作系統(tǒng)漏洞的同時(shí),也開始重視硬件層面,尤其是由于硬件架構(gòu)特點(diǎn)而引發(fā)的安全威脅.側(cè)信道攻擊是利用計(jì)算機(jī)硬件的一種主要的攻擊方式,它利用微架構(gòu)狀態(tài)開展攻擊,可能會(huì)造成用戶的信息泄露;同時(shí),它也具有較高的隱蔽性,對用戶信息和設(shè)備安全帶來極大的安全威脅.

    側(cè)信道攻擊[5](side channel attack, SCA),是指對軟件在物理設(shè)備上執(zhí)行過程中暴露出來的某些特征,如聲音、電磁輻射、溫度等側(cè)信道信息(side channel information)分析,得出設(shè)備內(nèi)部的執(zhí)行情況,推斷出用戶信息的一種攻擊方式.這種攻擊方式常用來繞過加密算法等安全機(jī)制提供的安全性,造成用戶信息泄露.一般而言,側(cè)信道攻擊具有3個(gè)方面特點(diǎn)[6]:1)難以檢測,大部分側(cè)信道攻擊不需要特殊的權(quán)限,只要能夠完成對側(cè)信道信息的采集,就可以開展后續(xù)分析;2)防御成本高,減緩側(cè)信道攻擊會(huì)對系統(tǒng)的性能帶來很大影響;3)平臺依賴性高,側(cè)信道攻擊利用的不是算法或程序本身存在的問題,而是程序的實(shí)現(xiàn)及運(yùn)行過程中存在的問題進(jìn)行攻擊,嚴(yán)重依賴于程序的執(zhí)行環(huán)境以及硬件架構(gòu)等.而基于微架構(gòu)的側(cè)信道攻擊是近年來新興的一種側(cè)信道攻擊方式,它對處理器緩存(cache)[1-4,6-24]、內(nèi)存管理單元(memory management unit, MMU)[25]、快表(translation lookaside buffer, TLB)[26]、總線(bus)[27]等微架構(gòu)進(jìn)行監(jiān)控,并根據(jù)一些先驗(yàn)知識獲取出用戶程序的執(zhí)行狀態(tài),從而造成用戶信息泄露.

    微架構(gòu)側(cè)信道攻擊利用CPU硬件上的漏洞展開攻擊,它屬于一種來自硬件的威脅.處理器緩存具有3個(gè)特征:1)目前絕大多數(shù)處理器中有緩存結(jié)構(gòu);2)緩存可以擁有一個(gè)系統(tǒng)細(xì)粒度的數(shù)據(jù)訪問和指令執(zhí)行的狀態(tài)信息;3)緩存狀態(tài)不同時(shí),程序的執(zhí)行結(jié)果相同,但運(yùn)行時(shí)間等外部特性會(huì)存在較大的差異.攻擊者可以通過這些特征可以很方便地構(gòu)建側(cè)信道,因此這種攻擊方式最具有吸引力,相關(guān)研究也相對較多.2006年Osvik等人[8]使用Prime+Probe實(shí)現(xiàn)了在同一個(gè)處理器核上的側(cè)信道攻擊,并展示了如何獲取出AES加密算法的密鑰,隨后,由此展開了對這種攻擊方式的研究.2009年Ristenpart等人[9]將這種攻擊方式擴(kuò)展到云環(huán)境中,在EC2服務(wù)器上完成了微架構(gòu)側(cè)信道攻擊.但是之前的攻擊方式都是使用第一級緩存進(jìn)行攻擊,攻擊的范圍和能力都相對有限,Yarom等人[10]首次使用共享庫利用最后一級緩存(last level cache, LLC)完成跨核側(cè)信道攻擊.隨后,Liu等人[14]對不存在共享庫等共享文件的前提下使用LLC完成側(cè)信道攻擊的難點(diǎn)進(jìn)行分析,并成功使用Prime+Probe實(shí)現(xiàn)了跨核微架構(gòu)側(cè)信道攻擊.

    微架構(gòu)側(cè)信道攻擊尤其是基于緩存的微架構(gòu)側(cè)信道攻擊嚴(yán)重威脅用戶的信息安全,造成用戶密碼等敏感信息泄露.緩存?zhèn)刃诺拦舴烙胧┑南嚓P(guān)研究工作主要圍繞重構(gòu)軟件代碼、增加操作系統(tǒng)功能等方面展開.文獻(xiàn)[28-29]從緩存?zhèn)刃诺拦羰侄巍⒎烙绞降冉嵌葘彺鎮(zhèn)刃诺拦舻南嚓P(guān)工作進(jìn)行歸納總結(jié);文獻(xiàn)[30]重點(diǎn)考慮了嵌入式設(shè)備和云環(huán)境中的相關(guān)防御手段.但是這些研究只是從防御的具體措施、實(shí)施方法的角度和防御的層次對現(xiàn)有防御手段進(jìn)行分類,沒有從攻擊模型的角度解釋防御的安全性,同時(shí)對硬件架構(gòu)的關(guān)注相對較少.因此,本文從攻擊模型角度對現(xiàn)有的防御措施進(jìn)行分析比較,重點(diǎn)介紹了新型安全緩存架構(gòu)設(shè)計(jì)方案.

    本文的主要貢獻(xiàn)有3個(gè)方面:

    1) 總結(jié)歸納緩存?zhèn)刃诺拦舻哪P?,并結(jié)合攻擊模型討論具體的攻擊步驟;

    2) 對現(xiàn)有的防御手段進(jìn)行分析比較;

    3) 討論緩存?zhèn)刃诺拦舴烙胧┟媾R的挑戰(zhàn)以及未來研究方向.

    1 緩存?zhèn)刃诺拦?/h2>

    基于緩存的側(cè)信道攻擊可以實(shí)現(xiàn)跨進(jìn)程、跨處理器核以及跨虛擬機(jī)的攻擊,這種攻擊方式對市面上幾乎所有主流架構(gòu)的處理器(如Intel,AMD,ARM[31])等都有效,攻擊的范圍涵蓋RSA,AES,ECC等加密算法及其他軟件甚至操作系統(tǒng),可以在本地處理器上甚至遠(yuǎn)程虛擬機(jī)上開展攻擊.

    本節(jié)首先結(jié)合RSA加密算法,介紹了緩存?zhèn)刃诺馈奥┒础薄肮袅6取币约熬唧w的攻擊過程;之后討論了緩存?zhèn)刃诺拦裟P?

    微架構(gòu)側(cè)信道“漏洞”是指可執(zhí)行程序的某一部分區(qū)域,它可以位于代碼段,也可以位于數(shù)據(jù)段,這段代碼或數(shù)據(jù)本身邏輯和設(shè)計(jì)沒有什么問題,但是這部分內(nèi)存區(qū)域與用戶敏感信息相關(guān),攻擊者可以利用這段代碼的執(zhí)行情況或數(shù)據(jù)的訪問情況判斷出用戶信息,從而造成用戶信息泄露.例如,對于平方-乘算法而言,由于算法1行⑦~⑩是一個(gè)與用戶密鑰相關(guān)的代碼分支,也就是說,攻擊者可以根據(jù)這一分支的執(zhí)行情況推斷出用戶密鑰,因此稱算法1行⑦~⑩為微架構(gòu)側(cè)信道“漏洞”.

    算法1.平方-乘算法.

    ① functionexponent(b,e,m)

    ② begin

    ③x=1;

    ④ fori=|e|-1 downto 0 do

    ⑤x=x2;

    ⑥x=xmodn;

    ⑦ if (ei=1) then

    ⑧x=x×b;

    ⑨x=xmodm;

    ⑩ end if

    攻擊者可以通過用戶程序的整體執(zhí)行時(shí)間“監(jiān)聽”,也可以通過內(nèi)存訪問情況“監(jiān)聽”獲取用戶程序執(zhí)行信息,不同攻擊方式的信息來源不同,“監(jiān)聽”手段不同,我們稱攻擊者“監(jiān)聽”用戶程序的手段為攻擊者的攻擊粒度.

    一般來講,根據(jù)微架構(gòu)的側(cè)信道攻擊的獲取信息的來源,可以把攻擊方式分為:時(shí)間驅(qū)動(dòng)(time-based)攻擊、訪問驅(qū)動(dòng)(access-based)攻擊[32]和蹤跡驅(qū)動(dòng)(trace-based)攻擊,表1從信息來源、具體特點(diǎn)以及代表攻擊手段對3種攻擊方式進(jìn)行了比較.“Evict+Time”[8]是時(shí)間驅(qū)動(dòng)攻擊的典型代表,具體的攻擊過程為:

    1) 攻擊者測量程序在正常工作下執(zhí)行所需要的時(shí)間;

    2) 攻擊者根據(jù)之前確定的漏洞,填充對應(yīng)位置緩存,把這部分內(nèi)容從緩存中“清除”;

    3) 攻擊者再次測量程序執(zhí)行所需要的時(shí)間,利用整體上的時(shí)間差異判斷用戶程序的執(zhí)行流程.

    攻擊者可以通過程序整體執(zhí)行的時(shí)間差異推測出程序的執(zhí)行流程,此時(shí)攻擊粒度為整個(gè)用戶程序.但是,這種攻擊方式需要多次觸發(fā)用戶程序,且需要判斷程序的整體執(zhí)行時(shí)間,精度較差,探測時(shí)間較長,因此這類攻擊方式應(yīng)用范圍相對較小.

    “Flush+Reload”[10,33]是訪問驅(qū)動(dòng)攻擊的典型代表,這種攻擊方式的攻擊粒度為一個(gè)緩存塊,具體攻擊步驟為:

    1) 攻擊者根據(jù)具體的處理器判斷緩存命中與缺失的閾值;

    2) 根據(jù)之前確定的漏洞,flush指令強(qiáng)制清除對應(yīng)位置的緩存塊;

    3) 等待用戶程序執(zhí)行;

    4) 重新載入漏洞位置代碼,根據(jù)這次訪問時(shí)間與閾值的關(guān)系,判斷用戶程序執(zhí)行情況.

    而蹤跡驅(qū)動(dòng)需要采集加密算法執(zhí)行過程中所有緩存訪問的命中和缺失序列[12],并結(jié)合明文或密文推測出用戶密鑰,蹤跡驅(qū)動(dòng)的攻擊方式能夠獲取的信息最多,但往往需要操作系統(tǒng)等的支持才能獲取所有緩存訪問情況.

    在3種攻擊中,蹤跡驅(qū)動(dòng)需要系統(tǒng)提供的信息最多,需要能夠?qū)ο到y(tǒng)進(jìn)行持續(xù)的探測,精度也最高;時(shí)間驅(qū)動(dòng)只需要對程序的執(zhí)行時(shí)間進(jìn)行探測,利用不同硬件狀態(tài)的不同執(zhí)行時(shí)間,但是容易受到外界噪聲的干擾;訪問驅(qū)動(dòng)需要能訪問與用戶所使用的資源,判斷用戶是否執(zhí)行過與該區(qū)域相關(guān)的訪問操作.

    Table 1 Comparison Between Different Microarchitecture Side Channel Attacks表1 微架構(gòu)側(cè)信道攻擊方式比較

    1.1 攻擊者能力

    在討論基于緩存的側(cè)信道攻擊模型之前,我們首先假定攻擊者具有3方面能力:

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

    2) 攻擊者可以隨意訪問自己用戶空間中的內(nèi)存;

    3) 攻擊者可以測量訪問某個(gè)內(nèi)存所需要的時(shí)間.

    這些條件在現(xiàn)代計(jì)算機(jī)系統(tǒng)中或者云環(huán)境中基本能夠滿足.

    一般而言,緩存?zhèn)刃诺拦艨梢愿鶕?jù)攻擊的目標(biāo)分為針對主機(jī)的攻擊和針對虛擬機(jī)的攻擊;根據(jù)攻擊的模式可以分為隱蔽信道攻擊和側(cè)信道攻擊;根據(jù)攻擊對象把攻擊分為針對不同加密算法的攻擊、針對操作系統(tǒng)的攻擊等.本文按照攻擊者對緩存的利用方式不同,把攻擊分為基于復(fù)用的緩存?zhèn)刃诺拦艉突跊_突的緩存?zhèn)刃诺拦?

    基于復(fù)用的緩存?zhèn)刃诺拦?,指攻擊者與用戶存在共享內(nèi)存,例如共享的庫、共享文件等,且攻擊者利用的“漏洞”存在于共享內(nèi)存中,攻擊者可以獲取到該區(qū)域的內(nèi)存訪問模式.

    基于沖突的緩存?zhèn)刃诺拦羰侵?,攻擊者與用戶不存在共享內(nèi)存,或有可能存在共享內(nèi)存,但是“漏洞”不存在于共享內(nèi)存中,攻擊者只能通過對自己的地址空間中的內(nèi)容訪問,影響正常用戶進(jìn)程中對緩存的使用,推斷出用戶對某物理地址的訪問模式.

    Fig. 1 Model of cache based side channel attack圖1 基于緩存的側(cè)信道攻擊模型

    1.2 攻擊步驟

    如圖1所示,根據(jù)攻擊者實(shí)施基于緩存的微架構(gòu)側(cè)信道攻擊需要采取的操作,攻擊過程可以分為4個(gè)步驟:

    1) 確定“微架構(gòu)側(cè)信道漏洞”;

    1.3 旅游產(chǎn)業(yè)的郁勃 目前,我國旅游產(chǎn)業(yè)正處于“多元化、全域化、高質(zhì)量、大眾化”新格局的構(gòu)建時(shí)期。2013年,國家出臺的《國民旅游休閑綱要(2013-2020)》提出:至2020年基本建成與小康社會(huì)相適應(yīng)的現(xiàn)代國民旅游休閑體系。隨后又陸續(xù)發(fā)布了關(guān)于“旅游業(yè)改革、特色旅游城鎮(zhèn)建設(shè)、旅游投資和消費(fèi)”等系列政策,“從旅游產(chǎn)品的供給到旅游產(chǎn)品質(zhì)量的提升”這一政策性導(dǎo)向從根本上奠定了我國旅游產(chǎn)業(yè)發(fā)展的基調(diào),這不僅是旅游產(chǎn)業(yè)發(fā)展的一項(xiàng)高標(biāo)準(zhǔn),更是對我國經(jīng)濟(jì)產(chǎn)業(yè)發(fā)展的一個(gè)嚴(yán)要求,我國旅游業(yè)將進(jìn)入提質(zhì)增效的攻堅(jiān)階段。

    2) 確定攻擊者與用戶程序的“沖突域”;

    3) 攻擊者通過“沖突域”對“微架構(gòu)側(cè)信道漏洞”的位置進(jìn)行監(jiān)聽,獲取出微架構(gòu)狀態(tài)的變化;

    4) 攻擊者根據(jù)獲取到的信息以及一些先驗(yàn)知識,還原用戶信息.

    本節(jié)根據(jù)之前討論的攻擊者能力按照攻擊模型對攻擊步驟進(jìn)行詳細(xì)介紹.

    1.2.1 確定“漏洞”

    根據(jù)“漏洞”的目標(biāo)程序?qū)?yīng)地址所包含的內(nèi)容不同,微架構(gòu)側(cè)信道漏洞主要包括兩大類:1)基于指令執(zhí)行的漏洞;2)基于數(shù)據(jù)訪問的漏洞.

    基于指令執(zhí)行的漏洞是指用戶程序在執(zhí)行過程中,存在與用戶信息相關(guān)的指令控制流,例如把用戶信息作為分支跳轉(zhuǎn)指令的轉(zhuǎn)移條件等.通過這些對這些指令的監(jiān)控,攻擊者可以分析出用戶的指令執(zhí)行過程,之后對攻擊者的信息進(jìn)行推斷;基于數(shù)據(jù)訪問的漏洞是指用戶程序訪問的數(shù)據(jù)與用戶信息相關(guān),例如把用戶信息作為索引,查找某個(gè)地址的數(shù)據(jù)內(nèi)容.攻擊者可以通過觀察這些內(nèi)存的訪問情況,獲取出用戶信息.

    攻擊者在攻擊過程中,首先要確定出“漏洞”源,才能對“漏洞”確定的地址進(jìn)行“監(jiān)聽”.

    根據(jù)攻擊者和用戶共享的層面不同,攻擊可以分為跨進(jìn)程攻擊、跨處理器核攻擊、跨虛擬機(jī)攻擊.與其他的攻擊方式相比,跨虛擬機(jī)的攻擊首先要進(jìn)行“虛擬機(jī)同駐”的判斷,即判斷攻擊者和用戶所在的虛擬機(jī)之間的關(guān)系是處于同一個(gè)處理器核,還是同一個(gè)處理器中不同的處理器核上;或者不同的虛擬機(jī)運(yùn)行于不同的處理器上.通過“虛擬機(jī)同駐”判斷,可以分析出攻擊者與用戶之間的共享結(jié)構(gòu),就可以把問題轉(zhuǎn)化為其他2種攻擊方式.

    如圖2的處理器共享層次所示,跨進(jìn)程攻擊是指攻擊者和用戶運(yùn)行于同一個(gè)處理器核之上,可以共享的資源包括緩存、內(nèi)存、內(nèi)存控制器等資源;跨處理器核攻擊是指當(dāng)攻擊者和用戶運(yùn)行于不同的處理器核之上,可以共享的資源包括最后一級緩存、內(nèi)存等;跨虛擬機(jī)攻擊主要指在多租戶的云服務(wù)器中,攻擊者和用戶位于不同的虛擬機(jī)之上[34],完成“虛擬機(jī)同駐”后,跨虛擬機(jī)的攻擊方式與其他2種攻擊的攻擊方式無異,而當(dāng)處理器位于不同的物理封裝時(shí),共享內(nèi)存控制器同樣會(huì)成為被攻擊的對象[35].

    Fig. 2 Contended resources in a hierarchical multicore system[29]圖2 層次化多核系統(tǒng)中的爭用資源[29]

    當(dāng)攻擊者利用的“漏洞”存在于共享內(nèi)存中時(shí),攻擊者可以通過對該“漏洞”對應(yīng)地址進(jìn)行直接訪問,影響“漏洞”對應(yīng)內(nèi)容在緩存中的狀態(tài);而“漏洞”不存在于共享內(nèi)存中時(shí),攻擊者則需要首先分析出一組“虛擬地址集合”,攻擊者通過這個(gè)集合影響“漏洞”對應(yīng)的代碼或數(shù)據(jù)在緩存中的狀態(tài),這個(gè)集合被稱為“沖突域”.

    具體來講,沖突域[36]是一組虛擬地址的集合,攻擊者可以訪問這個(gè)集合中的地址.它具有3個(gè)特點(diǎn):

    1) “沖突域”與目標(biāo)地址影響同一個(gè)緩存微架構(gòu)狀態(tài)(比如都可以對同一塊Cache的狀態(tài)產(chǎn)生影響).

    2) 通過沖突域的訪問可以把目標(biāo)地址所涉及到的微架構(gòu)狀態(tài)初始化到攻擊者可以控制的狀態(tài).

    3) 通過沖突域的訪問可以感知目標(biāo)地址對應(yīng)的微架構(gòu)狀態(tài)的變化.

    當(dāng)選取的“沖突域”太大時(shí),一方面造成比較大的“噪聲”,對攻擊過程產(chǎn)生影響;另一方面會(huì)增加攻擊的時(shí)間.因此在尋找“沖突域”的過程中,較小的沖突集(small conflict groups, SCG)對攻擊過程更有意義[13].一般來講,攻擊者選擇的沖突域的大小與緩存關(guān)聯(lián)度相同[36-37].

    1.2.3 信息獲取

    微架構(gòu)狀態(tài)的不同,不會(huì)對程序的執(zhí)行結(jié)果產(chǎn)生影響,但是會(huì)對程序執(zhí)行過程產(chǎn)生影響.具體可以有3個(gè)方面的效果:

    1) 執(zhí)行時(shí)間的區(qū)別.數(shù)據(jù)或代碼位于不同的存儲器層次結(jié)構(gòu)時(shí),訪問時(shí)間會(huì)存在較大的差異.對于Xeon E5-2430處理器[10]從LLC讀取數(shù)據(jù)需要55~82個(gè)時(shí)鐘周期,而從內(nèi)存中讀取數(shù)據(jù)則需要230個(gè)時(shí)鐘周期;而對于Intel i5-2430M處理器[16],訪問LLC需要50個(gè)硬件周期,而訪問內(nèi)存則需要220個(gè)時(shí)鐘周期.

    2) 引發(fā)中斷事件.在使用Intel TSX指令的時(shí)候,當(dāng)檢測到緩存被驅(qū)逐時(shí),會(huì)引發(fā)事務(wù)中斷[21],攻擊者可以捕捉這些事件,對用戶行為進(jìn)行分析.

    3) 硬件結(jié)構(gòu)資源使用情況.程序在執(zhí)行過程中,有可能對某些硬件單元獨(dú)占或鎖定[27],導(dǎo)致別的程序不能使用,攻擊者可以通過對這些硬件資源的檢測,分析用戶正在執(zhí)行的一些操作.

    但是,對中斷事件的捕獲,需要操作系統(tǒng)的支持,對某些硬件結(jié)構(gòu)進(jìn)行監(jiān)控分析,精度較差,應(yīng)用范圍相對較小.而緩存幾乎存在于所有的處理器中,且粒度較細(xì),精度較高,因此把緩存狀態(tài)作為獲取信息的途徑是最為廣泛的.

    攻擊者通過緩存狀態(tài)獲取的信息,需要有一個(gè)比較精確的時(shí)間統(tǒng)計(jì)信息,判斷“漏洞”位置所處的存儲器層次結(jié)構(gòu).目前攻擊者獲取“精準(zhǔn)時(shí)鐘”有3個(gè)途徑[38]:

    1) 硬件內(nèi)部的時(shí)鐘源;

    2) 其他計(jì)算機(jī)或設(shè)備的時(shí)鐘源;

    3) 軟件生成的虛擬時(shí)鐘源.

    1.2.4 信息還原

    攻擊者獲取到微架構(gòu)狀態(tài)信息的變化后,需要根據(jù)一定的先驗(yàn)知識,對獲取到的內(nèi)存訪問模式等信息進(jìn)行處理,包括消除信息中的噪聲、還原信息的控制流、還原用戶內(nèi)存訪問情況等.通過這些操作及分析,攻擊者可以獲取密鑰[16]、用戶行為信息[13]、內(nèi)核空間的分布信息[24]等.

    但是,在實(shí)際的攻擊過程中,這一步往往是通過離線操作進(jìn)行的,攻擊者不需要再與用戶進(jìn)行信息交互,也不需要“監(jiān)聽”內(nèi)存訪問情況,因此攻擊者就不需要過多關(guān)注“執(zhí)行環(huán)境”,而本文重點(diǎn)關(guān)注攻擊者在攻擊過程中對硬件結(jié)構(gòu)等的利用情況,討論攻擊者和用戶通過“硬件架構(gòu)”完成“交互”,因此這部分不作為本文的討論內(nèi)容.

    2 防御措施

    根據(jù)1.2節(jié)攻擊步驟的討論,攻擊者想要實(shí)施側(cè)信道攻擊,首先就要判斷出“監(jiān)聽位置”,即找到緩存?zhèn)刃诺馈奥┒础保黄浯涡枰_定“監(jiān)聽手段”,即“沖突域”;最后攻擊者才能“監(jiān)聽”出用戶程序的執(zhí)行情況,完成信息竊取.

    若攻擊者完成信息竊取之前的相關(guān)工作,攻擊也就無從談起.因此,根據(jù)防御的目的和效果,本文把目前的防御手段分為代碼檢測、緩解“漏洞”、降低測量精度3類.

    2.1 代碼檢測

    緩存?zhèn)刃诺罊z測技術(shù)(cache side channel detec-tion technology),即代碼檢測技術(shù),是指通過檢測用戶程序,判斷所執(zhí)行程序中是否存在可以被緩存?zhèn)刃诺浪玫摹奥┒础钡募夹g(shù).它從用戶程序的角度實(shí)現(xiàn)對緩存?zhèn)刃诺赖姆烙?

    表2列舉了近年來關(guān)于代碼檢測工具的相關(guān)研究,并從檢測工具的分析方法、輸入輸出、可以發(fā)現(xiàn)的漏洞類型,以及是否需要用戶程序的源代碼角度進(jìn)行比較,最后展示了各個(gè)檢測工具的分析性能.

    代碼檢測技術(shù)主要包括兩大類:靜態(tài)分析和動(dòng)態(tài)分析.Doychev等人[39]及其擴(kuò)展工作[40]使用抽象解釋的方式,對3種常見的基于Cache的攻擊方式進(jìn)行分析,首次采用自動(dòng)化的方式檢測緩存?zhèn)刃诺缆┒?CacheAudit及其擴(kuò)展工作給出的是用戶由于微架構(gòu)側(cè)信道漏洞存在造成的信息泄露的上限,但是有可能會(huì)給出一個(gè)過高的上限而導(dǎo)致結(jié)果無意義.也就是說,CacheAudit工具只能驗(yàn)證代碼的安全性,而不能判斷代碼是不安全的.

    靜態(tài)分析的方式雖然具有較高的代碼覆蓋率,但是只能對程序是否存在側(cè)信道的風(fēng)險(xiǎn)進(jìn)行判斷,不能準(zhǔn)確地描述出漏洞的具體位置和漏洞的成因.Zankl等人[41]使用PIN作為動(dòng)態(tài)二進(jìn)制測量工具,對二進(jìn)制代碼運(yùn)行過程中的執(zhí)行過程的內(nèi)存訪問情況進(jìn)行跟蹤,檢測微架構(gòu)側(cè)信道漏洞的位置.此外,Carré等人[42]采用動(dòng)靜結(jié)合的分析方式,把依賴于密碼的控制流或者依賴查找表作為可能的側(cè)信道漏洞點(diǎn),在“可疑點(diǎn)”處設(shè)置斷點(diǎn),統(tǒng)計(jì)代碼的執(zhí)行數(shù)目和訪問模式,對代碼中存在的這些可能的漏洞進(jìn)行進(jìn)一步的確認(rèn),但是在分析過程中,單純考慮了內(nèi)存查找表訪問和控制流程,沒有過多地考慮Cache本身的影響.針對這個(gè)問題,Irazoqui等人[43]在MI-Tool中首先使用KLEE作為污點(diǎn)分析的工具,分析出密碼相關(guān)的指令或數(shù)據(jù),之后在這些“疑點(diǎn)”前后分別插入Cache強(qiáng)制清除和Cache重新訪問的代碼,使用不同的輸入執(zhí)行代碼,獲得Cache的蹤跡,最終對這些“疑點(diǎn)”是否屬于側(cè)信道進(jìn)行驗(yàn)證.

    之前的檢測工具雖然可以對用戶程序進(jìn)行檢測,但是代碼覆蓋率相對較低,且沒有展示出攻擊者對“漏洞”的具體利用手段.隨后,Brotzman等人[44]提出CaSym,為了避免不同的編譯器對檢測工具的影響,CaSym使用IR-level代碼作為輸入,并對Cache的行為建模,使用抽象的Cache模型,使用符號執(zhí)行對程序的執(zhí)行路徑進(jìn)行分析,對目前已知的基于Cache的攻擊方式進(jìn)行檢測.CacheD[45]將一個(gè)具體的程序執(zhí)行蹤跡作為輸入,并在符號執(zhí)行期間符號化敏感信息,以識別敏感信息相關(guān)的內(nèi)存訪問.CacheD探索與輸入動(dòng)態(tài)跟蹤相同的執(zhí)行路徑.但是只能探測與輸入相同的路徑,那些未被探測的代碼中的漏洞或那些由依賴于秘密的分支引起的漏洞不能被緩存檢測到.Weiser等人[46]開發(fā)了DATA工具.該工具使用不同輸入激勵(lì)多次執(zhí)行程序,找出程序執(zhí)行過程中地址軌跡的不同點(diǎn);再用一個(gè)固定的輸入與多個(gè)隨機(jī)的輸入,統(tǒng)計(jì)找出真正的泄漏點(diǎn),最后對安全關(guān)鍵軟件進(jìn)行測試和驗(yàn)證,揭示用戶秘密信息與程序執(zhí)行之間的依賴關(guān)系.

    漏洞,“×”表示不能檢測出這種類型漏洞.

    代碼檢測不能同時(shí)兼顧高精度、代碼覆蓋率以及整個(gè)系統(tǒng)的擴(kuò)展性,因此在實(shí)際使用過程中受到了很大的限制.Wang等人[47]發(fā)現(xiàn)程序的密鑰信息以及其依賴關(guān)系通常只會(huì)在很小的一個(gè)程序上表現(xiàn),其他大量的變量只是用來維護(hù)公共信息.根據(jù)這個(gè)特點(diǎn),他們設(shè)計(jì)了“秘密增強(qiáng)符號域”(SAS),開發(fā)了一個(gè)新的靜態(tài)檢測側(cè)信道漏洞的工具——CacheS,對密鑰相關(guān)的代碼進(jìn)行細(xì)粒度的分析,而對其他代碼采用可伸縮的探測方式.通過這種分析方式,作者定位出了54個(gè)之前沒有提及的漏洞點(diǎn).此外,Gridin等人[48]利用GDB調(diào)試工具開發(fā)了Triggerflow,在源注釋的幫助下動(dòng)態(tài)分析二進(jìn)制文件,可以以一個(gè)較快的速度發(fā)現(xiàn)OpenSSL庫中可能存在的緩存?zhèn)刃诺里L(fēng)險(xiǎn).

    為了能夠?qū)幾g器的輸出進(jìn)行分析,Wichelmann等人[49]開發(fā)了一種可擴(kuò)展的MicroWalk框架,并對2個(gè)廣泛應(yīng)用但閉源的加密算法庫Intel IPP和Microsoft CNG中的15個(gè)不同的加密算法進(jìn)行驗(yàn)證,解釋了二進(jìn)制代碼中是否存在緩存?zhèn)刃诺里L(fēng)險(xiǎn)、緩存?zhèn)刃诺里L(fēng)險(xiǎn)的位置以及緩存?zhèn)刃诺缆┒袋c(diǎn)的位置與密鑰的關(guān)系等相關(guān)問題.

    之前的代碼檢測工具可以對用戶程序中的基于數(shù)據(jù)訪問或控制流的“漏洞”進(jìn)行檢測,但是對Spectre[1]等攻擊方式卻無能為力.SpecFuzz[50]首次使用動(dòng)態(tài)分析的方式實(shí)現(xiàn)了對代碼中潛在的預(yù)測執(zhí)行漏洞進(jìn)行判斷,SpecuSym[51]基于符號執(zhí)行的方法,系統(tǒng)地探測用戶執(zhí)行空間,對分支的推測行為進(jìn)行建模.在動(dòng)態(tài)執(zhí)行期間,檢查緩存行為,判斷可能出現(xiàn)的風(fēng)險(xiǎn).

    2.2 緩解“漏洞”

    代碼檢測只能判斷用戶程序中是否存在“漏洞”,但是卻不能消除“漏洞”.因此,本節(jié)對常用的緩解緩存?zhèn)刃诺拦舻募夹g(shù)進(jìn)行歸納總結(jié).

    目前常見的緩解“緩存?zhèn)刃诺缆┒础钡姆椒ㄖ饕ǎ汉愣〞r(shí)間技術(shù)、緩存清除以及編譯器輔助安全措施等.恒定時(shí)間技術(shù)(constant-time technology)[52]是一種用于抵抗基于微架構(gòu)的時(shí)間側(cè)信道攻擊的有效手段.其主要思想是通過軟件的方式,使不同表項(xiàng)和指令流的執(zhí)行過程中的訪問時(shí)間相同,避免程序執(zhí)行時(shí)間與執(zhí)行流程之間的相關(guān)性,從而消除“側(cè)信道漏洞”.NaCl[53]避免從密碼到加載地址和分支預(yù)測的數(shù)據(jù)通路,消除了許多已經(jīng)發(fā)現(xiàn)的漏洞;Andrysco等人[54]設(shè)計(jì)了一個(gè)固定時(shí)間的數(shù)學(xué)庫libfixedtimefixpoint,使用“恒定時(shí)間”策略,保證程序本身的安全性.Panda[55]采用了一種“向后缺失觸發(fā)硬件預(yù)取技術(shù)”(BITP),在攻擊者“觀察”內(nèi)存訪問模式之前把缺失內(nèi)容完成硬件預(yù)期,不需要軟件、操作系統(tǒng)的支持,就可以消除攻擊者的觀察接口,使攻擊者無法觀察到用戶的內(nèi)存訪問模式.表3所示為緩解緩存?zhèn)刃诺赖募夹g(shù).

    對于恒定時(shí)間技術(shù)而言,一方面需要解決如何實(shí)現(xiàn)“恒定時(shí)間”,另一方面是如何“驗(yàn)證程序是恒定時(shí)間的”.而且,隨著程序規(guī)模的擴(kuò)大,如何確定程序是“時(shí)間固定的”,是一個(gè)具有挑戰(zhàn)性的問題.Almeida等人[56]對程序進(jìn)行LLVM級邏輯驗(yàn)證,開發(fā)了用于分析程序“恒定時(shí)間特征”的自動(dòng)化驗(yàn)證工具ct-verif,在NaCl,OpenSSL,FourQ等多個(gè)商用的庫上進(jìn)行驗(yàn)證,較為快捷地實(shí)現(xiàn)了“恒定時(shí)間”的驗(yàn)證.但是程序執(zhí)行與硬件架構(gòu)相關(guān),因此需要從匯編代碼級別對程序進(jìn)行分析.Bond等人[57]開發(fā)了Vale工具,把帶注釋的匯編語言轉(zhuǎn)化為抽象語法樹,在ARM和X86平臺上對SHA-256算法、X64平臺的Poly1305的代碼進(jìn)行分析,結(jié)果表明:Vale可以對現(xiàn)有代碼的正確性、安全性進(jìn)行驗(yàn)證.對于二進(jìn)制代碼而言,Daniel等人[58]開發(fā)了BINSECREL,對程序的執(zhí)行流進(jìn)行分析,并通過對338種密碼的實(shí)現(xiàn)方案進(jìn)行驗(yàn)證,極大地提高了對代碼恒定時(shí)間的驗(yàn)證速度和精度.此外,文獻(xiàn)[59]中使用靜態(tài)信息流分析的方法對加密算法庫中的代碼進(jìn)行驗(yàn)證.

    Table 3 Cache-Based SCA Mitigation Technology表3 緩解緩存?zhèn)刃诺赖募夹g(shù)

    緩存清除技術(shù)(cache flushing technology),是指通過操作系統(tǒng)等的輔助,清除由于用戶程序執(zhí)行帶來的微架構(gòu)狀態(tài)的變化.Zhang等人[60]周期性地清除L1緩存,消除了攻擊者對時(shí)間信息的利用,他們采用2種模式,跳過不必要的緩存清除操作,實(shí)現(xiàn)不到7%的性能開銷;為了降低性能開銷,Godfrey等人[61]在虛擬機(jī)調(diào)度器發(fā)生內(nèi)容切換的時(shí)候進(jìn)行清除,新字段將添加到VCPU,以指示當(dāng)前緩存數(shù)據(jù)的擁有者,而切換到空閑或相同的域時(shí)則不會(huì)發(fā)生緩存刷新.

    修改用戶程序以緩解“漏洞”,無疑會(huì)增加用戶程序的開發(fā)周期和開發(fā)成本,而編譯器輔助技術(shù)(compiler-assist)則可以極大地提高開發(fā)效率,實(shí)現(xiàn)對緩存?zhèn)刃诺拦舻姆烙?Crane等人[62]采用“移動(dòng)目標(biāo)防御”的防御理念,把一個(gè)代碼編譯為多個(gè)版本,各個(gè)版本的不同在于插入了不同數(shù)目的空操作、函數(shù)位置、寄存器隨機(jī)化、指令替換等.程序在執(zhí)行過程中動(dòng)態(tài)選擇執(zhí)行路徑,從而產(chǎn)生不同的結(jié)果,擾亂攻擊者對信息的探測,實(shí)現(xiàn)緩存?zhèn)刃诺婪烙?Khan等人[63]開發(fā)了一個(gè)編譯器輔助調(diào)度程序Biscuit,它可以非常高精度地檢測到針對多租戶服務(wù)器場中調(diào)度進(jìn)程的基于緩存的側(cè)通道攻擊.用戶以6%的性能為代價(jià),可以實(shí)現(xiàn)對Flush+Flush,Flush+Reload,Prime+Probe等主流攻擊方式的防御.

    2.3 降低測量精準(zhǔn)度

    攻擊者在實(shí)施微架構(gòu)側(cè)信道攻擊時(shí),需要獲取到用戶程序的執(zhí)行情況、用戶程序的內(nèi)存訪問模式后才能完成后續(xù)的攻擊,而攻擊者獲取信息的精準(zhǔn)度直接影響攻擊的效果甚至攻擊的成功與否.

    目前的防御手段主要通過操作系統(tǒng)、虛擬機(jī)管理程序以及設(shè)計(jì)新型安全緩存架構(gòu)提高映射關(guān)系的不確定性,降低資源共享的概率,從而降低攻擊者對用戶訪問模式的獲取精準(zhǔn)度,提高系統(tǒng)的安全性,實(shí)現(xiàn)對緩存?zhèn)刃诺赖姆烙?

    2.3.1 干擾信息獲取

    表4展示了從操作系統(tǒng)(operating system, OS)和虛擬機(jī)管理程序(virtual machine manager, VMM)的角度降低攻擊者測量精度的相關(guān)研究工作,并比較了不同防御措施需要修改的層次結(jié)構(gòu).

    Table 4 OS & VMM-Based Countermeasure表4 基于操作系統(tǒng)和VMM的防御措施

    對于虛擬機(jī)管理程序而言,StealthMem[64]為每個(gè)處理器核管理一組鎖定的Cache line,這些Cache line不會(huì)被驅(qū)逐,每個(gè)虛擬機(jī)可以把自己的敏感數(shù)據(jù)加載到鎖定的Cache line中,使其對其他的虛擬機(jī)不可見.Han等人[65]則從虛擬機(jī)分配的角度出發(fā),提出PSSF虛擬機(jī)分配策略.隨后,Jia等人[66]從運(yùn)行的主機(jī)數(shù)量和CPU利用率角度進(jìn)行優(yōu)化,減少能耗,攻擊效率和攻擊范圍表明,采用合適的虛擬機(jī)分配策略可以有效降低虛擬機(jī)共存的攻擊的成功率.劉維杰[70]提出一個(gè)全局的動(dòng)態(tài)時(shí)鐘模糊方案,利用最新的硬件虛擬化擴(kuò)展技術(shù),提供一個(gè)輕量級和動(dòng)態(tài)的環(huán)境,使系統(tǒng)范圍內(nèi)的側(cè)信道危害得到緩解.

    除了虛擬機(jī)管理程序,相關(guān)研究表明也可以從操作系統(tǒng)的角度提供安全防御.Zhou等人[67]提出了CacheBar,采用新的復(fù)制訪問管理模式對多用戶的物理內(nèi)存頁進(jìn)行管理,同時(shí),設(shè)計(jì)了一種動(dòng)態(tài)可維護(hù)的內(nèi)存頁面隊(duì)列管理機(jī)制避免攻擊者對緩存的惡意探.Sprabery等人[68]則認(rèn)為,全部隔離用戶頁面會(huì)造成存儲上的浪費(fèi),因此他們從側(cè)信道的根源入手,把程序劃分為多個(gè)安全隔離區(qū)域和正常區(qū)域,允許同一個(gè)安全域內(nèi)的用戶共享內(nèi)存頁,當(dāng)用戶在不同的安全域進(jìn)行切換的時(shí)候,對硬件的狀態(tài)進(jìn)行清除.更進(jìn)一步地,Nomani等人[69]使用HPC預(yù)測出程序的下一個(gè)執(zhí)行階段,并通過操作系統(tǒng)的調(diào)度,把預(yù)測出相同程序階段的應(yīng)用調(diào)度到不同的處理器核上,通過動(dòng)態(tài)調(diào)度避免底層硬件結(jié)構(gòu)的爭用,緩解側(cè)信道攻擊的影響.

    操作系統(tǒng)方面對內(nèi)存進(jìn)行防護(hù)很多時(shí)候需要硬件的支持,才能夠在開銷盡可能小的情況下完成.Ge等人[71]對現(xiàn)有的主流處理器進(jìn)行分析,研究表明現(xiàn)有的結(jié)構(gòu)不能支撐軟件的防護(hù).他們呼吁處理器廠商對現(xiàn)有的指令集進(jìn)行安全擴(kuò)充,并從5個(gè)方面對安全擴(kuò)充指令集進(jìn)行建議,以便于從操作系統(tǒng)等方面提供安全防護(hù).

    除了通過操作系統(tǒng)或虛擬機(jī)管理程序的調(diào)度外,還可以通過增加噪聲的方式,干擾用戶對信息的“監(jiān)聽”過程.Wang等人[72]利用DRAM更新作為噪聲源,設(shè)計(jì)了MemJam架構(gòu),以較小的代價(jià)避免攻擊者通過共享內(nèi)存控制器“監(jiān)聽”用戶程序的內(nèi)存訪問情況.

    2.3.2 新型安全架構(gòu)

    使用硬件手段改變增加攻擊者獲取信息的難度,可以擾亂攻擊者獲取由于用戶操作而對微架構(gòu)狀態(tài)產(chǎn)生的影響.表5列舉了近幾年的新型Cache架構(gòu),并從新型緩存架構(gòu)設(shè)計(jì)方案、安全性、開銷等方面對相關(guān)工作進(jìn)行比較.

    Table 5 Comparison Between Cache Architecture表5 Cache架構(gòu)及其比較

    1) 隔離架構(gòu)

    一種增加攻擊者獲取有效信息的緩存設(shè)計(jì)方案是通過隔離手段,即雖然攻擊者與用戶仍然共享緩存,但卻使用不同的緩存塊,從而避免攻擊者判斷用戶程序的內(nèi)存訪問情況.Wang等人[73]提出了PLCache設(shè)計(jì)方案,在原有的緩存架構(gòu)中增加Lock和ID位,并且軟件程序員在程序運(yùn)行時(shí),可以通過操作系統(tǒng)把某個(gè)具體的緩存塊鎖定,當(dāng)程序執(zhí)行結(jié)束后再解除鎖定;鎖定的方式雖然可以提高安全性,但是會(huì)導(dǎo)致緩存利用率降低,針對這個(gè)問題,Domnitser等人[74]提出NoMo Cache架構(gòu),為所有正在運(yùn)行的進(jìn)程在對應(yīng)的每個(gè)緩存集中預(yù)留Y個(gè)Cache line,通過對進(jìn)程預(yù)留Cache line的方式對安全性和性能進(jìn)行權(quán)衡,盡可能避免側(cè)信道的攻擊.

    此外,很多人開始探索采用動(dòng)態(tài)分隔的方式[87-88]提高安全性.如果動(dòng)態(tài)分隔策略依賴于程序運(yùn)行狀態(tài)時(shí),仍然會(huì)產(chǎn)生側(cè)信道的風(fēng)險(xiǎn),Wang等人[75]提供了一種安全的動(dòng)態(tài)高速緩存分區(qū)方案,根據(jù)應(yīng)用的不同安全等級進(jìn)行分類,在提高緩存性能的同時(shí),滿足了分層安全的策略需求,與靜態(tài)分區(qū)的方式相比,這種動(dòng)態(tài)隔離的方式可以平均提升12.5%的性能.Werner等人[76]提出ScatterCache架構(gòu),使用關(guān)鍵字映射的方式實(shí)現(xiàn)偏置相聯(lián)緩存,并對不同的安全域進(jìn)行區(qū)分,使共享緩存的行為變得不可預(yù)測,實(shí)現(xiàn)對基于緩存?zhèn)刃诺赖姆烙?

    針對共享內(nèi)存控制器的攻擊,Wang等人[89]根據(jù)傳統(tǒng)內(nèi)存控制器的特點(diǎn),分析攻擊者對內(nèi)存控制器的利用方式,根據(jù)用戶安全域的不同,設(shè)計(jì)了一種基于靜態(tài)時(shí)間隙的內(nèi)存控制器隊(duì)列調(diào)度算法,避免了攻擊者對用戶信息的探測.

    2) 動(dòng)態(tài)映射架構(gòu)

    除了靜態(tài)和動(dòng)態(tài)分隔的方案之外,還可以通過隨機(jī)映射的方案,擾亂攻擊者對用戶信息的判斷,實(shí)現(xiàn)對緩存?zhèn)刃诺拦舻姆烙?

    Wang等人[73]設(shè)計(jì)了RPCache架構(gòu),使用一個(gè)重映射表實(shí)現(xiàn)第一級數(shù)據(jù)緩存Cache與內(nèi)存映射的隨機(jī)性,降低攻擊者對用戶訪問數(shù)據(jù)的探測精度.文獻(xiàn)[77]分析Prime+Probe在指令緩存上的實(shí)現(xiàn)方式,通過SVM(support vector machine)分類矩陣對使用隨機(jī)映射策略的指令緩存的緩存蹤跡進(jìn)行定量分析,并實(shí)現(xiàn)了對第一級指令緩存的隨機(jī)映射方案.更進(jìn)一步地,NewCache[78]提供了一種隨機(jī)映射的方法,使用CAM作為動(dòng)態(tài)行號映射器,把原來的直接映射緩存的固定地址譯碼器替換為動(dòng)態(tài)行號映射器,擾亂了攻擊者對Cache line訪問情況的探測,并使用65-nm CMOS工藝對原型系統(tǒng)進(jìn)行驗(yàn)證.

    雖然采用映射表的方式可以提高對側(cè)信道攻擊的抵抗能力,但是采用查找表的方式會(huì)受到存儲代價(jià)的限制,導(dǎo)致其只能應(yīng)用于較小的緩存.針對這個(gè)問題,Qureshi[79]設(shè)計(jì)了CEASE架構(gòu),如圖3所示.在訪問緩存時(shí),采用低延時(shí)加密解密模塊(LLBC),而對除緩存外的其他模塊則是透明的,用較小的代價(jià)實(shí)現(xiàn)了對緩存?zhèn)刃诺赖姆烙?,同時(shí)又將隨機(jī)映射的方式擴(kuò)展到最后一級緩存.

    Fig. 3 Overview of CEASE[79]圖3 CEASE 總體結(jié)構(gòu)圖[79]

    為了避免靜態(tài)密鑰被攻擊者探測,Qureshi[80]在CEASE的基礎(chǔ)上,對LLBC的加密密鑰不斷改變,即CEASER架構(gòu),進(jìn)一步提升系統(tǒng)魯棒性.算法的重映射速率會(huì)影響對緩存?zhèn)刃诺赖姆烙Ч?但是,他們發(fā)現(xiàn),通過修改查找沖突域的收縮算法,或者根據(jù)處理器的緩存替換算法,能夠有效地縮短攻擊者查找沖突域的時(shí)間,因此采用偏置映射的方式,把原有的CEASER改進(jìn)為CEASER-S,把高速緩存分為多個(gè)區(qū),不同的區(qū)中使用不同的Hash函數(shù)進(jìn)行映射,把同一緩存集中的數(shù)據(jù)映射到不同的位置.隨后,Ramkrishnan等人[81]發(fā)現(xiàn)CEASER-S架構(gòu)使用二分查找攻擊方式,同樣可以把搜尋SCG的時(shí)間復(fù)雜度變?yōu)镺(N),因此他們使用間接查找表的方式實(shí)現(xiàn)“高偏置”和“高刷新率”,對基于沖突的緩存?zhèn)刃诺拦魧?shí)現(xiàn)防御.

    當(dāng)對整個(gè)LLC進(jìn)行隨機(jī)映射時(shí),性能損耗較大,且重映射的方式會(huì)增加對內(nèi)存的訪問延時(shí)和緩存缺失的概率.Tan等人[82]認(rèn)為并不需要對整體進(jìn)行隨機(jī)化映射,提出PhantomCache的局部隨機(jī)化的緩存架構(gòu),以0.5%的性能下降,在保證隨機(jī)化的同時(shí),也實(shí)現(xiàn)了對微架構(gòu)側(cè)信道攻擊的防御.

    3) 緩存替換策略

    根據(jù)緩存的工作原理,當(dāng)用戶訪問的數(shù)據(jù)不在緩存中時(shí),需要從內(nèi)存中讀取并寫到緩存中,攻擊者在攻擊中,也需要依賴這一條件.Liu等人[83]提出了一種隨機(jī)換入Cache的結(jié)構(gòu),這種架構(gòu)的基本原理是當(dāng)發(fā)生Cache miss時(shí),把從內(nèi)存中獲取到的數(shù)據(jù)發(fā)送給CPU,但并不把這個(gè)數(shù)據(jù)保留到緩存,而是把這個(gè)數(shù)據(jù)“附近”的值填入到緩存中,在保證局部性的同時(shí)實(shí)現(xiàn)安全防御.Yan等人[84]發(fā)現(xiàn)當(dāng)攻擊者在多核處理器上開展側(cè)信道攻擊時(shí),會(huì)存在“包容性受害緩存”(inclusive victim),攻擊者需要利用“包容性受害緩存”獲取信息,因此,他們提出通過采用新的緩存塊的替換策略SHARP,避免攻擊者通過“inclusive victim”獲取到用戶的有用信息,從而實(shí)現(xiàn)安全防御.

    4) 動(dòng)態(tài)緩存架構(gòu)

    攻擊者對塊的大小、關(guān)聯(lián)度、緩存替換算法、內(nèi)存到緩存的映射函數(shù)等緩存架構(gòu)信息掌握得越少,攻擊的難度越高,攻擊效果越差.因此,Bandara等人[85]從這個(gè)角度出發(fā),通過動(dòng)態(tài)改變緩存塊的大小、緩存的相關(guān)聯(lián)度以及緩存的大小,設(shè)計(jì)了自適應(yīng)緩存架構(gòu).實(shí)驗(yàn)表明,在運(yùn)行過程中動(dòng)態(tài)改變緩存參數(shù),最多可以降低90%的攻擊精度;Dai等人[86]根據(jù)具體應(yīng)用設(shè)計(jì)了多種不同緩存結(jié)構(gòu),并在運(yùn)行過程中不斷改變緩存配置,使攻擊者無法采集到足夠的信息,從而避免緩存?zhèn)刃诺拦?

    2.4 防御方法總結(jié)

    如表6所示,軟件檢測的防御方式不需要改變現(xiàn)有的操作系統(tǒng)、硬件結(jié)構(gòu),只需在程序發(fā)布時(shí)對應(yīng)用進(jìn)行檢測或用戶在本地進(jìn)行檢測,部署方式最為靈活便捷.但是檢測攻擊的精準(zhǔn)度、覆蓋率、檢測速度以及擴(kuò)展性會(huì)直接影響檢測工具在實(shí)際過程中的使用.

    Table 6 Cache Side Channel Attack Countermeasure表6 緩存?zhèn)刃诺拦舴烙胧?/p>

    使用軟件方式對代碼進(jìn)行修正,緩解“側(cè)信道漏洞”同樣不需要改變操作系統(tǒng)等,只需要采用“恒定時(shí)間技術(shù)”或“加入噪聲”等手段就可以完成防御.但是,一方面,開發(fā)人員在設(shè)計(jì)時(shí)還需要考慮“恒定時(shí)間”等問題,增加了開發(fā)的周期和負(fù)擔(dān),同時(shí)驗(yàn)證代碼的“恒定時(shí)間”也是一個(gè)很大的挑戰(zhàn);另一方面,對代碼進(jìn)行修正無疑會(huì)降低程序執(zhí)行效率,影響程序性能.

    從操作系統(tǒng)(OS)或虛擬機(jī)管理程序(VMM)的角度實(shí)現(xiàn)不同安全域之間的隔離,增加攻擊者獲取信息的精準(zhǔn)度,或者改變虛擬機(jī)的分配策略,實(shí)現(xiàn)對緩存?zhèn)刃诺拦舻姆烙?,但是管理粒度相對較粗,增大操作系統(tǒng)的負(fù)擔(dān),還有可能需要硬件的支持.

    緩存?zhèn)刃诺拦糁?,攻擊者是利用硬件結(jié)構(gòu)的特點(diǎn)開展攻擊,而新型安全緩存架構(gòu)設(shè)計(jì)直接影響了緩存?zhèn)刃诺拦糁蝎@取信息的途徑,可以有效阻止緩存?zhèn)刃诺拦簦覍Σ僮飨到y(tǒng)、用戶程序等的要求相對較小,對用戶程序的性能影響也最小,因此受到了越來越多的研究和關(guān)注.但是這種方式需要硬件的更新和硬件廠商的支持,因此部署周期相對較長.

    3 防御面臨的挑戰(zhàn)

    隨著越來越多的基于處理器的硬件攻擊方式的出現(xiàn),學(xué)術(shù)界和廠商在研究如何能夠提高處理器的性能和降低處理器功耗的同時(shí),也開始對處理器的安全性進(jìn)行考慮.基于微架構(gòu)的側(cè)信道攻擊屬于側(cè)信道攻擊的一種,嚴(yán)重威脅了用戶的信息安全,與傳統(tǒng)的側(cè)信道攻擊不同的是,微架構(gòu)側(cè)信道攻擊利用處理器中的微架構(gòu)狀態(tài)傳遞信息,打破了操作系統(tǒng)等提供的安全隔離,攻擊者可以通過運(yùn)行于同一硬件結(jié)構(gòu)上的進(jìn)程“竊取”用戶信息,造成密鑰等信息泄露;攻擊者的攻擊范圍包括運(yùn)行于同一個(gè)實(shí)體設(shè)備的進(jìn)程,也可以包括云環(huán)境共享硬件結(jié)構(gòu)的不同租戶;攻擊者可以通過直接操作,也可以通過遠(yuǎn)程操作完成攻擊.未來緩存?zhèn)刃诺赖难芯恐饕?個(gè)方面:

    1) 定位緩存?zhèn)刃诺缆┒?/p>

    在防御方面,硬件的更新迭代周期比較長,更新的代價(jià)較大,利用軟件實(shí)現(xiàn)對側(cè)信道的防御措施可以以最快的速度完成部署,但是使用軟件進(jìn)行防護(hù)時(shí),或者在對即將發(fā)布程序的安全性進(jìn)行驗(yàn)證時(shí),需要知道軟件中是否存在側(cè)信道漏洞以及側(cè)信道漏洞的位置.

    CacheS[47],DATA[46],CacheAudit[40],CacheD[45]等工具可以對軟件進(jìn)行分析,檢測程序中是否有可能遭受被基于緩存的側(cè)信道攻擊,以及程序的哪些位置可能遭受這種攻擊,另一方面,攻擊者也可以利用發(fā)現(xiàn)的漏洞對用戶程序開展攻擊.但是,作為一種與處理器硬件緊密相關(guān)的攻擊方式,在分析程序是否存在“微架構(gòu)側(cè)信道漏洞”時(shí),需要對硬件平臺以及緩存結(jié)構(gòu)進(jìn)行考慮,而不能僅從軟件的角度對程序進(jìn)行分析.

    在對緩存?zhèn)刃诺缆┒催M(jìn)行分析時(shí),需要兼顧緩存替換算法、緩存塊大小、緩存組相連度等緩存架構(gòu)參數(shù)的硬件模型描述緩存行為,才能較為準(zhǔn)確地判斷出程序中是否存在“緩存?zhèn)刃诺缆┒础?程序在真實(shí)環(huán)境中運(yùn)行時(shí),硬件結(jié)構(gòu)的不同、指令集的不同,操作系統(tǒng)的不同都會(huì)對“緩存?zhèn)刃诺缆┒础钡呐袛喈a(chǎn)生影響.此外在使用各種攻擊分析定位程序中的漏洞時(shí),仍會(huì)存在代碼覆蓋率、檢測時(shí)間、檢測結(jié)果解釋性等問題.如何保證分析工具的結(jié)果與程序在真實(shí)環(huán)境下運(yùn)行的結(jié)果相同,也是一個(gè)急需解決的問題.

    2) 動(dòng)態(tài)緩存架構(gòu)設(shè)計(jì)

    在緩存?zhèn)刃诺拦糁?,攻擊者需要通過緩存獲取出用戶的內(nèi)存訪問模式,再通過其他先驗(yàn)知識對用戶內(nèi)存訪問模式進(jìn)行分析,就可以得到用戶信息.因此,設(shè)計(jì)一個(gè)新的緩存架構(gòu),避免攻擊者獲取用戶內(nèi)存訪問模式,可以有效地對緩存?zhèn)刃诺拦暨M(jìn)行防御.在基于沖突的攻擊中,攻擊者需要使用沖突域填充緩存,把緩存初始化到攻擊者已知的某個(gè)狀態(tài);同時(shí)攻擊者也需要沖突域獲取緩存的狀態(tài)變化,從而對用戶對緩存的訪問情況進(jìn)行“監(jiān)聽”.攻擊者需要一個(gè)比較小的沖突域,稱為SCG來保證攻擊的精度和速度.

    Vila等人[36]首次系統(tǒng)地對“沖突域”進(jìn)行研究,把查找算法的復(fù)雜度從O(N2)變?yōu)镺(a2N).隨后,Song等人[37]從理論上對該查找算法進(jìn)行分析,認(rèn)為當(dāng)對分隔參數(shù)進(jìn)行設(shè)置后,算法的復(fù)雜度應(yīng)為O(aN).此外,Qureshi[80]和Ramkrishnan等人[81]分別根據(jù)Cache結(jié)構(gòu)特點(diǎn)設(shè)計(jì)了線性復(fù)雜度的查找算法,這無疑增加了攻擊者的攻擊速度.靜態(tài)的Cache訪問模式的固定化給攻擊者以可乘之機(jī),因此設(shè)計(jì)一個(gè)動(dòng)態(tài)變化的緩存結(jié)構(gòu)能夠提高對緩存?zhèn)刃诺拦舻姆烙?,增加攻擊者尋找“沖突域”的復(fù)雜度.CEASER及CEASER-S等工作實(shí)現(xiàn)了一個(gè)密鑰周期性變化的緩存映射方案,以一個(gè)較小的代價(jià)實(shí)現(xiàn)了動(dòng)態(tài)緩存結(jié)構(gòu),但是Bodduna等人[90]認(rèn)為由于CEASER方案中LLBC采用線性加密算法,切換密鑰對防御效果沒有增益,而采用查找表的方式又會(huì)面臨內(nèi)存開銷太大的問題,一種兼顧性能和動(dòng)態(tài)隨機(jī)映射效果的加密算法仍是一個(gè)公開的難題.

    3) Cache架構(gòu)安全性評估

    目前,設(shè)計(jì)新的安全緩存架構(gòu)、改變緩存的替換算法、緩存的預(yù)取方式等從緩存角度增加了攻擊者對內(nèi)存訪問模式的“監(jiān)聽”精準(zhǔn)度.但是目前大多數(shù)硬件結(jié)構(gòu)是閉源的,且各自的研究中沒有一個(gè)統(tǒng)一的安全評價(jià)標(biāo)準(zhǔn),因此對目前的Cache結(jié)構(gòu)安全性的比較就成為一個(gè)比較困難的問題.Helft[91]從沖突域的角度開發(fā)了一個(gè)用于分析微架構(gòu)安全性的模擬器,對緩存架構(gòu)的不同參數(shù)進(jìn)行分析,討論Cache架構(gòu)對“沖突域”查找算法的影響.Deng等人[92]建立“3步分析模型”,并分析了18種Cache的安全架構(gòu),討論不同的緩存設(shè)計(jì)對可能的緩存?zhèn)刃诺拦舻姆烙Ч?He等人[6]使用信息流(information flow)對Cache結(jié)構(gòu)的安全性進(jìn)行分析.這些研究內(nèi)容都對Cache結(jié)構(gòu)進(jìn)行安全性分析,但是,統(tǒng)一的度量標(biāo)準(zhǔn)和緩存、攻擊以及軟件執(zhí)行的形式化建模仍然是一個(gè)尚未解決的問題.

    4 總 結(jié)

    基于緩存的側(cè)信道攻擊由于其高隱蔽性、高傳輸速度、可開展遠(yuǎn)程攻擊等特點(diǎn),打破了由軟件和操作系統(tǒng)提供的隔離機(jī)制,造成用戶信息泄露,引起了學(xué)術(shù)界和工業(yè)界的廣泛關(guān)注.本文從攻擊步驟的角度對基于緩存的側(cè)信道攻擊進(jìn)行系統(tǒng)描述,把攻擊的步驟分為:確定“漏洞”、確定“沖突域”、獲取內(nèi)存訪問模式信息、還原信息等,并根據(jù)這些步驟對攻擊方式進(jìn)行分析,對各個(gè)步驟所需要解決的問題以及面臨的挑戰(zhàn)進(jìn)行總結(jié).之后,我們按照攻擊模型對防御手段把防御分為代碼檢測、緩解“漏洞”、降低信息獲取精準(zhǔn)度等不同階段,并對不同階段的防御手段進(jìn)行分析比較,我們發(fā)現(xiàn)動(dòng)態(tài)修改緩存內(nèi)數(shù)據(jù)分布的方式可以以一個(gè)較低的性能代價(jià)對緩存?zhèn)刃诺拦魧?shí)現(xiàn)有效防御.最后討論了緩存?zhèn)刃诺婪烙媾R的主要挑戰(zhàn)以及未來的研究方向.

    猜你喜歡
    用戶程序攻擊者漏洞
    漏洞
    基于微分博弈的追逃問題最優(yōu)策略設(shè)計(jì)
    變速箱控制系統(tǒng)Bootloader設(shè)計(jì)與實(shí)現(xiàn)
    嵌入式設(shè)備遠(yuǎn)程升級方案設(shè)計(jì)
    正面迎接批判
    愛你(2018年16期)2018-06-21 03:28:44
    三明:“兩票制”堵住加價(jià)漏洞
    漏洞在哪兒
    高鐵急救應(yīng)補(bǔ)齊三漏洞
    有限次重復(fù)博弈下的網(wǎng)絡(luò)攻擊行為研究
    C8051F410單片機(jī)BootLoader的實(shí)現(xiàn)
    亚洲伊人久久精品综合| 国产不卡av网站在线观看| 久久中文字幕一级| 女人精品久久久久毛片| 色播在线永久视频| 国产无遮挡羞羞视频在线观看| 日韩精品免费视频一区二区三区| 亚洲九九香蕉| xxx大片免费视频| 中文字幕高清在线视频| 日韩制服丝袜自拍偷拍| av有码第一页| 少妇人妻 视频| 黄色怎么调成土黄色| 一级a爱视频在线免费观看| 男女午夜视频在线观看| 最近中文字幕2019免费版| 亚洲五月婷婷丁香| 国产精品一区二区免费欧美 | 晚上一个人看的免费电影| 热99久久久久精品小说推荐| 欧美日韩成人在线一区二区| 50天的宝宝边吃奶边哭怎么回事| 少妇粗大呻吟视频| 国产精品二区激情视频| 亚洲熟女精品中文字幕| 久久99热这里只频精品6学生| 亚洲中文字幕日韩| 国产伦理片在线播放av一区| 亚洲色图 男人天堂 中文字幕| 成人18禁高潮啪啪吃奶动态图| 九色亚洲精品在线播放| 少妇被粗大的猛进出69影院| 成人手机av| av天堂久久9| 亚洲欧美一区二区三区国产| 亚洲精品一二三| 亚洲国产欧美一区二区综合| 国产日韩一区二区三区精品不卡| 老汉色∧v一级毛片| 亚洲av美国av| 欧美日韩一级在线毛片| 亚洲 欧美一区二区三区| 免费看av在线观看网站| www.av在线官网国产| 欧美日韩视频精品一区| 中文字幕av电影在线播放| 欧美亚洲日本最大视频资源| 国产精品.久久久| 观看av在线不卡| 精品少妇久久久久久888优播| 日韩一区二区三区影片| 一二三四社区在线视频社区8| 成人手机av| 我的亚洲天堂| 自线自在国产av| 美女高潮到喷水免费观看| 99精品久久久久人妻精品| 久久久久久久精品精品| 老汉色∧v一级毛片| 国产在线视频一区二区| 麻豆国产av国片精品| 50天的宝宝边吃奶边哭怎么回事| 午夜精品国产一区二区电影| 中文字幕另类日韩欧美亚洲嫩草| 夫妻午夜视频| 久久精品久久久久久久性| 亚洲成人国产一区在线观看 | 亚洲av成人不卡在线观看播放网 | 国产精品秋霞免费鲁丝片| 91精品伊人久久大香线蕉| 午夜精品国产一区二区电影| 最近中文字幕2019免费版| 一级毛片 在线播放| 天天躁日日躁夜夜躁夜夜| 十八禁高潮呻吟视频| 午夜福利免费观看在线| 国产成人一区二区三区免费视频网站 | 亚洲五月色婷婷综合| 免费看不卡的av| 汤姆久久久久久久影院中文字幕| 在线观看国产h片| 久久久精品区二区三区| 亚洲av日韩精品久久久久久密 | 热re99久久精品国产66热6| 欧美黄色片欧美黄色片| 操出白浆在线播放| 精品久久久精品久久久| 男女之事视频高清在线观看 | 嫩草影视91久久| 久久女婷五月综合色啪小说| 中文精品一卡2卡3卡4更新| 热99国产精品久久久久久7| 巨乳人妻的诱惑在线观看| 高清黄色对白视频在线免费看| 一边亲一边摸免费视频| 亚洲熟女毛片儿| 欧美黄色片欧美黄色片| 国产麻豆69| 一本久久精品| 日韩精品免费视频一区二区三区| 午夜av观看不卡| 高清不卡的av网站| 欧美av亚洲av综合av国产av| 国产成人影院久久av| 精品第一国产精品| 91字幕亚洲| 午夜福利免费观看在线| 欧美日韩亚洲国产一区二区在线观看 | avwww免费| 国产精品 国内视频| 欧美精品av麻豆av| 久久久久久久国产电影| 国产免费福利视频在线观看| 亚洲国产精品一区三区| 伊人久久大香线蕉亚洲五| 波野结衣二区三区在线| 亚洲综合色网址| 久热爱精品视频在线9| 亚洲成人国产一区在线观看 | 国产一区有黄有色的免费视频| 亚洲一码二码三码区别大吗| 黄色a级毛片大全视频| 欧美成人精品欧美一级黄| 成人免费观看视频高清| 大码成人一级视频| 日韩中文字幕欧美一区二区 | 最近手机中文字幕大全| 国产精品国产av在线观看| 亚洲美女黄色视频免费看| 久久国产亚洲av麻豆专区| 日本五十路高清| 男女之事视频高清在线观看 | 国产免费又黄又爽又色| 大香蕉久久成人网| 欧美乱码精品一区二区三区| 国产欧美日韩一区二区三 | 爱豆传媒免费全集在线观看| 一二三四在线观看免费中文在| 人人妻人人爽人人添夜夜欢视频| 免费在线观看黄色视频的| av电影中文网址| 精品视频人人做人人爽| 制服诱惑二区| 老司机影院成人| 热99久久久久精品小说推荐| 少妇人妻久久综合中文| 久久久久国产精品人妻一区二区| 亚洲av电影在线进入| 精品欧美一区二区三区在线| 国产无遮挡羞羞视频在线观看| 久久久国产精品麻豆| 各种免费的搞黄视频| 97人妻天天添夜夜摸| www.999成人在线观看| 久久这里只有精品19| 女性被躁到高潮视频| 午夜免费男女啪啪视频观看| 国产麻豆69| 一边摸一边抽搐一进一出视频| 亚洲视频免费观看视频| 桃花免费在线播放| 国产日韩欧美视频二区| 亚洲久久久国产精品| 国产精品国产三级专区第一集| 久久久久精品国产欧美久久久 | 脱女人内裤的视频| 97精品久久久久久久久久精品| 免费黄频网站在线观看国产| 国产精品九九99| 制服诱惑二区| 亚洲精品国产色婷婷电影| 欧美精品啪啪一区二区三区 | 久热爱精品视频在线9| 日韩 欧美 亚洲 中文字幕| 91精品三级在线观看| 日韩大码丰满熟妇| 精品一区在线观看国产| 国产日韩欧美视频二区| 19禁男女啪啪无遮挡网站| 中文字幕人妻熟女乱码| 人人澡人人妻人| 国产黄色视频一区二区在线观看| 久久狼人影院| 成年美女黄网站色视频大全免费| 亚洲伊人久久精品综合| 久久国产亚洲av麻豆专区| 999精品在线视频| 人妻一区二区av| 亚洲五月婷婷丁香| 国产人伦9x9x在线观看| 亚洲精品一卡2卡三卡4卡5卡 | 在线亚洲精品国产二区图片欧美| 亚洲国产日韩一区二区| 国产精品 欧美亚洲| 午夜精品国产一区二区电影| 十八禁人妻一区二区| 亚洲,一卡二卡三卡| 国产在线观看jvid| 亚洲一卡2卡3卡4卡5卡精品中文| 免费在线观看视频国产中文字幕亚洲 | 五月开心婷婷网| 精品久久蜜臀av无| 老汉色∧v一级毛片| 天堂中文最新版在线下载| 我的亚洲天堂| 亚洲人成网站在线观看播放| 午夜老司机福利片| 亚洲中文字幕日韩| 国产成人精品无人区| 亚洲欧美日韩高清在线视频 | 十八禁高潮呻吟视频| 亚洲av国产av综合av卡| 一本大道久久a久久精品| 人妻一区二区av| 欧美黄色淫秽网站| 啦啦啦啦在线视频资源| 国产精品 国内视频| 久久精品亚洲熟妇少妇任你| 精品少妇黑人巨大在线播放| 欧美中文综合在线视频| av在线app专区| 欧美亚洲 丝袜 人妻 在线| 9191精品国产免费久久| 欧美人与善性xxx| 可以免费在线观看a视频的电影网站| 超碰97精品在线观看| 狠狠婷婷综合久久久久久88av| 丰满迷人的少妇在线观看| 精品亚洲成a人片在线观看| 免费人妻精品一区二区三区视频| 中文乱码字字幕精品一区二区三区| 日本黄色日本黄色录像| 国产片内射在线| 亚洲av在线观看美女高潮| 日韩一本色道免费dvd| 天堂8中文在线网| 国产欧美日韩一区二区三区在线| 99热全是精品| 精品福利观看| 日韩 欧美 亚洲 中文字幕| 国产精品 国内视频| 又粗又硬又长又爽又黄的视频| 一级毛片我不卡| 波多野结衣av一区二区av| 国产有黄有色有爽视频| 久久久久久亚洲精品国产蜜桃av| 欧美日韩视频高清一区二区三区二| 无限看片的www在线观看| 久久天堂一区二区三区四区| 久久九九热精品免费| 一区二区三区四区激情视频| 亚洲国产精品999| 成人国产av品久久久| 日韩av免费高清视频| 久久国产精品影院| 久久精品国产亚洲av涩爱| 制服诱惑二区| av一本久久久久| 男男h啪啪无遮挡| 欧美av亚洲av综合av国产av| 国产免费福利视频在线观看| 亚洲成国产人片在线观看| 热99国产精品久久久久久7| 精品亚洲成a人片在线观看| av网站免费在线观看视频| 9色porny在线观看| 天天躁夜夜躁狠狠躁躁| 亚洲av日韩精品久久久久久密 | 黄片播放在线免费| 999久久久国产精品视频| 日本黄色日本黄色录像| 国产成人影院久久av| 黄色a级毛片大全视频| 午夜视频精品福利| 国产精品一区二区在线观看99| 亚洲av男天堂| 亚洲一区中文字幕在线| 一区二区日韩欧美中文字幕| 国产成人影院久久av| 久久青草综合色| 久久精品久久久久久久性| 大香蕉久久网| 日韩大片免费观看网站| 精品少妇一区二区三区视频日本电影| av网站免费在线观看视频| av电影中文网址| 大香蕉久久网| 黑人欧美特级aaaaaa片| 亚洲精品一二三| 2018国产大陆天天弄谢| 巨乳人妻的诱惑在线观看| 色婷婷av一区二区三区视频| 好男人电影高清在线观看| 中文欧美无线码| a 毛片基地| 叶爱在线成人免费视频播放| 99九九在线精品视频| 精品人妻熟女毛片av久久网站| 免费av中文字幕在线| 无遮挡黄片免费观看| 欧美日韩福利视频一区二区| 中文字幕亚洲精品专区| 久久99精品国语久久久| 一边摸一边做爽爽视频免费| 中国美女看黄片| 欧美性长视频在线观看| 中文字幕另类日韩欧美亚洲嫩草| 国产精品av久久久久免费| www.精华液| 午夜影院在线不卡| 黄色片一级片一级黄色片| 亚洲精品一卡2卡三卡4卡5卡 | 飞空精品影院首页| 黑丝袜美女国产一区| 一级片'在线观看视频| 夜夜骑夜夜射夜夜干| 亚洲国产成人一精品久久久| 日韩熟女老妇一区二区性免费视频| 亚洲精品乱久久久久久| 成年人午夜在线观看视频| 国产欧美日韩一区二区三 | 国产精品久久久人人做人人爽| 51午夜福利影视在线观看| 大码成人一级视频| 一级黄色大片毛片| 午夜免费男女啪啪视频观看| a级毛片在线看网站| 黄色怎么调成土黄色| 国产精品国产三级国产专区5o| 国产精品二区激情视频| 欧美人与性动交α欧美精品济南到| 91精品伊人久久大香线蕉| 国产精品麻豆人妻色哟哟久久| 日韩人妻精品一区2区三区| 亚洲国产精品一区三区| 亚洲av在线观看美女高潮| 久久99一区二区三区| 高清不卡的av网站| 国产av一区二区精品久久| 美女主播在线视频| 99九九在线精品视频| 午夜福利,免费看| 国产激情久久老熟女| 日本91视频免费播放| 一区在线观看完整版| 欧美日韩精品网址| 永久免费av网站大全| 精品少妇内射三级| 性高湖久久久久久久久免费观看| 欧美国产精品一级二级三级| 美女午夜性视频免费| 免费不卡黄色视频| 国产无遮挡羞羞视频在线观看| a级毛片在线看网站| 热99国产精品久久久久久7| 人人妻人人澡人人爽人人夜夜| av在线播放精品| 国产精品国产av在线观看| 啦啦啦在线观看免费高清www| 韩国精品一区二区三区| 亚洲国产av新网站| 午夜免费成人在线视频| av不卡在线播放| 99国产综合亚洲精品| 啦啦啦在线免费观看视频4| 久久亚洲国产成人精品v| 久久久久国产一级毛片高清牌| 成人国产一区最新在线观看 | 日本91视频免费播放| 女人精品久久久久毛片| 波多野结衣av一区二区av| 一区二区av电影网| 女人高潮潮喷娇喘18禁视频| 各种免费的搞黄视频| 国产精品久久久av美女十八| 中文精品一卡2卡3卡4更新| 欧美97在线视频| 2018国产大陆天天弄谢| 另类亚洲欧美激情| 9色porny在线观看| 九草在线视频观看| 精品国产国语对白av| 99精国产麻豆久久婷婷| www日本在线高清视频| 99精国产麻豆久久婷婷| 日本欧美国产在线视频| 电影成人av| 亚洲精品第二区| 超色免费av| 亚洲中文字幕日韩| 美女主播在线视频| 亚洲国产精品国产精品| 国产精品人妻久久久影院| 免费少妇av软件| 亚洲综合色网址| 一区福利在线观看| 青春草亚洲视频在线观看| 国产伦理片在线播放av一区| 亚洲精品av麻豆狂野| 亚洲中文av在线| 亚洲,一卡二卡三卡| 视频区欧美日本亚洲| 国产免费一区二区三区四区乱码| 香蕉丝袜av| 又黄又粗又硬又大视频| cao死你这个sao货| 侵犯人妻中文字幕一二三四区| 汤姆久久久久久久影院中文字幕| 飞空精品影院首页| 日本vs欧美在线观看视频| 一个人免费看片子| 国产精品 欧美亚洲| 国产一卡二卡三卡精品| 亚洲,一卡二卡三卡| 亚洲av电影在线进入| 夜夜骑夜夜射夜夜干| 最近最新中文字幕大全免费视频 | av福利片在线| 亚洲伊人色综图| 久久久久久亚洲精品国产蜜桃av| av欧美777| 欧美精品av麻豆av| 啦啦啦 在线观看视频| 少妇猛男粗大的猛烈进出视频| 99精国产麻豆久久婷婷| 亚洲国产精品成人久久小说| 汤姆久久久久久久影院中文字幕| 久久久久久人人人人人| 最新在线观看一区二区三区 | 99精品久久久久人妻精品| 亚洲av成人不卡在线观看播放网 | 色婷婷久久久亚洲欧美| 亚洲精品久久久久久婷婷小说| 国产成人av教育| 三上悠亚av全集在线观看| 国产精品秋霞免费鲁丝片| 精品亚洲成国产av| 国产成人啪精品午夜网站| 日韩 欧美 亚洲 中文字幕| 精品一区在线观看国产| 在线天堂中文资源库| 精品国产国语对白av| 男女免费视频国产| 亚洲精品成人av观看孕妇| 男人操女人黄网站| 亚洲伊人色综图| 啦啦啦在线观看免费高清www| 久久毛片免费看一区二区三区| 黄色怎么调成土黄色| 久久女婷五月综合色啪小说| 久久久久网色| 久久九九热精品免费| 好男人电影高清在线观看| 日日摸夜夜添夜夜爱| 波野结衣二区三区在线| 曰老女人黄片| 亚洲av欧美aⅴ国产| 男人爽女人下面视频在线观看| 国产成人精品久久久久久| 好男人视频免费观看在线| 在线天堂中文资源库| 久久影院123| 精品人妻在线不人妻| 亚洲精品乱久久久久久| 国产在线一区二区三区精| 制服诱惑二区| 国产精品久久久久久精品电影小说| 久久人妻福利社区极品人妻图片 | 十八禁网站网址无遮挡| 搡老乐熟女国产| 午夜免费观看性视频| 菩萨蛮人人尽说江南好唐韦庄| 国产高清视频在线播放一区 | 亚洲国产av影院在线观看| 超碰97精品在线观看| 嫁个100分男人电影在线观看 | 日韩人妻精品一区2区三区| 日本欧美国产在线视频| 国产熟女欧美一区二区| netflix在线观看网站| 岛国毛片在线播放| 精品一区二区三区av网在线观看 | 午夜福利影视在线免费观看| 国产黄色免费在线视频| 纯流量卡能插随身wifi吗| 18禁裸乳无遮挡动漫免费视频| 国产精品久久久人人做人人爽| 国产av国产精品国产| 久久人妻熟女aⅴ| 日韩一区二区三区影片| 菩萨蛮人人尽说江南好唐韦庄| 久久精品熟女亚洲av麻豆精品| 久久影院123| 亚洲人成77777在线视频| 下体分泌物呈黄色| 中文字幕人妻熟女乱码| 精品国产一区二区三区四区第35| 青青草视频在线视频观看| 99精国产麻豆久久婷婷| 久久人人爽人人片av| 操出白浆在线播放| 日韩电影二区| 日日爽夜夜爽网站| 人成视频在线观看免费观看| 国产高清视频在线播放一区 | 精品福利观看| 69精品国产乱码久久久| 亚洲国产毛片av蜜桃av| 精品一区二区三区av网在线观看 | 欧美在线黄色| 我的亚洲天堂| 亚洲欧美精品自产自拍| 婷婷成人精品国产| 一本色道久久久久久精品综合| 宅男免费午夜| 午夜福利影视在线免费观看| 一区二区三区精品91| 精品亚洲乱码少妇综合久久| 成人影院久久| 亚洲人成77777在线视频| 一级a爱视频在线免费观看| 国产国语露脸激情在线看| 一区福利在线观看| 久久国产亚洲av麻豆专区| 欧美在线一区亚洲| 亚洲专区中文字幕在线| 黑人猛操日本美女一级片| 成人免费观看视频高清| 国产精品免费视频内射| 菩萨蛮人人尽说江南好唐韦庄| 亚洲人成网站在线观看播放| netflix在线观看网站| 国产黄色免费在线视频| 涩涩av久久男人的天堂| 久久午夜综合久久蜜桃| 黑丝袜美女国产一区| 99热全是精品| 日韩大片免费观看网站| 欧美人与善性xxx| av不卡在线播放| 亚洲天堂av无毛| 在线观看一区二区三区激情| 一级毛片女人18水好多 | 999精品在线视频| 国产男人的电影天堂91| 国产精品九九99| 97人妻天天添夜夜摸| 久久久精品国产亚洲av高清涩受| 成人午夜精彩视频在线观看| 99久久综合免费| 日韩av在线免费看完整版不卡| www.自偷自拍.com| 多毛熟女@视频| 午夜福利在线免费观看网站| 国产亚洲av高清不卡| 少妇人妻久久综合中文| 午夜福利,免费看| 99国产精品一区二区三区| 最黄视频免费看| 男女无遮挡免费网站观看| 91精品国产国语对白视频| 一级片免费观看大全| 黑人巨大精品欧美一区二区蜜桃| 搡老乐熟女国产| 免费女性裸体啪啪无遮挡网站| 另类精品久久| 高清av免费在线| 90打野战视频偷拍视频| 亚洲五月色婷婷综合| 女人精品久久久久毛片| 91精品三级在线观看| 亚洲午夜精品一区,二区,三区| 人人妻人人澡人人看| 亚洲视频免费观看视频| 国产精品久久久久成人av| 国产成人影院久久av| tube8黄色片| 久久精品久久精品一区二区三区| 美女大奶头黄色视频| 黑人巨大精品欧美一区二区蜜桃| 亚洲av电影在线观看一区二区三区| 你懂的网址亚洲精品在线观看| 亚洲国产欧美日韩在线播放| 国产精品 欧美亚洲| 最近中文字幕2019免费版| 亚洲av综合色区一区| 国产精品免费大片| 久久精品人人爽人人爽视色| 亚洲熟女毛片儿| 自拍欧美九色日韩亚洲蝌蚪91| 成人免费观看视频高清| 亚洲欧美激情在线| xxx大片免费视频| videosex国产| 性色av一级| 亚洲综合色网址| 波野结衣二区三区在线| 啦啦啦啦在线视频资源| 亚洲国产中文字幕在线视频| 最近中文字幕2019免费版| 黄色 视频免费看| 午夜激情久久久久久久| 免费高清在线观看日韩| 亚洲av综合色区一区| 男女边吃奶边做爰视频| 国产熟女欧美一区二区| 国产高清视频在线播放一区 | 建设人人有责人人尽责人人享有的| 亚洲综合色网址| 国产男女超爽视频在线观看| 在线观看www视频免费| 国产精品三级大全| 精品国产乱码久久久久久男人| 在线亚洲精品国产二区图片欧美|