作者blman (我愛亦潔我愛亦潔)
看板AntiVirus
標題Re: [軟體] 請問反間諜軟體的病毒定義檔長什麼樣子?
時間Mon Oct 15 16:16:42 2007
※ 引述《camilledindo (張懸是以太。)》之銘言:
: 最近電腦怪怪的
: 卡巴掃出了一隻木馬
: 試著用線上掃毒竟然掃出了39隻
: 有人建議我用spyware doctor抓抓看
: 可是一隻也沒有掃到
: 我想應該是沒有更新病毒定義檔的關係
: 請問有人知道它的病毒定義檔長什麼樣嗎?
: 有什麼類似的格式嗎?
: 因為我是文學院學生
: 朋友也都沒有懂電腦的
: 上網站看都看不懂
: 我有去奇摩知識找資料了
: 可是幾乎沒有人在解釋病毒定義檔
: 希望有空的人可以幫我一下 orz
: 謝謝
各家防毒軟體廠商的病毒定義檔長得不一樣。
常見的副檔名是 .DAT,內容的編排上則端看各家的偏好。
往往為了效率與商業機密的問題,內容都不會是純文字檔,
畢竟純文字檔效率低且容易被外界看到病毒定義的機密。
我舉一個例子,
以某個開放源碼防毒軟體為例,它的病毒定義檔剛好就是純文字檔,
其中的內容差不多是這個樣子,
Zherkov-A=2e300547e2fab8dd4bcd213d34127503
Zherkov-B=0f83c61890b9d9062e3004fec046e2f8
意思是若發現檔案的特徵為 2e300547e2fab8dd4bcd213d34127503,
則判定為 Zherkov-A 惡意程式。
好了,這時候可能會問,這一串 2e300547e2fab8dd4bcd213d34127503 是什麼?
為什麼它能代表是 Zherkov-A 惡意程式?
這就要知道防毒廠商如何抓出惡意程式的特徵值。
防毒廠商通常會有兩個策略需要決定,
1. 用什麼方式去抓特徵值
2. 如何取出特徵值中獨一無二的部分
之前的簡單範例,只是用 md5 algorithm 這個方式(1)來計算程式的特徵值,
而且剛好 md5 計算出來的特徵值,通常都能代表獨一無二的(2),所以就不用後處理了。
當然,其它防毒廠商會不會採用這個技術,答案是"不知道"。
但是可以肯定的是,它們一定有其它的技術,畢竟 md5 的方式太笨又沒有效率。
或許你會對"除了md5外的其它技術"很有興趣,所以我舉另一個手法。以感染程式為例。
病毒在感染其它程式時,會植入或藏身在該程式的某一部分。
例如,病毒 V 感染了檔案 F,此時 F 的某部分就會被植入 V 程式。
以這種感染手法而言,被感染的檔案 F 的最佳特徵值,就是包含 V 藏身的那部分。
假設檔案 F 原本內容是: 被感染後的內容是:
IamFandWrittenbYblman IamFandWrittenbY
Virusblman
想想看,這時候你會怎麼抓獨一無二的特徵值?
喔,我相信說到這裡,很多人都被我誤導對"特徵值"的印象。
特徵值可不一定是"檔案內容",它也可以是別的。
像是"行為"。
例如,若發現程式嘗試修改 BIOS 的資料,則可以回報為惡意程式。
這時你可能會問,難道嘗試修改 BIOS 資料的都是惡意程式?
如果想通了,我想你也會了解啟發式(Heuristic)偵測或稱智能偵測的手法了。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.109.22.140
1F:推 LiDra129:推一個,解釋很清楚 10/15 16:25
2F:推 lcjjaff:推一個~~認真文^^ 10/15 16:37
3F:推 aderan:好文推一個,受益良多^^ 感謝 10/16 10:53
※ 編輯: blman 來自: 140.109.22.140 (10/16 12:00)