神算網站源碼-九游会j9娱乐平台
① 電腦中病毒怎麼辦
一、如何判斷你的計算機是否感染了病毒電腦出故障不只是因為感染病毒才會有的,個人電腦使用過程中出現各種故障現象多是因為電腦本身的軟、硬體故障引起的,網路上的多是由於許可權設置所致。我們只有充分地了解兩者的區別與聯系,才能作出正確的判斷,在真正病毒來了之時才會及時發現。下面我就簡要列出了分別因病毒和軟、硬體故障引起的一些常見電腦故障症狀分析。 如下症狀是因為被入侵還是因為軟、硬體故障所至1、經常死機:病毒打開了許多文件或佔用了大量內存;不穩定(如內存質量差,硬體超頻性能差等);運行了大容量的軟體佔用了大量的內存和磁碟空間;使用了一些測試軟體(有許多bug);硬碟空間不夠等等;運行網路上的軟體時經常死機也許是由於網路速度太慢,所運行的程序太大,或者自己的工作站硬體配置太低。 2、系統無法啟動:病毒修改了硬碟的引導信息,或刪除了某些啟動文件。如引導型病毒引導文件損壞;硬碟損壞或參數設置不正確;系統文件人為地誤刪除等。 3、文件打不開:病毒修改了文件格式;病毒修改了文件鏈接位置。文件損壞;硬碟損壞;文件快捷方式對應的鏈接位置發生了變化;原來編輯文件的軟體刪除了;如果是在區域網中多表現為伺服器中文件存放位置發生了變化,而工作站沒有及時涮新服器的內容(長時間打開了資源管理器)。 4、經常報告內存不夠:病毒非法佔用了大量內存;打開了大量的軟體;運行了需內存資源的軟體;系統配置不正確;內存本身就不夠(目前基本內存要求為128m)等。 5、提示硬碟空間不夠:病毒復制了大量的病毒文件(這個遇到過好幾例,有時好端端的近10g硬碟安裝了一個win98或winnt4.0系統就說沒空間了,一安裝軟體就提示硬碟空間不夠)。硬碟每個分區容量太小;安裝了大量的大容量軟體;所有軟體都集中安裝在一個分區之中;硬碟本身就小;如果是在區域網中系統管理員為每個用戶設置了工作站用戶的"私人盤"使用空間限制,因查看的是整個網路盤的大小,其實"私人盤"上容量已用完了。 6、軟盤等設備未訪問時出讀寫信號:病毒感染;軟盤取走了還在打開曾經在軟盤中打開過的文件。 7、出現大量來歷不明的文件:病毒復制文件;可能是一些軟體安裝中產生的臨時文件;也或許是一些軟體的配置信息及運行記錄。 8、啟動黑屏:病毒感染(記憶最深的是98年的4.26,我為cih付出了好幾千元的代價,那天我第一次開機到了windows畫面就死機了,第二次再開機就什麼也沒有了);顯示器故障;顯示卡故障;主板故障;超頻過度;cpu損壞等等 9、數據丟失:病毒刪除了文件;硬碟扇區損壞;因恢復文件而覆蓋原文件;如果是在網路上的文件,也可能是由於其它用戶誤刪除了。 二、 蠕蟲病毒的種類 1、 蠕蟲病毒的種類:1988年11月2日,世界上第一個計算機蠕蟲正式誕生。美國康乃爾大學一年級研究生莫里斯為了求證計算機程序能否在不同的計算機之間自我復制傳播,他寫了一段試驗程序,為了程序能順利進入另一台計算機,他寫了一段破解用戶口令的代碼。11月2日早上5點,這段被稱為"worm"(蠕蟲)的程序開始了它的旅行,它果然沒有辜負莫里斯的期望:它爬進了幾千台電腦,讓它們死機,造成了經濟損失高達9600萬美元的記錄。從此,"蠕蟲"這個名詞傳開了,莫里斯也許並不知道:他在證明這個結論的同時,也打開了潘多拉魔盒。 a、郵件蠕蟲:iframe是一段用於往網頁里放入一個小頁面的html語言,它用來實現"框架"結構。當年有好事者測試出一個可怕的現象:往一個頁面里放入多個iframe時,框架里請求運行程序的代碼就會被執行,如果有人故意做了一個執行破壞程序的頁面,那後果可想而知。由於iframe的尺寸可以自由設置,因此破壞者可以在一個頁面里放入多個"看不見"的框架,並附帶多個"看不見"的有害程序,瀏覽了那個網頁的人自然就成了受害者!和iframe漏洞相比,mime漏洞更加出名,它其實只是一小段用來描述信息類型的數據。瀏覽器通過讀取它來得知接收到的數據該怎麼處理,如果是文本和圖片就顯示出來,是程序就彈出下載確認,是音樂就直接播放。請留意最後一個類型:音樂,瀏覽器對它採取的動作是:播放。 b、網頁里的爬蟲 c、社會學蟲子 d、系統漏洞蠕蟲 2、幾個典型病毒實例 a、油畫 在網路上流傳著一幅詭異的油畫,據說很多人看後會產生幻覺,有人解釋為油畫的構圖色彩導致的視覺刺激,也有人認為是心理作用,眾說紛紜,卻沒有令人信服的答案。面對著屏幕上那兩個看似正常的孩子,會使人入神的看,而絲毫沒有注意到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進度條一直沒停止的原因。入侵者為了確保受害者打開頁面的時間可以使整個木馬文件下載完畢,就採用了社會工程學,讓受害者不會在很短的時間內關閉頁面。 b、點陣圖特性(bmp)他是一家公司的網路管理員,在伺服器維護和安全設置方面有足夠多的經驗,因此他無需懼怕那些利用瀏覽器漏洞實現的病毒。這天他在一個技術論壇里看到一個網友發的關於amd某些型號的處理器存在運算瑕庇的帖子,並給出一個測試頁面連接,根據官方描述,如果你用的cpu存在瑕庇,那麼你會看到頁面上的測試圖片顯示得破損錯亂。他心裡一驚:自己用的cpu正是這個型號。他馬上點擊了頁面連接。看著頁面上亂七八糟的一幅圖片,他心裡涼了一截:這台機器的cpu居然有問題,而他還要用這台機器處理公司的重要數據的!他馬上去管理部找負責人協商,把顯示著一幅胡里花哨圖片的機器晾在一邊。管理部答應盡快給他更換一台機器,讓他把硬碟轉移過去,因為上面有重要的業務資料。他回來時看到那幅圖片還在耀武揚威,他厭惡的關閉了頁面,照例打開存放資料的文件夾,他的腦袋一下子空白了:資料不見了!誰刪除了?他慌亂的查找硬碟每個角落,可那些文件卻像蒸發了一樣。許久,他終於反應過來了:機器被入侵了!他取下硬碟直奔數據恢復公司而去。事後他仔細分析了原因,因為機器已經通過了嚴格的安全測試而且打了所有補丁,通過網頁漏洞和溢出攻擊是不可能的了,唯一值得懷疑的只有那個所謂的瑕庇測試網頁了,他迅速下載分析了整個頁面代碼,看著頁面源代碼里後綴名為".bmp"的img標記和一堆復雜的腳本代碼,他知道自己是栽在了bmp木馬的手上。那幅"測試瑕庇"的圖片,無論到什麼機器上都是一樣有"瑕庇",因為它根本不是圖片文件,而是一個以bmp格式文件頭部開始的木馬程序。為什麼看似溫順的圖片文件也變成了害人的凶器?這要從點陣圖(bitmap)格式說起,許多朋友應該都知道流傳了很久的被稱為"圖片藏字"的"密文"傳播方式,即在點陣圖文件尾部追加一定量的數據而不會對原點陣圖文件造成太大破壞,這是點陣圖格式的限制寬松而造成的。系統判斷一個點陣圖文件的方法並不是嚴格盤查,而是僅僅從文件頭部的54位元組里讀取它的長寬、位數、文件大小、數據區長度就完成了圖片的識別,寬松的盤查機制使得bmp木馬得以誕生。不過先要澄清一點概念,bmp木馬並不是在bmp點陣圖文件屁股後追加的exe文件,而是一個獨立的exe可執行文件,但是它的文件pe頭部已經用點陣圖文件頭部替換了,由於系統的盤查機制,這個exe文件就被瀏覽器認成點陣圖文件了。既然是點陣圖,在瀏覽器的程序邏輯里,這是需要下載到internet高速緩存文件夾然後顯示在頁面上的文件,但是因為這個文件本來就不是點陣圖,它被強制顯示出來以後自然會變成一堆無意義的垃圾數據,在用戶眼裡,它就成了一幅亂七八糟的圖像。但這不是引起木馬危機的原因,要留意的是這些文字:"需要下載到internet高速緩存文件夾"!這說明瀏覽器已經請狼入室了--木馬已經在硬碟上安家了,但是目前它還在沉睡中,因為它的文件頭部被改為點陣圖格式,導致它自身已經不能運行,既然不能運行,理所當然就不能對系統構成危害,那麼這只狼在硬碟呆多久也是廢物一個,入侵者當然不能任由它浪費,因此他們在做個頁面給瀏覽器下載木馬的同時,也會設置頁面代碼讓瀏覽器幫忙脫去這只狼的外衣--把點陣圖格式頭部換成可執行文件的pe頭部,然後運行它。經過這些步驟,一隻惡狼進駐了系統。這個無法修補的漏洞十分可怕,用戶很難知道他們正在瀏覽的頁面是否正在偷偷下載著木馬數據,因為即使他們打好了所有補丁也無濟於事,木馬是被ie"合法"下載的,不屬於代碼漏洞,而且單靠程序本身也很難判斷這個圖像是不是木馬程序,機器靠二進制完成處理工作,而不是視網膜成象交給大腦判斷。但是,由於這也是需要下載文件的入侵方式,它能否下載完畢以及用戶願不願意去看頁面就要取決於入侵者的社會工程學了,在任何一個頁面里放出一個亂七八糟的圖片或者來一個隱藏的圖片框都不是最明智的選擇,除非利用一些"暇庇聲明"或更能引起人的興趣的伎倆。那家公司的網管之所以會這么不設防,就是因為攻擊者偷用了人們的"心理盲區",因為人們對安全、漏洞、病毒、暇庇等內容會特別敏感,所以入侵者發個專業暇庇案例就欺騙了一大堆人,這次是拿真實的事件:amd某些型號cpu會導致圖像顯示出問題的暇庇來做魚餌,下一次又該拿什麼了呢? c、魔鬼的詛咒(jpeg、gif)對於某娛樂論壇的大部分用戶來說,今天是個黑色的日子,因為他們在看過一個《被詛咒的眼睛》油畫帖子後,系統遭到了不明原因的破壞。論壇管理層的技術人員立即對這個帖子進行了多次分析,可是整個頁面就只有一個jpeg圖片的連接,其他惡意代碼和程序根本不存在。入侵者靠什麼破壞了看帖用戶的機器?難道竟是這個jpeg圖片?答案恐怕讓人難以接受,的確就是這幅jpeg圖片讓用戶感染了病毒。盡管病毒研究一直未曾停止,可是發展到這個地步,實在讓人不能承受:再下去是不是打開一個文本文件都會被感染病毒?圖片帶毒來襲,實在讓所有人都擦了一把汗,然而我們都知道,jpeg、gif等格式圖片不具備可以執行自身並散播病毒的條件,這不符合邏輯。回憶一下2004年9月14日的事,微軟發布了ms04-028安全公告:jpeg處理(gdi )中的緩沖區溢出可能使代碼得以執行。沒錯,就是這個漏洞,它的術語叫gdi ,對應的動態鏈接庫為gdiplus.dll,這是一種圖形設備介面,能夠為應用程序和程序員提供二維媒介圖形、映像和版式,大部分windows程序都調用這個dll完成jpeg格式圖片的處理工作。但是現在,正是這個"公眾人物"成了眾矢之的。說到這里,有基礎的讀者應該明白了吧:並不是圖片自己能傳播病毒,而是系統負責圖形處理工作的模塊會在處理圖片時發生溢出導致圖片內攜帶的惡意指令得以執行破壞。如果某個圖片工具不調用這個系統模塊,而是使用自己的處理模塊,那麼同樣包含惡意指令的圖片就不能達到破壞目的。但是因為這個系統模塊是默認的處理模塊,所以大部分程序在"jpeg病毒"面前紛紛落馬。這個溢出是怎麼產生的呢?這要從系統如何讀取jpeg格式圖形的原理說起,系統處理一個jpeg圖片時,需要在內存里載入jpeg處理模塊,然後jpeg處理模塊再把圖片數據讀入它所佔據的內存空間里,也就是所說的緩沖區,最後我們就看到了圖片的顯示,然而就是在圖片數據進入緩沖區的這一步出了錯--windows規定了緩沖區的大小,卻沒有嚴格檢查實際容納的數據量,這個帶缺陷的邊界檢查模式導致了噩夢:入侵者把一個jpeg圖片的數據加工得異常巨大並加入惡意指令,那麼這個圖片在系統載入內存時候會發生什麼情況呢?圖片數據會漲滿整個jpeg處理模塊提供的緩沖區並恰好把惡意指令溢出到程序自身的內存區域,而這部分內存區域是用於執行指令的,即核心區,於是惡意指令被程序誤執行了,入侵者破壞系統或入侵機器的行為得以正常實施。有人也許會疑惑,入侵者都是神運算元嗎,他們為什麼能准確的知道會是哪些數據可以溢出執行?答案很簡單,因為windows在分配jpeg處理模塊的空間時,給它指定的內存起始地址是固定的,入侵者只要計算好這個空間大小,就能知道會有哪些數據被執行了,所以jpeg病毒迅速傳播起來。所謂jpeg病毒,並不是jpeg圖片能放出病毒,而是系統處理jpeg圖片的模塊自己執行了jpeg圖片攜帶的病毒,所以我們大可不必人心惶惶,只要補上了gdiplus.dll的漏洞,那麼即使你機器上的所有jpeg圖片都帶有病毒數據,它們也無法流竄出來搞破壞,正如美國馬薩諸塞州立大學助理教授奧斯汀所言:"病毒不僅僅是可自我復制的代碼,他們需要通過可執行代碼的方式來進行傳播。jpeg文件不能執行代碼,他們是由應用軟體打開的數據文件。應用軟體不會去查找數據文件中的可執行的代碼,為此不會運行這些病毒代碼。" 蠕蟲病毒,則是對個人用戶威脅最大,同時也是最難以根除,造成的損失也更大的一類蠕蟲病毒 對於個人用戶而言,威脅大的蠕蟲病毒採取的傳播方式一般為電子郵件(email)以及惡意網頁等等對於利用email傳播得蠕蟲病毒來說,通常利用的是社會工程學(social engineering),即以各種各樣的欺騙手段那誘惑用戶點擊的方式進行傳播惡意網頁確切的講是一段黑客破壞代碼程序,它內嵌在網頁中,當用戶在不知情的情況下打開含有病毒的網頁時,病毒就會發作。這種病毒代碼鑲嵌技術的原理並不復雜,所以會被很多懷不良企圖者利用,在很多黑客網站竟然出現了關於用網頁進行破壞的技術的論壇,並提供破壞程序代碼下載,從而造成了惡意網頁的大面積泛濫,也使越來越多的用戶遭受損失。對於惡意網頁,常常採取vb script和java script編程的形式!由於編程方式十分的簡單!所以在網上非常的流行!vb script和java script是由微軟操作系統的wsh(windows scripting hostwindows腳本主機)解析並執行的,由於其編程非常簡單,所以此類腳本病毒在網上瘋狂傳播,瘋狂一時的愛蟲病毒就是一種vbs腳本病毒,然後偽裝成郵件附件誘惑用戶點擊運行,更為可怕的是,這樣的病毒是以源代碼的形式出現的,只要懂得一點關於腳本編程的人就可以修改其代碼,形成各種各樣的變種。下面以一個簡單的腳本為例:set o**fs=createo**ect ("scripting.filesystemo**ect")(創建一個文件系統對象)o**fs.createtextfile ("c:\virus.txt", 1)(通過文件系統對象的方法創建了txt文件)如果我們把這兩句話保存成為.vbs的vb腳本文件,點擊就會在c盤中創建一個txt文件了。倘若我們把第二句改為:o**fs.getfile (wscript.scriptfullname).copy ("c:\virus.vbs")就可以將自身復制到c盤virus.vbs這個文件。本句前面是打開這個腳本文件,wscript.scriptfullname指明是這個程序本身,是一個完整的路徑文件名。getfile函數獲得這個文件,copy函數將這個文件復制到c盤根目錄下virus.vbs這個文件。這么簡單的兩句就實現了自我復制的功能,已經具備病毒的基本特徵--自我復制能力。此類病毒往往是通過郵件傳播的,在vb script中調用郵件發送功能也非常的簡單,病毒往往採用的方法是向outlook中的地址薄中的郵件地址發送帶有包含自身的郵件來達到傳播目的,一個簡單的實例如下:set o**oa=wscript.createo**ect ("outlook.application")(創建一個outlook應用的對象)set o**mapi=o**oa.getnamespace ("mapi")(取得mapi名字空間)for i=1 to o**mapi.addresslists.count(遍歷地址簿) set o**addlist=o**mapi.addresslists (i) for j=1 to o**addlist. addressentries.count set o**mail=o**oa.createitem (0) o**mail.recipients.add (o**addlist. addressentries (j))(取得收件人郵件地址 )o**mail.su**ect="你好!" (設置郵件主題,這個往往具有很大的誘惑性質)o**mail.body="這次給你的附件,是我的新文檔!" (設置信件內容)o**mail.attachments.add ("c:\virus.vbs")(把自己作為附件擴散出去 )o**mail.send(發送郵件)nextnext set o**mapi=nothing(清空o**mapi變數,釋放資源)set o**oa=nothing(清空o**oa變數)這一小段代碼的功能是向地址簿中的用戶發送電子郵件,並將自己作為附件擴散出去。這段代碼中的第一行是創建一個outlook的對象,是必不可少的。在其下是一個循環,在循環中不斷地向地址簿中的電子郵件地址發送內容相同的信件。這就是蠕蟲的傳播性。由此可以看出,利用vb script編寫病毒是非常容易的,這就使得此類病毒的變種繁多,破壞力極大,同時也是非常難以根除的! 三、個人用戶對蠕蟲病毒的防範措施通過上述的分析,我們可以知道,病毒並不是非常可怕的,網路蠕蟲病毒對個人用戶的攻擊主要還是通過社會工程學,而不是利用系統漏洞!所以防範此類病毒需要注意以下幾點:1、必須安裝防病毒軟體。瑞星在殺毒軟體的同時整合了防火強功能,從而對蠕蟲兼木馬程序有很大克製作用。2、經常升級病毒庫,殺毒軟體對病毒的查殺是以病毒的特徵碼為依據的,而病毒每天都層出不窮,尤其是在網路時代,蠕蟲病毒的傳播速度快,變種多,所以必須隨時更新病毒庫,以便能夠查殺最新的病毒! 一般要做到一周一次或者更多次。但由於我們安裝的殺毒軟體一般是一個安裝幾台機器,會遇我升級失敗的情況,一個id號的軟體一天有升級數目的限制,如遇到這種情況,就改天再升級,即可解決這個問題。3、提高防殺毒意識.不要輕易去點擊陌生的站點,有可能裡面就含有惡意代碼!4、不隨意查看陌生郵件,尤其是帶有附件的郵件,由於有的病毒郵件能夠利用ie和outlook的漏洞自動執行,所以計算機用戶需要升級ie和outlook程序,及常用的其他應用程序! 1、message error、 do***ent re: mail authentification re: is that your do***ent? notice again 5、要養成經常升級系統的習慣:具體方法a、將開始菜單設置成經典模式。然且在開始菜單中點擊windows update項按指引即可完成升級。b、也可以配置自動更新(建議不採用這種方法) 6、不要輕信qq里推薦給你的圖片、網址什麼的,有時這些東西往往是你的朋友(網友)發給你的。 7、 要養成良好的計算機應用習慣,備份重要的數據。 8、不要輕信有人得用系統信使發來的消息,瀏覽不明網站.
病毒總是會想方設法地入侵我們的電腦搞破壞,雖然你可以使用反病毒之類的軟體,但也絕不能忽視平時的預防工作。「御敵於國門之外」是最理想的,所以建議大家應採用「防為先」的原則來對付病毒。下面的防毒、治毒觀點,希望對大家有所借鑒。
1.先製作一張應急盤
製作一個無毒的系統應急引導盤是非常非常必要的,最好還要復制一個反病毒軟體和一些你認為比較實用的工具軟體到這個盤上,然後關上防寫。
2.謹防入口
有了好用的東東,我們都喜歡與朋友共享,根據經驗,建議你在掃描病毒前最好不要用軟盤啟動系統,君不見,90%以上的病毒是引導型病毒?也不要執行未檢驗的壓縮文件,比如從網上down的文件(在網吧里還是可以考慮的^_^)。還有,勸大家要小心電子郵件的附件(雖然有些從表面上看是文本形式的),即使是朋友發過來的也別輕易就去雙擊運行。
3.實施備份
對於我們在日常工作中辛辛苦苦創作的論文、費時費力地從網上收集來的各種資料,這都是你的勞動成果,應該是至少每周進行一次備份,而且最好是進行異地備份(就是備份到你的電腦之外的存儲設備,比如軟盤或usb移動硬碟)。這樣當電腦內的文件萬一被病毒破壞後,它們就派上大用場了,當然在此之前一定要確認你的備份文件是「干凈」的。
4.「我的電腦」
你的私人電腦,最好不要讓別人隨便亂動:菜鳥會動不動就在上面來個「誤操作」什麼的,大蝦也難免想借你的愛機試試他剛「研究」的幾板斧。不管是哪種情況都有可能讓你的資料瞬間全無,哭都來不及!所以至少你要嚴防他人在你的電腦上使用他自己的軟盤或光碟,不管他是有意還是無意的。
5.留心異狀
奉勸各位一句:平時使用電腦時一定要細心加小心地注意它的表現,如果發覺有異常症狀出現,比如速度慢得像蝸牛、256mb的內存竟然不夠、突然增加一些從未謀面的文件、系統或自己熟悉的文件長度有所增減等,你的第一反應就應該是:中毒了!!!此時你務必要停下手頭的工作,馬上進行病毒的查殺,千萬馬虎不得!否則,你的損失只能是越來越嚴重,若等到系統崩潰、一切化為烏有的那一刻,就悔之晚矣!
6.不忘升級
安裝了反病毒軟體並不是一勞永逸的,千萬別讓病毒從反病毒軟體的眼皮底下溜入系統。所以你要時常關心反病毒方面的報道或常到對應的反病毒廠商的網頁上溜達溜達,了解最近病毒的活動動向,更新病毒的查殺代碼,升級你的反病毒軟體。
② 圖片病毒是什麼原理
圖片病毒技術原理剖析
一、被詛咒的油畫
在網路上流傳著一幅詭異的油畫,據說很多人看後會產生幻覺,有人解釋為油畫的構圖色彩導致的視覺刺激,也有人認為是心理作用,眾說紛紜,卻沒有令人信服的答案。在網路公司上班的秘書小王也從一個網友那裡得知了這幅畫,她馬上迫不及待的點擊了網友給的圖片連接。
圖片出來了,小王終於見識到了傳說中詭異的油畫,面對著屏幕上那兩個看似正常的孩子,她卻覺得背後涼颼颼的。那網友也很熱心的和她聊這幅畫的來源,小王入神的聽著,絲毫沒有注意到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會導致圖像顯示出問題的暇庇來做魚餌,下一次又該拿什麼了呢?
三、魔鬼的詛咒
對於某娛樂論壇的大部分用戶來說,今天是個黑色的日子,因為他們在看過一個《被詛咒的眼睛》油畫帖子後,系統遭到了不明原因的破壞。
論壇管理層的技術人員立即對這個帖子進行了多次分析,可是整個頁面就只有一個jpeg圖片的連接,其他惡意代碼和程序根本不存在。入侵者靠什麼破壞了看帖用戶的機器?難道竟是這個jpeg圖片?
答案恐怕讓人難以接受,的確就是這幅jpeg圖片讓用戶感染了病毒。盡管病毒研究一直未曾停止,可是發展到這個地步,實在讓人不能承受:再下去是不是打開一個文本文件都會被感染病毒?
圖片帶毒來襲,實在讓所有人都擦了一把汗,然而我們都知道,jpeg、gif等格式圖片不具備可以執行自身並散播病毒的條件,這不符合邏輯。回憶一下2004年9月14日的事,微軟發布了ms04-028安全公告:jpeg處理(gdi )中的緩沖區溢出可能使代碼得以執行。沒錯,就是這個漏洞,它的術語叫gdi ,對應的動態鏈接庫為gdiplus.dll,這是一種圖形設備介面,能夠為應用程序和程序員提供二維媒介圖形、映像和版式,大部分windows程序都調用這個dll完成jpeg格式圖片的處理工作。但是現在,正是這個「公眾人物」成了眾矢之的。
說到這里,有基礎的讀者應該明白了吧:並不是圖片自己能傳播病毒,而是系統負責圖形處理工作的模塊會在處理圖片時發生溢出導致圖片內攜帶的惡意指令得以執行破壞。如果某個圖片工具不調用這個系統模塊,而是使用自己的處理模塊,那麼同樣包含惡意指令的圖片就不能達到破壞目的。但是因為這個系統模塊是默認的處理模塊,所以大部分程序在「jpeg病毒」面前紛紛落馬。
這個溢出是怎麼產生的呢?這要從系統如何讀取jpeg格式圖形的原理說起,系統處理一個jpeg圖片時,需要在內存里載入jpeg處理模塊,然後jpeg處理模塊再把圖片數據讀入它所佔據的內存空間里,也就是所說的緩沖區,最後我們就看到了圖片的顯示,然而就是在圖片數據進入緩沖區的這一步出了錯——windows規定了緩沖區的大小,卻沒有嚴格檢查實際容納的數據量,這個帶缺陷的邊界檢查模式導致了噩夢:入侵者把一個jpeg圖片的數據加工得異常巨大並加入惡意指令,那麼這個圖片在系統載入內存時候會發生什麼情況呢?圖片數據會漲滿整個jpeg處理模塊提供的緩沖區並恰好把惡意指令溢出到程序自身的內存區域,而這部分內存區域是用於執行指令的,即核心區,於是惡意指令被程序誤執行了,入侵者破壞系統或入侵機器的行為得以正常實施。有人也許會疑惑,入侵者都是神運算元嗎,他們為什麼能准確的知道會是哪些數據可以溢出執行?答案很簡單,因為windows在分配jpeg處理模塊的空間時,給它指定的內存起始地址是固定的,入侵者只要計算好這個空間大小,就能知道會有哪些數據被執行了,所以jpeg病毒迅速傳播起來。
所謂jpeg病毒,並不是jpeg圖片能放出病毒,而是系統處理jpeg圖片的模塊自己執行了jpeg圖片攜帶的病毒,所以我們大可不必人心惶惶,只要補上了gdiplus.dll的漏洞,那麼即使你機器上的所有jpeg圖片都帶有病毒數據,它們也無法流竄出來搞破壞,正如美國馬薩諸塞州立大學助理教授奧斯汀所言:「病毒不僅僅是可自我復制的代碼,他們需要通過可執行代碼的方式來進行傳播。jpeg文件不能執行代碼,他們是由應用軟體打開的數據文件。應用軟體不會去查找數據文件中的可執行的代碼,為此不會運行這些病毒代碼。」
四、防範
對於虛假圖片文件的欺騙手法,只要用戶補上了mime和iframe漏洞,那麼入侵者讓你停留多久也無濟於事;至於bmp木馬,它的防範是幾乎不可避免,但是它有個最大的弱點,大部分情況下只能在win9x環境正常執行,用win2000以上的用戶不必草木皆兵了;而對於jpeg病毒來說更好辦了,微軟已經提供jpeg模塊的更新了,你倒是去補一下啊!即使真的一點也不會,買個防病毒軟體在後台監視也ok了,但是為什麼國內用戶卻偏偏喜歡徒勞的恐慌?
縱觀這一系列圖片病毒的原理和手法,我們可以發現「社會工程學」這個身影的擴大化趨勢。如何避免被騙,這只能看你自己了。