Kate Li (Taiwan)的部落格

首頁

基於用戶數據改變檢測並封锁勒索軟件–arkteam

作者 alkan 時間 2020-03-03
all

作者:{Persist}@ArkTeam

原文作者:Nolen Scaife, Henry Carter, Patrick Traynor, Kevin R.B. Butler

原文題目:CryptoLock(and Drop It):Stopping Ransomware Attacks on User Data

原文來源:2016 IEEE 36th International Conference on Distributed Computing Systems

加密勒索軟件(又名加密勒索軟件)試圖通過將其檔案作為人質來勒索用戶。這種勒索軟件不同於其他類型的惡意軟件,因為它的影響只能通過遠程攻擊者持有的加密金鑰來逆轉。用戶只能通過使用匿名支付機制(例如比特幣)才能重新獲得他們的檔案。這類惡意軟件已經存在了十多年,其日益廣泛的使用現在每年造成數千萬美元的消費者損失。越來越多的執法機构也成為勒索軟件的受害者,失去了寶貴的案件檔案。

圖1勒索軟件TeslaCrypt

防禦勒索軟件主要難點有三個,首先這種惡意軟件容易上手,導致攻擊者成本很小;其次通過行為難以區分是否為惡意軟件,最主要的是主要面向小白用戶(從不會資料備份)。

主要有三類勒索軟件:

B類:繼承A,把檔案移出,幹完活再移進來。

C類:打開文件,讀檔案,加密成一個新的檔案,删除原來的檔案。(獨立的讀寫流)

本文實現了第一個基於用戶數據變化的檢測系統,目的不是一個檔案都不損失,而是損失一部分來發現惡意行為,終止行為,是基於Windows平臺的。

本文提出了三個用來檢測勒索軟件的標識:

檔案相似性:加密前後的檔案差异很大,使用相似性保留函數sdhash來給相似性打分,0-100分,0表示一點都不一樣,100表示完全一樣

信息熵:加密或壓縮後的檔案熵值很高

CroptoDrop維護了一個行程的”信譽”分數板,當一個行程觸發某個識別字的時候就給它加分,一旦達到某個可疑的閾值,掛起行程,請求用戶的許可權再進行操作。

通過實驗發現沒有合法行程會觸發三個名額,打分機制使該工具能够保持在得分閾值低的情况下不會引起顯著的誤報,研究表明單一名額檢測機制的情况下有很高的幾率會產生誤報,三個名額的情况下就低得多。CryptoDrop的可靠性由ransomware的典型行為加强,這種行為經常觸發所有三個主要指標

本文利用了一個使用用允許介入行程和檔案系統之間的調用的驅動程序的Windows內核。這樣的方法使該工具不僅可以檢測何時檔案被更改,也是為了防止機制被惡意軟件修改。這種方法也防止了干擾磁片加密系統(例如BitLocker),它們在檔案系統和磁片之間進行操作。

熵量測:Ransomware經常寫付款訓示。這些小的低熵寫入過度影響熵的平均值。所以加了一個權重,這個權重確保了低熵和小的讀/寫操作不會過度的影響平均值。

當受保護的檔案被讀取或寫入時,計算出執行操作過程中該操作涉及的位元組的熵更新讀寫操作的加權平均數。然後計算讀寫差值,差值超過0.1,說明行為可疑。

這種量測是無狀態的,每次超過閾值的讀寫原子操作都會發生。儘管閾值相比熵值很小,但是它提供了一種檢測小的熵值新增的壓縮檔操作的解決方法。

圖2 CroptoDrop的結構

圖3信息熵計算公式