開源的殺毒軟體

(一)、ClamWin Free Antivirus 開源反病毒軟體 GPL協議

SourceForge頁面:http://sourceforge.net/projects/clamwin

正如其名,這是款運行於Windows下的軟體,我想下載安裝包、運行Setup之類的就不用多說了。由於ClamWin本身是不帶病毒資料庫的(整個安裝文件才5M多)所以安裝完畢後可能會(根據你安裝時的選項)自動連接Internet去下載病毒庫:

放心,它的病毒庫也不大,稍等片刻就OK了:

當病毒庫下載完成後,就可以開始使用ClamWin AntiVirus免費大餐了:雙擊系統托盤區的ClamWin圖標可以彈出ClamWin的主界面:

很簡潔對吧?工具欄只有三個圖標。第一個是Preferences也就是我們常說的「首選項」:

在General選項夾中可以選擇ClamWin如何處置被感染的文件(Infected Files),這裡有三個選項:分別為

Report Only(僅僅報告,提醒我們一下);

move(刪除,注意不是刪除到回收站,所以謹慎使用哦);

Move To Quarantine Folder(移動到隔離區,可以自己選擇隔離文件夾的路徑)

你可能說怎麼就這三個選項啊,他不能對感染病毒的文件進行「殺毒/解毒」嗎,我必須遺憾地告訴你,沒有。其實也不必失望,你可以回憶一下,那些所謂的「殺毒/解毒」功能到底能有多少用處?能不能殺乾淨?就我個人的經驗來說,電腦病毒重在「防」而不是「殺」,一旦預防工作沒有做好,有文件被感染了,殺毒軟體又有幾成勝算可以真正把病毒「殺」得乾淨?就算殺毒軟體報告全部殺掉了,我們自己的心中又有幾分的信任?那些被「解毒」的程序又有幾個能正常運行?到最後我們還不是得格了重裝?所以我認為反病毒軟體的「殺/解毒」功能形同雞肋,有沒有都可以的。

然後看一下在線升級功能:

ClamWin可以根據我們的設置定期到clamav.net的病毒資料庫下載最先的病毒特徵碼,以保持其自身的「戰鬥力」。

定期自動掃描:

掃描壓縮包內的病毒:

其他的選擇我就不一一貼圖了,只要你使用過別的殺毒軟體,你就會發現這些設置都差不多。

第二個工具欄圖標是「在線升級」功能,點擊這個圖標就可以在線升級病毒庫。

第三個圖標就是病毒掃描了:

選定一個驅動器或雙擊打開該驅動器選擇一個文件夾,然後開始掃描:

ClamWin還和Windows的資源管理器有機結合,可以方便地使用右鍵菜單對選中的文件進行病毒掃描:

如果掃描過程中發現了被感染的文件,ClamWin會按照我們上面設定的方式進行處理(報告,刪除,隔離)

下面是我用EICAR測試的結果:

同時托盤區也會有氣球提示

平時使用時,也可以用滑鼠右擊托盤區的ClamWin圖標,可以彈出右鍵菜單,進行快捷操作:

ClamWin最大的缺陷是沒有「即時掃描」功能,也就是說我們必須主動調用ClamWin來掃描可疑的文件、文件夾、磁碟,而ClamWin不會在後台自動過濾我們正在操作的文件。你可能又失望了,沒有即時掃描功能,還怎麼「防」病毒啊!不要失望,ClamWin雖然不能做到,但是它有一個好鄰居、好朋友、好搭檔WinPooch。WinPooch可是專業搞系統監控的「看家狗」哦。呵呵,「術業有專攻」嘛,很多開源軟體都是這樣。

(二)Winpooch Watchdog 忠實的系統「看家狗」 GPL協議

SourceForge頁面:http://sourceforge.net/projects/winpooch

正如其名,WinPooch是一條忠實的「看家狗」,說其忠實,是因為它使用API Hook技術,可以對幾乎所有的可疑操作進行監控、報告或阻止。

初次安裝完畢後WinPooch會自動檢查你的機器上是否安裝了ClamWin,如果正確安裝了ClamWin了,他會自動把ClamWin作為它的Antivirus(要不怎麼說它是ClamWin的好鄰居、好朋友、好搭檔):

有了WinPooch為ClamWin保駕護航,我們不怕了,這次直接雙擊運行EICAR測試文件:

我們的看家狗會自動調用ClamWin進行病毒掃描,由於EICAR是標準的測試文件,任何合格的反病毒軟體都應該有所反應,ClamWin也不例外。於是狗狗發現了敵情,一聲大叫「汪」,便跳了出來:

注意,此時我們面臨三個選擇Accept, Feign,或Reject。點擊後面兩個按鈕(「Feign」或「Reject」)可以阻止該操作,但是效果稍有差別。Reject的話,Windows會報告一個錯誤:

---------------------------

EICAR.com

---------------------------

Windows 無法訪問指定設備、路徑或文件。您可能沒有合適的許可權訪問這個項目。

---------------------------

確定

---------------------------

而點擊Feign的話則不會報告這個錯誤(文件同樣沒有被運行)。

但是有的時候我們很清楚某個「病毒文件」實際上是正常文件,就比如我現在運行的這個ERICA.com文件,只是一個用於測試反病毒軟體的文本文件而已。這種情況下我們就可以點擊第一個按鈕Accept,允許這個操作。

如果我們在40秒內沒有進行任何操作,則默認為Reject。

WinPooch的所有操作都是基於過濾規則(filters)的,我們來看一下它的filters:雙擊系統托盤中的WinPooch圖標,打開主界面。

WinPooch的一個過濾器(filter)是由右上方的一個進程文件路徑(Program)和對它的若干條規則組成的。點擊上面一個「+」可以添加一個Program,選擇該Program然後點擊下面的「+」可以給它制定一條規則,支持通配符*和?。WinPooch的Filter添加有點麻煩,我們在添加自定義Filter之前還是先來分析一下它的默認Filters:

比如下面幾條規則:

由於是應用於「*」即所有進程的,所以,第一行可以解釋如下:「當任何進程(「*」)新建或更改(Write)「C:Windows」系統目錄下的任何dll文件時,彈出對話框詢問(Ask),如果在規定的時間內沒有做出選擇就默認拒絕該操作(default Reject),並在日誌文件記錄(Log)。」第二~六條和第一條類似,只是分別針對exe,bat,ocx,pif和src文件的。後面的就不一一解釋了。

把右下方的ListView滾動到最後,可以看到這樣一條規則:

Sys::Execute * Accept Log Virus scan

它的含義為在任何進程執行任何其他進程(*)時,調用ClamWin進行病毒掃描(Virus scan),如果沒有病毒就允許該操作(Accept),否則提示用戶處理。該動作及處理結果還要記錄入日誌(Log)。這也是WinPooch和ClamWin之所以能合作的根本原因了。

除了修改Windows目錄文件、程序被病毒感染外,WinPooch還可以監控一些危險性操作,比如修改註冊表(Reg::SetValue)、監聽特定埠(Net::Listen)、通過某個埠建立網路連接(Net::Connect)等。WinPooch的所有過濾規則都是可以自定義的,具體可以打開WinPooch的Filters自己摸索一下。

由於WinPooch的過濾規則可以自定義,所以他要比一般的監控軟體更靈活(當然配置起來也會有一定的難度)。比如默認情況下,我們修改了系統的「環境變數」(「我的電腦」右鍵,「屬性」,「高級」),WinPooch就會報警:

如果由於某些原因,需要頻繁地修改這個,每次都要手工去點「確定」的確比較煩。對於這種情況,我們可以點擊「Other options」中的「New filter」按鈕,新建一個Filter如下:

然後,我們再通過「我的電腦」右鍵菜單修改「環境變數」,WinPooch就不會跳出來煩我們了,而是在後台默默記錄。

再舉一個例子,如果你使用過RealPlayer,你可能知道,每次啟動RealPlayer後都會有一個realsched.exe進程啟動並駐留系統。通過WinPooch可以禁止該進程的啟動:

然後,選中新加的Rule,使用上箭頭圖標把它移動到「Sys::Execute *」規則之上防止被該通配符規則屏蔽就可以了:

然後看一下這兩個軟體的內存佔用:

怎麼樣?這個開源套餐還算豐盛吧?是不是心動了?趕快下載安裝自己體驗吧:)另外,如果你是C/C++或Python程序員,你也可以為它們出一份力的哦,「吃水不忘挖井人」嘛!


推薦閱讀:

這半個月,我用Python爬蟲做了一個開源搜索引擎
2018上半年GitHub上最熱門的開源項目
開源跨平台效率軟體 Cerebro
2017年免費可商用字體大全(附打包下載)
Top10機器學習開源項目發布,歷時一個月評出 | 附GitHub地址

TAG:軟體 | 開源 | 殺毒軟體 | 殺毒 |