漏洞文件使用了混淆技術(shù)怎么辦?
漏洞文件使用了混淆技術(shù)怎么辦?我們下面就以PDF文件為例:
對(duì)于PDF文件的解析,必須先要熟悉PDF文件各式,貌似所有官方的PDF文件各式文檔都是英文的。這樣就沒(méi)辦法了,硬著頭皮去讀唄,如果你對(duì)自己的英語(yǔ)夠自信那就到這里看吧參考。除此之外就只能找一些國(guó)內(nèi)撰寫(xiě)的相關(guān)資料了。熟悉了PDF文件各式之后,怎么解析PDF文件呢?我目前的辦法是查 找PDF文件里面的關(guān)鍵字段,這樣做的弊端是對(duì)于Obj對(duì)象里的數(shù)據(jù)流對(duì)象(stream)包含的內(nèi)容是沒(méi)辦法查找的 。另外也有一些PDF漏洞文件使用了一些混淆技術(shù),這樣的PDF文件暫時(shí)就沒(méi)有什么好辦法解析了。如下面的情況:
%PDF-1.5
1 0 obj
<>
endobj
關(guān)鍵字這里就考慮一般的惡意PDF文件,主要是對(duì)以下關(guān)鍵字段(個(gè)人認(rèn)為和漏洞不牽扯關(guān)系的就不考慮了)進(jìn)行查找和解析,如下面所示:
·obj
·endobj
·stream
·endstream
·xref
·trailer
·startxref
·/Page
·/Encrypt
·/ObjStm
·/JS
·/JavaScript
·/AA
·/OpenAction
·/AcroForm
·/URI
·/Filter
·/JBIG2Decode
·/RichMedia
·/Launch
解析思路:
這里要說(shuō)的是幾乎每一個(gè)PDF文件都包含有前7個(gè)字段,也有可能會(huì)不包含stream和endstream。據(jù)說(shuō)也有一些PDF文件沒(méi)有xref或 者trailer,但是這種情況比較少見(jiàn)。如果一個(gè)PDF文件沒(méi)有xref或者trailer關(guān)鍵字段,那么可以確定它不是惡意的PDF文件。
/xref 交叉引用表,描述每個(gè)間接對(duì)象的編號(hào)、版本和絕對(duì)的文件位置。PDF文檔中的第一個(gè)索引必須從版本為65535的0號(hào)對(duì)象開(kāi)始,標(biāo)識(shí)符/xref后面的第一個(gè)數(shù)字是第一個(gè)間接對(duì)象(即0號(hào)對(duì)象)的編號(hào),第二個(gè)數(shù)字是/xref (交叉引用表)的大小。
/Page 指明PDF文件的頁(yè)數(shù),大多數(shù)惡意PDF文件僅僅只有一頁(yè)
/Encrypt 指明PDF文件有數(shù)字水印或者是被加密過(guò)的
/ObjStm是object streams的數(shù)量。這里要明白o(hù)bject streams是一個(gè)可以包含其它Object對(duì)象的數(shù)據(jù)流對(duì)象
/JS與/JavaScript 指明PDF文件中含嵌有JavaScript代碼。我所見(jiàn)過(guò)的PDF惡意文件幾乎全部嵌有JavaScript代碼,這里一般都是利用 JavaScript 的解析漏洞或者使用JavaScript 來(lái)實(shí)現(xiàn)堆噴射(heap spray)。當(dāng)然要注意,在很多正常的PDF文件里也可以發(fā)現(xiàn)含有JavaScript 代碼
/AA、/OpenAction和/AcroForm 指明當(dāng)查看PDF文件或者PDF的某頁(yè)時(shí)會(huì)有自動(dòng)的動(dòng)作隨其執(zhí)行,幾乎所有嵌有JavaScript代碼的惡意PDF文件都有自動(dòng)執(zhí)行 JavaScript代碼的動(dòng)作(action )。如果一個(gè)PDF文件包含/AA或/OpenAction 自動(dòng)執(zhí)行動(dòng)作的關(guān)鍵字段,而且又含有JavaScript 代碼,那么這個(gè)PDF文件就極可能是惡意的PDF文件
/URI 如果你要在PDF文件中執(zhí)行打開(kāi)網(wǎng)頁(yè)的動(dòng)作的話(huà)就需要這個(gè)關(guān)鍵字段
/Filter 一般為FlateDecode即使用zlib壓縮解壓縮算法,
/JBIG2Decode 指明PDF文件使用了JBIG2壓縮。雖然JBIG2壓縮本身可能會(huì)存在漏洞(CVE-2010-1297)。但/JBIG2Decode關(guān)鍵字段并不能說(shuō)明PDF文件是否可疑
/RichMedia Flash文件
/Launch 執(zhí)行動(dòng)作(action)數(shù)量
最后的工作就是檢查PDF文件的各個(gè)對(duì)象以及對(duì)象之間是否符合Adobe的PDF文件格式規(guī)范。并綜合上面描述的各關(guān)鍵字段信息分析該P(yáng)DF文件是否可能為惡意文件。
文章由北大青鳥(niǎo)整理,轉(zhuǎn)載請(qǐng)注明:http://i3061.cn
本文由站河南北大青鳥(niǎo)校區(qū)整編而成,如需了解更多IT資訊類(lèi)的文章、新聞、課程和學(xué)習(xí)技巧、就業(yè)案例、招生詳情等問(wèn)題,可以對(duì)在線(xiàn)咨詢(xún)老師進(jìn)行一對(duì)一問(wèn)答!
推薦資訊
- 鄭州網(wǎng)絡(luò)工程師培訓(xùn):如何對(duì)Win7系... 2012-10-13
- 北大青鳥(niǎo)ACCP教育--搜狐訪(fǎng)談... 2012-02-18
- IT白領(lǐng)-我的人生追求... 2013-01-06
- 讀鄭州北大青鳥(niǎo)電腦學(xué)校學(xué)完推薦... 2014-10-16
- Java編程之生活和面向?qū)ο?.. 2012-10-11
熱點(diǎn)資訊
- 如何從外置硬盤(pán)中清除感染病毒... 2017-06-11
- 谷歌瀏覽器用戶(hù)密碼安全難保... 2017-06-11
- 網(wǎng)站安全性需要注意哪些方面... 2017-06-11
- Linux中服務(wù)器軟件為什么需要編譯... 2017-06-11
- 安卓隱患:防毒軟件無(wú)法偵測(cè)木馬... 2013-08-06