基本情況
近日,由江民科技發布的“2007年黑客行為分析”最新調查數據顯示,2007年黑客行為呈明顯上升趨勢,有近四成以上的黑客正在研究“免殺病毒”技術,研製“免殺病毒”和在網際網路交流“免殺技術”已經成為黑客們最為熱衷、追捧的行為。“想要了解病毒免殺技術的原理,首先要了解防毒軟體的工作方式。防毒軟體的工作方式一般是特徵碼匹配防毒,通過分析病毒的特徵碼來判斷病毒。而病毒只有能夠逃避過防毒軟體的查殺,才能順利實現其入侵系統、盜取用戶私密信息的目的,‘免殺’病毒則應運而生。”
免殺技術之一:加花指令
加花是病毒免殺常用的手段,加花的原理就是通過添加加花指令(一些垃圾指令,類型加1減1之類的無用語句)讓防毒軟體檢測不到特徵碼,干擾防毒軟體正常的檢測。加花以後,一些防毒軟體就檢測不出來了,但是有些比較強的防毒軟體,像江民防毒軟體,病毒還是會被殺的。這可以算是“免殺”技術中最初級的階段。免殺技術之二:加殼
舉例來說,如果說程式是一張烙餅,那殼就是包裝袋,可以讓你發現不了包裝袋裡的東西是什麼。比較常見的殼一般容易被防毒軟體識別,所以加殼有時候會使用到生僻殼,就是不常用的殼。現在去買口香糖你會發現至少有兩層包裝,所以殼也可以加多重殼,讓防毒軟體看不懂。如果你看到一個袋子上面寫著乾燥劑、有毒之類的字你也許就不會對他感興趣了吧,這就是偽裝殼,把一種殼偽裝成其他殼,干擾防毒軟體正常的檢測。免殺技術之三:修改特徵碼
病毒加殼雖然可以逃過一些防毒軟體的查殺,但是卻逃不過防毒軟體的記憶體防毒,不過可以定位記憶體特徵碼,再修改即可過記憶體查殺。因此修改特徵碼成為逃避防毒軟體記憶體查殺的唯一辦法。舉例來說,如果程式是一張烙餅,那特徵碼就像上面的芝麻,每一張餅上面的芝麻位置是不同的,所以每個程式包括病毒特定位置上面的字元也是不同,這粒用來識別是不是病毒的“芝麻”就是特徵碼。要修改特徵碼,就要先定位防毒軟體的病毒庫所定位的特徵碼,這個有一定難度,需要有經驗的黑客才能做到。但是現在網路上有很多現成的工具可以定位出特徵碼,黑客們只需簡單的修改就可以完成“免殺病毒”的製作了。不過修改特徵碼也不是那么的容易的,最好會彙編語言,那樣修改特徵碼會相對的簡單。面對不斷翻新的病毒“免殺”技術,傳統防毒軟體特徵碼查殺技術就表現得相對滯後,而如何有效地防殺“免殺病毒”成為擺在防毒軟體廠商面前的最大問題。
幾個專業名詞
殼:就是程式的保護層,原本用來加密PE程式檔案防止破解,現在卻被用於製作免殺花代碼(花指令):就是一段毫無意義的代碼,也是亂碼,它前後構成完全矛盾的意思,但是這樣就能阻礙防毒軟體的查殺.
現今國內主要防毒技術
特徵碼技術:運用程式中某一段或幾段64位元組以下的代碼作為判別程式病毒的主要依據,幾乎所有國內防毒軟體都在用.複合特徵碼技術:下面給圖, 因為本人藝術細胞原因 所以點到為止
abcd 所有都在的情況下, 木馬可以被殺到 不管有幾個a 或者幾個b
虛擬機技術:卡巴運用的技術,它表現在穿殼能力的強大
行為查殺技術:根據某些病毒會在計算機裡面的行為作為依據(如在註冊表內增加什麼鍵值),滿足三個以上就視為木馬或病毒.
啟發式防毒技術:運用病毒特有的結構,來檢測病毒(如nod32)
國內外部分防毒軟體的特點:
金山防毒:金山雲引擎+藍芯Ⅱ引擎+系統修復引擎+KSC雲啟發引擎4引擎組成的查殺體系但免殺簡單
金山2013增加了kvm本地啟發+小紅傘引擎+k+3.0等陸續增強真正的實力我們拭目以待
江民或KV:跟金山差不多,稍微比它好點,但是也比較垃圾,它的技術都是買來經過二次改造,沒什麼特色.
瑞星:個人認為是國內是國內出的最強地防毒,經過分析,它有三套毒庫
瑞星的記憶體防毒我們也搞不清楚核心機制,所以分析的只是現象:
1、普通的木馬病毒(不常見的),瑞星不進行記憶體特徵碼定義,,
檔案免殺了記憶體就免殺了
2、瑞星的右鍵快捷查殺和運行主程式查殺,效果不一樣,右鍵不殺不代
表運行主程式不殺,有些記憶體殺的木馬病毒,修改了運行主程式查殺的特
征碼,記憶體就免殺了。網路泛濫的木馬病毒(如鴿子,密碼神通,廣外幽靈等),瑞星進行記憶體特徵碼定義,通常是多區段特徵碼定義,其中有些用免殺殼加密加花後,OD載入不殺,但運行後被殺
這樣看來感覺瑞星象是3套特徵碼定義,1是右鍵查殺,2是主程式運行查殺,
3是記憶體查殺,我是這樣分類的
針對上述現象,瑞星記憶體免殺我們通常這樣做,OD分段定位,先NOP入口點區段,仍被殺則NOP其他區段,直到不殺,找出記憶體特徵碼進行修改
說明:A B C代表的是病毒特徵碼,括弧()表示可能不存在
關於OD載入入記憶體不殺,運行後被記憶體查殺的問題:
OD載入的和真正的運行有區別,一些加殼的東西加了木馬OD載入不殺記憶體,真正運行了就被殺,說明真正運行了記憶體中會還原某些代碼,所以遇到加殼OD不殺,運行被殺的情況,平時我們遇到的木馬,未加密加殼前在OD中是可以被殺和定位記憶體特徵碼的至於一種情況,如果木馬未做任何處理的時候,就是一個原始木馬,拿來OD載入不殺記憶體,運行了就殺,這種情況我沒遇到過,如果你遇到了無殼的出現這種情況,基本上就是被一個記憶體免殺技術不過關的人修改過的,碰巧被你用了
如果你在免殺過程中遇到了OD載入不殺,運行記憶體被殺的情況,請嘗試修改
特徵碼,而不是給它加花或加密,正確修改了記憶體特徵碼是可以完全記憶體免殺的
以上就是黑客小熊所分析的瑞星,瑞星不是用來實時監控,是用來手動查殺記憶體用的.
諾頓:它查殺的是PE檔案頭,就是那一串代碼,有一個加殼程式可以把它打亂,高技術的甚至可以把它整個移走以免殺.
卡巴斯基:國內外數一數二的防毒軟體,曾獲世界第一的稱號.它的優點就是穿殼能力牆(虛擬機技術),弱點是一見花指令就怕.免殺它一般是加花指令.
NOD32:啟發式防毒技術,不再是單純的特徵碼技術,就是運用一些木馬程式特有的結構來判別是否木馬,但是缺點是解密能力差,免殺它通常加一個殼再加一個花.
Ewido:一款非常不錯的殺木馬軟體,它的記憶體查殺和瑞星一樣變態,而且穿花能力強,比起國內木馬剋星來說它不知道好多少倍.而且他加入了註冊表查殺,免殺它要先過記憶體再加強殼
運用軟體進行連線埠及進程防禦
冰刃:用於查看隱藏連線埠,進程,服務等,是一個非常好的安全工具.
連線埠關聯查看器:看連線埠工具.
木馬輔助查找器:灰鴿子工作室出品,用於監視檔案.
Regmon註冊表監視器:用來監視註冊表.
FileMon檔案監視器,用來查看檔案調用的所有DLL