什麼是「病毒碼」? Virus Pattern

2005 五月 17日, 星期二 22:05

說穿了!病毒碼也跟病毒一樣,是一個小程式。當防毒軟體公司收集到一隻新的病毒時,他們就會從這個病毒程式中,截取一小段獨一無二且足以表示這隻病毒的二進位程式碼,來當做掃毒程式辨認此病毒的依據,而這段獨一無二的二進位程式碼就是所謂的「病毒碼」。

病毒碼是如何產生的?

上面提到病毒碼就是一小段二進位程式碼的組合,可是一個執行檔或是一個Word文件病毒要怎麼取得病毒碼?如何才算是獨一無二的病毒碼呢?其實病毒碼必須依照各種不同格式的檔案及病毒感染的方式來取得。

舉例來說,如果有一個Windows的程式被病毒染感,那麼我們就必須先研究出Windows檔案的格式,看看Windows檔案是怎麼被系統執行,以便找出Windows程式的進入點,因為病毒就是藏身在這個地方,來取得控制權並進行傳染及破壞。知道病毒程式在一個Windows檔案中所存在的位置之後,就可以從這個區域中來找出一段特殊的病毒碼供掃毒程式使用。

何謂「掃毒引擎」(Scan Engine)?

當您使用一套防毒軟體時,不論它的畫面是否精美、操作是否簡便、弁酮O否完善,這些其實都不足以證明一套防毒軟體的好壞。事實上,當您操作防毒軟體去掃描某一個磁碟機或目錄時,它其實是把這個磁碟機或目錄下的檔案一一送進掃毒引擎來進行掃描,也就是說您所看到的漂亮畫面其實只是一個使用者介面 (UI, User Interface),真正影響掃描速度及偵測率的因素是掃毒引擎。

Like Us on Facebook

掃毒引擎是一個沒有畫面、沒有包裝的核心程式,它被放在防毒軟體所安裝的目錄之下,就好像汽車引擎平常是無法直接看見的,可是它卻是影響汽車性能最主要的關鍵。有了病毒碼,有了掃毒引擎,再配合一個精美的操作畫面,就成了市面上您所看到的防毒軟體了。

為什麼要更新「掃瞄引擎」和「病毒碼」?

絕大多數的人都以為安裝了一套防毒軟體之後,從此就可以高枕無憂,其實這是一個絕對錯誤的觀念,因為病毒的種類及型態一直在改變,新病毒也每天不斷地被產生,如果不經常更換最新的病毒碼以及掃瞄引擎,再強悍的防毒軟體也會有失靈的一天。

舉個最明顯的例子來說,在還沒有出現巨集病毒以前,全世界沒有任何一家防毒軟體廠商支援巨集病毒掃描能力。當然,如果您還在沿用數年前的防毒軟體,就無法偵測到巨集病毒了,所以您必須使用能掃到到巨集病毒的病毒碼及支援巨集病毒的掃毒瞄引擎。

然而,若只單單更換病毒碼或掃毒引擎還是不夠的,因為舊的病毒碼檔可能還沒加入巨集病毒的病毒碼,或者是舊的掃毒引擎跟本還沒支援文件檔的掃毒,因此這樣的組合還是沒辦法發揮防毒的效果。病毒碼和掃毒引擎是防毒工作中相當重要的一環,目前一些比較大的防毒軟體廠商都有將病毒碼及掃毒引擎放在網站上供人免費下載,所以請務必記得定期更新防毒元件(病毒碼及掃瞄引擎)。

-轉載自航向月刊2005年5月號

精選