尋找客戶端漏洞的藝術(shù)_第1頁(yè)
尋找客戶端漏洞的藝術(shù)_第2頁(yè)
尋找客戶端漏洞的藝術(shù)_第3頁(yè)
尋找客戶端漏洞的藝術(shù)_第4頁(yè)
尋找客戶端漏洞的藝術(shù)_第5頁(yè)
已閱讀5頁(yè),還剩4頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、尋找客戶端漏洞的藝術(shù)圖像格式中的漏洞Venustech ADLab趙偉目標(biāo):客戶端的漏洞?客戶端易受攻擊:IE,Outlook,F(xiàn)irefox,MSN,Yahoo etc.󰂄黑客利益的驅(qū)使:Botnet,Visa,CD-Key,DDOS etc.󰂄發(fā)現(xiàn)漏洞較容易(More 0day?):較容易發(fā)現(xiàn),新的領(lǐng)域󰂄為什么挖掘圖像格式中的漏洞?Windows,Linux等操作系統(tǒng)支持多種圖像格式:Bmp, GIF, JPG, ANI, PNG etc.文件格式眾多,代碼復(fù)雜易找到漏洞󰂄Windows中很多圖像格式解析的實(shí)現(xiàn)方式與開(kāi)源代碼及

2、其相似,經(jīng)常發(fā)現(xiàn)同一bug(Why?)󰂄黑客們并沒(méi)有在每種格式中發(fā)現(xiàn)漏洞,沒(méi)有足夠的“eyes”關(guān)注󰂄為什么挖掘圖像格式中的漏洞?󰂄從安全人員的角度:󰂅格式眾多,算法復(fù)雜容易出現(xiàn)漏洞󰂅影響范圍極廣跨應(yīng)用跨平臺(tái),例如:Windows平臺(tái)上任何解析jpg的應(yīng)用,office,outlook,IE.GDIPLUS.dll󰂄Windows內(nèi)核實(shí)現(xiàn)對(duì)Ani的支持,通過(guò)ie不需要用戶互動(dòng)操作。誰(shuí)會(huì)懷疑網(wǎng)頁(yè)上的指針文件?󰂄PNG Msn, libpng很多開(kāi)源軟件󰂄󰂅

3、;隱蔽性嚴(yán)重威脅用戶安全為什么挖掘圖像格式中的漏洞?󰂄從黑客的角度:󰂅如果利用圖像格式觸發(fā)的漏洞,會(huì)降低了受害者的警覺(jué)性,易利用社會(huì)工程學(xué)。蠕蟲傳播可能利用一些非常容易讓人警惕的文件格式,但我們現(xiàn)在討論的是圖片格式j(luò)gp, png, ani.不容易讓人引起懷疑󰂅多種攻擊媒介,利于黑客攻擊:通過(guò)網(wǎng)頁(yè),郵件可以穿越防火墻的保護(hù),IDS不易檢查,需要對(duì)各種格式,協(xié)議進(jìn)行解析才能檢查出漏洞攻擊。圖像的基本格式󰂄󰂄󰂄󰂄流格式由很多段構(gòu)成,段里面又由標(biāo)記,參數(shù)(漏洞點(diǎn)),數(shù)據(jù)段構(gòu)成還可能有段里面

4、再嵌套段(漏洞點(diǎn))Gif,Ani可能包含很多幀,刷新率,幀的索引(漏洞點(diǎn))可能會(huì)有標(biāo)記圖形模式的bit-map,可能會(huì)有邏輯上的錯(cuò)誤png/security/CESA-2004-001.txtJPG格式中的漏洞󰂄先來(lái)一個(gè)實(shí)際的例子:󰂅GDIPlus.DLL漏洞MS04-028 Nick DeBaggis󰂅影響巨大,攻擊很多󰂅漏洞產(chǎn)生原因:JPEG格式中的注釋段(COM)由0xFFFE開(kāi)始(標(biāo)記)+2字節(jié)得注釋段字節(jié)數(shù)(參數(shù)) +注釋(數(shù)據(jù))構(gòu)成。因?yàn)樽止?jié)數(shù)這個(gè)參數(shù)值包含了本身所占的2字節(jié)

5、,所以GDIPLUS.dll在解析jpg格式文件中的注釋段時(shí)會(huì)把這個(gè)值減去2,如果這個(gè)值設(shè)置成0,1就會(huì)產(chǎn)生整數(shù)溢出。JPG格式中的漏洞󰂄是不是覺(jué)得很相似?󰂅2000 Solar Designer 發(fā)現(xiàn)了Netscape瀏覽器的JPEG解析漏洞,與Nick DeBaggis發(fā)現(xiàn)的漏洞原理是相同的。󰂅另一個(gè)相似的例子Stefan Esser發(fā)現(xiàn)的XBOX Dashboard local vulnerability,該漏洞存在于XBOX Dashboard對(duì).wav格式和.xtf格式文件的解析上,雖然說(shuō)不是圖形格式但漏洞原理卻相同。󰂄

6、細(xì)節(jié):同樣存在一個(gè)size參數(shù)這次是它本身的大小是4字節(jié),所以當(dāng)size值為0-3時(shí)就會(huì)發(fā)生整數(shù)溢出。󰂄疑問(wèn)󰂄疑問(wèn):為什么會(huì)一再出現(xiàn)同類型的漏洞?󰂅是否程序員們從概念上忽略了某些問(wèn)題?󰂅為什么都是整數(shù)溢出漏洞?󰂅此類漏洞的本質(zhì)是什么?󰂅是否還有這種漏洞?問(wèn)題的本質(zhì)󰂄這些文件格式是由很多“段”構(gòu)成的數(shù)據(jù)流,而每個(gè)段由:標(biāo)記,參數(shù),數(shù)據(jù)等結(jié)構(gòu)構(gòu)成,在程序解析這些文件格式的時(shí)候會(huì)依據(jù)“標(biāo)記”來(lái)確認(rèn)段,并讀取“參數(shù)”進(jìn)行一定的運(yùn)算,再依據(jù)這些參數(shù)來(lái)處理隨后緊跟的“數(shù)據(jù)”。以上提到的幾個(gè)漏洞的

7、產(chǎn)生原因就是在對(duì)參數(shù)進(jìn)行運(yùn)算的時(shí)候相信了文件輸入的參數(shù)沒(méi)有進(jìn)行確認(rèn)而導(dǎo)致的。思維擴(kuò)展󰂄不要相信用戶的輸入,同樣不要相信文件的輸入󰂅包括標(biāo)記,錯(cuò)誤的標(biāo)記也會(huì)導(dǎo)致問(wèn)題󰂅包括參數(shù),詳細(xì)檢查輸入?yún)?shù)󰂅包括數(shù)據(jù),數(shù)據(jù)里面可能還嵌套著另一個(gè)“段”思維擴(kuò)展的結(jié)果󰂄󰂄󰂄Venustech AD-Lab:Windows LoadImageAPI Integer Buffer overflow影響極為廣泛:bmp,cur,ico,ani格式的文件都受影響。描述:󰂅WINDOWS的USER

8、32庫(kù)的LoadImage系統(tǒng)API 存在著整數(shù)溢出觸發(fā)的緩沖區(qū)溢出漏洞,這個(gè)API允許加載一個(gè)bmp,cur,ico,ani格式的圖標(biāo)來(lái)進(jìn)行顯示,并根據(jù)圖片格式里說(shuō)明的大小加4來(lái)進(jìn)行數(shù)據(jù)的拷貝,如果將圖片格式里說(shuō)明的大小設(shè)置為0xfffffffc-0xffffffff,則將觸發(fā)整數(shù)溢出導(dǎo)致堆緩沖區(qū)被覆蓋。攻擊者可以構(gòu)造惡意的bmp,cur,ico,ani格式的文件,嵌入到HTML頁(yè)面,郵件中,發(fā)送給被攻擊者,成功利用該漏洞則可以獲得系統(tǒng)的權(quán)限。LoadImageAPI 整數(shù)溢出漏洞分析󰂄代碼:.text:77D56178 moveax, ebx+8 /Direct read

9、our size here:P.text:77D5617B movebp+dwResSize, eax.text:77D5617E jnzshort loc_77D56184.text:77D56180 add ebp+dwResSize, 4 /add 4 intoverflow.text:77D56184.text:77D56184 loc_77D56184: ; CODE XREF: sub_77D5608F+EF󰙳j.text:77D56184 push ebp+dwResSize /allocate a wrong size.text:77D56187 push 0.

10、text:77D56189 push dword_77D5F1A0.text:77D5618F call ds:RtlAllocateHeap總結(jié):轉(zhuǎn)換思路后找到這個(gè)加4的漏洞,同樣的類型,信任“文件”輸入。思維擴(kuò)展的結(jié)果EEYE 2004:Windows ANI File Parsing Buffer Overflow󰂄堆棧漏洞極易利用,攻擊方法隱蔽。󰂄原理:󰂄󰂅相信“文件”輸入?yún)?shù),沒(méi)做檢查直接用作memcpy的參數(shù)。PNG漏洞,不同的模式󰂄邏輯問(wèn)題1:󰂅EEYE PNG (Portable N

11、etwork Graphics) Deflate Heap Corruption Vulnerability󰂅原因:對(duì)Length碼#286 and #287沒(méi)有做正確的處理,導(dǎo)致解壓程序認(rèn)為長(zhǎng)度是0󰂅do *dest= *src; +dest; +src; while (-len);PNG漏洞,不同的模式󰂄󰂄邏輯問(wèn)題2:libPNG1.2.5 堆棧溢出代碼:if (!(png_ptr->mode & PNG_HAVE_PLTE) /* Should be an error, but we can cope with

12、 it */ png_warning(png_ptr, "Missing PLTE before tRNS"); else if (length > (png_uint_32)png_ptr->num_palette) png_warning(png_ptr, "Incorrect tRNSchunk length"); png_crc_finish(png_ptr, length); return;󰂄󰂄分析:代碼編寫的邏輯錯(cuò)誤,錯(cuò)誤的使用了else if.相似漏洞:MSN png漏洞,Media player

13、 png漏洞邏輯問(wèn)題的總結(jié)非常容易出現(xiàn)在復(fù)雜的文件格式處理中󰂄容易出現(xiàn)在壓縮,解壓代碼中:需要處理很多長(zhǎng)度,大小相關(guān)的參數(shù)。󰂄這種漏洞不一定是緩沖區(qū)溢出,也可能是越界訪問(wèn)等等󰂄想象漏洞󰂄󰂄發(fā)現(xiàn)漏洞有時(shí)候是一種想象的過(guò)程例子1:Venustech ADLab:Microsoft Windows Kernel ANI File Parsing Crash Vulnerability󰂅介紹:ANI是WINDOWS 支持的動(dòng)畫光標(biāo)格式,在ANI是由多個(gè)普通的光標(biāo)文件組成一個(gè)動(dòng)畫,其中ANI文件的頭處會(huì)標(biāo)記是

14、幾個(gè)圖標(biāo)frame,WINDOWS 的內(nèi)核在顯示光標(biāo)的時(shí)候并未對(duì)該值進(jìn)行檢查,如果將這個(gè)數(shù)字設(shè)置為0,會(huì)導(dǎo)致受影響的WINDOWS系統(tǒng)計(jì)算出錯(cuò)誤的光標(biāo)的地址并加以訪問(wèn),觸發(fā)了內(nèi)核的藍(lán)屏崩潰。不僅僅是應(yīng)用使用ANI文件時(shí)會(huì)觸發(fā),只要在EXPLORER下打開(kāi)ANI文件存在的目錄就會(huì)觸發(fā)。攻擊者也可以發(fā)送光標(biāo)的文件,引誘用戶訪問(wèn)含有惡意光標(biāo)顯示的頁(yè)面,以及發(fā)送嵌入光標(biāo)的HTML郵件,導(dǎo)致被攻擊者系統(tǒng)藍(lán)屏崩潰。󰂅原理:在計(jì)算frame地址的時(shí)候失敗。󰂅想象漏洞󰂄例子2:Venustech ADLab:Microsoft Windows Kernel AN

15、I File Parsing DOS Vulnerability󰂅介紹:ANI是WINDOWS 2000支持的動(dòng)畫光標(biāo)格式,在ANI是由多個(gè)普通的光標(biāo)件組成一個(gè)動(dòng)畫,其中ANI文件的頭處會(huì)標(biāo)記每FRAME切換的頻率,該值越小切換的速度越快,WINDOWS 的內(nèi)核在切換光標(biāo)FRAME的時(shí)候并未對(duì)該值進(jìn)行檢查,如果將這個(gè)數(shù)字設(shè)置為0,受影響的WINDOWS的內(nèi)核會(huì)陷入內(nèi)核的死鎖,不再響應(yīng)任何用戶界面的操作。該漏洞觸發(fā)必須要在使用ANI文件的應(yīng)用中才能觸發(fā),攻擊者引誘用戶訪問(wèn)含有惡意光標(biāo)顯示的頁(yè)面,以及發(fā)送嵌入光標(biāo)的HTML郵件,導(dǎo)致被攻擊者系統(tǒng)內(nèi)核死瑣。󰂅原因:沒(méi)有考慮刷新頻率是0的情況。󰂅總結(jié)下溢:Size參數(shù)小于自身所占大小󰂄上溢:Size加上一個(gè)正整數(shù)值產(chǎn)生上溢󰂄直接作為參數(shù)輸入memcpy類函數(shù)󰂄非法參數(shù)導(dǎo)致地址訪問(wèn)越界󰂄多種邏輯上的錯(cuò)誤&

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論