免殺的原理及分類
毫無疑問,“免殺”技術是目前最火熱的技術之一。“免殺”是可用性很強,應用範圍非常廣的一門駭客技術。免殺往往是指令碼入侵技術、病毒攻擊技術等一些其他駭客技術的準備工作。舉個簡單的例子,當一個駭客發現並利用了一個網站所存在的指令碼漏洞後,經過提權最終得到了伺服器的系統管理權限。
為了方便和鞏固控制,駭客往往需要將後門傳至對方網站伺服器上(可能是指令碼後門,也可能是PE後門),或者是rootkit,然而對方伺服器上有很厲害的殺毒軟體,當這些後門被駭客上傳到對方伺服器之後,伺服器上的殺毒軟體識別並查殺出駭客上傳的後門或rootkit,使駭客的工具不能發揮作用。這在很大程式上影響了駭客對漏洞的利用。但是如果駭客上傳的工具是經過免殺技術處理過的,那麼駭客就可以通過簡單有效工具來鞏固控制。顯然,這隻是一個很片面的例子,在真正的Hacking過程中,免殺技術幾乎是無處不在,所以學好免殺技術對於一個資訊安全技術愛好者是非常重要的。
免殺技術的定義
從前面可以看出,免殺指的就是讓原本被殺毒軟體或其它電腦安全工具捕獲並查殺的檔案,經過處理後變得不被捕獲和查殺,這種技術就是免殺技術,這種處理過程就稱為“免殺”,通常也稱之為病毒免殺(因為被殺毒軟體或其它電腦安全工具查殺的檔案一般都稱為病毒)。
殺毒軟體的查殺原理
1、特徵碼法
殺毒軟體運用特徵碼掃描確定某檔案為病毒時,這個檔案需要滿足兩個條件:
(1)該檔案中的某一位置與殺毒軟體病毒庫的某一位置相對應。
(2)該位置上存放的代碼與病毒庫中定義的該位置上的代碼相同。
特徵碼法的特點:
A.速度慢。
B.誤判警率低。
C.不能檢查多態性病毒。
D.不能對付隱蔽性病毒。
2、校正和法
運用校正和法查病毒採用三種方式:
(1)在檢測病毒工具中納入校正和法,對被查的對象檔案計算正常狀態的校正和,將校正和值寫入被查檔案中或偵查工具中,而後進行比較。
(2)在應用程式中,放入校正和法自我檢查功能,將檔案正常狀態的校正和寫入檔案笨身中,每當應用程式啟動時,比較現行校正和與原校正和值。實現應用程式的自檢測。
(3)將校正和檢查程式常駐記憶體,每當應用程式開始運行時,自動比較檢查應用程式內部或別的檔案中預先儲存的校正和。
校正和法的特點:
優點:方法簡單、能發現未知病毒、被查檔案的細微變化也能發現。缺點:發布通行記錄正常態的校正和、會誤判警、不能識別病毒名稱、不能對什隱蔽型病毒。
3、行為監測法
利用病毒的特有行為特徵來監測病毒的方法。
監測病毒的行為特徵:
A.佔有INT 13H
B.改DOS系統為資料區的記憶體總量
C.對COM、EXE檔案做寫入動作
D.病毒程式與宿主程式的切換
行為監測法的特點:
行為監測法的長處:可發現未知病毒、可相當準確地預報未知的多數病毒。行為監測法的短處:可能誤判警、不能識別病毒名稱、實現時有一定難度。
4、軟體類比法
在虛擬機器中綜合運用多種查殺方法就是通常所說的軟體類比法。
軟體類比法的特點:
軟體類比法的長處:對病毒的判定能力最強(因為綜合了多種查毒方法)。
軟體類比法的短處:掃描速度慢,查毒往往不準確。
最終結論:
目前殺毒軟體最主要還是依賴特徵碼識別技術來檢測病毒。也就是說,特徵碼就是殺毒軟體為了判定病毒而從病毒本身提取出來的有特點的代碼,我們的免殺就是專門針對這些特徵碼的。也就是說,讓殺毒軟體找不到這些特徵碼就可以達到免殺的目的了,不過還有一點要強高速的是,檔案本身的功能是不能損壞的,也就是說免殺之後的檔案和原檔案在功能上要做到完全相同。只有這樣才算是真正有效免殺。
免殺技術的分類:
1、內部免殺和外部免殺
處部免殺又通常稱為PE免殺。內部免殺指的是從病毒的原始碼入手,通過修改病毒的原始碼實現病毒的隱蔽性變種。外部免殺指的是將已經編譯串連後的病毒檔案通過加密等手段將病毒的代碼複雜化,從而幹擾殺毒軟體對其的判定,使之免殺。
內部免殺有一個必要的前提,就是免殺製作者必須要有病毒的原始碼,這一條件非常苛刻。外部免殺需要一定的反組譯碼基礎和PE結構知識。
內部免殺和外部免殺屬同一技術層次,沒有高低之分。
2、特徵碼免殺和大範圍免殺
先進的殺毒引擎使用的殺毒技術依然是圍繞特徵碼展開的,所以修改病毒的特徵碼在可預見的很長一段時間裡還會是免殺技術的中流砥柱。大範圍免殺通常又被稱為“無特徵碼免殺”,指的是使用一些例如加花加殼這種可使病毒代碼複雜化的方法對病毒進行處理,處理過的病毒很可能會同時免殺掉多種殺毒軟體。大範圍指的不是直接針對特徵碼的修改,只是指通過其它方法使代碼複雜化,從而間接影響殺毒軟體對病毒碼碼的識別。
3、檔案免殺、記憶體免殺和行為免殺
檔案免殺指的是電腦硬碟上存放的被某殺毒軟體查殺的病毒,經過免殺處理後,再對病毒進行靜態病毒掃描時,該殺毒軟體不將這個原本被自己查殺的檔案判定為病毒。這種將硬碟上的病毒檔案中特定PE區段載入到記憶體並進行病毒評鑑的方法,被稱為對病毒的動態檔案掃描,這並不等同於殺毒軟體的記憶體掃描。
記憶體查殺是指在病毒啟動並執行時候,病毒被載入電腦的記憶體後,殺毒軟體在記憶體中偵測到病毒的運行,並將病毒在記憶體中擊殺。記憶體免殺指的就是在上述例子中的病毒被載入到記憶體後系統無法通過殺毒軟體的記憶體掃描功能從記憶體中找出該病毒。
行為免殺的概念出現在檔案免殺和記憶體免殺之後,是一個相對比較新的概念。病毒程式大都有很多共性,如:在系統檔案中釋放一些動態連結程式庫檔案並添加啟動項或服務等。殺毒軟體可以抓住病毒的這一特性,監控電腦啟動並執行程式,控製程序可能產生的對電腦系統有危害的行為,殺毒軟體的這種監控方式就是行為監控,而突破這種監控方式的工作就稱為病毒的行為免殺。
4、盲免技術
盲免技術又被簡稱為“盲免”,盲免可以說得上是一個隱藏在圈內很久未被公開的免殺技術。
盲免指的就是在不使用殺毒軟體定位特徵碼也不需要殺毒軟體測試免殺的效果,直接製作出最終的免殺樣本。在這看似投機的結果中,其實有很多技術細節和經驗在裡面,盲免並不是瞎搞,與特徵碼免殺一樣,盲免也是有很強的針對性的。
能熟練盲免的免殺製作者,他們對各種殺毒引擎都非常瞭解,這些都是靠平時做一般性免殺的過程中得到的,有了這個前提,才能在不藉助殺毒軟體的情況下,判斷出殺毒軟體對特徵碼識別的弱點。
針對不盡相同的殺毒引擎,修改特徵碼的方法也各種不同,所以在研究查毒引擎之前,需要掌握好PE結構、反組譯碼等基礎知識。--摘自《殺不死的秘密》
轉載請註明: @ 卡飯學院 殺毒軟體 免費殺毒軟體 時間:2010-08-17 18:00
卡飯,中國電腦安全軟體交流學習第一選擇;