我們怎麼去拒絕這些病毒的入侵我們的電腦呢?有方法。
操作系統的核心加載到內存裡面之後,依照開發廠商的設計,會不斷地維護著自身核心和使用者應用程序的正常運作,這個過程一樣是精巧而脆弱的。此外,由於程序是”人”寫的,若是寫程序的人”亂寫”(無論是有意還是無意的),應用程序有可能會造成操作系統核心程序被破壞而導致當機。
只是一般人時常忘記的是:計算機裡有個很重要的”組件”,稱為”內存”。當使用者按下電源,執行開機程序時,這程序很重要的一個步驟就是:把操作系統的核心”從儲存媒體加載到內存裡面”。
至於病毒呢?
病毒會希望自己能夠有下列能力:
常駐在內存中,把自己偽裝成操作系統的一部分
偽裝的過程中,最好讓任何人、任何軟件都發現不到
盡可能不要干擾原先程序的運作,以免自己被察覺
盡可能用各種方法,把自己(病毒)附身到別人(別台電腦)身上
如果有必要,可以作一些對作者有用(或是好玩)的事情,包括竊取個資、造成破壞……
可執行檔學問多
好,如果病毒要把自身藏到內存中,首先它得讓你去”執行”它。
問題是,哪個人會傻傻執行病毒──如果病毒的額頭上寫著”我是病毒,來喔來喔,來執行我”,那你會去碰它嗎?鐵定不會吧!
所以,病毒的寫作者會想方設法、處心積慮的讓使用者在不知不覺中執行之,以達成”感染”的目的。
所以,”可執行檔”,就成了大部分病毒”寄生”的主要目標了。
所謂的可執行檔,就是我們所說的”程序”、”軟件”,通常這類軟件也是一個(或數個)檔案所構成。前面已經說過,軟件要加載到內存中,才能被使用者所執行、運用之,因此軟件的作者會使用開發工具將”原始程序”編譯成”可執行檔”,然後運送給使用者,讓使用者可以執行之。
以前,可執行檔只有固定幾種格式:擴展名是.COM、.EXE、.BAT的,這些都是可執行檔。到了Windows7時代,這還是沒變。不過,Windows後來引進了很多”比較罕見”的可執行檔案格式。比方說,.DLL是”動態鏈接庫”,它也是一種”必須依附在主程序”底下的一種可執行檔案;.SCR是屏幕保護程序,它也是一種特殊功能的可執行文件;.MSI(WindowsInstallerPackage)通常見於”安裝程序”,但是……它也是一種可執行檔;有些敘述檔,像是.VBS、.JS……,它們也是可執行檔案。
這裡有一個”可執行檔案”的擴展名列表,看到這類擴展名就要小心了,有害的東西就可能藏身於其中。
執行就是最危險的事
問題是,Windows預設會隱藏它認得的檔案的擴展名,所以,老實說,你也不知道你到底執行了什麼。
那也沒關系,各位只要想象:當你在某個圖標上按兩下鼠標左鍵時──你肯定是要執行什麼。
執行個什麼時──你一定要記住:這是我們”使用者絕對要注意的『RedFlag』信號了”。如果有個什麼事情你一定得提高警覺的話,除了”有人問你密碼”這件事情以外,另一件事就是這個了。
所以,你一定要記住:
“執行個啥東西時一定要小心。”
就這麼簡單。
因為,很多病毒會依附在可執行檔案裡面,你”一執行就中毒了”。不僅如此,中毒的計算機沒清干淨前,它們會不斷感染計算機裡的檔案,或是發出病毒信件,或是感染服務器上的其它檔案……而且這類病毒還會修改系統設定,讓使用者”即使發現不對了”的清理工作變得困難──有時幾乎是不可能。
所以,有時候,中毒的計算機非得整個重裝不可,就是因為所有的可執行檔都被感染而無法復原了。
Internet更是”地獄之門”
但是,恐怕還有個真正防不勝防的東西──那就是網頁!
當你用浏覽器去連任意一個網頁,老實說……地獄之門就打開了。因為網頁可以讓你作很多事,執行很多功能──而且大多是自動而你不自知的。正常的網頁當然不會整你,或是讓你中毒……但是,不正常的網頁其實還不少哩!
事實上,各位要知道,浏覽器本身就是個”執行者”,它本身就是被設計成”用來執行各種功能”的工具。不僅如此,操作系統尚有所謂的”兼容性”問題,但是浏覽器本身就被設計成所謂的”跨平台”,最好所有的浏覽器都能有相同的能力,好讓網頁開發者可以寫一個功能──就可以讓全世界所有的使用者都能使用──gosh!世界大同的實現真是莫過於此了。但是,這也讓網頁病毒撰寫者有了可乘之機……有什麼方式會讓這些病毒寫手更省事呢?當然是寫個跨平台的萬用病毒啦!
網頁類病毒的形式很多,有的會利用所謂的”敘述”(t)不斷地彈跳惱人的窗口,有的會偷偷地把病毒塞到你計算機,有的會直接執行一些該死的動作……而且老實說,這類問題要比可執行檔中毒更麻煩,因為使用者根本無法知道。
所以,防毒軟件(或是所謂的InternetSecurity)在這種情況下就異常重要了。
不讓病毒被執行的方法
那麼,能夠只靠使用者的小心就防堵病毒的流竄嗎?我們系統化的想想,每一個環節之下,我們可以做什麼,底下是一些常見的”防堵毒的方法”列舉:
每個程序都要經過某種認證
為了不讓使用者執行到不該執行的髒東西,於是操作系統廠商就規定”你所執行的每個程序都要給它檢查過”。呵呵,你覺得好笑?不,iPhone就是這樣──雖然它本意未必是要防毒,可是這個封閉系統就還相當安全──因為所有軟件上架都要經過核可。
每個程序(只要被認定有危險性)都要使用者同意執行
Windows Vista / Windows7 底下有個UAC,只要判斷你的程序有危險性就會跳出來要你”確定”,這樣會讓病毒”比較難默默的感染你”,只是一般人還沒受其利,可能就氣到先關掉這功能了。但平心而論,要防毒又要方便,這也是某種程度的必要之惡。