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

    面向項目版本差異性的漏洞識別技術(shù)研究

    2022-03-18 00:52:24黃誠孫明旭段仁語吳蘇晟陳斌
    關(guān)鍵詞:源代碼開源漏洞

    黃誠,孫明旭,段仁語,吳蘇晟,陳斌

    面向項目版本差異性的漏洞識別技術(shù)研究

    黃誠1,2,孫明旭1,段仁語1,吳蘇晟1,陳斌1

    (1. 四川大學(xué)網(wǎng)絡(luò)空間安全學(xué)院,四川 成都 610065;2. 廣西密碼學(xué)與信息安全重點實驗室,廣西 桂林 541000)

    開源代碼托管平臺為軟件開發(fā)行業(yè)帶來了活力和機遇,但存在諸多安全隱患。開源代碼的不規(guī)范性、項目依賴庫的復(fù)雜性、漏洞披露平臺收集漏洞的被動性等問題都影響著開源項目及引入開源組件的閉源項目的安全,大部分漏洞修復(fù)行為無法及時被察覺和識別,進而將各類項目的安全風(fēng)險直接暴露給攻擊者。為了全面且及時地發(fā)現(xiàn)開源項目中的漏洞修復(fù)行為,設(shè)計并實現(xiàn)了基于項目版本差異性的漏洞識別系統(tǒng)—VpatchFinder。系統(tǒng)自動獲取開源項目中的更新代碼及內(nèi)容數(shù)據(jù),對更新前后代碼和文本描述信息進行提取分析。提出了基于安全行為與代碼特征的差異性特征,提取了包括項目注釋信息特征組、頁面統(tǒng)計特征組、代碼統(tǒng)計特征組以及漏洞類型特征組的共40個特征構(gòu)建特征集,采用隨機森林算法來訓(xùn)練可識別漏洞的分類器。通過真實漏洞數(shù)據(jù)進行測試,VpatchFinder的精確率為84.35%,準(zhǔn)確率為85.46%,召回率為85.09%,優(yōu)于其他常見的機器學(xué)習(xí)算法模型。進一步通過整理的歷年部分開源軟件CVE漏洞數(shù)據(jù)進行實驗,其結(jié)果表明68.07%的軟件漏洞能夠提前被VpatchFinder發(fā)現(xiàn)。該研究結(jié)果可以為軟件安全架構(gòu)設(shè)計、開發(fā)及成分分析等領(lǐng)域提供有效技術(shù)支撐。

    漏洞識別;開源平臺;安全修復(fù);機器學(xué)習(xí)

    0 引言

    《2021年開源軟件供應(yīng)鏈安全風(fēng)險研究報告》顯示,自2015年起開源組件中漏洞數(shù)逐年遞增,其中2020年報告的開源代碼漏洞數(shù)量環(huán)比2019年增長近40%。漏洞數(shù)量激增的同時,缺乏有效的漏洞識別措施和全面的漏洞信息收集渠道是目前較為嚴(yán)重的問題。對開發(fā)者而言,項目引入的開源組件是否存在漏洞對項目整體的安全性至關(guān)重要,當(dāng)開源組件發(fā)布一個漏洞修復(fù)后,引用者可能仍使用著包含漏洞的舊版本。雖然有如Dependabot[1]這樣對依賴庫版本進行更新的自動化工具,但并非適用于所有項目。一方面,所引組件的更新內(nèi)容未必符合項目需求;另一方面,只有完全信任組件開發(fā)者,并保證其發(fā)布的版本向下兼容,才能確保安全性。大型項目通常有多個依賴庫,繁重的工作量給維護人員帶來了巨大挑戰(zhàn)[2]。為了優(yōu)先考慮漏洞修復(fù),他們傾向參考公共漏洞和暴露(CVE,common vulnerabilities & exposures)、美國國家信息安全漏洞庫(NVD,national vulnerability data base)等漏洞披露平臺。然而實際上被公開的漏洞僅占真實漏洞數(shù)量的少數(shù)[3],即使能夠公開發(fā)布,也存在幾周甚至數(shù)月的延遲,在此周期內(nèi),項目仍可能遭受攻擊。因此,面向開源代碼托管平臺開發(fā)一個有效的漏洞識別系統(tǒng),一方面可以感知安全態(tài)勢,預(yù)警漏洞信息;另一方面,能夠幫助開發(fā)者和軟件維護者檢測引用的開源組件是否存在漏洞,保證項目的安全性。

    針對漏洞識別的相關(guān)研究主要圍繞源碼審計[4-5]、漏洞模式匹配[6-7]、語法結(jié)構(gòu)分析[8-9]以及深度學(xué)習(xí)[10]等方面展開。然而,如果將上述研究應(yīng)用于開源社區(qū),會遺漏項目更新時一些重要的描述信息。少部分研究工作考慮了代碼更新過程,文獻(xiàn)[11-15]提出安全更新和普通更新在部分基本特性上的差異,但由于數(shù)據(jù)不足和特征有效性較差等缺點,沒有實現(xiàn)足夠高的檢測精度。

    為解決上述問題,本文提出基于項目版本差異性的漏洞識別系統(tǒng)—VpatchFinder。針對C/C++項目,通過CVE和GitHub構(gòu)建數(shù)據(jù)集,結(jié)合多種過濾方法改善數(shù)據(jù)質(zhì)量,接著提出40個特征以區(qū)分漏洞和非漏洞數(shù)據(jù),嘗試和比較多種機器學(xué)習(xí)技術(shù),最終采用隨機森林作為分類算法。本文貢獻(xiàn)總結(jié)如下。

    1)通過爬取CVE網(wǎng)站和GitHub社區(qū)構(gòu)建了一份真實的C/C+項目更新內(nèi)容數(shù)據(jù)集,提出多種過濾方法改善其數(shù)據(jù)質(zhì)量,并將數(shù)據(jù)集進行開源。

    2)從安全行為和代碼特征等方面對漏洞的表現(xiàn)形式展開研究,提出了4個特征組(注釋信息特征組、頁面統(tǒng)計特征組、代碼統(tǒng)計特征組和漏洞類型特征組),共40個特征,并通過實驗證明了所選特征的有效性。

    3)設(shè)計并實現(xiàn)了漏洞識別系統(tǒng)—Vpatch- Finder,該系統(tǒng)在測試集上具有84.35%的精確率和85.09%的召回率。實驗表明,在VpatchFinder的應(yīng)用下,68.07%的社區(qū)漏洞可以比CVE提前發(fā)現(xiàn),同時檢測出192條未公開披露的漏洞實例。

    1 相關(guān)工作

    有關(guān)開源代碼托管平臺漏洞檢測的研究方法可分為3類:基于源碼檢測的方法、基于公開線索挖掘的方法和基于更新內(nèi)容差異性分析的方法。

    1.1 基于源碼檢測的方法

    源代碼中含有豐富的語義信息,目前針對源碼漏洞檢測的研究工作較為成熟,少部分研究技術(shù)可以應(yīng)用于開源平臺。

    Neuhaus等[16]考慮代碼的相似性,基于導(dǎo)入和調(diào)用函數(shù)的行為識別漏洞。該方法易擴展到其他語言,但檢測的覆蓋面不足,只適合檢測特定類型的漏洞。鄭榮鋒等[17]提取惡意代碼行為指紋,通過指紋匹配度量不同惡意代碼的相似性。Kong等[18]結(jié)合多個靜態(tài)分析工具,提出基于數(shù)據(jù)融合的漏洞檢測方法。Sonnekalb[19]通過匹配不同的機器學(xué)習(xí)架構(gòu)和代碼表示方式得到最合適的漏洞檢測模型。李元誠等[20]從一些常見的漏洞關(guān)鍵點入手,從代碼中提取關(guān)鍵漏洞片段,并提出一種新型神經(jīng)網(wǎng)絡(luò)—DCnnGRU,通過保留代碼上下文調(diào)用關(guān)系解決梯度消失問題。上述研究均有不錯的檢測效果,但對代碼的完整性要求較高,無法檢測單一的代碼片段。樹和圖的技術(shù)常用于分析源代碼,文獻(xiàn)[21-22]通過抽象語法樹提取源代碼結(jié)構(gòu),文獻(xiàn)[9,23-25]采用圖的技術(shù)表征漏洞代碼片段。Yamaguchi等[8]將抽象語法樹和機器學(xué)習(xí)相結(jié)合,模型的1值達(dá)到了82.43%。然而基于樹和圖的技術(shù)存在相同的問題:計算量大,且需要完整的代碼結(jié)構(gòu),因此難以實現(xiàn)大規(guī)模應(yīng)用。

    1.2 基于公開線索挖掘的方法

    開源代碼托管平臺公開的報告區(qū)或評論區(qū)蘊含著漏洞關(guān)鍵信息,可以通過分析公開線索來識別漏洞。

    Shin等[26]對開源項目Linux和Firefox展開研究,采用機器學(xué)習(xí)對代碼更新日志進行漏洞識別,不足之處在于擴展性較差,不能普遍適應(yīng)大部分開源項目。Tian等[11]考慮漏洞被訪問的頻率以及提交人員的經(jīng)驗特征等特性。Neil等[27]跟蹤多個開源庫,監(jiān)控用戶在公共報告區(qū)發(fā)布的問題和回復(fù),尋找與漏洞相關(guān)的術(shù)語。這兩項研究思路較新穎,但缺點是它們忽略了代碼中蘊含的大量信息。

    1.3 基于更新內(nèi)容差異性分析的方法

    漏洞修復(fù)和普通更新在代碼、文本描述、修改程度和變化數(shù)值的統(tǒng)計等方面存在明顯差異,但由于數(shù)據(jù)稀少和更新內(nèi)容格式不統(tǒng)一等問題,僅少數(shù)工作考慮到代碼更新過程。

    曹琰等[28]結(jié)合程序依賴圖,通過漏洞源文件和補丁文件代碼結(jié)構(gòu)的差異掌握修補漏洞的方式。Sabetta等[3]直接將代碼視為文本,通過分析移除和增加的代碼來識別和漏洞相關(guān)的代碼更改,缺點在于分類精度并不高。Ponta等[29]針對Java收集了一份漏洞修復(fù)數(shù)據(jù)集,并將其開源以供學(xué)術(shù)界和工業(yè)界使用。Zaman等[13]研究Firefox 中安全更新和功能性更新的差異。Perl等[12]提出漏洞修復(fù)和普通更新的一些差異性特征。Li等[14]對不同類別的更新進行第一次大規(guī)模實證研究。Wang等[15]在以上研究的基礎(chǔ)上,提出一些句法特征。但上述工作均沒有實現(xiàn)足夠高的檢測精度,僅考慮了漏洞修復(fù)和普通更新在部分基本特性上的差異,而忽略了對更新內(nèi)容的描述以及特定編程語言對應(yīng)的漏洞類型等特征。此外,數(shù)據(jù)收集并不充分,也沒有進行有效的數(shù)據(jù)過濾,存在數(shù)據(jù)混雜的問題。

    2 VpatchFinder系統(tǒng)的實現(xiàn)

    VpatchFinder系統(tǒng)主要包含數(shù)據(jù)收集、特征提取、模型訓(xùn)練以及分類檢測4個部分,其系統(tǒng)框架如圖1所示。

    2.1 數(shù)據(jù)類型及來源

    C/C++是近年來被曝出漏洞數(shù)量最多的編程語言,VpatchFinder支持檢測C/C++項目。GitHub中代碼提交的patch頁面主要包含以下內(nèi)容:提交者個人信息;對本次更新內(nèi)容的簡要描述;本次提交變化的文件數(shù)、移除的行數(shù)以及添加的行數(shù);移除和添加的具體代碼以及它們上下幾行的代碼。patch頁面示例如圖2所示。對漏洞修復(fù)而言,patch頁面包含許多漏洞的關(guān)鍵信息。

    圖1 VpatchFinder系統(tǒng)框架

    Figure 1 Framework of VpatchFinder

    圖2 patch頁面示例

    Figure 2 Example of the patch page

    研究安全更新的挑戰(zhàn)之一是缺乏足夠的數(shù)據(jù)。CVE為官方漏洞披露平臺,收錄著準(zhǔn)確可靠的漏洞數(shù)據(jù)。通過CVE條目的參考鏈接追溯至GitHub中的代碼提交,并根據(jù)固定的網(wǎng)址格式獲取patch頁面信息。

    對于非漏洞數(shù)據(jù),即普通的代碼更新,從GitHub隨機收集多個C/C++項目的歷史提交patch信息,并根據(jù)hash值的唯一性篩除非漏洞數(shù)據(jù)集中的漏洞數(shù)據(jù)。

    經(jīng)上述方法獲取的兩類數(shù)據(jù)存在明顯的質(zhì)量問題。一些C/C++項目的漏洞修復(fù)也包含少量對除了“.c”和“.cpp”之外文件的修改,不利于統(tǒng)一的特征提取。另外,非漏洞數(shù)據(jù)集中可能會摻雜部分未公開的漏洞,尤其是在一些大的復(fù)合型代碼更新中。本文提出基于正則表達(dá)式和大型更新人工查驗的方法過濾數(shù)據(jù)。

    2.2 特征提取

    提取有效特征來區(qū)分漏洞修復(fù)和普通更新是關(guān)鍵。分析patch頁面,提出4個特征組(注釋信息特征組、頁面統(tǒng)計特征組、代碼統(tǒng)計特征組和漏洞類型特征組),共40個特征,其中11個為本文首次提出,如表1所示。

    2.2.1 注釋信息特征組

    每個patch頁面都有一段形如“Subject: ……”的字符串,這是代碼提交者對此次更新內(nèi)容的注釋。基于漏洞修復(fù)和普通更新在注釋信息上的差異,提出兩個特征。

    (1)Subject安全關(guān)鍵詞統(tǒng)計

    雖然Subject描述較為精簡,但研究發(fā)現(xiàn),一些關(guān)鍵詞語經(jīng)常出現(xiàn)在漏洞修復(fù)中而很少出現(xiàn)在普通更新中,稱這類詞語為安全關(guān)鍵詞。將從CVE和NVD抓取的描述性文檔作為語料庫,結(jié)合TF-IDF算法[30],得到安全關(guān)鍵詞的排序。從0至100進行遞歸,通過多次測試發(fā)現(xiàn)當(dāng)選取30個安全關(guān)鍵詞(overflow、buffer、leak等)作為統(tǒng)計標(biāo)準(zhǔn)時,實驗效果最優(yōu)。采用詞袋(BoW,bag-of-words)模型對Subject段落進行特征統(tǒng)計。

    (2)Subject非安全關(guān)鍵詞統(tǒng)計

    除了漏洞修復(fù),其他代碼更新主要分為以下幾類:增添或刪除功能;改進代碼質(zhì)量;加強性能或效率;修復(fù)與安全性無關(guān)的錯誤或消除警告。當(dāng)涉及以上類別的更新時,一些詞語更多地出現(xiàn)在Subject描述中,稱這類詞語為非安全關(guān)鍵詞。對于非安全關(guān)鍵詞,統(tǒng)計大量應(yīng)用軟件的功能更新以及其他非安全更新的描述文檔,結(jié)合TF-IDF以及遞歸測試,選取18個非安全關(guān)鍵詞(function、warning、add等)作為判斷標(biāo)準(zhǔn)。同樣采用BoW模型統(tǒng)計Subject段落。

    表1 選取的所有特征

    2.2.2 頁面統(tǒng)計特征組

    關(guān)注patch頁面中代碼外部的一些統(tǒng)計性描述,基于漏洞修復(fù)和普通更新在統(tǒng)計數(shù)值上的差異構(gòu)建特征集。

    (1)變化的文件數(shù)量

    統(tǒng)計更新過程發(fā)生變化的文件數(shù)量。相比漏洞修復(fù),普通更新影響的文件范圍通常更廣,如添加某功能模塊時往往需要銜接多個文件,漏洞修復(fù)則大多在單個文件內(nèi)完成更新。

    (2)變化的修改塊數(shù)量

    統(tǒng)計更新過程變化的修改塊數(shù)量。定義修改塊為patch頁面內(nèi)由字符串“@@”起始的一次單位修改,它的數(shù)量反映了代碼結(jié)構(gòu)修改的復(fù)雜程度。非安全更新的邏輯通常較復(fù)雜,包含多個修改塊,而大部分漏洞修復(fù)僅有一個修改塊。

    (3)變化的行的數(shù)量

    非安全更新多為功能更新,需要引入大量代碼行來實現(xiàn)新功能,或修改較多代碼行以提高軟件效率。而對于漏洞,往往一個不恰當(dāng)?shù)倪吔缰祷蛞环N錯誤的數(shù)據(jù)類型就導(dǎo)致極為嚴(yán)重的后果,因此很多漏洞修復(fù)僅涉及一行或幾行的修改。為了提升特征集的魯棒性,統(tǒng)計更新過程移除與添加的組合特征,即移除行數(shù)、添加行數(shù)、添加行數(shù)減移除行數(shù)的絕對值、添加行數(shù)加移除行數(shù)、添加行數(shù)是否大于移除行數(shù)以及添加行數(shù)與移除行數(shù)的比例共6個特征。

    (4)變化的字符數(shù)量

    漏洞修復(fù)往往對代碼庫影響較小,僅有可能修改較少的代碼。對于變化的字符數(shù)量,同樣統(tǒng)計移除和添加的組合特征。

    (5)添加代碼與移除代碼的相似程度

    更新前后代碼的相似性表示修改幅度大小。首先標(biāo)準(zhǔn)化移除和添加的代碼,以防止空格、注釋和用戶自定義變量等因素的影響。在此基礎(chǔ)上,采用Edit Distance算法[31]進行相似性統(tǒng)計,它計算由一個字符串轉(zhuǎn)換成另一個字符串所需要的最少編輯操作次數(shù)。一次更新可能包含多個修改塊,分別統(tǒng)計所有修改塊中最小、平均和最大的相似性數(shù)值。

    (6)出現(xiàn)相同的代碼更改的最大次數(shù)

    統(tǒng)計更新過程中出現(xiàn)相同代碼更改的最大次數(shù)。研究發(fā)現(xiàn),部分漏洞修復(fù)會對同一修改模式重復(fù)多次,如更正多個變量的數(shù)據(jù)類型,或多次調(diào)整條件語句臨界值等,而普通更新中則較少存在上述情況。

    (7)Patch文件大小

    文件大小代表修改信息的多少。相比漏洞修復(fù),其他更新的patch文件通常會更大。將patch頁面下載為txt文件,并獲取文件大小,為了防止數(shù)值過于離散,將其統(tǒng)一取整并轉(zhuǎn)化為“kB”級單位。

    2.2.3 代碼統(tǒng)計特征組

    關(guān)注C/C++代碼內(nèi)部的統(tǒng)計內(nèi)容,依據(jù)編程語言特性從代碼中尋找漏洞修復(fù)的相關(guān)信息。

    (1)變化的條件語句的數(shù)量

    C/C++的漏洞修復(fù)容易涉及條件控制語句,即通過添加新條件或修正現(xiàn)有條件來修復(fù)由條件不當(dāng)引發(fā)的漏洞。定位patch頁面中的移除行和增加行,分別統(tǒng)計它們包含條件語句的數(shù)量,并計算移除和添加的組合特征。

    (2)變化的循環(huán)語句的數(shù)量

    循環(huán)語句中的控制條件臨界值也極易導(dǎo)致漏洞。統(tǒng)計移除行和添加行中循環(huán)語句的數(shù)量,并計算移除和添加的組合特征。

    (3)變化的算術(shù)、邏輯和關(guān)系運算符的總數(shù)量

    C/C++運算符是說明特定操作的符號,用于連接多個操作數(shù)或構(gòu)成表達(dá)式,易被惡意代碼利用。相比普通更新,漏洞修復(fù)有更大的可能涉及運算符的修改。統(tǒng)計算術(shù)、邏輯和關(guān)系運算符的總數(shù)量,同樣計算移除和添加的組合特征。

    2.2.4 漏洞類型特征組

    C/C++頻繁出現(xiàn)的漏洞類型通常比較固定,如常見的溢出問題、指針越界、內(nèi)存泄露等[32],固定的某類漏洞在C/C++代碼中也有特殊的表現(xiàn)。關(guān)注更新前代碼中能夠體現(xiàn)漏洞的關(guān)鍵函數(shù),提出漏洞類型特征組。

    C/C++中的一些函數(shù)在設(shè)計時忽略了安全性,存在較大風(fēng)險。針對常出現(xiàn)的漏洞類型,列舉一些容易引發(fā)漏洞的函數(shù):mallo-c()、strcpy()、free()、gets()、strcat()、fgets()、sprintf()、memset()、memcpy()、str-dup()。經(jīng)迭代測試,選取上述10個關(guān)鍵函數(shù)的函數(shù)名作為語料庫,通過抽象語法樹解析更新前的代碼以提取函數(shù)名,采用BoW模型進行特征統(tǒng)計。

    2.3 分類算法

    在VpatchFinder中采用隨機森林作分類器。隨機森林為一種集成學(xué)習(xí)算法,其輸出結(jié)果由多棵決策樹投票產(chǎn)生,在一定限度上可以避免模型的過擬合問題[33],以應(yīng)對真實環(huán)境中數(shù)據(jù)的復(fù)雜性。

    3 實驗及結(jié)果分析

    本節(jié)評估所選特征的有效性及VpatchFinder的分類性能,比較VpatchFinder與CVE發(fā)現(xiàn)漏洞的及時性,并展示檢測出的部分未公開漏洞實例。

    3.1 實驗數(shù)據(jù)

    采用C/C++收集漏洞數(shù)據(jù)集和非漏洞數(shù)據(jù)集兩類數(shù)據(jù),它們提供真實環(huán)境下漏洞修復(fù)和普通更新的實例。

    (1)漏洞數(shù)據(jù)集

    CVE公開披露了大量漏洞,跟蹤1999年至2020年6月所有CVE條目,通過引用鏈接回溯至GitHub,篩除C/C++以外的項目,并根據(jù)統(tǒng)一的網(wǎng)址格式獲取patch頁面信息,正則過濾非“.c”和“.cpp”文件,構(gòu)建了2 688條漏洞數(shù)據(jù)。

    (2)非漏洞數(shù)據(jù)集

    非漏洞數(shù)據(jù)集的數(shù)量眾多,為防止數(shù)據(jù)集偏向某種特定類型,必須保證隨機性和全面性。在GitHub中選取62個C/C++項目(micropython、tcpdump等),通過git命令獲取項目歷史提交hash值,利用hash值的唯一性過濾漏洞數(shù)據(jù),并根據(jù)固定網(wǎng)址格式獲取patch頁面??紤]兩類數(shù)據(jù)的平衡性,從獲取的非漏洞數(shù)據(jù)中隨機選出3 100條。在上述數(shù)據(jù)中,手動檢查大型更新中是否包含小型的漏洞修復(fù),如果有,則丟棄該數(shù)據(jù),構(gòu)建了3 082條非漏洞數(shù)據(jù)。

    圖3 特征重要性排名

    Figure 3 Ranking of the feature importance

    3.2 特征分析

    調(diào)用隨機森林中的feature_importance函數(shù)對40個特征展開重要性分析,前12位的排名和貢獻(xiàn)能力如圖3所示。從圖3可以看出,特征貢獻(xiàn)度分布較為均勻,充分保證了模型的穩(wěn)定性。此外,本文提出的特征,如“Subject安全關(guān)鍵詞統(tǒng)計”“patch文件大小”等的貢獻(xiàn)能力數(shù)值均排在前列,驗證了所選特征的有效性。

    3.3 VpatchFinder分類測試結(jié)果

    采用十折交叉驗證,通過繪制接收者操作特征曲線(ROC,receiver operating characteristic curve)評估系統(tǒng)的分類能力?;谙嗤瑪?shù)據(jù)集將隨機森林與其他流行的機器學(xué)習(xí)算法做比較。

    VpatchFinder在隨機森林下的ROC曲線如圖4所示,曲線下面積(AUC,area under curve)值為0.93,這表明VpatchFinder能夠準(zhǔn)確檢測開源社區(qū)中的漏洞。

    圖4 隨機森林下的ROC曲線

    Figure 4 ROC of random forest

    不同算法的準(zhǔn)確率、召回率、精確率以及1值的評估結(jié)果如圖5和表2所示。其中,1值是精確率和召回率的調(diào)和均值,可作為綜合評價指標(biāo)。結(jié)果表明,隨機森林的分類效果最優(yōu)。

    圖5 不同機器學(xué)習(xí)算法的性能對比

    Figure 5 Performance comparison of different machine learning algorithms

    3.4 VpatchFinder及時性分析

    VpatchFinder的主要優(yōu)勢在于能夠及時發(fā)現(xiàn)漏洞,相比官方網(wǎng)站漏洞披露的被動性,VpatchFinder可以提供更全面、更及時的漏洞情報。為驗證系統(tǒng)發(fā)現(xiàn)漏洞的及時性,對VpatchFinder的檢測時間與CVE的漏洞發(fā)布時間展開比較。2020年6月至2021年3月初,CVE共公開發(fā)布了275條包含commit鏈接且屬于C/C++項目的漏洞,它們來自GitHub的Linux、Tensorflow、LibreDWG和FreeRDP等項目,將上述275條數(shù)據(jù)開源處理,同時將它們作為待檢測任務(wù)輸入VpatchFinder,在分類閾值設(shè)置為0.5的條件下,系統(tǒng)共報告了238條漏洞信息,檢測的召回率為86.55%。統(tǒng)計238條漏洞數(shù)據(jù)的時間信息,將CVE公開發(fā)布漏洞的日期作為CVE時間,將commit的提交時間作為VpatchFinder的檢測時間,繪制日期天數(shù)差的累計分布曲線,結(jié)果如圖6所示。軸上的正值表示VpatchFinder早于CVE發(fā)現(xiàn)漏洞的天數(shù),有將近60%的數(shù)據(jù)處于0至100天這一區(qū)間,說明VpatchFinder通??梢员菴VE提前1至100天發(fā)現(xiàn)漏洞。另外,分別統(tǒng)計238條數(shù)據(jù)中檢測時間早于CVE、等于CVE和晚于CVE的漏洞條數(shù)及所占比例,68.07%的漏洞可以提前被VpatchFinder發(fā)現(xiàn),結(jié)果如表3所示。上述實驗表明,VpatchFinder系統(tǒng)具備提前發(fā)現(xiàn)漏洞的能力,能夠更早地進行預(yù)測,增加安全人員的應(yīng)對時間,從而減少漏洞的威脅性。

    表2 隨機森林和其他算法的評估數(shù)值結(jié)果

    圖6 VpatchFinder與CVE時間差的累計分布曲線

    Figure 6 Cumulative distribution curve of time difference between VpatchFinder and CVE

    表3 VpatchFinder與CVE時間對比

    3.5 識別的秘密漏洞實例

    本節(jié)驗證VpatchFinder發(fā)現(xiàn)秘密漏洞修補的能力,并展示挖掘出的一些未公開漏洞實例。首先,收集GitHub中7個大型C/C++項目(tcpdump、pytorch、radare2、electron、micropython、ImageMagickphp-src、Php-scr)的歷史提交,并根據(jù)hash值篩除CVE已發(fā)布的漏洞和訓(xùn)練集中已有的數(shù)據(jù)。將VpatchFinder與廣泛應(yīng)用于C/C++代碼缺陷檢測的靜態(tài)分析系統(tǒng)Cppcheck進行檢測結(jié)果的對比,將commit的url輸入VpatchFinder,將修改前的源代碼文件輸入Cppcheck,接著人工檢驗所有分類結(jié)果為漏洞的數(shù)據(jù),即結(jié)合專家分析和官方查詢等方式判斷其是否屬于真正的漏洞??紤]人工檢驗的巨大工作量,僅從收集的103 272條數(shù)據(jù)中隨機選取10 000條輸入兩種檢測系統(tǒng),檢測結(jié)果如表4所示。

    表4 VpatchFinder與Cppcheck檢測結(jié)果對比

    值得說明的是,Cppcheck報告的錯誤信息數(shù)量不包括警告及代碼風(fēng)格等問題。結(jié)果顯示VpatchFinder的誤報率遠(yuǎn)低于Cppcheck,且兩者檢測到了相同的154條漏洞信息。以上實驗表明VpatchFinder具有較高的實用價值。截至2021年4月,以上漏洞均仍未被CVE公開披露。詳細(xì)分析其中的7個實例,如表5所示。表中第一列為漏洞項目來源及commit的hash值,第二列為漏洞修復(fù)在GitHub中的提交日期。實驗表明,開源社區(qū)存在很多尚未公開披露的漏洞,類似VpatchFinder的漏洞識別系統(tǒng)對開源平臺用戶極為重要。

    表5 已識別的秘密漏洞實例

    4 存在的問題及改進方向

    VpatchFinder仍存在值得改進的地方,本節(jié)將討論這些問題。

    第一,由于patch頁面格式的特殊性,目前系統(tǒng)僅面向GitHub平臺。GitHub是全球熱門的開源代碼托管平臺,但其他平臺曝出的漏洞數(shù)量也在持續(xù)增長,未來會考慮將VpatchFinder跨平臺拓展。

    第二,由于其他編程語言訓(xùn)練數(shù)據(jù)不足,VpatchFinder只適合檢測C/C++項目。隨著數(shù)據(jù)集不斷增加,未來只需根據(jù)不同編程語言的特性調(diào)整代碼統(tǒng)計特征組和漏洞類型特征組,就可以適應(yīng)不同類別的語言,獲得更強大的檢測能力。

    第三,數(shù)據(jù)集來源較為單一,從CVE收集的數(shù)據(jù)可能會導(dǎo)致系統(tǒng)偏向于檢測特定類型的漏洞。實際中,CVE并非收錄著所有漏洞,它傾向發(fā)布一些嚴(yán)重或高危的漏洞,這可能會導(dǎo)致漏報,但也是合乎情理的,因為高危漏洞理應(yīng)有一定的優(yōu)先性,未來需要平衡上述情況。

    5 結(jié)束語

    針對開源代碼托管平臺存在的安全問題,本文設(shè)計并實現(xiàn)了基于項目版本差異性的漏洞識別系統(tǒng)—VpatchFinder。首先收集C/C++項目更新時的patch頁面數(shù)據(jù),并通過多種過濾方法有效改善數(shù)據(jù)集質(zhì)量,接著提出4個特征組(注釋信息特征組、頁面統(tǒng)計特征組、代碼統(tǒng)計特征組和漏洞類型特征組),其中包含11個首次提出的特征。實驗表明,VpatchFinder具有準(zhǔn)確、及時和高效的檢測性能,能夠為開發(fā)人員和其他目標(biāo)用戶提供有效的漏洞檢測技術(shù)支持。

    [1] ALFADEL M, COSTA D E, SHIHAB E, et al. On the use of dependabot security pull requests[C]//Proceedings of 2021 IEEE/ACM 18th International Conference on Mining Software Repositories (MSR). 2021: 254-265.

    [2] PASHCHENKO I, PLATE H, PONTA S E, et al. Vulnerable open source dependencies: counting those that matter[C]//Proceedings of the 12th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement. 2018: 1-10.

    [3] SABETTA A, BEZZI M. A practical approach to the automatic classification of security-relevant commits[C]//Proceedings of 2018 IEEE International Conference on Software Maintenance and Evolution. 2018: 579-582.

    [4] KAMIYA T, KUSUMOTO S, INOUE K. CCFinder: a multilinguistic token-based code clone detection system for large scale source code[J]. IEEE Transactions on Software Engineering, 2002, 28(7): 654-670.

    [5] LI Z, LU S, MYAGMAR S, et al. CP-Miner: finding copy-paste and related bugs in large-scale software code[J]. IEEE Transactions on Software Engineering, 2006, 32(3): 176-192.

    [6] 王雅文, 姚欣洪, 宮云戰(zhàn), 等. 一種基于代碼靜態(tài)分析的緩沖區(qū)溢出檢測算法[J]. 計算機研究與發(fā)展, 2012, 49(4): 839-845.

    WANG Y W, YAO X H, GONG Y Z, et al. A method of buffer overflow detection based on static code analysis[J]. Journal of Computer Research and Development, 2012, 49(4): 839-845.

    [7] 王蕾, 李豐, 李煉, 等. 污點分析技術(shù)的原理和實踐應(yīng)用[J]. 軟件學(xué)報, 2017, 28(4): 860-882.

    WANG L, LI F, LI L, et al. Principle and practice of taint analysis[J]. Journal of Software, 2017, 28(4): 860-882.

    [8] YAMAGUCHI F, LOTTMANN M, RIECK K. Generalized vulnerability extrapolation using abstract syntax trees[C]//Proceedings of the 28th Annual Computer Security Applications Conference. 2012: 359-368.

    [9] LI J Y, ERNST M D. CBCD: cloned buggy code detector[C]// Proceedings of 2012 34th International Conference on Software Engineering (ICSE). 2012: 310-320.

    [10] LI Z, ZOU D Q, XU S H, et al. VulDeePecker: a deep learning-based system for vulnerability detection[C]//Proceedings 2018 Network and Distributed System Security Symposium. 2018.

    [11] TIAN Y, LAWALL J, LO D. Identifying Linux bug fixing patches[C]//Proceedings of 2012 34th International Conference on Software Engineering (ICSE). 2012: 386-396.

    [12] PERL H, DECHAND S, SMITH M, et al. VCCFinder: finding potential vulnerabilities in open-source projects to assist code audits[C]//Proceedings of the 22nd ACM SIGSAC Conference on Computer and Communications Security. 2015: 426-437.

    [13] ZAMAN S, ADAMS B, HASSAN A E. Security versus performance bugs: a case study on Firefox[C]//Proceedings of the 8th Working Conference on Mining Software Repositories. 2011: 93-102.

    [14] LI F, PAXSON V. A large-scale empirical study of security patches[C]//Proceedings of the 2017 ACM SIGSAC Conference on Computer and Communications Security. 2017: 2201-2215.

    [15] WANG X D, SUN K, BATCHELLER A, et al. An empirical study of secret security patch in open source software[M]//Adaptive Autonomous Secure Cyber Systems. 2020: 269-289.

    [16] NEUHAUS S, ZIMMERMANN T, HOLLER C, et al. Predicting vulnerable software components[C]//Proceedings of the 14th ACM Conference on Computer and Communications Security. 2007: 529-540.

    [17] 鄭榮鋒, 方勇, 劉亮. 基于動態(tài)行為指紋的惡意代碼同源性分析[J]. 四川大學(xué)學(xué)報(自然科學(xué)版), 2016, 53(4): 793-798.

    ZHENG R F, FANG Y, LIU L. Homology analysis of malicious code based on dynamic-behavior fingerprint[J]. Journal of Sichuan University (Natural Science Edition), 2016, 53(4): 793-798.

    [18] KONG D G, ZHENG Q, CHEN C, et al. ISA: a source code static vulnerability detection system based on data fusion[C]//Proceed- ings of the 2nd International ICST Conference on Scalable Information Systems. 2007: 55.

    [19] SONNEKALB T. Machine-learning supported vulnerability detection in source code[C]//Proceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering. 2019: 1180-1183.

    [20] 李元誠, 崔亞奇, 呂俊峰, 等. 開源軟件漏洞檢測的混合深度學(xué)習(xí)方法[J]. 計算機工程與應(yīng)用, 2019, 55(11): 52-59.

    LI Y C, CUI Y Q, LYU J F, et al. Combined deep learning method for open source software vulnerability detection[J]. Computer Engineering and Applications, 2019, 55(11): 52-59.

    [21] JIANG L X, MISHERGHI G, SU Z D, et al. DECKARD: scalable and accurate tree-based detection of code clones[C]//Proceedings of 29th International Conference on Software Engineering (ICSE'07). 2007: 96-105.

    [22] ALON U, ZILBERSTEIN M, LEVY O, et al. code2vec: learning distributed representations of code[J]. Proceedings of the ACM on Programming Languages, 2019, 3: 40.

    [23] LIU C, CHEN C, HAN J W, et al. GPLAG: detection of software plagiarism by program dependence graph analysis[C]//Proceedings of the 12th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. 2006: 872-881.

    [24] PHAM N H, NGUYEN T T, NGUYEN H A, et al. Detection of recurring software vulnerabilities[C]//ASE '10: Proceedings of the IEEE/ACM International Conference on Automated Software Engineering. 2010: 447-456.

    [25] 劉凱, 方勇, 張磊, 等. 基于圖卷積網(wǎng)絡(luò)的惡意代碼聚類[J]. 四川大學(xué)學(xué)報(自然科學(xué)版), 2019, 56(4): 654-660. LIU K, FANG Y, ZHANG L, et al. Malware clustering based on graph convolutional networks[J]. Journal of Sichuan University (Natural Science Edition), 2019, 56(4): 654-660.

    [26] SHIN Y, MENEELY A, WILLIAMS L, et al. Evaluating complexity, code churn, and developer activity metrics as indicators of software vulnerabilities[J]. IEEE Transactions on Software Engineering, 2011, 37(6): 772-787.

    [27] NEIL L, MITTAL S, JOSHI A. Mining threat intelligence about open-source projects and libraries from code repository issues and bug reports[C]//Proceedings of 2018 IEEE International Conference on Intelligence and Security Informatics. 2018: 7-12.

    [28] 曹琰, 劉龍, 王禹, 等. 基于函數(shù)語義分析的軟件補丁比對技術(shù)[J]. 網(wǎng)絡(luò)與信息安全學(xué)報, 2019, 5(5): 56-63. CAO Y, LIU L, WANG Y, et al. Software patch comparison technology through semantic analysis on function[J]. Chinese Journal of Network and Information Security, 2019, 5(5): 56-63.

    [29] PONTA S E, PLATE H, SABETTA A, et al. A manually-curated dataset of fixes to vulnerabilities of open-source software[C]//Pro- ceedings of 2019 IEEE/ACM 16th International Conference on Mining Software Repositories (MSR). 2019: 383-387.

    [30] RAMOS J. Using TF-IDF to determine word relevance in document queries[J]. Proceedings of the First Instructional Conference on Machine Learning, 2003: 29-48.

    [31] RISTAD E S, YIANILOS P N. Learning string-edit distance[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1998, 20(5): 522-532.

    [32] 呂維梅, 劉堅. C/C++程序安全漏洞的分類與分析[J]. 計算機工程與應(yīng)用, 2005, 41(5): 123-125, 228.

    LYU W M, LIU J. The classification and analysis on safety holes of C/C++ programs[J]. Computer Engineering and Applications, 2005, 41(5): 123-125, 228.

    [33] BREIMAN L. Random forests[J]. Machine Learning, 2001, 45(1): 5-32.

    Vulnerability identification technology research based on project version difference

    HUANG Cheng1,2, SUN Mingxu1, DUAN Renyu1, WU Susheng1, CHEN Bin1

    1. School of Cyber Science and Engineering, Sichuan University, Chengdu 610065, China 2. Guangxi Key Laboratory of Cryptography and Information Security, Guilin 541000, China

    The open source code hosting platform has brought power and opportunities to software de-velopment, but there are also many security risks. The open source code has poor quality, the dependency libraries of projects are complex and vulnerability collection platformsare inadequate in collecting vulnerabilities. All these problems affect the security of open source projects and complex software with open source complements and most security patches can't be discovered and applied in time. Thus, the hackers could be easily found such vulnerable software. To discover the vulnerability in the open source community fully and timely, a vulnerability identification system based on project version difference was proposed. The update contents of projects in the open source community were collected automatically, thenfeatures were defined as security behaviors and code differences from the code and log in patches, 40 features including comment information feature group, page statistics feature group, code statistics feature group and vulnerability type feature group wereproposed to build feature set. And random forest model was built to learn classifiers for vulnerability identification. The resultsshow that VpatchFinder achieves a precision rate of 0.844, an accuracy rate of 0.855 and a recall rate of 0.851. Besides, 68.07% of community vulnerabilities can be early discovered by VpatchFinder in real open source CVE vulnerabilities. This research result can improve the current issue in software security architecture design and development.

    vulnerability detection, open source platform, security patch, machine learning

    s: TheNational Natural Science Foundation of China (61902265), Sichuan Science and Technology Program (2020YFG0047), Guangxi Key Laboratory of Cryptography and Information Security (GCIS201921)

    TP393

    A

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

    黃誠(1987? ),男,重慶人,四川大學(xué)副教授,主要研究方向為網(wǎng)絡(luò)空間安全、攻擊檢測、威脅溯源、數(shù)據(jù)挖掘、社交網(wǎng)絡(luò)、機器學(xué)習(xí)和自然語言處理。

    孫明旭(2000? ),男,黑龍江綏化人,主要研究方向為數(shù)據(jù)挖掘、自然語言處理和漏洞情報分析。

    段仁語(1998? ),男,重慶人,主要研究方向為漏洞情報挖掘、計算機視覺和人工智能。

    吳蘇晟(1999? ),男,浙江杭州人,主要研究方向為漏洞挖掘和開源代碼漏洞庫的分析與構(gòu)建。

    陳斌(1999? ),男,江西南昌人,主要研究方向為漏洞挖掘與自然語言處理。

    2021?05?24;

    2021?10?12

    孫明旭,2018141424064@stu.scu.edu.cn

    國家自然科學(xué)基金(61902265);四川省科技廳重點研發(fā)項目(2020YFG0047);廣西密碼學(xué)與信息安全重點實驗室研究課題(GCIS201921)

    黃誠, 孫明旭, 段仁語, 等. 面向項目版本差異性的漏洞識別技術(shù)研究[J]. 網(wǎng)絡(luò)與信息安全學(xué)報, 2022, 8(1): 52-62.Citation Format: HUANG C, SUN M X, DUAN R Y, et al. Vulnerability identification technology research based on project version difference[J]. Chinese Journal of Network and Information Security, 2022, 8(1): 52-62.

    猜你喜歡
    源代碼開源漏洞
    人工智能下復(fù)雜軟件源代碼缺陷精準(zhǔn)校正
    計算機仿真(2023年8期)2023-09-20 11:23:42
    漏洞
    基于TXL的源代碼插樁技術(shù)研究
    五毛錢能買多少頭牛
    軟件源代碼非公知性司法鑒定方法探析
    三明:“兩票制”堵住加價漏洞
    漏洞在哪兒
    兒童時代(2016年6期)2016-09-14 04:54:43
    大家說:開源、人工智能及創(chuàng)新
    開源中國開源世界高峰論壇圓桌會議縱論開源與互聯(lián)網(wǎng)+創(chuàng)新2.0
    揭秘龍湖產(chǎn)品“源代碼”
    我的老师免费观看完整版| 久久99热这里只有精品18| 欧美高清成人免费视频www| 很黄的视频免费| 日韩av在线大香蕉| 十八禁网站免费在线| 欧美又色又爽又黄视频| 成年版毛片免费区| 久9热在线精品视频| 99精品欧美一区二区三区四区| 国产亚洲精品久久久久久毛片| 欧美一级毛片孕妇| 亚洲性夜色夜夜综合| 精品人妻1区二区| 日韩欧美在线乱码| 蜜桃亚洲精品一区二区三区| 亚洲欧美日韩卡通动漫| 琪琪午夜伦伦电影理论片6080| 亚洲片人在线观看| 国产视频一区二区在线看| 最新在线观看一区二区三区| 有码 亚洲区| 2021天堂中文幕一二区在线观| 亚洲中文字幕日韩| 国产伦一二天堂av在线观看| 中文在线观看免费www的网站| 欧美zozozo另类| 宅男免费午夜| av中文乱码字幕在线| 久久久久免费精品人妻一区二区| 欧美成人免费av一区二区三区| 97超级碰碰碰精品色视频在线观看| 欧美日韩一级在线毛片| 国产高清视频在线观看网站| 少妇的逼水好多| 黄片小视频在线播放| 内地一区二区视频在线| 国产真人三级小视频在线观看| 99热6这里只有精品| 国产高清视频在线播放一区| 久久久久九九精品影院| 国产乱人伦免费视频| 69人妻影院| 国产精品乱码一区二三区的特点| 在线观看美女被高潮喷水网站 | 亚洲无线观看免费| 一卡2卡三卡四卡精品乱码亚洲| 岛国视频午夜一区免费看| 亚洲成人免费电影在线观看| 网址你懂的国产日韩在线| 看片在线看免费视频| 真实男女啪啪啪动态图| 啪啪无遮挡十八禁网站| 乱人视频在线观看| 亚洲av一区综合| 十八禁网站免费在线| 一区二区三区高清视频在线| 国产亚洲精品综合一区在线观看| 欧美一级毛片孕妇| 毛片女人毛片| 亚洲av电影在线进入| 无遮挡黄片免费观看| 一个人看的www免费观看视频| xxx96com| 欧美一级毛片孕妇| 狂野欧美白嫩少妇大欣赏| 亚洲内射少妇av| 在线观看66精品国产| 内地一区二区视频在线| 精品欧美国产一区二区三| 噜噜噜噜噜久久久久久91| www.色视频.com| 精品人妻1区二区| 久久精品91蜜桃| 亚洲va日本ⅴa欧美va伊人久久| 看黄色毛片网站| 亚洲av成人精品一区久久| 精品人妻一区二区三区麻豆 | 在线天堂最新版资源| 色综合婷婷激情| 法律面前人人平等表现在哪些方面| 国产亚洲av嫩草精品影院| 国产精品久久久久久亚洲av鲁大| 婷婷丁香在线五月| 久久性视频一级片| 日韩欧美免费精品| 色吧在线观看| 亚洲美女黄片视频| 亚洲一区二区三区色噜噜| 国产午夜精品论理片| 亚洲欧美日韩高清在线视频| 国产亚洲精品久久久com| 少妇的逼好多水| АⅤ资源中文在线天堂| 午夜福利免费观看在线| 长腿黑丝高跟| 99在线人妻在线中文字幕| 亚洲 欧美 日韩 在线 免费| 人妻久久中文字幕网| 国产亚洲欧美98| 日本在线视频免费播放| 九色国产91popny在线| 国产在线精品亚洲第一网站| 国产色婷婷99| 在线十欧美十亚洲十日本专区| 国产精品一区二区三区四区免费观看 | 两个人看的免费小视频| 中国美女看黄片| 精品免费久久久久久久清纯| 18禁美女被吸乳视频| 深爱激情五月婷婷| 99久久精品热视频| 真实男女啪啪啪动态图| 听说在线观看完整版免费高清| av福利片在线观看| 18禁黄网站禁片午夜丰满| 国产不卡一卡二| 久久久久久久久中文| 香蕉丝袜av| 国产视频一区二区在线看| 成人鲁丝片一二三区免费| 国产91精品成人一区二区三区| 国产精品电影一区二区三区| 久久久久久久午夜电影| 少妇高潮的动态图| 成人性生交大片免费视频hd| 草草在线视频免费看| 亚洲午夜理论影院| 男插女下体视频免费在线播放| 男女下面进入的视频免费午夜| 中文字幕av成人在线电影| 99视频精品全部免费 在线| 香蕉久久夜色| 啦啦啦韩国在线观看视频| 欧美国产日韩亚洲一区| 99久久精品国产亚洲精品| 欧美成人性av电影在线观看| 一进一出好大好爽视频| 精品久久久久久,| 欧美一区二区精品小视频在线| 麻豆成人av在线观看| 欧美乱码精品一区二区三区| 精品久久久久久久久久免费视频| 亚洲av电影不卡..在线观看| 色尼玛亚洲综合影院| 欧美中文综合在线视频| 日本三级黄在线观看| 国产高清videossex| 精品久久久久久久久久免费视频| 一区二区三区国产精品乱码| 国产免费男女视频| 最新美女视频免费是黄的| 桃色一区二区三区在线观看| 午夜老司机福利剧场| 亚洲欧美日韩卡通动漫| 99在线视频只有这里精品首页| 欧美黄色淫秽网站| 日韩欧美在线二视频| 中文字幕久久专区| 国产精品一区二区免费欧美| 亚洲一区高清亚洲精品| 久久伊人香网站| 高清在线国产一区| 成人鲁丝片一二三区免费| av片东京热男人的天堂| 精品久久久久久久久久久久久| 亚洲欧美日韩高清在线视频| 又黄又粗又硬又大视频| 最近最新中文字幕大全电影3| 午夜激情福利司机影院| 一本一本综合久久| 久久久久国内视频| 欧美黑人巨大hd| 亚洲七黄色美女视频| 欧美日韩乱码在线| 深爱激情五月婷婷| 听说在线观看完整版免费高清| 国产精品日韩av在线免费观看| 99精品欧美一区二区三区四区| 黄色女人牲交| 国产精品香港三级国产av潘金莲| 日本 av在线| 欧美黑人欧美精品刺激| 欧美性猛交╳xxx乱大交人| 免费大片18禁| 久久6这里有精品| 噜噜噜噜噜久久久久久91| 90打野战视频偷拍视频| 欧美成人性av电影在线观看| 久久精品综合一区二区三区| 国产一区二区亚洲精品在线观看| 国产av不卡久久| 中文字幕人妻丝袜一区二区| 宅男免费午夜| 亚洲av美国av| 亚洲av免费在线观看| 日本精品一区二区三区蜜桃| 国产精品一及| 国产欧美日韩一区二区三| 国产精品久久久久久精品电影| 国产伦精品一区二区三区视频9 | 无限看片的www在线观看| 国产精品一区二区免费欧美| 精品久久久久久久久久久久久| www.熟女人妻精品国产| 亚洲第一电影网av| 日韩欧美国产在线观看| 久久人妻av系列| 国产成人a区在线观看| 黑人欧美特级aaaaaa片| 国产色爽女视频免费观看| 久久国产精品人妻蜜桃| 国产综合懂色| 18+在线观看网站| 免费在线观看影片大全网站| 一区福利在线观看| 99国产综合亚洲精品| 最近最新中文字幕大全免费视频| 狠狠狠狠99中文字幕| 一夜夜www| 中文字幕熟女人妻在线| 亚洲欧美一区二区三区黑人| 欧美乱妇无乱码| 国产蜜桃级精品一区二区三区| 久久精品国产清高在天天线| 波多野结衣高清作品| 国产成人福利小说| 日本精品一区二区三区蜜桃| 欧美性感艳星| 国产美女午夜福利| 窝窝影院91人妻| 欧美日韩综合久久久久久 | 亚洲精品一卡2卡三卡4卡5卡| 网址你懂的国产日韩在线| 一本综合久久免费| 少妇高潮的动态图| 又黄又粗又硬又大视频| 欧美精品啪啪一区二区三区| 国产亚洲精品一区二区www| 老司机深夜福利视频在线观看| 亚洲国产精品合色在线| 日本成人三级电影网站| 99久久久亚洲精品蜜臀av| 97碰自拍视频| 国产精品久久久久久精品电影| 欧美性感艳星| 国产欧美日韩一区二区精品| 俺也久久电影网| 精品一区二区三区视频在线 | 两个人看的免费小视频| 成人精品一区二区免费| 麻豆成人av在线观看| 五月伊人婷婷丁香| 亚洲精品成人久久久久久| 国产国拍精品亚洲av在线观看 | 最后的刺客免费高清国语| 欧美日韩一级在线毛片| 国产av一区在线观看免费| 日韩国内少妇激情av| 一进一出抽搐gif免费好疼| 国产高清视频在线观看网站| 中国美女看黄片| 亚洲欧美激情综合另类| 欧美3d第一页| 黄色丝袜av网址大全| 免费在线观看日本一区| 人人妻人人看人人澡| 亚洲国产精品合色在线| 动漫黄色视频在线观看| 日韩精品青青久久久久久| 欧美bdsm另类| 天堂动漫精品| 日韩欧美免费精品| 国模一区二区三区四区视频| 成人性生交大片免费视频hd| 女人被狂操c到高潮| 精品久久久久久久久久久久久| 一个人看视频在线观看www免费 | 无遮挡黄片免费观看| 亚洲片人在线观看| 亚洲av成人av| 3wmmmm亚洲av在线观看| 他把我摸到了高潮在线观看| 日本免费一区二区三区高清不卡| 91av网一区二区| 色综合站精品国产| 一本一本综合久久| 欧美最黄视频在线播放免费| 精品一区二区三区视频在线观看免费| 一a级毛片在线观看| 亚洲精品粉嫩美女一区| 日本免费a在线| 18禁裸乳无遮挡免费网站照片| 欧美一级毛片孕妇| 国产伦在线观看视频一区| 欧美最新免费一区二区三区 | 成人av在线播放网站| 99久国产av精品| 亚洲人成网站高清观看| 国产伦一二天堂av在线观看| 午夜两性在线视频| av中文乱码字幕在线| 长腿黑丝高跟| 女人十人毛片免费观看3o分钟| 久久天躁狠狠躁夜夜2o2o| 国产精品美女特级片免费视频播放器| 成熟少妇高潮喷水视频| 国产激情欧美一区二区| 日本熟妇午夜| 一区二区三区高清视频在线| 日韩欧美精品v在线| 国产成年人精品一区二区| 一夜夜www| 日韩有码中文字幕| 蜜桃久久精品国产亚洲av| 国产激情偷乱视频一区二区| 亚洲av二区三区四区| 欧美+亚洲+日韩+国产| 丰满的人妻完整版| 中文字幕熟女人妻在线| 美女cb高潮喷水在线观看| 老司机午夜福利在线观看视频| 免费一级毛片在线播放高清视频| 欧美+日韩+精品| 亚洲成人久久性| 亚洲精品色激情综合| 亚洲av不卡在线观看| 免费观看精品视频网站| 亚洲专区中文字幕在线| 久久久久久久午夜电影| 少妇人妻精品综合一区二区 | 精品一区二区三区av网在线观看| 午夜日韩欧美国产| 一区二区三区激情视频| 欧美在线黄色| 露出奶头的视频| 禁无遮挡网站| 亚洲不卡免费看| 亚洲欧美日韩东京热| 亚洲真实伦在线观看| 老汉色av国产亚洲站长工具| 亚洲五月天丁香| 99久久精品国产亚洲精品| 亚洲av中文字字幕乱码综合| 日本黄大片高清| 亚洲国产精品999在线| 变态另类丝袜制服| 日韩欧美精品免费久久 | 亚洲av一区综合| 午夜精品久久久久久毛片777| 欧美国产日韩亚洲一区| 亚洲va日本ⅴa欧美va伊人久久| 此物有八面人人有两片| 天堂动漫精品| 在线观看午夜福利视频| 亚洲欧美精品综合久久99| 免费av观看视频| 99久久久亚洲精品蜜臀av| 色综合亚洲欧美另类图片| 国产精品女同一区二区软件 | 日本熟妇午夜| 久久久久亚洲av毛片大全| 亚洲18禁久久av| 亚洲欧美日韩高清专用| 蜜桃久久精品国产亚洲av| 波野结衣二区三区在线 | 18禁在线播放成人免费| 女警被强在线播放| svipshipincom国产片| 搡老熟女国产l中国老女人| 亚洲成人久久性| 国产精品一区二区三区四区久久| 久久久色成人| 91九色精品人成在线观看| 亚洲精品成人久久久久久| 夜夜爽天天搞| 怎么达到女性高潮| 亚洲成人免费电影在线观看| 久久人人精品亚洲av| 两个人视频免费观看高清| 欧美日韩亚洲国产一区二区在线观看| 9191精品国产免费久久| 亚洲av成人不卡在线观看播放网| 久久久精品欧美日韩精品| 成年女人毛片免费观看观看9| 伊人久久精品亚洲午夜| 国产不卡一卡二| 久久精品91无色码中文字幕| 亚洲av不卡在线观看| 国产免费男女视频| 女人高潮潮喷娇喘18禁视频| 久久久久久大精品| 成人av在线播放网站| 免费观看精品视频网站| 国产极品精品免费视频能看的| 宅男免费午夜| 午夜免费激情av| 在线播放国产精品三级| 国语自产精品视频在线第100页| 亚洲精品日韩av片在线观看 | 色播亚洲综合网| 熟女少妇亚洲综合色aaa.| 欧美激情久久久久久爽电影| 美女大奶头视频| 一个人免费在线观看电影| 亚洲一区高清亚洲精品| 国产亚洲精品一区二区www| 亚洲真实伦在线观看| 我要搜黄色片| 亚洲一区高清亚洲精品| 国产精品野战在线观看| 嫩草影视91久久| 欧美一区二区亚洲| 欧美中文综合在线视频| 国产午夜福利久久久久久| 亚洲av日韩精品久久久久久密| 免费观看的影片在线观看| 最近最新中文字幕大全电影3| 国产亚洲精品久久久久久毛片| 国产精品久久久人人做人人爽| 色精品久久人妻99蜜桃| 亚洲在线观看片| 神马国产精品三级电影在线观看| 黄色视频,在线免费观看| 蜜桃亚洲精品一区二区三区| 久久久久国产精品人妻aⅴ院| 少妇丰满av| 色精品久久人妻99蜜桃| 级片在线观看| 不卡一级毛片| 久久久久久国产a免费观看| 美女 人体艺术 gogo| 色综合婷婷激情| 色在线成人网| 69av精品久久久久久| www.熟女人妻精品国产| 亚洲中文字幕日韩| 天堂√8在线中文| 无人区码免费观看不卡| 9191精品国产免费久久| 日韩欧美精品v在线| 69av精品久久久久久| 高清在线国产一区| 国产极品精品免费视频能看的| 19禁男女啪啪无遮挡网站| 无人区码免费观看不卡| 好男人电影高清在线观看| 乱人视频在线观看| 精品午夜福利视频在线观看一区| 国语自产精品视频在线第100页| 深夜精品福利| 美女高潮的动态| av天堂中文字幕网| 黄色视频,在线免费观看| 亚洲第一电影网av| 午夜免费成人在线视频| 日本一二三区视频观看| 欧美一级a爱片免费观看看| av国产免费在线观看| 久久久国产成人免费| 757午夜福利合集在线观看| 床上黄色一级片| 欧美成人免费av一区二区三区| 老汉色∧v一级毛片| 一个人免费在线观看电影| 国产色爽女视频免费观看| 身体一侧抽搐| 午夜福利在线观看免费完整高清在 | 免费观看精品视频网站| 国产免费一级a男人的天堂| 天堂动漫精品| 亚洲人成伊人成综合网2020| 国产精品99久久久久久久久| 国产精品久久久人人做人人爽| 久久天躁狠狠躁夜夜2o2o| 亚洲人成网站高清观看| 国产精品影院久久| 色精品久久人妻99蜜桃| 脱女人内裤的视频| 国产主播在线观看一区二区| 美女 人体艺术 gogo| h日本视频在线播放| 99在线人妻在线中文字幕| 亚洲第一欧美日韩一区二区三区| 三级国产精品欧美在线观看| 日日干狠狠操夜夜爽| 在线播放国产精品三级| 免费在线观看影片大全网站| 99国产综合亚洲精品| 国产成人欧美在线观看| 精品一区二区三区视频在线观看免费| 长腿黑丝高跟| 国产成人啪精品午夜网站| 精品国产亚洲在线| 99国产综合亚洲精品| 国产在视频线在精品| 91字幕亚洲| 欧美日韩乱码在线| 亚洲久久久久久中文字幕| 久久久久久九九精品二区国产| 91在线精品国自产拍蜜月 | 中文字幕av成人在线电影| 国产精品久久久久久人妻精品电影| 九色国产91popny在线| 欧美日本亚洲视频在线播放| 18禁裸乳无遮挡免费网站照片| 亚洲国产日韩欧美精品在线观看 | 精品无人区乱码1区二区| 天天一区二区日本电影三级| 亚洲,欧美精品.| 老司机午夜十八禁免费视频| 成人高潮视频无遮挡免费网站| 99热只有精品国产| 在线看三级毛片| 女同久久另类99精品国产91| 欧美性猛交黑人性爽| 欧洲精品卡2卡3卡4卡5卡区| 一区二区三区高清视频在线| 18禁美女被吸乳视频| 国产成人a区在线观看| 久久国产乱子伦精品免费另类| a在线观看视频网站| 在线观看舔阴道视频| 国产精品一及| e午夜精品久久久久久久| 午夜两性在线视频| 极品教师在线免费播放| 国产在线精品亚洲第一网站| 一进一出好大好爽视频| 热99re8久久精品国产| 久久国产精品影院| av在线天堂中文字幕| 成人18禁在线播放| 2021天堂中文幕一二区在线观| 欧美成狂野欧美在线观看| 手机成人av网站| 嫩草影院精品99| 日韩大尺度精品在线看网址| 男女下面进入的视频免费午夜| 久久精品91无色码中文字幕| 国产成人av激情在线播放| 欧美在线黄色| 99热6这里只有精品| 国产亚洲精品久久久久久毛片| 欧美性感艳星| 黑人欧美特级aaaaaa片| 午夜影院日韩av| 18美女黄网站色大片免费观看| 真人做人爱边吃奶动态| 国内揄拍国产精品人妻在线| 在线免费观看不下载黄p国产 | 国产精品久久久人人做人人爽| 少妇人妻精品综合一区二区 | 日韩欧美 国产精品| 超碰av人人做人人爽久久 | 亚洲av熟女| 免费观看精品视频网站| 在线观看av片永久免费下载| 日本免费a在线| 国产高清三级在线| 成人特级黄色片久久久久久久| 欧美一区二区亚洲| 国产探花在线观看一区二区| eeuss影院久久| 国产视频内射| 国产高潮美女av| 午夜老司机福利剧场| 国产精品国产高清国产av| 俄罗斯特黄特色一大片| 国产av麻豆久久久久久久| 久久精品国产清高在天天线| 夜夜夜夜夜久久久久| 国产精品综合久久久久久久免费| 日韩高清综合在线| 又黄又爽又免费观看的视频| 国产精品精品国产色婷婷| 日日夜夜操网爽| 日韩欧美三级三区| 国产精品久久电影中文字幕| 国产野战对白在线观看| 可以在线观看的亚洲视频| 久久香蕉精品热| 丝袜美腿在线中文| 熟妇人妻久久中文字幕3abv| 一个人免费在线观看的高清视频| 看免费av毛片| 亚洲精品色激情综合| 黄色丝袜av网址大全| eeuss影院久久| 国产v大片淫在线免费观看| 午夜免费成人在线视频| 可以在线观看的亚洲视频| 在线天堂最新版资源| 最近最新免费中文字幕在线| 日韩精品中文字幕看吧| 少妇裸体淫交视频免费看高清| 日日夜夜操网爽| 日本精品一区二区三区蜜桃| www.熟女人妻精品国产| 午夜福利欧美成人| 久久精品国产99精品国产亚洲性色| 日韩欧美 国产精品| 欧美成狂野欧美在线观看| 小说图片视频综合网站| 91久久精品国产一区二区成人 | 又紧又爽又黄一区二区| 亚洲黑人精品在线| 在线十欧美十亚洲十日本专区| 天天添夜夜摸| 窝窝影院91人妻| 国产av不卡久久| 天堂网av新在线| 亚洲片人在线观看| 精品日产1卡2卡| 一级a爱片免费观看的视频|