如何確定硬碟是否感染病毒
只要進行傳染,必然會留下痕跡。生物醫學病毒如此,電腦病毒也是一樣。檢測電腦病毒,就要到病毒寄生場所去檢查,發現異常情況,並進而驗明“正身”,確認電腦病毒的存在。電腦病毒靜態時存儲於硬碟中,被啟動時駐留在記憶體中,因此對電腦病毒的檢測可以分為對硬碟的檢測和對記憶體的檢測.
一般對硬碟進行病毒檢測時,要求記憶體中不帶病毒,因為某些電腦病毒會向檢測者報告假情況。例如“4096”病毒在記憶體中時,查看被它感染的檔,不會發現該檔的長度已發生變化,而當在記憶體中沒有病毒時,才會發現檔長度已經增長了4096位元組;又例如,“DIR2”病毒在記憶體中,用Debug程式查看被感染檔時,根本看不到“DIR2”病毒的代碼,很多檢測程式因此而漏過了被感染的檔;還有引導區型的“巴基斯坦智囊”病毒,當它活躍在記憶體中時,檢查引導區就看不到病毒程式而只看到正常的引導磁區。因此,只有在要求確認某種病毒的類型和對其進行分析、研究時,才能在記憶體中帶毒的情況下作檢測工作。
從原始的、未受病毒感染的DOS系統軟碟啟動,可以保證記憶體中不帶病毒。啟動必須是上電啟動而不是按鍵盤上的“Alt+Ctrl+Del”三鍵的那種暖開機,因為某些病毒可以通過截取鍵盤中斷,將自己駐留在記憶體中。檢測硬碟中的病毒,啟動系統軟碟的DOS版本號應該等於或高於硬碟內DOS系統的版本號。如果硬碟上使用了硬碟管理軟體DM、ADM,硬碟壓縮存儲管理軟體Stacker、DoubleSpace等,啟動系統軟碟時應把這些軟體的驅動程式包括在軟碟上,並把它們寫入config.sys檔中,否則用系統軟碟引導啟動後,將不能訪問硬碟上的所有分區,使躲藏在其中的病毒逃過檢查。
檢測硬碟中的病毒可分成檢測引導區型病毒和檢測檔型病毒。這兩種檢測的原理上相同,但由於病毒的存儲方式不同,檢測方法還是有差別的。主要是基於下列四種方法:比較被檢測物件與原始備份的比較法;利用病毒碼代碼串進行查找的搜索法;搜索病毒體內特定位置的特徵字識別法;運用反彙編技術分析被檢測物件,確證是否為病毒的分析法。
比較法
這是用原始備份與被檢測的引導磁區或被檢測的檔進行比較的方法,可以用列印的代碼清單(比如Debug的D命令輸出格式)進行比較,也可用程式來進行比較(如DOS的DISKCOMP、COMP或PCTOOLS等其它軟體)。比較法不需要專用的查病毒程式,只要用常規DOS軟體和PCTOOLS等工具軟體就可以進行,而且還可以發現那些尚不能被現有的殺毒軟體發現的電腦病毒。因為病毒傳播得很快,新病毒層出不窮,而目前還沒有能查出一切病毒的通用程式,或通過代碼分析,可以判定某個程式中是否含有病毒的查毒程式,所以只有靠比較法和分析法,或這兩種方法相結合來發現新病毒。
對硬碟的主引導區或對DOS的引導磁區作檢查,用比較法能發現其中的程式原始程式碼是否發生了變化。由於要進行比較,因此保留好原始備份是非常重要的。製作備份時必須在無電腦病毒的環境裡進行,製作好的備份必須妥善保管,寫好標籤,貼好防寫。比較法的好處是簡單、方便,不用專用軟體;缺點是無法確認病毒的種類名稱。另外,造成被檢測程式與原始備份之間差別的原因尚需進一步驗證,以查明是電腦病毒造成的,還是DOS資料被偶然原因,如突然停電、程式失控、惡意程式等破壞的。這些要用到以後講的分析法,查看變化部分代碼的性質,以此來確認是否存在病毒。 |