Removable Malware Removal 工具介紹

Last Update : 11 / 04 / 2009 By DarkRanger .


下載

簡介

對,它不是

特點

程式運作原理

程式更新紀錄

一些問答



下載

目前最新版本為:v1.6 更新日期為:11 / 04 / 2009

下載區連結

簡介


您是否曾碰過一些狀況:例如開啟隨身碟時擔心自己的電腦是否會中毒?或者自己的隨身碟拿去插朋友電腦時,導致對方電腦中毒而深感抱歉?

Removable Malware Removal
(簡稱 r-m-removal)是 DR 撰寫的一支針對隨身碟(可移除式磁碟)的掃毒工具,作業平台是 Windows。
r-m-removal 強調操作簡易、有效判斷,只要在電腦插入隨身碟後,執行此工具就可將具有危險性的惡意程式從隨身碟中清除。

和其它隨身碟掃毒工具不同的是:
r-m-removal 的 判斷規則並不是藉由蒐集病毒檔名甚至雜湊演算的方式,而是根據常見的惡意檔案散佈行為,反推敲出哪些檔案會具有危險性並將其刪除。其實惡意程式被執行以及 寫入隨身碟的方式相當一致,例如絕大多數是藉由隱藏的 autorun.inf 發作,再去呼叫根目錄或隱藏目錄下的惡意執行檔。因此 DR 認為從檔案屬性以及目錄結構的特徵去建立規則、判斷惡意檔案,可以最大程度涵蓋所有差異狀況,並且此方法並不需要花大量時間維護、更新所謂的病毒資料庫即 可發揮作用。

對,它不是

首先要說明的是:r-m-removal「不是」中毒系統的解毒工具,此工具是針對隨身碟做掃毒,它不負責任何 Windows 系統本身的清除,網路上已有不少針對中毒系統的隨身碟掃毒工具,而 r-m-removal 的應用目的並不在此。

事 實上,惡意程式感染系統磁碟的變數狀況遠遠大於感染隨身碟的狀況,因此若針對系統磁碟做自動化掃毒工具,其成效只有兩種可能:一是它將無法完善處理所有變 數狀況,造成辨識率降低,二是它的規則將趨於暴力,造成誤判性(與環境不相容性)提高,兩種可能都會降低使用者對於該工具執行結果的信賴程度。

若使用網路上那些自動化系統掃毒工具仍無法拯救您的中毒問題,DR 的實質建議是找有相關資安維護經驗的人協助,才是上策。

特點

(1)程式小、執行快速、操作簡易,使用者只需在插入隨身碟後執行 r-m-removal 即可自動化處理完畢。

(2)程式結構單純,它可在任何的權限狀況下執行,並且不會和任何資安軟體相衝突。

(3)「零風險」是  r-m-removal 堅持的設計目標之一,使用者無須擔心使用  r-m-removal 會導致資料或者系統的損毀。

(4)開放原始碼,可以自行增強、修改功能。

(5)最後,它很有效(它很努力去達到這個特點)

程式運作原理

這個段落並不只是幫助使用者更加瞭解 r-m-removal,也由於 DR 知道自己在原始碼中並沒有留下太多註解,因此這個段落還可以讓想修改原始碼的人,對其程式原理大概有個認識。

(1)磁碟代號的搜尋與判斷是利用 Windows API 達成。

(2)所有磁碟目錄、檔案及其屬性皆是呼叫 Windows shell 指令(命令行指令)以取得,然後輸出至文字檔。

(3)由程式讀取文字檔後做邏輯判斷。

(4)最後將符合特徵的檔案用 shell 指令刪除。

程式更新紀錄

v1.6 - 11 / 04 / 2009
- 規則更改:移除 *.inf 掃描,只掃描 autorun.inf
- 新規則:autorun.inf 會被辨認是否可讀取,若無法讀取則略過處理,因為無法被 Windows 讀取即表示它沒有威脅性,
  並且可能是由特定防毒工具所產生的。
- 臭蟲修正:執行檔掃描現在可排除有副檔名的目錄(dir 參數更改)
- 部份無用的程式碼清除

v1.5 - 04 / 10 / 2009

- 改用繁體中文介面
- 新規則:回報(但不刪除)任何位於磁碟根目錄中的可執行檔
- 一個臭蟲修正

v1.4 - 04 / 09 / 2009
- 新規則:刪除任何位於隱藏目錄中的可執行檔
- 部份程式碼重寫

v1.3 - 02 / 09 / 2009
- 新規則:刪除任何與隱藏目錄同名的可執行檔

v1.2 - 04 / 21 / 2008
- 納入除了系統磁碟外的其它固定磁碟(包含隨身硬碟)
- 簡單的規則增強

v1.1 - 02 / 28 / 2008
- 修正一次掃描多個隨身碟的迴圈臭蟲

v1.0 - 01 / 20 / 2008
- 首次(穩定)發佈版本

一些問答

Q:防治隨身碟惡意程式的推薦方案?

A:當然首先 DR 會毛遂自己的 r-m-removal……可以有效避免隨身碟惡意程式傷害到自己或者傷害到別人。再來 DR 強烈建議將 Windows 的  Autorun 功能關閉,Autorun 曾經是隨身碟惡意程式的唯一觸發方式,直至現今仍堪稱是主流。

有 安裝防毒軟體當然很好,但 DR 向來認為防毒軟體不是系統安全的絕對必要方案,並且就 DR 所知,目前防毒軟體普遍對於隨身碟惡意程式的抵擋並不理想,很多時候是等到惡意程式成功發作了,防毒軟體才依其結果做出判斷及處置。無論如何,應當培養一 個觀念:使用者操作上的警覺心遠比防毒軟體來得重要且有效。

Q:有什麼辦法可以讓隨身碟無法被寫入病毒?

A:撇開網路上流傳的那些錯誤方法不談,DR 認為真正有效的方法有兩種:一是將整個磁碟加密,二是更換成 Windows 本身不支援的檔案系統,但兩者都會犧牲掉便利性。

自 行建立唯讀的 autorun.inf 檔案或目錄是網路上流傳的錯誤方法之一,之所以錯誤是因為病毒要強制移除該檔案、目錄或者拿掉唯讀屬性都非常容易。然而 DR 最近發現有一種從檔案系統(FAT、NTFS 之類)著手的方案,可在隨身碟上建立完全無法被 Windows 讀取的 autorun.inf,無法讀取即表示 Autorun無法生效,這類的實作方案例如 Panda USB Vaccine,DR 認為這方案是有效的,除非開始有病毒大費周章從檔案系統去解決它。不過這畢竟是針對 Autorun 的防毒,DR 前面也提到 Autorun 現在不是隨身碟病毒的唯一觸發方式。

Q:從更新紀錄看來,r-m-removal 也出現過臭蟲、也會有新規則被加入,它真的是一個有效方案嗎?若有惡意程式刻意迴避 r-m-removal 的規則判定怎麼辦?

A:DR 自己也是 r-m-removal 的使用者,以事實經驗論,一是 r-m-removal 確實解決了 DR 很多麻煩,二是它也真的發生過規則紕漏,兩者都是客觀的事實,使用者可以自行斟酌。

DR 也很明白,若真的有惡意程式打算迴避 r-m-removal 的規則判定 - 這當然可以做到,但並不需要過度擔心,因為這只會讓惡意程式更加難以散佈。r-m-removal 就好比是躲在暗巷的殺手,專殺那些走暗巷的不法份子,若這些不法份子決定改走大路,反而容易被警察就地正法。進一步解釋的話,r-m-removal 的主要判斷依據就是檔案的「隱藏性」和「偽裝性」,惡意程式必須拿掉這兩樣特性才能逃過 r-m-removal 的追殺,但拿掉後反而更容易被使用者直接察覺。

Q:在中毒的系統上使用 r-m-removal 是否至少可以確保拿出去的隨身碟安全無虞?

A:不盡然,這仍然有風險,惡意程式還是有可能在使用者執行 r-m-removal 後和卸除隨身碟前的間隔裡進行寫入,實質的建議是不要把中毒系統放著不管。

Q:如果執行完 r-m-removal 後發現隨身碟裡有目錄不見了,是怎麼回事?

A:r-m-removal 沒有任何刪除目錄的程序,該隨身碟可能中了將自身偽裝成目錄的惡意程式,而真正的目錄被惡意程式隱藏了。找台乾淨的系統將隱藏目錄顯示出來即可。

Q:r-m-removal 的「零風險」目標如何影響實際的程式撰寫?

A: 比方說 r-m-removal 會直接略過系統磁碟的掃描,這樣可以完全避免 Windows 系統檔案受到誤判的可能。然後當 r-m-removal 處理可疑的隱藏目錄時,並不是直接將目錄刪除,而是將隱藏目錄中的可疑執行檔找出來刪除,這樣的規則可以避免一些被惡意程式所隱藏的正常目錄遭到不當刪 除。另外 v1.5 版的新功能之一是:將所掃描到不完全符合特徵、但需要提醒使用者的可疑檔案列出來,而不給予自動刪除。

還有一個原始碼中有保留、但實際執行時感受不到的是:其實 r-m-removal 對 NTDETECT.COM 這個隱藏系統元件是略過處理的,這段程式碼之所以感受不到是因為系統磁碟預設就是排除掉的,所以沒有影響。

Q:有沒有可能將 r-m-removal 改寫成常駐且具有即時掃描功能?

A: 寫成常駐很容易,但常駐一定要有即時掃描,不然就沒意義了。要達成即時掃瞄若不是用 API hooking 的技術,頂多就是用更多的迴圈去組合出類似的功能。雖然這聽起來很有趣,但 DR 目前仍覺得非必要,養成開啟隨身碟前先執行 r-m-removal 的習慣,既快速又省資源吧。

Q:任何關於 r-m-removal 的問題與意見回報?

A:DR 非常樂意接受這樣的訊息,若有關於隨身碟惡意程式的資訊,也樂於接收,而且非常需要!





Back to DarkRanger.no-ip.org