|
馬上注冊,結交更多好友,享用更多功能。
您需要 登錄 才可以下載或查看,沒(méi)有帳號?注冊
x
根目錄下的神秘幽靈,系統安全的殺手,它們被稱(chēng)作“U盤(pán)病毒”。無(wú)數Windows用戶(hù),都在為它們而焦頭爛額。這一篇文章是對U盤(pán)病毒的研究和與U盤(pán)病毒斗爭的經(jīng)驗教訓的總結。
Windows 95以后的系統都有一個(gè)“自動(dòng)運行”的功能。通過(guò)在卷插入時(shí)讀取磁盤(pán)卷上的Autorun.inf文件來(lái)獲得Explorer中卷的自定義圖標和對卷圖標的上下文菜單進(jìn)行修改,并對某些媒體自動(dòng)運行Autorun.inf中定義的可執行文件。05年以后,隨著(zhù)各種可移動(dòng)存儲設備的普及,國內有些黑客制作了盜取U盤(pán)內容并將自身復制到U盤(pán)利用Autorun.inf傳播的病毒。著(zhù)名的偽ravmon、copy+host、sxs、Viking、熊貓燒香等著(zhù)名病毒都有這種傳播方式。它們有時(shí)是根目錄下的神秘幽靈,有時(shí)是出現在不應該出現的地方的回收站,總之,它們是系統安全的嚴重威脅。
Autorun.inf被病毒利用一般有4種方式
1.OPEN=filename.exe
自動(dòng)運行。但是對于很多XPSP2用戶(hù)和Vista用戶(hù),Autorun已經(jīng)變成了AutoPlay,不會(huì )自動(dòng)運行它,會(huì )彈出窗口說(shuō)要你干什么。
2. shellAutocommand=filename.exe
shell=Auto
修改上下文菜單。把默認項改為病毒的啟動(dòng)項。但此時(shí)只要用戶(hù)在圖標上點(diǎn)擊右鍵,馬上發(fā)現破綻。精明點(diǎn)的病毒會(huì )改默認項的名字,但如果你在非中文的系統下發(fā)現右鍵菜單里多出了亂碼或者中文,你會(huì )認為是什么呢?
3.shellexecute=filename.exe
ShellExecute=....只要調用ShellExecuteA/W函數試圖打開(kāi)U盤(pán)根目錄,病毒就會(huì )自動(dòng)運行。這種是對付那些用Win+R輸盤(pán)符開(kāi)盤(pán)的人。
4.shellopen=打開(kāi)(&O)
shellopenCommand=filename.EXE
shellopenDefault=1
shellexplore=資源管理器(&X)
這種迷惑性較大,是新出現的一種形式。右鍵菜單一眼也看不出問(wèn)題,但是在非中文的系統下,原形畢露。突然出現的亂碼、中文當然難逃法眼。
面對這種危險,尤其是第四種,僅僅依靠Explorer本身,已經(jīng)很難判斷可移動(dòng)磁盤(pán)是否已經(jīng)中毒。而在這種情況下,一部分人也根據自己的經(jīng)驗,做出了“免疫”工具。
免疫的辦法,對可移動(dòng)磁盤(pán)和硬盤(pán)
1、同名目錄
目錄在Windows下是一種特殊的文件,而兩個(gè)同一目錄下的文件不能同名。于是,新建一個(gè)目錄“autorun.inf"在可移動(dòng)磁盤(pán)的根目錄,可以防止早期未考慮這種情況存在的病毒創(chuàng )建autorun.inf,減少傳播成功的概率。
2、autorun.inf下的非法文件名目錄
有些病毒加入了容錯處理代碼,在生成autorun.inf之前先試圖刪除autorun.inf目錄。
在Windows NT Win32子系統下,諸如"filename."這樣的目錄名是允許存在的,但是為了保持和DOS/Win9x的8.3文件系統的兼容性(.后為空非法),直接調用標準Win32 API中的目錄查詢(xún)函數是無(wú)法查詢(xún)這類(lèi)目錄中的內容的,會(huì )返回錯誤。但是,刪除目錄必須要逐級刪除其下的整個(gè)樹(shù)形結構,因此必須查詢(xún)其下每個(gè)子目錄的內容。因此,在“autorun.inf"目錄建一個(gè)此類(lèi)特殊目錄,方法如"MD x:autorun.infyksoft..",可以防止autorun.inf目錄輕易被刪除。類(lèi)似的還有利用Native API創(chuàng )建使用DOS保留名的目錄(如con、lpt1、prn等)也能達到相似的目的。
3、NTFS權限控制
病毒制造者也是黑客,知道Windows的這幾個(gè)可算是Bug的功能。他們可以做一個(gè)程序,掃描目錄時(shí)發(fā)現某目錄名最后一個(gè)字節為'.'則通過(guò)訪(fǎng)問(wèn)"dirfullname.."、或者通過(guò)利用Windows NT的Native API中的文件系統函數直接插手,刪除該特殊目錄。
因此,基于更低層的文件系統權限控制的辦法出現了。將U盤(pán)、移動(dòng)硬盤(pán)格式化為NTFS文件系統,創(chuàng )建Autorun.inf目錄,設置該目錄對任何用戶(hù)都沒(méi)有任何權限,病毒不僅無(wú)法刪除,甚至無(wú)法列出該目錄內容。
但是,該辦法不適合于音樂(lè )播放器之類(lèi)通常不支持NTFS的設備。
這三步可謂是一步比一步精彩。但是,最大的問(wèn)題不在怎么防止生成這個(gè)autorun.inf上,而是系統本身、Explorer的脆弱性。病毒作者很快就會(huì )做出更強大的方案。這是我的預想。
1、結合ANI漏洞,在autorun.inf里將icon設成一個(gè)ANI漏洞的Exploit文件(經(jīng)過(guò)我的實(shí)驗,發(fā)現Windows有一種特性,就算把ani擴展名改為ico,還是可以解析出圖標),這樣只要一打開(kāi)“我的電腦”,未打補丁、無(wú)殺軟的系統就會(huì )直接遭殃。這樣的東西還可以放到網(wǎng)上的各種資源ISO中。
2、提高病毒的整體編程水平,綜合以上各種反免疫方式,另外利用多數國內windows用戶(hù)常以高權限登錄系統的特點(diǎn),自動(dòng)將沒(méi)有權限的Autorun.inf目錄獲得所有權、加讀寫(xiě)刪除權限,擊破這最堅固的堡壘。
面對如此恐怖的東西,對付的辦法已經(jīng)不多了。但是它們其實(shí)是一切Windows安全問(wèn)題的基本解決方案,
1、一定要將系統和安全軟件保持在最新?tīng)顟B(tài)。即使是盜版用戶(hù),微軟也不會(huì )不給重要級別的安全更新,也從來(lái)沒(méi)有過(guò)在重要級別安全更新中加入反盜版程序的記錄。
2、盡量以受限制的帳戶(hù)使用系統和上網(wǎng),這樣可以減少病毒進(jìn)入系統的概率。Vista之所以加入UAC功能,正是因為它能夠使用戶(hù)在盡量方便的同時(shí),享受到受限用戶(hù)的安全。
3、某種程度上,可以說(shuō)QQ、IE和某些裝備能換真錢(qián)、什么都要真錢(qián)的網(wǎng)游是導致大量病毒木馬編寫(xiě)者出現的“萬(wàn)惡之源”。通過(guò)IE漏洞,制作網(wǎng)頁(yè)木馬,安裝盜號程序,盜取賬號,獲得人民幣。這條黑色產(chǎn)業(yè)鏈中,IE其實(shí)是最容易剪斷的一環(huán)。珍愛(ài)系統,系統一定要更新,要有能防止網(wǎng)頁(yè)木馬的殺毒軟件,用IE不要亂上各種小型下載站、SE情網(wǎng)站等高危站點(diǎn),如果有可能,使用非IE引擎的瀏覽器。
4、惡意捆綁軟件,現在越來(lái)越和病毒木馬接近。部分惡意軟件的FSD HOOK自我防御程序可能被病毒利用來(lái)保護自己(如SONY XCP事件),而一些惡意軟件本身就是一個(gè)病毒木馬的下載器。因此,不要讓流氓接近你的機器。
Autorun.inf的攻防戰還在繼續,只會(huì )變得越來(lái)越精彩,網(wǎng)民的安全意識會(huì )在攻與防的對立與統一中獲得突破性的進(jìn)展。
本篇文章來(lái)源于 新世紀網(wǎng)安基地 (www.520hack.com) 原文出處:http://www.520hack.com/Article/Text2/200803/9245.html |
|