最近工作關係在了解這個,把文章跟大家分享 ^^

好的防毒軟體讓你上天堂,壞的軟體讓你用不爽 【文/楊祥龍】

 

試問,每個人電腦必備的軟體,除了Office、即時通訊、輸入法、多媒體播放等程式外,還有什麼一定要裝的,十之八九就是防毒軟體。在以前網路不盛行的時代,每個人所用的電腦可以說是一個封閉的環境,要中毒已經不容易了,更何況是要傳染給別人。隨著網路的普及,不裝防毒軟體的電腦,就跟龍五手上沒槍一樣,癟三都可以殺他,而沒有防火牆,如同正妹沒穿衣服逛大街,想不引起駭客注意都難。

 

對電腦防護概念的演變,逐漸從點變線,然後再擴大到面的防護,從來歷不明的檔案不要亂開,到安裝防毒軟體預防感染,再到非得裝防火牆才能防止電腦在網路上被攻擊,已經不是讓電腦「獨善其身」,便可「而無車馬喧」,而是要「堅壁清野」,對內對外都要防護,才能「防範未然」。也就是說,在現在這個年代,光是做到掃毒防駭已經略嫌不足,因為都是「被動的防禦」,還是讓電腦有可趁之機,要能「主動保護」與「事先預警」,才能在危機四伏的網路環境中全身而退。

 

前面講了一堆抽象的東西,其實用防毒軟體就可以搞定,在看過上一期的防毒軟體採購後,讀者大大對於一個防毒軟體的好與壞,相信都有一些初步的概念,那麼至於一套好的防毒軟體要怎麼看呢?除了掃毒與防駭能力兩個基本課題外,讓使用者不必勞心費力、大費周章地去使用,省去九成以上的心力與時間去設定,也就是操作介面友不友善,已經是強調重點之一。另外就是佔用系統資源的程度,也是在選購時會列入考慮的一點,至於最重要的掃毒命中率,翻成白話就是-可以掃到多少病毒,將會在本篇有較為另類角度的探討。當然,除了要怎麼選購防毒軟體外,要讓讀者大大知道防毒軟體到底是怎麼「掃毒」與「防駭」,這才是本篇的宗旨所在。

 

常見的病毒種類

在文章開始之前,筆者把一些常見的病毒類型與定義列出,讓讀者大大可以了解現在有哪些病毒。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

名稱 定義 定義
Adware 中文為廣告軟體。就是軟體內含會收集使用者資訊然後傳送給廣告商,基本上不是惡意軟體,但會造成電腦防護上的漏洞,遭到不懷好意的人利用,會增加風險。 Flashget
Backdoor 中文為後門程式。顧名思義就是在電腦開個對外的後門,程式本身沒有威脅性,但是會利用後門程式連到別人的電腦,通常不會是好人,所以被歸類成惡意程式之一。 BKDR_BNLITE.A
Keylogger 中文為鍵盤測錄程式。作用就是將鍵盤上任何動作與訊號給記錄下來,然後傳給程式的主人,當然不會有任何好意。 TSPY_LINEAGE.K
Script 這是以Script原理運作的病毒,分為VBScript 以及 JavaScript,前者是專門感染Windows系統,後者則是感染網頁。 JS_WONKA.AI
Spyware 中文為間諜程式。跟Adware類似,也是會將資訊不經使用者同意就傳送到網路上,只是對象不一定。 SPYW_GATOR.D
Stealer 作用很像Keylogger,只是傳送的資訊更為精確,通常都是傳送帳戶密碼。 CRCK_OFFICE.B
Trojan 中文為木馬程式。簡單說Trojan就是沒有感染能力的Virus,也會進行破壞系統的動作或執行惡意動作。 TROJ_STRAT.IC
Virus 中文為病毒。典型的Virus是指具感染能力且會進行惡意動作的程式,後來泛指所有的惡意程式。 CIH
Worm 中文為蠕蟲。本身沒有破壞力,但是會不斷地自我繁殖或感染其他檔案,造成系統效能下降或吃掉網路頻寬。 WORM_BAGLE.OF

 

到底怎麼中毒的?

 

曾經聽過一個笑話,有一部電腦中毒了,但是那整家子的人都沒人敢碰那部電腦,原因是怕感染到病毒。有過電腦使用經驗的人,一定都曾聽過「電腦中毒了」的說法,那電腦到底是怎麼中毒的呢?

 

所謂「電腦病毒」(Virus),並不是微生物或細菌之類的鬼東西,病毒其實就是一個程式,只是這個程式的功能很單純,就是「Search and destroy」,在作業系統內流竄,看到合適的檔案就將其破壞或感染,把那個檔案變成自己的同類,就跟駭客任務裡的史密斯一樣。

 

病毒感染的方式大概分為兩種,寄生與複製。

 

什麼是「寄生」?

 

所謂「寄生」,就是病毒將目標檔案給「脫殼」,增加或修改目標檔案的原始碼或檔頭紀錄,以改變檔案的屬性或是程式的行為模式。

 

所謂「脫殼」,就是類似解壓縮的動作。因為在電腦中,不論是檔案或是程式,都是由一串程式碼所組成,若要具象化的形容,就像駭客任務的救世主尼歐眼裡看到的東西。作者為了不要讓自己的成品遭人任意修改,或是被破解,所以就要做「加殼」的動作,與壓縮的概念雷同,就是在程式碼外面再包一層東西,只是不一定會做壓縮,可以看作在程式碼外加了一層「結界」,一般人是無法一窺檔案或程式的原始碼,必須要有特殊的加/脫殼工具。

 

至於病毒要怎麼去對檔案或程式作「寄生」呢?由於市面上加/脫殼的編譯工具大概十種左右,常見的大概六七種,開發人員在寫程式的時候,大多只會挑其中一中加/脫殼工具來使用。而這六七個工具,有兩三種可以免費取得,所以病毒在被撰寫的時候,就會加入這兩三種加/脫殼的功能,當病毒進入受害者的電腦時,只要遇到使用同樣加殼技術的檔案或程式,病毒就可以將其脫殼,修改原始碼,甚至把病毒自己的原始碼給加進去,然後再加殼,就完成了感染的動作,只要該程式或檔案被讀取或執行,馬上系統就「中鏢」。這樣的行為模式就像寄生蟲一樣,故稱「寄生」。

 

從原始碼來看病毒感染

以下表格內容為某個檔案的原始碼片段,讀者大大可以從表格中對照中毒與解毒之間的差異。左側表格的原始碼片段的第二行,代表某個檔案已經受到病毒的感染,而右側表格的第二行則是表示這個遭到感染的檔案,已經解毒了,所以參數才會出現「NOP」。

 

 

 

 

中毒的部份原始碼

 

 

解毒後的部份原始碼

 

 

……………以上略………………
80 FC 3D CMP AH,3Dh
74 xx JE Infect_File
E9 xx xx JMP Continue
…………以下略…………………

 

 

……………以上略………………
80 FC 3D CMP AH,3Dh
90 90 NOP, NOP
E9 xx xx JMP Continue
……………以下略………………

 

 

如何做「複製」?

 

病毒並不一定要寄生在程式或檔案上,因為病毒本身就是一個獨立的程式,可以自己運作,進入電腦以後,就會自動執行,把自己移動到指定資料夾,或是像細胞分裂一樣不斷地複製自己。

 

每一隻病毒進行複製的目的並不同,例如開機型病毒就會跑到磁片開機磁區,或者躲在主開機記錄檔中,如MFT(Master File Table)就是病毒很愛躲的位置,甚至會刪除MFT,讓系統開不了機;又或是網路型病毒,也就是蠕蟲,會利用電腦的網路協定或指令將自己的分身發送到別的電腦或網站,或是觸發郵件程式,把自己當作附件寄病毒信以感染其他電腦,這些動作只要在原始碼裡加上給行短短的指令就可以做到。

 

另外有的病毒只是單純複製自己到某些指定的區域,但是會改變自己的檔案屬性,例如把自己變成隱藏檔,或是變更自己的檔名或副檔名,偽裝成系統程式常駐在記憶體;如果是蠕蟲的話,則是會大量「繁殖」自己,影響系統效能或癱瘓網路,威脅性比較大的病毒,不但可以複製自己,還可以感染程式、檔案甚至其他病毒,因此就會有檔案受到多重感染,就算防毒程式找到了,因為結構特殊的關係(被不同的技術給加殼)也就無法被順利刪除。病毒不斷地複製自己,目的很單純,就是為了要活下去。

 

PChomeAdvance電腦王31期

arrow
arrow
    全站熱搜

    yiling 發表在 痞客邦 留言(0) 人氣()