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

    基于符號執(zhí)行的堆溢出fastbin攻擊檢測方法

    2020-10-15 08:32:22潘祖烈
    計算機工程 2020年10期
    關鍵詞:分配程序特征

    張 超,潘祖烈,樊 靖

    (1.國防科技大學 電子對抗學院,合肥 230037; 2.北海艦隊,山東 青島 266000)

    0 概述

    隨著信息技術的發(fā)展,軟件漏洞的挖掘與利用成為領域研究熱點,而傳統(tǒng)的軟件漏洞主要以手工方式構造,但是手工構造過程需要大量的底層知識和分析經(jīng)驗。隨著軟件數(shù)量的增加及其功能的日益完善,軟件漏洞呈現(xiàn)更加多樣且復雜的趨勢[1-2]。盡管目前不少二進制漏洞的自動化調試與檢測方法已經(jīng)能有效地發(fā)現(xiàn)程序錯誤,但其中只要有一部分程序錯誤可以被利用,就將導致嚴重后果[3]。因此,如何快速、準確地對漏洞的危險性進行評估,是當前漏洞自動分析與檢測領域的關鍵問題之一[4-5]。

    堆溢出漏洞是一種常見的緩沖區(qū)溢出漏洞[6]。通過對堆溢出漏洞的利用,可能導致程序控制流劫持以及執(zhí)行任意代碼的后果。其中,fastbin攻擊是一種Linux環(huán)境下面向堆溢出漏洞的攻擊方法[7]。

    典型的fastbin攻擊通過堆塊的快速分配和釋放等操作,修改相鄰堆塊的堆塊頭,造成相鄰堆塊的堆塊頭數(shù)據(jù)被覆蓋,從而達到任意地址分配以及任意地址寫的目的。為保護fastbin鏈表不被攻擊,Linux系統(tǒng)設置了如size位檢測等保護機制,避免程序流被劫持[8]。

    本文通過分析已有的fastbin實例,總結fastbin攻擊特征,構建fastbin攻擊檢測模型,并在該模型的基礎上提出針對fastbin攻擊的自動檢測方法,通過污點分析[9-10]和符號執(zhí)行[11-12]實現(xiàn)fastbin攻擊的自動檢測。

    1 軟件漏洞自動利用技術發(fā)展現(xiàn)狀

    針對控制流劫持類漏洞的攻擊檢測及測試例生成,已有大量相關研究和成果。文獻[13]提出基于二進制補丁比較的漏洞利用自動生成方法APEG。APEG通過比較程序的bug版本和補丁版本程序的不同,生成能在補丁版本中增加校驗失敗的利用。實驗結果表明,該方法具有較強的可靠性和實用性。但該方法也有局限性,即存在無法處理補丁程序中不添加過濾判斷的情況,以及構造的類型主要屬于拒絕服務,只能造成源程序的崩潰,而無法直接造成控制流劫持。

    為克服APEG對于補丁的依賴以及無法構造控制流劫持的缺陷,文獻[14]提出漏洞自動挖掘與測試例生成方法AEG。AEG集成了優(yōu)化后的符號執(zhí)行和動態(tài)指令插樁技術,實現(xiàn)了從軟件漏洞自動挖掘到軟件漏洞自動利用的整個過程,并且生成的利用樣本直接具備控制流劫持能力,是第1個真正意義上的面向控制流的漏洞利用自動化構建方案。該方案的局限性主要體現(xiàn)在:需要依賴源代碼進行程序錯誤搜索;所構造的樣本主要是面向棧溢出或者字符串格式化漏洞,并且利用樣本受限于編譯器和動態(tài)運行環(huán)境等因素。

    在AEG方法的基礎上,文獻[15]提出了基于符號執(zhí)行的CRAX方法,其主要構建在S2E[16-18]、KLEE[19]、QEMU[20]環(huán)境上。CRAX可以作為fuzzer的后端,借助前端生成的crash和二進制程序自動生成利用代碼。CRAX使用符號執(zhí)行技術,通過對程序動態(tài)運行過程的監(jiān)視,檢測EIP劫持狀態(tài)。當發(fā)現(xiàn)EIP存在劫持的可能時,在符號化可控區(qū)域中布置shellcode并覆蓋EIP的值為shellcode地址,生成可利用代碼。其局限性在于檢測過程未考慮系統(tǒng)保護機制與動態(tài)運行環(huán)境對漏洞攻擊的影響。

    2 面向堆溢出漏洞的fastbin攻擊原理

    對于堆內(nèi)存管理而言,堆塊(chunk)就是最小的操作單位。而Glibc針對分配的堆塊大小的不同,將堆塊分為3類:大小16 Byte到80 Byte的是fast chunk;堆塊大小512 Byte以下的是small chunk;堆塊大小大于512 Byte的是large chunk。

    堆塊在被釋放后,會放入被稱為bin的數(shù)據(jù)結構中,以鏈表的形式存儲。Glibc定義了4種鏈表,分別為fastbin、smallbin、largebin和unsortedbin。Glibc維護了136個bins鏈表,其中,fastbins 10條,smallbins 62條,largebins 63條,unsortedbins 1條。

    而fastbin所包含chunk的大小為:16 Bytes,24 Byte,32 Bytes,…,80 Byte,以單向鏈表的形式存儲,每條fastbin鏈中存儲的堆塊大小都與本鏈大小相同。而其他3種鏈表以雙向鏈表的形式存儲。fastbin鏈表結構如圖1所示。

    圖1 fastbin鏈表結構Fig.1 Structure of fastbin chain list

    堆塊的狀態(tài)分為已分配堆塊(allocated chunk)和已釋放堆塊(free chunk)2種狀態(tài),而系統(tǒng)通過堆頭的標志位來區(qū)分堆塊的不同的狀態(tài)。

    圖2為fastbin chunk的頭部結構。當堆塊出入釋放狀態(tài)時,第1 Byte~第4 Byte是prev_size,表示前一個堆塊的大小。第5 Byte~第8 Byte是size,表示當前堆塊的大小。由于每個堆塊的大小一定大于等于8 Byte,因此最后3 bit的內(nèi)存空間沒有實際意義,glibc將這3 bit的空間用來做標志位,最后1 bit表示前一個堆塊的使用狀態(tài)。當前一個堆塊是釋放(free)狀態(tài)時,F標志位為0;若為已分配(allocated)狀態(tài),F標志位為1。第9 Byte~第12 Byte為fd,指向鏈表中的前一個堆塊。因為是單鏈結構,所以fastbin堆塊沒有bk指針。

    圖2 fastbin堆塊頭部結構Fig.2 Head structure of fastbin heap block

    glibc為了實現(xiàn)堆塊的快速分配和釋放,專門設置了fastbin鏈表。fastbin鏈表是單鏈,通過fd指針連接起來。當釋放某一個堆塊時,會首先檢查其大小是否落在fastbin的范圍中。如果是,則直接將其插入到對應的fastbin鏈表中,而且fastbin鏈表采用先進先出(LIFO)原則,即后釋放的鏈表在下一次分配時會優(yōu)先分配。

    當連續(xù)分配兩塊大小相同的fastbin堆塊時,2個堆塊在實際內(nèi)存中是相鄰的。因此,當前一個堆塊存在溢出漏洞時,以通過溢出修改相鄰堆塊的fd指針為fake_fd,使其指向任意地址,然后在目標地址構造size位,就可以實現(xiàn)任意地址分配,從而實現(xiàn)任意地址寫的目的。如圖3所示,通過fastbin攻擊,實現(xiàn)任意地址分配與地址寫,再通過進一步構造,即可以劫持控制流。

    圖3 fastbin攻擊過程示意圖Fig.3 Schematic diagram of fastbin attack process

    針對傳統(tǒng)的fastbin利用方法,glibc目前主要的針對性保護機制是size位檢測。在glibc分配堆塊之前,首先會檢查待分配堆塊的size位是否與所在的fastbin鏈的大小相同,如果不同,則系統(tǒng)報異常,無法繼續(xù)分配。然后glibc會檢查待分配堆塊fd指針指向的下一個堆塊的size位是否與所在的fastbin鏈大小相同,如果不同,同樣系統(tǒng)會報錯,停止堆塊的分配。

    3 基于符號執(zhí)行的fastbin攻擊檢測方法

    3.1 整體思路

    由于已有的堆溢出漏洞攻擊檢測技術無法收集系統(tǒng)分配和釋放堆塊時的相關信息,因此已有的攻擊檢測技術無法識別面向堆溢出的漏洞的控制流劫持攻擊。針對這一問題,本文基于堆溢出中的fastbin攻擊方法,提出了基于符號執(zhí)行的fastbin攻擊檢測方法。

    在fastbin攻擊檢測中的總體過程分為種子輸入、堆塊信息收集、堆溢出錯誤檢測、fastbin攻擊檢測等。初步方案為將模糊測試產(chǎn)生的crash作為種子輸入,經(jīng)符號執(zhí)行引擎?zhèn)鬟f至被測程序,使被測程序沿確定路徑運行至堆溢出錯誤代碼區(qū)域。在堆溢出錯誤檢測過程中,通過API函數(shù)掛鉤進行符號變元引入,將外部輸入標記為符號值,通過符號執(zhí)行技術將程序中的變量表示為符號和常量的表達式,進而對目標程序進行檢測,收集程序運行過程中堆塊分配與釋放的相關信息。同時,通過匹配fastbin攻擊檢測模型,構造相應的數(shù)據(jù)約束。在被測程序的動態(tài)運行過程中,根據(jù)數(shù)據(jù)約束將滿足條件的符號化內(nèi)存區(qū)域具體化,消除保護機制對檢測過程的影響,生成fastbin攻擊檢測測試用例。本文以C/C++程序為分析對象,選取若干Linux環(huán)境下的測試集開展測試驗證。

    3.2 面向堆溢出的fastbin攻擊檢測模型

    本文對面向堆溢出的fastbin攻擊原理進行分析,提出通過堆溢出導致fastbin攻擊控制流劫持的過程需要滿足4個特征:堆塊溢出特征,溢出堆塊可控特征,fastbin操作觸發(fā)特征,指針數(shù)據(jù)可控特征。

    根據(jù)面向堆溢出的fastbin攻擊特征,本文對程序的特征定義如下:

    1)堆塊溢出特征(ChunkOverflow):表示程序是否存在堆溢出錯誤的特征。

    2)溢出堆塊可控特征(ChunkControl):表示堆塊溢出的數(shù)據(jù)可以受外部輸入數(shù)據(jù)控制的特征。

    3)fastbin操作觸發(fā)特征(IsFastbin):表示程序發(fā)生的堆溢出錯誤是否滿足fastbin攻擊方法的特征。

    4)指針數(shù)據(jù)可控特征(PtrControl):表示指針數(shù)據(jù)受外部輸入數(shù)據(jù)控制的特征。

    5)堆溢出漏洞的fastbin攻擊方法觸發(fā)特征(FastbinHijack):表示程序可以通過fastbin攻擊方法導致控制流劫持。

    當程序同時存在堆塊溢出特征、溢出堆塊可控特征、fastbin操作觸發(fā)特征、指針數(shù)據(jù)可控特征這4種特征,就可以判斷程序中存在堆溢出錯誤,且可以同過錯誤觸發(fā)fastbin攻擊。因此,上述的程序特征間的關系可以用下式表達:

    FastbinHijack=ChunkOverflow∧ChunkControl∧

    IsFastbin∧PtrControl

    本文對程序運行過程中堆塊狀態(tài)定義如下:

    定義三元組header=(pre_size,size,fd),描述堆塊分配過程中頭部header值的變化。

    前堆大小pre_size:分配過程中該值為0。

    本堆大小size:描述分配過程中堆塊的大小,同時size的最后一位表示前一堆塊分配狀態(tài),在free狀態(tài)時F=0,在allocated狀態(tài)時F=1。

    鏈表指針fd:指向了fastbin鏈表中的下一個堆塊。

    定義函數(shù)F(header,t_presize,t_size,t_fd):描述fastbin攻擊發(fā)生時,目標頭部header的狀態(tài)變化規(guī)則。其中,參數(shù)t_presize、t_size t_fd表示header變化后的目標值。t_presize和t_size值為堆塊原來的pre_size和size位相同大小,而t_fd則為目標地址的值,t_fd = target_addr。

    面向堆溢出的fastbin攻擊主要是通過堆溢出修改相鄰堆塊的fd指針,并保持相鄰堆塊頭的pre_size和size不變,因此需要具體化pre_size、size、fd,從而繞過glibc的保護機制。此過程中堆塊頭header的數(shù)據(jù)變化如下:

    F(header,t_presize,t_size,t_fd1)=

    為實現(xiàn)對面向堆溢出的fastbin攻擊檢測,構造測試用例,需要對fastbin攻擊劫持程序控制流的過程進行監(jiān)視。在堆塊操作過程中,glibc保護機制對堆塊的數(shù)據(jù)檢查會導致程序異常退出,造成檢測失敗。為消除保護機制對檢測過程的影響,本文根據(jù)fastbin攻擊的場景設計相應的數(shù)據(jù)具體化過程,建立了面向堆溢出漏洞的fastbin攻擊檢測模型,如圖4所示。

    圖4 堆溢出漏洞fastbin攻擊檢測模型Fig.4 Detection model of heap overflow vulnerability fastbin attack

    檢測模型通過程序函數(shù)掛鉤,獲取堆塊分配函數(shù)參數(shù),記錄新建堆塊的起始地址與分配長度。在程序動態(tài)運行過程中,監(jiān)視針對已建堆塊的寫入與釋放操作。當程序觸發(fā)堆塊寫入操作時,通過符號內(nèi)存搜索算法,比對內(nèi)存中符號區(qū)域與寫入對象堆塊區(qū)域的地址與長度,檢查寫入對象堆塊的堆溢出觸發(fā)特征與溢出堆塊可控性特征。若堆塊溢出且可控,則記錄寫入對象堆塊信息。當溢出堆塊觸發(fā)釋放操作時,檢查溢出堆塊及其相鄰堆塊是否滿足fastbin攻擊操作條件,判斷fastbin攻擊能否發(fā)生。

    3.3 面向堆溢出的fastbin攻擊檢測算法

    本文在fastbin攻擊檢測模型的基礎上,使用符號執(zhí)行和污點分析技術,設計并實現(xiàn)了堆溢出fastbin攻擊的檢測系統(tǒng)。該系統(tǒng)通過對虛擬機中運行程序的函數(shù)進行掛鉤,收集程序運行過程中堆塊分配和釋放的相關信息。同時通過fastbin攻擊檢測算法,將外部輸入數(shù)據(jù)符號化,然后根據(jù)符號值的傳播來確定外部數(shù)據(jù)在程序中的傳播路徑,并以此為基礎,構建可到達漏洞發(fā)生點的約束條件,生成測試用例。針對程序動態(tài)運行中的符號化內(nèi)存和堆塊狀態(tài)變化,有如下定義:

    二元組S=(s_addr,s_size):二元組S描述了符號化區(qū)域的特征,s_addr和s_size分別表示符號化區(qū)域的起始地址和大小。

    三元組H=(h_addr,h_size,h_state):三元組H描述了堆塊的特征,h_addr表示堆塊數(shù)據(jù)區(qū)的起始地址,h_size表示堆塊數(shù)據(jù)區(qū)域的大小,h_state表示堆塊狀態(tài)是處于分配狀態(tài)還是釋放狀態(tài)。

    Symb_map:表示所有符號化區(qū)域的集合。

    二元組Allo_map:表示所有處于分配狀態(tài)的堆塊的集合。

    chunkoverflow:存在堆溢出特征的堆塊的集合。

    chunkexploitable:可被外部數(shù)據(jù)控制的堆塊的集合。

    系統(tǒng)在運行過程中,執(zhí)行以下步驟:

    步驟1系統(tǒng)通過對函數(shù)進行掛鉤,記錄了程序運行過程中堆塊創(chuàng)建和釋放的相關信息,包括堆塊創(chuàng)建地址、堆塊大小等。當有符號化數(shù)據(jù)進入程序時,首先使用堆塊溢出檢測算法,通過判斷輸入程序的符號化數(shù)據(jù)是否超過堆塊邊界,判斷堆塊是否發(fā)生溢出。

    步驟2使用溢出堆塊可利用性檢測算法,檢測溢出堆塊是否可控。

    步驟3系統(tǒng)通過對堆塊的申請和釋放的監(jiān)控,通過fastbin攻擊檢測算法,檢測堆塊的申請和釋放狀態(tài)是否匹配fastbin攻擊檢測模型。

    步驟4如果堆塊的申請和釋放狀態(tài)符合fastbin攻擊檢測模型,可以通過fastbin攻擊方法實現(xiàn)任意地址寫。系統(tǒng)利用指針數(shù)據(jù)可控性檢測算法對指定的數(shù)據(jù)指針進行符號化檢查,若指針數(shù)據(jù)是符號值,則滿足指針數(shù)據(jù)可控性要求。

    同時要根據(jù)上述步驟建立相應的約束,然后與數(shù)據(jù)約束data_constraint進行舍取,建立測試用例約束條件FastbinHijack_constraint。

    檢測系統(tǒng)是執(zhí)行在宿主機中通過對虛擬機模擬執(zhí)行的程序進行函數(shù)掛鉤獲取相關的信息,來作為檢測算法運行的基礎。而虛擬機和宿主機的信息傳遞是通過寄存器實現(xiàn)的。比如對malloc函數(shù)的返回地址進行掛鉤,可以知道新創(chuàng)建堆塊的堆塊指針和堆塊大小以及malloc函數(shù)的返回地址,這些信息就是通過寄存器傳輸?shù)剿拗鳈C,其中堆塊指針存放在寄存器eax中,堆塊大小存放在寄存器ecx中,malloc的返回地址存放在edx中。通過寄存器傳輸?shù)姆绞?使算法可以實時獲取程序運行過程中各種信息的變化。

    3.3.1 堆溢出檢測算法

    程序存在不安全操作使輸入信息長度大于數(shù)據(jù)區(qū)域長度從而導致溢出,是fastbin攻擊發(fā)生的基本條件。本文利用掛鉤技術可以獲取程序堆塊分配的起始地址和數(shù)據(jù)區(qū)長度等信息,而且還能獲得外部輸入數(shù)據(jù)的長度。通過檢查寫操作導致目標區(qū)域狀態(tài)的變化,對比符號化區(qū)域長度和堆塊數(shù)據(jù)區(qū)長度,可以實現(xiàn)堆溢出檢測。若堆塊發(fā)生溢出,則將溢出堆塊加入溢出堆塊集合chunkoverflow中。

    堆溢出檢測算法如算法1所示。

    算法1堆溢出檢測算法

    輸入符號化區(qū)域集合Symb_map,分配狀態(tài)堆塊集合Allo_map

    輸出溢出堆塊集合chunkoverflow

    for(a=0;a

    for(b=0;b

    {

    if(s_addr>h_addr&&s_addr<

    (h_addr+h_size)&&(s_addr+ s_size)>(h_addr+h_size))

    {

    Allo_map->chunkoverflow

    break

    }

    end if

    }

    算法1準確地描述了堆塊發(fā)生溢出的基本特征,即堆塊數(shù)據(jù)超出了堆塊本身的長度,體現(xiàn)在算法中是存在符號區(qū)域的起始地址被包含在堆塊數(shù)據(jù)區(qū),但結束地址不被包含在當前堆塊的數(shù)據(jù)區(qū)。算法對堆塊溢出的特征定義準確。

    3.3.2 堆塊可利用性檢測算法

    由于fastbin攻擊要求通過控制堆塊的溢出數(shù)據(jù),修改相鄰堆塊的頭部,并構造假的fd指針,溢出堆塊chunk1通過溢出修改相鄰堆塊chunk2頭部后的構造如圖5所示。同時,程序通過溢出堆塊可利用性檢測算法,建立偽堆塊數(shù)據(jù)約束fakechunk_constraint。

    圖5 堆塊溢出后的狀態(tài)Fig.5 State after heap block overflow

    根據(jù)圖5的溢出堆塊結構,偽堆塊數(shù)據(jù)約束fakechunk_constraint由偽pre_size約束presize_constraint、偽size約束size_constraint、偽fd約束fd_constraint組成,關系式如下:

    fakechunk_constraint=presize_constraint∧

    size_constraint∧

    fd_constraint

    堆塊可利用性檢測算法如算法2所示。

    算法2堆塊可利用性檢測算法

    輸入堆塊集合Allo_map,堆溢出堆塊集合chunkoverflow,溢出后想實現(xiàn)任意地址寫的地址target_addr

    輸出可控溢出堆塊集合chunkexploitable

    偽堆塊數(shù)據(jù)約束fakechunk_constraint

    foreach(Heap∈chunkoverflow)

    foreach(byte∈Allo_map)

    fake_start = h_addr + h_size

    size=Hex2str(h_size+0x8+0x1)

    count = 0

    for(a=0;a<4;a++)

    {

    cover = EqExpr::create(fake_start + count,0x00)

    presize_constraint=AndExpr::create(

    presize_constraint,

    cover)

    count++

    }

    for(a=0;a<4;a++)

    {

    cover=EqExpr::create(fake_start + count,size[a])

    size_constraint=AndExpr::create

    (size_constraint,cover)

    count++

    }

    for(a=0;a<4;a++)

    {

    cover=EqExpr::create(fake_start + count,

    target_addr[a])

    fd_constraint=AndExpr::create(

    fd_constraint,cover)

    count++

    }

    fakechunk_constraint = presize_constraint∧

    size_constraint∧

    fd_constraint

    if(solve(fake_constraint) = true)

    Heap→chunkexploitable

    end if

    算法2并未直接檢測堆塊是否可利用,而是通過在符號區(qū)域構建約束,然后對約束進行求解,如果約束有解,說明偽堆塊可以構建成功,即說明堆塊可利用,反之堆塊不可利用。

    3.3.3 fastbin攻擊檢測算法

    程序觸發(fā)fastbin攻擊首先要滿足分配的堆塊大小不大于80 Byte,屬于快堆。然后在已釋堆塊中尋找是否有物理地址相鄰且與當前堆塊大小相同的堆塊,如果有,則可以通過第1個堆的溢出數(shù)據(jù)修改相鄰堆的頭部,偽造假的fd指針,使系統(tǒng)誤認為fd指向的地址是下一個待分配快堆,從而實現(xiàn)任意地址寫。

    本文通過對堆塊分配和釋放函數(shù)掛鉤,檢查堆塊分配和釋放過程中堆塊在內(nèi)存中的布局,建立可導致fastbin攻擊的溢出數(shù)據(jù)約束,根據(jù)溢出數(shù)據(jù)約束,具體化溢出數(shù)據(jù)覆蓋的內(nèi)存區(qū)域。算法3為程序fastbin攻擊檢測算法。

    算法3fastbin攻擊檢測算法

    輸入溢出堆塊集合chunkoverflow,分配堆塊集合Allo_map,已釋放堆塊集合Free_map

    輸出fastbin攻擊發(fā)生標識isFastbin

    isFastbin = false

    foreach(heap in Allo_map)

    if(heap∈chunkoverflow)

    if(h_size∈(0,0x38))

    {

    foreach(chunk in Free_map)

    if(chunk->h_addr=heap->h_addr+

    heap->h_size+0x8)

    IsFastbin = true

    }

    算法3準確地描述了fastbin操作被觸發(fā)的特征,即當前堆塊是快堆且存在溢出錯誤,并且物理相鄰的是一個相同的快堆且處于釋放狀態(tài)。

    3.3.4 指針數(shù)據(jù)可控性檢測算法

    在程序符合fastbin攻擊條件的基礎上,檢查指定的指針數(shù)據(jù)是否受到外部數(shù)據(jù)控制,導致程序控制流被劫持。在32 bit系統(tǒng)環(huán)境中,指針數(shù)據(jù)是一段連續(xù)的4 Byte內(nèi)存區(qū)域(64 bit系統(tǒng)中為8 Byte)。本文以三元組p=(p_addr,p_sym,p_val)描述指針數(shù)據(jù)的存放地址、符號化狀態(tài)與數(shù)據(jù)約束等屬性。通過對指針數(shù)據(jù)建立可控性約束,實現(xiàn)指針數(shù)據(jù)具體化。算法4為指針數(shù)據(jù)可控性檢測算法。

    算法4指針數(shù)據(jù)可控性檢測算法

    輸入指針數(shù)據(jù)屬性p,具體化數(shù)據(jù)集合dataset

    輸出指針數(shù)據(jù)可控性約束ptr_constraint

    if(p_sym == true )

    {

    p_val = create::Eq(dataset [p],Int8)

    ptr_constaint= ptr_constaint∧ p_val

    }

    end if

    4 實驗結果與分析

    4.1 結果分析

    本文使用了3個含有堆溢出缺陷的實驗程序進行驗證。其中,fastbin.c來自ctf比賽試題,fastbin_dup.c來自shellphish/how2heap測試集,babyheap來自ctf-challenges測試集。上述所有程序均采用C語言編寫。

    在面向堆溢出的fastbin攻擊檢測過程中,為更好地驗證系統(tǒng)對fastbin攻擊過程的檢測效果,實驗中關閉了地址隨機化,而保留了glibc針對堆塊操作過程中相關的保護機制。

    為體現(xiàn)系統(tǒng)的效果,對比系統(tǒng)與已有的漏洞攻擊檢測技術的不同,在實驗過程中將每個測試程序分別交由fastbin攻擊檢測系統(tǒng)和CRAX系統(tǒng)進行測試,其中,t1表示系統(tǒng)完成實驗樣本分析所用時間,t2表示系統(tǒng)完成程序代碼生成所用時間。測試用例生成情況如表1所示。其中,—為不能生成測試用例。

    表1 測試用例生成情況對比Table 1 Comparison of test case generation situation s

    從表1的結果可以看出,CRAX系統(tǒng)針對測試用例的分析時間比本文提出的檢測系統(tǒng)要短,但是CRAX系統(tǒng)對3個測試用例均不能生成測試用例。而fastbin攻擊檢測系統(tǒng)對其中的1個程序生成了測試用例。這表明針對面向堆溢出的fastbin攻擊,本文的方法有更好的檢測效果。

    而針對2個沒有有生成測試用例的例子,本文也對其進行了分析與記錄,其測試過程中的情況如表2所示。

    表2 fastbin攻擊檢測系統(tǒng)的約束構建情況Table 2 Constraint construction situation of fastbin attack detection system

    從表2可以看出,對于babyheap,系統(tǒng)檢測出了堆溢出特征、溢出堆塊可控特征、fastbin操作觸發(fā)特征這3個特征,而無法檢測到關鍵數(shù)據(jù)指針可控,通過堆源程序的分析發(fā)現(xiàn),babyheap要想達到覆蓋關鍵數(shù)據(jù)指針,劫持程序控制流,必須要泄露libc基地址,然后才能檢測到關鍵數(shù)據(jù)指針可控。因此,如果針對babyheap在系統(tǒng)中專門添加libc基地址記錄模塊,可以實現(xiàn)babyheap的測試用例的生成。

    而對fastbin_dup.c,經(jīng)過對源程序的分析發(fā)現(xiàn),程序只有fastbin操作觸發(fā)特征,而無對堆塊的操作,因此無法觸發(fā)堆塊溢出檢測和溢出堆快可控性檢測,更無法控制關鍵指針,因此無法生成測試用例。

    4.2 案例分析

    為了更直觀地表示fastbin攻擊方法自動利用原型系統(tǒng)的代碼自動生成過程,本文以fastbin程序的自動分析與利用過程為例進行案例分析。fastbin程序的漏洞觸發(fā)關鍵代碼如代碼1所示。

    代碼1fastbin程序的fastbin操作觸發(fā)關鍵代碼

    bin1 =malloc(0x38);

    bin2 =malloc(0x38);

    free(bin2);

    free(bin1);

    bin3 =malloc(0x38)

    read(handle1,bin3,0x64);//引入污點數(shù)據(jù),發(fā)生堆溢出

    //錯誤

    bin4 =malloc(0x38);

    bin5 =malloc(0x38);//觸發(fā)fastbin操作

    為獲得程序分配堆塊的相關信息,系統(tǒng)通過在malloc函數(shù)的返回點進行掛鉤,可以獲取程序新創(chuàng)建堆塊的相關信息,并將新創(chuàng)建堆塊信息添加進入Allo_chunk集合中,新建堆塊信息如下:

    對read函數(shù)返回點進行函數(shù)掛鉤,可以發(fā)現(xiàn)程序從外部讀入的數(shù)據(jù)。然后根據(jù)通過掛鉤獲得外部讀入數(shù)據(jù)在內(nèi)存中的地址和讀入數(shù)據(jù)大小等信息,將讀入數(shù)據(jù)符號化,將相關內(nèi)存進行污點標記,檢測結果如下:

    linux read( ) return-hook invoked :

    fd : 3

    foffset: 0

    databuf : 0x804a03c

    size : 8

    檢測到堆塊溢出特征后,使用堆塊溢出數(shù)據(jù)可控算法檢測溢出數(shù)據(jù)的可控性,并構建偽堆塊數(shù)據(jù)約束,約束構建過程如下:

    通過對free函數(shù)的入口點進行掛鉤,系統(tǒng)可以獲取堆塊釋放的相關信息,然后將新創(chuàng)建堆塊集合Allo_chunk中的相關信息刪除,并將堆塊釋放信息添加到已釋放堆塊集合Free_chunk。最后通過fastbin操作觸發(fā)檢測算法根據(jù)檢測溢出數(shù)據(jù)可控堆塊和已釋放堆塊的相對位置關系來確定fastbin操作是否觸發(fā),獲取fastbin操作觸發(fā)標識Is_Fastbin,Is_Fastbin標識獲取結果如下:

    在判斷程序觸發(fā)了fastbin操作的基礎上,對關鍵指針變量進行可控性檢查,發(fā)現(xiàn)指針數(shù)據(jù)被污點數(shù)據(jù)覆蓋為符號值,生成指針數(shù)據(jù)可控約束PtrConstraint,指針可控性檢查結果如下:

    54 [State 0] Found Symbolic Array at 0x804a044, width 48

    ptr = 0x804a044 can be controled!

    系統(tǒng)通過對程序運行過程中生成的約束進行求解,生成的針對fastbin程序的二進制利用代碼如圖6所示。將生成的測試用例作為輸入輸入至程序中,觸發(fā)fastbin攻擊,成功劫持控制流,結果如圖7所示。

    圖6 針對fastbin程序自動生成的利用代碼Fig.6 Utilization code automatically generated for fastbin program

    圖7 劫持控制流的結果Fig.7 Result of hijacking control flow

    5 結束語

    本文通過總結面向堆溢出的fastbin攻擊特征,利用符號執(zhí)行和污點分析技術,在fastbin攻擊檢測模型和fastbin攻擊檢測算法的基礎上設計并實現(xiàn)了fastbin攻擊檢測系統(tǒng)。從堆塊溢出特征、溢出堆塊可控性特征、fastbin操作觸發(fā)特征、數(shù)據(jù)指針可控性特征4個方面來描述面向堆溢出的fastbin攻擊,判斷程序是否符合fastbin攻擊特征并驗證程序的可利用性?;?個程序的實驗證明了系統(tǒng)對相關程序檢測結果的正確性。但本文fastbin攻擊檢測系統(tǒng)未考慮ASLR等系統(tǒng)保護機制對實驗的影響,無法實現(xiàn)多漏洞的組合測試,只能單一地檢測面向堆溢出的fastbin攻擊檢測。因此,如何實現(xiàn)多漏洞的組合檢測將是下一步的研究工作。

    猜你喜歡
    分配程序特征
    應答器THR和TFFR分配及SIL等級探討
    如何表達“特征”
    遺產(chǎn)的分配
    不忠誠的四個特征
    當代陜西(2019年10期)2019-06-03 10:12:04
    試論我國未決羈押程序的立法完善
    人大建設(2019年12期)2019-05-21 02:55:44
    一種分配十分不均的財富
    績效考核分配的實踐與思考
    “程序猿”的生活什么樣
    抓住特征巧觀察
    英國與歐盟正式啟動“離婚”程序程序
    免费av不卡在线播放| 成年女人在线观看亚洲视频| 久久精品久久久久久久性| 久久久精品区二区三区| 晚上一个人看的免费电影| 亚洲精品456在线播放app| 国产精品久久久久久精品电影小说| 在现免费观看毛片| 成年人午夜在线观看视频| 婷婷色综合www| 九色亚洲精品在线播放| 国产亚洲一区二区精品| 久久久精品区二区三区| 欧美日韩国产mv在线观看视频| 国产精品一区二区在线不卡| 午夜激情久久久久久久| 天堂中文最新版在线下载| 男女下面插进去视频免费观看 | 久久人人爽av亚洲精品天堂| 天堂8中文在线网| 啦啦啦视频在线资源免费观看| 久久午夜福利片| 国产片特级美女逼逼视频| 免费黄色在线免费观看| 九色亚洲精品在线播放| 国产成人欧美| 国产成人欧美| 九色亚洲精品在线播放| 久久精品夜色国产| 午夜激情av网站| 水蜜桃什么品种好| 国产精品一区www在线观看| 侵犯人妻中文字幕一二三四区| 国产成人免费无遮挡视频| videossex国产| 国产老妇伦熟女老妇高清| 在线亚洲精品国产二区图片欧美| 一边摸一边做爽爽视频免费| 欧美 日韩 精品 国产| 免费黄网站久久成人精品| 午夜福利视频在线观看免费| 久久久欧美国产精品| 高清视频免费观看一区二区| 国产在线免费精品| 高清黄色对白视频在线免费看| av网站免费在线观看视频| 久久免费观看电影| 蜜臀久久99精品久久宅男| 国产熟女午夜一区二区三区| 免费久久久久久久精品成人欧美视频 | 91精品三级在线观看| 国产成人精品无人区| 最黄视频免费看| 亚洲激情五月婷婷啪啪| 久久免费观看电影| 成人国产麻豆网| 中国国产av一级| 国产精品久久久久成人av| 侵犯人妻中文字幕一二三四区| 麻豆乱淫一区二区| 国产精品一区www在线观看| 香蕉精品网在线| 日韩制服丝袜自拍偷拍| 中文字幕免费在线视频6| 久久精品aⅴ一区二区三区四区 | 婷婷色av中文字幕| 国产淫语在线视频| 色5月婷婷丁香| 亚洲,欧美,日韩| 国产精品一区二区在线观看99| 日本黄大片高清| 大话2 男鬼变身卡| 婷婷色麻豆天堂久久| 欧美人与性动交α欧美精品济南到 | 亚洲人与动物交配视频| 久热久热在线精品观看| 老女人水多毛片| 国产av一区二区精品久久| 免费在线观看完整版高清| 免费在线观看完整版高清| 国产精品.久久久| 久久99精品国语久久久| 精品久久久久久电影网| 免费不卡的大黄色大毛片视频在线观看| 久久热在线av| 黄色怎么调成土黄色| 欧美日韩av久久| 少妇熟女欧美另类| 国产亚洲一区二区精品| 欧美成人午夜免费资源| 亚洲美女搞黄在线观看| 青春草视频在线免费观看| 91精品三级在线观看| 免费观看在线日韩| 日韩一本色道免费dvd| 免费不卡的大黄色大毛片视频在线观看| 丰满迷人的少妇在线观看| 国产成人a∨麻豆精品| a级毛色黄片| 久久国产精品男人的天堂亚洲 | 男女边吃奶边做爰视频| 男男h啪啪无遮挡| 亚洲欧美清纯卡通| 欧美日韩av久久| 欧美精品高潮呻吟av久久| 精品少妇黑人巨大在线播放| 成人亚洲欧美一区二区av| 亚洲欧美精品自产自拍| 日韩av不卡免费在线播放| 桃花免费在线播放| 欧美少妇被猛烈插入视频| 精品卡一卡二卡四卡免费| 麻豆乱淫一区二区| 精品国产一区二区三区四区第35| www.av在线官网国产| 亚洲激情五月婷婷啪啪| 热99国产精品久久久久久7| √禁漫天堂资源中文www| 国产亚洲最大av| 日本av手机在线免费观看| 欧美国产精品va在线观看不卡| 超碰97精品在线观看| 夜夜爽夜夜爽视频| 国产有黄有色有爽视频| 国产精品偷伦视频观看了| 久久久久久伊人网av| 欧美性感艳星| 99九九在线精品视频| 一级黄片播放器| 国产在线一区二区三区精| 精品视频人人做人人爽| 90打野战视频偷拍视频| 男女边摸边吃奶| 国产男人的电影天堂91| 亚洲 欧美一区二区三区| 老司机影院成人| 精品99又大又爽又粗少妇毛片| 80岁老熟妇乱子伦牲交| 美女脱内裤让男人舔精品视频| 欧美精品一区二区大全| 免费播放大片免费观看视频在线观看| 伦理电影免费视频| 色婷婷久久久亚洲欧美| 欧美亚洲日本最大视频资源| 国产成人午夜福利电影在线观看| 成人亚洲欧美一区二区av| 成人国产麻豆网| 亚洲色图综合在线观看| 美女视频免费永久观看网站| 亚洲性久久影院| 91午夜精品亚洲一区二区三区| 自拍欧美九色日韩亚洲蝌蚪91| 91精品国产国语对白视频| 亚洲综合精品二区| 韩国av在线不卡| 久久久国产欧美日韩av| 免费看光身美女| 久久99一区二区三区| 丰满乱子伦码专区| 久久精品国产a三级三级三级| 久久人妻熟女aⅴ| 91久久精品国产一区二区三区| 妹子高潮喷水视频| 欧美xxⅹ黑人| 久久国产亚洲av麻豆专区| 久久久a久久爽久久v久久| 久久免费观看电影| 99九九在线精品视频| h视频一区二区三区| 亚洲天堂av无毛| 午夜91福利影院| 在线观看免费视频网站a站| 国产精品偷伦视频观看了| 亚洲婷婷狠狠爱综合网| 国产毛片在线视频| 爱豆传媒免费全集在线观看| 欧美成人精品欧美一级黄| 免费观看av网站的网址| 天美传媒精品一区二区| 亚洲三级黄色毛片| 国产极品粉嫩免费观看在线| 九色亚洲精品在线播放| av有码第一页| 青春草亚洲视频在线观看| 天天躁夜夜躁狠狠躁躁| 边亲边吃奶的免费视频| 啦啦啦视频在线资源免费观看| 国产免费又黄又爽又色| 男人操女人黄网站| 欧美精品亚洲一区二区| 免费高清在线观看日韩| 亚洲精品国产色婷婷电影| 久久久久久人人人人人| 国产永久视频网站| 王馨瑶露胸无遮挡在线观看| 日韩在线高清观看一区二区三区| 亚洲国产av影院在线观看| 人妻少妇偷人精品九色| 欧美最新免费一区二区三区| 精品第一国产精品| 日本欧美视频一区| 精品一区二区三区四区五区乱码 | 波野结衣二区三区在线| 精品第一国产精品| 在线观看人妻少妇| 欧美人与性动交α欧美精品济南到 | 啦啦啦中文免费视频观看日本| 亚洲第一av免费看| 五月伊人婷婷丁香| 少妇 在线观看| 伦理电影大哥的女人| 欧美精品国产亚洲| 新久久久久国产一级毛片| 免费高清在线观看视频在线观看| 五月天丁香电影| 久久久久国产网址| 亚洲国产精品一区三区| 十八禁高潮呻吟视频| 免费高清在线观看视频在线观看| 国产亚洲精品久久久com| 熟女av电影| 国产精品国产三级国产av玫瑰| 麻豆乱淫一区二区| 精品国产露脸久久av麻豆| 天堂8中文在线网| 国产日韩欧美在线精品| 日韩制服骚丝袜av| 婷婷色av中文字幕| 视频在线观看一区二区三区| 一级毛片我不卡| 久久毛片免费看一区二区三区| 亚洲欧美成人综合另类久久久| 免费黄色在线免费观看| 高清黄色对白视频在线免费看| 亚洲精品av麻豆狂野| 成人午夜精彩视频在线观看| 成人国产av品久久久| 啦啦啦视频在线资源免费观看| 精品一品国产午夜福利视频| 各种免费的搞黄视频| 性色av一级| 最近最新中文字幕大全免费视频 | 亚洲av欧美aⅴ国产| 卡戴珊不雅视频在线播放| 久久这里有精品视频免费| 99热国产这里只有精品6| 97精品久久久久久久久久精品| 90打野战视频偷拍视频| 国产av国产精品国产| 久久这里有精品视频免费| 极品人妻少妇av视频| 久久精品久久久久久久性| 在线 av 中文字幕| 韩国av在线不卡| 日本猛色少妇xxxxx猛交久久| 午夜91福利影院| 欧美成人精品欧美一级黄| 国产探花极品一区二区| 最近最新中文字幕免费大全7| 国产一级毛片在线| 美女大奶头黄色视频| 咕卡用的链子| 亚洲经典国产精华液单| 久久影院123| 国产成人精品一,二区| 中文字幕人妻熟女乱码| 女性被躁到高潮视频| 精品一品国产午夜福利视频| 国产极品天堂在线| 天美传媒精品一区二区| 国产精品久久久久久久久免| 日韩一区二区三区影片| 国产在视频线精品| videos熟女内射| 天堂中文最新版在线下载| 97在线视频观看| 国产爽快片一区二区三区| 满18在线观看网站| 美女xxoo啪啪120秒动态图| 乱码一卡2卡4卡精品| 伊人亚洲综合成人网| 中国国产av一级| 国产欧美日韩一区二区三区在线| 亚洲国产精品一区二区三区在线| 日本猛色少妇xxxxx猛交久久| 亚洲精品成人av观看孕妇| 亚洲久久久国产精品| 国产国语露脸激情在线看| 一级毛片我不卡| 欧美老熟妇乱子伦牲交| av播播在线观看一区| 亚洲综合精品二区| 国产av一区二区精品久久| 两性夫妻黄色片 | 亚洲精品久久午夜乱码| 亚洲国产最新在线播放| 自线自在国产av| 女性生殖器流出的白浆| 日日撸夜夜添| 国产精品一区www在线观看| 午夜福利,免费看| 亚洲国产av新网站| 国产老妇伦熟女老妇高清| 国产av一区二区精品久久| 菩萨蛮人人尽说江南好唐韦庄| 亚洲精品中文字幕在线视频| 国产精品 国内视频| 夜夜骑夜夜射夜夜干| 亚洲经典国产精华液单| 大片免费播放器 马上看| 成年人免费黄色播放视频| 伦理电影免费视频| 免费看不卡的av| 午夜久久久在线观看| 天天影视国产精品| 各种免费的搞黄视频| 亚洲av在线观看美女高潮| 波多野结衣一区麻豆| 国产乱来视频区| 边亲边吃奶的免费视频| a 毛片基地| 免费观看av网站的网址| 99久国产av精品国产电影| 99国产综合亚洲精品| 毛片一级片免费看久久久久| 五月开心婷婷网| 久久99热这里只频精品6学生| 国产不卡av网站在线观看| √禁漫天堂资源中文www| 国产又爽黄色视频| av又黄又爽大尺度在线免费看| 男女午夜视频在线观看 | 午夜福利视频在线观看免费| 一本色道久久久久久精品综合| 免费黄网站久久成人精品| 美女主播在线视频| 久久久久久久国产电影| 人人妻人人澡人人看| 蜜桃国产av成人99| 日本午夜av视频| 麻豆精品久久久久久蜜桃| 国产黄色免费在线视频| 亚洲五月色婷婷综合| 欧美精品一区二区大全| 国产黄色视频一区二区在线观看| 久久久久久久久久久久大奶| 熟女人妻精品中文字幕| 久久久久久久久久久久大奶| 侵犯人妻中文字幕一二三四区| 22中文网久久字幕| 侵犯人妻中文字幕一二三四区| 伊人亚洲综合成人网| 亚洲国产精品成人久久小说| 久久久亚洲精品成人影院| 中文乱码字字幕精品一区二区三区| 日本-黄色视频高清免费观看| 亚洲精品国产av成人精品| 人体艺术视频欧美日本| 日本欧美国产在线视频| 交换朋友夫妻互换小说| 在线免费观看不下载黄p国产| 亚洲激情五月婷婷啪啪| 黄网站色视频无遮挡免费观看| 久久免费观看电影| 国产乱来视频区| av在线观看视频网站免费| 少妇人妻精品综合一区二区| 只有这里有精品99| 999精品在线视频| 国产精品成人在线| 晚上一个人看的免费电影| 观看av在线不卡| 如何舔出高潮| 26uuu在线亚洲综合色| 黄色 视频免费看| 成人黄色视频免费在线看| 国产精品久久久久久久久免| 国产一区二区在线观看日韩| 亚洲伊人色综图| 精品一区二区三区四区五区乱码 | 最黄视频免费看| 中文字幕亚洲精品专区| 少妇人妻 视频| 男人舔女人的私密视频| 桃花免费在线播放| 夜夜爽夜夜爽视频| 男女高潮啪啪啪动态图| 熟女av电影| 国产成人av激情在线播放| 十八禁网站网址无遮挡| 丝袜美足系列| 九九在线视频观看精品| 99久国产av精品国产电影| 久久99一区二区三区| 欧美日韩av久久| 亚洲精品视频女| 少妇人妻精品综合一区二区| 中文欧美无线码| 国产一级毛片在线| 亚洲国产av新网站| 18禁观看日本| 国产精品国产三级专区第一集| 热re99久久国产66热| 久久这里有精品视频免费| 国产精品无大码| 欧美 亚洲 国产 日韩一| 久久这里有精品视频免费| 99热国产这里只有精品6| 美女国产高潮福利片在线看| 国产成人精品在线电影| 黑人欧美特级aaaaaa片| 国产色爽女视频免费观看| 美女主播在线视频| 亚洲精品成人av观看孕妇| 久久99精品国语久久久| 三上悠亚av全集在线观看| 草草在线视频免费看| 在线观看人妻少妇| 男女边吃奶边做爰视频| 欧美人与善性xxx| 亚洲精品av麻豆狂野| 欧美最新免费一区二区三区| www日本在线高清视频| 国产麻豆69| 成年av动漫网址| 桃花免费在线播放| h视频一区二区三区| 国产高清国产精品国产三级| 亚洲在久久综合| 国产免费视频播放在线视频| 免费观看av网站的网址| 97精品久久久久久久久久精品| 国产精品成人在线| 欧美成人午夜免费资源| xxx大片免费视频| 少妇被粗大的猛进出69影院 | 一级爰片在线观看| 免费av中文字幕在线| 高清视频免费观看一区二区| 亚洲婷婷狠狠爱综合网| 国产成人精品无人区| 99热全是精品| 免费播放大片免费观看视频在线观看| 欧美精品高潮呻吟av久久| 色哟哟·www| 人妻一区二区av| 综合色丁香网| 亚洲精品美女久久久久99蜜臀 | 男女下面插进去视频免费观看 | 日本wwww免费看| videos熟女内射| 国产国拍精品亚洲av在线观看| 两个人免费观看高清视频| 视频中文字幕在线观看| 国产精品一区二区在线观看99| 欧美 亚洲 国产 日韩一| 久久免费观看电影| 女人被躁到高潮嗷嗷叫费观| 日本免费在线观看一区| 美女福利国产在线| 男女下面插进去视频免费观看 | 亚洲伊人久久精品综合| 在线观看免费视频网站a站| 欧美xxⅹ黑人| 99re6热这里在线精品视频| 久久 成人 亚洲| 波野结衣二区三区在线| 曰老女人黄片| 亚洲熟女精品中文字幕| 国产亚洲精品第一综合不卡 | 亚洲性久久影院| 美女福利国产在线| 成人毛片60女人毛片免费| 侵犯人妻中文字幕一二三四区| 日本色播在线视频| 十八禁高潮呻吟视频| 日韩av免费高清视频| 一本一本久久a久久精品综合妖精 国产伦在线观看视频一区 | 毛片一级片免费看久久久久| 永久免费av网站大全| 啦啦啦啦在线视频资源| 国产成人免费观看mmmm| 男女无遮挡免费网站观看| 国产综合精华液| 国产免费现黄频在线看| a 毛片基地| 免费观看a级毛片全部| 乱码一卡2卡4卡精品| 男女高潮啪啪啪动态图| av有码第一页| av女优亚洲男人天堂| 国产 一区精品| 精品亚洲成国产av| 久久午夜综合久久蜜桃| 久久国产精品大桥未久av| 黄色视频在线播放观看不卡| 男人操女人黄网站| 欧美精品高潮呻吟av久久| 久久影院123| 夫妻性生交免费视频一级片| 51国产日韩欧美| 免费观看a级毛片全部| 国产精品麻豆人妻色哟哟久久| 男女高潮啪啪啪动态图| 一区二区日韩欧美中文字幕 | 少妇熟女欧美另类| 男的添女的下面高潮视频| 久久久久精品性色| 边亲边吃奶的免费视频| 久久午夜综合久久蜜桃| 久久国产亚洲av麻豆专区| 18禁国产床啪视频网站| 一级a做视频免费观看| 午夜免费观看性视频| 成人18禁高潮啪啪吃奶动态图| 国产成人午夜福利电影在线观看| 男女国产视频网站| 人妻 亚洲 视频| 97在线视频观看| 18+在线观看网站| 制服人妻中文乱码| 国产探花极品一区二区| 最近中文字幕高清免费大全6| 久久久久精品人妻al黑| 久久影院123| 高清视频免费观看一区二区| 精品第一国产精品| 日韩成人伦理影院| √禁漫天堂资源中文www| 女人精品久久久久毛片| 欧美3d第一页| 如日韩欧美国产精品一区二区三区| 亚洲五月色婷婷综合| 纵有疾风起免费观看全集完整版| 国语对白做爰xxxⅹ性视频网站| 亚洲成色77777| 少妇猛男粗大的猛烈进出视频| 国产欧美亚洲国产| 精品少妇久久久久久888优播| 十八禁网站网址无遮挡| 成人漫画全彩无遮挡| av视频免费观看在线观看| √禁漫天堂资源中文www| 精品人妻在线不人妻| 亚洲av电影在线观看一区二区三区| 亚洲,欧美精品.| 久久青草综合色| 欧美激情国产日韩精品一区| 91精品伊人久久大香线蕉| a级毛片在线看网站| 99久久人妻综合| 黑人猛操日本美女一级片| 亚洲av电影在线进入| a级毛片黄视频| 又大又黄又爽视频免费| 亚洲人成网站在线观看播放| 亚洲国产最新在线播放| 黄片无遮挡物在线观看| 国产一区有黄有色的免费视频| 精品少妇久久久久久888优播| 男女下面插进去视频免费观看 | 国产一区二区三区av在线| 国产色爽女视频免费观看| 人人妻人人添人人爽欧美一区卜| 成人毛片60女人毛片免费| 天天躁夜夜躁狠狠躁躁| av一本久久久久| 老司机影院毛片| 少妇熟女欧美另类| 亚洲精品乱久久久久久| 在线天堂中文资源库| 水蜜桃什么品种好| 亚洲国产精品专区欧美| 亚洲欧美成人精品一区二区| 人妻人人澡人人爽人人| 国产精品一国产av| 巨乳人妻的诱惑在线观看| 91精品国产国语对白视频| 亚洲精品日韩在线中文字幕| 免费黄频网站在线观看国产| 啦啦啦中文免费视频观看日本| 国产精品 国内视频| 极品少妇高潮喷水抽搐| 两个人看的免费小视频| 肉色欧美久久久久久久蜜桃| 丝袜在线中文字幕| 九色成人免费人妻av| 亚洲人成77777在线视频| 国产69精品久久久久777片| 亚洲精品色激情综合| 九草在线视频观看| 久久精品夜色国产| 18禁裸乳无遮挡动漫免费视频| 亚洲国产日韩一区二区| 丝袜脚勾引网站| 草草在线视频免费看| 亚洲性久久影院| 国产精品久久久久久精品电影小说| 亚洲国产av新网站| 欧美+日韩+精品| 黄色视频在线播放观看不卡| 七月丁香在线播放| 欧美激情国产日韩精品一区| 欧美精品亚洲一区二区| 99久久中文字幕三级久久日本| 亚洲国产日韩一区二区| 亚洲精品第二区| av又黄又爽大尺度在线免费看| 日韩熟女老妇一区二区性免费视频| 99热这里只有是精品在线观看| 欧美精品国产亚洲| 免费av不卡在线播放| 国产精品久久久久久精品古装| 国产精品欧美亚洲77777| 香蕉丝袜av|