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