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

    基于ROP/JOP gadgets性質(zhì)的軟件多樣化評估方法

    2022-02-04 06:13:12遲宇寧郭云飛王亞文扈紅超
    網(wǎng)絡與信息安全學報 2022年6期
    關鍵詞:控制流寄存器指令

    遲宇寧,郭云飛,王亞文,扈紅超

    基于ROP/JOP gadgets性質(zhì)的軟件多樣化評估方法

    遲宇寧,郭云飛,王亞文,扈紅超

    (信息工程大學,河南 鄭州 450001)

    為應對信息化生活中的網(wǎng)絡攻擊及威脅,降低網(wǎng)絡系統(tǒng)中同質(zhì)化攻擊快速蔓延的風險,增強網(wǎng)絡和軟件的安全性,軟件多樣化技術被應用到系統(tǒng)中。軟件多樣化旨在生成功能等價但內(nèi)部發(fā)生變化的程序變體,從而改變單一的運行環(huán)境,緩解同質(zhì)化攻擊?,F(xiàn)有的多樣化技術的評估指標ROP(return-oriented programming)gadgets幸存率難以直接體現(xiàn)安全性影響且評估方法單一,為了更加全面有效地評估軟件多樣化方法的有效性,提出基于ROP/JOP(jump-oriented programming)gadgets性質(zhì)的軟件多樣化評估方法,通過分析常見的代碼重用攻擊,將抽象的量化轉(zhuǎn)為具象的指標,從空間、時間及質(zhì)量3個方面評估多樣化方法的安全增益及效果。該方法根據(jù)gadgets的相似性、損壞度和可用性3個性質(zhì)探討軟件多樣化技術如何影響ROP/JOP攻擊。用指令替換、NOP插入、控制流平坦等9種多樣化方法對GNU coreutils程序集進行多樣化編譯生成多樣化程序集。對多樣化程序集進行基于gadgets性質(zhì)的實驗,根據(jù)實驗結(jié)果評估不同多樣化方法的有效性及對攻擊造成的影響。實驗結(jié)果表明,該方法能夠?qū)浖鄻踊椒ǖ陌踩鲆孢M行準確評估,多樣化技術會導致ROP/JOP攻擊所需的攻擊鏈空間增大,構(gòu)造攻擊鏈的時間變長且攻擊成功率降低。不同的多樣化方法產(chǎn)生的效果高低不一,對后續(xù)研究具有更高安全增益的多樣化技術有指導作用。

    軟件多樣化;ROP/JOP攻擊;gadgets性質(zhì);安全增益評估

    0 引言

    信息技術及互聯(lián)網(wǎng)的飛速發(fā)展,使得大眾生活越來越依賴于網(wǎng)絡。種類繁多、功能各異的應用軟件為人們提供生活便利的同時,也引入了安全風險,威脅人們的隱私和財產(chǎn)安全。究其原因是大多數(shù)的軟件在設計階段采用了相似或相同的架構(gòu)、協(xié)議使得軟件漏洞易被黑客在同質(zhì)化環(huán)境中利用。

    為了抵御此類威脅, 各類安全機構(gòu)研究了多種防御方法,如在內(nèi)存中限制可執(zhí)行頁面來抵抗大多數(shù)代碼注入攻擊[1],控制流完整性檢測檢測程序是否進入非預期的執(zhí)行路徑[2],動態(tài)污點分析追蹤信息流識別破壞內(nèi)存的攻擊[3]。在這些防御方法中, 大多數(shù)只能針對某一種漏洞進行防御,且容易被攻破[4]。

    軟件多樣化技術為防御威脅提供了新的思路,其核心思想是應用軟件多樣化技術動態(tài)地改變攻擊面以提高攻擊成本。軟件多樣性的概念可以追溯到容錯。多樣性將一個給定組件的多個實現(xiàn)方法產(chǎn)生錯誤結(jié)果的可能性降到最低。軟件多樣化著眼于代碼布局隨機化,可以在不同地方用自動化的方式實現(xiàn),如通過編譯器實現(xiàn)軟件多樣化[5]。在加載時對程序進行反匯編,替換loader加載器[6]實現(xiàn)多樣化等?,F(xiàn)代操作系統(tǒng)通過隨機化程序中對象的基址,如堆棧、堆、程序代碼和動態(tài)庫,實現(xiàn)了地址空間布局隨機化(ASLR,address space layout randomization)。

    大量理論和實踐證明了軟件多樣化技術能夠有效提高攻擊成本,增強軟件安全性,但如何對軟件多樣化技術的有效性進行評估是一個難點。劉鎮(zhèn)武等[7]通過軟件復雜程度的靜態(tài)指標來評估軟件多樣化技術。Rossman等[8]結(jié)合香農(nóng)?維納信息熵[9]的角度,通過利用物種多樣性量化公式去分析操作系統(tǒng)的多樣性,也有依靠邏輯認證[10]來證明改變攻擊依賴的程序?qū)傩詣t表明防御成功。

    評估軟件多樣性技術有效性的一種方法是計算幸存的gadgets的數(shù)量占多樣化軟件gadgets集合的比例。Coffman等[11]采用該方法,分別用相同地址的幸存gadgets占比和不考慮地址的幸存gadgets占比作為指標,對幾種多樣化技術進行了安全性評估。但是該方法所提到獲取的gadgets仍足以發(fā)動攻擊,即幸存gadgets數(shù)量的占比不能顯著體現(xiàn)安全性影響,且幸存gadgets占比這個指標只考慮了多樣化技術在空間角度對面向返回的編程(ROP,return-oriented programming)的部分影響。因此,本文提出了一種基于常見代碼重用攻擊(ROP/面向跳轉(zhuǎn)的編程(JOP,jump-oriented programming))的軟件多樣化技術有效性的評估方法,獲取程序中ROP/JOP攻擊采用的攻擊鏈,分別從攻擊鏈的相似性、損壞度和可用性3個方面進行定量分析,來討論軟件多樣化技術在空間角度、質(zhì)量、時間角度對ROP/JOP的影響。

    1 軟件多樣化評估相關研究

    Coppens等[12]使用BinDiff補丁對比算法,利用該算法研究不同補丁之間共同的指令、函數(shù)、代碼等。該方法被用在衡量對抗補丁攻擊[13]的有效性上,將補丁前和補丁后的程序視為具有多樣性的程序。

    Banescu等[14-15]用符號執(zhí)行來評估各種代碼混淆方法的強度。發(fā)現(xiàn)符號執(zhí)行對執(zhí)行了代碼混淆的程序造成覆蓋率減緩,代表對程序進行逆向分析的困難增加。但符號執(zhí)行主要關注對程序逆向的干擾程度,受程序大小的空間限制。

    Pagani等[16]采用模糊哈希研究了二進制文件基于局部敏感哈希(LSH)方法的庫標識、重新編譯和程序相似度。而后Coffman等[17]采用了3種模糊哈希算法,對多樣化的二進制文件的符號表進行相似性分析,并對比了不同模糊哈希算法的優(yōu)劣。

    Homescu等[18]采用相同地址上幸存gadgets占比為指標,利用該指標衡量不同插入方案的NOP(無操作)插入多樣化技術的安全性。Coffman等[11]以采用了Homescu等的幸存gadgets占比為其中一個指標,提出在不考慮地址的情況下,將相同gadgets占比作為指標,對幾種多樣化技術進行有效性評估。

    多樣化技術的多層次性使得在部署之前很難確定它的有效性,因此多樣化的目標——引入異構(gòu)度,干擾同質(zhì)化攻擊,從而使攻擊者的成本增加——變得難以直接測量。以上工作中,Banescu等[14-15]側(cè)重于衡量代碼混淆技術對抗符號執(zhí)行和程序逆向的有效性。Homescu 等[18]和文獻[11]通過ROP gadgets的兩種幸存指標評估多樣化技術的有效性,但僅減少幸存的gadget占比不能增加其對ROP攻擊的安全性,故幸存指標難以真實反映多樣化技術的有效性。通常來說,軟件多樣性對攻擊引入的多樣化越強,攻擊者利用成本越高,則該軟件的安全性也就越高,最理想的狀態(tài)是攻擊者需要在有效攻擊時間內(nèi)構(gòu)建一套全新的可靠的攻擊鏈。因此,為了量化軟件多樣化真正造成的攻擊干擾程度以及安全性,需要對多樣化技術有基于攻擊角度的更全面的評估準則和模型。

    2 相關技術

    2.1 代碼重用攻擊

    攻擊者利用緩沖區(qū)溢出漏洞,在存在漏洞的內(nèi)存地址處重寫緩沖區(qū)外的返回指針,重定向控制流,以執(zhí)行事先注入的代碼。除了緩沖區(qū)溢出外,整數(shù)溢出、格式化字符串等內(nèi)存損壞類的漏洞大多是同一利用方法。為了應對這種利用脆弱內(nèi)存漏洞達到代碼注入的攻擊,在操作系統(tǒng)中引入了可執(zhí)行保護,該方法將內(nèi)存的每個頁,根據(jù)其脆弱性,標記為可寫或可執(zhí)行,兩種狀態(tài)不能同時存在。若試圖在不可執(zhí)行頁上執(zhí)行代碼,大多數(shù)情況下保護機制會直接終止程序的運行。因此,可執(zhí)行空間保護使得攻擊者難以執(zhí)行注入的代碼,為了繞過這種保護方法,引出了一種新的攻擊類型——代碼重用攻擊。

    代碼重用攻擊完全放棄了代碼注入的思想,而是將重點放在重用現(xiàn)有的機器碼上,以達到攻擊效果。其中,常見的代碼重用攻擊為面向返回的編程[19]和面向跳轉(zhuǎn)的編程[20]。ROP和JOP均利用二進制可執(zhí)行文件中已有的代碼片段來進行攻擊。ROP/JOP攻擊的核心組件是“小工具(gadgets)”,即緊接在返回/跳轉(zhuǎn)指令之前發(fā)生的指令序列。ROP/JOP gadgets是一個匯編指令序列,表示返回值的字節(jié)結(jié)束,可以解釋為指令和參數(shù)(如寄存器或即時值)。

    與代碼注入攻擊(攻擊者利用漏洞,如越界寫?注入自己的注入漏洞)不同,ROP/JOP攻擊通過執(zhí)行由程序和庫代碼構(gòu)建的gadgets鏈來危害應用程序。攻擊者利用gadgets鏈重定向到內(nèi)存中的任意字節(jié),如果它們位于可執(zhí)行段,則可直接執(zhí)行。ROP使用ret指令來改變程序的控制流,而 JOP 攻擊利用程序間接跳轉(zhuǎn)和間接調(diào)用指令(call指令和jmp指令)來改變程序的控制流。

    2020年,英特爾表示將在自己的Tiger Lake系列移動CPU上配置CET安全功能,該功能旨在防范控制流劫持類攻擊,因此可以防止ROP/JOP攻擊。但該功能目前只支持Intel Tiger Lake系列,且對Linux系統(tǒng)的適配性還需要進一步整合,即該功能的支持范圍有限,還需要時間擴大對操作系統(tǒng)、硬件及軟件棧的普適性。故ROP/JOP仍將長期成為可用的攻擊方法,因此本文依舊具有較大的研究意義和價值。

    2.2 軟件多樣化方法

    軟件多樣化最初由Cohen等[21]提出,Cohen等指出程序進化是一種防御策略,即程序“進化”成與原始程序不同,但語義上相同的版本,并提出了指令重排序和垃圾代碼插入等程序“進化”方式。常用的軟件多樣化技術由編譯器來實現(xiàn),本文結(jié)合multicompiler[22]和LLVM Obfuscator[23]構(gòu)建了具有多種軟件多樣化功能的編譯器,其具體功能如下。

    1) 控制流平坦:利用分發(fā)器控制[24]基本塊之間的直接跳轉(zhuǎn),破壞基本塊的跳轉(zhuǎn)關系,將整個程序的跳轉(zhuǎn)邏輯變得模糊。分發(fā)器的控制讓基本塊都出現(xiàn)在同一層,隱藏了程序的原始跳轉(zhuǎn)結(jié)構(gòu)。

    2) 偽控制流:通過插入不影響程序功能的無效跳轉(zhuǎn)基本塊[25],構(gòu)造一些必真或必假的條件,打亂程序原來的控制流圖。

    3) NOP插入:NOP是處理器在不修改寄存器文件或內(nèi)存的情況下執(zhí)行的指令,NOP插入是隨機在當前指令之前插入0或1個NOP。在本文實驗中,NOP插入的方式為40%的隨機選擇插入30%的NOP指令。

    4) 指令替換:功能一致的指令有不同的表達方法,如a?5=a+(?5)。該方法在不更改功能的前提下,用一個等價的指令序列替換數(shù)值上的二進制和布爾操作。

    5) 全局變量洗牌:隨機排列全局變量,打亂了編譯器生成的目標代碼中全局變量的順序。

    6) 函數(shù)隨機化:這種方法在整個可執(zhí)行文件中進行全局性的函數(shù)重排列,改變了編譯器生成的目標代碼中函數(shù)的順序。

    7) 棧反轉(zhuǎn):傳統(tǒng)的棧布局為棧底為高地址,棧頂為低地址,棧向低地址生長,棧反轉(zhuǎn)技術將棧的生長方式反轉(zhuǎn)為向高地址生長。

    8) 棧填充:往??臻g里填充無用數(shù)據(jù),使實際執(zhí)行的??臻g增加。本文實驗的填充率為50%,將預留的棧空間填充至利用率達到50%。

    3 評估模型

    3.1 使用的數(shù)據(jù)集

    本文選擇了一個開源大數(shù)據(jù)集進行評估:GNU核心實用程序[17]。表1列出了關于數(shù)據(jù)集的基本統(tǒng)計信息,使用David A. Wheeler的“SLOC Count”(2.26)計算了數(shù)千行代碼的數(shù)量(KLOC)。GNU核心實用程序是一組在類Unix操作系統(tǒng)上可以直接通過命令行使用的常用工具,源代碼是開源的,方便利用多樣化編譯器進行編譯生成變體。GNU核心實用程序包含如ls、base64、rm、kill等大量Unix/Linux系統(tǒng)常用工具,提供了源代碼功能上的多樣性。單個應用程序在實驗中只提供一個數(shù)據(jù)點,并采用整個數(shù)據(jù)集的平均值作為評估指標。

    表1 GNU核心程序集

    3.2 評估方法

    本文構(gòu)建了用于評估多樣化變體對原始程序ROP/JOP攻擊的干擾程度的測量方法。為量化多樣化技術引起的攻擊差異,最直接的方法是分析ROP/JOP 賴以使用的gadgets。同質(zhì)化的可靠ROP/JOP 攻擊,對gadgets集的相似度、攻擊鏈質(zhì)量和可用性有較高的要求,本文從這3個方面進行評估。同質(zhì)環(huán)境下,未進行多樣化的軟件的gadgets應具有較高的相似性甚至完全一致,攻擊鏈質(zhì)量高并且gadgets數(shù)量足夠構(gòu)建可靠的攻擊鏈。多樣化技術如果能夠達到抗攻擊或減緩攻擊效果,則對應的gadgets應當降低相似性,并破壞鏈質(zhì)量。

    3.2.1 Gadgets相似性算法

    已有的軟件多樣性技術評估通過分析不同多樣化技術中幸存的gadgets的數(shù)量或百分比[11]來量化其安全性影響。該方法被認為可靠性較低,且只考慮了多樣化技術的gadgets集變化,未將正常執(zhí)行體和多樣化執(zhí)行體作為一個整體進行比較。

    評估軟件多樣化技術帶來的攻擊差異化程度的另一種方法是研究多樣化技術引起的相似性降低程度。對于ROP/JOP攻擊來說,從空間的角度,直觀的衡量方法是對比正常軟件和多樣化軟件gadgets集合的相似性。多樣化軟件的gadgets集與正常執(zhí)行體的gadgets集相似性越低,說明多樣化方法引入的gadgets變化越大,針對多樣化軟件構(gòu)建的攻擊鏈差異度越大,攻擊者所需的空間成本越高。

    為實現(xiàn)相似性評估,本文提出gadgets相似度計算。本文定義相似度是兩個可執(zhí)行程序不考慮地址的情況下共享的具有相同gadgets鏈的比例。Gadgets集合代表攻擊者能采用的攻擊鏈集合,可用的gadgets鏈可能因為多樣化方法在不同變體中呈現(xiàn)差異。

    本文使用Jaccard相似系數(shù)[17]來計算相似度。Jaccard相似系數(shù)是一種衡量兩個集合的相似度指標,定義為集合與集合交集的大小除以并集的大小,公式為

    在本文實驗中,固定正常執(zhí)行體集合Normal為集合,其余9種多樣化方法生成的變體集合依次為集合,并計算集合A與集合B的Jaccard相似系數(shù)。如圖1所示,正常GNU核心程序集中的ls為gadgetsA集合,控制流平坦程序集(CFF-GNU)的ls為gadgetsB集合,gadgetsA和gadgetsB分別取交集和并集進行計算得到Jaccard相似系數(shù)。

    隨著中國社會經(jīng)濟發(fā)展水平不斷提高,“工業(yè)反哺農(nóng)業(yè),城市支持農(nóng)村”方針提上國家發(fā)展日程,新農(nóng)村建設、美麗鄉(xiāng)村建設、精準扶貧等國家政策在逐步實施,農(nóng)村公共服務需求增加。新的形勢對農(nóng)村公共服務供給提出新的要求。本階段的研究主要有城鄉(xiāng)公共服務的均等化問題、新型城鎮(zhèn)化建設對農(nóng)村公共服務供給的影響、供給側(cè)改革對農(nóng)村公共服務的影響、農(nóng)村公共服務供給新的模式和機制探索[12-14]。

    表2 用于ROP/JOP 攻擊的TC gadgets

    本文編寫腳本自動對比兩個gadgets集合文件,搜索并統(tǒng)計相同的gadgets數(shù)量得到交集,用gadgets總數(shù)減去交集得到并集,最后實現(xiàn)jaccard相似系數(shù)的計算。

    3.2.2 Gadgets鏈質(zhì)量

    一些gadgets具備圖靈完整性的能力,這類gadgets是攻擊時采用的核心攻擊指令,此處定義為圖靈完整gadgets(TC gadgets)[26]。其中,ROP中有加載內(nèi)存LM、存儲內(nèi)存SM、算術操作AM、棧操作SP、加載寄存器LR,移動寄存器MR等為圖靈完備的。JOP額外有跳轉(zhuǎn)操作JMP和函數(shù)調(diào)用CALL為圖靈完備的。具體分類方法如表2所示。

    圖1 控制流平坦和正常編譯的ls程序gadgets交并集

    Figure1 Gadgets intersection and union of control flow flattening and normal compilers ls program

    攻擊者需要使用gadgets改變原有的寄存器相關調(diào)用和存儲值,所以用于生成攻擊鏈的gadgets鏈質(zhì)量至關重要。多樣化技術可能會改變指令對寄存器的調(diào)用和寄存器的存儲值,導致在ROP/JOP的攻擊中,寄存器無法正常發(fā)揮原來的作用。為度量gadgets鏈的整體質(zhì)量,本文參考Ahmed等[26]評估不同粒度ASLR方案采用的JIT-ROP gadgets損壞率指標,并針對JOP擴展了TC gadgets,針對ROP和JOP,對原方法采用的指令進行了修改,對具有圖靈完備性的每一條gadgets鏈進行損壞分析。

    通常,一個gadgets鏈包含一個核心指令。如“mov eax, 0x6083e0; cmove rdi, rax; mov eax, [rdi]; ret;”包含mov eax,[rdi]作為核心指令,以及在核心指令之前/之后的一些附加指令。核心指令是攻擊者必要的指令,附加指令可能會修改核心指令的源寄存器或目標寄存器,如果發(fā)生這種情況,則視該gadgets已損壞。核心指令被修改的情況有以下3種。

    1) 被核心指令前的指令修改:“and [rax], al; mov rbx,[rip+0x205bd7]; pop rbx; ret;”,“pop rbx”為核心指令,rbx被前面的“mov rbx,[rip+0x205bd7]”修改。

    2) 被核心指令后的指令修改:“add [eax], rax; add rax, cl; ret;”,核心指令“add [eax],rax”中rax被后面的“add rax,cl”修改。

    3) 核心指令前/后的指令均可修改:“and eax, ebx ; mov eax, [r9+0x4]; mov [r9+0x4], esi; ret;” ,核心指令“mox eax [r9+0x4]”中eax和esi分別被前后的指令修改。

    本文通過分析附加指令是否修改小工具的核心指令來測量寄存器損壞率。根據(jù)以上3種場景判斷gadgets損壞情況。確定一組可以修改核心指令的源寄存器或目標寄存器的附加指令(mov、lea、add、sub、cmove、pop、inc、dec、xchg、and、or、xor、shl和shr),將這類指令使用的寄存器視為沖突寄存器。

    如果在一組有以上附加指令和表2中核心指令的gadgets鏈中,附加指令修改了核心指令寄存器,則該條gadgets鏈視為被損壞。

    通過以上方法,獲得被損壞的gadgets鏈數(shù)量,用損壞的gadgets鏈數(shù)量除以所有gadgets鏈的數(shù)量來測量寄存器損壞率。

    3.2.3 Gadgets收集效率

    多樣化技術對ROP/JOP的重要影響是改變gadgets的數(shù)量和收斂時間。多樣化技術可能帶來gadgets數(shù)量的減少或增加,并增長或縮短收集完整gadgets集的收斂時間。存在一種情況:盡管多樣化技術使gadgets數(shù)量減少,由于擾亂了各種層次的布局,反而增加了收集gadgets的時間,提高了攻擊者的時間成本。構(gòu)建一個完整可用的攻擊鏈需要有足夠數(shù)量的gadgets,而在真實環(huán)境中每一次攻擊受到有效攻擊時間的約束,減少軟件中可用的gadgets總數(shù),延長收集有效gadgets的時間,增加了構(gòu)建攻擊鏈的難度和成本,因此可以減少其受到有效攻擊的次數(shù)。為了評估以上情況,本文提出gadgets收集效率這一指標。

    為度量gadgets收集效率,本文對所有執(zhí)行體運行gadgets收集函數(shù),記錄收斂到完整gadgets集所需的時間,并計算每秒可收集gadgets個數(shù),得出收集效率,該指標不僅反映多樣化技術對gadgets收集造成的時間成本影響,也反映了數(shù)量的變化。對于攻擊者來說,越低的時間成本內(nèi)收集的gadgets越多,收集效率越高,則gadgets的可用性越高,攻擊的成功率越高。

    4 實驗結(jié)果與分析

    本文實驗在使用Ubuntu 18.04 LTS 64位操作系統(tǒng)的Linux機器上進行,采用內(nèi)生安全軟件開發(fā)環(huán)境(ES2,endogenous security studio)生成執(zhí)行體。ES2是集軟件代碼開發(fā)、異構(gòu)化編譯、多樣化執(zhí)行體生成等功能于一體的軟件開發(fā)環(huán)境,具備業(yè)界領先的進程級細粒度多樣化編譯性能。

    本文采用基于Python的開源gadgets收集工具——ropper,并針對實驗需求對源碼進行改進。改造后的ropper添加了計算收集完整gadgets時間的功能函數(shù),增加了只收集ROP或JOP gadgets的功能。

    本文采用9種多樣化技術(控制流平坦(CFF)、虛假控制流(FCF)、NOP插入(NI)、指令替換(IR)、全局變量洗牌(GVS)、函數(shù)隨機化(FR)、棧反轉(zhuǎn)(RS)、棧填充(FS)和堆棧交換(ESH))以及一種正常編譯方法Normal。對于每種多樣化技術,利用GNU核心程序集,用ES2集中編譯連接。其中,每個核心程序均使用不同的多樣化技術進行編譯,生成900個多樣化變體,加上正常編譯未使用多樣化技術的100個執(zhí)行體,共計1 000個執(zhí)行體,10個不同的GNU核心程序集。

    利用3.2節(jié)所述的各類方法,得到每個GNU核心程序集的每個程序?qū)獢?shù)據(jù),并取該程序集的平均值,作為實驗的最終數(shù)據(jù)。

    4.1 Gadgets相似度的評估

    假設隨著gadgets的共同集減少,攻擊者的成本增加。理想情況下,兩個多樣化的二進制文件應該完全沒有共同的gadgets,攻擊者必須為每個多樣化的二進制文件構(gòu)建一個新的ROP鏈。

    本實驗計算了正常執(zhí)行體和其他所有多樣化變體的gadgets集相似度。對于每一對執(zhí)行體和變體,使用相同gadgets來確定每個可執(zhí)行文件的交集,使用Jaccard算法得到相似度,并取程序集的平均值。

    對于每種多樣性技術,圖2顯示了每個GNU核心程序集中ROP gadgets的平均相似度,即Jaccard相似系數(shù)。在采用的多樣化技術中,發(fā)現(xiàn)NOP插入效率最高,相似度不到5%,說明相同的gadgets的數(shù)量最少,因為額外的NOP使gadgets的數(shù)量變化較大。控制流平坦技術的相似度僅為6.73%。除了NOP插入和控制流平坦外,其他的多樣化技術最終達到高于7%低于8%的相似度。

    圖2 ROP gadgets的相似度

    Figure 2 The similarity of ROP gadgets

    函數(shù)隨機化排序因打亂了函數(shù)的順序,干擾了內(nèi)存中函數(shù)存放的位置,相似度較小。而細粒度指令替換和全局變量洗牌以及虛假控制流較為接近。因為ROP攻擊以ret指令為結(jié)尾,需要多次調(diào)用棧達到實現(xiàn)執(zhí)行gadgets鏈的目的,堆棧交換引入的堆棧布局多樣性優(yōu)于棧反轉(zhuǎn)和棧填充。

    Coffman等[11]采用不考慮地址的幸存gadgets占比這一指標從空間角度上度量多樣化技術。Coffman的實驗結(jié)果中,NOP插入、控制流平坦、指令替換、偽控制流這4種方法的指標依次升高,這與本文的實驗結(jié)果是吻合的,也側(cè)面證明了本文采用指標的可信度。

    圖3是每個GNU核心程序集中JOP gadgets的平均相似度。JOP gadgets的平均相似度整體高于ROP gadgets。與ROP的情況類似,NOP插入依舊是相似度最低的多樣化技術,因其帶來了較多的無用過程。控制流平坦技術相似性僅為6.66%。其他的多樣化技術則維持在8.5%~9%。

    圖3 JOP gadgets的相似度

    Figure 3 The similarity of JOP gadgets

    與ROP gadgets相似度不同的是,全局變量洗牌、函數(shù)隨機化和虛假控制流比指令替換引入了更多的多樣性。因為JOP以跳轉(zhuǎn)為主,函數(shù)和變量的變化對跳轉(zhuǎn)地址的干擾更大。但是JOP攻擊通過修改棧內(nèi)容來修改寄存器值,實現(xiàn)對棧操作,達到跳轉(zhuǎn)的目的,所以棧多樣化技術基本不分上下。

    Gadgets相似度為多樣性技術的有效性提供了一些見解。不同的多樣化對ROP/JOP gadgets產(chǎn)生不同程度的影響,均未使得相似度趨近于0。這一結(jié)果說明即便采用了多樣化技術,執(zhí)行體的gadgets中始終有共同存在的部分。這個部分或許是一些初始指令,或許是完成攻擊的核心指令。并且不同技術對ROP和JOP產(chǎn)生的多樣性效果也不相同,取決了該多樣化技術對ROP和JOP主要利用的地址和內(nèi)存布局有怎樣程度的改變。

    4.2 Gadgets鏈質(zhì)量的評估

    這個實驗的目的是分析gadgets鏈的質(zhì)量和寄存器的可用性。根據(jù)3.2.2節(jié)描述的方法,通過對單個gadget的寄存器損壞分析來衡量gadget的質(zhì)量。本文測量了圖靈完備的gadgets集的寄存器損壞情況,并通過將損壞的小工具的數(shù)量除以所有小工具的數(shù)量來計算gadgets的寄存器損壞率。

    圖4為圖靈完備的ROP gadgets的寄存器損壞率分析結(jié)果。控制流平坦導致?lián)p壞率高達34%,NOP插入也造成了gadgets質(zhì)量的較大損失。細粒度的指令替換和全局變量洗牌整體損壞率略高于粗粒度的函數(shù)隨機化和虛假控制流(約為4%)。這個略高的寄存器損壞率表明,細粒度多樣化技術中gadget鏈的形成和使用比粗粒度多樣化技術略難。因為棧反轉(zhuǎn)只是將棧的生長方向?qū)φ{(diào),ROP對棧頂指針的調(diào)用受方向的干擾較小,故棧反轉(zhuǎn)的效果較差。

    圖4 圖靈完備的ROP gadgets寄存器損壞率

    Figure 4 Register damage rate of TC ROP gadgets

    圖5為圖靈完備的JOP gadgets的寄存器損壞率分析結(jié)果。JOP gadgets的整體寄存器損壞率比ROP gadgets的略低,最高不超過30%。細粒度的指令替換和全局變量洗牌與粗粒度的函數(shù)隨機化和虛假控制流損壞率接近,表明對于JOP攻擊,這兩類技術中gadgets鏈的形成和使用成本接近。JOP攻擊對堆棧的依賴較小,對寄存器的調(diào)用也沒有ROP嚴格,因此無論是堆棧多樣性技術還是其他的多樣性技術,JOP gadgets總體損壞率都略低于ROP gadgets的損壞率。

    圖5 圖靈完備的JOP gadgets寄存器損壞率

    Figure 5 Register damage rate of TC JOP gadgets

    通過衡量gadgets的寄存器損壞率,可以發(fā)現(xiàn)ROP和JOP對寄存器及堆棧的依賴程度不同。但多樣化技術都帶來不同程度的寄存器損壞,使gadgets鏈質(zhì)量下降,可靠性降低。未來的多樣化技術發(fā)展方向,可以考慮以增加gadgets中的寄存器損壞率為研究目標,因為越高的寄存器損壞率讓攻擊變得越不可靠,攻擊能正常使用的寄存器越少。

    4.3 Gadgets可用性的評估

    為了度量gadgets收斂時間和收集效率,本文采用3.2.3節(jié)描述的方法,收集了ROP和JOP各自所有的gadgets,并獲得了收集完整gadgets的收斂時間,再計算得到平均每秒能收集的gadgets個數(shù)。

    圖6中列出了各種生成的GNU程序集的ROP gadgets平均每秒收集的gadgets個數(shù)。從該指標可看出,多樣化技術讓ROP gadgets數(shù)量有減少的趨勢,降低了gadgets的收集效率和可用性。NOP插入帶來的減少程度是倍數(shù)級的。NOP插入讓軟件膨脹,且插入的NOP指令是無效的,很大限度增加了收斂完整gadgets的時間,導致每秒收集數(shù)量急劇降低。而堆棧級和函數(shù)指令級多樣化技術整體表現(xiàn)相似。因為理想情況下,這兩類的多樣化技術不會破壞gadgets,只會將gadgets從一個位置轉(zhuǎn)移到另一個位置。由于程序執(zhí)行流的混亂和寄存器分配的隨機化,控制流平坦這種基本塊級的技術對ROP gadgets的破壞程度較大。

    圖6 平均每秒收集的ROP gadgets數(shù)量

    Figure 6 Average of ROP gadgets collected per second

    JOP 的情況與ROP不太一樣。由圖7可知,除了NOP插入帶來JOP gadgets的減少外,其他多樣化技術均展現(xiàn)出令人意外的收斂情況。包括在其他指標中表現(xiàn)優(yōu)越的控制流平坦技術,其指標與其余多樣化技術接近。這個情況揭示了大多數(shù)多樣化技術在一定限度上增加了JOP gadgets數(shù)量。因為JOP不用ret來連接原始操作和指令,所以需要收集更多可用的以jmp和call結(jié)尾的gadgets來達到攻擊目標。而多樣化技術對ret結(jié)尾的gadgets有削減的作用,因此在JOP攻擊中需要收集更多的jmp和call gadgets來彌補這一缺失。

    圖7 平均每秒收集的JOP gadgets數(shù)量

    Figure 7 Average of JOP gadgets collected per second

    通過分析gadgets的收斂情況可知,對于ROP來說,多樣性越大的技術使得gadgets的收集效率越低,造成的可用性越低,并且增加越多的攻擊時間成本。但是JOP受到相關影響,要完成圖靈完備攻擊則需要收集更多的JOP gadgets??偟膩碚f,多樣化技術讓gadgets的收斂速度和數(shù)量有改變,在實際情況中應該綜合影響兩種攻擊的平衡性去考慮多樣化技術的有效性。

    4.4 評估總結(jié)

    通過對9種多樣化技術和正常編譯產(chǎn)生的GNU核心程序集的ROP/JOP gadgets不同角度的分析發(fā)現(xiàn),多樣化技術均對ROP/JOP攻擊產(chǎn)生了不同程度的干擾,會導致ROP/JOP攻擊所需的攻擊鏈空間增大,構(gòu)造攻擊鏈的時間發(fā)生變化且攻擊成功率降低。綜合而言,NOP插入和控制流平坦都發(fā)揮出色,使3個指標有了較為明顯的變幅,具有更高的安全增益。其他多樣化技術根據(jù)攻擊的需求和多樣化的粒度,對攻擊呈現(xiàn)不同的限制效果。堆棧多樣化技術總體對執(zhí)行體的改變局限于堆棧區(qū)域,帶來的安全增益也較弱。

    表3 多樣化技術評估結(jié)果

    本文的評估方法在ROP/JOP攻擊層面,對多個影響攻擊的gadgets指標進行分析,從同質(zhì)化攻擊的不同角度對各類軟件多樣化技術進行定量比較,給出多樣化效果的安全增益和有效性的綜合評估結(jié)果,并能更加深入地挖掘ROP/JOP gadgets的性質(zhì),日后可根據(jù)這些指標和性質(zhì)研究更加具有安全性的多樣化技術。

    5 結(jié)束語

    現(xiàn)有的ROP gadgets幸存率指標存在難以直接體現(xiàn)多樣化技術的安全性影響且評估方法單一的問題。為了更加全面地從攻擊視角評估多樣化技術的有效性,本文根據(jù)常見的代碼重用攻擊ROP和JOP及其 gadgets的不同性質(zhì)來確定多樣化技術對網(wǎng)絡攻擊產(chǎn)生的影響,建立評估體系。本文利用GNU核心程序數(shù)據(jù)集開展實驗,評估了9種不同的多樣化技術對gadget相似度、鏈質(zhì)量、可用性等方面的影響,從gadgets的空間角度、時間角度和質(zhì)量可靠角度3個方面進行量化和比較,驗證了所提方法在軟件多樣化領域的適用性以及有效性。

    但是本文的評估方法主要評估了Linux下的X86-64架構(gòu)軟件多樣化方法,未來需要進一步對Windows系統(tǒng)和其他架構(gòu)(如ARM的軟件多樣化技術)進行評估驗證。此外,可以創(chuàng)建新的指標,對正常軟件和多樣化軟件的函數(shù)、指令、基本塊等粒度進行差異分析,提出一套不依賴特定攻擊方法的評估體系。

    [1] LITCHFIELD D. Buffer Underruns, DEP, ASLR and improving the exploitation prevention mechanisms (XPMs) on the Windows platform[EB].

    [2] ABADI M, BUDIU M H, ERLINGSSON ú, et al. Control-flow integrity[C]//Proceedings of the 12th ACM conference on Computer and Communications Security CCS '05. 2005: 340-353.

    [3] LIVSHITS V B, LAM M S. Finding security vulnerabilities in Java applications with static analysis[J]. 14th USENIX Security Symposium, 2005: 271-286.

    [4] 姚東, 張錚, 張高斐, 等. 多變體執(zhí)行安全防御技術研究綜述[J]. 信息安全學報, 2020, 5(5): 77-94.

    YAO D, ZHANG Z, ZHANG G F, et al. A survey on multi-variant execution security defense technology[J]. Journal of Cyber Security, 2020, 5(5): 77-94.

    [5] GIUFFRIDA C, KUIJSTEN A, TANENBAUM A S. Enhanced operating system security through efficient and fine-grained address space randomization[C]//Proceedings of the 21st USENIX Conference on Security symposium. 2012: 40.

    [6] HISER J, NGUYEN-TUONG A, CO M, et al. ILR: where'd my gadgets go[C]//Proceedings of 2012 IEEE Symposium on Security and Privacy. Piscataway: IEEE Press, 2012: 571-585.

    [7] 劉鎮(zhèn)武, 隋然, 張錚, 等. 基于信息熵與軟件復雜度的軟件多樣性評估方法[J]. 信息工程大學學報, 2020, 21(2): 207-213.

    LIU Z W, SUI R, ZHANG Z, et al. Software diversity evaluation method based on information entropy and software complexity[J]. Journal of Information Engineering University, 2020, 21(2): 207-213.

    [8] HERNANDEZ-CASTRO J, ROSSMAN J. Measuring software diversity, with applications to security[J]. arXiv: 1310.3307, 2013.

    [9] SHANNON C E. A mathematical theory of communication[J]. Bell System Technical Journal, 1948, 27(3): 379-423.

    [10] COHEN F B. Operating system protection through program evolution[J]. Computers & Security, 1993, 12(6): 565-584.

    [11] COFFMAN J, KELLY D M, WELLONS C C, et al. ROP gadget prevalence and survival under compiler-based binary diversification schemes[C]//Proceedings of the 2016 ACM Workshop on Software Protection. 2016: 15-26.

    [12] COPPENS B, DE SUTTER B, MAEBE J. Feedback-driven binary code diversification[J]. ACM Transactions on Architecture and Code Optimization, 2013, 9(4): 1-26.

    [13] BRUMLEY D, POOSANKAM P, SONG D, et al. Automatic patch-based exploit generation is possible: techniques and implications[C]//Proceedings of 2008 IEEE Symposium on Security and Privacy. 2008: 143-157.

    [14] SEBASTIAN B, CHRISTIAN C, VIJAY G, et al. Code obfuscation against symbolic execution attacks[C]//Proceedings of the 32nd Annual Conference on Computer Security Applications (ACSAC ’16). 2016: 189-200.

    [15] SEBASTIAN B, CHRISTIAN C, AND ALEXANDER P. Predicting the resilience of obfuscated code against symbolic execution attacks via machine learning[C]//Proceedings of the 26th USENIX Security Symposium. 2017: 661-678

    [16] FABIO P, MATTEO D’A, DAVIDE B. Beyond precision and recall: understanding uses (and misuses) of similarity hashes in binary analysis[C]//Proceedings of the Eighth ACM Conference on Data and Application Security and Privacy (CODASPY ’18). 2018: 354-365.

    [17] COFFMAN J, CHAKRAVARTY A, RUSSO J A, et al. Quantifying the effectiveness of software diversity using near-duplicate detection algorithms[C]//Proceedings of the 5th ACM Workshop on Moving Target Defense. 2018: 1-10.

    [18] HOMESCU A, NEISIUS S, LARSEN P, et al. Profile-guided automated software diversity[C]//Proceedings of the 2013 IEEE/ACM International Symposium on Code Generation and Optimization (CGO). Piscataway: IEEE Press, 2013: 1-11.

    [19] ROEMER R, BUCHANAN E, SHACHAM H, et al. Return-oriented programming[J]. ACM Transactions on Information and System Security, 2012, 15(1): 1-34.

    [20] BLETSCH T, JIANG X X, FREEH V, et al. Jump-oriented programming: a new class of code-reuse attack[C]//Proceedings of ASIACCS '11. 2011.

    [20] BLETSCH T, JIANG X X, FREEH V W, et al. Jump-oriented programming: a new class of code-reuse attack[C]//Proceedings of the 6th ACM Symposium on Information, Computer and Communications Security - ASIACCS '11. 2011: 30-40.

    [21] COHEN F B. Operating system protection through program evolution[J]. Computers & Security, 1993, 12(6): 565-584.

    [22] CRANE S, LIEBCHEN C, HOMESCU A, et al. Readactor: practical code randomization resilient to memory disclosure[C]// Proceedings of 2015 IEEE Symposium on Security and Privacy. Piscataway: IEEE Press, 2015: 763-780.

    [23] JUNOD P, RINALDINI J, WEHRLI J, et al. Obfuscator-LLVM: software protection for the masses[C]//Proceedings of 2015 IEEE/ACM 1st International Workshop on Software Protection. 2015: 3-9.

    [24] L′ASZL′O T, KISS ′A. Obfuscating C++ programs via control flow flattening[C]//Processing of Annales Universitatis Scientarum 25 Budapestinensis de Rolando E¨otv¨os Nominatae, Sectio. 2009.

    [25] COLLBERG C, THOMBORSON C, LOW D. Manufacturing cheap, resilient, and stealthy opaque constructs[C]//Proceedings of the 25th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages - POPL '98.1998: 184-196.

    [26] AHMED S, XIAO Y, SNOW K Z, et al. Methodologies for quantifying (re-) randomization security and timing under JIT-ROP[C]// Proceedings of the 2020 ACM SIGSAC Conference on Computer and Communications Security. 2020: 1803-1820.

    Software diversity evaluation method based on the properties of ROP/JOP gadgets

    CHI Yuning, GUO Yunfei, WANG Yawen, HU Hongchao

    Information Engineering University, Zhengzhou 450001, China

    In order to reduce the risk of rapid spread of homogeneous attacks in network systems, and enhance network and software security, software diversification technologies are applied widely nowadays. Software diversification aims to generate functionally equivalent but internally changed program variants, thereby alter a single operating environment and mitigating homogenization attacks. The existing diversified technical evaluation index ROP gadgets survival rate is difficult to directly reflect the safety impact and the evaluation method is single. In order to evaluate the effectiveness of the diversification method more comprehensively and effectively, a software diversification evaluation method based on the properties of ROP/JOP gadgets is proposed, by analyzing common code reuse attacks, and turns abstract quantification into concrete indicators evaluates the security gain and effect of diversified methods from three aspects of space, time and quality. The method first discusses how diversification techniques affect ROP/JOP attacks according to the three properties of gadgets similarity, damage degree and availability. Nine kinds of diversification methods, such as instruction replacement, NOP insertion, and control flow flattening, are used to diversify the GNU coreutils assembly to generate diversification assembly. Experiments based on the property of gadgets are carried out on the diverse assemblies, and the effectiveness of different diversification methods and the impact on attacks are evaluated according to the experimental results. The experimental results show that this method can accurately evaluate the security gain of software diversification methods, the diversification technology will lead to the increase of the attack chain space required by the ROP/JOP attack, the longer time to construct the attack chain and the lower the attack success rate. The effects of different diversification methods are different, it has a guiding role for the follow-up research on diversified technologies with higher safety gains.

    software diversification, ROP/JOP attack, gadgets properties, safety gain evaluation

    TP393

    A

    10.11959/j.issn.2096?109x.2022086

    2021?09?28;

    2021?12?28

    遲宇寧,cyn_091981@163.com

    國家重點研發(fā)計劃(2021YFB1006200,2021YFB1006201);國家自然科學基金(62072467)

    The National Key R&D Program of China (2021YFB1006200, 2021YFB1006201), The National Natural Science Foundation of China (62072467)

    遲宇寧, 郭云飛, 王亞文, 等. 基于ROP/JOP gadgets性質(zhì)的軟件多樣化評估方法[J]. 網(wǎng)絡與信息安全學報, 2022, 8(6): 135-145.

    CHI Y N, GUO Y F, WANG Y W, et al. Software diversity evaluation method based on the properties of ROP/JOP gadgets[J]. Chinese Journal of Network and Information Security, 2022, 8(6): 135-145.

    遲宇寧(1995?),女,云南楚雄人,信息工程大學碩士生,主要研究方向為網(wǎng)絡主動防御、軟件多樣化。

    郭云飛(1963?),男,河南鄭州人,信息工程大學教授、博士生導師,主要研究方向為網(wǎng)絡空間安全、云安全和電信網(wǎng)安全。

    王亞文(1990?),男,河南鄭州人,信息工程大學助理研究員,主要研究方向為擬態(tài)防御和云計算。

    扈紅超(1982?),男,河南商丘人,信息工程大學教授、博士生導師,主要研究方向為網(wǎng)絡空間安全和主動防御技術。

    猜你喜歡
    控制流寄存器指令
    聽我指令:大催眠術
    抵御控制流分析的Python 程序混淆算法
    工控系統(tǒng)中PLC安全漏洞及控制流完整性研究
    電子科技(2021年2期)2021-01-08 02:25:58
    抵御控制流分析的程序混淆算法
    Lite寄存器模型的設計與實現(xiàn)
    計算機應用(2020年5期)2020-06-07 07:06:44
    ARINC661顯控指令快速驗證方法
    測控技術(2018年5期)2018-12-09 09:04:26
    LED照明產(chǎn)品歐盟ErP指令要求解讀
    電子測試(2018年18期)2018-11-14 02:30:34
    分簇結(jié)構(gòu)向量寄存器分配策略研究*
    基于控制流隱藏的代碼迷惑
    坐標系旋轉(zhuǎn)指令數(shù)控編程應用
    機電信息(2014年27期)2014-02-27 15:53:56
    免费黄频网站在线观看国产| 少妇人妻久久综合中文| 激情五月婷婷亚洲| 日本欧美国产在线视频| 亚洲图色成人| 九草在线视频观看| 免费观看a级毛片全部| 亚洲av福利一区| 卡戴珊不雅视频在线播放| 秋霞在线观看毛片| 少妇被粗大的猛进出69影院| 又大又爽又粗| 中国国产av一级| 丝袜脚勾引网站| 少妇精品久久久久久久| 丝袜美腿诱惑在线| 日韩中文字幕视频在线看片| 免费在线观看视频国产中文字幕亚洲 | 国产精品久久久久久人妻精品电影 | 一边摸一边做爽爽视频免费| 久久亚洲国产成人精品v| 国产成人精品无人区| e午夜精品久久久久久久| 国产免费视频播放在线视频| 欧美日韩亚洲高清精品| 伦理电影大哥的女人| 黄片无遮挡物在线观看| 久久久久精品国产欧美久久久 | 色综合欧美亚洲国产小说| 国语对白做爰xxxⅹ性视频网站| 成年av动漫网址| 亚洲在久久综合| 欧美亚洲 丝袜 人妻 在线| 夫妻午夜视频| 欧美成人午夜精品| 尾随美女入室| 免费观看a级毛片全部| 综合色丁香网| 国产欧美日韩一区二区三区在线| av有码第一页| 亚洲一级一片aⅴ在线观看| 一级毛片我不卡| 国产在线一区二区三区精| 国产免费现黄频在线看| 桃花免费在线播放| 成年人午夜在线观看视频| 国产精品久久久av美女十八| 男的添女的下面高潮视频| 各种免费的搞黄视频| av国产久精品久网站免费入址| 99久久人妻综合| 亚洲成色77777| 视频区图区小说| 国产99久久九九免费精品| 999精品在线视频| 高清视频免费观看一区二区| 又大又黄又爽视频免费| 一二三四中文在线观看免费高清| 伊人久久国产一区二区| 最近最新中文字幕大全免费视频 | 在线 av 中文字幕| 日韩视频在线欧美| 日韩av不卡免费在线播放| 大码成人一级视频| 欧美日韩av久久| 男人添女人高潮全过程视频| 午夜日本视频在线| 国产精品女同一区二区软件| 伊人久久大香线蕉亚洲五| 90打野战视频偷拍视频| 一级片'在线观看视频| 亚洲国产欧美网| 久久人人97超碰香蕉20202| 国产一区二区激情短视频 | 国产精品无大码| 天美传媒精品一区二区| 女人被躁到高潮嗷嗷叫费观| 在线天堂中文资源库| 日本午夜av视频| 啦啦啦中文免费视频观看日本| 如何舔出高潮| 在线天堂最新版资源| e午夜精品久久久久久久| 又黄又粗又硬又大视频| 久热这里只有精品99| 欧美精品一区二区大全| 亚洲情色 制服丝袜| 老汉色∧v一级毛片| 精品人妻熟女毛片av久久网站| 欧美日韩福利视频一区二区| 在现免费观看毛片| 午夜免费男女啪啪视频观看| 日本色播在线视频| 人妻人人澡人人爽人人| 国产成人午夜福利电影在线观看| 国产精品 国内视频| 中文字幕最新亚洲高清| 午夜精品国产一区二区电影| 亚洲欧美一区二区三区黑人| www.精华液| 亚洲五月色婷婷综合| 宅男免费午夜| 亚洲色图 男人天堂 中文字幕| 校园人妻丝袜中文字幕| 免费黄频网站在线观看国产| 免费高清在线观看视频在线观看| 精品卡一卡二卡四卡免费| 91成人精品电影| 成年美女黄网站色视频大全免费| 成人漫画全彩无遮挡| 久久久久久免费高清国产稀缺| 在线天堂中文资源库| 亚洲国产av影院在线观看| 国产精品久久久久成人av| 欧美黑人精品巨大| 看非洲黑人一级黄片| 丁香六月欧美| 青春草视频在线免费观看| 国产精品国产三级专区第一集| 校园人妻丝袜中文字幕| 搡老岳熟女国产| 国产福利在线免费观看视频| 国产成人av激情在线播放| 国产精品久久久久久久久免| 免费观看人在逋| www.精华液| 国产亚洲一区二区精品| 欧美激情高清一区二区三区 | kizo精华| 亚洲色图 男人天堂 中文字幕| 中文字幕高清在线视频| 两个人免费观看高清视频| 久久99精品国语久久久| 亚洲成人手机| 国产xxxxx性猛交| 又大又爽又粗| 亚洲婷婷狠狠爱综合网| 天天影视国产精品| 久久精品亚洲av国产电影网| 一区二区三区乱码不卡18| 国产色婷婷99| 国产 一区精品| 亚洲成人手机| 精品一品国产午夜福利视频| 国产国语露脸激情在线看| 校园人妻丝袜中文字幕| 国产日韩欧美视频二区| 日韩一区二区三区影片| 国产极品粉嫩免费观看在线| 伦理电影免费视频| 亚洲欧美激情在线| 另类亚洲欧美激情| 纵有疾风起免费观看全集完整版| 婷婷色综合大香蕉| 黄色怎么调成土黄色| 日韩中文字幕欧美一区二区 | 亚洲国产成人一精品久久久| 赤兔流量卡办理| 久久久亚洲精品成人影院| 国产高清国产精品国产三级| 亚洲精品日本国产第一区| 少妇精品久久久久久久| 肉色欧美久久久久久久蜜桃| 最黄视频免费看| 青青草视频在线视频观看| 国产精品嫩草影院av在线观看| av线在线观看网站| 成年动漫av网址| 久久精品人人爽人人爽视色| 久久99精品国语久久久| 国产片内射在线| 久久精品国产综合久久久| 国产精品久久久久久精品古装| 国产一区有黄有色的免费视频| 99国产综合亚洲精品| 如日韩欧美国产精品一区二区三区| 又粗又硬又长又爽又黄的视频| 国精品久久久久久国模美| 国产成人欧美| 一本一本久久a久久精品综合妖精| 成年人免费黄色播放视频| 亚洲国产最新在线播放| 国产精品嫩草影院av在线观看| 男人舔女人的私密视频| 亚洲在久久综合| 午夜av观看不卡| 黑人猛操日本美女一级片| 五月天丁香电影| 久久久国产欧美日韩av| 国产成人精品在线电影| 久久久久精品久久久久真实原创| 精品一区二区三区av网在线观看 | 欧美国产精品va在线观看不卡| 少妇被粗大的猛进出69影院| 人人妻人人澡人人看| 免费日韩欧美在线观看| 久久久国产精品麻豆| 美女扒开内裤让男人捅视频| 人人妻,人人澡人人爽秒播 | 一本色道久久久久久精品综合| 久久久久久免费高清国产稀缺| 免费高清在线观看日韩| 国产成人av激情在线播放| 日本91视频免费播放| 91国产中文字幕| 国语对白做爰xxxⅹ性视频网站| 18禁国产床啪视频网站| 大片电影免费在线观看免费| 丝袜在线中文字幕| 老鸭窝网址在线观看| 在线观看免费高清a一片| 精品视频人人做人人爽| 操出白浆在线播放| 水蜜桃什么品种好| 黄频高清免费视频| 卡戴珊不雅视频在线播放| 一区二区日韩欧美中文字幕| 免费不卡黄色视频| 如何舔出高潮| 久久99精品国语久久久| 欧美日韩精品网址| 国产熟女欧美一区二区| 亚洲欧洲精品一区二区精品久久久 | 一本一本久久a久久精品综合妖精| 亚洲精品日韩在线中文字幕| 叶爱在线成人免费视频播放| 无限看片的www在线观看| 久久狼人影院| 亚洲精品,欧美精品| 18禁裸乳无遮挡动漫免费视频| 一本大道久久a久久精品| 少妇精品久久久久久久| 久热这里只有精品99| 成人黄色视频免费在线看| 青青草视频在线视频观看| 欧美 日韩 精品 国产| 国产欧美亚洲国产| 叶爱在线成人免费视频播放| 狠狠精品人妻久久久久久综合| 精品亚洲乱码少妇综合久久| 香蕉丝袜av| 在线观看免费午夜福利视频| 咕卡用的链子| 亚洲精品成人av观看孕妇| 在线天堂中文资源库| 色吧在线观看| 午夜激情av网站| 人妻一区二区av| 中文字幕人妻熟女乱码| 中文字幕高清在线视频| 久久国产精品男人的天堂亚洲| 高清黄色对白视频在线免费看| √禁漫天堂资源中文www| 免费看av在线观看网站| 蜜桃在线观看..| 欧美亚洲 丝袜 人妻 在线| 色综合欧美亚洲国产小说| 亚洲国产精品成人久久小说| 两个人免费观看高清视频| 免费高清在线观看视频在线观看| 久久久久久久久免费视频了| 超碰97精品在线观看| 日本黄色日本黄色录像| 日本一区二区免费在线视频| 啦啦啦视频在线资源免费观看| 久久久久久久国产电影| 99精国产麻豆久久婷婷| 久久久久国产一级毛片高清牌| 黄色视频在线播放观看不卡| 91成人精品电影| 满18在线观看网站| 一区在线观看完整版| 久久天堂一区二区三区四区| 亚洲欧美精品自产自拍| 叶爱在线成人免费视频播放| 欧美黑人欧美精品刺激| 在线免费观看不下载黄p国产| 国产一卡二卡三卡精品 | 中文天堂在线官网| 久久热在线av| 久久久久久人妻| 99精国产麻豆久久婷婷| 啦啦啦在线观看免费高清www| 97人妻天天添夜夜摸| 亚洲成av片中文字幕在线观看| 国产国语露脸激情在线看| 一本久久精品| 在线观看免费视频网站a站| 成人手机av| 精品卡一卡二卡四卡免费| 久久狼人影院| 国产精品成人在线| 人妻人人澡人人爽人人| 欧美在线黄色| 黄色一级大片看看| 黄色怎么调成土黄色| 久久天堂一区二区三区四区| 伦理电影免费视频| 国产精品久久久人人做人人爽| 精品久久蜜臀av无| 天天影视国产精品| 自拍欧美九色日韩亚洲蝌蚪91| 精品亚洲乱码少妇综合久久| 免费在线观看黄色视频的| 秋霞在线观看毛片| 丝袜人妻中文字幕| 在线免费观看不下载黄p国产| 高清黄色对白视频在线免费看| 一区二区三区乱码不卡18| av有码第一页| 国产成人a∨麻豆精品| 精品少妇黑人巨大在线播放| 久久综合国产亚洲精品| 欧美黑人欧美精品刺激| 色视频在线一区二区三区| 午夜免费男女啪啪视频观看| 久久ye,这里只有精品| 男人添女人高潮全过程视频| 一边亲一边摸免费视频| 日韩一区二区视频免费看| 国产精品人妻久久久影院| 老熟女久久久| 亚洲伊人久久精品综合| 男女午夜视频在线观看| 一本—道久久a久久精品蜜桃钙片| 国产深夜福利视频在线观看| 极品人妻少妇av视频| 18禁观看日本| 一区在线观看完整版| 热re99久久精品国产66热6| 最新的欧美精品一区二区| 美女国产高潮福利片在线看| 欧美精品人与动牲交sv欧美| 最近2019中文字幕mv第一页| 香蕉丝袜av| 人人妻人人添人人爽欧美一区卜| 国产激情久久老熟女| 国产精品久久久久成人av| 成人午夜精彩视频在线观看| 国产精品一国产av| 一区二区三区乱码不卡18| 伊人久久国产一区二区| 久久精品亚洲av国产电影网| 国产成人a∨麻豆精品| 国产深夜福利视频在线观看| 男的添女的下面高潮视频| 久久97久久精品| 国产精品香港三级国产av潘金莲 | 在线观看免费午夜福利视频| 久久久久精品性色| 看免费成人av毛片| 美女扒开内裤让男人捅视频| 三上悠亚av全集在线观看| 最近最新中文字幕大全免费视频 | 婷婷色综合www| 午夜免费男女啪啪视频观看| 亚洲国产av新网站| 欧美成人午夜精品| 亚洲欧美精品自产自拍| 一级毛片我不卡| 亚洲成人av在线免费| 黄色怎么调成土黄色| 亚洲在久久综合| 黄色怎么调成土黄色| 十八禁网站网址无遮挡| 在线观看免费高清a一片| 成人免费观看视频高清| av国产久精品久网站免费入址| 免费高清在线观看日韩| 高清欧美精品videossex| 精品国产一区二区三区久久久樱花| 午夜日韩欧美国产| 中文字幕人妻丝袜制服| 在现免费观看毛片| 男女边摸边吃奶| 亚洲欧美一区二区三区国产| 一区二区三区精品91| 国产精品国产三级国产专区5o| 一区二区三区精品91| 精品国产超薄肉色丝袜足j| 国产精品无大码| 丝袜在线中文字幕| 亚洲国产av新网站| 国产精品久久久av美女十八| 亚洲国产中文字幕在线视频| 欧美老熟妇乱子伦牲交| 一区二区三区四区激情视频| 国产免费现黄频在线看| 婷婷色综合www| 亚洲欧美精品自产自拍| 亚洲欧美精品综合一区二区三区| 国产黄色免费在线视频| 国产精品久久久久久精品古装| 哪个播放器可以免费观看大片| 18禁动态无遮挡网站| 99精品久久久久人妻精品| 18禁观看日本| 最新在线观看一区二区三区 | 国产精品二区激情视频| 久久国产亚洲av麻豆专区| 亚洲av电影在线进入| 精品国产国语对白av| 国产精品av久久久久免费| 老司机深夜福利视频在线观看 | 最近中文字幕2019免费版| 一本大道久久a久久精品| 亚洲av日韩在线播放| 午夜激情av网站| 亚洲人成电影观看| 久久久久久久国产电影| 一本色道久久久久久精品综合| 日韩视频在线欧美| 亚洲欧洲精品一区二区精品久久久 | 男女下面插进去视频免费观看| 水蜜桃什么品种好| 国产精品一国产av| 国产在线一区二区三区精| 亚洲精品乱久久久久久| 80岁老熟妇乱子伦牲交| 黄色怎么调成土黄色| 女性生殖器流出的白浆| 欧美 亚洲 国产 日韩一| 在线看a的网站| 久热爱精品视频在线9| 黄片无遮挡物在线观看| 亚洲av成人不卡在线观看播放网 | 视频区图区小说| 91成人精品电影| 熟女少妇亚洲综合色aaa.| 另类亚洲欧美激情| 啦啦啦在线免费观看视频4| 日韩熟女老妇一区二区性免费视频| 9191精品国产免费久久| 国产免费福利视频在线观看| 久久精品国产综合久久久| 男人添女人高潮全过程视频| 精品国产一区二区三区四区第35| 日本av免费视频播放| 国产片特级美女逼逼视频| 最近中文字幕2019免费版| 18禁裸乳无遮挡动漫免费视频| 如何舔出高潮| 亚洲精品自拍成人| 久久精品亚洲熟妇少妇任你| 国产成人精品在线电影| 久久久久久久精品精品| 交换朋友夫妻互换小说| 欧美人与性动交α欧美软件| 日韩av不卡免费在线播放| 另类精品久久| 日韩一卡2卡3卡4卡2021年| 久久国产精品男人的天堂亚洲| 丰满乱子伦码专区| 国产成人精品福利久久| 一本大道久久a久久精品| 欧美精品人与动牲交sv欧美| 美女视频免费永久观看网站| 国产97色在线日韩免费| 国产又色又爽无遮挡免| 国精品久久久久久国模美| 叶爱在线成人免费视频播放| 最近的中文字幕免费完整| 一区在线观看完整版| 女人高潮潮喷娇喘18禁视频| 免费av中文字幕在线| 久久久久精品人妻al黑| 无限看片的www在线观看| 日韩一本色道免费dvd| 国产一级毛片在线| av片东京热男人的天堂| 亚洲人成网站在线观看播放| 校园人妻丝袜中文字幕| 大陆偷拍与自拍| 老司机在亚洲福利影院| 99香蕉大伊视频| tube8黄色片| 久久ye,这里只有精品| 精品酒店卫生间| 国产精品熟女久久久久浪| 母亲3免费完整高清在线观看| 亚洲精品国产区一区二| av片东京热男人的天堂| 久久久欧美国产精品| 国精品久久久久久国模美| 男女之事视频高清在线观看 | 精品久久久精品久久久| 中文字幕另类日韩欧美亚洲嫩草| 精品久久蜜臀av无| 极品少妇高潮喷水抽搐| 国产欧美日韩综合在线一区二区| 久久久精品区二区三区| 免费高清在线观看视频在线观看| 久久久久国产精品人妻一区二区| 母亲3免费完整高清在线观看| 美女国产高潮福利片在线看| 亚洲国产精品一区二区三区在线| 久久影院123| 婷婷色综合www| 久久久国产精品麻豆| 久久精品久久精品一区二区三区| 少妇被粗大的猛进出69影院| 国产男人的电影天堂91| 美女午夜性视频免费| 亚洲精品国产一区二区精华液| 精品少妇黑人巨大在线播放| 亚洲四区av| 两性夫妻黄色片| 免费黄频网站在线观看国产| 久久热在线av| 中文字幕人妻丝袜制服| 在线观看www视频免费| 国产成人91sexporn| 两个人免费观看高清视频| 久久精品久久精品一区二区三区| 51午夜福利影视在线观看| 青春草国产在线视频| 国产一区二区在线观看av| 午夜福利一区二区在线看| 在线观看免费高清a一片| av网站免费在线观看视频| 悠悠久久av| 少妇的丰满在线观看| 欧美人与善性xxx| 一级毛片我不卡| av在线观看视频网站免费| videos熟女内射| 成人漫画全彩无遮挡| 亚洲成人av在线免费| 麻豆乱淫一区二区| 成人国产av品久久久| 国产在线视频一区二区| av国产久精品久网站免费入址| 午夜日本视频在线| 精品人妻一区二区三区麻豆| 成人漫画全彩无遮挡| 一级毛片黄色毛片免费观看视频| 性色av一级| 中文字幕色久视频| 不卡视频在线观看欧美| 一边摸一边抽搐一进一出视频| 中文字幕人妻熟女乱码| 秋霞伦理黄片| 色播在线永久视频| 超色免费av| 女人高潮潮喷娇喘18禁视频| 久久热在线av| 51午夜福利影视在线观看| 美女视频免费永久观看网站| 亚洲综合色网址| 在线天堂中文资源库| 黄色视频在线播放观看不卡| 亚洲国产av新网站| 黄片小视频在线播放| 国产精品久久久久成人av| 免费观看a级毛片全部| 少妇精品久久久久久久| 久久综合国产亚洲精品| 大话2 男鬼变身卡| 久久久久久久国产电影| 激情五月婷婷亚洲| 国产av码专区亚洲av| 久久精品久久久久久久性| 精品午夜福利在线看| 19禁男女啪啪无遮挡网站| 午夜激情av网站| 极品人妻少妇av视频| 免费在线观看完整版高清| 日本欧美国产在线视频| 99热国产这里只有精品6| 亚洲人成网站在线观看播放| 一本久久精品| 香蕉国产在线看| 亚洲欧美色中文字幕在线| 最近中文字幕高清免费大全6| 中文天堂在线官网| 精品亚洲乱码少妇综合久久| 久久人人爽av亚洲精品天堂| 国产成人精品久久二区二区91 | 男女边摸边吃奶| 成人毛片60女人毛片免费| 热re99久久精品国产66热6| 午夜激情久久久久久久| 人人妻人人澡人人爽人人夜夜| 亚洲精品第二区| 亚洲精品乱久久久久久| 欧美激情极品国产一区二区三区| 少妇人妻精品综合一区二区| 七月丁香在线播放| 日韩,欧美,国产一区二区三区| 九色亚洲精品在线播放| 国产97色在线日韩免费| 欧美日本中文国产一区发布| 一二三四在线观看免费中文在| 精品一区二区免费观看| 91精品三级在线观看| 777久久人妻少妇嫩草av网站| 99久久精品国产亚洲精品| 精品少妇黑人巨大在线播放| 国产精品99久久99久久久不卡 | 久久天堂一区二区三区四区| 国产精品久久久久成人av| 国产极品粉嫩免费观看在线| 欧美老熟妇乱子伦牲交| 国产老妇伦熟女老妇高清| 精品久久久久久电影网| 在线精品无人区一区二区三| 777久久人妻少妇嫩草av网站| 桃花免费在线播放| 国产欧美亚洲国产| 亚洲欧美激情在线| 一级片'在线观看视频| 黑丝袜美女国产一区| 亚洲精品在线美女| 多毛熟女@视频| 免费观看av网站的网址|