這幾天,國(guó)內(nèi)的安全界特別熱鬧,一系列的嚴(yán)重誤殺事件攪動(dòng)了人們的神經(jīng)。本該殺病毒的“衛(wèi)士”們?cè)趺磿?huì)一瞬間調(diào)轉(zhuǎn)槍頭成了“殺手”呢?
殺毒軟件平時(shí)是響當(dāng)當(dāng)?shù)摹皺?quán)威人士”,我們信任它們,讓它們來保護(hù)電腦。但是任何事物都具有兩面性,當(dāng)我們看到其優(yōu)秀的一面時(shí),也要同時(shí)看到其不足之處。除了前言提到的誤殺事件外,殺毒軟件自身的一些漏洞也可能被黑客利用(圖1),對(duì)用戶的電腦造成傷害,筆者最近就碰到了一次。
桌面消失了
那天,筆者上班后照常打開電腦,登錄QQ發(fā)現(xiàn)有條留言,同事發(fā)來了一個(gè)內(nèi)部網(wǎng)頁(yè)。打開這個(gè)網(wǎng)頁(yè)后不久,就聽到硬盤一陣旋轉(zhuǎn)后很快就停了下來,筆者也沒有在意,繼續(xù)看網(wǎng)頁(yè)。但我返回桌面后不禁大吃一驚,桌面上的圖標(biāo)全部消失了,只剩下光禿禿的壁紙。
是什么原因讓桌面圖標(biāo)消失的呢?一下子我就聯(lián)想到最近國(guó)外殺毒軟件頻頻出現(xiàn)的“誤殺”事件,難道又是這些殺毒軟件在“興風(fēng)作浪”?恰好筆者安裝的就是《卡巴斯基》,于是立即重新啟動(dòng)操作系統(tǒng),但發(fā)現(xiàn)系統(tǒng)并沒有崩潰,能進(jìn)入系統(tǒng),也能從“開始”菜單中運(yùn)行程序。
問題出在網(wǎng)頁(yè)中
既然是訪問網(wǎng)頁(yè)的時(shí)候出現(xiàn)的問題,于是我再次打開那個(gè)網(wǎng)頁(yè),并查看其源代碼,果然在其中發(fā)現(xiàn)了一段可疑的腳本代碼。仔細(xì)分析,正是該腳本調(diào)用了系統(tǒng)中的一個(gè)函數(shù)接口,刪除了桌面圖標(biāo)。再通過注冊(cè)表文件來查看該系統(tǒng)組件所對(duì)應(yīng)的文件,結(jié)果嚇一跳,它對(duì)應(yīng)的文件就在《卡巴斯基》目錄中。難道《卡巴斯基》又出現(xiàn)了漏洞?
明顯是被同事“陰”了,找到這個(gè)惡作劇的同事,我才知道其中的原理。殺毒軟件在查殺過程中都會(huì)使用自帶的一個(gè)組件來進(jìn)行清理操作,這個(gè)組件在安裝時(shí)就被直接安裝進(jìn)入Windows系統(tǒng),比如在《卡巴斯基》的程序安裝過程中,就會(huì)將一個(gè)名叫“AxKLProd60.dll”的庫(kù)文件注冊(cè)為系統(tǒng)組件,這個(gè)組件的KLProd60類中提供了一個(gè)名為DeleteFile的函數(shù),這個(gè)函數(shù)就是用于清除病毒文件的(圖2)。
該組件本身沒有問題,但是被調(diào)用的時(shí)候卻不夠嚴(yán)謹(jǐn)。換句話說,如果可以通過某種方式調(diào)用這個(gè)函數(shù)的話,理論上就能夠刪除系統(tǒng)中的任意文件。
后果很嚴(yán)重
這引起我的研究興趣了,我將原來的網(wǎng)頁(yè)腳本進(jìn)行了一番修改,目的是驗(yàn)證安裝了《卡巴斯基》的用戶,會(huì)不會(huì)在毫不之情的情況下被莫名其妙地刪除文件。為了保證系統(tǒng)安全,我在文件被刪除以前對(duì)其進(jìn)行了備份。打開記事本輸入如圖3的代碼,并將其另存為一個(gè)網(wǎng)頁(yè)文件。
在本地計(jì)算機(jī)打開這個(gè)網(wǎng)頁(yè),如果是Windows XP SP2或者Windows Vista系統(tǒng)的話,IE瀏覽器會(huì)彈出一個(gè)安全提示,成功執(zhí)行該網(wǎng)頁(yè)后果然發(fā)現(xiàn)那文件被刪除了。如果將該網(wǎng)頁(yè)文件上傳到網(wǎng)站空間,在訪問該文件以后同樣可以刪除硬盤中的指定文件,而且瀏覽器還不會(huì)出現(xiàn)任何的安全提示。
同樣,無(wú)論是在本地還是在網(wǎng)絡(luò)空間運(yùn)行該網(wǎng)頁(yè)文件,即使有UAC保護(hù)下的Vista系統(tǒng),這個(gè)漏洞也可以被利用。
寫在最后
筆者所進(jìn)行的測(cè)試比較簡(jiǎn)單,如果有人對(duì)這個(gè)漏洞重寫代碼,利用For循環(huán)對(duì)磁盤文件掃描后,就可以在瞬間刪除系統(tǒng)中所有指定類型的文件。
由此可見該漏洞造成的后果是相當(dāng)嚴(yán)重的,本來是保護(hù)系統(tǒng)安全的殺毒軟件,就這樣一下子就成為了“系統(tǒng)殺手”。《卡巴斯基》,真的想說愛你不容易!
經(jīng)過測(cè)試,無(wú)論是英文版還是中文版,只要是主程序的版本為V6.0.0.303的,都存在這個(gè)漏洞。所以用戶必須把《卡巴斯基》升級(jí)到最新版本,才可避免這個(gè)漏洞的危害。