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

    一種基于影子頁表+ 的軟件型vTPM 密鑰秘密信息保護方案*

    2019-07-16 06:31:06舒紅梅
    密碼學(xué)報 2019年3期
    關(guān)鍵詞:頁表客戶機完整性

    譚 良, 王 閃, 宋 敏, 舒紅梅

    1.四川師范大學(xué)計算機科學(xué)學(xué)院, 成都610101

    2.中國科學(xué)院計算技術(shù)研究所, 北京100190

    1 引言

    云計算的主要目的在于幫助租戶擺脫紛雜的硬件管理與維護, 實現(xiàn)系統(tǒng)資源的深度整合.通過統(tǒng)一管理模式提高資源利用率的同時, 滿足各類租戶的個性化需求.其實現(xiàn)方式?jīng)Q定了租戶的數(shù)據(jù)信息勢必會存儲在公用數(shù)據(jù)中心, 數(shù)據(jù)的讀取完全依賴于網(wǎng)絡(luò)傳輸.因此, 云計算系統(tǒng)不僅面臨著傳統(tǒng)網(wǎng)絡(luò)和信息系統(tǒng)等已有的安全問題, 還面臨著由其運營特點所產(chǎn)生的一些新的安全威脅[1–4].其中, 云租戶怎樣確定云平臺提供的資源和服務(wù)是安全的, 怎樣確保云平臺是可信的, 這是一個至關(guān)重要的問題.而可信計算是保障計算平臺可信的基礎(chǔ)手段, 它通過提供數(shù)據(jù)保護、身份證明以及完整性測量、存儲與報告等功能提高計算平臺整體的可信性[5].因此, 將可信計算技術(shù)融入虛擬平臺已成為云安全研究領(lǐng)域的一大熱點[6–22].

    TPM (trusted platform module, TPM)是可信計算的核心, 提供平臺完整性度量、遠程證明、密封存儲、平臺唯一身份標識、硬件級的密鑰保護等基本安全功能, 為可信計算提供基礎(chǔ)硬件支撐.2009年TPM1.2 規(guī)范被接受為ISO 標準(ISO/IEC 11889)[23].TPM1.2 芯片內(nèi)部是一個完整的安全計算環(huán)境, 內(nèi)部結(jié)構(gòu)包括低功耗的32 位RISC CPU、CPU 訪問片內(nèi)外圍模塊的通道、中斷控制器(interrupt controller)、時鐘發(fā)生器(clock generator)、對外IO 端口、RAM、ROM、Flash、SHA/HMAC 模塊、RSA 協(xié)處理器模塊、真隨機數(shù)產(chǎn)生模塊等模塊, 通過LPC 總線接口放置在主板上.2014年TCG 發(fā)布了TPM2.0 規(guī)范[24], 在密碼算法支持、密鑰、授權(quán)、簽名、平臺配置寄存器PCRs、虛擬化以及芯片使用方式等方面均有些新的特點.但無論是TPM1.2 還是TPM2.0 均是一個資源受限的芯片, 其本質(zhì)上是一個低速的外設(shè).然而隨著云計算的推廣和普及, 云租戶逐漸增多, 云平臺上運行的用戶虛擬機也越來越多, 云平臺上的所有虛擬機和云租戶都通過共享方式來使用TPM 提供的完整性度量、遠程證明、密封存儲、硬件級密鑰保護等安全功能是很困難的, 性能上也是難以接受的.因此, 當前不少云平臺在對TPM虛擬化時采用軟件仿真方式, 如XEN、KVM、VMWare、VirutalBox、Hyper-V 等, 即用軟件vTPM來模擬TPM 功能, 使用得到最多的TPM 模擬器是tpm_emulator.

    值得注意的是, 一方面, 云平臺的運行環(huán)境嚴重影響軟件仿真型vTPM 的安全.Gartner 云安全報告中指出, 云平臺的最大的安全威脅來自于特權(quán)用戶對于租戶隱私數(shù)據(jù)的非法訪問[3], 顯然軟件型vTPM 運行時的密鑰和證書信息也不例外.當然非特權(quán)用戶也可以采用包括惡意代碼注入攻擊(malware injection attack)、交叉虛擬機邊信道攻擊(cross VM side channels attack)和定向共享內(nèi)存攻擊(targeted shared memory)等[2]來竊取和破壞vTPM 的密鑰和證書信息, 其中惡意代碼注入攻擊是使用惡意實例代替系統(tǒng)服務(wù)實例處理正常的服務(wù)請求, 進而獲得特權(quán)訪問能力, 非法盜取vTPM 的密鑰和證書信息; 交叉虛擬機邊信道攻擊是攻擊者首先借助惡意虛擬機訪問共享硬件和緩存, 然后執(zhí)行預(yù)定的安全攻擊, 最終導(dǎo)致目標虛擬機內(nèi)vTPM 的秘密數(shù)據(jù)泄露; 定向共享內(nèi)存攻擊是以物理機或虛擬機的共享內(nèi)存或緩存為攻擊目標, 是惡意代碼注入攻擊與邊信道攻擊的基礎(chǔ), 結(jié)合內(nèi)部攻擊訪問虛擬機的內(nèi)存轉(zhuǎn)儲數(shù)據(jù)導(dǎo)致vTPM 密鑰信息的泄露.另一方面, 即使采用硬件TPM 安全存儲vTPM 的密鑰信息,vTPM 在進行加解、解密、完整性驗證等操作時, 也必須把vTPM 密鑰信息加載到內(nèi)存中, 特別在全虛擬化和硬件虛擬化平臺環(huán)境中, 整個虛擬機均處于VMM (virtual machine monitor, VMM)的用戶空間中, vTPM 的密鑰和證書更容易遭到攻擊, 這將嚴重影響虛擬機和vTPM 的安全.

    為此,本文提出了一種基于影子頁表+的vTPM 密鑰秘密信息保護方案,該方案主要是在全虛擬化或硬件虛擬化平臺中通過新增影子頁表管理模塊MMU-vTPM 來保護vTPM 的密鑰和證書.MMU-vTPM包括兩個部分, 其一是vTPM 密鑰私有內(nèi)存管理, 其二是vTPM 密鑰私有內(nèi)存訪問控制, 該管理模塊通過對vTPM 密鑰私有內(nèi)存頁表的訪問控制阻止其他進程訪問和破壞vTPM 密鑰私有內(nèi)存.此外, 為了防止惡意用戶對MMU-vTPM 模塊進行篡改, 本文采用TPM 的靜態(tài)度量機制和動態(tài)度量機制對該模塊進行完整性保護.最后, 基于Xen 實現(xiàn)了該方案, 測試結(jié)果表明, 該方案能夠在保證vTPM 的vEK 和vSRK 等關(guān)鍵密鑰秘密信息的安全性, 而且不會帶來嚴重的性能損失.

    2 相關(guān)工作

    可信計算技術(shù)與虛擬化技術(shù)結(jié)合的vTPM 一直以來都受到國內(nèi)外學(xué)者的廣泛關(guān)注.目前已經(jīng)有涌現(xiàn)出較多研究成果[6–31].在國外, 早在2006年S Berger 等人就提出了一種軟件仿真型的vTPM 架構(gòu)[25].如圖1 所示, 該系統(tǒng)架構(gòu)包括vTPM、vTPM manager、Client-side TPM driver、Server-side TPM driver、TPM 等實體, 其中, vTPM、vTPM manager 和Server-side TPM driver 在特權(quán)域, Client-side TPM driver 在虛擬機域, TPM 在整個虛擬系統(tǒng)的底層硬件層.vTPM 為虛擬機提供大部分可信計算功能, vTPM manager 負責(zé)所有vTPM 的生命周期管理, 包括創(chuàng)建、掛起、恢復(fù)、刪除vTPM 實例,轉(zhuǎn)發(fā)虛擬機對其綁定的vTPM 實例請求并返回對應(yīng)的響應(yīng), 每個vTPM 可通過vTPM manager 與硬件TPM 產(chǎn)生關(guān)聯(lián), 關(guān)聯(lián)的內(nèi)容主要包括PCR 映射和證書鏈擴展.Server-side TPM driver 是特權(quán)域端TPM 驅(qū)動, Client-side TPM driver 是虛擬機端TPM 驅(qū)動, Server-side TPM driver 與Client-side TPM driver 通過VMM 進行通信.文獻[31]是TPM 半虛擬化的奠基之作, 后來該方向的多數(shù)研究均基于這一思路.

    文獻[26]也提出了TPM 虛擬化的一個通用系統(tǒng)架構(gòu)GVTPM, 文獻[25,26]的基本思路是一致的.文獻[27]基于Xen 首次把vTPM 實例從特權(quán)域中分離, 但vTPM manager、vTPMD 守護進程仍然運行在Domain0.文獻[28]對vTPM manager、vTPM 實例與特權(quán)域進一步分離, 將特權(quán)域中的一個重要功能——域管理功能分離出來, 基于MiniOS 構(gòu)建Domain Builder 域, 簡稱為DomB, 并將vTPM manager 和vTPM 實例從特權(quán)域中分離到DomB.2009年, 歐盟委員會贊助的一個可信計算項目OpenTC 提出了一個有關(guān)TPM 虛擬化架構(gòu)的研究報告[29], 將vTPM 基于屬性的證明和遷移功能增加到vTPM 架構(gòu)中, 并在Xen 平臺上提出了雙隔離域系統(tǒng)架構(gòu), 進一步分離了文獻[28]中的DomB的功能.在該系統(tǒng)架構(gòu)中包括兩個域, 其一是DomB, 該DomB 與文獻[28]中的DomB 類似; 其二是DomU-vTPM, DomU-vTPM 域運行vTPM 實例.除此以外, 通過隔離域來增強vTPM 安全性的文獻還包括文獻[11,30–34]等.這里不再一一分析.

    在國內(nèi), 類似的文獻出現(xiàn)在2010年, 文獻[35]認為, 將整個特權(quán)域都看成TCB 會威脅到vTPM 的安全, 因為TCB 太大容易產(chǎn)生漏洞.為了解決這個問題, 文獻[35]提出了一種新的vTPM 架構(gòu).通過創(chuàng)建一個新的管理域Dom A, 將原來在特權(quán)域中的vTPM、vTPM manager 以及TPM 原生驅(qū)動分離到管理域DomA 中.創(chuàng)建管理域有兩個目的, 其一是使得vTPM 及其相關(guān)組件免受非法訪問和調(diào)用, 其二是修改TPM 的訪問流程, 并通過TPM 來保護DomA, 提高vTPM 及其相關(guān)組件的安全性.為了防止云環(huán)境中攻擊者可能利用虛擬機的回滾機制(一種重要和常用的功能)發(fā)起攻擊, 文獻[36]基于Xen提出了抵御回滾的可信虛擬平臺模塊(rollback-resilient TPM, rvTPM)系統(tǒng)架構(gòu), 并在Xen 中實現(xiàn)了rvTPM 原型系統(tǒng).

    圖1 vTPM 系統(tǒng)架構(gòu)Figure 1 vTPM architecture

    通過以上分析發(fā)現(xiàn), 關(guān)于vTPM 架構(gòu)的研究雖然能夠在一定程度上提高vTPM 的安全性, 但并不能有效保護軟件型vTPM 的密鑰等秘密信息.

    目前, 國內(nèi)外關(guān)于vTPM 密鑰的安全存儲主要依賴硬件TPM.Pearson 等人[37]提出將密鑰與平臺綁定的方案, 主要利用物理TPM 的硬件保護功能來安全存儲關(guān)鍵密鑰, 這樣使得密鑰只可以在綁定的平臺上使用, 其他平臺上不可用, 以達到保護數(shù)據(jù)機密性的目的, 但是這種方案很顯然缺乏靈活性.Yang 等人[38]設(shè)計了一個基于物理TPM 的云存儲系統(tǒng)架構(gòu), 首先用對稱密鑰加密數(shù)據(jù), 然后用非對稱密鑰加密該對稱密鑰, 最后利用物理TPM 來安全存儲非對稱密鑰, 從而實現(xiàn)密鑰的有效管理, 這種方法比較復(fù)雜,加密解密必然會耗費大量系統(tǒng)空間和時間.王麗娜等[39]提出的基于硬件TPM 的密鑰使用次數(shù)管理方法在保護云存儲中數(shù)據(jù)的機密性的同時控制密鑰的使用次數(shù), 從而能夠安全有效地存儲和保護密鑰.文獻[40]基于現(xiàn)有的虛擬TPM 架構(gòu)提出一種用于vTPM 的安全改進方案, 在KVM 虛擬機上通過在硬件和軟件方面實現(xiàn)TPM2.0 規(guī)范, 增加了使用TPM 的非對稱加密算法對vTPM 的保護, 并且能夠支持TPM 密鑰的安全遷移以及VM-vTPM 的遷移.上述研究成果均基于硬件TPM 的加密保護, 雖然能夠達到安全存儲vTPM 密鑰的效果, 但是仍具有如下不足: (1)由于vTPM 密鑰的頻繁使用必然會使硬件TPM 頻繁加密解密, 不僅占用系統(tǒng)資源, 而且密鑰傳輸以及加解密均需要耗費時間, 從而增加系統(tǒng)的響應(yīng)時間和TPM 性能負擔(dān); (2)當vTPM 在進行加解、解密、完整性驗證等安全操作時, vTPM 密鑰等敏感信息也必須首先加載到內(nèi)存中, 這些敏感信息仍然容易遭到竊取和破壞.

    3 基于影子頁表+ 的軟件型vTPM 密鑰保護方案

    對于普通的可信計算平臺, TPM 內(nèi)部的密鑰存儲了EK、SRK、TPM 所有者和SRK 的授權(quán)數(shù)據(jù)等, 其他密鑰存放在TPM 外部, 外部存儲的密鑰形成以SRK 為根的多級密鑰樹[41].由于TPM 內(nèi)部具有平臺軟件無法直接訪問的獨立的存儲空間, 因此普通的可信計算平臺其密鑰或證書是安全的.然而對于虛擬平臺中的仿真型vTPM, 其作為運行在用戶空間的應(yīng)用程序并沒有直接的硬件保護, 其對應(yīng)的vEK、vSRK、vTPM 所有者和vSRK 的授權(quán)數(shù)據(jù)以及由此而保存在外設(shè)上的密鑰樹等很容易受到竊取和破壞.本節(jié)基于全虛擬化方式或硬件輔助虛擬化, 通過在VMM 中增加MMU-vTPM 管理模塊對vTPM 域中vEK、vSRK、vTPM 所有者和vSRK 授權(quán)數(shù)據(jù)等秘密數(shù)據(jù)的存儲空間進行保護, 系統(tǒng)框架如圖2 所示.

    圖2 vTPM 保護系統(tǒng)框架Figure 2 vTPM protection system framework

    如圖2 所示, 運行在VMM 層的MMU-vTPM 對vTPM 密鑰信息的保護起到關(guān)鍵作用.MMUvTPM 分為兩個部分: vTPM 密鑰私有內(nèi)存管理和vTPM 密鑰私有內(nèi)存訪問控制, 它能夠?qū)碜蕴摂M機操作系統(tǒng)以及應(yīng)用程序的vTPM 內(nèi)存訪問進行監(jiān)控, 通過建立vTPM 密鑰的私有頁表, 實現(xiàn)vTPM 內(nèi)存隔離, 以防止任意進程對vTPM 受保護內(nèi)存進行非法訪問和破壞.主要原理如下:

    (1)增加一個管理vTPM 密鑰私有內(nèi)存的超級調(diào)用.vTPM 管理程序創(chuàng)建vTPM 子實例的時候通過該超級調(diào)用申請內(nèi)存用來存儲生成的vEK 和vSRK 等秘密數(shù)據(jù).該內(nèi)存會受到MMU-vTPM 模塊保護, 只能由該vTPM 子實例訪問, 其他任何進程均不能訪問.

    (2)當發(fā)生訪問vTPM 受保護內(nèi)存的操作時, 會陷入到vTPM 密鑰保護模塊中MMU-vTPM, 由MMU-vTPM 對申請的私有內(nèi)存保護.

    (3)MMU-vTPM 通過驗證訪問vTPM 密鑰私有內(nèi)存的進程身份來進行訪問控制.

    值得注意的是, 本方案與采用Intel 的SGX 來實現(xiàn)可信保護是不同的.SGX 是Intel 開發(fā)的新的處理器技術(shù), 可以在計算平臺上提供一個可信的空間, 保障用戶關(guān)鍵代碼和數(shù)據(jù)的機密性和完整性.本方案是用軟件模塊MMU-vTPM 來保護vTPM 的內(nèi)存空間, 而MMU-vTPM 又收到物理硬件TPM 的保護.而SGX 是對因特爾體系(IA)的一個擴展, 用于增強軟件的安全性.這種方式是將合法軟件的安全操作封裝在一個enclave 中, 保護其不受惡意軟件的攻擊, 特權(quán)或者非特權(quán)的軟件都無法訪問enclave, 也就是說, 一旦軟件和數(shù)據(jù)位于enclave 中, 即便操作系統(tǒng)或者和VMM 也無法影響enclave 里面的代碼和數(shù)據(jù).Enclave 的安全邊界只包含CPU 和它自身.SGX 創(chuàng)建的enclave 也可以理解為一個可信執(zhí)行環(huán)境TEE(trusted execution environment).

    3.1 MMU-vTPM 的基本架構(gòu)

    在全虛擬化方式或硬件輔助虛擬化下, 各種虛擬平臺均采用影子頁表(shadow page table, SPT)[42]機制來實現(xiàn)虛擬地址到機器地址的轉(zhuǎn)換, 它提供給每個Guest OS 一個Guest 頁表, 但實際上客戶機是通過影子頁表SPT 來訪問真實的機器物理地址的.如圖3 所示, Guest 頁表是Guest 虛擬地址到Guest 物理地址之間的映射, 而影子頁表SPT 是Guest 物理地址與宿主機物理地址之間的映射.Guest 物理地址與宿主機物理地址之間可以通過哈希表和P2M 兩種方式進行對應(yīng).其中, 哈希表對某一個非最低級客戶機頁表中的頁表項而言, 以該客戶機頁表項中的物理地址和該頁表項的類型作為哈希表的鍵值, 在哈希表中可以查找到相應(yīng)的影子頁表項中的機器物理地址; P2M 表是客戶機物理地址到機器物理地址的轉(zhuǎn)換表.此影子頁表可以采用硬件支持的內(nèi)存虛擬化, 如AMD 的NPT (nested page tables, NPT)和Intel EPT(extended page tables, EPT)技術(shù)實現(xiàn)[43].

    在圖3 中, 我們增加了特有的vTPM 內(nèi)存管理模塊MMU-vTPM, 用于保護vTPM 的密鑰等敏感信息.MMU-vTPM 實際上是在影子頁表的基礎(chǔ)上構(gòu)建影子頁表+(shadow_plus)的映射機制, 即在同步客戶機頁表和影子頁表的缺頁異常中增加訪問監(jiān)控接口shadow_plus, 如圖4 所示.下面我們將對vTPM內(nèi)存管理模塊MMU-vTPM 進行詳細介紹.

    圖3 影子頁表與客戶機頁表之間的關(guān)系Figure 3 Relationship between shadow page table and client page table

    圖4 訪問監(jiān)控接口shadow_plus 結(jié)構(gòu)圖Figure 4 Structure of shadow_plus access monitoring interface

    3.2 vTPM 密鑰私有內(nèi)存管理

    MMU-vTPM 的功能之一是vTPM 密鑰私有內(nèi)存的管理, 主要包括vTPM 密鑰私有內(nèi)存的申請和vTPM 密鑰私有內(nèi)存的回收.無論是vTPM 密鑰私有內(nèi)存的申請和vTPM 密鑰私有內(nèi)存的回收, 均需要提供用戶空間的接口以及內(nèi)核空間的接口, 用戶可以通過使用這些接口為vTPM 分配或回收私有空間.

    定義1 vTPM 密鑰私有內(nèi)存.vTPM 密鑰私有內(nèi)存是在vTPM 子實例創(chuàng)建時, 由vTPM 管理程序為vTPM 子實例申請的一段只允許vTPM 進程訪問的物理內(nèi)存, 用于存儲vTPM 的vEK 和vSRK 等密鑰.其數(shù)據(jù)結(jié)構(gòu)vTPM_pmdomain 的具體描述為:

    定義2vTPM 密鑰私有內(nèi)存保護列表.vTPM 密鑰私有內(nèi)存保護列表用于記錄vTPM 密鑰私有內(nèi)存頁的PFN(客戶物理頁框號)的鏈表.其數(shù)據(jù)結(jié)構(gòu)vTPM_protected_list 的具體描述如下:

    struct vTPM_protected_list

    {

    unsigned int vTPM_page_id; //vTPM 密鑰私有內(nèi)存id

    unsigned long gfn; //vTPM 密鑰私有內(nèi)存頁的客戶機物理頁框號

    unsigned long mfn; //vTPM 密鑰私有內(nèi)存頁的機器頁框號

    struct vTPM_protected_list *next;}

    typedef struct vTPM_protected_list *vTPM_pm_list; //定義vTPM_pm_list * 指針類型

    定義3malloc_vTPM_pages(), 即vTPM 密鑰私有內(nèi)存申請函數(shù), 作為vTPM 密鑰私有內(nèi)存申請接口.實現(xiàn)如算法1 所示.

    算法1 vTPM 密鑰私有內(nèi)存申請接口實現(xiàn)算法malloc_vTPM_pages()Input: struct vTPM_protected_list *vTPM_pm_list Output: *vTPM_pm_list 1 var item ←vTPM_pm_list;2 while item do 3Set item.gfn; 4page ←Get page; 5item.mfn ←Get mfn(item.gfn); 6Item ←item.next;7 end 8 return * vTPM_pm_list;

    算法1 中Get、Set 方法為VMM 系統(tǒng)調(diào)用.Page 為VMM 分頁機制下的內(nèi)存頁.gfn 內(nèi)存頁的客戶機物理頁框號.mfn 內(nèi)存頁的機器頁框號.該算法是為了實現(xiàn)vTPM 私有內(nèi)存申請, 首先通過系統(tǒng)調(diào)用Set 申請物理內(nèi)存頁, 并為其設(shè)置客戶機物理頁框號, 同時寫入vTPM 密鑰私有內(nèi)存保護列表, 然后通過系統(tǒng)調(diào)用Get 為申請到的物理內(nèi)存頁分配機器頁框號mfn, 并寫入vTPM 密鑰私有內(nèi)存保護列表中g(shù)fn相應(yīng)的mfn, 最后返回申請到的vTPM 密鑰私有內(nèi)存保護列表.

    定義4drop_vTPM_pages(), 即vTPM 密鑰私有內(nèi)存回收函數(shù), 作為vTPM 密鑰私有內(nèi)存回收接口.實現(xiàn)如算法2 所示.

    算法2 vTPM 密鑰私有內(nèi)存回收接口drop_vTPM_pages()Input: struct vTPM_protected_list *vTPM_pm_list Output: NULL 1 for each item in ?vTPM_pm_list do 2page.drop(item.gfn, item.mfn); 3p2m.drop(item.gfn, item.mfn); 4SPT.drop(item.gfn, item.mfn);5 end 6 FLUSH;

    算法2 中page.drop 方法為VMM 中用于釋放內(nèi)存頁的系統(tǒng)調(diào)用.p2m.drop 是VMM 中用于刪除p2m 表項的系統(tǒng)調(diào)用.SPT.drop 是VMM 中用于清空影子頁表表項的系統(tǒng)調(diào)用.FLUSH 是刷新系統(tǒng)TLB 表項的命令, 使得快表中的vTPM 密鑰私有內(nèi)存地址相關(guān)映射失效.該算法是為了實現(xiàn)vTPM 密鑰私有內(nèi)存回收, 首先遍歷整個vTPM 私有內(nèi)存列表*vTPM_pm_list, 然后通過VMM 內(nèi)存管理系統(tǒng)調(diào)用的內(nèi)存釋放函數(shù)page.drop 釋放vTPM 私有內(nèi)存頁, 同時通過VMM 內(nèi)存管理系統(tǒng)調(diào)用p2m.drop刪除P2M 表中的相關(guān)表項以及通過VMM 內(nèi)存管理系統(tǒng)調(diào)用SPT.drop 影子頁表中的相關(guān)表項, 最后執(zhí)行系統(tǒng)刷新命令, 使系統(tǒng)TLB 中相關(guān)表項失效.

    3.3 vTPM 密鑰私有內(nèi)存的訪問控制

    MMU-vTPM 的另一功能是對vTPM 密鑰私有內(nèi)存實施訪問控制, 它監(jiān)控所有訪問vTPM 密鑰私有內(nèi)存空間的進程, 提供異常處理.首先, 當vTPM 進程首次訪問vTPM 密鑰私有內(nèi)存空間時, 由于影子頁表中沒有關(guān)于vTPM 密鑰私有內(nèi)存的地址映射, 所以產(chǎn)生缺頁異常, VMM 捕獲該異常, 建立vTPM密鑰私有內(nèi)存的影子頁表映射, 并且將其影子頁表訪問權(quán)限設(shè)置為只讀.然后, MMU-vTPM 對vTPM密鑰私有內(nèi)存進行訪問控制, 具體實現(xiàn)流程如下:

    (1)VMM 可以捕獲任何寫CR3 寄存器的操作, 通過CR3 寄存器中存儲的頁目錄的起始物理地址, VMM 可以得知該進程的所有頁表[36].由此可以記錄vTPM 進程的基地址并保存到vTPM_base_address 中.

    (2)由于影子頁表權(quán)限為只讀, 當發(fā)生對vTPM 密鑰秘密信息私有內(nèi)存的操作時, VMM 同步客戶機頁表和影子頁表時會發(fā)生缺頁異常.

    (3)VMM 捕獲到缺頁異常后, 首先要查找此進程的客戶機頁表, 確定發(fā)生缺頁異常的客戶機虛擬地址所對應(yīng)的客戶機物理地址; 然后進入到VMM 的影子頁表缺頁處理入口函數(shù)sh_page_fault(),sh_page_fault()調(diào)用vTPM 密鑰私有內(nèi)存異常處理接口shadow_plus 來進行處理.

    vTPM 密鑰私有內(nèi)存異常處理接口如定義5 所示.

    定義5shadow_plus(), 即vTPM 密鑰私有內(nèi)存異常處理接口.該接口是在同步客戶機頁表和影子頁表缺頁異常處理中增加的對vTPM 密鑰私有內(nèi)存異常的處理方法.

    在異常處理的過程中, shadow_plus 首先獲取發(fā)生缺頁異常的客戶機物理地址, 然后通過p2m 表獲得發(fā)生缺頁異常的 對, 并判斷其pfn 是否是vTPM 密鑰私有內(nèi)存列表中的機器物理地址.然后, 獲取該進程的客戶機物理基地址與事先保存的vTPM 進程基地址進行比較.若為vTPM 進程, 則不做處理, 正常更新影子頁表; 否則, 影子頁表更新失敗, 轉(zhuǎn)由客戶機處理.實現(xiàn)如算法3 所示.

    算法3 vTPM 密鑰私有內(nèi)存異常處理接口shadow_plus()實現(xiàn)算法Input: Page Fault 缺頁異常Output: 除vTPM 進程外訪問vTPM 密鑰私有內(nèi)存的進程1 Get_Page_Fault(gva);2 pfn ←search in guest_page_table(gva); 3 ←get mfn from p2m;4 if < mfn,pfn > in vTPM_protected_list then 5bas ←Get CR3;6if bas! = vTPM_base_address then 7 goto not_a_shadow_fault;8end 9 end

    算法3 中, Get_Page_Fault 表示VMM 捕獲缺頁異常的方法.guest_page_table 表示客戶機頁表,保存客戶機虛擬地址gva 與客戶機物理頁框號gfn 的映射.p2m 保存客戶機物理頁框號與機器頁框號的映射, 即 對.bas 保存當前進程的基地址.

    至此, 我們可以設(shè)計vTPM 密鑰私有內(nèi)存的訪問控制完整實現(xiàn)過程.如算法4 所示.

    在算法4 中, Get_modify 表示VMM 捕獲CR3 寄存器操作的方法.Get_Page_Fault 表示VMM捕獲缺頁異常.

    算法4 vTPM 密鑰私有內(nèi)存訪問控制接口access_vTPM_key()算法Input: 任意進程Output: 除vTPM 進程外訪問vTPM 密鑰私有內(nèi)存的進程1 vTPM_base_address ←Get_modify(CR3);2 if Get_Page_Fault then 3shadow_plus();4 end

    4 MMU-vTPM 模塊的完整性驗證保護

    內(nèi)存管理模塊是VMM 的核心功能模塊,通常作為虛擬平臺的可信基TCB(trusted computing base,TCB), MMU-vTPM 模塊作為VMM 內(nèi)存管理模塊的一部分, 也應(yīng)看作是虛擬平臺TCB 的一部分.然而, 當前的許多攻擊, 如通過篡改VMM 代碼段和數(shù)據(jù)段以及其它靜態(tài)、持久化的數(shù)據(jù)而破壞完整性的攻擊[44,45], 都會破壞TCB.為了防止惡意用戶對MMU-vTPM 模塊進行篡改, 我們采用TPM 的靜態(tài)度量機制和動態(tài)度量機制對MMU-vTPM 模塊進行完整性保護, 確保MMU-vTPM 模塊完全可信.

    4.1 MMU-vTPM 模塊的靜態(tài)完整性度量

    虛擬平臺的靜態(tài)度量通常發(fā)生在整個虛擬平臺重新啟動時, 為了保證MMU-vTPM 可信, 我們擴展虛擬機的信任傳遞過程CRTM →BIOS →BootLoader →VMM →DOM OS →Apps, 將其中的VMM分為兩部分, 一部分VMM-MMU-vTPM, 另一部分是MMU-vTPM, 則擴展后的信任鏈變?yōu)镃RTM →BIOS →BootLoader →VMM-MMU-vTPM →MMU-vTPM →DOM OS →Apps.如圖5 所示, 將MMU-vTPM 作為可信平臺鏈式度量的重要一環(huán).這種方式是可行的, MMU-vTPM 的靜態(tài)度量可由VMM-MMU-vTPM 主導(dǎo)完成.

    圖5 擴展后的信任鏈傳遞過程Figure 5 Extended trust chain delivery process

    4.2 MMU-vTPM 模塊的動態(tài)完整性度量

    在虛擬平臺運行過程中需要對MMU-vTPM 模塊進行動態(tài)完整性度量, 以便及時發(fā)現(xiàn)惡意程序?qū)ζ涞钠茐暮痛鄹? 保證虛擬平臺上服務(wù)的穩(wěn)定性和連續(xù)性.MMU-vTPM 模塊動態(tài)完整性度量架構(gòu)如圖6所示.

    圖6 中, MMU-vTPM 模塊動態(tài)完整性度量架構(gòu)包括3 個部分: MMU-vTPM 度量代理、MMUvTPM 度量程序和MMU-vTPM 的備份和恢復(fù)程序.其中MMU-vTPM 度量代理位于特權(quán)域中, 主要功能就是獲取并解析對MMU-vTPM 模塊的度量請求, 并將請求發(fā)送到MMU-vTPM 度量程序;MMU-vTPM 度量程序位于VMM 中, 負責(zé)MMU-vTPM 模塊的動態(tài)完整性度量; MMU-vTPM 備份和恢復(fù)程序也位于VMM 中, 負責(zé)對MMU-vTPM 進行備份, 當發(fā)現(xiàn)MMU-vTPM 被惡意篡改后對其進行恢復(fù).MMU-vTPM 度量程序是整個架構(gòu)的核心, 主要包括如下功能模塊:

    圖6 MMU-vTPM 模塊動態(tài)完整性度量架構(gòu)Figure 6 MMU-vTPM dynamic metrics architecture

    (1)構(gòu)建度量環(huán)境.目前, 處理器廠商AMD 提供的安全虛擬機(secure virtual machine, SVM)和Intel 提供的可信執(zhí)行技術(shù)(trusted execution technology, TXT)均可構(gòu)建安全加載模塊(secure loader block, SLB)作為動態(tài)信任根(dynamic root of trust for measurement, DRTM)[45], 通過執(zhí)行特定的CPU 指令構(gòu)建安全隔離的可信執(zhí)行環(huán)境, 完成對MMU-vTPM 自身的完整性度量.本文利用Intel TXT技術(shù)中新引入的CPU 指令——SENTER, 利用動態(tài)信任根完成對MMU-vTPM 的完整性度量, 并創(chuàng)建一個受控和可證明的可信執(zhí)行環(huán)境, 之后再加載運行MMU-vTPM 模塊度量程序.

    (2)MMU-vTPM 提取模塊, 該模塊主要功能是提取出需要完整性度量的MMU-vTPM 模塊代碼段數(shù)據(jù), 具體如定義6 所示.

    定義6extract_MMU-vTPM()即MMU-vTPM 模塊提取接口, 主要實現(xiàn)如算法5 所示。

    算法5 MMU-vTPM 模塊提取extract_MMU-vTPM()算法Input: 可信度量環(huán)境Output: MMU-vTPM 模塊代碼段1 length ←MMU-vTPM.length(); 2 offset ←Get_offset_of_VMM(); 3 virtual_address ←Get_virtual_address(symbol_table); 4 physical_address ←virtual_address–offset; 5 MMU-vTPM ←Get_data_memory(physical_address, length); 6 return MMU-vTPM;

    在算法5 中, 首先通過分析MMU-vTPM 模塊代碼段的數(shù)據(jù)量length; 由于, VMM 一般以內(nèi)核的方式加載到內(nèi)存特定物理地址開始的連續(xù)地址空間中, 并將該內(nèi)存地址空間以直接映射的方式映射到VM 的虛擬地址空間, 所以VMM 中特定信息的虛擬地址和物理地址之間有一個固定的差值offset, Get_offset_of_VMM()獲取VMM 的offset; symbol_table 表示編譯VMM-vTPM 模塊產(chǎn)生的符號表, 通過symbol_table 可以得到MMU-vTPM 模塊代碼段在內(nèi)存中的虛擬地址virtual_address;physical_address 表示MMU-vTPM 模塊的虛擬地址對應(yīng)的物理地址; 最后Get_data_memory()表示按照物理地址和數(shù)據(jù)量, 直接從內(nèi)存中讀取MMU-vTPM 模塊的代碼段數(shù)據(jù), 然后返回該值作為完整性度量DIM_MMU-vTPM()的輸入.

    (3)完整性度量, 該模塊主要是對上一個模塊提取到的數(shù)據(jù)進行完成性度量, 以保證度量結(jié)果的一致性, 完整性度量一般采用TPM 的完整性度量機制, 將度量結(jié)果存儲到TPM 的平臺配置寄存器(PCR)中.將該模塊功能封裝為完整性度量接口, 如定義7 所示.

    定義7DIM_MMU-vTPM(), 即MMU-vTPM 模塊的完整性度量接口.該接口的實現(xiàn)算法如算法6所示.

    算法6 完整性度量DIM_MMU-vTPM()算法Input: MMU-vTPM 模塊代碼段Output: 度量值1 TPM_SHA1Start(); 2 TPM_SHA1Update(MMU-vTPM); 3 pcr_MMU-vTPM ←TPM_SHA1Complete(); 4 Tspi_TPM_PcrExtend(pcr_MMU-vTPM); 5 return pcr_MMU-vTPM;

    完整性度量模塊采用TPM 的完整性度量機制, 算法6 中, TPM_SHA1Start()表示TPM 中開始計算一個摘要的過程, 即開始完整性度量.然后調(diào)用TPM_SHA1Update()輸入需要完整性度量的MMU-vTPM 模塊代碼段, 最后調(diào)用TPM_SHA1Complete()計算摘要值.完整性度量值的存儲通過調(diào)用TSP 層的Tspi_TPM_PcrExtend()函數(shù)來完成, 將摘要值pcr_MMU-vTPM 擴展更新到指定的平臺配置寄存器PCR 的值.

    (4)度量報告, 該模塊主要是獲取完整性度量值, 并將新的度量值與存儲的度量值進行匹配, 以檢測完整性, 然后將完整性度量的結(jié)果返回給度量請求程序.

    4.3 MMU-vTPM 模塊的備份與恢復(fù)

    為了在MMU-vTPM 模塊被篡改時能夠及時恢復(fù), 我們首先通過MMU-vTPM 模塊備份接口對MMU-vTPM 模塊備份, 由TPM 的存儲密鑰加密存儲在平臺外存中.之后根據(jù)完整性度量結(jié)果判斷是否需要恢復(fù)MMU-vTPM 模塊,如果需要則要通過MMU-vTPM 模塊恢復(fù)接口通過解密恢復(fù)MMU-vTPM模塊.其中, MMU-vTPM 模塊備份接口和MMU-vTPM 模塊恢復(fù)接口的定義與實現(xiàn)算法如下.

    定義8MMU-vTPM_Backup(), 即MMU-vTPM 模塊的備份接口, 該接口的實現(xiàn)算法如算法7 所示.

    算法7 MMU-vTPM 模塊備份接口實現(xiàn)算法MMU-vTPM_Backup()Input: MMU-vTPM 模塊代碼Output: MMU-vTPM 模塊備份地址Backup_Address 1 MMU-vTPM_copy ←Copy(MMU-vTPM); 2 MMU-vTPM_copy′ ←Tspi_Data_Bind(MMU-vTPM_copy); 3 Backup_Address ←&MMU-vTPM_copy′; 4 return Backup_Address;

    算法7 中, MMU-vTPM_copy 表示MMU-vTPM 模塊的備份文件, Copy()表示復(fù)制一份MMUvTPM 模塊源碼作為備份, 然后使用TPM 的Tspi_Data_Bind 命令加密MMU-vTPM_copy, 接著存儲加密后的文件, 最后獲取存儲地址Backup_Address 并返回.

    定義9MMU-vTPM_Recovery(), 即MMU-vTPM 模塊的恢復(fù)接口, 該接口的實現(xiàn)算法如算法8 所示.

    算法8 MMU-vTPM 模塊恢復(fù)接口實現(xiàn)算法MMU-vTPM_Recovery()Input: MMU-vTPM 模塊備份地址Backup_Address Output: MMU-vTPM 模塊1 MMU-vTPM_copy′ ←*Backup_Address; 2 MMU-vTPM_copy ←TPM_Unbind(MMU-vTPM_copy′); 3 MMU-vTPM ←MMU-vTPM_copy; 4 REBOOT;

    算法8 中, 首先根據(jù)MMU-vTPM 模塊備份接口返回的備份地址Backup_Address 讀取加密后的MMU-vTPM 模塊備份文件, 然后使用TPM 的TPM_Unbind 命令對Tspi_Data_Bind 命令處理過的數(shù)據(jù)塊進行解密并輸出, 最后用上一步中輸出的MMU-vTPM 模塊備份文件替換系統(tǒng)中不可信的MMU-vTPM 模塊.重啟系統(tǒng)完成MMU-vTPM 模塊恢復(fù)的更新操作.

    5 基于XEN 的MMU-vTPM 實現(xiàn)

    目前, 本方案已經(jīng)在Xen 4.3.4 實現(xiàn)了上述功能, 能夠保護vTPM 密鑰私有內(nèi)存空間不被其他任何進程訪問或破壞并且可以保證MMU-vTPM 模塊不被篡改.

    5.1 vTPM 密鑰私有內(nèi)存管理實現(xiàn)

    為了實現(xiàn)vTPM 密鑰私有內(nèi)存的管理, 對Xen 虛擬機的源碼做出了相應(yīng)的修改, 添加了一個vTPM私有內(nèi)存列表和一個超級調(diào)用, 并對系統(tǒng)中相應(yīng)的處理函數(shù)做出修改.

    首先, 根據(jù)定義1, 在//xen/include/asm-x86/domain.h 中添加Xen_vTPM_pmdomain 結(jié)構(gòu)用于描述vTPM 密鑰私有內(nèi)存.

    其次, 根據(jù)定義2, 在//xen/include/asm-x86/domain.h 中定義vTPM 密鑰私有內(nèi)存保護列表的數(shù)據(jù)結(jié)構(gòu)Xen_vTPM_protected_list.

    第三, 根據(jù)定義3 和算法1, 在//xen/common/memory.c 中定義vTPM 密鑰私有內(nèi)存申請接口Xen_malloc_vTPM_pages()函數(shù).

    第四, 根據(jù)定義4 和算法2, 在//xen/common/memory.c 中定義vTPM 密鑰私有內(nèi)存回收接口Xen_drop_vTPM_pages()函數(shù).

    最后, 增加一個用于管理 vTPM 密鑰私有內(nèi)存的超級調(diào)用, 增加的超級調(diào)用為_HYPERVISOR_vTPMprotected_mm, 該超級調(diào)用封裝了Xen_malloc_vTPM_pages()函數(shù)和Xen_drop_ vTPM_pages()函數(shù), 其功能是管理vTPM 密鑰私有內(nèi)存空間, 它有一個參數(shù)op,_HYPERVISOR_vTPMprotected_mm 將根據(jù)該參數(shù)的值, 采取相應(yīng)的操作.當op = 0 時, 表示對vTPM 密鑰私有內(nèi)存空間采取初始化操作.當op = 1 時, 表示申請vTPM 密鑰私有內(nèi)存.當op = 2時, 表示銷毀vTPM 密鑰私有內(nèi)存相關(guān)數(shù)據(jù)并回收內(nèi)存.

    至此, Xen 中虛擬機的vTPM 管理程序通過超級調(diào)用_HYPERVISOR_vTPMprotected_mm 為新創(chuàng)建的vTPM 子實例分配和回收vTPM 密鑰私有內(nèi)存空間.

    5.2 vTPM 密鑰私有內(nèi)存的訪問控制實現(xiàn)

    為了實現(xiàn)vTPM 密鑰私有內(nèi)存的訪問控制, 對Xen 虛擬機的源碼做出了相應(yīng)的修改, 添加了一個vTPM 密鑰私有內(nèi)存異常處理接口shadow_plus()和vTPM 密鑰私有內(nèi)存的訪問控制接口access_vTPM_key(), 并對系統(tǒng)中相應(yīng)的處理函數(shù)做出修改.

    首先, 根據(jù)算法3, 在//xen/arch/x86/mm/shadow/multi.c 中增加vTPM 密鑰私有內(nèi)存異常處理接口Xen_shadow_plus()函數(shù).

    其次, 根據(jù)算法4, 在//xen/arch/x86/mm.c 中增加vTPM 密鑰私有內(nèi)存的訪問控制接口Xen_access_vTPM_key()函數(shù).

    至此, Xen 中虛擬機的 vTPM 管理程序通過 Xen_shadow_plus()函數(shù)和 Xen_access_vTPM_key()函數(shù)實現(xiàn)vTPM 密鑰私有內(nèi)存的訪問控制.

    5.3 MMU-vTPM 模塊完整性度量實現(xiàn)

    MMU-vTPM 模塊完整性度量包括靜態(tài)度量和動態(tài)度量, 對于靜態(tài)度量, Xen 中的TPM 模擬器tpm_emulator 已經(jīng)實現(xiàn), 這里就不再闡述.下面介紹動態(tài)完整性度量.

    由4.2 節(jié)可知, 要實現(xiàn)對MMU-vTPM 模塊的動態(tài)完整性度量必須依賴CPU 支持而且要進行復(fù)雜設(shè)置.由于我們的目的僅僅是通過動態(tài)完整性度量來判定MMU-vTPM 是否可信, 我們選用了另外的替代辦法, 采用在特權(quán)域中通過度量代理對MMU-vTPM 模塊進行動態(tài)度量, 此方法同樣可以達到我們的目標.為此, 我們增加了MMU-vTPM 度量程序各模塊的實現(xiàn)函數(shù).

    首先, 在構(gòu)建度量環(huán)境模塊執(zhí)行完SENTER 指令之后, 程序陷入到硬件層, 其加載執(zhí)行的MMUvTPM 模塊度量程序?qū)⑦\行于Ring0, 系統(tǒng)處于實地址模式, 根據(jù)定義6 和算法5, 增加MMU-vTPM 模塊提取接口的實現(xiàn)函數(shù)extract_MMU-vTPM().

    其次, 根據(jù)定義7 和算法6, 增加 MMU-vTPM 模塊完整性度量接口的實現(xiàn)函數(shù)DIM_MMU_vTPM().

    最后, 增加一個實現(xiàn)MMU-vTPM 模塊度量程序的超級調(diào)用_HYPERVISOR_DIM_MMUvTPM(), 該超級調(diào)用封裝了extract_MMU-vTPM()函數(shù)和DIM_MMU-vTPM()函數(shù), 其功能是完成對MMU-vTPM 模塊代碼段的提取并進行完整性度量.

    6 基于XEN 的MMU-vTPM 實驗評估

    目前, 本文的基于影子頁表+ 的vTPM 保護方案已經(jīng)在Xen 4.3.4 作為底層的VMM 的虛擬平臺上實現(xiàn).本節(jié)將設(shè)計兩方面實驗對本文提出的方案進行驗證.一方面是vTPM 密鑰私有內(nèi)存的訪問控制實驗, 驗證MMU-vTPM 對vTPM 密鑰的保護; 另一方面是對MMU-vTPM 的完整性度量和相關(guān)安全驗證, 包括靜態(tài)度量、動態(tài)度量以及對度量程序的攻擊等.

    6.1 vTPM 密鑰私有內(nèi)存的訪問控制實驗

    6.1.1 實驗環(huán)境

    本文實驗環(huán)境為: 宿主機CPU 為Intel Core-i3 處理器, 主頻3.40 GHz, 4 G 內(nèi)存; 底層VMM 為Xen 4.3.4; 虛擬域操作系統(tǒng)為Ubuntu 14.04; TPM 使用TPM_emulator 0.7.3; TSS 使用Trousers 0.3.4.

    6.1.2 實驗步驟

    為了評估本文提出的方案對vTPM 存儲私鑰等關(guān)鍵數(shù)據(jù)的私有內(nèi)存的保護效果, 在測試中分別定義如下Shadow-Native 和shadow_plus 兩種測試環(huán)境.

    (1)Shadow-Native: 運行未修改的Xen 的測試環(huán)境.

    (2)Shadow_plus: 運行采用本文方法修改過的Xen 的測試環(huán)境.

    具體實驗步驟如下:

    (1)本實驗首先在創(chuàng)建vTPM 實例時使用超級調(diào)用_HYPERVISOR_vTPMprotected_mm 為vTPM 申請受保護的私有內(nèi)存頁.

    (2)將vTPM 的關(guān)鍵密鑰存儲到vTPM 密鑰私有內(nèi)存中, 并由vTPM 進程讀取顯示.

    (3)編寫測試程序, 在shadow_plus 測試環(huán)境中, 分別從以下四個方面進行測試: vTPM 進程正常訪問測試, 其他進程訪問測試, 用戶態(tài)代碼注入攻擊測試, 內(nèi)核態(tài)代碼注入攻擊測試.

    (4)記錄并分析上述四個測試結(jié)果.

    (5)多次記錄Shadow-Native 和shadow_plus 兩種測試環(huán)境中進程運行時間并進行對比分析.

    6.1.3 功能測試及實驗

    本方案的重要目標是通過對進程影子頁表更新的監(jiān)控來限制其他進程對vTPM 私有受保護內(nèi)存空間的訪問, 達到保護vTPM 密鑰等關(guān)鍵數(shù)據(jù)的目的.

    首先, 通過超級調(diào)用_HYPERVISOR_vTPMprotected_mm 為vTPM 申請受保護的私有內(nèi)存頁.調(diào)用_HYPERVISOR_vTPMprotected_mm 傳入?yún)?shù)op = 1, 申請vTPM 密鑰私有內(nèi)存, 將vTPM管理程序為vTPM 子實例創(chuàng)建的關(guān)鍵密鑰存儲到vTPM 密鑰私有內(nèi)存中.如圖7 所示.

    圖7 vTPM 密鑰私有內(nèi)存中的vTPM 密鑰Figure 7 vTPM key in vTPM key private memory

    其次, 測試vTPM 進程是否可以正常讀取vTPM 密鑰私有內(nèi)存中的vTPM 密鑰.在vTPM 源碼中增加輸出接口編寫程序vtpm 顯示輸出結(jié)果, 由圖8 可知, vTPM 進程可以正常訪問vTPM 密鑰私有內(nèi)存中的vRSK 等關(guān)鍵密鑰.

    圖8 vTPM 進程訪問vTPM 密鑰私有內(nèi)存Figure 8 vTPM process access vTPM key private memory

    除此之外, 我們在shadow_plus 測試環(huán)境中, 設(shè)計了對比的攻擊實驗, 以測試本文方案安全性.

    第一種: 其他進程訪問測試.本次實驗編寫名為test 的測試程序, 作為外部進程訪問vTPM 密鑰私有內(nèi)存, 實驗結(jié)果如圖9 所示.

    圖9 其他進程訪問測試結(jié)果Figure 9 Other process access test results

    圖10 用戶態(tài)代碼注入攻擊測試結(jié)果Figure 10 User mode code injection attack test result

    第二種: 用戶態(tài)代碼注入攻擊測試.本次實驗的用戶態(tài)是指與vTPM 所在虛擬機同一用戶空間的進程.編寫一段訪問vTPM 密鑰私有內(nèi)存空間的攻擊代碼, 注入用戶態(tài)空間進程中進行訪問攻擊, 本次實驗的入口程序名為us_injection.實驗結(jié)果如圖10 所示.

    第三種: 內(nèi)核態(tài)代碼注入攻擊測試.本次實驗的內(nèi)核態(tài)指的是在Xen VMM 空間運行的進程.通過內(nèi)核注入攻擊的方式將訪問vTPM 密鑰私有內(nèi)存空間的攻擊代碼運行于內(nèi)核態(tài).實驗結(jié)果同樣返回“Permission denied” 的錯誤代碼.

    其中關(guān)于錯誤代碼EACCES 的描述在/xen/include/xen/errno.h 頭文件中, 如圖11 所示.

    表1 功能測試結(jié)果Table 1 Functional Test Results

    綜上所述, 本文功能測試結(jié)果如表1 所示:

    從表1 的實驗結(jié)果中可以看出, 只有vTPM 進程能夠正常訪問vTPM 受保護私有內(nèi)存頁.本次實驗結(jié)果表明本文基于影子頁表+ 的vTPM 密鑰保護方案能夠達到保護vTPM 密鑰的目的.6.1.4 性能測試及實驗

    本文vTPM 保護方案對系統(tǒng)的性能影響主要包括兩種行為: 處理改寫CR3 寄存器的格外操作時間和處理缺頁異常的額外操作時間.這兩種額外增加的操作在系統(tǒng)中所有的進程執(zhí)行都會產(chǎn)生一定的影響.編寫測試進程多次實驗, 在Shadow-Native 和shadow_plus 兩種測試環(huán)境中運行時間進行記錄, 結(jié)果如圖12 所示.

    圖11 Xen 系統(tǒng)錯誤代碼Figure 11 Xen system error code

    圖12 性能測試結(jié)果Figure 12 Performance test resultse

    從圖12 可以看出, 在vTPM 受保護私有內(nèi)存大小較小的時候增加了vTPM 保護模塊的shadow_plus 測試環(huán)境和沒有對進行修改的原始系統(tǒng)在統(tǒng)一進程的運行時間差別不大, 在用戶可以接受的范圍內(nèi), 而隨著受保護內(nèi)存頁面的增多, 兩種測試環(huán)境的性能發(fā)生明顯變化, 增加了vTPM 保護模塊的shadow_plus 測試環(huán)境的性能隨著受保護內(nèi)存頁的增加而下降.本次實驗結(jié)果表明: 由于vTPM 保護方案需要保護的vTPM 數(shù)據(jù)主要包括vEK 和vSRK 等關(guān)鍵數(shù)據(jù), 所需要的受保護內(nèi)存較小, 所以, 增加的vTPM 保護模塊對系統(tǒng)性能影響不大.

    6.2 MMU-vTPM 完整性度量測試實驗

    6.2.1 實驗環(huán)境和準備工具

    本節(jié)的軟件實驗環(huán)境與6.1 節(jié)相同, 而動態(tài)完整性度量實驗需要利用Intel TXT 構(gòu)建SLB 作為DRTM, 保證起點可信, SLB 構(gòu)建封閉隔離的執(zhí)行環(huán)境來執(zhí)行度量程序, 保證度量程序自身可信, 完成對MMU-vTPM 模塊代碼的完整性度量.所以本次實驗需要CPU 支持Intel TXT 功能, 保證可以執(zhí)行SENTER 命令.如圖13 所示, 開啟Intel TXT 功能.

    6.2.2 實驗步驟

    為了對本文軟件仿真型vTPM 密鑰保護方案中的MMU-vTPM 模塊進行完整性保護, 分別從靜態(tài)完整性度量和動態(tài)完整性度量兩個方面設(shè)計實驗完成對功能和性能的測試.

    實驗步驟如下:

    (1)靜態(tài)完整性度量: 基于MMU-vTPM 模塊的擴展信任鏈, 在系統(tǒng)啟動時進行靜態(tài)完整性度量.按照本文擴展的信任鏈的傳遞過程進行度量, 并將MMU-vTPM 度量結(jié)果保存到PCR(17), 然后讀取PCR寄存器的值.

    圖13 開啟Intel TXTFigure 13 Turn on Intel TXT

    (2)動態(tài)完整性度量: MMU-vTPM 模塊的動態(tài)完整性度量實驗, 首先調(diào)用超級調(diào)用_HYPERVISOR_DIM_MMU-vTPM()以驅(qū)動MMU-vTPM 模塊度量程序完成構(gòu)建度量環(huán)境、MMUvTPM 模塊提取和完整性度量等一系列過程.

    (3)設(shè)計對MMU-vTPM 度量程序自身的攻擊實驗, 修改MMU-vTPM 模塊動態(tài)完整性度量程序部分代碼, 驗證實驗度量結(jié)果值是否發(fā)生改變.

    (4)設(shè)計對MMU-vTPM 模塊代碼段的攻擊實驗, 修改MMU-vTPM 模塊代碼段中部分程序代碼,驗證實驗度量結(jié)果值是否發(fā)生改變.

    (5)執(zhí)行MMU-vTPM 度量程序進行動態(tài)完整性度量, 并記錄運行時間.

    6.2.3 功能測試

    首先, 在系統(tǒng)啟動時進行靜態(tài)完整性度量, 按照本文擴展的信任鏈的傳遞過程進行度量, 并將MMU-vTPM 度量結(jié)果保存到PCR(17), 然后讀取PCR 寄存器的值, 實驗結(jié)果如圖14 所示.

    圖14 靜態(tài)完整性度量后PCR 的值Figure 14 Post-PCR value after static integrity measurement

    其次, 為了驗證本文的MMU-vTPM 模塊動態(tài)完整性度量架構(gòu)能夠有效的對MMU-vTPM 模塊進行動態(tài)的完整性度量, 本次實驗首先調(diào)用超級調(diào)用_HYPERVISOR_DIM_MMU-vTPM()以驅(qū)動MMU-vTPM 模塊度量程序完成構(gòu)建度量環(huán)境、MMU-vTPM 模塊提取和完整性度量等一系列過程, 如圖15 所示.

    再次, 設(shè)計對MMU-vTPM 度量程序自身的攻擊實驗, 修改MMU-vTPM 模塊動態(tài)完整性度量程序部分代碼, DIM_MMU-vTPM′表示修改后的MMU-vTPM 度量程序.實驗結(jié)果顯示度量結(jié)果值發(fā)生改變, 與存儲在TPM PCR[18]中的MMU-vTPM 度量程序摘要值不同, 結(jié)果如圖16 所示.驗證本文動態(tài)完整性度量程序自身的安全性.

    最后, 設(shè)計對MMU-vTPM 模塊代碼段的攻擊實驗, 修改MMU-vTPM 模塊代碼段中部分程序代碼,MMU-vTPM′表示修改后的MMU-vTPM 模塊.實驗結(jié)果顯示度量結(jié)果值發(fā)生改變, 與存儲在TPM PCR[17]中的MMU-vTPM 模塊的靜態(tài)完整性度量值度量不同, 結(jié)果如圖17 所示.驗證本文動態(tài)完整性度量的有效性.

    圖15 MMU-vTPM 模塊動態(tài)完整性度量過程Figure 15 MMU-vTPM module dynamic integrity measurement process

    圖16 MMU-vTPM 度量程序自身攻擊實驗對比Figure 16 MMU-vTPM metrics own attack experiment results

    圖17 MMU-vTPM 模塊代碼段攻擊實驗對比Figure 17 Comparison of attack results of MMU-vTPM module code segment

    由上述實驗對比結(jié)果可知, 本文的MMU-vTPM 模塊動態(tài)完整性度量架構(gòu)能夠在保證度量程序自身安全性的同時, 識別出對MMU-vTPM 模塊代碼段的攻擊, 從而保證了MMU-vTPM 模塊的安全性.

    6.2.4 性能測試

    為了對本文的MMU-vTPM 模塊動態(tài)完整性度量架構(gòu)的性能進行測試, 執(zhí)行MMU-vTPM 度量程序進行動態(tài)完整性度量, 并記錄運行時間.為了保證本文實驗數(shù)據(jù)的可靠性, 本文性能測試共進行了6次實驗, 經(jīng)過測試, 動態(tài)完整性度量需要讀取MMU-vTPM 模塊的數(shù)據(jù)量大小為2.94 KB, 采用本文的MMU-vTPM 模塊動態(tài)完整性度量架構(gòu)度量時間性能第一次測試結(jié)果為0.39 ms, 第二次為0.44 ms, 第三次為0.37 ms, 第四次為0.51 ms, 第五次為0.34 ms, 第六次為0.36 ms.如圖18 所示.

    圖18 MMU-vTPM 度量程序自身的攻擊實驗對比結(jié)果Figure 18 MMU-vTPM metrics own attack experiment results

    綜上所示, 本文的MMU-vTPM 模塊動態(tài)完整性度量架構(gòu)度量時間性能約為0.40 ms, 在用戶可接受范圍內(nèi).

    7 結(jié)論

    本文針對仿真型vTPM 的vEK 和vSRK 等關(guān)鍵密鑰秘密信息存儲在虛擬域的用戶空間缺乏相應(yīng)的保護機制, 容易受到攻擊而使得軟件型vTPM 的安全性降低的問題, 提出了一種基于影子頁表+ 的vTPM 保護方案并在Xen 虛擬平臺上實現(xiàn).首先在創(chuàng)建vTPM 實例時使用超級調(diào)用_HYPERVISOR_vTPMprotected_mm 為vTPM 申請受保護的私有內(nèi)存頁.其次將vTPM 域內(nèi)頁表設(shè)置為只讀, 當監(jiān)控到頁表修改行為發(fā)生缺頁異常時, 使用vTPM 私有內(nèi)存訪問控制實現(xiàn)的shadow_plus 算法, 捕獲除vTPM 進程以外的任何訪問vTPM 受保護私有內(nèi)存的進程的異常, 最后返回客戶機進行處理.實驗結(jié)果表明了本文提出方案的可靠性, 而且不會帶來嚴重的性能損失.此外, 在本文相關(guān)工作中已經(jīng)指出, 近年來不斷有對提高vTPM 的安全性的研究, 這些大都基于硬件TPM, 針對軟件仿真型的vTPM 密鑰保護問題至今沒有解決, 本文的實驗及結(jié)果證明了本文提出的軟件仿真型vTPM密鑰保護方案的可靠性和可行性.

    目前, 本方案只能對vTPM 的vEK 和vSRK 等較少的數(shù)據(jù)進行保護, 下一步將研究如何在不影響系統(tǒng)性能的情況下增加受保護內(nèi)存的大小,以及vTPM 遷移時vTPM 保護模塊如何有效的工作等問題.

    猜你喜歡
    頁表客戶機完整性
    Reducing the global cancer burden with gastrointestinal screening: China’s 30 years practice
    更正
    中國糖料(2022年4期)2022-03-15 22:37:37
    作者更正
    稠油熱采水泥環(huán)完整性研究
    云南化工(2021年9期)2021-12-21 07:44:00
    勘 誤
    更正
    莫斷音動聽 且惜意傳情——論音樂作品“完整性欣賞”的意義
    精子DNA完整性損傷的發(fā)生機制及診斷治療
    樁身完整性檢測中缺陷的綜合判別
    河南科技(2014年18期)2014-02-27 14:14:46
    瘦客戶機:安全與便捷的選擇
    亚洲av中文av极速乱| 成人免费观看视频高清| 男女啪啪激烈高潮av片| 一本色道久久久久久精品综合| 午夜福利在线在线| 国产精品国产三级国产av玫瑰| 久久影院123| 丰满少妇做爰视频| 中文字幕亚洲精品专区| 久久久欧美国产精品| 亚洲成色77777| 国产成人精品福利久久| 亚洲欧美精品专区久久| 亚洲欧洲日产国产| 亚洲成人手机| 亚洲成人一二三区av| 夜夜爽夜夜爽视频| 插逼视频在线观看| 日韩伦理黄色片| 免费久久久久久久精品成人欧美视频 | 欧美区成人在线视频| 自拍偷自拍亚洲精品老妇| 九九久久精品国产亚洲av麻豆| 伦理电影免费视频| 丝袜脚勾引网站| 高清毛片免费看| 亚洲欧美成人精品一区二区| 精品人妻偷拍中文字幕| 久久久久视频综合| 午夜老司机福利剧场| 韩国高清视频一区二区三区| 国产午夜精品一二区理论片| 久久人妻熟女aⅴ| 日韩中字成人| 丰满迷人的少妇在线观看| 美女cb高潮喷水在线观看| 嘟嘟电影网在线观看| 亚洲精品国产av蜜桃| 欧美97在线视频| 性高湖久久久久久久久免费观看| 少妇人妻一区二区三区视频| 国产精品爽爽va在线观看网站| 亚洲精品乱码久久久久久按摩| 深夜a级毛片| 哪个播放器可以免费观看大片| 国内揄拍国产精品人妻在线| 人人妻人人添人人爽欧美一区卜 | 成年av动漫网址| 亚洲欧美成人精品一区二区| 纵有疾风起免费观看全集完整版| 国产 一区精品| 欧美bdsm另类| 日本爱情动作片www.在线观看| 精品人妻熟女av久视频| 久久精品熟女亚洲av麻豆精品| av天堂中文字幕网| 男女下面进入的视频免费午夜| 久久久久人妻精品一区果冻| 熟女人妻精品中文字幕| 久久久久久久国产电影| 国产伦理片在线播放av一区| 汤姆久久久久久久影院中文字幕| 亚洲精品国产成人久久av| 日韩免费高清中文字幕av| 男人狂女人下面高潮的视频| 日韩视频在线欧美| 免费观看在线日韩| 亚洲自偷自拍三级| 狂野欧美激情性xxxx在线观看| 亚洲精品国产av成人精品| 中文字幕免费在线视频6| 中国美白少妇内射xxxbb| 永久免费av网站大全| 精品一区二区免费观看| 美女内射精品一级片tv| 狠狠精品人妻久久久久久综合| 国产伦理片在线播放av一区| 自拍偷自拍亚洲精品老妇| 男女边吃奶边做爰视频| 国产精品一区www在线观看| 丝袜喷水一区| 99视频精品全部免费 在线| 国产成人精品久久久久久| 又大又黄又爽视频免费| 久久6这里有精品| 久久人人爽人人片av| 成人一区二区视频在线观看| 欧美日韩在线观看h| 免费大片18禁| 成人毛片a级毛片在线播放| 国产男女超爽视频在线观看| 国产男人的电影天堂91| 国产精品一二三区在线看| 国产伦在线观看视频一区| 亚洲美女黄色视频免费看| 精品少妇久久久久久888优播| 亚洲av不卡在线观看| 亚洲成色77777| 美女国产视频在线观看| 国产片特级美女逼逼视频| 国产色婷婷99| 欧美精品一区二区免费开放| 日韩成人av中文字幕在线观看| 亚洲av不卡在线观看| h日本视频在线播放| 九九久久精品国产亚洲av麻豆| 亚洲国产最新在线播放| 秋霞伦理黄片| 美女主播在线视频| 中文乱码字字幕精品一区二区三区| 日韩欧美一区视频在线观看 | av又黄又爽大尺度在线免费看| 女性被躁到高潮视频| 久久精品熟女亚洲av麻豆精品| 国产黄色免费在线视频| 久久人人爽av亚洲精品天堂 | 国产精品一及| 亚洲精品成人av观看孕妇| 国产精品不卡视频一区二区| 精品久久久久久久久亚洲| av卡一久久| 国产大屁股一区二区在线视频| 成年美女黄网站色视频大全免费 | 一本色道久久久久久精品综合| 成年人午夜在线观看视频| 久久久精品免费免费高清| 午夜福利在线在线| 大片免费播放器 马上看| 亚洲av成人精品一区久久| 亚洲av欧美aⅴ国产| 成人漫画全彩无遮挡| 天堂俺去俺来也www色官网| 少妇的逼水好多| 亚洲成人av在线免费| 夜夜爽夜夜爽视频| 亚洲精品456在线播放app| 精品少妇黑人巨大在线播放| 亚洲欧美日韩无卡精品| 精品久久久久久久久av| 亚洲国产最新在线播放| 乱码一卡2卡4卡精品| 国产男女超爽视频在线观看| 亚洲综合色惰| 久久6这里有精品| 如何舔出高潮| 99国产精品免费福利视频| 婷婷色麻豆天堂久久| 噜噜噜噜噜久久久久久91| 三级国产精品片| 80岁老熟妇乱子伦牲交| 色网站视频免费| 国产永久视频网站| 最近最新中文字幕免费大全7| 舔av片在线| 热99国产精品久久久久久7| 国产91av在线免费观看| 国产成人午夜福利电影在线观看| 日本免费在线观看一区| 国产又色又爽无遮挡免| 久久人妻熟女aⅴ| 日本wwww免费看| 男男h啪啪无遮挡| 麻豆乱淫一区二区| 大又大粗又爽又黄少妇毛片口| 国产有黄有色有爽视频| 久久久精品94久久精品| av线在线观看网站| 自拍偷自拍亚洲精品老妇| 18禁在线无遮挡免费观看视频| 大又大粗又爽又黄少妇毛片口| 亚洲精品,欧美精品| 毛片一级片免费看久久久久| 国产av一区二区精品久久 | 久久 成人 亚洲| 久久久久久久亚洲中文字幕| 欧美日韩视频精品一区| 色婷婷久久久亚洲欧美| 成人免费观看视频高清| 国产精品一区二区在线不卡| tube8黄色片| 日产精品乱码卡一卡2卡三| 久久韩国三级中文字幕| 日韩成人伦理影院| 最近最新中文字幕免费大全7| 99热6这里只有精品| 看十八女毛片水多多多| 噜噜噜噜噜久久久久久91| 丝瓜视频免费看黄片| 亚洲av欧美aⅴ国产| 啦啦啦中文免费视频观看日本| 在线观看人妻少妇| 精品人妻视频免费看| 日韩欧美精品免费久久| 在线精品无人区一区二区三 | 国产午夜精品一二区理论片| 国产伦精品一区二区三区视频9| 简卡轻食公司| 成人亚洲精品一区在线观看 | av黄色大香蕉| 亚洲av国产av综合av卡| 免费观看的影片在线观看| 日日摸夜夜添夜夜添av毛片| 久久久国产一区二区| 男人狂女人下面高潮的视频| 日韩欧美 国产精品| 色视频在线一区二区三区| 亚洲国产毛片av蜜桃av| 五月伊人婷婷丁香| 久久精品夜色国产| 日本黄大片高清| 观看美女的网站| av在线老鸭窝| 日本wwww免费看| 99热6这里只有精品| 夫妻性生交免费视频一级片| 黄色怎么调成土黄色| 丝袜喷水一区| 日韩伦理黄色片| 欧美精品亚洲一区二区| 国产av码专区亚洲av| 99九九线精品视频在线观看视频| 一级毛片aaaaaa免费看小| 3wmmmm亚洲av在线观看| 国产精品99久久99久久久不卡 | 日韩欧美一区视频在线观看 | 国模一区二区三区四区视频| 国产成人freesex在线| 一边亲一边摸免费视频| 免费黄网站久久成人精品| 国内少妇人妻偷人精品xxx网站| 91精品国产国语对白视频| 国产伦精品一区二区三区四那| 在线观看一区二区三区| 啦啦啦啦在线视频资源| 中文字幕av成人在线电影| 亚洲婷婷狠狠爱综合网| 伊人久久精品亚洲午夜| 亚洲精品国产色婷婷电影| 精品亚洲乱码少妇综合久久| 免费观看a级毛片全部| 简卡轻食公司| 亚洲欧美精品自产自拍| 大片免费播放器 马上看| 亚洲精品一二三| 亚洲精品乱久久久久久| 久久精品国产鲁丝片午夜精品| 男女边摸边吃奶| 成人无遮挡网站| 中文资源天堂在线| 精品久久国产蜜桃| 国产色爽女视频免费观看| 日本av免费视频播放| 色婷婷久久久亚洲欧美| 高清午夜精品一区二区三区| 男男h啪啪无遮挡| 亚洲欧美成人精品一区二区| 夫妻午夜视频| 美女中出高潮动态图| 国内揄拍国产精品人妻在线| 香蕉精品网在线| 91午夜精品亚洲一区二区三区| 欧美xxxx黑人xx丫x性爽| 人妻一区二区av| 国产国拍精品亚洲av在线观看| 国产欧美日韩一区二区三区在线 | 你懂的网址亚洲精品在线观看| 国产综合精华液| 精品一区二区三卡| 我的女老师完整版在线观看| 18禁动态无遮挡网站| 亚洲av中文av极速乱| 中文字幕精品免费在线观看视频 | 在线 av 中文字幕| 最近中文字幕2019免费版| 免费观看性生交大片5| 日韩欧美一区视频在线观看 | 在线观看免费高清a一片| 久久久欧美国产精品| 国产一区亚洲一区在线观看| 亚洲图色成人| 日本午夜av视频| 最近的中文字幕免费完整| av.在线天堂| 亚洲aⅴ乱码一区二区在线播放| 日韩在线高清观看一区二区三区| 久久久精品94久久精品| 久热这里只有精品99| 亚洲综合色惰| 18禁动态无遮挡网站| 亚洲精品久久久久久婷婷小说| 日本欧美国产在线视频| 精品国产露脸久久av麻豆| 亚洲,一卡二卡三卡| 日韩成人伦理影院| 在线观看国产h片| 国产大屁股一区二区在线视频| 少妇丰满av| 免费在线观看成人毛片| 日韩一本色道免费dvd| 国模一区二区三区四区视频| 精品酒店卫生间| 激情 狠狠 欧美| 免费人成在线观看视频色| 丰满人妻一区二区三区视频av| 国产欧美日韩一区二区三区在线 | 身体一侧抽搐| 一级毛片我不卡| 日韩,欧美,国产一区二区三区| 舔av片在线| 亚洲丝袜综合中文字幕| 日本色播在线视频| 少妇人妻精品综合一区二区| 亚洲一区二区三区欧美精品| 99热6这里只有精品| 高清黄色对白视频在线免费看 | 丝袜喷水一区| 黑人高潮一二区| 国产爽快片一区二区三区| 2022亚洲国产成人精品| 国产黄色视频一区二区在线观看| 亚洲av欧美aⅴ国产| 99久国产av精品国产电影| av福利片在线观看| 嫩草影院入口| 人人妻人人澡人人爽人人夜夜| 亚洲,一卡二卡三卡| 亚洲在久久综合| 国产高清国产精品国产三级 | 超碰av人人做人人爽久久| 男女无遮挡免费网站观看| 18禁裸乳无遮挡动漫免费视频| 亚洲精品乱码久久久v下载方式| 亚洲精品,欧美精品| 久久精品夜色国产| 中文字幕av成人在线电影| 亚洲欧美清纯卡通| 制服丝袜香蕉在线| 五月天丁香电影| 肉色欧美久久久久久久蜜桃| 一本一本综合久久| 边亲边吃奶的免费视频| 在现免费观看毛片| 成人毛片60女人毛片免费| 夜夜骑夜夜射夜夜干| 性高湖久久久久久久久免费观看| 亚洲婷婷狠狠爱综合网| 精品国产露脸久久av麻豆| 一区二区三区免费毛片| 高清午夜精品一区二区三区| 国内精品宾馆在线| 边亲边吃奶的免费视频| 最近的中文字幕免费完整| 中文字幕av成人在线电影| 国产精品久久久久久精品电影小说 | 久久精品久久久久久噜噜老黄| 最近的中文字幕免费完整| 国产乱人视频| 青春草国产在线视频| 国产黄色免费在线视频| 久久精品久久久久久久性| 日本与韩国留学比较| 日韩一区二区三区影片| 少妇人妻一区二区三区视频| 在线亚洲精品国产二区图片欧美 | 亚洲一区二区三区欧美精品| 国产精品一二三区在线看| 久久99精品国语久久久| 国产无遮挡羞羞视频在线观看| 免费高清在线观看视频在线观看| 成年免费大片在线观看| 国产 一区精品| 91精品国产九色| 观看av在线不卡| 久热久热在线精品观看| 成人国产麻豆网| 亚洲不卡免费看| 国产精品av视频在线免费观看| 精品99又大又爽又粗少妇毛片| 精品国产乱码久久久久久小说| 欧美 日韩 精品 国产| 日韩中字成人| 久久精品国产鲁丝片午夜精品| 美女国产视频在线观看| 在线观看人妻少妇| 国产亚洲欧美精品永久| 国产精品国产av在线观看| 国产精品欧美亚洲77777| 亚洲av中文字字幕乱码综合| 欧美性感艳星| 岛国毛片在线播放| av国产久精品久网站免费入址| 美女脱内裤让男人舔精品视频| 夜夜骑夜夜射夜夜干| 亚洲欧美一区二区三区黑人 | 久热这里只有精品99| 丰满乱子伦码专区| 亚洲无线观看免费| 国产高清有码在线观看视频| 老司机影院毛片| 亚洲综合精品二区| 两个人的视频大全免费| 久久精品夜色国产| 少妇人妻一区二区三区视频| 欧美成人午夜免费资源| 久久久久视频综合| 国产伦精品一区二区三区四那| 91久久精品国产一区二区三区| 欧美老熟妇乱子伦牲交| 精品少妇久久久久久888优播| 岛国毛片在线播放| 亚洲综合精品二区| 天天躁夜夜躁狠狠久久av| 久久精品国产亚洲网站| 黄片wwwwww| 亚洲av在线观看美女高潮| 我的女老师完整版在线观看| 一级毛片aaaaaa免费看小| 亚洲精品国产色婷婷电影| 亚洲性久久影院| 久久6这里有精品| av天堂中文字幕网| 亚洲精品日本国产第一区| 成人毛片a级毛片在线播放| 99热6这里只有精品| 欧美精品一区二区免费开放| 国产v大片淫在线免费观看| 日韩不卡一区二区三区视频在线| 亚洲人成网站高清观看| 欧美国产精品一级二级三级 | 精品人妻视频免费看| 中文字幕免费在线视频6| 久久精品久久久久久噜噜老黄| 97在线人人人人妻| 国产一区亚洲一区在线观看| 久久毛片免费看一区二区三区| 欧美精品国产亚洲| 尾随美女入室| 国产成人免费无遮挡视频| 成人亚洲欧美一区二区av| 午夜福利视频精品| 午夜福利在线观看免费完整高清在| 乱系列少妇在线播放| 国产精品成人在线| 直男gayav资源| 亚洲精品色激情综合| 最近最新中文字幕大全电影3| 亚洲内射少妇av| 蜜桃在线观看..| 精品少妇久久久久久888优播| 成人亚洲精品一区在线观看 | 夫妻性生交免费视频一级片| 久久久久网色| 只有这里有精品99| 亚洲图色成人| 国产精品免费大片| 麻豆成人av视频| 久久 成人 亚洲| 肉色欧美久久久久久久蜜桃| 秋霞在线观看毛片| 成人国产麻豆网| 99热这里只有是精品50| 在线观看国产h片| 大香蕉久久网| 久久国内精品自在自线图片| 亚洲精品乱码久久久久久按摩| 嘟嘟电影网在线观看| 岛国毛片在线播放| 亚洲高清免费不卡视频| 国产精品一区二区性色av| 三级国产精品片| 最黄视频免费看| 丝袜喷水一区| 我要看日韩黄色一级片| 伦理电影大哥的女人| 一级毛片我不卡| 久久热精品热| 久久久久久久国产电影| 中文精品一卡2卡3卡4更新| 国产在线男女| 久久99热这里只频精品6学生| 成人免费观看视频高清| 男人爽女人下面视频在线观看| av播播在线观看一区| 亚洲国产精品国产精品| 黑人猛操日本美女一级片| 亚洲国产日韩一区二区| 99久国产av精品国产电影| 亚洲精品久久久久久婷婷小说| 欧美日韩亚洲高清精品| 一本—道久久a久久精品蜜桃钙片| 赤兔流量卡办理| 欧美zozozo另类| 日本黄大片高清| 欧美丝袜亚洲另类| 欧美bdsm另类| 国产色婷婷99| 视频中文字幕在线观看| 亚洲国产高清在线一区二区三| 少妇 在线观看| 久久久久精品久久久久真实原创| 国产免费又黄又爽又色| 天堂8中文在线网| 黑丝袜美女国产一区| 国产黄色视频一区二区在线观看| 最新中文字幕久久久久| h视频一区二区三区| 国产高清有码在线观看视频| 亚洲av日韩在线播放| 成人二区视频| 日韩中文字幕视频在线看片 | 日韩欧美精品免费久久| 午夜福利在线在线| av在线app专区| 国产精品爽爽va在线观看网站| 网址你懂的国产日韩在线| 简卡轻食公司| 久久久久精品久久久久真实原创| 久久婷婷青草| 久久国产亚洲av麻豆专区| 国产高潮美女av| 免费看日本二区| 国产一区亚洲一区在线观看| 日本黄色日本黄色录像| 亚洲一区中文字幕在线| 亚洲一卡2卡3卡4卡5卡精品中文| 少妇精品久久久久久久| 黄色a级毛片大全视频| 久久人妻熟女aⅴ| 国产无遮挡羞羞视频在线观看| 18禁裸乳无遮挡动漫免费视频| 亚洲国产精品999| 精品久久久精品久久久| 91国产中文字幕| 波多野结衣av一区二区av| 亚洲情色 制服丝袜| 中文字幕人妻丝袜制服| 婷婷色av中文字幕| 自拍欧美九色日韩亚洲蝌蚪91| 高清视频免费观看一区二区| 欧美性长视频在线观看| 婷婷色综合大香蕉| 成年动漫av网址| 久久国产亚洲av麻豆专区| 母亲3免费完整高清在线观看| 国产爽快片一区二区三区| 男女边吃奶边做爰视频| 亚洲人成77777在线视频| 国产视频一区二区在线看| 桃花免费在线播放| 久久av网站| 高清欧美精品videossex| 欧美成狂野欧美在线观看| 天天影视国产精品| 久久精品久久精品一区二区三区| 天天操日日干夜夜撸| 91字幕亚洲| 亚洲精品国产色婷婷电影| 99精国产麻豆久久婷婷| 天堂俺去俺来也www色官网| 一本色道久久久久久精品综合| 中文字幕人妻丝袜一区二区| 久久久久网色| 少妇人妻 视频| 热99久久久久精品小说推荐| 欧美乱码精品一区二区三区| 欧美成狂野欧美在线观看| 欧美97在线视频| 午夜福利视频精品| 国产精品国产三级专区第一集| 国产野战对白在线观看| 高潮久久久久久久久久久不卡| 永久免费av网站大全| 嫩草影视91久久| 久久午夜综合久久蜜桃| 天堂中文最新版在线下载| 午夜视频精品福利| 丰满人妻熟妇乱又伦精品不卡| 色网站视频免费| 免费看av在线观看网站| 熟女少妇亚洲综合色aaa.| 亚洲成色77777| 国产亚洲一区二区精品| 成人三级做爰电影| 国产精品一区二区在线观看99| 黄网站色视频无遮挡免费观看| 一本色道久久久久久精品综合| 日韩,欧美,国产一区二区三区| 欧美精品亚洲一区二区| 操美女的视频在线观看| 欧美人与善性xxx| 9热在线视频观看99| 性少妇av在线| 久久av网站| 曰老女人黄片| 亚洲国产av影院在线观看| 国产伦理片在线播放av一区| 欧美精品啪啪一区二区三区 | 夫妻午夜视频| 精品国产乱码久久久久久男人| 女人被躁到高潮嗷嗷叫费观| av一本久久久久| 天堂中文最新版在线下载| 18禁观看日本| 丰满迷人的少妇在线观看| 国产成人精品无人区| 亚洲av成人不卡在线观看播放网 | 国产成人欧美| av一本久久久久| 亚洲欧美精品自产自拍| 韩国精品一区二区三区| 人人澡人人妻人| 欧美精品人与动牲交sv欧美| 亚洲少妇的诱惑av| 午夜免费鲁丝| a级毛片在线看网站|