對(duì)ie 的攻擊分好幾類(lèi), 有修改主頁(yè), 彈出窗口, 惡意插件, 網(wǎng)頁(yè)木馬等. 其中一些是利用了ie 的腳本的自帶功能, 而另外一些要對(duì)ie 實(shí)施攻擊后才能做到, 主要手段有利用第三方軟件漏洞, ie 堆噴射等, 文章 [ [JavaScript中的堆風(fēng)水]|[ http://www.team509.com/download/Heap%20Feng%20Shui%20in%20JavaScript_en_cn.htm ] ] 對(duì)堆噴射進(jìn)行了介紹, 主要是利用覆蓋函數(shù)返回地址或者對(duì)象的虛函數(shù)表來(lái)執(zhí)行shellcode, 主要涉及到ie & 系統(tǒng)的內(nèi)存管理.
一般shellcode 基本只完成攻擊動(dòng)作, 具體的對(duì)系統(tǒng)的后續(xù)攻擊肯定離不了下載執(zhí)行 exe 文件等動(dòng)作, 并且在攻擊ie 也會(huì)有各種癥狀, 可以根據(jù)這些基本實(shí)現(xiàn)惡意代碼.
1. 根據(jù)ie 癥狀
當(dāng)ie 訪(fǎng)問(wèn)惡意頁(yè)面的遭受攻擊時(shí), 其重要表現(xiàn)是
a. 內(nèi)存使用
b. cpu 使用率
所以實(shí)時(shí)監(jiān)測(cè)這些參數(shù)可以基本判斷是否有攻擊
2. 根據(jù)行為
shellcode 如果被執(zhí)行, 那么肯定會(huì)進(jìn)行木馬下載執(zhí)行等步驟. 一般純shellcode 里面的內(nèi)容不會(huì)很多, 所以不可能完成很多復(fù)雜的攻擊.
win32 創(chuàng)建進(jìn)程的API調(diào)用串是:
WinExec/ShellExecuteA/CreateProcessA->CreateProcessInternalA->CreateProcessInternalW->ZwCreateProcessEx
或
CreateProcessW->CreateProcessInternalW->ZwCreateProcessEx
win32 要執(zhí)行下載的API 主要是wsock32.dll 的
recv , recvfrom
所以對(duì)上述API 進(jìn)行攔截, 一般可以檢測(cè)到是否有ie 是否被攻擊, 但是這個(gè)只能在攻擊成功后, shellcode 執(zhí)行后才能被檢測(cè)到
3.
攔截一些操作注冊(cè)表, 創(chuàng)建窗口等API , 可以做到防止被修改主頁(yè), 彈出窗口等
利用ms 的Detours 可以很容易的實(shí)現(xiàn)對(duì)系統(tǒng) API 的hook
http://blog.csdn.net/hu0406/archive/2008/03/05/2150358.aspx
http://blog.csdn.net/hu0406/archive/2008/03/05/2150351.aspx
http://www.moon-soft.com/doc/2288.htm
http://blog.csdn.net/dedodong/archive/2006/10/07/1323925.aspx
[ [JavaScript中的堆風(fēng)水]|[ http://www.team509.com/download/Heap%20Feng%20Shui%20in%20JavaScript_en_cn.htm ] ] ie 堆噴射
[ [也聊inline-hook]|[ http://blog.tom.com/tigerkings941220/article/9211.html ] ] 介紹了 進(jìn)程自身保護(hù)(通過(guò)攔截LoadLibraryW)和IE漏洞防護(hù)(通過(guò)攔截CreateProcessInternalW)
[ [maxthon2(遨游2) mxsafe.dll對(duì)網(wǎng)頁(yè)木馬的防護(hù)以及繞過(guò)]|[ http://hi.baidu.com/54nop/blog/item/b52cff6e713964d980cb4a9e.html ] ] 討論了maxthon2 防止網(wǎng)頁(yè)木馬的策略( 攔截 ZwCreateProcessEx/ZwCreateProcess, ZwWriteVirtualMemory, LoadLibraryExW, CreateProcessInternalW )以及對(duì)抗策略, 其實(shí)這個(gè)只是hook & unhook 的游戲了..
[ [小議PE病毒技術(shù)]|[ http://blog.vckbase.com/windowssky/archive/2007/04/17.html ] ] 介紹了 pe 病毒 & win32 進(jìn)程加載內(nèi)部
[ [360安全衛(wèi)士程序員志愿者]|[ http://blog.csdn.net/dedodong/archive/2006/10/07/1323925.aspx ] ] 通過(guò)攔截 NtCreateProcessEx/NtCreateProcess 實(shí)現(xiàn)了"""編寫(xiě)一個(gè)程序,在此程序中運(yùn)行a.exe,并使得a.exe認(rèn)為是由explorer.exe運(yùn)行它的"""
[ [阻擊惡意軟件--清除和保護(hù)你的網(wǎng)站的小技巧]|[ http://www.googlechinawebmaster.com/labels/badware.html ] ] google 上的對(duì)惡意軟件(badware) 的介紹
[ [StopBadware Blog]|[ http://blogs.stopbadware.org/articles/2007/11 ] ]