圖片病毒技術原理剖析

來源:互聯網
上載者:User

一、被詛咒的油畫

在網路上流傳著一幅詭異的油畫,據說很多人看後會產生幻覺,有人解釋為油畫的構圖色彩導致的視覺刺激,也有人認為是心理作用,眾說紛紜,卻沒有令人信服的答案。在網路公司上班的秘書小王也從一個網友那裡得知了這幅畫,她馬上迫不及待的點擊了網友給的圖片串連。

圖片出來了,小王終於見識到了傳說中詭異的油畫,面對著螢幕上那兩個看似正常的孩子,她卻覺得背後涼颼颼的。那網友也很熱心的和她聊這幅畫的來源,小王入神的聽著,絲毫沒有注意到IE瀏覽器左下角的狀態列開啟頁面的進度條一直沒停止過。

如果說小王剛才只是背後發冷的話,那麼現在她已經是全身發冷了:電腦光碟機自動彈了出來,剛按回去又彈了出來,她著急的請教那個網友,那邊很平靜的說:“哦,也許是光碟機壞了吧,我有事先下了,你找人修一下。”然後頭像暗了。

小王已經無法回複他的話了:滑鼠正在不聽使喚的亂跑,鍵盤也沒了反應,過了一會兒,電腦自己重啟了,而且永遠停留在了“NTLDR is missing...”的出錯資訊上。

顯而易見,這又是一個典型的木馬破壞事件,但是小王開啟的是圖片,難道圖片也會傳播病毒了?答案很簡單也很出人意料:小王開啟的根本不是圖片。

IE瀏覽器的功能很強大,它可以自動識別並開啟特定格式的檔案而不用在乎它是什麼檔案尾碼名,因為IE對檔案內容的判斷並不是基於尾碼名的,而是基於檔案頭部和MIME。當使用者開啟一個檔案時,IE讀取該檔案的頭部資訊並在本機註冊表資料庫內尋找它對應的MIME格式描述,例如開啟一個MIDI檔案,IE先讀取檔案前面一段資料,根據MIDI檔案的標準定義,它必須包含以“RIFF”開頭的描述資訊,根據這區段標記,IE在註冊表定位找到了“x-audio/midi”的MIME格式,然後IE確認它自己不具備開啟這段資料的能力,所以它根據註冊表裡的檔案尾碼名資訊找到某個已經註冊為開啟尾碼名為“.MID”的檔案,然後提交給此程式執行,我們就看到了最終結果。

正是因為這個原理,所以IE很容易受傷。入侵者通過偽造一個MIME標記描述資訊而使網頁得以藏蟲,在這裡也是相同的道理,小王開啟的實際上是一個尾碼名改為圖片格式的HTML頁面,它包含上述兩個漏洞的病毒檔案和一個高度和寬度都設定為100%的圖片IMG標記,所以在小王看來,這隻是一個圖片檔案,然而,圖片的背後卻是惡毒的木馬。木馬程式體積都比較大,下載需要一定時間,這就是IE進度條一直沒停止的原因。入侵者為了確保受害者開啟頁面的時間可以使整個木馬檔案下載完畢,就採用了社交工程學,讓受害者不會在很短的時間內關閉頁面,當木馬下載執行後,“圖片”的詛咒就應驗了。

二、位元影像特性的悲哀

他是一家公司的網路系統管理員,在伺服器維護和安全設定方面有足夠多的經驗,因此他無需懼怕那些利用瀏覽器漏洞實現的病毒。這天他在一個技術論壇裡看到一個網友發的關於AMD某些型號的處理器存在運算瑕庇的文章,並給出一個測試頁面串連,根據官方描述,如果你用的CPU存在瑕庇,那麼你會看到頁面上的測試圖片顯示得破損錯亂。他心裡一驚:自己用的CPU正是這個型號。他馬上點擊了頁面串連。

看著頁面上亂七八糟的一幅圖片,他心裡涼了一截:這台機器的CPU居然有問題,而他還要用這台機器處理公司的重要資料的!他馬上去管理部找負責人協商,把顯示著一幅胡裡花哨圖片的機器晾在一邊。

管理部答應儘快給他更換一台機器,讓他把硬碟轉移過去,因為上面有重要的業務資料。他回來時看到那幅圖片還在耀武揚威,他厭惡的關閉了頁面,照例開啟存放資料的檔案夾,他的腦袋一下子空白了:資料不見了!誰刪除了?他慌亂的尋找硬碟每個角落,可那些檔案卻像蒸發了一樣。許久,他終於反應過來了:機器被入侵了!他取下硬碟直奔資料恢複公司而去。

事後他仔細分析了原因,因為機器已經通過了嚴格的安全性測試而且打了所有補丁,通過網頁漏洞和溢出攻擊是不可能的了,唯一值得懷疑的只有那個所謂的瑕庇測試網頁了,他迅速下載分析了整個頁面代碼,看著頁面原始碼裡尾碼名為“.BMP”的IMG標記和一堆複雜的指令碼代碼,他知道自己是栽在了BMP木馬的手上。

那幅“測試瑕庇”的圖片,無論到什麼機器上都是一樣有“瑕庇”,因為它根本不是圖片檔案,而是一個以BMP格式檔案頭部開始的木馬程式。

為什麼看似溫順的圖片檔案也變成了害人的兇器?這要從位元影像(Bitmap)格式說起,許多朋友應該都知道流傳了很久的被稱為“圖片藏字”的“密文”傳播方式,即在位元影像檔案尾部追加一定量的資料而不會對原位元影像檔案造成太大破壞,這是位元影像格式的限制寬鬆而造成的。系統判斷一個位元影像檔案的方法並不是嚴格盤查,而是僅僅從檔案頭部的54位元組裡讀取它的長寬、位元、檔案大小、資料區長度就完成了圖片的識別,寬鬆的盤查機制使得BMP木馬得以誕生。

不過先要澄清一點概念,BMP木馬並不是在BMP位元影像檔案屁股後追加的EXE檔案,而是一個獨立的EXE可執行檔,但是它的檔案PE頭部已經用位元影像檔案頭部替換了,由於系統的盤查機制,這個EXE檔案就被瀏覽器認成位元影像檔案了。既然是位元影像,在瀏覽器的程式邏輯裡,這是需要下載到Internet快取檔案夾然後顯示在頁面上的檔案,但是因為這個檔案本來就不是位元影像,它被強制顯示出來以後自然會變成一堆無意義的垃圾資料,在使用者眼裡,它就成了一幅亂七八糟的映像。但這不是引起木馬危機的原因,要留意的是這些文字:“需要下載到Internet快取檔案夾”!這說明瀏覽器已經請狼入室了——木馬已經在硬碟上安家了,但是目前它還在沉睡中,因為它的檔案頭部被改為位元影像格式,導致它自身已經不能運行,既然不能運行,理所當然就不能對系統構成危害,那麼這隻狼在硬碟呆多久也是廢物一個,入侵者當然不能任由它浪費,因此他們在做個頁面給瀏覽器下載木馬的同時,也會設定頁面代碼讓瀏覽器幫忙脫去這隻狼的外衣——把位元影像格式頭部換成可執行檔的PE頭部,然後運行它。經過這些步驟,一隻惡狼進駐了系統。

這個無法修補的漏洞十分可怕,使用者很難知道他們正在瀏覽的頁面是否正在偷偷下載著木馬資料,因為即使他們打好了所有補丁也無濟於事,木馬是被IE“合法”下載的,不屬於代碼漏洞,而且單靠程式本身也很難判斷這個映像是不是木馬程式,機器靠二進位完成處理工作,而不是視網膜成象交給大腦判斷。但是,由於這也是需要下載檔案的入侵方式,它能否下載完畢以及使用者願不願意去看頁面就要取決於入侵者的社交工程學了,在任何一個頁面裡放出一個亂七八糟的圖片或者來一個隱藏的圖片框都不是最明智的選擇,除非利用一些“暇庇聲明”或更能引起人的興趣的伎倆。那家公司的網管之所以會這麼不設防,就是因為攻擊者偷用了人們的“心理盲區”,因為人們對安全、漏洞、病毒、暇庇等內容會特別敏感,所以入侵者發個專業暇庇案例就欺騙了一大堆人,這次是拿真實的事件:AMD某些型號CPU會導致映像顯示出問題的暇庇來做魚餌,下一次又該拿什麼了呢?

相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。