如何不讓病毒執(zhí)行
如何不讓病毒執(zhí)行
以下是OMG小編為大家收集整理的文章,希望對(duì)大家有所幫助。
我常聽到一些”比較專業(yè)”的IT人員說,”使用者裝了殺毒軟件也就算了,但是一點(diǎn)防毒的概念都沒有,以為這樣就不會(huì)中毒嗎?”
其實(shí)不然,要想不中毒,更重要的是,要更進(jìn)一步了解病毒的運(yùn)作原理,以及防毒軟件的保全之道。在這里,希望對(duì)于一般企業(yè)的計(jì)算機(jī)使用者,能提供一些夠用的”防毒概念”。也許不能”保證”什么,但至少你對(duì)于計(jì)算機(jī)發(fā)生的事情能夠有個(gè)梗概性的認(rèn)識(shí)吧!
精巧脆弱的開機(jī)程序
用計(jì)算機(jī)都得先開機(jī),從打開電源一直到操作系統(tǒng)加載完成,這就是俗稱的”開機(jī)程序”。由于病毒大多會(huì)設(shè)法讓自己成為”開機(jī)程序”的一部分(以便寄生并感染),所以你得先知道這整個(gè)程序有哪些步驟:
1. 電源開啟,如果硬件一切正常則進(jìn)行下一個(gè)步驟
2. BIOS(基本輸入/輸出系統(tǒng))執(zhí)行例行開機(jī)檢查,然后以預(yù)設(shè)的儲(chǔ)存裝置接管開機(jī)程序
3. 依照業(yè)界公認(rèn)的規(guī)格,預(yù)設(shè)的開機(jī)裝置(通常是硬盤機(jī))開始進(jìn)行軟件開機(jī)程序,依序加載操作系統(tǒng)的核心、驅(qū)動(dòng)程序……
4. 操作系統(tǒng)核心加載后,還可以依據(jù)設(shè)定,加載使用者指定的各種常駐程序(殺毒軟件、IM軟件……)
上述的每一個(gè)開機(jī)程序中,從這一個(gè)步驟轉(zhuǎn)到下一個(gè)步驟,都會(huì)留下一個(gè)”掛鉤點(diǎn)”。比方說,主機(jī)板上的BIOS系統(tǒng)要把執(zhí)行儲(chǔ)存媒體的開機(jī)程序,它會(huì)從固定的位置去執(zhí)行開機(jī)命令,這固定的位置是哪里?我們一般人不用知道,但這位置鐵定是公開的規(guī)格。
所以,寫操作系統(tǒng)的人知道儲(chǔ)存媒體開機(jī)的位置,寫磁盤維護(hù)程序的人也知道,寫工具程序的人知道,而寫病毒的人……當(dāng)然也知道,所以就有所謂的”開機(jī)型病毒”。
不過,現(xiàn)代這種”開機(jī)型病毒”很罕見了,主要是因?yàn)殚_機(jī)后,加載的操作系統(tǒng)都相當(dāng)龐大且復(fù)雜,這類病毒難以在這么復(fù)雜的開機(jī)狀況下還能正常運(yùn)作。目前大部分的病毒,大多選擇在操作系統(tǒng)這一塊進(jìn)行破壞。
不能開機(jī)的可能性有……
不管是windows、Mac OS、Linux還是BSD,操作系統(tǒng)的起始加載都是由精巧的循序步驟所構(gòu)成,一環(huán)接著一環(huán)。操作系統(tǒng)通常必須設(shè)定處理器的運(yùn)作模式,加載系統(tǒng)核心、驅(qū)動(dòng)程序和繪圖接口,然后加載常駐程序,最后再把使用權(quán)交給使用者。如果這一連串”精巧”卻也”脆弱”的過程出了一點(diǎn)小差錯(cuò),系統(tǒng)加載不能,使用者就會(huì)說”啊我這臺(tái)電腦掛了/當(dāng)機(jī)了/葛屁了/不能開了/死掉了……種種說法,不一而足:
● 驅(qū)動(dòng)程序出了問題
● 核心程序出了問題
● 儲(chǔ)存OS核心程序的磁盤出了問題
● 使用者的常駐程序出了問題
只要有一個(gè)小環(huán)節(jié)出錯(cuò),就可能讓操作系統(tǒng)無法正常加載──幸好這種狀況不會(huì)常常發(fā)生。
到此為止,上述的概念聽起來都似乎很簡(jiǎn)單?
請(qǐng)引進(jìn)”內(nèi)存”的概念
無論是哪個(gè)操作系統(tǒng),等開機(jī)程序完成后,使用者就可以執(zhí)行各種應(yīng)用軟件。比方說,你可以執(zhí)行瀏覽器、文書處理程序、影片播放程序……,具體的行為就是用鼠標(biāo)在應(yīng)用程序的圖標(biāo)上,連續(xù)按兩下鼠標(biāo)左鍵,是的,就是這么的”easy”。
只是一般人時(shí)常忘記的是:計(jì)算機(jī)里有個(gè)很重要的”組件”,稱為”內(nèi)存”。當(dāng)使用者按下電源,執(zhí)行開機(jī)程序時(shí),這程序很重要的一個(gè)步驟就是:把操作系統(tǒng)的核心”從儲(chǔ)存媒體加載到內(nèi)存里面”。
操作系統(tǒng)的核心加載到內(nèi)存里面之后,依照開發(fā)廠商的設(shè)計(jì),會(huì)不斷地維護(hù)著自身核心和使用者應(yīng)用程序的正常運(yùn)作,這個(gè)過程一樣是精巧而脆弱的。此外,由于程序是”人”寫的,若是寫程序的人”亂寫”(無論是有意還是無意的),應(yīng)用程序有可能會(huì)造成操作系統(tǒng)核心程序被破壞而導(dǎo)致當(dāng)機(jī)。
至于病毒呢?
病毒會(huì)希望自己能夠有下列能力:
● 常駐在內(nèi)存中,把自己偽裝成操作系統(tǒng)的一部分
● 偽裝的過程中,最好讓任何人、任何軟件都發(fā)現(xiàn)不到
● 盡可能不要干擾原先程序的運(yùn)作,以免自己被察覺
● 盡可能用各種方法,把自己(病毒)附身到別人(別臺(tái)電腦)身上
● 如果有必要,可以作一些對(duì)作者有用(或是好玩)的事情,包括竊取個(gè)資、造成破壞……
可執(zhí)行檔學(xué)問多
好,如果病毒要把自身藏到內(nèi)存中,首先它得讓你去”執(zhí)行”它。
問題是,哪個(gè)人會(huì)傻傻執(zhí)行病毒──如果病毒的額頭上寫著”我是病毒,來喔來喔,來執(zhí)行我”,那你會(huì)去碰它嗎?鐵定不會(huì)吧!(也許會(huì)有例外……但我不想討論這種例外。)
所以,病毒的寫作者會(huì)想方設(shè)法、處心積慮的讓使用者在不知不覺中執(zhí)行之,以達(dá)成”感染”的目的。
所以,”可執(zhí)行檔”,就成了大部分病毒”寄生”的主要目標(biāo)了。
所謂的可執(zhí)行檔,就是我們所說的”程序”、”軟件”,通常這類軟件也是一個(gè)(或數(shù)個(gè))檔案所構(gòu)成。前面已經(jīng)說過,軟件要加載到內(nèi)存中,才能被使用者所執(zhí)行、運(yùn)用之,因此軟件的作者會(huì)使用開發(fā)工具將”原始程序”編譯成”可執(zhí)行檔”,然后運(yùn)送給使用者,讓使用者可以執(zhí)行之。
以前,可執(zhí)行檔只有固定幾種格式:擴(kuò)展名是.COM、.EXE、.BAT的,這些都是可執(zhí)行檔。到了windows 7時(shí)代,這還是沒變。不過,Windows后來引進(jìn)了很多”比較罕見”的可執(zhí)行檔案格式。比方說,.DLL是”動(dòng)態(tài)鏈接庫”,它也是一種”必須依附在主程序”底下的一種可執(zhí)行檔案;.SCR是屏幕保護(hù)程序,它也是一種特殊功能的可執(zhí)行文件;.MSI(Windows Installer Package)通常見于”安裝程序”,但是……它也是一種可執(zhí)行檔;有些敘述檔,像是.VBS、.JS……,它們也是可執(zhí)行檔案。
這里有一個(gè)”可執(zhí)行檔案”的擴(kuò)展名列表,看到這類擴(kuò)展名就要小心了,有害的東西就可能藏身于其中。
執(zhí)行就是最危險(xiǎn)的事
問題是,Windows預(yù)設(shè)會(huì)隱藏它認(rèn)得的檔案的擴(kuò)展名,所以,老實(shí)說,你也不知道你到底執(zhí)行了什么。
那也沒關(guān)系,各位只要想象:當(dāng)你在某個(gè)圖標(biāo)上按兩下鼠標(biāo)左鍵時(shí)──你肯定是要執(zhí)行什么。
執(zhí)行個(gè)什么時(shí)──你一定要記?。哼@是我們”使用者絕對(duì)要注意的『Red Flag』信號(hào)了”。如果有個(gè)什么事情你一定得提高警覺的話,除了”有人問你密碼”這件事情以外,另一件事就是這個(gè)了。
所以,你一定要記?。?/p>
“執(zhí)行個(gè)啥東西時(shí)一定要小心。”
就這么簡(jiǎn)單。
因?yàn)?,很多病毒?huì)依附在可執(zhí)行檔案里面,你”一執(zhí)行就中毒了”。不僅如此,中毒的計(jì)算機(jī)沒清干凈前,它們會(huì)不斷感染計(jì)算機(jī)里的檔案,或是發(fā)出病毒信件,或是感染服務(wù)器上的其它檔案……而且這類病毒還會(huì)修改系統(tǒng)設(shè)定,讓使用者”即使發(fā)現(xiàn)不對(duì)了”的清理工作變得困難──有時(shí)幾乎是不可能。
所以,有時(shí)候,中毒的計(jì)算機(jī)非得整個(gè)重裝不可,就是因?yàn)樗械目蓤?zhí)行檔都被感染而無法復(fù)原了。
Internet更是”地獄之門”
但是,恐怕還有個(gè)真正防不勝防的東西──那就是網(wǎng)頁!
當(dāng)你用瀏覽器去連任意一個(gè)網(wǎng)頁,老實(shí)說……地獄之門就打開了(我上期已經(jīng)用過這梗了,算老梗)。因?yàn)榫W(wǎng)頁可以讓你作很多事,執(zhí)行很多功能──而且大多是自動(dòng)而你不自知的。正常的網(wǎng)頁當(dāng)然不會(huì)整你,或是讓你中毒……但是,不正常的網(wǎng)頁其實(shí)還不少哩!
事實(shí)上,各位要知道,瀏覽器本身就是個(gè)”執(zhí)行者”,它本身就是被設(shè)計(jì)成”用來執(zhí)行各種功能”的工具。不僅如此,操作系統(tǒng)尚有所謂的”兼容性”問題,但是瀏覽器本身就被設(shè)計(jì)成所謂的”跨平臺(tái)”,最好所有的瀏覽器都能有相同的能力,好讓網(wǎng)頁開發(fā)者可以寫一個(gè)功能──就可以讓全世界所有的使用者都能使用──gosh!世界大同的實(shí)現(xiàn)真是莫過于此了。但是,這也讓網(wǎng)頁病毒撰寫者有了可乘之機(jī)……有什么方式會(huì)讓這些病毒寫手更省事呢?當(dāng)然是寫個(gè)跨平臺(tái)的萬用病毒啦!
網(wǎng)頁類病毒的形式很多,有的會(huì)利用所謂的”敘述”(JavaScript)不斷地彈跳惱人的窗口,有的會(huì)偷偷地把病毒塞到你計(jì)算機(jī),有的會(huì)直接執(zhí)行一些該死的動(dòng)作……而且老實(shí)說,這類問題要比可執(zhí)行檔中毒更麻煩,因?yàn)槭褂谜吒緹o法知道。
所以,防毒軟件(或是所謂的Internet Security)在這種情況下就異常重要了。
本期結(jié)論:不讓病毒被執(zhí)行的方法
那么,能夠只靠使用者的小心就防堵病毒的流竄嗎?如果可以,那我也可以當(dāng)藍(lán)帶廚藝學(xué)校畢業(yè)的廚師了……顯然這不可能嘛,所以我們得系統(tǒng)化的想想,每一個(gè)環(huán)節(jié)之下,我們可以做什么,底下是一些常見的”防堵毒的方法”列舉:
● 每個(gè)程序都要經(jīng)過某種認(rèn)證
為了不讓使用者執(zhí)行到不該執(zhí)行的臟東西,于是操作系統(tǒng)廠商就規(guī)定”你所執(zhí)行的每個(gè)程序都要給它檢查過”。呵呵,你覺得好笑?不,iPhone就是這樣──雖然它本意未必是要防毒,可是這個(gè)封閉系統(tǒng)就還相當(dāng)安全──因?yàn)樗熊浖霞芏家?jīng)過Apple核可。
● 每個(gè)程序(只要被認(rèn)定有危險(xiǎn)性)都要使用者同意執(zhí)行
Windows Vista/7底下有個(gè)UAC,只要判斷你的程序有危險(xiǎn)性就會(huì)跳出來要你”確定”,這樣會(huì)讓病毒”比較難默默的感染你”,只是一般人還沒受其利,可能就氣到先關(guān)掉這功能了。但平心而論,要防毒又要方便,這也是某種程度的必要之惡。
● 裝上防毒軟件
殺毒軟件”理應(yīng)”可以防堵可執(zhí)行文件病毒,而防火墻軟件”理應(yīng)”可以防堵來自Internet內(nèi)外的攻擊,而且你別說”我都不亂執(zhí)行臟東西我不用裝殺毒軟件”──最好是,你最好都不要上網(wǎng)。有些網(wǎng)絡(luò)蠕蟲根本只是利用所謂的”漏洞”直接鉆到你計(jì)算機(jī)的內(nèi)存里面,然后你的網(wǎng)絡(luò)聯(lián)機(jī)就自動(dòng)癱瘓了。你就算什么都不做,也會(huì)有中毒的可能。所以請(qǐng)一定要用殺毒軟件──不管是免費(fèi)版還是付費(fèi)版。
● 執(zhí)行任何”可執(zhí)行”的東西,你都得多注意
確實(shí),很多人亂執(zhí)行程序──并順帶執(zhí)行到病毒,這是殺傷力最大的問題──何故?因?yàn)椋@是”你自己去執(zhí)行到的”,所以病毒逮到機(jī)會(huì)就絕對(duì)可以為所欲為,它會(huì)替換系統(tǒng)注冊(cè)文件,隱身到計(jì)算機(jī)硬盤的深處,感染各種重要的檔案……結(jié)果呢?結(jié)果就是”輕則重裝,重則死當(dāng)”,所以這未必是”唯一原則”,但確實(shí)是一般使用者所該知道的最重要原則。