運用網路封包分析與機器學習之勒索病毒偵測技術
蔡文淙1*、林韶如2 、劉得民3、周兆龍4*
1,4國防大學理工學院資訊工程學系、2國家中山科學研究院、3中華民國網路封包分析 協會
1wentsung.tsai@gmail.com、2oceankeep@gmail.com、3dmliu99999@gmail.com、
4chaolung.chou@gmail.com
摘要
企業及政府機構遭勒索病毒攻擊的資安事件,近年來逐漸登上新聞或資安網站的版 面,駭客透過駭侵手法滲透使用者電腦,甚至運用社交工程,藉由執行勒索病毒將其電 腦文件檔案進行加密,受害者如急於取回文件,避免造成組織營運停滯、個人利益受損,
有可能依駭客指定方法進行贖付。為減少損害,在受這類攻擊的當下,爭取應變時間就 是首重目標,因此需要動態分析的方式,即時偵測出勒索病毒的攻擊。
本研究基於勒索病毒在網路環境發動攻擊時所產生特殊的異常行為,提出「勒索文 件封包數」與「異常封包數」兩項指標,偵測同一區網內部電腦,是否遭受勒索病毒攻 擊,並運用決策樹、循序最小優化及簡單邏輯迴歸等機器學習演算法,依所提出之兩項 指標數值對不同勒索病毒進行分類。經600次的實驗,實驗結果平均準確率可達99.25%
以上,證明本文提出之方法可有效地偵測並分類勒索病毒。
關鍵詞:勒索病毒、動態分析、網路封包、機器學習
Ransomware Detection Technique by using Network Packet Analysis and Machine Learning
Wen-Tsung Tsai1, Shao-Ru Lin2, Te-Min Liu3, Chao-Lung Chou4*
1,4Department of Computer Science and Information Engineering, Chung Cheng Institute of Technology, National Defense University, 2National Chung-Shan Institute of Science and
Technology (NCSIST), 3Network Traffic Packets Analysis Association, R.O.C
1wentsung.tsai@gmail.com、2oceankeep@gmail.com、3dmliu99999@gmail.com、
4chaolung.chou@gmail.com
Abstract
In recent years, information security incidents about enterprises and government agencies being attacked by ransomware viruses have gradually appeared on the news. Hackers penetrate users' computers through social engineering or insidious methods and encrypt their files by using ransomware viruses. Suppose the victim is eager to restore the files to avoid stagnation of the organization's operations and damage to personal interests. In that case, the ransom payment may be made according to the method specified by the hacker. To reduce damage, gaining response time is the primary goal while attacked by such attacks. Therefore, a real-time dynamic analysis method is required to detect ransomware attacks.
Because of the abnormal behaviors of ransomware attacks in the network environment, this research proposes two indicators, that is, the ransom file (RF) and abnormal packets (AP), to detect whether computers are attacked by ransomware and use machine learning algorithms such as decision tree, sequential minimum optimization (SMO) and simple Logistic regression to classify different ransomware according to the two indicators. After 600 rounds of experiments, the results show an average classification accuracy rate of 99.25%, indicating that the proposed method can effectively detect and classify ransomware.
Keywords: Ransomware, Dynamic Analysis, Packet, Machine Learning
壹、前言
1.1 研究背景與動機
1988年世界出現第一隻網路蠕蟲,在當時更癱瘓了幾千部電腦,可見早在電腦和網 路萌芽之初,就受到不小的安全威脅。時至今日的物聯網時代,網路所帶來的經濟效益 日與俱增,全球各國家之間的銀行往來、影音娛樂產業、購物平臺無一不依賴網路,企 業與政府的機要文件也都會運用內部網路傳遞,可以說無論內外部網路上的資訊,都是 相當重要的資產,而所有網路使用者所面臨的安全威脅,更不可同日而語。
企業與個人的電腦所存放的文件檔案中,不乏重要的資訊,同時很可能是貿易往來、
公司營運、學術研究或產業研發等關鍵文檔,這也引起不肖人士覬覦,透駭侵手法竊取 機敏資訊,而今年來運用加密技術的勒索病毒日益猖獗,駭客利用受害者倚賴重要文檔 的心理,透過勒索病毒加密受害者重要檔案,以勒索要求支付贖金,才會給出加密金鑰;
在未取得金鑰前,被加密的檔案通常難以解開,將導致業務無法推展而遭受更大的損害。
2021年資安公司Check Point的年度報告指出,駭客攻擊手法中,高達93%的社交 工程攻擊,而且全球平均每 10 秒就有一起勒索病毒攻擊,加密勒索如此頻繁的原因是 有利可圖及受害者耽心失去重要資訊的心理,也因此只要有受害者交付贖金,勒索攻擊 就會持續進行[1]。我們無法控制惡意程式攻擊不發生,但確有機會在被攻擊的當下,保 護機敏檔案及減少災損。
勒索病毒一旦感染主機,存放在磁碟裡的檔案將很快地被加密,如何減少損害,並 避免從宿主主機攻擊內部網路電腦,必須即時偵測出網路異常行為,以爭取資安事件處 置的緩衝時間。
1.2 研究目的
透過網路異常行為所產生的封包特徵值,在解析侵入的勒索病毒攻擊特性過程中,
找出可偵測勒索病毒活動並分辨種類的指標數值。
1.3論文架構
本論文共分五節:第一節前言,說明研究背景、動機及目的。第二節文獻探討,針 對電腦病毒、勒索病毒種類、加密方法以及檢測方式等相關的背景知識加以闡述;第三 節為本文所提出的方法;第四節為驗證與分析,介紹實驗環境、樣本與成果分析;第五 章說明結論及未來研究方向。
貳、文獻探討
本節介紹近年重大勒索軟體及特性,並探討惡意程式分析技術,以奠定本研究基礎。
2.1 惡意程式分析技術
通常區分靜態分析與動態分析兩種,原理及比較概述如後:
1. 靜態分析:
靜態分析是對惡意程式進行反組譯程式編碼型態,從這些程式碼中找到可能執行的 行為及命令,其中較特殊的程式碼片段,很有可能是特徵辨識用途之病毒碼,彙整之後 放入防毒軟體資料庫中供使用者進行病毒防護。
靜態分析的方式主要是針對程式碼本身進行資料剖析、擷取病毒的模式、屬性和元 件,並標記異常,對於已知的惡意程式,能夠快速且精準取得重要特徵,但是檢測到複 雜編碼的程式病毒。
另外,靜態分析有賴於技術人員的能力與經驗除錯或反組譯器,如果攔截到未知的 惡意程序碼,則,如:操作反組譯器、分析編碼結構 (脫殼) 等等能力。在靜態分析中,
一般常見運用的方法有四項[2]:
防毒軟體掃描 (Antivirus Scanning):
是最早以簽名檔進行惡意程式分析的方式,若發現惡意程式,此簽名檔會註記。此 方法乃是透過研究並分析程式碼內容,找出其中唯一的程式碼,作為辨識特徵之病毒碼,
搭配防毒軟體中之掃描檔案功能,就能自遭受感染的電腦中,找出有問題的惡意程式,
是一款能快速準確檢測已知病毒的方法。不過,倘若簽名檔不在資料庫中,就無法檢測 到未知與變種的惡意程式。現今,不同的掃毒軟體會使用不同的辨識方法,因此會同時 使用多款不同的防病毒程序一起進行惡意程式偵測作業,以增加惡意程式的樣本檢測率,
也正因為如此,VirusTotal、Jotti和VirSCAN等多種掃毒網站[3][4][5],會同時使用不同 的掃毒方式進行檢測作業,以達成上述目的。
程式碼字串分析 (String Analysis):
在目標檔案中,搜索特定的字串可能會發現惡意程式的訊息,例如搜索到「URL」
文字,就可能會連結到惡意程式C&C中繼位址,如果是搜索到「Email」則可能連結到 駭客信箱。此方式是屬於快速且有效果的方法。
雜湊函數 (Hashing):
用雜湊函數來判別惡意程式是一項很特別的方法,只不過現行的雜湊函數檢測方式,
僅能針對已知惡意程式進行比對檢測作業。
逆向編譯 (Reverse Compiling):
逆向編譯檢測技術將惡意程式檔案拆解為作業系統執行檔結構 (Execute Structure) 與可執行程式碼 (Execute Code),並依照惡意程式的可執行程式碼,對應CPU的Machine
Code,進一步轉為可閱讀的組合語言碼 (ASM Code),藉此分析惡意程式碼已使用的 CPU功能 (例如暫存器) 和堆疊狀態、獲知程序或程式碼執行的呼叫順序。逆向編譯分 析惡意程式碼時,可能可以提供更多惡意程序的相關線索,但需要深入了解 CPU 組合 語言與作業系統運作架構。
2. 動態分析:
動態分析方法主要是在沙箱 (SandBox) 環境中,刻意執行惡意程式並從中觀察其 行為,簡言之,動態分析的方法是一邊執行惡意程式,同時一邊進行分析[6]。動態分析 的過程中,可以在虛擬機器中觸發可疑的檔案,並查看及分析觸發後行為,不需倚靠特 徵碼來識別威脅,因此能夠識別與以往不同的威脅。
依前述靜態分析與動態分析的論述,綜整兩者特性如表1 [7][8]。
表1:靜態分析與動態分析比較表
項目 靜態分析 動態分析
原理 分析
先將惡意程式進行反編譯,,並取得惡 意程式可能執行的行為及命令等進行 相關分析,研究人員將其中特殊之程 式碼片段,指定為特徵辨識用途之病 毒碼,彙整之後放入防毒軟體資料庫 中供使用者進行病毒防護。
建立一個虛擬且與真實系統隔離的 環境,並將惡意程式放入該虛擬環境 中,觸發惡意程式,並在該環境中運 作,除可避免惡意程式對實際系統造 成影響外,同時可以詳盡地分析該惡 意程式的所有行為。
檢測 方式
(1) 防毒軟體掃描 (2) 程式碼字串分析 (3) 雜湊函數
(4) 逆向編譯
(1) 虛擬機 (2) 沙箱
(3) 網路封包分析
優點
(1) 病毒碼(Malicious Code)易於快速 分析:通過檢測程式碼片段特徵,
並將其與先前觀察到的病毒碼進 行比對,可以快速進行靜態分析。
(2) 快速產生結果,不需要以實際執 行勒索病毒。
(1) 唯一能零時差偵測威脅的方法。
(2) 不易混淆,可識別未知的病毒,
並且可分析加密病毒碼。
缺點
(1) 病毒碼容易受到混淆。
(2) 無法識別未知病毒。
(3) 病毒碼被加密時,無法進行分析。
(4) 壓縮檔案導致可視性降低。
(1) 在分析病毒的環境時,容易識別 病毒狀況,但過程費時。
(2) 分析的過程中,容易受到病毒攻 擊。
2.2 近年常見勒索病毒
勒索病毒在 2017 年虛擬貨幣開始盛行之際,攻擊強度達到了高峰[9],襲捲全球的
WannaCry 勒索病毒,就是駭客要求必須使用比特幣支付贖金;專家指出因虛擬貨幣匿
名性及交易過程不易追蹤的特性,導致網路犯罪增加,相對地也使勒索病毒攻擊增加[10]。 隨著時間推移,綜整近年常見的勒索病毒如表2 [11]。
表2:近年常見勒索病毒一覽表
項次 發現時間 種類 特性
1 2016 Petya
(Windows)
以感染硬碟方式進行,受感染系統於下次啟動時加密檔 案,完全阻止系統重啟,直至交付贖金為止。
2 2017 Bad Rabbit (Windows)
誘使使用者下載偽裝成Adobe Flash的更新程式,趁機加 密電腦的檔案文件。
3 2017 WannaCry (Windows)
利用美國國家安全局 (NSA) 零日漏洞的永恆之藍,透過 網路進行,並利用演算法惡意加密用戶檔案。
4 2019 Conti
(Windows)
藉由木馬病毒遠端操控或 Windows 漏洞進行散播與操 控,且使用AES-256 演算法加密文件,每個二進位文件 都是專為每個受害者門製作,密鑰皆不同,另外也以程式 加密文件,讓使用者無法以命令和控制伺服器打開文件。
5 2019 Maze
(Windows)
以ChaCha20和 RSA兩種演算法加密文件,加密後會在
每個文件名稱的尾末加上隨機 4~7 個字符,當所有文件 加密完成後,也會修改桌面顯示已遭加密之文字,並發出 聲音說明受害者電腦文件已遭加密。
6 2022 Quantum (Windows)
駭客利用電子郵件散佈金融木馬 (IcedID),之後再於受 害者組織網域部署名為「量子」(Quantum) 的勒索病毒來 勒索用戶,整個加密勒索過程不到 4 小時,是歷來速度 最快的勒索病毒。
2.3 勒索病毒加密方式
勒索病毒對受害者電腦加密方式,一是螢幕加密 (Screen-Lockers; Locky),另一種 則是檔案加密 (File-Lockers),兩種加密方式說明如下[12]:
1. 螢幕加密:
螢幕加密的目的是透過鎖定電腦桌面,強迫使用者無法操作,通常在登入電腦時就 會發現被勒索。如2010年的WinLock病毒,就是以色情圖片遮擋使用者的電腦螢幕,
並要求受害者繳付10美元簡訊費後才會接收解鎖密碼,攻擊畫面如圖1 [13] [14]。
圖1:WinLock病毒攻擊成功畫面[14]
此種方式只是鎖住電腦系統,通常可經由重新啟動或是安全模式下恢復正常狀態,
危害程度較小。
2. 檔案加密:
對電腦內的文件進行加密,讓使用者無法開啟、存取文件,直到使用者支付贖金後 才能解開文件,近年出現的勒索病毒多屬於這一類型。經研究統計,Microsoft Office文 件檔案通常含有重要的業務資訊,因此成為多數勒索病毒的攻擊目標,另外,勒索病毒 對檔案加密通常三種模式[15]:
(1) 對檔案加密,但不重新命名或更改檔案存放位置。
(2) 對檔案加密並重新命名,但不更改檔案存放位置。
(3) 對檔案加密並重新命名,且更改檔案存放位置。
2.4 勒索病毒攻擊模式
勒索攻擊大致可分為三個階段:
1. 入侵階段 (Delivery Stage):
通過假冒成合法的電子郵件等方法,誘使受害者點擊連結並下載病毒。
2. 破壞階段 (Sabotage Stage):
入侵階段及破壞階段,都可能產生異常的網路封包,如DNS、HTTP/HTTPS、SMTP、 FTP、RDP或SMB等通訊協定異常的封包。根據勒索家族的差異,進行網路封包分析,
可以找到部分共同行為表現[16]。
3.勒索階段 (Extortion Stage):
這個階段使用者電腦會出現極明顯的三項狀態:
讀寫磁碟的位元組不斷增加。
CPU使用率遽增。
對網路磁碟機 (分享目錄、磁碟) 表現出特殊網路行為,包括探測、異常權限 存取、異常檔案名稱寫入、大量網路讀取寫入封包 (其主要通訊協定為SMB)。
2.5運用網路封包分析惡意程式的相關研究
封包分析是追溯網路行為主要的方式,獲得的封包數據越詳細,就可以越了解網路 狀況。Usha Banerjee 在 2010 年的研究中,利用 Wireshark 進行惡意程式入侵偵測,以
ACL (Access Control List) 過濾封包資料,查得惡意程式在封包裡的字串符號、使用的通
訊協定項目[17]。
2013年Pallavi等學者使用Network Interface Card擷取封包工具,監聽駭客的攻擊 手法,了解各種資訊流向、監控與分析,藉以監測可疑的攻擊[18]。2017 年 Aishwarya 等學者認為所有的電腦資訊都是通過TCP進行,因此利用Wireshark進行封包流量分析,
並對不同的時序、封包往來時間、資訊量等多種參數進行分析[19];2020 年 Juraj 等學 者以封包的特性為基礎,開發視覺化工具進行數據分析,以了解惡意訊息傳遞的過程[20]。
以上相關研究顯示深入分析網路封包,可以發掘惡意程式在網路活動時,特有的異 常行為,因此本研究依循學者先進的作法,分析勒索病毒發動攻擊時的封包特徵,進而 達成依特徵值偵測並分類勒索病毒。
參、本研究提出之方法
當勒索病毒藉由宿主電腦,在區域網路中進行橫向擴散時,因其目的是加密檔案或 磁碟,所以在網路中會不斷地搜索網路硬碟,必然會產生網路活動的封包,如果加上再 設定網路、檔案或磁碟的存取權限,將會使勒索病毒產生不同的反應,只要將這些特殊 反應的網路封包篩選出來並加以分析、歸納後,應不難判斷及預測出,有某種網路行為 相以性的程式,是否為勒索病毒,甚至可以為其分類,屬於哪一種勒索病毒。
秉持上述的構想,找出判定勒索病毒的特性,以作為篩選封包的條件,即為本研究 核心工作。勒索病毒最一般性的特徵,就是會夾帶文字檔案,以告知受害者付贖條件和 方式,所以必須將此特性做為篩選封包的條件。另一方面,為使病毒在網路環境下,產 生其他合法程式不會有的不尋常行為,則透過網路芳鄰開啟共用資料夾,且外部電腦僅 被允許讀取權限;當勒索病毒頻繁地對共用資料夾加密時,將產生大量網路服務存取被 拒 (Access Denied) 的訊息,如此,藉由不正常的網路服務被拒的資訊,作為篩選封包 的條件。
獲得上述二項篩選封包條件後,必須量化封包才能作為偵測勒索病毒的指標。第一 項篩選條件是針對勒索病毒的隨附文件,本研究稱之為勒索文件 (Ransom File, RF),依 條件所獲封包定義為勒索文件封包,累計數量以PRF表示;第二項篩選條件是因網路攻 擊產生的異常封包 (Abnormal Packets),累計數量以PAP表示。基於SMB通訊協定,勒 索病毒才能夠在網路上存取共用資料夾,因此,本研究提以PRF及PAP各別在所有SMB 封包中所佔比例,定為偵測勒索病毒的兩項指標,並以SRF與SAP表示。最後,依SRF及
SAP 數值做為資料集,運用機器學習方法建立分類器,以預測網路中含有何種勒索病毒 正在活動,研究方法流程圖2。
圖2:本研究所提方法之流程
3.1 蒐集封包
本研究使用微軟Windows系列作業系統為實驗環境,並開啟網路芳鄰功能,以網路 側錄軟體—Wireshark,擷取SMB通訊協定網路封包。
3.2篩選特徵封包
1. 勒索文件封包數 (PRF):
定義為某特定攻擊行為中,在一定時間內,所累積勒索文件的網路封包數量,如式
(1),k為不同病毒產生的勒索文件類別,t為時間區段(範圍1到n)。
𝑃𝑅𝐹 = ∑ 𝑃𝑡𝑘
𝑛
𝑡=1
(1) 2. 異常封包數 (PAP):
定義為某特定攻擊行為中,在一定時間內,所累積相對應的異常網路封包數量,如 式(2),a為不同病毒產生的異常網路活動類型,t為表時間區段(範圍1到n)。
𝑃𝐴𝑃 = ∑ 𝑃𝑡𝑎
𝑛
𝑡=1
(2)
3.3 計算SRF及SAP指標
利用式(3)及式(4),計算SRF及SAP指標,分別代表RF及AP封包相對於所有SMB 通訊協定封包中的比例,其中∑PSMB代表SMB協定網路封包總數。
𝑆𝑅𝐹 = 𝑃𝑅𝐹
∑ 𝑃𝑆𝑀𝐵 (3)
𝑆𝐴𝑃 = 𝑃𝐴𝑃
∑ 𝑃𝑆𝑀𝐵 (4)
3.4機器學習分類器
機器學習依資料集訓練模式,經常分為監督式機器學習 (Supervised Learning) 及非 監督式機器學習 (Unsupervised Learning) 兩大類型[21]。
監督式學習特點是訓練資料集必須先經過標記化 (Labeled),以在機器學習輸出時 判斷誤差,標記過的資料就像標準答案,電腦在學習過程中一邊對比誤差,一邊修正以 達到更精準預測,這使監督式學習有準確率高的優點;但是資料前處理需大量以人工作 業標記資料,相當繁瑣耗時,當範圍擴大或資訊量增加,便難以對資料標記所有特徵。
常見的監督式學習演算法有線性迴歸、多項式迴歸、決策樹、簡單邏輯迴歸、SVM、簡 單貝氏及KNN等。
非監督式與監督式學習不同處在於,不需事先對資料作標註,是依資料關聯性進行 歸類並找出潛在規則而形成分群 (Clustering),也因如此,其特點是聚集相似度高的資料,
而不是精準預測,常見的非監督式演算法有聚合式階層分群、階層式分群、K-Means、
DBSCAN、及主成份分析 (PCA) 等。
為明確地對 SRF及 SAP兩項指標作分類,以驗證偵測勒索病毒有效性,本研究採用 監督式學習,並運用決策樹、循序最小優化 (Sequential Minimal Optimization, SMO) 及 簡單邏輯迴歸等三項演算法,預測異常封包為何種類型的勒索病毒,三項演算法概述如 後:
1. 決策樹 (Decision Tree):
一種決策分析的方法,依資料之間的關聯性來產生預測,運用樹的階層概念,分類 過程如同樹狀結構,從最上層的根節點開始,在每個節點為一項特徵,經由分支去做出 決策,再繼續往下一層分類推進,分析示意如圖 4,其中根節點為資料集全部樣本,內 部節點是對應「特徵」屬性測試 (即分類測試),葉節點即為決策、分類的結果[22]。
圖3:決策樹分析示意圖
決策樹有ID3、C4.5、C5.0、CHAID及CART等多個演算法,本研究採用修進自ID3 的C4.5演算法,C4.5不使用資訊增益 (Information Gain),而是用「資訊增益比」(Gain
Ratio) 作為特徵的選擇依據,因資訊增益比考量整體效益,更好地決定該採取何項特徵
作為決策條件。
2. 循序最小優化演算法 (SMO):
SMO演算法是由微軟研究院 (Microsoft Research) 的研究員John Platt所提出[23], 主要是對在訓練支援向量機 (Support Vector Machine, SVM) 時進行優化問題的改善;該 演算法的核心思想是將原問題分解成多個小問題,並分別進行優化求解,SMO 每次只 優化兩個變數,將其他的變數都視為常數。也是說 SMO 演算法是為了解決 SVM 中的 優化目標函數,尤其是在線性的SVM和資料較少的情形下,效能更佳。在SMO提出之 前,SVM訓練方法必須使用複雜的方法,並耗費龐大的運算資源。
3. 簡單邏輯迴歸演算法 (Simple Logistic Regression ):
主要在探討依變數與自變數之間的關係,是基於線性邏輯迴歸模型的分類器。一般 的迴歸分析,限制依變數必須是連續型變數,當要分析的變數不是連續型態則無法進行,
因此,當依變數為類別型變數時,需改為使用簡單邏輯迴歸。實務運用上,簡單邏輯迴 歸主要是用於資料分類,而線性迴歸主要是預測資料[24]。
肆、驗證與分析
4.1 實驗環境
本 研 究 實 驗 使 用 VirtualBox 虛 擬 機 平 臺 , 並 建 置 微 軟 系 列 作 業 系 統 分 別 為 WindowXP、Window 8以及Window10等三部主機,主機之間透過Windows的SMB功 能,建立資料夾分享,藉以觀察勒索病毒在相同網段下,對於三台不同作業系統的電腦,
Windows XP及Windows 8作業系統,三部主機形成同網段的區域網路,並由B主機開 啟網路芳鄰功能,共享資料夾供對A、C主機作存取。
圖4:實驗環境示意圖
4.2勒索病毒樣本選用 1. Maze:
最早出現於2019年5月,又稱ChaCha,利用漏洞工具並通過網頁掛馬方式、偽裝 成合法的虛擬貨幣交換應用程式或夾帶於垃圾郵件進行散播。不同的 Maze變種病毒會 產生不同的勒索文件。當遭受 Maze攻擊,會循環播放檔案文件被加密的錄音檔,告知 受害人電腦已經遭勒索病毒感染,如果受害者拒絕支付贖金,駭客組織會威脅洩露在加 密前竊取的資料,受其攻擊後出現勒索訊息如圖5 [25]。
圖5:Maze勒索病毒警示受害者訊息
2. Conti:
2019年Conti發跡於俄羅斯,具雙重勒索特性,在勒索加密前,會先下載機密資料
的明文,查找機密文件中企業財務狀況,且對目標植入勒索病毒前,會先上傳備份工具,
並取得網域管理者權限建立通訊連線,再偵察及竊取網域內的財務資料,作為受害者拒 付贖金的勒索籌碼。
2022 年 1 月我國某科技大廠即遭受Conti 攻擊,駭客要求支付 1500 萬美元 (約新 台幣4.12億元) 的巨額贖金換取解密金鑰[26],其攻擊畫面如圖6。
圖6:Conti勒索病毒攻擊成功畫面 3. WannaCry:
WannaCry在2017年5月間襲捲全球,超過150個國家在短短數小時內遭受侵害,
這場史詩級的網路災難肇因於WannaCry有主動感染的能力,除透過釣魚郵件、惡意連 結或惡意文件散播,只要發現具有 SMB 漏洞的電腦,就結合惡意程式—永恆之藍入侵 被害者電腦,一方面加密的檔案,另一方面繼續入侵其他電腦。具備這樣的能力,使得
WannaCry 不再單單只是勒索病毒,可以稱為勒索蠕蟲,也因此能在全世界疾速擴散的
關鍵。
WannaCry使用RSA-2048加密技術,並針對180種檔案格進行加密,而且檔案加密
後副檔名修改為“.WNCRY”。受害者必須以比特幣支付贖金,才可取回解密金鑰,超過 7天未付贖金,解密金鑰就會被銷毀,原來的檔案極可能等同遺失或刪除[27][28],攻擊 成功畫面如圖7。
圖7:WannaCry勒索病毒攻擊成功畫面
4.3資料集蒐整方式 1. 攻擊模擬場景:
實驗環境如 4.1小節所述,攻擊模擬場景為A 主機感染Maze、Conti 及WannaCry 等三項勒索病毒,並透過區域網路對其他二部主機攻擊;B主機開啟共用資料夾分享給 A、C 主機存取,C 主機則不分享資料夾,以對照勒索病毒對電腦開啟與不開啟共用資 料夾的反應,模擬場景如圖8。
2. 網路封包側錄:
本實驗使用開源軟體--Wireshark 側錄攻擊場景中 A、B、C 三部主機所產生封包,
A 主機執行Maze 勒索病毒感染後,並確認病毒透過網路攻擊B、C 主機後,立即還原 虛擬機至初始未遭受感染、攻擊狀態,如此重複200次,以蒐集足量的網路封包進行分 析。Conti及WannaCry二項勒索病毒也使用此方式重複200次 (三種病毒共600次)。
圖8:攻擊模擬場景示意圖
4.4 封包篩選結果與分析
因Windows系統中的網路芳鄰上共用資料夾,是藉由SMB通訊協定來達到資訊通
聯的目的,所以蒐集SMB的封包,並產生SRF及SAP兩項指標為本研究的重點,依3.2 小節定義,需要蒐集SMB封包總數、篩選出RF及AP封包。
使 用 Wireshark 篩 選 AP 封 包 的 條 件 可 設 為“ smb.nt_status==0xc0000022 or
smb2.nt_status==0xc0000022 ”,而每種勒索文件都略有不同,篩選 RF 封包條件及計算
平均SAP、SRF指標結果分述如後︰
1. Maze勒索病毒:
篩選RF封包條件:smb.file contains “ DECRYPT-FILES.txt ” or smb2.filename contains
“ DECRYPT-FILES.txt”。A、B、C三部主機平均SAP分別為47.42%、47.87%及0%,平 均SRF分別為0.49%、0.50%及0%。
2. Conti勒索病毒:
篩選 RF 封包條件:smb.file contains “ CONTI_README.txt ” or smb2.filename contains “ CONTI_README.txt ”。A、B、C三部主機平均SAP分別為0.10%、0.10%及 0%,平均SRF分別為0.20%、0.21%及0%。
3. WannaCry勒索病毒:
篩選 RF 封包條件:smb.file contains “ @Please_Read_Me@.txt ” or smb2.filename contains “ @Please_Read_Me@.txt ”。A、B、C三部主機平均SAP分別為0.10%、0.10%
及0%,平均SRF分別為0.33%、0.36%及0%。
實驗結果綜整如表 3,由表中的數據可發現,勒索病毒在區網裡的攻擊目標,只有 開啟共用資料夾的A主機 (宿主) 與B主機產生AP、RF封包,而區網內的C主機則沒 有受到勒索病毒攻擊的影響,也就是說電腦未遭受病毒攻擊,SAP與SRF應為0%,而遭 受攻擊的電腦,這兩項指標的數值均大於 0%;另一方面,如圖 9 所示,重複數百次蒐 集網路封包的實作後,三種勒索病毒的 AP 及 RF 在 SMB 封包中所佔比例,經圖示化 後,明顯形成 3 個群集。依此實驗結果呈現的圖表,可推論本研究所提出之 SAP與 SRF
指標可有效針對不同類別之勒索病毒呈現差異數值。
表3:SAP與SRF計算結果 主機別
指標 病毒名稱
A主機 B主機 C主機
SAP SRF SAP SRF SAP SRF
Maze 47.42% 0.49% 47.87% 0.50% 0% 0%
Conti 9.77% 0.20% 9.72% 0.21% 0% 0%
WannaCry 0.10% 0.33% 0.10% 0.36% 0% 0%
圖9:三種勒索病毒SAP與SRF特徵值分布 4.5機器學習分類訓練及測試
本研究使用開源軟體—Weka,針對實驗所得SAP及SRF兩項指標實作機器學習分類 器的訓練與測試,以驗證這兩項數值可作為偵測勒索病的指標,並以決策樹、循序最小 優化演算及簡單邏輯迴歸三種方分類法實作訓練與測試。
分類所用資料集即經實驗所得1,200筆SAP及SRF數據 (A、B主機各遭受三種病毒 攻擊,每種病毒攻擊200次,合計1,200筆資料),並基於實驗結果資料數量,以兩種資 料集比例進行機器學習:第一,訓練及測試資料集各為50% (各600筆),第二,訓練及 測試資料集分為70% (840筆)、30% (360筆)。
1. 決策樹分類法:
Weka重要參數設定,如圖10。
信任度 (Confidence Factor):用於決策樹建立後修剪的參數依據,數值越小代表修 剪越多,本研究設定為0.25。
折數 (Numfold):用於減少錯誤修剪的資料量,本研究設定為3。
最少物件數量 (MinNumObj):控制每個葉子的最小資料數,本研究設定為2。
演算法 (Calibrator):C4.5演算法(Weka名稱為“J48”)。
2. 循序最小優化演算分類法 (SMO):
Weka重要參數設定,如圖11。
參數 (C):複雜參數,本研究設定為1.0。
演算法 (Calibrator):使用Logistic進行。
捨入誤差 (Epsilon):1.0E-12。
使用的核心 (Kernel):Polykernel。
3. 簡單邏輯迴歸分類法:
Weka重要參數設定,如圖12。
啟發式停止 (HeuristicStop):如果此數值大於0,再反覆運算中,如果沒有達到錯誤 的新最小值,則停止LogitBoost演算法,本研究設定為50。
LogitBoost最大反覆運算次數 (MaxBoostinglterations):本研究設定為500。
圖10:使用Weka實作決策樹重要參數設定
圖11:使用Weka實作序列最小優化 (SMO) 重要參數設定
圖12:使用Weka實作簡單邏輯迴歸重要參數設定
本研究以決策樹分類法、序列最小優化演算法及簡單邏輯迴歸分類法進行分類,其
準確率計算公式如式 5 所示,其中 nsamples為病毒樣本數量、𝑦̂為實際病毒類別、𝑦𝑖則代 表演算法分類病毒類別。
𝑎𝑐𝑐𝑢𝑟𝑎𝑐𝑦(𝑦, 𝑦̂) = ∑ (𝑦̂ = 𝑦𝑖)
𝑛𝑠𝑎𝑚𝑝𝑙𝑒𝑠−1
𝑖=0
(5) 經式5計算,訓練資料集與測試資料集比例各為50%時,準確率均在95%以上;訓 練集與測試集分別為70%、30%,準確率更可提高至99%以上,統計如表4。由此可知 本研究以SAP與SRF兩項偵測指標進行機器學習,其可有效分類出不同的勒索病毒種類。
表4:分類準確率統計表
伍、結論
本研究提出 SRF及 SAP兩項特徵值,實驗結果驗證可作為偵測勒索病毒的指標 (未 受攻擊及感染的電腦,SRF及 SAP兩項數值均為 0),並運用機器學習中的決策樹、循序 最小優化 (SMO) 及簡單邏輯迴歸等三項分類演算法,發掘這兩項指的潛在規則,也就 是不同的勒索病毒所衍生出來的 SRF及 SAP,會成對地落在某個數值範內,也因此可以 利用這個特性對勒索病毒做分類。
得到這兩項富含意義的指標性特徵值,在未來的研究方向,除可導入資通安全防護 管 理 中 心 (Security Operation Center, SOC) 作 為 安 全 資 訊 事 件 管 理 系 統 (Security Information and Event Management , SIEM),對於惡意程式攻擊事件警示與回報的閾值 (Threshold);另應可結合入侵預防系統 (Intrusion Prevention System, IPS) 或端點防護系 統,即時掌握企業、組織內部及末端使用者所受威脅,以即時掌控惡意攻擊動態及減少 災損。
資料集比例
分類法 訓練:50%,測試:50% 訓練:70%,測試:30%
決策樹 98.00% 99.40%
循序最小優化 97.84% 99.17%
簡單邏輯迴歸 96.33% 99.17%
平均準確率 97.39% 99.25%
[誌謝]
本研究由國家科學及技術委員會計畫支持,計畫編號111-2221-E-606-013。
參考文獻
[1] Check Point Software Technologies, https://pages.checkpoint.com/cyber-security- report-2021.html (2021/12/10).
[2] A. Omer and S. Refik, “Investigation of possibilities to detect malware using existing tools,” IEEE/ACS 14th International Conference on Computer Systems and Applications, 2017.
[3] VirusTotal, https://www.virustotal.com/gui/home/upload (2022/11/28).
[4] Jotti, https://virusscan.jotti.org (2022/11/28).
[5] Virscan, http://r.virscan.org (2022/11/28).
[6] 台 灣 電 腦 網 路 危 機 處 理 暨 協 調 中 心, https://www.twcert.org.tw/tw/cp-14-4502- 000a2-1.html. (2022/11/28).
[7] 林韶如,“基於網路異常行為與機器學習技術之勒索病毒檢測”,碩士論文,國防 大學理工學院資訊工程學系,2022。
[8] G. Ekta, B. Divya and S. Sanjeev, “Malware analysis and classification: a survey,”
Journal of Information Security, vol.5, no.2, pp.56-64, 2014.
[9] O. Philip, S. Sakir and C. Domhnall, “Evolution of ransomware,” IET Journal, vol. 7, no.5, pp.321-327, 2018.
[10] S. Veronika, A. Gabor and D. Akos, “Introduction of the ARDS—anti-ransomware defense System model—based on the systematic review of worldwide ransomware attacks,” Applied Science, vol. 11, no.13, 2021.
[11] H.C. Lin, P. Wang and W.Q. Hong, “Using signature analyses to construct an ontological model of ransomware,” Communications of the CCISA, vol. 25, no.2, pp.37-58, 2019.
[12] C.V. Bijitha, S. Rohit and H.V. Nath, Secure Knowledge Management in Artificial Intelligence Era, Springer, Singapore, pp.55-68, 2020.
[13] D. Sgandurra, L. Muñoz-González, R. Mohsen and E.C. Lupu, “Automated dynamic analysis of ransomware: benefits, limitations and use for detection,”
https://arxiv.org/abs/1609.03020 (2016/9/10).
[14] The Winlock case – I’m taking bets! ttps://securelist.com/the-winlock-case-im-taking- bets/29623 (2022/11/28).
[15] S.H. Kok, A. Azween, N.Z. Jhanjhi and M. Supramaniam, “Ransomware, threat and
detection techniques: a review,” International Journal of Computer Science and Network Security, vol. 19, no.2, pp.136-146, 2019.
[16] S. Nolen, C. Henry, T. Patrick and K.R.B. Butler, “CryptoLock (and drop it): stopping ransomware attacks on user data,” International Conference on Distributed Computing Systems, 2016.
[17] S.H. Kok, A. Abdullah and N.Z. Jhanjhi, “Early detection of crypto-ransomware using pre-encryption detection algorithm,” Journal of King Saud University - Computer and Information Sciences, vol. 34, no. 5, pp.1984-1999, 2020.
[18] A. Pallavi and S.Vishal, “Network monitoring and analysis by packet sniffing method,”
International Journal of Engineering Trends and Technology, vol. 4, no. 5, pp.2133-2135, 2013.
[19] B. Aishwarya, G. Samala, T.K. Koirala and I.M. Ruhul, “Packet sniffing and network traffic analysis using TCP-a new approach,” Advances in Electronics, Communication and Computing, pp.273-280, 2018.
[20] U. Juraj, “Visual analysis of network packet capture files,” Master’s Thesis, Masaryk University, Czech Republic, 2020.
[21] K. Herleen and G. Naveen, Innovative Data Communication Technologies and Application, Springer, U.S.A., pp.266-275, 2020.
[22] H. Hans and P.H. Swain, “The decision tree classifier: design and potential,” IEEE Transactions on Geoscience Electronics, vol. 15, no. 3, pp.142-147, 1977.
[23] J.C. Platt, “Sequential minimal optimization: a fast algorithm for training support vector machines,” Microsoft Research Technical Report MSR-TR-98-14, U.S.A., pp.1-21, 1988.
[24] A.S. Dominguez, P. Benitez and R.A.R. Gonzalez, “Logistic regression models,”
Allergol Immunopathol, vol. 39, no. 5, pp.295-305, 2011.
[25] M.K. Marisa and P. Alexandra, “Current ransomware threats,” Carnegie Mellon University, Technical Report, AD1110335, pp.1-84, 2020.
[26] Etoday, https://finance.ettoday.net/news/2179744#ixzz7Q2YclPLT (2022/11/28).
[27] A. Maxat, V.G. Vassilakis and M.D. Logothetis, “WannaCry ransomware: analysis of infection, persistence, recovery prevention and propagation mechanisms,” Journal of Telecommunications and Information Technology, vol. 1, pp.113-124, 2019.
[28] Q. Chen and R.A. Bridges, “Automated behavioral analysis of malware- a case study of WannaCry ransomware,” International Conference on Computer Communication and Informatics, 2017.
[作者簡介]
蔡文淙,國防大學國防科學研究所資工組博士生,研究方向為資訊安全及深度學習。
林韶如,國防大學理工學院網路安全在職專班碩士,現任職於國家中山科學研究院,研 究方向為資訊安全及網路封包分析。
劉得民,中華民國網路封包分析協會,現為中華民國網路封包分析協會理事長,研究領 域為網路安全、惡意程式分析及網路封包分析等。
周兆龍,國防大學國防科學研究所博士,現為國防大學理工學院資訊工程學系副教授,
研究領域為資訊安全、深度學習及生物辨識等。