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

    JavaScript混淆惡意代碼檢測方法

    2021-11-17 04:32:00牟永敏張志華崔展齊
    計算機仿真 2021年2期
    關鍵詞:函數(shù)調用調用代碼

    王 婷,牟永敏,張志華,崔展齊

    (北京信息科技大學網(wǎng)絡文化與數(shù)字傳播北京市重點實驗室,北京 100101)

    1 引言

    隨著互聯(lián)網(wǎng)規(guī)模的快速增長和用戶人數(shù)的迅速增加,互聯(lián)網(wǎng)公司在產(chǎn)品的用戶體驗上有著越來越高的追求。前端部分的重要性日益凸顯,導致大量的業(yè)務邏輯由服務端轉移到客戶端。Bichhawat等人[1]的研究結果表明超過95%的Web應用選用JavaScript語言進行前端開發(fā)。JavaScript語言所具有的跨平臺、可遠程嵌入、能動態(tài)執(zhí)行的特性在為用戶提供更好的交互體驗的同時,也給Web應用帶來了更多的安全上的風險和威脅[2]。大量的安全報告表明,惡意網(wǎng)頁已成為攻擊者針對 Web客戶端進行攻擊的主要途徑和平臺[3]。因此,惡意JavaScript代碼的檢測成為一項影響Web應用安全的重要研究課題。

    網(wǎng)頁中的攻擊代碼常常具有多樣化和隱蔽性的特點,其中17.1%的攻擊行為是通過混淆JavaScript代碼進行.代碼混淆是一種為了避免安全系統(tǒng)檢測而改變數(shù)據(jù)形態(tài)的技術[4]。另外,Web前端應用為減少代碼體積,加快網(wǎng)頁加載速度,通常會對代碼進行優(yōu)化與壓縮。壓縮后的代碼常常與混淆后的代碼一樣失去可讀性,同時也為惡意代碼的隱藏提供了便利。隨著JavaScript代碼壓縮與混淆技術的成熟,惡意代碼的檢測也變得越來越困難。

    研究表明,惡意代碼的行為常常具有某種規(guī)律[5]。如惡意代碼通常會更多地調用某幾種JavaScript語言的內(nèi)置函數(shù)以實現(xiàn)代碼惡意代碼的偽裝和隱藏,且為完成某種惡意功能,函數(shù)的調用順序以及函數(shù)之間的調用圖會具有某種一致性。而常用的代碼自動壓縮與混淆工具為保證代碼在混淆前后語義上的等價,通常會保持原有的函數(shù)調用信息不變[5]。因此,利用已知的惡意代碼中各函數(shù)的調用信息可以為新的惡意代碼檢測的提供參考。

    針對以上問題,本文提出了基于函數(shù)調用信息的JavaScript混淆惡意代碼檢測方法。通過提取JavaScript代碼中的函數(shù)調用序列和函數(shù)調用關系圖,比較混淆前后函數(shù)調用關系的序列相似度和圖相似度,得到混淆前后代碼中函數(shù)的對應關系,為JavaScript混淆代碼中惡意函數(shù)的檢測提供參考。

    2 國內(nèi)外研究現(xiàn)狀

    2.1 惡意代碼檢測技術

    網(wǎng)頁中惡意代碼檢測的研究已經(jīng)歷了十余年的發(fā)展。自2004年開始,基于瀏覽器的客戶端蜜罐(honeypot)系統(tǒng)已成為一類檢測客戶端惡意代碼攻擊的有力工具。這些工具通常采用將可以網(wǎng)頁加載到易受攻擊的瀏覽器中并觀察系統(tǒng)總文件、注冊表和進程的變化來檢測網(wǎng)頁中的惡意代碼[6]。

    2.1.1 靜態(tài)分析的方法

    Canali等[7]提出的Prophiler是一個利用靜態(tài)分析進行惡意代碼和良性代碼分類的系統(tǒng)。Prophiler利用HTML及其關聯(lián)的JavaScript代碼以及URL信息構建有監(jiān)督學習的監(jiān)測模型,對代碼進行初步分類。再對被判定為惡意的代碼利用更精細的工具進行分析。Prophiler的不足是無法應對混淆后的惡意代碼。

    Curtsinger等[8]提出的ZOZZLE是一個靜態(tài)的JavaScript惡意代碼檢測工具,其原理基于這樣的假設:惡意的JavaScript代碼一定會在最終執(zhí)行前被反混淆。ZOZZLE利用JavaScript語言或宿主環(huán)境提供的可實現(xiàn)從字符串到代碼的轉換的函數(shù)(如document.write, eval)對代碼進行反混淆,并將反混淆后的代碼轉換為抽象語法樹、然后將從抽象語法樹中提取的特征輸入到樸素貝葉斯分類器中。

    2.1.2 動態(tài)分析的方法

    Xu等[5]提出的JStill通過分析器方法調用信息捕捉混淆惡意代碼中的特征,結合靜態(tài)分析和輕量級的運行時檢查,檢測混淆后的代碼中的惡意代碼。JStill的設計思想基于如下假設:混淆后的惡意代碼在被執(zhí)行前需要進行一定程度的反混淆以完全實現(xiàn)其惡意功能,而反混淆的過程必然會調用特定的一組函數(shù),因此這組特定函數(shù)的調用情況可以作為判斷惡意代碼的一個依據(jù)。JStill將函數(shù)調用分為了原生函數(shù)(native function)、內(nèi)置函數(shù)(built-in function)、DOM方法以及用戶定義函數(shù)四類。JStill總結了惡意代碼在函數(shù)調用上與良性代碼的差別,包括:惡意代碼會從靜態(tài)的角度隱藏一些在反混淆中常用的函數(shù)的參數(shù),使得這些參數(shù)不會被靜態(tài)分析工具獲取或分析,因為參數(shù)通常會暴露代碼的惡意行為;惡意代碼會隱藏函數(shù)定義,使得從靜態(tài)分析的角度解析不到函數(shù)的定義等。JStill主要關注基于編碼/加密的混淆惡意代碼的檢測。

    Gorji等[6]提出了一個基于內(nèi)部函數(shù)調用序列檢測混淆惡意代碼的方法。該方法的檢測分為兩個階段。首先是行為收集階段,通過在瀏覽器中加載真實的惡意的網(wǎng)頁,利用瀏覽器的調試工具收集函數(shù)調用信息。然后基于正則化的編輯距離將具有相似函數(shù)調用序列的網(wǎng)頁聚集為等價類,并且為每個等價類生成相應的行為簽名(behavior signature)。完成行為收集后,進入檢測階段。一個網(wǎng)頁只有在它的函數(shù)調用序列至少和一個已知的行為簽名匹配時,才會被判定為惡意的。實驗表明,該方法生成的行為簽名可以有效檢測出混淆的惡意JavaScript代碼,并且具有較低的誤報率。

    AbdelKhlek等[9]提出了一個JavaScript代碼反混淆工具JSDES。JSDES利用自主構建的Mozilla的SpiderMonkey JavaScript解釋器作為JavaScript執(zhí)行環(huán)境的仿真器。JSDES在仿真器中實現(xiàn)了JavaScript惡意代碼中常用的函數(shù),并根據(jù)代碼的運行日志分析各類函數(shù)的執(zhí)行信息,對惡意代碼實現(xiàn)反混淆。

    2.2 代碼混淆技術

    2.2.1 數(shù)據(jù)混淆(Data Obfuscation)

    數(shù)據(jù)混淆通常在代碼中將字符串分割成多個變量或子串然后再拼接成原始字符串的策略來對原始字符串進行偽裝。拼接可通過調用document.write, eval等函數(shù)實現(xiàn)。攻擊者還可能通過改變變量的順序來給代碼分析帶來更多困難。

    2.2.2 編碼混淆(Encoding Obfuscation)

    編碼混淆的方法大體上有兩種。第一種是將字符轉換成對應的ASCII或Unicode編碼值,以便繞開靜態(tài)分析程序的檢測。第二種是利用自定義的加密函數(shù)來對原始代碼編碼。攻擊者編寫一對加密和解密的函數(shù),使用加密函數(shù)將原始代碼加密,并在代碼執(zhí)行時調用解密函數(shù)將代碼解密為原始代碼

    2.2.3 標識符重命名混淆(Variable and Function (Re-)Name Randomization Obfuscation)

    標識符重命名混淆指在不改變程序語義的條件下對標識符做局部或全局的替換,替換后的標識符通常為隨機生成的字符串,可讀性大大減弱。標識符重命名混淆通常用于加大手工代碼分析的難度[9]。

    2.2.4 邏輯結構混淆(Logical Structure Obfuscation)

    攻擊者可以通過改變代碼邏輯結構的方式來改變程序的控制流。一個典型的例子是在運行時插入一段永遠不會被執(zhí)行的代碼。

    2.2.5 動態(tài)生成和運行時計算混淆

    動態(tài)生成(D-Gen, Dynamic Generation)和運行時計算(R-Eval, Runtime Evaluation)是惡意JavaScript代碼混淆的常用手段[5]。D-Gen可以在運行時從文本中生成代碼,R-Eval可以將字符串表達式轉成代碼。而惡意代碼檢測工具通常會在檢測過程中忽略字符串常量,從而使得混惡意代碼繞過檢測。D-Gen和R-Eval這兩個JavaScript語言的特性提供了從字符串到代碼的轉換方法,因此常被用作惡意代碼的混淆的手段。

    然而,D-Gen和R-Eval特性也常在正常代碼中使用,如條件加載,即只在相應的條件滿足時加載對應的組件。如JavaScript代碼包含只能在運行時取得的信息時(如用戶輸入、客戶端與服務端的交互等),可以借助R-Eval實現(xiàn)條件加載。因此,正常代碼和惡意代碼因壓縮和混淆技術的廣泛使用而變得更加難以區(qū)分。

    3 相關定義

    本文將函數(shù)調用信息形式化為函數(shù)調用關系圖和函數(shù)調用序列。

    IBM Watson實驗室在其開發(fā)的的WALA靜態(tài)開源分析框架中實現(xiàn)了調用圖的構建,并針對JavaScript語言的特性,開發(fā)了將JavaScript代碼標準化的工具JS_WALA,在此基礎上實現(xiàn)了面向JavaScript語言的基于指針分析的調用圖構造分析以及基于域的調用圖構造分析[10]。

    劉星[11]等人提出了一種基于函數(shù)調用圖的惡意代碼相似性分析方法,通過函數(shù)調用圖的相似性距離來度量兩個惡意代碼函數(shù)調用圖的相似性,進而分析得到惡意代碼的相似性。

    定義 1:函數(shù)調用關系圖G=(V,E)

    函數(shù)調用關系圖G是一個二元組,其中V代表圖中的所有節(jié)點,E代表圖中的所有邊。每個節(jié)點v代表一個函數(shù),每條邊e:v->w代表一個函數(shù)調用關系,令v,w為兩個函數(shù),若在v的定義中出現(xiàn)了對w的調用,則稱v調用了w,v與w具有調用關系。

    函數(shù)調用關系圖反映了函數(shù)之間的調用關系,對于簡單的代碼混淆,函數(shù)名可能會被混淆器重構,但函數(shù)之間的調用關系保持具有某種不變性,因此可以利用函數(shù)調用關系圖檢測混淆前后的代碼。

    以代碼1為例,其函數(shù)調用關系圖如圖1所示。

    代碼1

    function f0() {

    f1();

    }

    function f1() {

    f2();

    f3();

    }

    f0();

    f1();

    圖1 函數(shù)調用關系圖示例

    定義 2:函數(shù)調用序列 Seq

    函數(shù)調用序列Seq是一個由函數(shù)組成的線性序列,其中相鄰的函數(shù)v, w在源代碼的語法樹中具有中序遍歷的順序關系。

    張志華[12]等人提出的函數(shù)調用路徑用于解決回歸測試中的路徑爆炸問題,將函數(shù)的業(yè)務流程抽象為函數(shù)調用路徑,簡化了對函數(shù)執(zhí)行過程的描述。

    函數(shù)調用序列表達了函數(shù)在統(tǒng)一代碼片段中的書寫順序,對于簡單的混淆的,函數(shù)調用序列具有不變性,因此可以用于匹配混淆前后的代碼。

    代碼1的函數(shù)調用序列如下圖所示:

    圖2 函數(shù)調用序列示例

    4 基于Closure Compiler的代碼混淆

    4.1 Closure Compiler的混淆方法

    Closure Compiler是Google開發(fā)的一個JavaScript代碼優(yōu)化和壓縮工具,經(jīng)優(yōu)化和壓縮后的JavaScript代碼可以被瀏覽器更快地加載和執(zhí)行。與一般的JavaScript代碼編譯器不同的是,Closure Compiler并不是將JavaScript編譯為機器碼,而是將它編譯為運行更快的JavaScript代碼。Closure Compiler通過解析JavaScript代碼,移除無用代碼(dead code)然后重寫并壓縮有用代碼,并且檢查語法、變量引用以及類型,對JavaScript代碼中常見的陷阱(pitfalls)給出警告。

    Closure Compiler提供了三個級別的編譯選項。分別是只移除空白符、簡單優(yōu)化和高級優(yōu)化。

    1) 只移除空白符(Whitespace-only)的編譯等級會將代碼中的所有注釋和換行符、不必要的空白符和無關的標點(如多余的括號或分號)等字符移除。此等級輸出的JavaScript代碼在功能上和原始代碼等價。

    2) 簡單優(yōu)化的編譯等級首先進行和只移除空白符的編譯等級相同的處理,然后在表達式和函數(shù)層級進行優(yōu)化,包括將局部變量和函數(shù)參數(shù)名重構為更短的標識符。這樣的重命名可以在一定程度上減小代碼的字節(jié)數(shù)。由于此等級只對函數(shù)內(nèi)部的局部變量和參數(shù)進行了重命名,因此不會影響到此代碼和其他JavaScript代碼的交互。

    3) 高級優(yōu)化的編譯等級首先進行前兩個等級的處理,然后加入一些更復雜的全局優(yōu)化,使得輸出的代碼的體積進一步壓縮。高級優(yōu)化會移除無用代碼(dead code),此功能在引入龐大的外部庫后打包代碼時非常有用,可以對沒有用到過的庫中的代碼進行刪除以精簡代碼。高級優(yōu)化還會對一些函數(shù)調用進行“內(nèi)聯(lián)”,也就是將函數(shù)體展開在函數(shù)調用的地方,用以替換函數(shù)調用語句。高級優(yōu)化也會對一些常量進行內(nèi)聯(lián)。

    4.2 函數(shù)調用信息的不變性

    通過觀察Google Closure Compiler的編譯方法,發(fā)現(xiàn)簡單優(yōu)化雖然改變了函數(shù)和變量的標識符,但函數(shù)之間的嵌套調用關系以及順序執(zhí)行關系具有某種不變性,由此可以通過提取并比較兩份代碼的函數(shù)調用信息來為代碼行為的相似性提供依據(jù)。另外,對于一些內(nèi)置函數(shù)的調用,混淆并不會改變函數(shù)名,因此JavaScript語言或宿主內(nèi)置的函數(shù)名在混淆前后的不變形也為函數(shù)調用序列一致性的檢測提供了線索。

    本文將函數(shù)調用信息形式化為函數(shù)調用關系圖和函數(shù)調用序列,將代碼相似性的檢測問題規(guī)約為圖相似度和序列相似度的計算問題。以函數(shù)調用關系圖和函數(shù)調用序列作為代碼結構信息的載體。

    5 基于函數(shù)調用信息的JavaScript代碼混淆惡意代碼檢測方法

    本文利用Antlr4構建JavaScript代碼解析器,首先進行詞法分析,得到token序列,再進行語法分析,得到抽象語法樹;然后遍歷抽象語法樹,并通過在遍歷器中設置提取函數(shù)調用信息的事件監(jiān)聽器,在遍歷的過程中收集函數(shù)調用關系圖和函數(shù)調用序列。最后采用基于圖和序列相似度的比較算法計算函數(shù)節(jié)點的相似度。函數(shù)調用信息的提取流程如圖3所示。

    圖3 函數(shù)調用信息提取流程

    5.1 函數(shù)調用關系圖的提取

    函數(shù)調用關系圖的提取是在遍歷到函數(shù)調用節(jié)點時記錄當前的被調函數(shù)和調用函數(shù),將相應的節(jié)點和邊納入函數(shù)調用關系圖。

    Algorithm Function Call Graph Extraction

    Input:

    file: JavaScript source file

    Output:

    graph: Function call graph

    tokens=lexer.tokenize(file)

    AST=parser.parse(tokens)

    listener=FunctionCallGraphListener()

    graph=walk(AST, listener)

    return graph

    FunctionCallGraphListener:

    If enterMethodDefinition:

    currentFunction=this.method

    If enterMethodInvocation:

    graph.addEdge(currentFunction, this.method)

    5.2 函數(shù)調用序列的提取

    Algorithm Function Call Graph Extraction

    Input:

    file: JavaScript source file

    Output:

    graph: Function call graph

    tokens=lexer.tokenize(file)

    AST=parser.parse(tokens)

    listener=FunctionCallSequenceListener()

    graph=walk(AST, listener)

    return graph

    FunctionCallSequenceListener:

    If enterMethodInvocation:

    sequence.add(this.method)

    return sequence

    5.3 函數(shù)調用信息相似度的比較

    本文對函數(shù)調用序列的相似度采用混合的正則化編輯距離計算。對函數(shù)名、函數(shù)內(nèi)部特征及函數(shù)參數(shù)信息分別計算編輯距離,然后取平均值。

    6 實驗

    6.1 實驗數(shù)據(jù)集

    本實驗采用使用廣泛的開源JavaScript庫Underscore和jQuery,以及部分Alexa網(wǎng)站發(fā)布的網(wǎng)站的代碼作為良性的代碼數(shù)據(jù)集,并利用Google Closure Compiler對原始JavaScript代碼進行混淆,得到混淆后的對比數(shù)據(jù)集。

    實驗原始數(shù)據(jù)集及靜態(tài)分析得到的信息如表1所示,原始代碼數(shù)據(jù)來自cdnjs.com。

    表1 實驗數(shù)據(jù)集統(tǒng)計信息

    混淆前后的樣例代碼如下:

    ∥ Trim out all falsy values from an array.

    _.compact=function(array) {

    return _.filter(array, Boolean);

    };

    ∥ Internal implementation of a recursive `flatten` function.

    var flatten=function(input, shallow, strict, output) {

    output=output || [];

    var idx=output.length;

    for (var i=0, length=getLength(input); i < length; i++) {

    var value=input[i];

    if (isArrayLike(value) && (_.isArray(value) || _.isArguments(value))) {

    ∥ Flatten current level of array or arguments object.

    if (shallow) {

    var j=0, len=value.length;

    while (j < len) output[idx++]=value[j++];

    } else {

    flatten(value, shallow, strict, output);

    idx=output.length;

    }

    } else if (!strict) {

    output[idx++]=value;

    }

    }

    return output;

    };

    simple級別混淆后的樣例代碼如下:

    _.compact=function(c){return _.filter(c,Boolean)};var flatten=function(c,f,g,a){a=a||[];for(var d=a.length,e=0,k=getLength(c);e

    advanced級別混淆后的樣例代碼如下:

    c.compact=function(a){return c.filter(a,Boolean)};c.flatten=function(a,b){return v(a,b,!1)};

    6.2 實驗方法與環(huán)境

    本文的方法首先分別對混淆前后的代碼進行詞法和語法分析,并以函數(shù)定義為單位將語法樹切分為函數(shù)子樹。然后提取每棵函數(shù)子樹的調用信息,包括函數(shù)調用關系圖和函數(shù)調用序列。再對混淆前后的函數(shù)集合各自攜帶的函數(shù)調用信息進行兩兩比較,取相似度高于一定閾值的函數(shù)對,得到混淆前后函數(shù)的對應關系列表。

    函數(shù)調用信息的相似度根據(jù)函數(shù)調用序列的三組正則化編輯距離值確定。具體如表2和表3所示。

    表2 函數(shù)的內(nèi)部的三組編輯距離

    表3 函數(shù)內(nèi)部metric列表

    函數(shù)內(nèi)部的metric向量對函數(shù)邏輯和結構的反應足夠充分,因此對metric向量設置了較高的閾值。而函數(shù)名會在混淆后發(fā)生改變,因此設置了較低的閾值。函數(shù)調用序列因函數(shù)名的改變而變得難以確定函數(shù)節(jié)點的對應關系,因此也設置了較低的閾值。

    實驗環(huán)境為一臺具有2.3 GHz Intel Core i5處理器的PC機,內(nèi)存為16G。實驗程序采用Java語言實現(xiàn)。

    6.3 實驗結果與分析

    對于得到的混淆前后函數(shù)的對應關系,采用人工評判的方式確認結果。結果統(tǒng)計如表4所示。

    表4 實驗結果

    觀察實驗結果,發(fā)現(xiàn)對于代碼規(guī)模較小的underscore數(shù)據(jù)集,找到的函數(shù)定義個數(shù)反而最多,究其原因,與函數(shù)調用信息提取所用的解析器的實現(xiàn)有關。本文在實現(xiàn)解析器時,以underscore數(shù)據(jù)集作為樣例,因此對其中出現(xiàn)最多的函數(shù)表達式形式定義的函數(shù)支持較好,而忽略了其他兩個數(shù)據(jù)集中函數(shù)定義常用的形式。

    三個數(shù)據(jù)集普遍準確率大大高于召回率,這主要由于為函數(shù)內(nèi)部metric設置了較高的閾值。假陽性數(shù)據(jù)則是因為兩個函數(shù)名相近(如later與b.after)。

    JSNice是一款JavaScript語言的重構與反混淆工具,可以根據(jù)代碼上下文推測出函數(shù)原本的具有語義的名字。本文將混淆后的實驗數(shù)據(jù)用JSNice進行反混淆,發(fā)現(xiàn)JSNice對部分混淆后的函數(shù)并不能準確推測出原有的函數(shù)名,如underscore數(shù)據(jù)集中的_.where函數(shù),在混淆后被換名為c.Xa,而JSNice給出的反混淆結果中此函數(shù)名為_.Xa。

    檢測用時與代碼規(guī)模成正比,與JSNice的反混淆過程用時基本相當。

    7 結論

    本文分析了常用的JavaScript代碼混淆器Google Closure Compiler的混淆手段,針對其中的換名策略,觀察到了函數(shù)調用關系圖和調用序列在結構上保持不變的特點,提出了基于函數(shù)調用信息的JavaScript混淆惡意代碼的自動檢測方法。實驗表明,此方法可檢測出混淆后的惡意代碼和混淆前代碼的對應關系,并且在檢測效果上優(yōu)于一般的JavaScript反混淆工具。

    猜你喜歡
    函數(shù)調用調用代碼
    核電項目物項調用管理的應用研究
    LabWindows/CVI下基于ActiveX技術的Excel調用
    測控技術(2018年5期)2018-12-09 09:04:46
    創(chuàng)世代碼
    動漫星空(2018年11期)2018-10-26 02:24:02
    創(chuàng)世代碼
    動漫星空(2018年2期)2018-10-26 02:11:00
    創(chuàng)世代碼
    動漫星空(2018年9期)2018-10-26 01:16:48
    創(chuàng)世代碼
    動漫星空(2018年5期)2018-10-26 01:15:02
    基于函數(shù)調用序列模式和函數(shù)調用圖的程序缺陷檢測方法*
    探討C++編程中避免代碼冗余的技巧
    Unity3D項目腳本優(yōu)化分析與研究
    中國新通信(2017年1期)2017-03-08 03:12:21
    基于系統(tǒng)調用的惡意軟件檢測技術研究
    日韩免费av在线播放| 国产片内射在线| 亚洲av成人不卡在线观看播放网| 最近最新中文字幕大全电影3| 亚洲国产欧美人成| 成人特级黄色片久久久久久久| 成人手机av| 欧美午夜高清在线| 亚洲在线自拍视频| 亚洲aⅴ乱码一区二区在线播放 | 欧美国产日韩亚洲一区| 19禁男女啪啪无遮挡网站| 久久香蕉精品热| 成年女人毛片免费观看观看9| 成人三级黄色视频| 亚洲国产欧美网| 很黄的视频免费| 黄频高清免费视频| 日本精品一区二区三区蜜桃| 欧美精品啪啪一区二区三区| 看免费av毛片| 亚洲人成电影免费在线| 黄色女人牲交| 特级一级黄色大片| xxxwww97欧美| 露出奶头的视频| 亚洲美女视频黄频| 男人舔女人的私密视频| 不卡av一区二区三区| 久久久久精品国产欧美久久久| 国产一区二区三区在线臀色熟女| 国产一级毛片七仙女欲春2| 啪啪无遮挡十八禁网站| 又粗又爽又猛毛片免费看| 午夜久久久久精精品| 国模一区二区三区四区视频 | 高清毛片免费观看视频网站| 男女午夜视频在线观看| 香蕉久久夜色| 女警被强在线播放| videosex国产| 国产爱豆传媒在线观看 | av片东京热男人的天堂| 午夜a级毛片| 国产精品野战在线观看| 看片在线看免费视频| 成人手机av| 九九热线精品视视频播放| 成人特级黄色片久久久久久久| 狂野欧美激情性xxxx| 久久久国产精品麻豆| 亚洲熟女毛片儿| 中文字幕精品亚洲无线码一区| 久久天堂一区二区三区四区| 又紧又爽又黄一区二区| 久久久国产成人免费| 午夜a级毛片| 国产乱人伦免费视频| 成年免费大片在线观看| 久久中文看片网| 欧美三级亚洲精品| 啦啦啦韩国在线观看视频| 亚洲欧美激情综合另类| 亚洲中文av在线| 午夜福利18| 成人永久免费在线观看视频| 老司机福利观看| 日本一区二区免费在线视频| 我要搜黄色片| 中文字幕人妻丝袜一区二区| 色哟哟哟哟哟哟| 曰老女人黄片| 99久久99久久久精品蜜桃| 又爽又黄无遮挡网站| 国产精品爽爽va在线观看网站| 亚洲精品中文字幕在线视频| 日韩欧美在线二视频| 中亚洲国语对白在线视频| 日本五十路高清| 欧美日韩国产亚洲二区| e午夜精品久久久久久久| АⅤ资源中文在线天堂| 国产一区二区三区视频了| 国产探花在线观看一区二区| 欧美色视频一区免费| 黄色视频不卡| 99久久99久久久精品蜜桃| 亚洲人成77777在线视频| 伊人久久大香线蕉亚洲五| 不卡一级毛片| 老熟妇乱子伦视频在线观看| 亚洲av成人一区二区三| 国产探花在线观看一区二区| 国产成+人综合+亚洲专区| 欧美乱码精品一区二区三区| 欧美精品啪啪一区二区三区| 白带黄色成豆腐渣| 无限看片的www在线观看| 亚洲中文日韩欧美视频| 人妻丰满熟妇av一区二区三区| 亚洲第一电影网av| 可以免费在线观看a视频的电影网站| 99热6这里只有精品| 久久久国产成人免费| 久久午夜亚洲精品久久| 最近最新免费中文字幕在线| 少妇裸体淫交视频免费看高清 | 香蕉av资源在线| 亚洲精品久久成人aⅴ小说| 国产男靠女视频免费网站| 久久精品人妻少妇| 成人av一区二区三区在线看| 国产精品免费视频内射| 手机成人av网站| 亚洲va日本ⅴa欧美va伊人久久| 欧美日韩国产亚洲二区| 国产激情偷乱视频一区二区| 黄色a级毛片大全视频| 精品久久久久久久久久久久久| 色综合欧美亚洲国产小说| 国产69精品久久久久777片 | 99riav亚洲国产免费| 久久精品国产亚洲av高清一级| 一个人免费在线观看的高清视频| 变态另类丝袜制服| 婷婷六月久久综合丁香| 一a级毛片在线观看| 在线视频色国产色| 欧美又色又爽又黄视频| 日韩欧美免费精品| 免费在线观看完整版高清| 亚洲男人天堂网一区| 波多野结衣高清作品| 99热只有精品国产| 在线永久观看黄色视频| 亚洲美女视频黄频| 午夜福利18| 男女午夜视频在线观看| av天堂在线播放| 国产av在哪里看| 国产三级中文精品| 又粗又爽又猛毛片免费看| 天天躁夜夜躁狠狠躁躁| 97碰自拍视频| 欧美+亚洲+日韩+国产| 国产高清视频在线播放一区| www日本黄色视频网| 欧美日韩黄片免| 动漫黄色视频在线观看| 色哟哟哟哟哟哟| 亚洲专区中文字幕在线| 亚洲 国产 在线| 少妇粗大呻吟视频| 久久久久久人人人人人| 成人特级黄色片久久久久久久| 在线观看66精品国产| 婷婷精品国产亚洲av| 777久久人妻少妇嫩草av网站| 黑人巨大精品欧美一区二区mp4| 男女那种视频在线观看| 一进一出抽搐动态| 露出奶头的视频| 少妇裸体淫交视频免费看高清 | 一边摸一边抽搐一进一小说| 久久久久国内视频| 高清毛片免费观看视频网站| 午夜福利视频1000在线观看| 午夜精品在线福利| 好男人在线观看高清免费视频| 别揉我奶头~嗯~啊~动态视频| bbb黄色大片| 狂野欧美激情性xxxx| 一卡2卡三卡四卡精品乱码亚洲| 成人18禁在线播放| 国产精品一区二区免费欧美| 亚洲在线自拍视频| 国产1区2区3区精品| 亚洲中文日韩欧美视频| 国产成+人综合+亚洲专区| 成年版毛片免费区| 亚洲精品在线美女| 久久久久久人人人人人| 精品久久久久久,| 国产一区在线观看成人免费| 一进一出好大好爽视频| 日韩三级视频一区二区三区| 成在线人永久免费视频| 欧美zozozo另类| 男人的好看免费观看在线视频 | 成人国产综合亚洲| 久热爱精品视频在线9| 亚洲精品在线美女| 97碰自拍视频| 国产真人三级小视频在线观看| 国产免费av片在线观看野外av| 美女高潮喷水抽搐中文字幕| 琪琪午夜伦伦电影理论片6080| 制服丝袜大香蕉在线| 国产精品久久视频播放| 一本一本综合久久| 一级作爱视频免费观看| 亚洲成a人片在线一区二区| 精品久久蜜臀av无| 特大巨黑吊av在线直播| 老司机福利观看| 成人亚洲精品av一区二区| 国产av一区在线观看免费| 亚洲欧美日韩高清在线视频| 国产探花在线观看一区二区| 国产熟女xx| 午夜激情av网站| 99久久久亚洲精品蜜臀av| 2021天堂中文幕一二区在线观| 五月伊人婷婷丁香| 日韩欧美三级三区| 露出奶头的视频| 人成视频在线观看免费观看| 久久久国产成人免费| 成人国语在线视频| 国产人伦9x9x在线观看| 国产探花在线观看一区二区| 欧美 亚洲 国产 日韩一| 日本成人三级电影网站| 少妇粗大呻吟视频| 日本 av在线| 男女床上黄色一级片免费看| 中文字幕熟女人妻在线| av在线天堂中文字幕| 舔av片在线| 国产精品久久视频播放| 欧美日韩福利视频一区二区| 少妇的丰满在线观看| 久久伊人香网站| 啦啦啦韩国在线观看视频| 757午夜福利合集在线观看| 老汉色∧v一级毛片| 97人妻精品一区二区三区麻豆| 99热只有精品国产| 99国产综合亚洲精品| 日本 欧美在线| 免费在线观看亚洲国产| 级片在线观看| 搡老熟女国产l中国老女人| av福利片在线观看| 人人妻,人人澡人人爽秒播| 亚洲精品久久成人aⅴ小说| 九色成人免费人妻av| 性色av乱码一区二区三区2| x7x7x7水蜜桃| 九色国产91popny在线| 欧美精品啪啪一区二区三区| 精品人妻1区二区| 国产精品,欧美在线| а√天堂www在线а√下载| 久99久视频精品免费| 久久午夜综合久久蜜桃| 欧美性长视频在线观看| 伊人久久大香线蕉亚洲五| 黄片小视频在线播放| 精品久久久久久久毛片微露脸| a级毛片在线看网站| 国产精品美女特级片免费视频播放器 | 亚洲成人中文字幕在线播放| 中文字幕熟女人妻在线| 在线看三级毛片| 亚洲 欧美一区二区三区| 欧美不卡视频在线免费观看 | 天天躁狠狠躁夜夜躁狠狠躁| 久久国产乱子伦精品免费另类| 国产精品久久久av美女十八| 淫秽高清视频在线观看| 国产精华一区二区三区| 法律面前人人平等表现在哪些方面| 中文字幕av在线有码专区| 全区人妻精品视频| 久久精品aⅴ一区二区三区四区| 老汉色av国产亚洲站长工具| 成人午夜高清在线视频| 97超级碰碰碰精品色视频在线观看| 国产成人av激情在线播放| 亚洲午夜精品一区,二区,三区| 999久久久精品免费观看国产| 久久精品夜夜夜夜夜久久蜜豆 | 亚洲黑人精品在线| 国内精品久久久久久久电影| 亚洲欧美日韩高清在线视频| 欧美性长视频在线观看| 国产亚洲精品第一综合不卡| 亚洲av日韩精品久久久久久密| 国产成人精品久久二区二区91| 最近在线观看免费完整版| 黄色丝袜av网址大全| 亚洲自偷自拍图片 自拍| 99久久久亚洲精品蜜臀av| 久久亚洲精品不卡| 免费观看人在逋| 欧美日韩福利视频一区二区| 中文在线观看免费www的网站 | 琪琪午夜伦伦电影理论片6080| 最近在线观看免费完整版| 久久久精品大字幕| 国产亚洲av高清不卡| 国产一区在线观看成人免费| 男女之事视频高清在线观看| 欧美色欧美亚洲另类二区| 精品国产乱子伦一区二区三区| 精品不卡国产一区二区三区| 亚洲成人中文字幕在线播放| 99国产综合亚洲精品| 99久久国产精品久久久| 久久午夜综合久久蜜桃| 国产精品乱码一区二三区的特点| 久热爱精品视频在线9| 午夜影院日韩av| 听说在线观看完整版免费高清| av福利片在线| 天堂影院成人在线观看| 欧美性长视频在线观看| 18禁观看日本| 无遮挡黄片免费观看| 哪里可以看免费的av片| 久久久久久久精品吃奶| x7x7x7水蜜桃| 久久热在线av| 午夜激情av网站| 久久精品aⅴ一区二区三区四区| 欧美在线一区亚洲| 亚洲欧美激情综合另类| 91老司机精品| 国内精品一区二区在线观看| 亚洲乱码一区二区免费版| 亚洲中文av在线| 欧美人与性动交α欧美精品济南到| 91大片在线观看| 国产99白浆流出| 国产一区在线观看成人免费| or卡值多少钱| bbb黄色大片| 一区二区三区国产精品乱码| 国产精品综合久久久久久久免费| 亚洲美女视频黄频| 亚洲aⅴ乱码一区二区在线播放 | 久久国产精品人妻蜜桃| 又紧又爽又黄一区二区| 欧美午夜高清在线| 岛国在线免费视频观看| 欧美黄色淫秽网站| 亚洲一区二区三区不卡视频| 国产野战对白在线观看| 91成年电影在线观看| 亚洲成a人片在线一区二区| 一区二区三区国产精品乱码| 一进一出抽搐gif免费好疼| 国产成年人精品一区二区| 久久亚洲真实| 国产成人啪精品午夜网站| 欧美日韩瑟瑟在线播放| 99re在线观看精品视频| 我要搜黄色片| 欧美极品一区二区三区四区| 成人高潮视频无遮挡免费网站| 国产不卡一卡二| 国产精品久久久久久人妻精品电影| 精品日产1卡2卡| 黑人操中国人逼视频| 久久欧美精品欧美久久欧美| 国产精品九九99| 日本一区二区免费在线视频| 中文字幕高清在线视频| 老熟妇仑乱视频hdxx| 视频区欧美日本亚洲| 欧美丝袜亚洲另类 | 日韩 欧美 亚洲 中文字幕| 国产精品久久久久久人妻精品电影| 一卡2卡三卡四卡精品乱码亚洲| 欧美精品啪啪一区二区三区| 日本 av在线| 日日干狠狠操夜夜爽| 欧美日韩亚洲国产一区二区在线观看| 国产乱人伦免费视频| 国产欧美日韩一区二区三| 久久香蕉激情| 国产精品野战在线观看| 欧美三级亚洲精品| 亚洲精品美女久久久久99蜜臀| 欧美乱妇无乱码| 中文字幕高清在线视频| 久久久久亚洲av毛片大全| 亚洲av日韩精品久久久久久密| 成年免费大片在线观看| 在线观看舔阴道视频| 亚洲成人精品中文字幕电影| 亚洲精品中文字幕一二三四区| 久久久国产成人免费| 国产精品电影一区二区三区| 亚洲精品中文字幕在线视频| 亚洲av日韩精品久久久久久密| 无人区码免费观看不卡| 国产亚洲精品一区二区www| av在线播放免费不卡| 日本 欧美在线| 天堂影院成人在线观看| 99久久久亚洲精品蜜臀av| 中文字幕熟女人妻在线| 又爽又黄无遮挡网站| 777久久人妻少妇嫩草av网站| 他把我摸到了高潮在线观看| www.www免费av| 久久久精品大字幕| 亚洲成人精品中文字幕电影| 夜夜爽天天搞| 日本在线视频免费播放| 久久久久久免费高清国产稀缺| АⅤ资源中文在线天堂| 亚洲成人久久爱视频| 一本大道久久a久久精品| 亚洲成人中文字幕在线播放| 久久天躁狠狠躁夜夜2o2o| 中文字幕久久专区| 精品久久久久久,| 制服丝袜大香蕉在线| 欧美极品一区二区三区四区| 手机成人av网站| 免费在线观看完整版高清| 99精品久久久久人妻精品| 好看av亚洲va欧美ⅴa在| 国产精品av视频在线免费观看| 午夜精品在线福利| 久久精品亚洲精品国产色婷小说| 男人舔女人下体高潮全视频| 又大又爽又粗| 可以在线观看毛片的网站| 伊人久久大香线蕉亚洲五| 国产黄色小视频在线观看| 久久热在线av| 精品人妻1区二区| 日韩大码丰满熟妇| 可以在线观看毛片的网站| 无遮挡黄片免费观看| 一边摸一边抽搐一进一小说| 亚洲在线自拍视频| 色在线成人网| a在线观看视频网站| 99riav亚洲国产免费| 狂野欧美白嫩少妇大欣赏| 国产精品1区2区在线观看.| 丝袜美腿诱惑在线| 欧美大码av| 国产精品香港三级国产av潘金莲| 欧美黑人巨大hd| 真人做人爱边吃奶动态| 久久亚洲精品不卡| 无人区码免费观看不卡| 久久国产精品影院| 天天添夜夜摸| 日本一本二区三区精品| 国产精品久久久av美女十八| 欧美成狂野欧美在线观看| 国产1区2区3区精品| 搡老岳熟女国产| 欧美乱妇无乱码| 不卡av一区二区三区| 日韩欧美 国产精品| 免费看美女性在线毛片视频| 中文字幕最新亚洲高清| 午夜福利在线在线| 18美女黄网站色大片免费观看| 国产av麻豆久久久久久久| 在线观看一区二区三区| 别揉我奶头~嗯~啊~动态视频| 又黄又爽又免费观看的视频| 哪里可以看免费的av片| 婷婷丁香在线五月| 国产午夜福利久久久久久| 天天添夜夜摸| 两个人看的免费小视频| 亚洲真实伦在线观看| 又大又爽又粗| 国产亚洲精品一区二区www| 免费在线观看完整版高清| 成人18禁在线播放| 丁香欧美五月| 欧美中文日本在线观看视频| 麻豆久久精品国产亚洲av| 日本免费a在线| 国产精品野战在线观看| 欧美+亚洲+日韩+国产| 免费搜索国产男女视频| 亚洲午夜理论影院| 亚洲av美国av| 一卡2卡三卡四卡精品乱码亚洲| 又粗又爽又猛毛片免费看| 欧美成人一区二区免费高清观看 | 欧美黄色淫秽网站| 亚洲一区二区三区色噜噜| 中文字幕熟女人妻在线| 精品一区二区三区av网在线观看| 国产亚洲精品第一综合不卡| 欧美人与性动交α欧美精品济南到| 日本熟妇午夜| 听说在线观看完整版免费高清| 国内久久婷婷六月综合欲色啪| 精品久久久久久,| av福利片在线| 亚洲人成网站在线播放欧美日韩| a级毛片在线看网站| 三级男女做爰猛烈吃奶摸视频| 欧美黑人巨大hd| 又黄又爽又免费观看的视频| 亚洲熟妇熟女久久| 正在播放国产对白刺激| 亚洲国产精品sss在线观看| 久久久国产成人免费| 亚洲人成网站在线播放欧美日韩| 久久精品国产亚洲av高清一级| 亚洲国产欧美网| 国产精品爽爽va在线观看网站| 亚洲中文日韩欧美视频| 视频区欧美日本亚洲| 亚洲中文日韩欧美视频| 露出奶头的视频| 人妻丰满熟妇av一区二区三区| 国产精品久久久人人做人人爽| 色综合欧美亚洲国产小说| 婷婷精品国产亚洲av在线| 成人av在线播放网站| 国产精品久久久久久久电影 | 一级毛片高清免费大全| 亚洲男人天堂网一区| 欧美日韩亚洲国产一区二区在线观看| 久久精品人妻少妇| 青草久久国产| 国产亚洲av高清不卡| 欧美黑人巨大hd| 岛国在线观看网站| 最近视频中文字幕2019在线8| 可以在线观看毛片的网站| 久久久水蜜桃国产精品网| 精品久久久久久久久久久久久| 国产三级在线视频| 两性夫妻黄色片| 小说图片视频综合网站| 亚洲精华国产精华精| 亚洲欧美日韩东京热| 制服丝袜大香蕉在线| 欧美高清成人免费视频www| 麻豆国产97在线/欧美 | 亚洲国产日韩欧美精品在线观看 | 最新美女视频免费是黄的| 久久亚洲精品不卡| 国产v大片淫在线免费观看| 男女午夜视频在线观看| 非洲黑人性xxxx精品又粗又长| 91字幕亚洲| 亚洲欧美日韩高清专用| 小说图片视频综合网站| av超薄肉色丝袜交足视频| 国产精品一区二区精品视频观看| 黄频高清免费视频| 欧美乱码精品一区二区三区| 亚洲人成77777在线视频| 亚洲国产欧美网| 国产av不卡久久| 精品国产乱子伦一区二区三区| 久久久久久久久久黄片| 制服人妻中文乱码| 亚洲片人在线观看| 精品久久蜜臀av无| 日韩欧美精品v在线| 亚洲免费av在线视频| 国产精品久久久久久亚洲av鲁大| 在线观看日韩欧美| 成人av一区二区三区在线看| 久99久视频精品免费| 精品国产超薄肉色丝袜足j| 久久久国产成人免费| 午夜视频精品福利| 成人av在线播放网站| 国内少妇人妻偷人精品xxx网站 | 欧美在线一区亚洲| 亚洲午夜精品一区,二区,三区| 国产成人精品久久二区二区91| 欧美日韩瑟瑟在线播放| 亚洲av熟女| 成人国产综合亚洲| 久久久久久久精品吃奶| 免费在线观看视频国产中文字幕亚洲| 90打野战视频偷拍视频| 99久久99久久久精品蜜桃| 最近视频中文字幕2019在线8| 又黄又粗又硬又大视频| 久久中文字幕一级| 国产免费男女视频| а√天堂www在线а√下载| 99国产精品一区二区三区| 亚洲精品中文字幕一二三四区| 两性午夜刺激爽爽歪歪视频在线观看 | 亚洲精品中文字幕一二三四区| 不卡av一区二区三区| 狠狠狠狠99中文字幕| 久久久久国产精品人妻aⅴ院| 岛国在线免费视频观看| 色老头精品视频在线观看| 国产精品久久久久久人妻精品电影| 白带黄色成豆腐渣| 午夜福利在线观看吧| 亚洲成人免费电影在线观看| 99riav亚洲国产免费| 精品一区二区三区视频在线观看免费| 桃红色精品国产亚洲av| 日本黄大片高清| 日本一区二区免费在线视频| 午夜福利在线在线| 国产精品亚洲av一区麻豆| 亚洲成人精品中文字幕电影|