Autorun.inf 類病毒的攻防經驗以及免疫辦法
此文講述的是對 Autorun.inf 類病毒的攻防經驗匯總,Autorun.inf被病毒利用一般用到的是4種方式,大家都知道“RavMonE.exe”、“rose.exe”、“sxs.exe”、“copy.exe”、“setup.exe”……根目錄下的神秘幽靈,系統安全的殺手,它們被稱作“U盤病毒”。
無數Windows用戶,都在為它們而焦頭爛額。這一篇文章是一篇對自己對U盤病毒的研究和與U盤病毒斗爭的經驗教訓的總結。
“RavMonE.exe”、“rose.exe”、“sxs.exe”、“copy.exe”、“setup.exe”……根目錄下的神秘幽靈,系統安全的殺手,它們被稱作“U盤病毒”。無數Windows用戶,都在為它們而焦頭爛額。這一篇文章是一篇對自己對U盤病毒的研究和與U盤病毒斗爭的經驗教訓的總結。
Windows95以后的系統都有一個“自動運行”的功能。通過在卷插入時讀取磁盤卷上的Autorun.inf文件來獲得Explorer中卷的自定義圖標和對卷圖標的上下文菜單進行修改,并對某些媒體自動運行Autorun.inf中定義的可執行文件。05年以后,隨著各種可移動存儲設備的普及,國內有些黑客制作了盜取U盤內容并將自身復制到U盤利用Autorun.inf傳播的病毒。著名的偽ravmon、copy+host、sxs、Viking、熊貓燒香等著名病毒都有這種傳播方式。它們有時是根目錄下的神秘幽靈,有時是出現在不應該出現的地方的回收站,總之,它們是系統安全的嚴重威脅。
Autorun.inf被病毒利用一般有4種方式
A.
OPEN=filename.exe
自動運行。但是對于很多XPSP2用戶和Vista用戶,Autorun已經變成了AutoPlay,不會自動運行它,會彈出窗口說要你干什么。
B.
shellAutocommand=filename.exe
shell=Auto
修改上下文菜單。把默認項改為病毒的啟動項。但此時只要用戶在圖標上點擊右鍵,馬上發現破綻。精明點的病毒會改默認項的名字,但如果你在非中文的系統下發現右鍵菜單里多出了亂碼或者中文,你會認為是什么呢?
C.
shellexecute=filename.exe
ShellExecute=....只要調用ShellExecuteA/W函數試圖打開U盤根目錄,病毒就會自動運行。這種是對付那些用Win+R輸盤符開盤的人。
D.
shellopen=打開(&O)
shellopenCommand=filename.EXE
shellopenDefault=1
shellexplore=資源管理器(&X)
這種迷惑性較大,是新出現的一種形式。右鍵菜單一眼也看不出問題,但是在非中文的系統下,原形畢露。突然出現的亂碼、中文當然難逃法眼。
面對這種危險,尤其是第四種,僅僅依靠Explorer本身,已經很難判斷可移動磁盤是否已經中毒。而在這種情況下,一部分人也根據自己的經驗,做出了“免疫”工具。
免疫的辦法(對可移動磁盤和硬盤)
一、同名目錄
目錄在Windows下是一種特殊的文件,而兩個同一目錄下的文件不能同名。于是,新建一個目錄“autorun.inf"在可移動磁盤的根目錄,可以防止早期未考慮這種情況存在的病毒創建autorun.inf,減少傳播成功的概率。
二、Autorun.inf下的非法文件名目錄
有些病毒加入了容錯處理代碼,在生成autorun.inf之前先試圖刪除autorun.inf目錄。
在Windows NT Win32子系統下,諸如"filename."這樣的目錄名是允許存在的,但是為了保持和DOS/Win9x的8.3文件系統的兼容性(.后為空非 法),直接調用標準Win32 API中的目錄查詢函數是無法查詢這類目錄中的內容的,會返回錯誤。但是,刪除目錄必須要逐級刪除其下的整個樹形結構,因此必須查詢其下每個子目錄的內 容。因此,在“autorun.inf"目錄建一個此類特殊目錄,方法如"MD x:autorun.infyksoft..",可以防止autorun.inf目錄輕易被刪除。類似的還有利用Native API創建使用DOS保留名的目錄(如con、lpt1、prn等)也能達到相似的目的。
三、NTFS權限控制
病毒制造 者也是黑客,知道Windows的這幾個可算是Bug的功能。他們可以做一個程序,掃描目錄時發現某目錄名最后一個字節為'.'則通過訪問 "dirfullname.."、或者通過利用Windows NT的Native API中的文件系統函數直接插手,刪除該特殊目錄。
因此,基于更低層的文件系統權限控制的辦法出現了。將U盤、移動硬盤格式化為NTFS文件系統,創建Autorun.inf目錄,設置該目錄對任何用戶都沒有任何權限,病毒不僅無法刪除,甚至無法列出該目錄內容。
【編輯推薦】