国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于API函數(shù)序列的勒索病毒家族同源性研究

2020-07-04 13:22蔡滿春蘆天亮
關(guān)鍵詞:勒索共性相似性

岳 婷, 蔡滿春, 蘆天亮

(中國人民公安大學警務(wù)信息工程與網(wǎng)絡(luò)安全學院, 北京 100038)

0 引言

近年來,勒索病毒一直處于猖獗態(tài)勢,給企業(yè)和政府部門帶來了不可估量的損失。CNCERT2018報告[1]稱,伴隨“勒索軟件即服務(wù)”產(chǎn)業(yè)的興起,活躍勒索軟件數(shù)量呈現(xiàn)快速增長勢頭,且更新頻率和威脅廣度都大幅度增加,變種數(shù)量不斷攀升,對重要行業(yè)關(guān)鍵信息基礎(chǔ)設(shè)施的威脅加劇。據(jù)Malwarebytes發(fā)布的《2019年勒索軟件回顧報告》[2],勒索病毒攻擊將重點從消費者轉(zhuǎn)移至企業(yè),針對企業(yè)的勒索病毒攻擊數(shù)量首次超過了針對消費者的數(shù)量,前者在2019年第二季度比2018年第二季度增長了363%?!?019年SonicWall網(wǎng)絡(luò)威脅報告》[3]顯示,全球勒索病毒攻擊增加了15%,Cerber家族仍是黑客攻擊企業(yè)最常采用的勒索病毒。因此,對勒索病毒的分析和研究尤為重要和迫切。

根據(jù)學界對惡意代碼同源性的理解[4],加之勒索病毒是惡意代碼的一個分支,給定本文的同源性研究是針對同一家族勒索病毒的同源性,即通過勒索病毒家族特征分析家族的同源性。由于勒索病毒的家族特征,每個家族又會衍生出不同版本的變種,因此,同一家族的勒索病毒與不同家族的勒索病毒之間在相似性上存在一定差異,有學者通過研究勒索病毒的演變和特征給出了證明[5]。最早將生物信息學上的多序列比對應(yīng)用到惡意代碼同源分析上的是官強[6],但其使用的是IDA Pro靜態(tài)提取系統(tǒng)調(diào)用函數(shù)序列。隨著勒索病毒的發(fā)展,強殼、花指令等使得通過逆向靜態(tài)分析獲取其行為特征越發(fā)困難,為了更加全面準確獲取其行為特征,本文使用Cuckoo沙箱動態(tài)監(jiān)測并提取API函數(shù)調(diào)用序列。

在使用生物信息學的序列比對方法研究惡意代碼的同源性上,針對勒索病毒家族同源的研究較少,截至目前,只有文獻[8]針對勒索病毒家族同源在序列比對方法上做了探究??傮w來說,序列比對方法在惡意代碼同源性研究的應(yīng)用上,目前存在以下幾個問題:(1)多使用ClustalX/W2系列多序列比對軟件[7-8],目前的T-coffee 在多序列比對準確性上要優(yōu)于ClustalX/W2系列[9];(2)通過多序列比對得出家族圖譜時,一般是從樣本中選擇代表性序列[8,10-11]或者是共性水平為100%的共性序列[7],由于實驗數(shù)據(jù)集家族樣本在變種的數(shù)目和分布上的差異,可能會丟失某些重要的序列片段。目前,在對勒索病毒未知樣本家族進行預(yù)測時,選擇的是全局比對算法[8],由于勒索病毒實現(xiàn)某些行為是由API函數(shù)子序列片段實現(xiàn)的,因此,使用局部比對相較于全局比對在相似性計算上更有指導(dǎo)意義。針對基于序列比對方法的勒索病毒家族同源性研究,為了解決以上問題,本文綜合了Multalin、Clustal Omega、T-coffee 3種方法分別進行多序列比對,并設(shè)置了不同的共性水平,通過計算,從中選出最佳共性序列代替從樣本中選擇代表性序列作為家族圖譜序列,實驗結(jié)果表明,使用最佳共性序列作為家族圖譜序列且使用局部比對在區(qū)分不同的勒索病毒家族的效果上更佳。

1 研究思路

圖1 研究思路整體架構(gòu)

勒索病毒家族同源性研究思路的整體架構(gòu)如圖1,主要分成3個部分:一是序列提取及處理,先使用Cuckoo 沙箱自動化分析勒索病毒樣本,監(jiān)測其動態(tài)行為,提取API函數(shù)類別序列并對其進行編碼,轉(zhuǎn)化為fasta文件格式,在此基礎(chǔ)上去除所有重復(fù)子序列;二是通過3種多序列比對方法,分別設(shè)置并提取不同水平的共性序列,通過局部比對,以“家族內(nèi)相似性較高,家族間相似性低”為標準,擇優(yōu)選出最佳共性序列作為家族圖譜序列;三是對已進行序列提取及處理的待測數(shù)據(jù)樣本序列和家族圖譜序列進行局部序列比對,通過計算得到相似性進行比較,進而對其所屬家族進行判斷。

2 API函數(shù)序列提取及處理

2.1 API函數(shù)類別序列提取及編碼

因為靜態(tài)分析使用的是已知惡意代碼特征信息,難以檢測到勒索病毒變種,且靜態(tài)分析難以規(guī)避勒索病毒強殼、花指令等情況,因此本文采用動態(tài)分析的方法。Cuckoo sandbox是一款開源的自動化惡意軟件分析系統(tǒng),本文使用它在受控環(huán)境中跟蹤和捕獲勒索病毒動態(tài)行為,提取勒索病毒進程的API函數(shù)類別序列以表征其惡意行為。

由于某些勒索病毒存在反虛擬機制,在Cuckoo自動化分析過程中存在逃逸行為,通過實驗觀察,這類情況會導(dǎo)致Cuckoo分析中止、Cuckoo分析日志完整但分析報告不完整以及Cuckoo分析日志和分析報告均完整但未提取到API函數(shù)調(diào)用等情況,這類黑樣本由于未提取到實驗所需要的API函數(shù)類別信息,這里未予采用。

在Windows 平臺上,勒索病毒實現(xiàn)某些特定行為,不可避免會使用到大量的API函數(shù)調(diào)用,因此分析系統(tǒng)API函數(shù)調(diào)用,可以分析和判斷一個程序的行為[12]。但是由于API函數(shù)調(diào)用的種類繁多、數(shù)目較大,提取得到的序列長度不利于進行多序列比對,消耗的時間復(fù)雜度較高。結(jié)合Cuckoo行為分析報告,統(tǒng)計API函數(shù)調(diào)用類別,共計16類,具體見表1。因此,按照時間順序提取API函數(shù)調(diào)用類別序列表征勒索病毒行為特征,并參考生物信息學上蛋白質(zhì)序列的表示方法,使用英文大寫字母進行編碼。

表1 API函數(shù)類別表

2.2 序列去重算法

由于勒索病毒在讀寫文件和加密文件等情況下存在頻繁的調(diào)用模式,且重復(fù)次數(shù)可能根據(jù)環(huán)境差異也有所不同。此外,也有可能刻意添加頻繁調(diào)用或無用代碼以逃避檢測。因此提取到的API函數(shù)類別序列存在著大量的重復(fù)子序列,因為序列比對算法對序列的長度敏感,會對對齊結(jié)果產(chǎn)生干擾,參考一些研究方法[8-11],這里設(shè)計了一種去除所有重復(fù)子序列的方法,研究表明,刪除所有重復(fù)子序列不會損失總體精度。假設(shè)ls是需要去重的單條序列,DelRepeatSeq函數(shù)相應(yīng)的偽代碼如下:

Input: ls

Output: ls_afterrepeatdel

Begin

before_ls = ls.copy()

step←1; p_start←0

while step+p_start

i←0

∥如果剩余的元素小于步長,則可以停止循環(huán)

while ls_length-i>=2 * step do

if ls[i:i+step]==ls[i+step:i+2 * step]

del ls[i:i+step]

∥刪除元素后,索引會改變

i←i-step

len(ls)←len(ls)-step

i←i+1

END while

p_start←p_start+1

step←step+1

END while

print(len(before_ls), len(ls))

∥如果刪除后的ls的和初始結(jié)果不同,再重新遍歷一次

if ls == before_ls return ls

else return DelRepeatSeq(ls)

END

3 序列比對算法

3.1 多序列比對

序列比對廣泛運用于生物信息學,由于由相似的序列可以推斷出相似的結(jié)構(gòu)或相似的功能,因此可以通過檢測未知序列與已知序列的相似性來確定未知序列的功能。參考生物信息學領(lǐng)域使用多序列比對提取圖譜序列對未知樣本序列進行判斷的方法,這里針對不同家族序列使用多序列比對方法提取家族圖譜序列,之前研究者[7-8]大多選用ClustalW,通過共性水平為100%的比對結(jié)果從樣本中選擇代表性序列或者共性序列作為家族圖譜序列。由于各家族中都存在變種,變種的版本和數(shù)目在分布上也有所不同,因此選擇共性水平為100%時,會導(dǎo)致無法獲取某些子序列特征段,設(shè)置不同共性水平可以一定程度避免這個問題。本文選取了Multalin、Clustal Omega和T-coffee 3種工具[13-14],并且提取不同共性水平下的共性序列,共計10條,再通過計算比較從共性序列中得到最佳共性序列作為家族圖譜序列,最終使用局部序列比對的方法對未知樣本進行判斷。

Multalin[13]是一種具有層次聚類的多序列比對方法,它首先通過雙序列比對得出一個得分矩陣,根據(jù)矩陣中最佳得分對應(yīng)的兩條序列,依次進行層次聚類,直到序列的聚類不變,即序列比對完成。Clustal Omega[15]是Clustal系列的升級版,在原有的基于快速詞成對對齊的基礎(chǔ)上,使用時間復(fù)雜度為O(NlogN)的mbed算法,可以處理大數(shù)量級(數(shù)萬個)的數(shù)據(jù)集;其次,改用隱馬爾可夫模型(HMMs)對齊,大幅提高了精度。T-coffee[9]的基本原理是:首先進行預(yù)處理,分別使用ClustalW進行雙序列全局比對和Fasta進行局部比對,構(gòu)建庫以整合比對結(jié)果信息,針對比對的每個元素綜合庫中相應(yīng)的信息賦予合理的權(quán)重值,再進行漸進式序列比對。該方法的優(yōu)勢在于能夠整合各種信息,可擴展性強,準確率高。但是時間復(fù)雜度為O(N2L2)+O(N3L)+O(N3)+O(NL2),比對速度較慢,適合于數(shù)據(jù)集較小(n<100)時使用。

3.2 雙序列比對

雙序列比對分為全局比對和局部比對。全局序列比對算法旨在對齊序列的每個元素,適合于比對兩條序列相似且序列長度大致相等的序列。局部序列對齊算法更傾向于在整個序列中對齊某些相似的序列片段。參考局部序列比對的生物學基礎(chǔ),勒索病毒實現(xiàn)某個功能是由于某些特定的API函數(shù)序列來完成的,盡管在序列的其他部分可能存在一些操作的增刪改動,但是這些序列段有一定的共性,在做未知序列判斷時相比全局比對而言更具有指導(dǎo)意義。Needleman-Wunsch[16]算法和Smith-Waterman[17]算法分別是經(jīng)典的全局比對算法和局部比對算法。這里重點對Smith-Waterman算法進行說明。

Smith-Waterman算法主要包括確定置換得分矩陣和空位罰分、初始化得分矩陣、計算打分和回溯4個步驟。假定兩條序列A=a1a2a3…am和B=b1b2b3…bn,s(ai,bj)是序列A和B中元素ai和元素bj的相似性,Wk是在序列中插入長度為k時的罰分。

由于這里的API函數(shù)序列各個元素之間相互獨立,不用考慮序列中元素之間的相似性量化關(guān)系,因此沒有使用生物上的置換得分矩陣,空位罰分Wk=-5k。

初始化得分矩陣H首行首列:

Hk0=H0l=0,0≤k≤n,0≤l≤m

(1)

按照從左到右,從上到下的順序進行打分,計算得到H:

(2)

(3)

最后從矩陣H中得分最高的元素開始回溯路徑,直至遇到得分為0的元素,即得到最佳局部對齊。

3.3 相似性計算方法及最佳共性序列確定方法

在生物信息學[18]上使用一致度和相似度來衡量序列之間的相似性,由于不用像生物學那樣考慮序列元素之間的相似度量化,因此只需考慮一致度即可。在序列比對中,一致度是指比對結(jié)果中它們對應(yīng)位置上相同的元素數(shù)目占總長度的百分比。

設(shè)序列A,B匹配的結(jié)果中的元素數(shù)目為L,序列A或B中‘-’出現(xiàn)的數(shù)目為G,對齊后的長度(含空隙)為L_aligned,則序列A,B的相似性和空隙值為

(4)

(5)

以序列“LQCQQKQQLKE”“LQCQLQELKQLQ-KLQE”局部對齊為例,對齊后的效果如圖2。aligned是指sequen1和sequen2對齊后的結(jié)果,長度為12;匹配的元素數(shù)目即aligned不含空隙的長度,即為8;空隙值為“-”的個數(shù),即為4。綜上,得出圖2對應(yīng)的相似性和空隙值。

圖2 示例比對結(jié)果圖

通過設(shè)置不同共性水平的3種多序列比對方法得到10條共性序列之后,通過局部序列比對,進行相似性計算后,再參考方差計算方法,設(shè)N為勒索病毒家族種類數(shù),X0表示共性序列與本家族樣本的平均相似性,Xi表示共性序列與非本家族第i個家族樣本的平均相似性。取M最大的序列作為本家族最佳共性序列,公式如下:

(6)

4 實驗驗證及分析

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

本文使用的勒索病毒家族樣本采用公開數(shù)據(jù)集(http:∥www.malware-traffic-analysis.net/),為了確保實驗數(shù)據(jù)無污染[19],勒索病毒樣本數(shù)據(jù)集均上傳至Virus Total網(wǎng)站進行檢測分析,并選擇44家以上報毒且5家以上報出對應(yīng)家族名稱的樣本作為實驗數(shù)據(jù)集。最終使用的實驗數(shù)據(jù)集情況如表2,其中6個家族勒索病毒共計96個。為了數(shù)據(jù)表示方便,Zeus Panda Banker在后文中簡稱為ZPB。

表2 實驗數(shù)據(jù)集情況

4.2 實驗設(shè)置與結(jié)果

對于勒索病毒實驗數(shù)據(jù)集,通過搭建Cuckoo Sandbox沙箱虛擬環(huán)境對其進行自動化分析,實驗搭建的具體環(huán)境如下:

4.2.1 對比實驗設(shè)置

表3 沙箱監(jiān)測實驗環(huán)境

為了驗證本文提出的綜合多種多序列比對方法使用最佳共性序列作為家族圖譜序列,并使用局部比對方法對未知勒索病毒家族進行判斷的方法有更好的效果,設(shè)置了兩組對比實驗,均采用控制變量法。第一組實驗中,家族圖譜序列使用現(xiàn)有研究中多使用的ClustalX/W2系列方法中最新的Clustal Omega方法得出的家族樣本代表序列,分別使用全局比對Needleman-Wunsch算法和局部比對Smith-Waterman算法對家族樣本代表序列和各家族樣本序列進行相似性計算,設(shè)定家族樣本代表序列與各家族樣本序列的相似性平均值為該家族圖譜序列與各家族的相似性,通過該相似性的比較確定效果較佳的雙序列比對算法。第二組實驗,根據(jù)第一組實驗所確定的雙序列比對方法,設(shè)置變量為家族圖譜序列的選擇,分別使用家族樣本代表序列和最佳共性序列作為家族圖譜序列,家族樣本代表序列選定為某家族中確定為最佳共性序列所使用多序列比對方法結(jié)果中的參考性序列,如圖5中的reference sequence,然后通過所確定雙序列比對方法計算相似性,進而對方案的有效性進行驗證。

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

從6個勒索病毒家族96個勒索病毒樣本的Cuckoo報告文件中提取對應(yīng)勒索病毒進程的API函數(shù)類別序列,并使用序列去重算法對其進行處理,以Spora-bc799544a序列為例,刪除所有重復(fù)子序列前后的數(shù)據(jù)大小和數(shù)據(jù)內(nèi)容的變化如圖3和圖4所示。

圖3 Spora-bc799544a序列去除重復(fù)子序列后的數(shù)據(jù)大小變化

圖4 Spora-bc799544a序列去除重復(fù)子序列后的內(nèi)容變化

第一組實驗中,使用ClustalX/W2系列方法中最新的Clustal Omega方法,并設(shè)置共性水平為100%,取各家族多序列比對結(jié)果中的參考序列為各家族樣本代表序列,分別使用全局比對和局部比對進行相似性計算,結(jié)果如表4和表5所示。

圖5 Locky家族樣本使用T-coffee得出的四條共性序列(部分)

表4 使用家族樣本代表序列和全局比對結(jié)果

表5 使用家族樣本代表序列和局部比對結(jié)果

通過全局比對和局部比對的實驗結(jié)果可知,局部比對在6個勒索病毒家族上的結(jié)果均優(yōu)于全局比對結(jié)果,且表現(xiàn)更為穩(wěn)定,因此在對未知勒索病毒家族進行判斷時選擇局部比對算法更佳。

由第一組實驗確定了在第二組實驗中使用局部比對方法,實驗二在進行多序列比對時,設(shè)置Multalin序列比對結(jié)果的共性水平為70%和90%(分別記為m7和m9,下同),Clustal Omega和T-coffee分別為70%、80%、90%、100%,一共10條共性序列。以T-coffee處理Locky家族序列為例,得出的4條共性序列(部分)如圖5所示。

Locky家族的10條共性序列見表4,考慮到家族序列的全局性和功能的綜合性特點,對于集中出現(xiàn)在一個位置且本身長度較短(低于15)的共性序列未予保留。剩下9條有效序列和6個家族的勒索病毒樣本序列分別進行Smith-Waterman局部比對,最后與每個家族樣本比對的結(jié)果取平均值作為Locky家族圖譜序列與該家族的相似性,通過公式(1)計算得出t8所對應(yīng)的序列為該家族的最佳共性序列。

表6 Locky家族的10條共性序列

確定某一家族最佳共性序列后,取確定為最佳共性序列所使用的多序列比對方法對應(yīng)的家族樣本代表序列和最佳共性序列分別作為家族圖譜序列,與各家族樣本局部比對結(jié)果的平均值作為該家族圖譜和各家族之間的相似性,相似性結(jié)果如表7~10所示。

表7 各家族圖譜與各家族之間的相似性

表8 各家族圖譜與各家族之間的Gaps值

由表7~8可得,表7中各家族的最佳共性序列與本家族樣本序列的平均相似性均明顯大于與非本家族樣本序列的平均相似性,同一家族勒索病毒的同源性概率較大。整體上看,T-coffee多序列比對算法用于提取共性序列的效果最佳,這得益于它先通過整合全局和局部比對構(gòu)建比對庫,也驗證了T-coffee準確率高于ClustalX/W2系列的結(jié)論[9]。表8中,平均Gaps值在個別樣本上表現(xiàn)出同一家族樣本Gaps值小于和接近非同一家族樣本序列Gaps值,區(qū)分性不如相似性明顯,可以認為在區(qū)分勒索病毒家族時Gaps值可以起參考作用。由于勒索病毒家族之間也存在一些相似的惡意行為,如讀寫文件、加密文件等使得不同家族之間也有一定的相似性,家族內(nèi)部樣本變種的數(shù)目和分布存在差異對實驗結(jié)果也有一定影響。

表9 各家族樣本代表序列與各家族之間的相似性

表10 各家族樣本代表序列與各家族之間的Gaps值

由表9~10可得,選擇各家族樣本代表序列作為圖譜序列時,同樣表現(xiàn)出與本家族樣本序列的平均相似性均明顯大于與非本家族樣本序列的平均相似性,但是在和表7中的結(jié)果進行比較時,除Spora家族外,與本家族樣本序列的平均相似性結(jié)果均低于表7中的結(jié)果??梢哉J為,通過選取最佳共性序列作為家族圖譜序列的方法可以結(jié)合數(shù)據(jù)集樣本的更多特征,總體上要優(yōu)于選擇家族代表樣本序列的方法。表10中,平均Gaps值和表8中均表現(xiàn)出與本家族的結(jié)果高于與非本家族的情況,差異不大。

綜上,可以得出結(jié)論,通過選取最佳共性序列作為家族圖譜序列,并使用局部比對進行相似性計算的方法可以更好地對勒索病毒家族進行區(qū)分。

5 結(jié)語

本文在研究勒索病毒家族同源性時,通過使用Cuckoo沙箱動態(tài)行為監(jiān)測并提取API函數(shù)類別序列,設(shè)計刪除所有重復(fù)子序列的方法避免后期多序列比對時的對齊干擾和時間消耗。為了得到更多的序列特征,通過3種多序列比對方法,設(shè)置不同的共性水平,提取并計算得到最佳的共性序列作為家族圖譜序列。經(jīng)實驗驗證,局部比對相較于全局比對更適宜于勒索病毒家族同源性研究,最佳共性序列相比較于家族樣本代表序列更具有代表性,使用最佳共性序列作為家族圖譜并使用局部比對計算相似性可以更好地對勒索病毒家族進行區(qū)分。

猜你喜歡
勒索共性相似性
一類上三角算子矩陣的相似性與酉相似性
情緒勒索:警惕以愛之名的傷害
淺析當代中西方繪畫的相似性
遭遇勒索
勒索
獲獎產(chǎn)品介紹:對勒索病毒說不
——美創(chuàng)科技“諾亞”防勒索系統(tǒng)向勒索病毒“宣戰(zhàn)”
共性
基于隱喻相似性研究[血]的慣用句
旋轉(zhuǎn)體容球的一個有趣共性再探究
雷鋒精神與遼寧精神的共性研究