<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    針對隱匿高危勒索病毒攻擊的檢測

    一顆小胡椒2023-01-06 11:12:56

    摘 要:近年來,勒索病毒攻擊事件頻發,勒索病毒隱匿性逐漸增強,為勒索病毒檢測及防御帶來了新的挑戰。通過對勒索病毒的快速檢測與家族分類,可以更有效地保護企業信息安全。從電力系統的實際情況出發,構建了勒索病毒數據集,并采用動態分析的方法,利用沙盒獲得各家族勒索病毒樣本的行為信息,從動態行為分析報告中提取勒索病毒行為信息;再利用決策樹、隨機森林算法、卷積神經網絡模型訓練了勒索病毒檢測器和勒索病毒家族分類器。測試結果表明,勒索病毒檢測器檢測準確率達到了 97%,勒索病毒家族分類器分類準確率達到了 94%。

    內容目錄:

    1 背景介紹

    1.1 隱匿高危勒索病毒

    1.2 Cuckoo 沙盒

    1.3 機器學習算法

    2 動態分析與行為特征提取

    2.1 實驗數據

    2.2 Cuckoo 動態行為分析

    2.3 行為特征提取

    3 勒索病毒檢測器訓練

    3.1 API 函數特征選擇

    3.2 API 函數特征向量預訓練

    3.3 分類器測試效果

    3.3.1 決策樹模型

    3.3.2 隨機森林算法

    3.3.3 卷積神經網絡模型

    4 結 語

    近年來,隨著勒索病毒的部分技術細節的公開,以及在暗網中代碼交易的出現,勒索病毒的制作和利用勒索病毒進行犯罪的成本不斷降低,勒索病毒攻擊方式也更加簡單,但其贖金收益依然非常可觀。隨著網絡犯罪的組織化、規模化,隱匿行為攻擊的復雜化和商業化,目前,隱匿高危勒索病毒呈蔓延之勢。已知的勒索病毒家族利用多態、代碼混淆等手段,可以快速產生大量新版本,使得勒索病毒數量激增。

    隨著網絡規模的擴大和信息化水平的提高,電力企業對網絡的依賴程度不斷增強,也在不知不覺中受到隱匿高危行為的威脅。電力企業的敏感數據也容易受到勒索病毒的關注,這些風險影響著電力企業網絡安全和穩定。為了保證計算機網絡和計算機應用系統的正常運行,電力企業需要對隱匿高危勒索病毒的攻擊作出應對。

    在過去幾年中,已經有許多針對勒索病毒的防御策略,每種策略都實施了幾種保護和檢測策略,例如,基于欺騙的保護方法(deception-basedprotection)、控制安全隨機數發生器(controlling secure random number generator)、應用程序的行為分析(behavioral analysis of applications)、密鑰托管、網絡級防御,以及利用機器學習算法的勒索軟件程序檢測。

    按照是否運行軟件樣本,勒索病毒的檢測可以分為靜態檢測與動態檢測兩種。其中靜態惡意軟件特征包括字節序列 N-grams、操作碼和 PE 報頭字段等。隨著開發技術的發展,惡意軟件的作者往往使用壓縮、加密、加殼等方法阻止靜態特征的提取,但許多反病毒技術和工具已經可以有效實現程序的解包。Wang 等人針對惡意軟件通過加殼逃脫檢測的問題,提出了一種加殼檢測框架以檢測可執行文件是否加殼,以提升惡意代碼檢測效果。在動態檢測中,程序運行時調用的 API 的序列經常被視作為主要特征,這是因為惡意軟件為了減小代碼的體積,往往通過調用 API 函數來實現文件、注冊表、網絡、進程等操作行為。

    現有的勒索病毒防御方法中,傳統的分類算法難以及時響應零日漏洞勒索病毒,而人工逆向分析的方法使得成本顯著提高,但是效果提升不明顯。隨著機器學習等算法的發展,一些啟發式檢測工具不斷出現,但是這些工具普遍存在局限性和滯后性,并且不利于迭代。與此同時,勒索病毒的開發也在不斷發展,加殼、代碼混淆、反沙盒、內存動態映射等策略的使用也為勒索病毒的防御帶來了很大難題。

    本文從 Virus Total 等開源網站上收集了勒索病毒等惡意軟件樣本,利用動態分析方法提取軟件的應用程序編程接口(Application Programming Interface,API)函數調用特征,在此基礎上訓練了勒索病毒檢測器和勒索病毒家族分類器。

    1  背景介紹

    1.1 隱匿高危勒索病毒

    勒索病毒,或稱勒索軟件,是一種特殊的惡意軟件,其主要通過鎖定受害者主機的操作系統或者使用密碼學加密受害者主機上的某些文件的方式,使得受害者無法獲得對其主機或主機上的文件的訪問控制權限,并威脅受害者向指定的賬戶支付贖金以解鎖文件。為了防止在感染受害者機器的初期就被察覺,隱匿勒索病毒往往在進行加密等核心操作前先模仿正常軟件活動一段時間。

    隨著各種新型網絡攻擊的出現,企業信息安全形勢變得不容樂觀,特別是銀行、電力、大型國企等機構,正在成為受攻擊的主要對象。當前,隱匿高危行為是企業面臨的最嚴重的威脅之一,其中,高級持續性威脅(Advanced Persistent Threat,APT)是最主要的表現手段之一。所謂 APT 攻擊就是針對特定的目標,進行長期持續性的網絡攻擊的攻擊方式,其對企業造成了非常嚴重的困擾,而結合了 APT 的勒索病毒攻擊則更是為企業的數據安全帶來了極大的威脅。

    對抗隱匿高危勒索病毒攻擊,保護用戶數據的關鍵措施在于預防,即在勒索軟件攻入受害者主機但尚未造成實質性破壞前及時檢測并攔截攻擊。目前,針對勒索病毒的防護主要采用分層次防護措施,即提倡同時部署多種獨立、領域互相重疊的安全措施以創建穩固的安全防護架構,并且各安全層被設計為和其他安全層互補,使得威脅不易穿透重重防護。

    勒索病毒的家族分類指的是根據勒索病毒產生的變種來源對勒索病毒進行分類。同屬一個家族的勒索病毒往往會共享一些通用模塊,因此會有相似的勒索行為。近年來,家族內的勒索病毒的技術不斷更新迭代,可以更好地逃避現有工具的檢測。此外,可以對勒索病毒的結構進行轉換,從而迅速產生大量變種。

    此外,近年來勒索軟件即服務(Ransomware as a Service,RaaS)的商業模型的規模化發展使得勒索病毒家族中的病毒變種出現得更加頻繁,Cerber家族的出現和發展就是其中的典型。據報道,惡意代碼工廠軟件生成使用代碼混淆技術且擁有獨特Hash 的惡意代碼變種所需時間僅僅只有 15 s,而這些惡意軟件的變種可以繞過傳統的靜態簽名匹配的惡意軟件檢測技術的檢測。

    1.2 Cuckoo 沙盒

    Cuckoo 沙盒是一個開源的惡意軟件分析工具,用戶可以提交待分析樣本或待檢測統一資源定位符(Uniform Resource Locator,URL),快速獲得它的行為分析報告。Cuckoo 沙盒的主要組件可以分為主機和客戶機兩部分。其中主機是沙盒的核心控制部分,負責樣本的傳入、分析報告的生成、客戶機的啟動和恢復等,而客戶機可以有一個或多個,可以是在 VirtualBox 等軟件上配置的虛擬機,也可以是真實的物理機器。

    Cuckoo 沙盒記錄的待檢測樣本的行為信息主要有軟件執行期間調用的所有進程,創建、刪除、修改的文件及其信息,網絡連接與流量信息,客戶機運行期間的屏幕截圖,軟件運行期間的內存轉儲記錄。這些信息由客戶機內的監控腳本(agent.py)獲取,并將所有信息發回主機,樣本運行完成后,再由主機生成名為 report.json 的行為分析日志。

    1.3 機器學習算法

    決策樹算法的雛形最早由 Hunt 等人 在 1966年提出。該算法對整個決策空間進行劃分,認為位于同一塊空間內的樣本就屬于同一類別。決策樹的結構是一種樹形的有向圖結構,分為決策結點與葉子結點。在決策結點,決策樹會根據樣本特征做出決策;當到達葉子結點時,根據葉子結點被劃分的空間就完成了對樣本的分類。

    隨機森林 是一種集成的、基本單元是決策樹的機器學習算法,使用了 bagging 方法集成學習。隨機森林將訓練集分為多個子集,每個子集獨立訓練一個決策樹模型。在模型預測時,隨機森林會收集每個決策樹的模型結果,依據算法進行整合,得到最終的預測結果。

    卷積神經網絡(Convolutional Neural Network,CNN) 是 用 卷 積 核 代 替 參 數 的 多 層 感 知 器(Multilayer Perceptron,MLP)的一種變體,屬于一種前饋神經網絡,其利用卷積核構建學習模型。卷積神經網絡的模型構成通常有多個卷積層、池化層和全連接層。

    在自然語言處理方面,Kim提出使用卷積神經網絡對句子的情感進行分類,如圖 1 所示,其模型由卷積層、池化層和全連接層構成。

    圖 1 API 序列分類模型架構

    k 表示 API 序列中第 i 個 API 函數的 k維特征向量,API 序列的長度為 n,則整個 API 序列特征表示就可以用 n 個 API 函數的特征向量拼接得到,即:

    同樣的,可以用表示從的特征向量的拼接。對拼接后得到的進行矩陣卷積操作,卷積核設置為,即 1 次對 API 函數調用序列中的 h 個連續 API 函數進行特征提取。如對卷積得到一個新特征該過程可以表示為:

    式中:b 為偏移參數;f 為非線性函數。對 1 個長度為 n 的 API 函數調用序列中間每一個大小為 h 的子序列進行卷積操作,就可以得到整個序列的特征映射為:

    進行一次池化操作(max-overtime pooling),即選擇特征映射中最大值作為卷積核 w卷積后的對應特征。進行池化操作的原因一方面是減少特征數量,保留最典型的特征;另一方面是API 函數調用序列長度各不相同,池化后避免了由于長度差異導致的缺失特征值對模型的影響。

    整個模型的卷積層有多個卷積核,每個卷積核經過卷積、池化后都可以得到一個特征。將這些特征一起傳入全連接層,就可以輸出一個類別的概率分布,其中概率最大的類別就作為輸入 API 函數序列的類別。

    2  動態分析與行為特征提取

    在本節中,將介紹本文勒索病毒數據集的構建與軟件特征提取的過程和結果。

    2.1 實驗數據

    本文研究的軟件樣本類別是 Windows 平臺上的可執行軟件樣本(exe),其可以分為惡意軟件樣本和良性樣本兩大類。在惡意軟件樣本的選擇上結合了電力系統的實際情況,包含了隱匿高危勒索病毒樣本。課題使用的惡意軟件樣本主要來自 Virus Total 等惡意樣本開源網站。課題使用的良性軟件樣本來自 360 應用商店,樣本均經過 360 惡意軟件檢測確認。本課題總共收集到 1 000 個惡意軟件樣本(不包括勒索病毒家族樣本)、100 個良性軟件樣本。

    由于目前尚沒有根據勒索病毒家族分類的公開的數據集,因此勒索病毒樣本及其所屬家族只能通過其在 Virus Total、VirusShare 等開源網站上的分析信息判斷,將反病毒廠商檢測引擎給出的占比最大的家族定為該病毒樣本的所屬家族。最終獲得的勒索病毒家族名稱與樣本數量分布如表 1 所示。

    表 1 數據集勒索病毒家族構成

    2.2 Cuckoo 動態行為分析

    本文搭建的 Cuckoo Sandbox 環境中主機使用的是 Ubuntu 18.04.1 LTS 操作系統,在主機上安裝了Cuckoo Sandbox 2.0.7、VirtualBox 5.2 等軟件。客戶機使用的操作系統是 Windows 7 專業版并以虛擬機的形式通過 VirtualBox 5.2 安裝在主機上。

    為了便于主機對客戶機的控制和軟件樣本的運行,客戶機關閉了防火墻、系統自動更新、用戶賬戶控制,并安裝了 Python、pip、pillow 等軟件用于運行 agent.py 腳本。

    2.3 行為特征提取

    軟件在與操作系統進行交互時通常使用 API 函數。為了使文件大小更小、更加隱蔽、傳播更迅速,勒索病毒往往利用系統 API 函數實現文件管理、網絡連接、注冊表訪問等行為。本小節在 Cuckoo Sandbox 提供的分析報告的基礎上,提取了勒索病毒等軟件樣本的 API 調用信息,并在提取的行為信息中分析了勒索病毒的部分典型行為。

    從軟件行為分析報告中提取 API 函數調用行為信息的流程如圖 2 所示。提取的行為報告位置是 [“behavior”][“process”] 字段,該字段記錄軟件運行期間每個進程的 API 函數調用情況。

    圖 2 API 函數調用信息提取流程

    3 勒索病毒檢測器訓練

    本節在 2.3 節特征提取的基礎上,訓練了勒索病毒檢測器與家族分類器。

    3.1 API 函數特征選擇

    本節中,訓練勒索病毒家族分類器使用的特征是軟件樣本調用的 API 函數名稱及相應的頻率。如果將全部出現過的 API 函數名稱作為特征直接進行分類器的訓練,不僅會增加模型訓練的時間消耗,還會因為無效或者干擾特征的保留使模型的分類效果下降。

    利用 2.3 節獲得的軟件 API 函數調用頻率信息,并利用 R 語言的 Boruta 算法包對 API 函數進行特征選擇。由于分類任務分為勒索病毒檢測的二分類和勒索病毒家族分類的多分類,兩種分類數據集不同、數據標簽不同,因此需要分別進行特征篩選,保留與各自分類任務相關的 API 函數特征。

    3.2 API 函數特征向量預訓練

    第 2 節獲得的 API 函數的調用序列可以看作軟件的“句子”的文本分析和分類,但是序列長度基本在 3 萬以上,這給后續的分析帶來了極大的數據讀取和存儲壓力,也會影響卷積神經網絡分類勒索病毒的效果,因此需要對 API 序列進行去重處理。對軟件樣本的 API 函數調用序列進行去重的算法結合軟件的 API 函數調用的現實情況,設置重復序列的長度范圍為 ,遍歷一遍序列后刪去所有重復子序列。

    利用全部樣本的 API 函數調用序列構成了一個文檔輸入 Word2vec 模型,獲得 API 函數的特征表示。特征向量預訓練使用了 Skip-gram 模型結構,設置API 函數的特征向量的維數為 50 維,迭代次數為10 輪,模型訓練結束后將特征向量保存為“APIvec.bin”文件,用于后續的分類器訓練。

    3.3 分類器測試效果

    在本節中,分別使用傳統的機器學習算法決策樹、隨機森林模型和卷積神經網絡的方法訓練勒索病毒的檢測器與家族分類器。

    3.3.1 決策樹模型

    決策樹模型設定勒索病毒檢測與分類的訓練集與測試集的劃分比例為 9 ∶ 1。使用決策樹算法訓練勒索病毒檢測器與勒索病毒分類器,其中勒索病毒檢測器的模型測試混淆矩陣如圖 3 所示,勒索病毒檢測器的準確率為 94.56%,分類精度為97.05%,召回率為 89.18%。勒索病毒家族分類器的模型測試混淆矩陣如圖 4 所示,勒索病毒檢測器的準確率為 82.35%。

    圖 3 決策樹算法檢測器測試混淆矩陣

    圖 4 決策樹算法家族分類器測試混淆矩陣

    3.3.2 隨機森林算法

    隨機森林算法設定勒索病毒檢測與分類的訓練集與測試集的劃分比例為 9 ∶ 1,設置隨機森林中的決策樹數量為 150,訓練勒索病毒檢測器與勒索病毒分類器。其中勒索病毒檢測器的模型測試混淆矩陣如圖 5 所示,勒索病毒檢測器的準確率為96.73%,分類精度為 94.72%,召回率為 97.29%。勒索病毒家族分類器的模型測試混淆矩陣如圖 6 所示,勒索病毒檢測器的準確率為 90.19%。

    圖 5 隨機森林算法檢測器測試混淆矩陣

    圖 6 隨機森林算法家族分類器測試混淆矩陣

    3.3.3 卷積神經網絡模型

    設置卷積神經網絡模型訓練集與測試集的比例劃分為 8 ∶ 2。模型訓練時設定平均序列長度為 5 000,batchsize 為 10,丟棄概率為 0.5,學習率為 0.001。設置序列的最大長度為 5 000。預訓練得到的 API函數名稱特征向量維度為 50 維,結合軟件的 API函數調用的現實情況設置卷積核大小為 2×50,3×50,4×50,5×50。

    勒索病毒檢測器的模型測試混淆矩陣如圖 7 所示,勒索病毒檢測器的準確率為 97%,分類精度為95.62%,召回率為 95.09%,F1-score 為 96.03%。勒索病毒家族分類器的模型測試混淆矩陣如圖 8 所示,勒索病毒檢測器的準確率為 94%,分類精度為89.1%,召回率為 82.04%,F1-score 為 76.42%。

    圖 7 卷積神經網絡檢測器測試混淆矩陣

    圖 8 卷積神經網絡家族分類器測試混淆矩陣

    綜上,無論是使用決策樹算法還是隨機森林算法,都可以有效實現對勒索病毒的檢測與家族分類。其中,隨機森林模型的勒索病毒檢測和家族分類測試效果都明顯優于決策樹算法。使用卷積神經網絡的方法對勒索病毒的檢測和家族分類效果都有提升,其中檢測準確率高達 97%。在家族分類方面,卷積神經網絡的提升更加明顯,模型測試準確率為 94%。此外,可以發現勒索病毒的檢測效果明顯優于勒索病毒家族分類效果。雖然使用卷積神經網絡方法的分類器模型準確率較高,但是部分家族的分類精度、召回率不高。勒索病毒家族分類效果不佳可能是因為家族數據集的不完善,數據集內有的家族的樣本較少,這使得模型不能充分學習該家族的特征,導致模型對部分勒索病毒家族的分類效果不好。

    4  結 語

    近年來,勒索病毒攻擊給企業和個人帶來了很大困擾,隱匿高危勒索病毒的肆虐也為勒索病毒的防御帶來了新的挑戰。本文從電力系統的實際情況出發,以 Windows 平臺的可執行文件格式的勒索病毒為研究對象,研究其及其所屬各勒索病毒家族的行為特征,并利用 Cuckoo Sandbox 軟件獲取勒索病毒軟件的行為分析報告,從中提取中樣本的行為特征。針對獲得的勒索病毒行為特征,分別采用了決策樹、隨機森林的方法和基于卷積神經網絡的深度學習算法訓練了分類器實現了勒索病毒的檢測與家族分類。

    本文的勒索病毒檢測與家族分類直接對API 函數調用序列進行分析,對勒索病毒的應急防護有積極意義,能夠幫助企業或個人在受到勒索病毒威脅時快速反應,即針對勒索病毒所屬家族做出針對性防御,也可以與動態行為分析結合用于除勒索病毒外其他種類惡意軟件的分析。

    本文的勒索病毒檢測器準確率達到了 97%,勒索病毒家族分類準確率達到 94%。

    機器學習分類器
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    本文比較了同一DGA集合上的兩種不同檢測方法:使用人工特征工程的經典隨機森林和深度學習遞歸神經網絡。
    對決策者和從業者來說,務實的做法是細致了解哪些任務可以從機器學習中受益,哪些任務不能。
    將深度學習的各種行為檢測融合到決策模型中。該模型有助于檢測許多復雜的攻擊和惡意軟件運動。例如,該模型發現了Bondat蠕蟲的一種新變種,它試圖將受影響的計算機變成感染網絡的僵尸。Bondat利用感染網絡入侵網站,...
    SCA可以利用以這種方式公開信息以發動攻擊這一事實。攻擊者只能依靠被攻擊設備的意外電磁泄漏來重建受害者屏幕上顯示的圖像。產生的電磁耦合降低,電磁輻射的攜帶頻率增加。此外,確保產品電磁兼容性的基本設計合規性有助于減少意外泄漏。這些因素使得對該信號的利用更加復雜,并降低了電磁輻射的攔截信號。
    結果表明,那些想要保持匿名的程序員需要采取極端的應對措施來保護他們的隱私。因此,我們為可執行二進制作者溯源設計了一個特征集,目標是準確地表示與程序員風格相關的可執行二進制文件的屬性。從頭到尾反匯編二進制文件,遇到無效指令時跳過該字節。特別而言,反編譯器可以重構控制結構,如不同類型的循環和分支結構。因此,需要進行特征選擇的降維操作。
    同時購買這兩種食品的消費者將會在墨西哥食品和亞洲食品集群之間形成一種嵌入。商店和客戶的行為定期訓練這類嵌入,以便在推薦和其他個性化應用程序中使用。
    AI就像一個黑匣子,能自己做出決定,但是人們并不清楚其中緣由。需要了解AI如何得出某個結論背后的原因,而不是僅僅接受一個在沒有上下文或解釋的情況下輸出的結果。在本文中,我將介紹6個用于可解釋性的Python框架。
    知識圖譜是下一代可信人工智能領域的關鍵技術組成之一。圍繞知識的歸納抽取、演繹推理等處理與分析過程,諸多關鍵問題逐步被攻克,大幅推動了機器認知技術的發展。在網絡空間安全領域,防御技術的智能化升級也亟需成熟、有效的網絡空間安全領域知識圖譜(以下簡稱為安全知識圖譜)技術體系,為應對強對抗、高動態環境下的攻防博弈提供知識要素與推理智能支撐。為了歸納總結安全知識圖譜的關鍵技術研究進展,本文將嘗試通過技術概述
    如何攻擊圖神經網絡
    2022-08-24 08:12:18
    目前,圖結構的數據被應用于各種安全敏感領域(例如惡意軟件分析,內存取證,欺詐檢測,藥物發現等),而隨著圖神經網絡的興起,研究人員嘗試將圖神經網絡應用于這類數據上實施分析,發現都能達到非常先進的水平。
    作者考慮在不改變現有的NPM基本過程的情況下,盡可能快地檢測出惡意包,然后清理。
    一顆小胡椒
    暫無描述
      亚洲 欧美 自拍 唯美 另类