系統(tǒng)安全:MS09-002IE7漏洞原理分析

字號:

微軟公司在北京時間2月11日發(fā)布了MS09-002漏洞的安全更新程序,安天實驗室反病毒監(jiān)測網發(fā)現(xiàn)利用此漏洞的攻擊代碼已經被發(fā)布到互聯(lián)網上,如果用戶沒有及時安裝補丁,則存在漏洞的IE7瀏覽器可能會在瀏覽網頁時被病毒入侵,安天實驗室提醒用戶在上網時務必安裝微軟MS09-002漏洞補丁,以免遭受惡意病毒攻擊。
    安天實驗室對MS09-002 IE7漏洞進行了原理分析,分析報告如下。
    MS09-002漏洞與去年的MS08-069漏洞原理類似,同時該漏洞也是發(fā)生在IE7使用的MSHTML.dll中,當文檔對象釋放掉后,內存指針沒有被釋放,繼續(xù)利用,而這個指針被人為指向了一段堆地址,而如果這段地址被 ShellCode 覆蓋過的話,調用這個指針就會導致有溢出。
    攻擊利用代碼
    從代碼中看到創(chuàng)建了對象O1,cloneNode從文檔層次中復制對象的引用給O2,這時O1.clearAttributes從對象中刪除全部標簽屬性和值。再次調用click屬性指針,該指針被指向到Shellcode的位置導致溢出發(fā)生。
    這是從調試器中看mshtml.dll中釋放對象后再次利用這個對象的指針EAX,該ECX中的值為0x0B0BFFFF,即跳轉到shellcode的地址。由于文檔對象已經被銷毀,接下來執(zhí)行call dword ptr [ecx+4]后,將跳轉到一個0x0B0BFFFF+4位置執(zhí)行,該位置被設置成shellcode的代碼,這個位置是被釋放文檔對象原來所在內存位置。
    說明:
    當安裝有IE7的用戶瀏覽被攻擊者特殊構造的網頁時,系統(tǒng)有可能會自動從惡意網站上下載并運行惡意程序。被感染病毒的用戶系統(tǒng)可能被遠程控制,盜取用戶敏感信息。甚至導致死機。
    漏洞信息:
    1.未初始化的內存損壞漏洞 – CVE-2009-0075
    Internet Explorer訪問已被刪除的對象的方式中存在一個遠程執(zhí)行代碼漏洞。攻擊者可以通過構建特制的網頁來利用該漏洞。當用戶查看網頁時,該漏洞可能允許遠程執(zhí)行代碼。成功利用此漏洞的攻擊者可以獲得與登錄用戶相同的用戶權限。
    2.CSS 內存損壞漏洞 - CVE-2009-0076
    Internet Explorer處理級聯(lián)樣式表(CSS)的方式中存在一個遠程執(zhí)行代碼漏洞。攻擊者可以通過構建特制的網頁來利用該漏洞。當用戶查看網頁時,該漏洞可能允許遠程執(zhí)行代碼。成功利用此漏洞的攻擊者可以獲得與登錄用戶相同的用戶權限。
    關于MS09-002漏洞的詳細信息參照:
    http://www.microsoft.com/china/technet/security/bulletin/MS09-002.mspx
    更新補丁地址:
    http://support.microsoft.com/kb/961260