張礦偉,周 杰,張少杰
(1.周口職業(yè)技術(shù)學(xué)院信息工程學(xué)院,河南 周口 46600;2.周口技師學(xué)院機(jī)械工程系,河南 周口 466000)
一方面云平臺(tái)計(jì)算機(jī)技術(shù)能夠給現(xiàn)代企業(yè)業(yè)務(wù)的儲(chǔ)存和處理提供極大的便利,但是另一方面計(jì)算機(jī)科學(xué)技術(shù)的發(fā)展同樣是一把雙刃劍,黑客技術(shù)的不斷成熟當(dāng)前已經(jīng)嚴(yán)重威脅到云平臺(tái)的正常發(fā)展,云平臺(tái)大數(shù)據(jù)系統(tǒng)因?yàn)楸旧淼奶攸c(diǎn)導(dǎo)致在面對(duì)外部攻擊的時(shí)候非常脆弱[1]。當(dāng)前雖然已經(jīng)研發(fā)了相應(yīng)的風(fēng)險(xiǎn)檢測(cè)技術(shù),但是隨著數(shù)據(jù)類型的不斷發(fā)展,已經(jīng)無法滿足未來的工作需要。本文提出一種基于大數(shù)據(jù)背景惡意軟件動(dòng)態(tài)分析與安全檢測(cè)方法,有效提高了分析和檢測(cè)的準(zhǔn)確性和有效性。
隨著網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,各種云平臺(tái)存儲(chǔ)和傳輸技術(shù)逐漸涌入市場(chǎng),但是此時(shí)黑客的入侵意識(shí)以及技術(shù)方法也明顯的增強(qiáng)[2]。云平臺(tái)技術(shù)被攻擊和破壞的現(xiàn)象屢見不鮮,該平臺(tái)之所以比較容易受到攻擊是因?yàn)閮?nèi)部信息數(shù)據(jù)眾多,并且這些數(shù)據(jù)大都是以云緩存的技術(shù)存在云盤空間中,一些惡意的病毒或者代碼總是能夠在其中找到入侵云節(jié)點(diǎn)的空隙,從而竊取其中的數(shù)據(jù)[3]。這種攻擊比較容易實(shí)現(xiàn),通過注入額外代碼然后讓云節(jié)點(diǎn)中的信息溢出,從而實(shí)現(xiàn)信息盜取的目的。
黑客在入侵系統(tǒng)的時(shí)候通常需要進(jìn)行如下兩步工作:首先針對(duì)通訊系統(tǒng)獲取代碼,然后制造適當(dāng)?shù)膱?zhí)行序列觸發(fā)特定的信息[4]。因?yàn)楫?dāng)前的計(jì)算機(jī)系統(tǒng)發(fā)展還不是很完善,無法對(duì)于任意一個(gè)云端訪問者進(jìn)行檢測(cè)并且無法在指定的時(shí)間中對(duì)于訪問平臺(tái)的代碼進(jìn)行鑒定,因此一旦出現(xiàn)代碼溢出的情況,也就意味著風(fēng)險(xiǎn)代碼的幾率大大增加。為了能夠保證計(jì)算機(jī)系統(tǒng)的高效運(yùn)行,需要采取必要的安全防護(hù)手段對(duì)于重點(diǎn)環(huán)節(jié)的云請(qǐng)求進(jìn)行計(jì)算和預(yù)防[5,6]。
本文圍繞上述研究內(nèi)容和目標(biāo),研究工作將在三個(gè)層次展開:基于云計(jì)算的惡意軟件分析平臺(tái)、檢測(cè)方法研究、原型系統(tǒng)開發(fā)與驗(yàn)證,總體設(shè)計(jì)思路如圖1所示。
圖1 總體設(shè)計(jì)思路
第一層次:基于云計(jì)算的惡意軟件分析平臺(tái),該層次將云計(jì)算平臺(tái)和動(dòng)態(tài)分析工具集成,提出高效、健壯、敏捷、可擴(kuò)展的動(dòng)態(tài)分析平臺(tái),為后續(xù)檢測(cè)方法和原型系統(tǒng)的研究提供高效的基礎(chǔ)設(shè)施。
第二層次:檢測(cè)方法研究,這一層次主要研究變長API調(diào)用系列的檢測(cè)方法、基于API序列語義信息的惡意軟件檢測(cè)方法、基于多視集成學(xué)習(xí)的動(dòng)態(tài)檢測(cè)方法。
第三層次:原型系統(tǒng)實(shí)現(xiàn),這一層次按照可部署使用的需求,實(shí)現(xiàn)以上研究提出的檢測(cè)方法,在真實(shí)環(huán)境下驗(yàn)證提出的檢測(cè)方法,并進(jìn)行性能調(diào)優(yōu)和改進(jìn)。
當(dāng)前動(dòng)態(tài)分析平臺(tái)普遍采用單機(jī)環(huán)境,國內(nèi)外相關(guān)動(dòng)態(tài)檢測(cè)方法大部分是手動(dòng)的分析可執(zhí)行樣本,分析效率較差,而待分析的可疑樣本數(shù)量特別龐大,當(dāng)前的動(dòng)態(tài)分析平臺(tái)已成為制約動(dòng)態(tài)檢測(cè)方法的瓶頸[7]。傳統(tǒng)的靜態(tài)方法能夠提供更安全的檢測(cè)環(huán)境和更快的檢測(cè)速度,但是靜態(tài)方法不能夠直接獲得真實(shí)的軟件執(zhí)行過程和行為,所獲得軟件信息的真實(shí)性和完整性方面存在不足。而通過動(dòng)態(tài)方法分析惡意軟件運(yùn)行時(shí)的行為,可以確定軟件的功能和性質(zhì)?;诔绦蛐袨榈膭?dòng)態(tài)檢測(cè)方法是目前反病毒技術(shù)的有效新途徑。
基于云計(jì)算的惡意軟件分析平臺(tái),將云計(jì)算平臺(tái)和動(dòng)態(tài)分析工具集成,保障動(dòng)態(tài)分析平臺(tái)的高效、健壯、敏捷、可擴(kuò)展,同時(shí)能應(yīng)對(duì)最新惡意軟件的抗分析技術(shù)。該分析平臺(tái)可自動(dòng)化的監(jiān)控樣本的API調(diào)用序列、系統(tǒng)操作行為、網(wǎng)絡(luò)數(shù)據(jù)包等,兼容大部分的虛擬機(jī)和操作系統(tǒng),同時(shí)可進(jìn)行內(nèi)存取證分析。惡意軟件動(dòng)態(tài)分析平臺(tái)架構(gòu)如圖2所示。
圖2 惡意軟件動(dòng)態(tài)分析平臺(tái)架構(gòu)圖
首先收集大量具有代表性的最新惡意軟件和良性軟件組成樣本集,使用基于云計(jì)算的動(dòng)態(tài)分析平臺(tái)批量分析所有樣本,監(jiān)控每個(gè)樣本動(dòng)態(tài)運(yùn)行時(shí)的API調(diào)用序列,得到語料庫。已有基于API調(diào)用系列的方法普遍將API序列劃分為固定長度的部分重疊短序列,然后用文本分類的方法實(shí)現(xiàn)未知惡意軟件檢測(cè),但很難確定較合理的短序列長度,即使確定了一個(gè)較優(yōu)的長度值,也丟失了其他長度的大量語義信息,且可能將具有語義信息的API序列分成很多子序列。API調(diào)用系列和中文文本很相似,沒有明顯的詞分割,需要借助字典或統(tǒng)計(jì)學(xué)習(xí)的方法進(jìn)行分詞。由于API調(diào)用短序列沒有現(xiàn)成的詞典,本課題擬采用自然語言處理相似的方法,基于語料庫應(yīng)用統(tǒng)計(jì)學(xué)習(xí)的方法將API調(diào)用系列分割成不同長度的,具有較強(qiáng)語義信息的短序列,然后用TF.IDF(Term Frequency-Inverse Document Frequency)表示每個(gè)短序列的權(quán)重,用機(jī)器學(xué)習(xí)分類算法構(gòu)建分類模型,實(shí)現(xiàn)未知惡意軟件的檢測(cè)。該方法實(shí)現(xiàn)了不同長度特征間的互補(bǔ),盡可能的保留了更多的語義信息。
前面API調(diào)用的參數(shù)和返回值可能是后面API調(diào)用的參數(shù),通過API調(diào)用間的數(shù)據(jù)流可提取具有語義信息的API子序列。通過數(shù)據(jù)流分析提取的API子序列,具備一定的功能,能更好的表示一個(gè)可執(zhí)行文件的意圖和特征。基于此,我們提出了基于API序列語義模式的動(dòng)態(tài)檢測(cè)方法。首先,通過動(dòng)態(tài)分析獲得大量惡意軟件樣本和良性軟件樣本的API序列,基于API間數(shù)據(jù)流提取所有樣本中可能存在的具有語義的子序列;然后提取訓(xùn)練集樣本中具有語義的子序列作為特征,使用TF.IDF計(jì)算得到每個(gè)特征的權(quán)值,使用機(jī)器學(xué)習(xí)分類算法訓(xùn)練得到檢測(cè)模型;對(duì)于待檢測(cè)樣本,提取與訓(xùn)練集相同的特征,使用檢測(cè)模型對(duì)待檢測(cè)樣本分類,得到檢測(cè)結(jié)果。
通過動(dòng)態(tài)分析平臺(tái)可以提取軟件的API序列、系統(tǒng)操作行為、網(wǎng)絡(luò)數(shù)據(jù)包等特征,某一種類型的特征都從不同的視角刻畫了可執(zhí)行文件的一些性質(zhì),但都存在著一定的局限性,不能充分、綜合、整體的表示可執(zhí)行文件。惡意軟件可能改變其某一特征偽裝成良性軟件,但往往很難同時(shí)操縱多個(gè)抽象層次的特征。使用多視集成學(xué)習(xí)的惡意軟件檢測(cè)方法,通過融合多個(gè)抽象層次動(dòng)態(tài)行為特征,克服單個(gè)抽象層次特征檢測(cè)方法的局限性,實(shí)現(xiàn)了各種類型特征的互補(bǔ),有效改進(jìn)了單特征方法的靈敏度與適應(yīng)度,從而具備較強(qiáng)的泛化能力,同時(shí)可明顯提高檢測(cè)方法的準(zhǔn)確率和魯棒性。
從上面的信息資料中可以發(fā)現(xiàn),本文提出的算法具有明顯的技術(shù)優(yōu)勢(shì)。之所以能夠?qū)崿F(xiàn)這樣的效果是因?yàn)楸舅惴ɡ么髷?shù)據(jù)背景下惡意軟件分析與安全檢測(cè)算法對(duì)序列進(jìn)行檢測(cè),和簡單序列以及距離檢測(cè)相比,大大縮短樣本檢測(cè)的時(shí)間。和傳統(tǒng)的數(shù)據(jù)挖掘技術(shù)相比,能夠提高數(shù)據(jù)的檢測(cè)精確度,同時(shí)該實(shí)驗(yàn)采取了延時(shí)機(jī)制,即在第一次檢驗(yàn)過程中遺漏的序列能夠在下一個(gè)循環(huán)的檢測(cè)工作中被發(fā)現(xiàn)??傮w而言,在病毒繁衍機(jī)制的影響下,來自于不同類型的攻擊源被隔離,并且在充分的實(shí)驗(yàn)時(shí)間和環(huán)境下,之前沒有被檢測(cè)出來的序列信息被有效檢測(cè)出來[8]。
云平臺(tái)和大數(shù)據(jù)的普及應(yīng)用使得大量的信息數(shù)據(jù)集中在一起,這些數(shù)據(jù)的質(zhì)量高低不一,需要有足夠的時(shí)間和技術(shù)進(jìn)行安全檢測(cè)分析。本文開展的4項(xiàng)研究:1)針對(duì)當(dāng)前分析工具的瓶頸,研究基于云計(jì)算的動(dòng)態(tài)分析平臺(tái);2)引入中文分詞的方法將API調(diào)用序列劃分為有較強(qiáng)語義信息的變長短序列,提出變長API調(diào)用序列的檢測(cè)方法;3)通過API調(diào)用間的數(shù)據(jù)流分析,提取具有語義信息的API子序列作為特征,提出基于API序列語義信息的檢測(cè)方法;4)通過融合軟件多個(gè)抽象層次的特征,提出基于多視集成學(xué)習(xí)的動(dòng)態(tài)檢測(cè)方法。通過對(duì)實(shí)驗(yàn)結(jié)果的分析,本方案實(shí)現(xiàn)對(duì)惡意軟件動(dòng)態(tài)分析與安全檢測(cè)。探索啟發(fā)式的惡意軟件分析及檢測(cè)新方法、新思路,為研發(fā)更加高效的反病毒軟件提供理論指導(dǎo)和工程參考。