黑客可以利用黑白灰度級圖片的形式把惡意代碼隱藏在PDF文檔中,并躲開防病毒程序的檢測,然后在文檔閱讀器打開這個PDF文檔時,惡意代碼得以執(zhí)行。
丹麥的一位安全人員發(fā)現(xiàn),通過有損圖片壓縮軟件,如JPXDecode或DCTDecode,可以把惡意代碼嵌入到PDF文檔中,而防病毒軟件或PDF驗證工具通常會忽略這些壓縮工具壓縮的數(shù)據(jù)。
有損壓縮只對圖片有效,對代碼無效,因此安全軟件會認為有損壓縮后的數(shù)據(jù)無法包含惡意代碼。但這名丹麥的研究人員奧瓦里已經(jīng)證明,用有損壓縮軟件壓縮的JPEG圖片可以隱藏惡意代碼,而且彩色的JPEG圖片的確會丟失數(shù)據(jù)破壞代碼,但高質(zhì)量的灰度級黑白JPEG圖片則可成功避免代碼損失。
奧瓦里已經(jīng)開發(fā)出一個概念性驗證程序,并把一段JavaScript代碼以灰度級圖片的形式嵌入到一個PDF文檔中,并確保在文檔被打開時執(zhí)行代碼。
安全牛評:盡管這本身算不上文檔產(chǎn)品的安全缺陷,但使用DCTDecode的這種惡意使用方法卻不應該被業(yè)界所忽略。為了最大程度的保證用戶安全,PDF閱讀器應該禁止類似的二進制數(shù)據(jù)對象,并且對其他JPEG圖片中的數(shù)據(jù)格式進行重新檢測。