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

    面向多線程程序的內(nèi)存安全運行時驗證

    2019-07-05 11:20:32陳韜王明明
    計算技術(shù)與自動化 2019年2期
    關(guān)鍵詞:多線程編程語言

    陳韜 王明明

    摘 ? 要:Linux操作系統(tǒng)、嵌入式系統(tǒng)、航電系統(tǒng)、通信系統(tǒng)等一般都是用C/C++語言進行編寫。因為C語言具有偏底層硬件、移植性強、執(zhí)行效率高等優(yōu)秀特性。但是隨著多核并行機的出現(xiàn),許多語言也開始支持多線程編程。由于C語言本身存在著對內(nèi)存訪問時,不對內(nèi)存邊界進行檢查的問題,從而造成軟件系統(tǒng)相關(guān)的可靠性和安全性問題。對多線程C語言程序來說,由于多線程程序的不確定性,使得運行時驗證多線程C程序的內(nèi)存安全問題變得更加困難。通過使用基于改進的指針運行時驗證技術(shù)、多核多線程技術(shù)、并行計算、無鎖數(shù)據(jù)結(jié)構(gòu)技術(shù)、源代碼插樁技術(shù)方法,并結(jié)合開源工具Clang編譯器實現(xiàn)原型工具Movec對多線程C程序的支持。該工具實現(xiàn)了對多線程C程序內(nèi)存安全問題的運行時驗證。然后通過Mibench和SARD測試用例進行實驗,驗證了該工具對多線程C程序進行運行時驗證的有效性。

    關(guān)鍵詞:多線程;多核;無鎖數(shù)據(jù)結(jié)構(gòu);運行時驗證;源代碼插樁;編程語言

    中圖分類號:TP316.2 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?文獻標識碼:A

    Memory Security Runtime Verification for Multi-threaded Programs

    CHEN Tao?覮,WANG Ming-ming

    (Department of Computer Science and Technology, Nanjing University of Aeronautics

    and Astronautics,Nanjing,Jiangsu 211106,China)

    Abstract:Linux operating system,embedded system,avionics system,communication system are usually written in C/C++ programming language. Because of the excellent features of the C language,which has a low level of hardware,strong portability and high execution efficiency. But with the advent of multicore parallel machines,many languages have also begun to support multi-threaded programming. C language has the problem that it does not check memory boundary when accessing memory,which causes the reliability and security of software system can not be guaranteed. For multithreaded C language programs,it is difficult to verify the multithreading C program at run time because of the uncertainty of multithreaded programs. we use improved pointer runtime verification,multicore and multi thread technology,parallel computing,unlocked data structure technology,the aid of open-source compiler Clang and source code instrumentation technology complete the prototype tool Movec(Monitoring,verification and control) which supports multithreading C programs runtime verification. Then,By experimentation on Mibench and SARD,it is verified that the tool can indeed run time validation for multithreaded C programs.

    Key words:multi thread;multicore;unlocked data structure;runtime verification;source code piling;programming language

    在科技智能化不斷發(fā)展的今天,計算機的軟件和軟件系統(tǒng)在信息化時代起著極為關(guān)鍵的作用。這就使得軟件的可靠性要求越來越高。軟件運行時的驗證技術(shù)[1-4]就是一種輕量級的新型自動化驗證技術(shù)。由于運行時驗證技術(shù)是在程序運行過程中進行驗證的技術(shù),所以它能保證驗證程序的實時性。另外,多核的到來使得多線程變成了真正意義上的并行運行,即每個處理器運行不同的線程,同一時刻多個處理器同時運行程序?,F(xiàn)在多線程程序應(yīng)用越來越廣泛,主流的語言C、C++、JAVA、PHP等基本都支持多線程編程。近年來,關(guān)于運行時驗證技術(shù)的運用已經(jīng)越來廣泛,其中比較成熟的工具有Java-MOP、Enforce-MOP、Software Cruising、RiTHM等。Java-MOP實現(xiàn)了對java程序進行運行時驗證。RiTHM是一種以時間為觸發(fā)機制的驗證工具。Enforce-MOP則是用來運行時驗證多線程Java程序的工具。它是對Java-MOP工具的一個改進,使得該工具支持處理多線程的Java程序。Software Cruising是用來解決并行程序堆緩沖區(qū)溢出問題的技術(shù)。而C語言是一種更加接近底層的硬件的語言,具有執(zhí)行率高,可移植性強的特點。但是該語言在對內(nèi)存訪問時,不對內(nèi)存邊界進行檢查,就可能會導(dǎo)致軟件出現(xiàn)內(nèi)存安全漏洞[5-6]。如果是多線程的C語言程序,由于多線程運行的不確定性,更有可能會導(dǎo)致內(nèi)存安全問題。

    多線程程序的運行時驗證原理。解決辦法是采用基于指針技術(shù)[10-11]對程序中所有的內(nèi)存進行驗證分析。原型工具Movec對于C程序內(nèi)存安全性運行時驗證的解決方法。其中Movec主要功能是檢測單線程C程序中內(nèi)存安全性問題。檢測的內(nèi)存錯誤類型分為空間內(nèi)存安全問題和時間內(nèi)存安全問題??臻g內(nèi)存安全指的是數(shù)組越界,指針訪問的內(nèi)存越界,指針未初始化等內(nèi)存安全性問題。該問題主要通過指針元數(shù)據(jù)的上下界進行判定。時間內(nèi)存安全問題主要是申請的內(nèi)存空間多次釋放問題,該問題主要是通過指針元數(shù)據(jù)中對象存儲狀態(tài)進行判定?;谥羔樇夹g(shù)方法通過對程序中指針構(gòu)造對應(yīng)的指針元數(shù)據(jù),該指針元數(shù)據(jù)記錄了該指針對象的上下界和存儲情況并存儲在了哈希表中。在指針進行賦值或者參數(shù)傳遞時對指針元數(shù)據(jù)進行更新和替換,針對源代碼中所有的指針進行指針元數(shù)據(jù)的存取,通過元數(shù)據(jù)的信息進行內(nèi)存安全性的檢測。待監(jiān)控程序的主線程分別創(chuàng)建了兩個子線程,每個線程都有自己的事件序列并且每個序列都會觸發(fā)與之相關(guān)的響應(yīng)操作。如果我們還是采用單線程情況下的辦法去解決內(nèi)存安全性問題的話,那么在如圖1所示的情況下,由于多線程并行運行的特性,事件2,事件3和事件4會同時對一塊地址的元數(shù)據(jù)進行讀和刪除操作。在多線程情況下,事件序列就變得不確定了。在多核的情況下,每個線程是運行在單獨立的處理器上,可以并行的處理問題,所以導(dǎo)致了可能會出現(xiàn)對同一個內(nèi)存進行同步訪問的情況。多線程程序引起最多的問題就是資源競爭問題,內(nèi)存安全性驗證本質(zhì)上也是存在對指針元數(shù)據(jù)操作時的資源競爭問題。對此本文使用無鎖并行的數(shù)據(jù)結(jié)構(gòu)存儲指針元數(shù)據(jù)。

    通過設(shè)計驗證工具完成了對多線程C程序內(nèi)存安全的動態(tài)監(jiān)控。主要工作如下:

    1.提出多線程程序的運行時驗證原理。

    2.結(jié)合無鎖技術(shù)[7-9],實現(xiàn)了基于無鎖的數(shù)據(jù)結(jié)構(gòu)。

    3.通過多線程的插樁算法和Clang編譯器實現(xiàn)了多線程程序內(nèi)存安全運行時驗證工具。

    4.使用該工具和SoftBoundCets、Crusier工具進行有效性對比實驗,然后通過MiBench、SARD開源測試集進行性能實驗。最后得出結(jié)論。

    1 ? 無鎖數(shù)據(jù)結(jié)構(gòu)設(shè)計

    在高性能并發(fā)運行的機器中,需要支持并發(fā)操作的哈希表。為了解決這些問題我們通過使用原子操作CAS(compare and swap)完成了在多線程下并發(fā)操作的無鎖哈希表數(shù)據(jù)結(jié)構(gòu)。哈希表由兩部分組成一部分是包含桶元素和項元素的鏈表,另一部分是包含指針的可擴展數(shù)組。

    1.1 ? 無鎖有序鏈表

    查找操作執(zhí)行過程中保證*pre是指向鏈表的結(jié)點,然后將pre指向pcur的結(jié)點。第一步判斷cur是否為空,如果為真的話,那么在這個時候鏈表中所有的值都是小于查找值的,并且返回0,表示沒有找到該結(jié)點。否則的話執(zhí)行第二步在cur != null且結(jié)點標記mark為0時,首先將當前結(jié)點的下一個結(jié)點存儲下來,然后判斷cur.key是否大于或等于查找值。如果判斷結(jié)果為真,在ckey值等于查找值時返回1,表示已經(jīng)在鏈表中找到該結(jié)點,在ckey值不等于查找值時返回0,表示鏈表中沒有找到該結(jié)點。如果判斷結(jié)果為假時,將當前結(jié)點指向存儲的下一個結(jié)點繼續(xù)執(zhí)行。在查詢過程中如果遇到結(jié)點的mark值為1時,表示該結(jié)點是需要刪除的結(jié)點,需要通過CAS原子操作刪除結(jié)點。

    1.2 ? 可擴充哈希表

    在無鎖鏈表的基礎(chǔ)之上,本文實現(xiàn)了支持多線程并行操作的無鎖哈希表。該算法主要思想是:不是通過在哈希桶插入項,而是在存儲項的鏈表里面插入哈希桶元素。

    插入函數(shù)創(chuàng)建一個新的結(jié)點并賦值一個需要插入的值。so_regularkey函數(shù)作用是把key值的二進制逆轉(zhuǎn)并在最右位設(shè)為1。桶元素的下標是由key對size取余后得到。首先判斷桶元素有沒有被初始化,如果沒有初始化就會調(diào)用initialize_bucket函數(shù)初始化桶元素。否則該結(jié)點就會調(diào)用無鎖鏈表中的insert函數(shù)將新創(chuàng)建的結(jié)點插入到無鎖鏈表中。如果插入操作成功,就可以使用fetch_and_inc函數(shù)對項數(shù)量進行計數(shù)。該函數(shù)是一個原子性操作。最后檢查項數(shù)量有沒有超過哈希表的過載因子。如果超過過載因子,就會將哈希表的大小拓展為原來的兩倍。擴展的方式是將二維桶元素數(shù)組進行對應(yīng)的初始化。

    查找函數(shù)首先確保查找值對應(yīng)的桶元素已經(jīng)被初始化,然后調(diào)用無鎖鏈表中的find函數(shù)。List_find函數(shù)不是直接遍歷整個鏈表,而是通過計算得到的桶元素指向虛結(jié)點去遍歷虛結(jié)點之后的項元素,最后找到大于或等于該值的最小結(jié)點。

    刪除函數(shù)也要保證刪除值對應(yīng)的桶元素已經(jīng)被初始化,如果沒有初始化就調(diào)用initialize_bucket函數(shù)。然后調(diào)用無鎖鏈表中的delete函數(shù)。如果刪除成功也要調(diào)用fetch_and_dec函數(shù)去減少桶項數(shù)量。fetch_and_dec函數(shù)也是一個原子性操作。

    2 ? 多線程程序內(nèi)存安全運行時驗證工具

    實現(xiàn)

    2.1 ? 插樁算法

    結(jié)合Clang編譯器的源代碼插樁技術(shù)和無鎖哈希表對原型工具Movec進行多線程的支持。該工具先是對C語言多線程程序進行詞法分析、語法分析、生成語法樹,然后對語法樹進行遍歷,對pthread庫的函數(shù)調(diào)用進行包裝,將包裝好的程序替換掉源程序中的Pthread庫函數(shù)調(diào)用,并生成支持多線程操作的無鎖哈希表。對源代碼中涉及的內(nèi)存地址操作,如對象創(chuàng)建、函數(shù)調(diào)用、對象釋放或?qū)ο筚x值等,將指針元數(shù)據(jù)的操作函數(shù)插入到代碼的固定位置。然后生成插樁后的C程序,最后運行插樁后的C程序檢測多線程情況下內(nèi)存安全錯誤。對于Clang編譯器,在通過RecursiveASTVisitor的VisitFunctionDecl方法訪問抽象語法樹中的FunctionDecl類型節(jié)點時,會對函數(shù)定義的節(jié)點進行訪問,通過重寫VisitCallExpr函數(shù)。函數(shù)定義除了進行還對函數(shù)中涉及到內(nèi)存訪問的表達式進行了代碼插樁,這里我們只介紹把main函數(shù)作為主線程進行多線程相關(guān)部分的插樁。

    主函數(shù)的插樁算法是在主函數(shù)中進行無鎖哈希表的初始化工作。對于哈希表中的線程使用函數(shù),直接生成memsafe.c和memsafe.h文件,這兩個文件包含了多線程C程序在進行內(nèi)存安全驗證時進行存儲的無鎖哈希表。

    2.2 ? 多線程讀取哈希表

    全局變量包含兩個哈希桶元素數(shù)組指針是因為我們需要創(chuàng)建兩個哈希表,一個存放函數(shù)元數(shù)據(jù),一個存放指針元數(shù)據(jù)。哈希表是通過數(shù)組桶和無鎖鏈表組成的。由于每個線程需要有私有的pre,pcur,pnext去獨立的訪問哈希表,所以每個線程都獨自創(chuàng)建了私有的三個變量。我們在包裝線程創(chuàng)建函數(shù)時,創(chuàng)建每個線程對應(yīng)的私有值并記錄每個線程的線程ID。每個線程通過自己創(chuàng)建的3個MarkPtrType類型去獨立的訪問哈希表中存儲信息的無鎖鏈表,避免線程之間訪問時,對訪問變量的競爭。哈希表中存放了void **value變量。通過定義二級指針的方式用來存儲指針元數(shù)據(jù)和函數(shù)元數(shù)據(jù),通過二級指針強制類型轉(zhuǎn)化的方式,將void**分別轉(zhuǎn)化為PREFIXpmd**和PREFIXfmd**。表1所示定義指針元數(shù)據(jù)和函數(shù)元數(shù)據(jù).

    3 ? 實 ? 驗

    3.1 ? 哈希表性能分析

    本小節(jié)主要工作是對哈希表對于內(nèi)存安全的性能進行分析。第一部分在單線程的情況下將下面4種類型的哈希表進行數(shù)據(jù)對比。實驗數(shù)據(jù)如圖1所示。實驗數(shù)據(jù)是由十次結(jié)果的平均值來獲取的。其中A為使用數(shù)組和鏈表組成的哈希表,B為不支持并行操作的可擴展的哈希表;C為支持并發(fā)操作的哈希表,為A類型加入互斥操作而來;D為本文實現(xiàn)的哈希表。

    圖1中縱坐標代表著單線程程序進行哈希表存取的運行時間。由此可以看出單線程情況下B哈希表的時間是A哈希表的4倍左右,D哈希表的時間是C可擴展哈希表的四倍左右。這是因為本文設(shè)計的哈希表D和可擴充的哈希表B是存儲在無鎖有序的鏈表之中。而一般的哈希表存儲時數(shù)組鏈接的鏈表只是用來處理哈希沖突的,鏈表不一定需要有序。該原因使得單線程情況下采用可擴展的哈希表結(jié)構(gòu),性能有所降低。

    第二部分,由于A哈希表和B哈希表沒有進行并行的設(shè)計所以無法進行多線程情況下,哈希表的存取操作。數(shù)據(jù)如圖2所示。

    圖2中縱坐標的單位是微秒。代表著多線程程序運行的時間。本文所設(shè)計的可擴展哈希表D在線程數(shù)增加時,哈希表的時間沒有增加。而B哈希表的時間隨著線程數(shù)的增加而增加。這是應(yīng)為,B在哈希表進行擴展的時候,首先需要擴展哈希表容量,然后將原來哈希表中的值重新存儲到擴展之后的哈希表。在此期間,其它線程時無法進行哈希表存取的,從而導(dǎo)致B哈希表的性能因為線程的增加而變差。

    3.2 ? 多線程C程序內(nèi)存安全的有效性實驗和性能

    實驗

    由于需要檢測C程序的內(nèi)存安全問題,所以我們需要對不同的內(nèi)存安全類型進行檢測。為此我們使用SARD(Software Assurance Reference Datase)作為多線程的C語言進行內(nèi)存安全的測試集。然后將本文的工具和SoftBoundCets[12-13]工具、Cruiser[14]工具進行比較。實驗結(jié)果如表2所示。SoftBC指SoftBoundCets,Cru指Cruiser。

    表2 ? Movec、SoftBoundCets、Cruiser對比

    表2中Yes表示能檢測出所有線程以及該線程存在的內(nèi)存安全錯誤,No表示不能檢測出所有線程的內(nèi)存安全錯誤。通過使用多個線程,并且每個線程運行不同的錯誤類型來比較工具對多線程、多內(nèi)存錯誤類型的有效性判定。由表可知SoftBoundCets僅支持單線程下內(nèi)存安全性問題的判定;Cruiser支持單線程和多線程關(guān)于堆內(nèi)存內(nèi)存安全的判定。而我們設(shè)計拓展的Movec工具可以支持單線程和多線程下多種內(nèi)存安全的判定。該表說明本文的工具在有效性上要比SoftBoundCets、Cruiser工具好。支持的范圍更廣。

    另外本文使用該工具直接對SARD中的多線程C程序進行驗證實驗結(jié)果如表3所示。表中的數(shù)據(jù)代表著程序運行的時間,單位是微妙/us。

    表3說明該工具可以有效的對開源測試集進行源代碼插樁,并正確的運行插樁之后的程序。

    由于C語言主要的應(yīng)用領(lǐng)域是嵌入式平臺,而卻隨著嵌入式硬件系統(tǒng)的不斷升級,多線程的C程序在嵌入式平臺也變的越來越常見,所以本節(jié)剩余部分,通過嵌入式平臺的應(yīng)用程序?qū)ovec的性能進行分析。其中MiBench一共包括35個程序,分別由通信,網(wǎng)絡(luò),安全,電子消費、工業(yè)制造和辦公自動化六個部分組成。每個應(yīng)用包含源文件、MakeFile文件和配置文件。通過選取其中的Dijkstra(small)、Dijkstra(large)、CRC32、basicmath(small)、basicmath(large)這三個部分進行實驗。實驗結(jié)果如表6所示,表中的時間單位為秒/s,代表著多線程程序運行的時間,表中的數(shù)據(jù)為10次運行之后,統(tǒng)計時間的平均值。

    4 ? 結(jié) ? 論

    介紹對多線程程序進行運行時驗證[15]的

    原理,對于多核程序該如何處理各個事件序列。然后主要介紹對于無鎖哈希表設(shè)計模式和實現(xiàn)算法,其中哈希表中內(nèi)容主要存儲在無鎖的鏈表中,并介紹支持多線程操作的查詢,插入,刪除的無鎖鏈表,在此基礎(chǔ)上設(shè)計可擴展的哈希表。通過設(shè)計插樁算法和clang編譯器完成支持多線程程序的運行時驗證的工具Movec[16]。最后通過在多線程和單線程情況下分析哈希表的性能;將設(shè)計后的Movec與SoftBoundCets、Cruiser進行有效性的對比實驗得出本文設(shè)計的工具更適合對于多線程程序的內(nèi)存安全監(jiān)測;并使用開源測試集SARD和Mibench進

    行性能分析實驗。接下來的工作主要是以下幾個方面:

    (1)結(jié)合靜態(tài)分析技術(shù),減少C程序中不必要的一些插樁

    (2)在原有的數(shù)據(jù)結(jié)構(gòu)存儲結(jié)構(gòu)上進行優(yōu)化,提高數(shù)據(jù)查找的速度

    (3)將源代碼的插樁過程分配到不同的處理器核心上,提高Movec工具編譯運行的性能。

    參考文獻

    [1] ? ?CHEN Z,WANG Z,ZHU Y,et al. Parametric runtime verification of C programs[C]//International Conference on Tools and Algorithms for the Construction and Analysis of Systems. Springer Berlin Heidelberg,2016: 299—315.

    [2] ? MEREDITH P O N,JIN D,GRIFFITH D,et al. An overview of the MOP runtime verification framework[J]. International Journal on Software Tools for Technology Transfer,2012,14(3): 249—289.

    [3] ? LEUCKER M,SCHALLHART C. A brief account of runtime verification[J]. The Journal of Logic and Algebraic Programming,2009,78(5): 293—303.

    [4] ? MACNAMEE C,HEFFERMAN D. On-chip ?instrumentation for runtime verification in deeply embedded processors[C]//2015 IEEE Computer Society Annual Symposium on VLSI. IEEE,2015: 374—379.

    [5] ? DURUMERIC Z,KASTEN J,ADRIAN D,et al. The matter of heartbleed[C]//Proceedings of the 2014 Conference on Internet Measurement Conference. ACM,2014: 475—488.

    [6] ? COWAN C,WAGLE P,PU C,et al. Buffer overflows: attacks and defenses for the vulnerability of the decade[C]// DARPA Information Survivability Conference and Exposition,2000. DISCEX′00. Proceedings. IEEE,2002,2:119—129.

    [7] ? GIACOMONI J,MOSELEY T,VACHHARAJANI M. FastForward for efficient pipeline parallelism: a cache-optimized concurrent lock-free queue[C]// ACM Sigplan Symposium on Principles and Practice of Parallel Programming. ACM,2008:43—52.

    [8] ? MICHAEL M M. High performance dynamic lock-free hash tables and list-based sets[C]// Fourteenth ACM Symposium on Parallel Algorithms and Architectures. ACM,2002:73—82.

    [9] ? LEE P P C,TIAN B,CHANDRANMENON G. A lock-free,cache-efficient multi-core synchronization mechanism for line-rate network traffic monitoring[C]//IEEE International Symposium on Parallel & Distributed Processing. IEEE,2010:1—12.

    [10] AUSTIN T M,BREACH S E,SOHI G S. Efficient detection of all pointer and array access errors[C]// Proc. '94 Conference on Programming Language Design and Implementation. 1994:290—301.

    [11] OIWA Y. Implementation of the memory-safe full ANSI-C compiler[C]//ACM Sigplan Notices. acm,2009,44(6): 259—269.

    [12] ?LUk C K,HONG S,KIM H. Qilin: exploiting parallelism on heterogeneous multiprocessors with adaptive mapping [C]// In Micro-42: Proceedings of the 42nd Annual IEEE/ACM International Symposium on Microarchitecture. New York,NY,USA,2009: 45—55.

    [13] ?NAGARAKATTE S,ZHAO J,MARTIN M M K,et al. CETS: compiler enforced temporal safety for C[C]//ACM Sigplan Notices. ACM,2010,45(8): 31—40.

    [14] ?ZENG Q,WU D,LIU P. Cruiser:concurrent heap buffer overflow monitoring using lock-free data structures[J]. Acm Sigplan Notices,2011,46(6):367—377.

    [15] ?張碩,賀飛. 運行時驗證技術(shù)的研究進展[J].計算機科學(xué),2014,41( 11) : 359—363.

    [16] ?王哲民,陳哲,朱云龍,等. 參數(shù)化運行時驗證研究和工具實現(xiàn)[J]. 小型微型計算機系統(tǒng),2016,37(12):2667—2672.

    猜你喜歡
    多線程編程語言
    基于JavaScript編程語言之 閉包技術(shù)在焦點輪播上的應(yīng)用
    中國新通信(2022年3期)2022-04-11 22:20:58
    壓力-體積轉(zhuǎn)換在CFC編程語言中的實現(xiàn)解析
    Java編程語言的特點與應(yīng)用
    常用計算機編程語言的分析及選用技巧
    電子測試(2018年18期)2018-11-14 02:30:52
    淺談不同編程語言對計算機軟件開發(fā)的影響
    電子制作(2018年1期)2018-04-04 01:48:36
    Java并發(fā)工具包對并發(fā)編程的優(yōu)化
    基于多線程文件傳輸關(guān)鍵技術(shù)研究與實現(xiàn)
    網(wǎng)頁爬蟲技術(shù)的關(guān)鍵技術(shù)研究探索
    一種基于多線程的高速磁盤鏡像算法
    iOS并發(fā)程序設(shè)計中幾種方法的特點及使用技巧研究
    青青草视频在线视频观看| 在线观看免费视频网站a站| 自拍偷自拍亚洲精品老妇| 国产精品久久久久成人av| 有码 亚洲区| 国产高清国产精品国产三级 | 午夜精品国产一区二区电影| 午夜免费观看性视频| 一个人看视频在线观看www免费| 蜜桃在线观看..| 91狼人影院| 国产成人精品福利久久| 亚洲精品视频女| 亚洲av男天堂| 18禁在线播放成人免费| 人人妻人人添人人爽欧美一区卜 | 免费黄网站久久成人精品| 丝瓜视频免费看黄片| 免费少妇av软件| 亚洲性久久影院| 精品亚洲成a人片在线观看 | 亚洲av欧美aⅴ国产| 欧美精品一区二区免费开放| 精品久久久久久久久av| 国精品久久久久久国模美| 日韩 亚洲 欧美在线| av黄色大香蕉| 18+在线观看网站| 高清午夜精品一区二区三区| 一区二区三区精品91| 国产亚洲欧美精品永久| 亚洲一级一片aⅴ在线观看| 大陆偷拍与自拍| 久久久精品免费免费高清| 蜜桃亚洲精品一区二区三区| 久久久久网色| 精品99又大又爽又粗少妇毛片| 午夜免费观看性视频| 亚洲av中文字字幕乱码综合| 国产精品嫩草影院av在线观看| 汤姆久久久久久久影院中文字幕| 亚洲av不卡在线观看| 亚洲一级一片aⅴ在线观看| 亚洲精品一二三| 久久这里有精品视频免费| 亚洲国产精品999| 看十八女毛片水多多多| 成年免费大片在线观看| 亚洲av欧美aⅴ国产| 久久人人爽人人片av| 日本午夜av视频| 国产一区有黄有色的免费视频| 激情五月婷婷亚洲| 伦理电影大哥的女人| 一本一本综合久久| 自拍偷自拍亚洲精品老妇| 国产久久久一区二区三区| 久久久国产一区二区| 亚洲性久久影院| 性色avwww在线观看| 日韩av不卡免费在线播放| 国产精品久久久久久久久免| 亚洲精品乱久久久久久| 亚洲欧美成人精品一区二区| 91精品伊人久久大香线蕉| 边亲边吃奶的免费视频| 欧美成人精品欧美一级黄| 亚洲自偷自拍三级| 国产精品99久久久久久久久| 18禁裸乳无遮挡免费网站照片| 日韩av在线免费看完整版不卡| 狠狠精品人妻久久久久久综合| 大码成人一级视频| 亚洲在久久综合| 大香蕉97超碰在线| 自拍偷自拍亚洲精品老妇| 国产日韩欧美亚洲二区| 激情 狠狠 欧美| 九九在线视频观看精品| 国产视频内射| 亚州av有码| 国产探花极品一区二区| 久久久色成人| 久久6这里有精品| 欧美区成人在线视频| 久久久久国产精品人妻一区二区| 亚洲怡红院男人天堂| 免费看不卡的av| 国产在视频线精品| 日本av免费视频播放| 国产成人精品一,二区| 视频中文字幕在线观看| 高清黄色对白视频在线免费看 | 老司机影院成人| av播播在线观看一区| 又黄又爽又刺激的免费视频.| 噜噜噜噜噜久久久久久91| 国产av码专区亚洲av| 亚洲av综合色区一区| 午夜激情久久久久久久| 亚洲国产日韩一区二区| 亚洲人与动物交配视频| 国产精品一及| 国产探花极品一区二区| 黄色视频在线播放观看不卡| 久久久久久伊人网av| 亚洲久久久国产精品| 久久久久精品性色| 日日撸夜夜添| 久久鲁丝午夜福利片| 久久人人爽人人片av| xxx大片免费视频| 波野结衣二区三区在线| 国产无遮挡羞羞视频在线观看| 一边亲一边摸免费视频| 少妇人妻一区二区三区视频| 成人特级av手机在线观看| 99久久精品国产国产毛片| 一本久久精品| 欧美日韩视频高清一区二区三区二| 国产亚洲91精品色在线| 国产成人免费观看mmmm| 自拍欧美九色日韩亚洲蝌蚪91 | 亚洲人成网站在线观看播放| 下体分泌物呈黄色| 久久久成人免费电影| 欧美激情极品国产一区二区三区 | 久久久久久久精品精品| 国产永久视频网站| 国产一区有黄有色的免费视频| 国产av国产精品国产| a 毛片基地| 99久久人妻综合| 老熟女久久久| 国产精品99久久99久久久不卡 | 99热6这里只有精品| 国产精品三级大全| 亚洲av欧美aⅴ国产| 亚洲三级黄色毛片| 婷婷色综合www| 一级毛片 在线播放| 亚洲成色77777| 直男gayav资源| 久久国产乱子免费精品| 中国美白少妇内射xxxbb| 少妇熟女欧美另类| 噜噜噜噜噜久久久久久91| 亚洲激情五月婷婷啪啪| a级一级毛片免费在线观看| 久久久久久伊人网av| 伦精品一区二区三区| 成年免费大片在线观看| 亚洲av电影在线观看一区二区三区| 国产永久视频网站| 久久婷婷青草| 亚洲欧美一区二区三区国产| 一边亲一边摸免费视频| 欧美精品一区二区大全| 一级爰片在线观看| 王馨瑶露胸无遮挡在线观看| 搡女人真爽免费视频火全软件| 午夜精品国产一区二区电影| 99久久精品热视频| 亚洲国产日韩一区二区| 亚洲av不卡在线观看| 久久6这里有精品| 视频区图区小说| 国产精品一区二区在线观看99| 久久久久久久久久久丰满| 国模一区二区三区四区视频| 国产成人91sexporn| 久久久久久久久久人人人人人人| 久久精品国产a三级三级三级| 久久午夜福利片| 日韩大片免费观看网站| 日本-黄色视频高清免费观看| 黄色欧美视频在线观看| 亚洲欧美中文字幕日韩二区| 男女国产视频网站| 婷婷色麻豆天堂久久| 人人妻人人爽人人添夜夜欢视频 | 日韩伦理黄色片| 波野结衣二区三区在线| 中文字幕人妻熟人妻熟丝袜美| 中文字幕精品免费在线观看视频 | 亚洲av日韩在线播放| 久久久精品免费免费高清| 亚洲欧美日韩另类电影网站 | 欧美成人一区二区免费高清观看| 久久久久久伊人网av| 日本黄大片高清| 久久久精品免费免费高清| 免费在线观看成人毛片| 日本爱情动作片www.在线观看| 久久精品久久久久久噜噜老黄| 国产高清不卡午夜福利| 国产免费又黄又爽又色| 少妇熟女欧美另类| 嫩草影院新地址| 国产高清不卡午夜福利| 亚洲精品456在线播放app| 亚洲国产欧美在线一区| 国产乱人视频| 日本黄色日本黄色录像| av在线app专区| 国产精品99久久99久久久不卡 | 22中文网久久字幕| 男女无遮挡免费网站观看| 久久99热6这里只有精品| 嫩草影院入口| 免费不卡的大黄色大毛片视频在线观看| 寂寞人妻少妇视频99o| 小蜜桃在线观看免费完整版高清| 性色av一级| 丰满少妇做爰视频| 亚洲国产欧美在线一区| 久久精品人妻少妇| 国产伦精品一区二区三区视频9| 国产成人免费无遮挡视频| 亚洲欧美日韩卡通动漫| 最后的刺客免费高清国语| 亚洲欧美中文字幕日韩二区| 久久精品国产亚洲网站| 伊人久久国产一区二区| 51国产日韩欧美| 最后的刺客免费高清国语| 国产精品精品国产色婷婷| 国产精品一区二区性色av| 亚洲,欧美,日韩| 99热这里只有是精品50| 97超碰精品成人国产| 少妇精品久久久久久久| av专区在线播放| 80岁老熟妇乱子伦牲交| 少妇 在线观看| 久久久久网色| 国产精品一二三区在线看| 毛片女人毛片| 在线观看免费高清a一片| 少妇人妻久久综合中文| 欧美xxⅹ黑人| 色综合色国产| 午夜视频国产福利| 中文字幕人妻熟人妻熟丝袜美| 97精品久久久久久久久久精品| 观看美女的网站| 国产一区亚洲一区在线观看| 国产 一区精品| 亚洲av日韩在线播放| 在线精品无人区一区二区三 | 久久99蜜桃精品久久| 午夜福利在线观看免费完整高清在| 97超碰精品成人国产| 国产高清三级在线| 香蕉精品网在线| 久久精品夜色国产| 97热精品久久久久久| 国产高清国产精品国产三级 | 99热这里只有是精品在线观看| 夜夜骑夜夜射夜夜干| 免费观看无遮挡的男女| 日本猛色少妇xxxxx猛交久久| 深夜a级毛片| 国产高潮美女av| 大陆偷拍与自拍| 国产在线视频一区二区| 秋霞伦理黄片| 最近最新中文字幕大全电影3| 一级av片app| 亚洲欧美日韩另类电影网站 | 亚洲精品第二区| 毛片女人毛片| 18禁在线无遮挡免费观看视频| 国产亚洲最大av| 一级毛片 在线播放| 久久精品国产自在天天线| 亚洲精品久久久久久婷婷小说| .国产精品久久| 亚洲av在线观看美女高潮| 干丝袜人妻中文字幕| 久久久久精品性色| 欧美成人一区二区免费高清观看| 校园人妻丝袜中文字幕| 成人国产av品久久久| 乱码一卡2卡4卡精品| 国精品久久久久久国模美| 欧美97在线视频| 国产精品国产三级专区第一集| 欧美高清成人免费视频www| 亚洲成色77777| 亚洲精品乱码久久久久久按摩| 亚洲成人中文字幕在线播放| 国产精品一区二区在线不卡| 综合色丁香网| av在线播放精品| 免费看av在线观看网站| 国产色婷婷99| 大又大粗又爽又黄少妇毛片口| 国产伦理片在线播放av一区| 一二三四中文在线观看免费高清| 国产精品秋霞免费鲁丝片| 永久免费av网站大全| 日韩精品有码人妻一区| 亚洲高清免费不卡视频| 老熟女久久久| 国产高清不卡午夜福利| 亚洲国产欧美在线一区| 99热这里只有是精品在线观看| 日韩,欧美,国产一区二区三区| 久久精品人妻少妇| 亚洲综合色惰| videossex国产| 国产精品久久久久久精品古装| 麻豆成人午夜福利视频| 亚洲精品中文字幕在线视频 | av视频免费观看在线观看| 99视频精品全部免费 在线| 日本av免费视频播放| 欧美日韩视频高清一区二区三区二| 亚洲av综合色区一区| 岛国毛片在线播放| 人妻夜夜爽99麻豆av| 日韩三级伦理在线观看| 日韩免费高清中文字幕av| 亚洲人与动物交配视频| 插逼视频在线观看| 色5月婷婷丁香| 高清午夜精品一区二区三区| av国产免费在线观看| 五月玫瑰六月丁香| 偷拍熟女少妇极品色| 性色avwww在线观看| 日日摸夜夜添夜夜爱| 五月开心婷婷网| 久久人人爽人人爽人人片va| 国产黄频视频在线观看| 在线观看三级黄色| 亚洲精品久久午夜乱码| a 毛片基地| 在线观看免费视频网站a站| 少妇高潮的动态图| 日本色播在线视频| 成人亚洲精品一区在线观看 | 天堂俺去俺来也www色官网| 91精品一卡2卡3卡4卡| 成人黄色视频免费在线看| 久久ye,这里只有精品| 韩国高清视频一区二区三区| 岛国毛片在线播放| 国产亚洲欧美精品永久| 成人二区视频| 亚洲精华国产精华液的使用体验| 亚洲激情五月婷婷啪啪| 国产男人的电影天堂91| 国产人妻一区二区三区在| 97超碰精品成人国产| 日韩伦理黄色片| 热99国产精品久久久久久7| 青春草视频在线免费观看| 夜夜看夜夜爽夜夜摸| 国产黄色免费在线视频| 18禁裸乳无遮挡动漫免费视频| 99热全是精品| 精品酒店卫生间| 大片电影免费在线观看免费| 亚洲美女搞黄在线观看| 一区二区三区精品91| 夜夜骑夜夜射夜夜干| 午夜免费男女啪啪视频观看| 日本色播在线视频| 能在线免费看毛片的网站| 97在线人人人人妻| 伦理电影大哥的女人| 我的女老师完整版在线观看| 男人爽女人下面视频在线观看| 久久鲁丝午夜福利片| 亚洲精品乱久久久久久| 丝袜脚勾引网站| 久久av网站| 国产精品一及| 国产黄色视频一区二区在线观看| 不卡视频在线观看欧美| 高清日韩中文字幕在线| 99热全是精品| 九草在线视频观看| 最新中文字幕久久久久| 女性被躁到高潮视频| 成人高潮视频无遮挡免费网站| 一边亲一边摸免费视频| 男人狂女人下面高潮的视频| av在线蜜桃| 一区二区三区免费毛片| 日本黄色日本黄色录像| 久久久精品94久久精品| 在线观看一区二区三区激情| 免费观看a级毛片全部| 插阴视频在线观看视频| kizo精华| 少妇人妻久久综合中文| 亚洲国产精品成人久久小说| 在线精品无人区一区二区三 | 插阴视频在线观看视频| av专区在线播放| 成人黄色视频免费在线看| 高清欧美精品videossex| 大香蕉久久网| 亚洲国产av新网站| a 毛片基地| 国产男女超爽视频在线观看| 亚洲精品色激情综合| 香蕉精品网在线| 国产精品久久久久久久电影| 亚洲国产精品一区三区| 亚洲图色成人| 久久久午夜欧美精品| 99久久精品国产国产毛片| 一个人看视频在线观看www免费| 国产国拍精品亚洲av在线观看| 亚洲精品成人av观看孕妇| 国产精品99久久久久久久久| 少妇人妻 视频| 97精品久久久久久久久久精品| 三级国产精品欧美在线观看| 嫩草影院新地址| 中文字幕久久专区| 亚洲伊人久久精品综合| 91精品国产九色| 午夜福利在线在线| 99久久综合免费| 国产伦理片在线播放av一区| 欧美国产精品一级二级三级 | 亚洲国产成人一精品久久久| 99精国产麻豆久久婷婷| 国产高清有码在线观看视频| 免费人成在线观看视频色| 黄片wwwwww| 亚洲精品成人av观看孕妇| 永久网站在线| 国产成人免费无遮挡视频| 国产精品国产av在线观看| 七月丁香在线播放| 中文字幕亚洲精品专区| 日日啪夜夜撸| 男人和女人高潮做爰伦理| 亚洲中文av在线| 美女xxoo啪啪120秒动态图| 亚洲人成网站高清观看| 精品久久久久久久久亚洲| 青春草国产在线视频| 人妻夜夜爽99麻豆av| 国产免费一区二区三区四区乱码| 人妻一区二区av| 成人特级av手机在线观看| 国产色爽女视频免费观看| 美女主播在线视频| 国产美女午夜福利| 日本黄大片高清| 久久午夜福利片| 亚洲最大成人中文| 精品一区在线观看国产| 日韩电影二区| 亚洲综合色惰| 纯流量卡能插随身wifi吗| 91久久精品电影网| 国产成人a∨麻豆精品| 午夜免费男女啪啪视频观看| 一二三四中文在线观看免费高清| 亚洲aⅴ乱码一区二区在线播放| 亚洲精品一二三| 亚洲自偷自拍三级| 亚洲美女搞黄在线观看| 国产一区二区三区av在线| 久久精品国产亚洲网站| 肉色欧美久久久久久久蜜桃| 美女内射精品一级片tv| 不卡视频在线观看欧美| 搡老乐熟女国产| 久久久欧美国产精品| 免费av中文字幕在线| 一级毛片aaaaaa免费看小| 亚洲一级一片aⅴ在线观看| 高清在线视频一区二区三区| 亚洲美女黄色视频免费看| 在现免费观看毛片| 国产在线视频一区二区| 久久久久久久精品精品| 欧美老熟妇乱子伦牲交| 中国国产av一级| 久久毛片免费看一区二区三区| 有码 亚洲区| 亚洲三级黄色毛片| 国产精品人妻久久久影院| 国产日韩欧美亚洲二区| 草草在线视频免费看| 亚洲精品456在线播放app| 日产精品乱码卡一卡2卡三| 久久人人爽人人片av| 久久久久久九九精品二区国产| 女性被躁到高潮视频| 国产免费福利视频在线观看| 中文乱码字字幕精品一区二区三区| 在线天堂最新版资源| 亚洲婷婷狠狠爱综合网| 国产成人精品福利久久| 色视频在线一区二区三区| 中国美白少妇内射xxxbb| 精品一区在线观看国产| 精品久久久久久久末码| 国产白丝娇喘喷水9色精品| 天堂8中文在线网| 日韩在线高清观看一区二区三区| 国国产精品蜜臀av免费| 久久久久久久亚洲中文字幕| 一本色道久久久久久精品综合| 亚洲av在线观看美女高潮| 最新中文字幕久久久久| 成年av动漫网址| www.色视频.com| 亚洲不卡免费看| 亚洲美女视频黄频| 狠狠精品人妻久久久久久综合| 一区二区三区精品91| 免费看av在线观看网站| 国产女主播在线喷水免费视频网站| 男男h啪啪无遮挡| 国产一区二区三区综合在线观看 | 久久这里有精品视频免费| 国产黄色免费在线视频| 国产片特级美女逼逼视频| av天堂中文字幕网| 国产av国产精品国产| 欧美变态另类bdsm刘玥| 国产国拍精品亚洲av在线观看| 老熟女久久久| 又大又黄又爽视频免费| 美女高潮的动态| 亚洲一区二区三区欧美精品| 亚洲欧美一区二区三区国产| 插逼视频在线观看| av不卡在线播放| 伦理电影大哥的女人| 久久6这里有精品| 成人免费观看视频高清| 在线观看美女被高潮喷水网站| 亚洲精品一二三| 欧美另类一区| 人妻 亚洲 视频| 一级片'在线观看视频| 欧美一级a爱片免费观看看| 亚洲内射少妇av| 人妻 亚洲 视频| 美女xxoo啪啪120秒动态图| 人人妻人人爽人人添夜夜欢视频 | 哪个播放器可以免费观看大片| 久久久久久久大尺度免费视频| 亚洲熟女精品中文字幕| 久热久热在线精品观看| 亚洲精品日韩av片在线观看| 国产爽快片一区二区三区| 久久久成人免费电影| av黄色大香蕉| 黑人高潮一二区| 久久婷婷青草| 亚洲av电影在线观看一区二区三区| 免费看光身美女| 日韩欧美精品免费久久| 欧美xxⅹ黑人| 狂野欧美激情性bbbbbb| 婷婷色麻豆天堂久久| 美女高潮的动态| 精品久久久久久久久亚洲| 欧美极品一区二区三区四区| 少妇人妻 视频| 国产乱人偷精品视频| 在线观看三级黄色| 80岁老熟妇乱子伦牲交| 中文精品一卡2卡3卡4更新| 亚洲三级黄色毛片| 国产视频首页在线观看| 人人妻人人爽人人添夜夜欢视频 | 少妇人妻 视频| 亚洲国产毛片av蜜桃av| 高清av免费在线| 亚洲人成网站在线观看播放| 最近中文字幕高清免费大全6| 在线精品无人区一区二区三 | 久久国产精品大桥未久av | 韩国高清视频一区二区三区| 黄片wwwwww| 国产精品麻豆人妻色哟哟久久| 国国产精品蜜臀av免费| 亚洲国产精品999| 久久综合国产亚洲精品| 男人添女人高潮全过程视频| 亚洲av电影在线观看一区二区三区| 不卡视频在线观看欧美| 久久午夜福利片| 人妻夜夜爽99麻豆av| 天堂俺去俺来也www色官网| 国产精品秋霞免费鲁丝片| 中文字幕人妻熟人妻熟丝袜美| 一级片'在线观看视频| 欧美日本视频| 高清av免费在线| 国产伦在线观看视频一区| 久久国产亚洲av麻豆专区| 老司机影院毛片| 色婷婷久久久亚洲欧美| 国产黄色免费在线视频| 在线亚洲精品国产二区图片欧美 | 日韩,欧美,国产一区二区三区| 91精品国产国语对白视频| 国产av精品麻豆| a 毛片基地| 精华霜和精华液先用哪个|