【賽迪網-IT技術報道】根據安天防線團隊研發人員的分析,IE7 0Day 漏洞的危害性極大,以下是0DAY代碼片斷:
溢出是由於 XML 解析字符串 SRC 片段時導致,由於 SRC 字符串當中的 r・r 非正常字符導致對像分配失敗,而失敗後的記憶體指針沒有被釋放,繼續利用,而這個指針被人為指向了一段堆地址,而如果這段地址被 ShellCode 覆蓋過的話,調用這個指針就會導致有溢出。
|
剛好它們組合在一起就是一個可利用的堆地址0x0a0a0072,在以下代碼中圖 1-2所示
據安天防線研發人員介紹,以上是溢出代碼分配過程,由於 Windows 操作系統對分配的特點,以下三句:
|
保證了從堆開始的地址直到0x0a0a0a0a 都會被溢出代碼淹沒,所以最終通過 0x0a0a0072 跳到了溢出代碼處,導致了系統溢出。
IE7 0day漏洞的防禦原理
大多數網頁掛馬者,對於該漏洞多採用js腳本配合畸形xml的方式實現掛馬,對其防禦通過以下方式即可實現:
1.特徵檢測清理畸形並進行清理xml;
2.通過行為分析打斷網頁掛馬從網絡到本地執行的過程;
3.將使用該網頁木馬的站點加入黑名單;
4.阻斷網頁木馬執行。
據安天防線團隊研發人員介紹,由於網頁掛馬變形方式的多樣性,安天防線將採取多種方式相結合的方式對其進行防禦,首先在IE下載頁面時進行黑名單匹配可以過濾常見的使用該技術進行掛馬的職業掛馬站。在IE下載完所有的頁面元素後,對頁面元素進行檢查,清理掉掛馬腳本。
經過分析測試發現,廣泛傳播的IE7 0day網馬生成器,它所生成的shellcode會調用一些特殊的函數,這些函數一直被網頁防掛馬防禦模塊所監控,在shellcode調用這些函數進行木馬下載和運行的時候,防禦模塊會對其進行阻斷,以達到防禦的目的。由於網頁木馬利用的是溢出漏洞,有可能會導致部分正常代碼被覆蓋,所以在IE創建進程的過程中,防禦模塊對進程創建的文件進行了數字簽名和可信任度檢測,以阻止被下載的木馬執行。綜合使用上述方法,安天防線實現了對該漏洞的有效防禦。
(