999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于靜態特征融合的惡意軟件分類方法

2021-08-06 08:23:28楊春雨張思聰李小劍
計算機工程與應用 2021年15期
關鍵詞:分類特征融合

楊春雨,徐 洋,張思聰,李小劍

貴州師范大學 貴州省信息與計算科學重點實驗室,貴陽 550001

國家互聯網應急中心2020 年第8 期網絡安全信息與動態周報指出,境內感染網絡病毒的主機數量達到了58.6 萬,被木馬或僵尸程序控制的主機約52.7 萬個,感染飛客蠕蟲的主機約5.9 萬,木馬和僵尸程序較上周增長了3.4%,飛客蠕蟲較上周增長了4.5%[1]。隨著互聯網的發展,快速增長的惡意軟件無疑給國家和社會帶來了巨大的經濟損失,有必要提出更加精準快速的分析方法。

傳統的惡意軟件分析方法分為靜態方法和動態方法[2]。靜態方法主要是對惡意軟件和其反編譯文件提取的靜態特征進行分析,但是僅僅采用單一類型的特征容易受到代碼混淆或加殼等技術的影響,對多種特征融合和降維,然后使用分類算法對惡意軟件進行分類往往能夠獲得更好的效果。動態分析方法主要是在虛擬環境中執行惡意軟件樣本,記錄惡意軟件的行為特征,如系統調用名稱、上下文參數、環境變量等[3],然后基于動態行為特征進行分類,常用的惡意軟件動態分析平臺有Cuckoo Sandbox。惡意軟件檢測是一個二分類問題[4],而惡意軟件分類是根據不同惡意軟件家族的相似特征來識別出樣本,是一個多分類問題。

2010年,Conti等[5]首次提出將二進制文件轉化為灰度圖像。2011年,Nataraj等[6]提出將惡意軟件轉化成灰度圖像,利用同一惡意軟件家族的灰度圖具有紋理的相似性,提取灰度圖的Gist 特征,使用KNN 作為分類器,在Malimg數據集上取得了98%的準確率。

2012 年,白金榮等[7]提取了惡意軟件的結構特征,通過Wrapper算法對特征進行篩選,對惡意軟件檢測達到了99%的準確率。

2016年,任卓君等[8]通過將惡意軟件轉化成黃、綠雙色通道的位圖,將位圖轉化為像素歸一圖,使用Jaccard距離度量像素歸一圖的相似性,使用KNN作為分類器,在353個樣本上達到了95.18%的準確率。

2019年,郎大鵬等[9]通過將惡意軟件和Asm文件表示成灰度圖的形式,提取灰度圖的灰階共生矩陣(Graylevel Co-occurrence Matrix)[10]和Gist 特征,并融合Opcode 3-gram序列特征,使用RF作為分類器,在2 625個樣本上取得了85%的準確率。

2019年,張景蓮等[11]提取惡意軟件的灰度圖前2 500個像素點的值和圖像顏色直方圖,再融合Opcode 2-gram序列特征,在Kaggle 惡意軟件數據集上達到了99.56%的分類準確率。

2020年,鄭銳等[12]同時設置25個安裝64位Windows7的虛擬機執行惡意軟件樣本,通過Cuckoo Sandbox 平臺收集樣本的API 調用序列,使用雙向LSTM 模型對6 681 個惡意軟件樣本進行分類,取得了99.28%的準確率。

通過上述可知,利用可視化技術提取惡意軟件的特征,再融合其他語義特征分類取得了很好的效果。但是灰度圖和n-gram 的特征維度比較高,以字節的2-gram模型提取為例,每個字節的范圍是0~255,提取文件字節的2-gram 序列將會有65 536 維的特征,而一個2 MB的惡意軟件轉化成的灰度圖大約具有2 097 152個像素點。動態分析耗費較長時間和大量硬件資源,且虛擬環境配置不當會導致缺少.dll 文件等錯誤,從而使惡意軟件樣本不能執行,收集不到有用信息。靜態分析可以作為安全引擎的重要保護層[13],在不執行惡意樣本的前提下提前預測惡意軟件所屬家族。因此針對現有惡意軟件分類方法融合的靜態特征維度高、特征提取耗時、Boosting 算法對大量高維特征樣本串行訓練時間長的問題,本文提出一種基于靜態特征融合的惡意軟件分類方法。利用相同惡意軟件家族的樣本具有數據、代碼、結構的相似性,提取原文件和Lst文件的灰度圖特征、結構特征、Lst 文件內容特征,并將特征進行融合和分類。通過融合多類特征分類,消除代碼混淆對單一特征分類的影響,同時對訓練集采用GOSS 采樣和LightGBM 分類器訓練,大幅減少訓練時間。

1 特征工程

1.1 灰度圖

同一家族的惡意軟件代碼存在較高的復用性,通過復用代碼往往能夠快速地生成新的惡意軟件,因此將同一家族惡意軟件轉化為灰度圖時,灰度圖存在著較高的相似性。Kaggle 惡意軟件分類競賽冠軍[14]提取Asm 文件前800 個像素作為一種融合特征對惡意軟件進行分類,但是結果不具有可解釋性。在采用惡意軟件灰度圖像素點的值作為特征時存在的問題是樣本轉化為灰度圖時會存在十幾萬到幾百萬個像素點,從中選擇對分類有用的特征比較耗時。

將文件轉化成灰度圖的過程如圖1 所示。本文使用IDA Pro 對樣本反編譯輸出Lst 文件,將原文件和反編譯文件以二進制形式打開,以8位二進制數為一個無符號整數作為一個像素點,像素點的值的范圍是0~255,參考表1設定圖像初始寬度,圖像高度根據樣本大小設定,將樣本轉化成灰度圖。通過合適的插值方法對灰度圖進行下采樣修改圖像的尺寸,本文采用了32×32、48×48,64v64 三種圖像尺寸,保留了惡意樣本的全局信息的同時達到了降維的效果。常用的插值算法有最鄰近、雙線性、雙三次、Lanczos。Lanczos算法較其余三類算法具有速度快,效果好的優點。因此采用Lanczos算法進行下采樣,然后提取灰度圖全部像素點的值作為特征。圖2(a)和圖2(b)為一個蠕蟲家族惡意樣本的Lst文件和EXE文件轉化成的灰度圖像。

圖1 灰度圖轉化過程Fig.1 Process of converting to grayscale

表1 圖像的初始寬度和樣本大小的關系Table 1 Mapping of sample size to initial width of image

圖2 兩種文件的灰度圖Fig.2 Grayscale images of two types of files

1.2 結構特征

PE(Portable Executable)文件是Windows操作系統使用的可執行文件,當其載入內存執行時具有固定的數據結構,常見的EXE、DLL、OCX、SYS、COM 文件都是PE文件。當PE文件載入內存后,稱其為映像(IMAGE),圖3 為PE 文件的結構。MS-DOS 頭用來兼容MS-DOS操作系統,NT頭包含PE文件的主要信息,節表是PE文件節信息,節表后面是包含了文件數據和代碼以及資源的節。

圖3 PE文件的結構Fig.3 Structure of PE file

同一惡意軟件家族代碼復用導致惡意軟件作者或團隊編碼具有編碼相似性[15],因此當同一家族惡意軟件載入內存執行時其結構信息和數據也應該具有一定的相似性,因此本文將EXE文件以PE文件格式解析,提取樣本的文本、全局、頭部、導入導出表、節特征,特征提取通過LIEF實現。此外還提取了文件的字節直方圖和字節-熵直方圖[16]。

文本特征:PE文件中的文本表示了PE文件運行時候的信息。且文本可以較為直觀地反映出PE文件的行為[17]。本文統計長度大于5的由可打印字符組成的字符串的個數、字符串的平均長度以及可打印字符的分布和熵。可打印字符是指ASCII 碼范圍在0x20~0x7E 之間的字符。統計含有“C:”(系統路徑)、“http://”(URL 請求)、“https://”“HKEY_”(注冊表)有特殊含義的字符串個數。

全局特征:統計文件的映像大小,符號表中符號的個數,以及是否包含線程局部存儲(Thread Local Storage)、debug 信息、資源文件和重定向。TLS 的主要作用是引入程序執行前調用的回調函數。Trojan 對TLS 的使用率高達47.3%[18]。

頭部特征:提取并使用列表存儲IMAGE_FILE_HEADERS 中的文件屬性(如分離了debug 信息并存儲在單獨文件中的樣本具有IMAGE_FILE_DEBUG_STRIPPED屬性、文件是否可寫可執行屬性等)、子系統名稱。提取并使用列表存儲IMAGE_OPTIONAL_HEADERS中的導入DLL屬性,統計映像、鏈接器、子系統、操作系統的版本號、代碼段大小和所有頭部大小。

導入導出表:統計導入導出表個數,對于導入的DLL文件和導入函數名用冒號連接并使用列表存儲,如advapi32.dll:AdjustTokenPrivileges表示使用了advapi32.dll中的AdjustTokenPrivileges 函數,該函數常用來啟動或禁用特定訪問權限,執行進程注入的惡意軟件會調用該函數獲得額外權限。

節特征:使用列表分別存儲樣本每個節的名稱和節的物理大小、映像大小、熵的對應關系,如列表1為([‘.text’,19 456),(‘.rsrc’,512)],列表2為([‘.text’,20 480),(‘.rsrc’,8 192)],列表3為([‘.text’,5.476 359 828 917 223),(‘.rsrc’,1.434 135 665 302 386 2)],并使用列表存儲程序入口點節的名稱和其屬性的對應關系。統計可執行節、可寫節、異常節的個數,異常節包含物理大小為0 的節和名字為空的節。Virus可寫節的個數占其節數高達75.6%,而Backdoor的異常命名節數通常占其節數的82%[18]。

Hash Trick:在自然語言處理中Hashing Trick是一種快速且節省空間的文本向量化和特征降維方法。在每一種類型特征提取的過程中,對于以列表或者文本形式出現的特征,如文件的屬性、導入導出表、節特征,使用Hash Trick算法將其轉換成維度固定的特征向量。

字節直方圖直接體現了每個惡意軟件的字節分布。字節直方圖計算公式:

其中,K表示字節的十進制值,N表示文件的字節總數,nk表示字節十進制值為K的個數。

本文實現16×16的字節-熵直方圖。字節-熵直方圖通過滑動窗口實現,滑動窗口大小為2 048 Byte,步長為1 024 Byte。首先計算窗口內字節的熵,再將熵值乘二取整,使熵的值落在0 到15,最后將字節的值整除4,計算每個值的分布,并將字節分布累加到指定的熵值下。熵的計算公式:

其中,p(x)表示窗口內每個字節的概率。

字節-熵直方圖實現的偽代碼如下:

1.3 Lst文件特征

微軟的Kaggle惡意軟件數據集的原始文件是Bytes文件,且該數據集的Asm文件包含了節信息,而本文采用的Virustotal數據集的原始文件為EXE文件,IDA Pro反編譯產生的Asm文件不包含節信息,因此在本文數據集上選擇反編譯輸出Lst文件,在Asm文件的基礎上包含了節信息。

如圖4,對于反編譯獲得的Lst 文件,從每一行前綴能知曉匯編代碼屬于哪一個節,提取部分節的頻數和關鍵字的頻數。.text或者.CODE代表了代碼節,.bss與.data節毗鄰,其中包含的是初始化為0的變量或者未初始化的變量,.rsrc節包含了資源數據,.tls是線程本地存儲節,關鍵字std::表示使用了C++中的輸入輸出標準,:dword表示定義為雙字的標識符。通用寄存器可用于傳送和暫存數據,也可參與算術邏輯運算,并保存運算結果,本文提取每個Lst 文件中的32 位通用寄存器的頻數。Opcode 通常分為三類[19]:數據移動、算術/邏輯和控制流類型,從其中篩選出比較重要的Opcode,并統計其頻數。表2 所示為32 位通用寄存器及本文統計頻數的Opcode。

圖4 Lst文件內容Fig.4 Contents of Lst file

表2 通用寄存器和OpcodeTable 2 Opcode and general register

1.4 標準化

為了消除不同類型特征之間量綱的影響,提高數據之間的可比性,需要對特征進行標準化處理,常用的標準化方法有Min-max標準化、Z-score標準化。本文采用Z-score標準化方法將各類型特征轉化到同一量綱下。

標準化的過程如下:

其中X為訓練集的特征矩陣,每一行是一個樣本的特征,每一列是相同類型特征在不同樣本的值,n為特征個數,m為特征維數,μj、σj是訓練集某一維度特征的均值和標準差。首先求得訓練集每一維特征的μ和σ并對訓練集標準化,為減小誤差使用訓練集的μ和σ參數為測試集的每一維度的特征做標準化。

2 模型和算法

2.1 分類模型和特征處理模型

圖5 為基于靜態特征融合的惡意軟件分類方法的分類模型,分為模型的訓練階段和測試階段。訓練階段訓練的分類器是LightGBM,LightGBM會對輸入的特征進行預處理后再進行訓練。

圖5 分類模型Fig.5 Classification model

圖6 為特征提取和處理流程,分別從原文件和Lst文件中提取四類特征,再選擇不同類型的特征融合,最后進行標準化,為減小誤差測試集的標準化使用訓練集的均值和標準差參數。

圖6 特征提取和處理流程Fig.6 Feature extraction and processing flow

惡意樣本的每一種類型的特征使用樣本的ID(樣本的SHA256值)標識。選擇特征融合和標準化的偽代碼如下:

2.2 LightGBM

LightGBM[20]和XGBoost[21]都是對梯度提升決策樹(Gradient Boosting Decision Tree)的高效實現。Light-GBM 引入Histogram 算法對特征進行離散化降低內存使用、GOSS 算法減少訓練的樣本數、EFB 算法減少特征維數,并具有支持GPU 并行學習的優點。在處理大量樣本和高維特征時,計算速度和內存消耗明顯優于XGBoost。XGBoost和GBDT算法的基分類器使用分類與回歸樹(Classification And Regression Tree)中的回歸樹,在分類問題中它輸出的是樣本屬于每一類的概率,其生長策略是如圖7 的按層生長(level-wise)策略,而LightGBM 采用更為高效的如圖8 的按葉子生長(leaf-wise)策略,減少了很多沒有必要的分裂開銷。

圖7 按層生長策略Fig.7 Level-wise learning

圖8 按葉子生長策略Fig.8 Leaf-wise learning

直方圖(Histogram)算法是一種把連續浮點型特征值離散化的算法,如把區間[0,0.3)之間的值離散化為0,[0.3,0.8)之間的值離散化為1。然后就可以統計區間內的樣本個數和樣本的梯度之和,再根據直方圖尋找特征的最佳分裂點,減少訓練時間。

單邊梯度采樣(Gradient-based One Side Sampling),是一種訓練集采樣方法,啟用后每次迭代之前,對所有樣本采樣,計算每個樣本的梯度絕對值并排序,設定一個比例采樣梯度前a%大的樣本組成集合A,為了使數據均衡,從剩余的小梯度樣本中隨機提取b%的樣本組成集合B,然后使用集合A?B進行訓練,對于小梯度樣本在計算增益的時候賦予其(1-a)/b的權重。回歸樹的分裂基于信息增益,而信息增益使用分裂后的方差增益衡量[20],方差增益公式是:

其中,j是使用的分裂特征,d是樣本特征的分裂點,n是A?B的樣本數,xi是樣本,Al是分裂的左子節點的大梯度樣本,Bl是分裂的左子節點的小梯度樣本,Ar和Br為分裂的右子節點的大、小梯度樣本,gi是樣本梯度,是分裂的左、右節點樣本數。

因此可以設置a和b的值調整對訓練集大、小梯度樣本抽樣的比例,在保證模型精度的情況下使得每次計算方差增益的時候減少計算次數,從而減少訓練時間。

互斥特征捆綁(Exclusive Feature Bundling),本文所提取的特征存在互斥特征,即多個特征之間存在只有一個特征為非0的情況。如特征A的取值是[0,5),特征B 的取值是[0,20)且A 和B 互斥,則將B 的值加5 使其范圍落到[5,25),然后合并特征A和特征B形成特征C,C的范圍是[0,30),當C取值為10時等價于B取值為5。

本文對LightGBM 進行訓練時,會提前設定a和b的值,然后LightGBM 會對圖6 模型輸出的特征進行處理。首先啟用GOSS 算法,計算并提取梯度前a%大的樣本作為本次訓練的樣本,并從剩余樣本提取b%比例的小梯度樣本加入訓練樣本,這一步主要是減少訓練的樣本數。然后使用EFB 算法合并互斥的特征減少特征的維數,這一步能夠有效減少構建直方圖特征的維度。最后使用Histogram算法將連續的浮點數特征在多個區間離散化,特征離散化的好處是可以減少對特征分裂點的尋找時間,使得尋找特征分裂點的開銷從原來的需要遍歷所有特征值減少為只需要遍歷離散值。

3 實驗

3.1 實驗環境

本文的實驗是在CPU 主頻為2.6 GHz 的Intel i5-3230M,顯卡為顯存2 GB的NVIDIA GeForce 710M,內存為8 GB的Ubuntu 18.04.3 LTS系統上實現的。

3.2 實驗數據

實驗的數據集來源為Virustotal 學者數據集。為2019 年1 月至2019 年5 月收集的32 位Windows 平臺下的EXE惡意軟件樣本,一共35 552個,采用卡巴斯基命名規則為樣本標記。篩選出9類惡意軟件家族的15 887個樣本,分別是廣告(Adware)、后門(Backdoor)、風險工具(Risktool)、木馬(Trojan)、病毒(Virus)、蠕蟲(Worm)。其中木馬又可以分為四個子類,分別是Trojan-Dropper、Trojan-PSW、Trojan-Ransom、Trojan-Spy。表3所示為每一種上述惡意軟件的數量分布。訓練集和測試集的比例為7∶3,劃分時設置stratify 參數,使訓練集和測試集中的各個家族之間數量的比例保持不變。

表3 惡意軟件分布Table 3 Distribution of malware

3.3 評價指標

采取宏平均精確率(Macro-avg(Precision))、宏平均召回率(Macro-avg(Recall))、宏平均F1-scoreMacroavg(F1-score)、準確率Accuracy作為評價指標。

其中:

TPn(True Positive)代表正確預測的正樣例數;FPn(False Positive)代表將負樣例錯分為正樣例數;FNn(False Negative)代表將正樣例錯分為負樣例數。

3.4 實驗結果

本文一共選取四類特征,分別是原始樣本轉化為灰度圖和反編譯的Lst 文件轉化為灰度圖的像素點特征、提取的結構特征、從Lst文件中提取的特征。xx_xx_File和xx_xx_Lst 分別表示原文件和Lst 文件的某個尺寸的灰度圖,Stru_fea 表示結構特征,Lst_fea 表示從Lst 文件提取的特征。首先對這幾個特征使用不啟用GOSS 的LightGBM 進行分類,選出灰度圖中效果最好的兩種尺寸的圖像,再從四類特征中選兩種或者三種特征融合分類,最后查看所有特征融合的分類效果。表4是單一特征下的分類結果,可以看出原文件64×64 尺寸下的F1-score值和準確率高于其他尺寸的值,Lst文件48×48尺寸下的F1-score值和準確率高于其他尺寸的值,分類效果最好的是結構特征,F1-score達到了89.43%,準確率達到了96.58%。在單一特征下對比了Opcoden-gram特征、Gist特征、灰階共生矩陣(Glcm)特征[10],結果顯示Opcoden-gram 特征的F1-score 在62%左右,準確率在77%左右,且本文使用的灰度圖像素特征分類的F1-score(除64_64_File外)和準確率優于Gist特征和Glcm特征。表5可以看出融合原文件灰度圖特征的精確率較高,而融合了Lst 灰度圖特征的召回率較高,效果最好的是結構特征和Lst特征的融合,F1-Score達到90.16%,準確率達到96.92%。從表6可以看出Lst灰度圖融合結構特征和Lst特征取得了最好的效果,F1-Score達到90.45%,準確率達到97%。表7對比了啟用GOSS采樣的LightGBM算法,并設置a值為0.3,b值為0.19,發現在F1-score損失0.03%的情況下節省了29%的訓練時間。

表4 單一特征下的分類結果Table 4 Classification results under single feature

表5 兩類特征下的分類結果Table 5 Classification results under two types of features

表6 三類或四類特征下的分類結果Table 6 Classification results under three or four types of features

表7 啟用GOSS的結果(n_estimators=500)Table 7 Result of enabling GOSS(n_estimators=500)

3.5 分析與比較

本文通過對四類特征進行融合分類實驗,在Lst 灰度圖融合結構特征和Lst 特征下取得了最好的效果,啟用GOSS采樣技術減少了29%的訓練時間。圖9所示為分類的精確率矩陣,可知每一類的分類精確率都超過了93.5%,宏平均精確率達到了96.85%。圖10所示為分類的召回率矩陣,宏平均召回率達到了86.29%。Trojan-PSW的召回率只有50%,初步確定是由于樣本數量不均衡和這類樣本的數目太少使模型產生了欠擬合。

圖9 48_48_Lst+Lst_fea+Stru_fea精確率矩陣Fig.9 Precision matrix of 48_48_Lst+Lst_fea+Stru_fea

圖10 48_48_Lst+Lst_fea+Stru_fea召回率矩陣Fig.10 Recall matrix of 48_48_Lst+Lst_fea+Stru_fea

本文比較了GOSS(LightGBM)和另外兩種Boosting算法(XGBoost、GBDT)以及兩種深度學習算法(CNN、GRU)。表8結果顯示GOSS(LightGBM)和XGBoost在F1-score 和準確率取得了最好效果,F1-score 分別為90.42%和89.41%,且在對比算法中GOSS(LightGBM)所用訓練時間最短,XGBoost 訓練時間是GOSS(Light-GBM)的4 倍且占用內存高于GOSS(LightGBM),而GBDT 訓練時間是其11 倍。在深度學習中分類效果最好的是GRU,F1-score達到85.45%,準確率達到95.12%,但是訓練時間超過了5 個小時。本文還對比了其他機器學習算法(RF、KNN、LR、SVM、MLP),相較于其他機器學習算法GOSS(LightGBM)的訓練時間和內存消耗不占優,但是表9顯示GOSS(LightGBM)除了精確率比RF 低0.35%外其他指標均占優。最后對本文的數據集提取了文獻[9]和文獻[11]所用的特征,使用Lst 文件代替Asm 文件,并使用LightGBM 分類,表10 結果顯示本文特征分類效果優于文獻[9]和文獻[11]使用的特征,且提取特征的維數低于另外兩種方法提取的特征維數。

表8 GOSS(LightGBM)算法和其他Boosting算法和深度學習算法對比(n_estimators=500,epochs=100)Table 8 Comparison of GOSS(LightGBM)algorithm and other Boosting algorithms and deep learning algorithms(n_estimators=500,epochs=100)

表9 GOSS(LightGBM)和其他分類算法結果對比Table 9 Comparison of GOSS(LightGBM)and other classification algorithms

表10 LightGBM在不同融合特征下的分類結果Table 10 Classification results of LightGBM under different fusion features

4 結束語

本文提取了惡意軟件和其反編譯的Lst文件轉化成灰度圖的像素點特征,通過插值算法將圖片縮小,保留了全局特征的同時實現了像素特征的降維,并提取了原文件的結構特征和Lst文件特征并對特征進行融合。分類器選擇了LightGBM,通過啟用GOSS采樣算法在F1-score 損失0.03%的情況下節省了29%的訓練時間。實驗證明本文提取的融合特征比融合Opcode 2-gram 或3-gram 的特征分類的F1-score 和準確率更高。Light-GBM 比RF、KNN、LR、SVM、MLP 的F1-score 和準確率更高,比XGBoost、GBDT、GRU、CNN 的F1-score 和準確率更高,且訓練時間更短。

可以看出Trojan-PSW 類不能有效的召回,初步確定是由于樣本數量不足所致。下一步準備從其他數據集擴充Trojan-PSW數量,增加該樣本特征的數量,進一步檢驗模型的有效性,同時采用其他算法進一步對本文所提取特征進行處理,如使用TF-IDF 或信息增益指標對特征進行降維,保證模型分類效果的前提下進一步加快訓練速度。

本文所提取的特征不涉及n-gram 特征,特征提取和處理較n-gram 更加節省時間,可以部署到安全引擎前端,快速地對未知樣本進行初步檢測。

猜你喜歡
分類特征融合
村企黨建聯建融合共贏
今日農業(2021年19期)2022-01-12 06:16:36
融合菜
分類算一算
從創新出發,與高考數列相遇、融合
《融合》
現代出版(2020年3期)2020-06-20 07:10:34
如何表達“特征”
不忠誠的四個特征
當代陜西(2019年10期)2019-06-03 10:12:04
分類討論求坐標
數據分析中的分類討論
教你一招:數的分類
主站蜘蛛池模板: 国产女人爽到高潮的免费视频 | 久青草免费在线视频| 香蕉99国内自产自拍视频| 欧美日韩一区二区三区在线视频| 亚洲Av激情网五月天| 亚洲国产一区在线观看| 精品国产香蕉在线播出| 日韩精品毛片人妻AV不卡| av午夜福利一片免费看| 无码专区国产精品第一页| 国产高清免费午夜在线视频| 粉嫩国产白浆在线观看| 久久毛片网| 日本a级免费| 精品国产三级在线观看| 国产成年女人特黄特色大片免费| 亚洲国产无码有码| www亚洲天堂| 日本在线亚洲| 99热这里只有免费国产精品| 国产乱人激情H在线观看| 国产精品国产三级国产专业不| 重口调教一区二区视频| 原味小视频在线www国产| 99福利视频导航| 高清色本在线www| 最新加勒比隔壁人妻| 97色婷婷成人综合在线观看| 在线永久免费观看的毛片| 国产精品福利导航| 亚洲综合日韩精品| 在线免费无码视频| AV不卡无码免费一区二区三区| 欧美色视频网站| 国产一区二区影院| 日韩免费中文字幕| 国产亚洲欧美在线中文bt天堂| 国产正在播放| 91极品美女高潮叫床在线观看| 午夜高清国产拍精品| 人人澡人人爽欧美一区| 青青青视频91在线 | 日韩精品一区二区三区视频免费看| 在线毛片免费| 国产麻豆另类AV| 日本一区二区不卡视频| 亚洲成人手机在线| www.av男人.com| 天堂亚洲网| 在线日韩日本国产亚洲| 亚洲国产综合精品一区| 亚洲毛片网站| 亚洲高清在线天堂精品| 国产成人1024精品下载| 亚洲最新地址| 亚洲精品天堂自在久久77| a毛片免费在线观看| 青青操国产| 东京热高清无码精品| 日本免费福利视频| 91po国产在线精品免费观看| 精品三级在线| 全裸无码专区| 国产激情无码一区二区免费| 国产91丝袜在线播放动漫 | 高清国产在线| 日韩毛片基地| 久久人午夜亚洲精品无码区| 人妻91无码色偷偷色噜噜噜| 国产微拍精品| 成人福利在线视频免费观看| 亚洲天堂成人| 无码内射中文字幕岛国片| 亚洲欧美精品日韩欧美| 国产在线八区| 丁香婷婷综合激情| 在线观看免费国产| 久久这里只精品国产99热8| 在线观看91香蕉国产免费| 国产精品美女自慰喷水| 亚洲精品色AV无码看| 国产成人精品一区二区三区|