免殺學習

殺毒軟件查殺原理

要進行免殺,首先要知道殺毒軟件是怎樣把你的程序鑑定爲病毒,才能夠找到正確的方法進行免殺工作。殺毒軟件一般根據下面幾種方法進行查殺:

1.      特徵碼:

殺毒軟件通過提取已有病毒中的一些特徵二進制碼,並將該特徵碼保存在病毒庫中,查殺時再將其與被查殺程序一一比較,如果找到這些特徵碼,被查殺程序將被鑑定爲病毒。殺軟保存的特徵碼一般包括兩部分:一段二進制碼和這段特徵碼所在偏移地址。

根據這種查殺原理,我們的免殺工作就很清晰了,只要將我們程序中被鑑定爲病毒的特徵碼部分找出來,修改其二進制碼或轉移位置就行了(前提是修改後的程序依然可運行且邏輯正確)。

2.      行爲監測:

殺毒軟件通過監控程序的API調用來解讀程序的行爲,並進行加權處理,當加權值達到一定數值後,被監測程序將被報爲病毒。比如一個下載程序,是不會被報爲病毒的,但是如果這個程序的行爲是下載另外一個程序並運行該程序,類似這樣的行爲組合,殺毒軟件就很有可能將其鑑定爲病毒了。加權值是指行爲及行爲組合的可疑指數。

根據這種查殺原理,我們的免殺工作就是如何去隱藏我們的行爲了。

3.      軟件模擬:

這種方法主要是利用虛擬技術,在虛擬機中模擬程序的運行並監控程序行爲,一旦發現可疑行爲,就將其報爲病毒。這種方法主要彌補行爲監控中對付隱蔽行爲的不足。(這種方法不是特別瞭解,不做過多論述)

免殺方法

1.      免殺分類:

1)  內部免殺和外部免殺。

內部免殺指,通過特徵碼定位後返回到原代碼上進行修改

外部免殺指,通過特徵碼對PE文件進行修改

2)文件免殺和內存免殺

   文件免殺指,文件未被加載入內存運行的免殺

內存免殺指,文件被載入內存運行的免殺

    文件免殺和內存免殺都是基於對PE文件的修改

 

2.      免殺方法

1)  添加數字簽名,發現這種方法的文件免殺對金山殺毒軟件特別有效

2)  添加殼,一般添加偏僻殼,因爲殺軟要知道所加是什麼殼才能夠解析壓縮過的代碼。而一般對殼的識別都是根據EP即入口處的一段特徵碼來辨別所加的殼類型,所以我們可以修改這段特徵碼,來讓殺軟不知道我們所加是什麼殼,也就無法解析我們的代碼來。通常採用加花或者是以後等簡單修改就行。

3)  等價替換

4)  顛倒代碼順序

5)  通用跳轉

6)  加空格免殺輸入表文件名

7)  移動ASCLL特徵碼,或修改其大小寫

8)  移動輸出表函數特徵碼

9)  利用異或加密或者重寫入

10)  移動PE文件頭

附加信息

1.      什麼是啓發式掃描:就是給各種威脅計算機安全的代碼進行加權,當殺毒軟件對某個文件的加權值達到60分後,就將該文件判定爲病毒文件。

2.      什麼是隱藏特徵碼(干擾碼):一般分成兩部分:一個是隱蔽的特徵碼,另外一個是顯式(普通)特徵碼。當殺軟檢測到有隱式特徵碼時,就會啓動對顯式特徵碼的掃面,如果還發現顯式特徵碼就報爲病毒。隱式特徵碼一般都是比較容易修改的地方,而顯式特徵碼一般都在難被修改或是不能被修改的地方,所以如果定位到難以修改的特徵碼,可以先保留該處特徵碼試試能否定位出隱式特徵碼。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章