第一個利用微軟作業系統序號,算出動態互斥值的惡意程式TreasureHunter,可以判斷受感染電腦中,是否已經存在同家族的惡意程式

根據資訊安全訓練機構SANS近期論壇的一篇文章指出,有一個惡意程式TreasureHunter,改變以往使用Mutex Value(互斥值)辨識是否為同一個家族惡意程式的判別方式,用微軟作業系統的序號,產出獨特又可以判定是否為同一個家族惡意程式的動態互斥值。趨勢科技全球核心技術部門資深協理張裕敏表示,這種動態互斥值的出現,一開始的確讓資安公司難以立即偵測到該惡意程式,但惡意程式的判定仰賴多項指標,互斥值只是其中之一,隨著未來可能有更多惡意程式會使用動態互斥值,資安公司勢必減少仰賴互斥值作為判定惡意程式參考的判定方式。

惡意程式開發者原本就會設計靜態互斥值

張裕敏表示,原本許多惡意程式在開發時,工程師就會在記憶體程式中,標記一個靜態的互斥值,目的就是希望惡意程式一旦感染電腦時,惡意程式可以透過檢查該臺電腦正在執行應用程式的互斥值,就可以判定是否有相同的互斥值,存在該臺受感染的系統中。

張裕敏指出,一旦檢查出該臺受感染的電腦執行程式中有相同的互斥值,表示已經有同一個家族的惡意程式存在該臺電腦中,另外一個新植入的惡意程式就不會執行相關功能。他說:「惡意程式使用這種互斥值,判定是否有其他同家族惡意程式存在同一臺受感染的電腦中,由來已久。」

不過,惡意程式開發者會利用互斥值檢查該臺電腦是否已經有類似的惡意程式,對資安專家和防毒軟體而言,也同樣可以利用互斥值確認該臺電腦是否有類似的惡意程式。因此,先前就有許多惡意程式開發者討論,如何在每一臺電腦中都算出一個獨特的互斥值,既可以確認有同家族的惡意程式,卻又可以迴避資安公司防毒軟體的偵測。

利用微軟作業系統序號算出動態互斥值

「這樣的方法理論上不難,」張裕敏表示,但一直到TreasureHunter這個惡意程式,才真正實作出在不同電腦中,產出不同的動態互斥值,卻又可以判斷是同一個家族的惡意程式。

他指出,TreasureHunter惡意程式作者利用每一臺電腦都有不同微軟作業系統的序號,將同一個家族的惡意程式,算出一個在不同電腦、同一個惡意程式家族特有的互斥值。該惡意程式植入受感染的電腦中,只需要檢視這個動態互斥值,就可以確認同一臺電腦是否已經有同一個家族的惡意程式。

「目前只有TreasureHunter這個惡意程式可以產生動態的互斥值,」張裕敏說:「該惡意程式剛出現時,這個動態互斥值的確讓許多防毒軟體的病毒偵測率下降。」

不過,老狗玩不出新把戲,他認為,當防毒軟體公司意識到惡意程式作者,會在記憶體產生這種新的動態互斥值後迴避偵測後,資安公司就會減少偵測互斥值判定是否為惡意程式的權重,再搭配其他的特徵,判定是否為惡意程式。

9大步驟檢查是否有TreasureHunter惡意程式

TreasureHunter惡意程式本身就是一個執行檔,可以在Windows 2000、Windows ME、Windows XP、Windows Vista、Windows 7和Windows 8等作業系統中執行。為了確保電腦安全性,張裕敏表示,不開啟任何可疑的執行檔是基本的安全防護措施。

不過,美國消費性軟體業者Solvusoft也針對TreasureHunter提出9大步驟,修復Treasurehunter.exe的錯誤。

步驟1:修復註冊表單(Registry)中,與TreasureHunter相關連的錯誤;步驟2:在疑似受感染電腦,進行完整的惡意程式掃描;步驟3:清理電腦系統中,包括臨時文件夾和文件夾的垃圾,並進行磁碟清理;步驟4:更新電腦裝置的驅動程式。

步驟5:進行微軟Windows系統還原,並回復最近的系統變更;步驟6:移除並重新安裝TreasureHunter相關的應用程序;步驟7:執行微軟Windows系統文件檢查器("sfc /scannow");步驟8:安裝所有可以安裝的微軟更新程式;步驟9:執重新安裝乾淨的微軟作業系統。

熱門新聞

Advertisement