病從口入,說一千道一萬,是否中毒,不在於你是否安裝了殺毒軟件,而是你用電腦的習慣。
常聽到一些”比較專業”的IT人員說,”使用者裝了防毒軟件也就算了,但是一點防毒的概念都沒有,以為這樣就不會中毒嗎?”
要想不中毒,更重要的是,要更進一步了解病毒的運作原理,以及防毒軟件的保全之道。在這裡,希望對於一般企業的計算機使用者,能提供一些夠用的”防毒概念”。也許不能”保證”什麼,但至少你對於計算機發生的事情能夠有個梗概性的認識吧!
精巧脆弱的開機程序
用計算機都得先開機,從打開電源一直到操作系統加載完成,這就是俗稱的”開機程序”。由於病毒大多會設法讓自己成為”開機程序”的一部分(以便寄生並感染),所以你得先知道這整個程序有哪些步驟:
1.電源開啟,如果硬件一切正常則進行下一個步驟
2.BIOS(基本輸入/輸出系統)執行例行開機檢查,然後以預設的儲存裝置接管開機程序
3.依照業界公認的規格,預設的開機裝置(通常是硬盤機)開始進行軟件開機程序,依序加載操作系統的核心、驅動程序……
4.操作系統核心加載後,還可以依據設定,加載使用者指定的各種常駐程序(防毒軟件、IM軟件……) 上述的每一個開機程序中,從這一個步驟轉到下一個步驟,都會留下一個”掛鉤點”。比方說,主機板上的BIOS系統要把執行儲存媒體的開機程序,它會從固定的位置去執行開機命令,這固定的位置是哪裡?我們一般人不用知道,但這位置鐵定是公開的規格。
所以,寫操作系統的人知道儲存媒體開機的位置,寫磁盤維護程序的人也知道,寫工具程序的人知道,而寫病毒的人……當然也知道,所以就有所謂的”開機型病毒”。不過,現代這種”開機型病毒”很罕見了,主要是因為開機後,加載的操作系統都相當龐大且復雜,這類病毒難以在這麼復雜的開機狀況下還能正常運作。目前大部分的病毒,大多選擇在操作系統這一塊進行破壞。 不能開機的可能性有……
不管是 Windows、MacOS、Linux還是BSD,操作系統的起始加載都是由精巧的循序步驟所構成,一環接著一環。操作系統通常必須設定處理器的運作模式,加載系統核心、驅動程序和繪圖接口,然後加載常駐程序,最後再把使用權交給使用者。
如果這一連串”精巧”卻也”脆弱”的過程出了一點小差錯,系統加載不能,使用者就會說”啊我這台電腦掛了/當機了/不能開了/死掉了……種種說法,不一而足: 驅動程序出了問題核心程序出了問題 儲存OS核心程序的磁盤出了問題 使用者的常駐程序出了問題只要有一個小環節出錯,就可能讓操作系統無法正常加載──幸好這種狀況不會常常發生。 到此為止,上述的概念聽起來都似乎很簡單? 請引進”內存”的概念無論是哪個操作系統,等開機程序完成後,使用者就可以執行各種應用軟件。比方說,你可以執行浏覽器、文書處理程序、影片播放程序……,具體的行為就是用鼠標在應用程序的圖標上,連續按兩下鼠標左鍵,是的,就是這麼的”easy”。
只是一般人時常忘記的是:計算機裡有個很重要的”組件”,稱為”內存”。當使用者按下電源,執行開機程序時,這程序很重要的一個步驟就是:把操作系統的核心”從儲存媒體加載到內存裡面”。 操作系統的核心加載到內存裡面之後,依照開發廠商的設計,會不斷地維護著自身核心和使用者應用程序的正常運作,這個過程一樣是精巧而脆弱的。此外,(電腦知識網 www.pc6c.com)由於程序是”人”寫的,若是寫程序的人”亂寫”(無論是有意還是無意的),應用程序有可能會造成操作系統核心程序被破壞而導致當機。至於病毒呢?
病毒會希望自己能夠有下列能力: 常駐在內存中,把自己偽裝成操作系統的一部分偽裝的過程中,最好
讓任何人、任何軟件都發現不到盡可能不要干擾原先程序的運作,以免自己被察覺盡可能用各種方法,把自己(病毒)附身到別人(別台電腦)身上 如果有必要,可以作一些對作者有用(或是好玩)的事情,包括竊取個資、造成破壞……
可執行檔學問多
好,如果病毒要把自身藏到內存中,首先它得讓你去”執行”它。問題是,哪個人會傻傻執行病毒──如果病毒的額頭上寫著”我是病毒,來喔來喔,來執行我”,那你會去碰它嗎?鐵定不會吧! 所以,病毒的寫作者會想方設法、處心積慮的讓使用者在不知不覺中執行之,以達成”感染”的目的。所以,”可執行檔”,就成了大部分病毒”寄生”的主要目標了。
所謂的可執行檔,就是我們所說的”程序”、”軟件”,通常這類軟件也是一個(或數個)檔案所構成。前面已經說過,軟件要加載到內存中,才能被使用者所執行、運用之,因此軟件的作者會使用開發工具將”原始程序”編譯成”可執行檔”,然後運送給使用者,讓使用者可以執行之。
以前,可執行檔只有固定幾種格式:擴展名是.COM、.EXE、.BAT的,這些都是可執行檔。到了Windows7時代,這還是沒變。不過,Windows後來引進了很多”比較罕見”的可執行檔案格式。比方說,.DLL是”動態鏈接庫”,它也是一種”必須依附在主程序”底下的一種可執行檔案;.SCR是屏幕保護程序,它也是一種特殊功能的可執行文件;.MSI(WindowsInstallerPackage)通常見於”安裝程序”,但是……它也是一種可執行檔;有些敘述檔,像是.VBS、.JS……,它們也是可執行檔案。
這裡有一個”可執行檔案”的擴展名列表,看到這類擴展名就要小心了,有害的東西就可能藏身於其中。