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