[發明專利]基于中間指令動態插裝的Heapspray檢測方法有效
| 申請號: | 200910242714.2 | 申請日: | 2009-12-15 |
| 公開(公告)號: | CN101719204A | 公開(公告)日: | 2010-06-02 |
| 發明(設計)人: | 諸葛建偉;陳志杰;韓心慧;龔曉銳;宋程昱 | 申請(專利權)人: | 北京大學 |
| 主分類號: | G06F21/00 | 分類號: | G06F21/00 |
| 代理公司: | 北京君尚知識產權代理事務所(普通合伙) 11200 | 代理人: | 余長江 |
| 地址: | 100871 北*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 中間 指令 動態 heapspray 檢測 方法 | ||
技術領域
本發明屬于計算機安全技術領域,具體涉及一種基于中間指令動態插裝的Heapspray型網頁木馬的檢測方法。
背景技術
網頁木馬(drive-by?download),通常是指存在于網頁中的,利用客戶端瀏覽器及插件中的安全漏洞,對瀏覽該網頁的計算機進行攻擊的惡意代碼。近年來,以網頁木馬為主的針對客戶端的攻擊逐漸增多,并在所有攻擊案例中占據了很大的比重。因此,如何有效檢測和防范網頁木馬已經成為學術界和工業界共同關注和研究的重要問題。
在網頁木馬的攻擊過程中,為了提高攻擊的通用性和成功率,攻擊者經常會使用被稱作Heapspray的攻擊方式(參見Pincus?J,Baker?B.Beyond?stack?smashing:Recent?advancesin?exploiting?buffer?overruns[C].IEEE?Security?&?Privacy,2004.)。Heapspray型網頁木馬會在內存中填充大量無危害的x86指令(如NOP、XOR?EAX,EAX等),并在其后附加實施惡意攻擊行為的指令(稱為shellcode),這樣在溢出成功并改變CPU的指令寄存器(EIP)時,只要EIP修改為內存堆上的一個地址,執行路徑就會以很大的概率跳轉到這些x86指令中,并最終執行Shellcode。通過這種方式,在構造攻擊代碼時,攻擊者可以不必精確計算溢出點和跳轉地址,這就大大提高了攻擊代碼的通用性和成功率。Heapspray的這種特性使其成為了目前網頁木馬攻擊所使用的主流技術手段。
針對Heapspray型網頁木馬的檢測,目前已有的檢測算法都主要存在檢測開銷較大,檢測準確度較低的問題。Heapspray是網頁中動態語言腳本執行中的一個過程,因而檢測的時機問題是一個關系到系統開銷、檢測準確度和檢測及時程度的關鍵問題。目前已有的檢測算法主要通過監視系統內存使用量,監視動態語言腳本虛擬機中對象的新建和釋放來尋找檢測時機,具體使用的檢測手段和參數也局限于評估占用的連續內存大小,檢測內存區域中是否有可執行的shellcode等。系統開銷較大,準確度較低。
發明內容
本發明對目前最為普遍的Heapspray型網頁木馬的攻擊過程和機理進行了深入分析,目的在于提供一種基于中間指令動態插裝的Heapspray型網頁木馬的檢測方法。腳本中間指令動態插裝(Dynamic?Opcode?Instrumentation)的主要思想與傳統的動態二進制插裝(Dynamic?Binary?Instrumentation)的思想類似,動態二進制插裝的主要原理是在一個二進制程序的執行過程中,在每一條將要執行的指令前添加、修改或者變換自定義指令;而本發明中的動態中間指令插裝則是在腳本翻譯之后生成的二進制中間指令執行過程中,插入用戶自定義的具有特定功能的代碼。這種動態插裝的方法不需要修改待分析網頁或腳本的源代碼,同時可以準確獲得腳本執行的語義,適應性強,準確度高。
本發明中基于動態中間指令插裝的用戶自定義的具有特定功能的代碼指的是檢測Shellcode和Heapspray行為的代碼。通過對腳本語言編譯后的二進制中間指令的動態插裝和關鍵指令參數值的檢查,可以有效識別網頁木馬中的Shellcode和Heapspray構造過程,并產生檢測報警。
對于二進制中間指令的動態插裝和關鍵指令參數值的檢查,其步驟如下:
1)、將用于解釋執行網頁動態腳本的虛擬機置于單步運行狀態;(對應圖1中的步驟1)
2)、取出下一條要執行的中間指令,判斷它是否屬于關鍵指令,這里的關鍵指令指由原腳本語言中的賦值語句翻譯之后的中間指令,我們稱之為賦值類中間指令;(對應圖1中的步驟2,3)
3)、對于將要執行的關鍵中間指令,如果它的右值參數類型是字符串類型,則對其指令參數值進行檢查:(對應圖1中的步驟4,5)
a)、若該指令的指令參數中,右值參數值的類型是字符串且長度小于一定閾值P,檢查該字符串是否存在惡意攻擊行為的指令Shellcode;(對應圖1中的步驟6,8)
b)、若該指令的指令參數中,右值參數值的類型是字符串且長度大于閾值P,計算該字符串的信息熵值;(對應圖1中的步驟7,9)
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京大學,未經北京大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200910242714.2/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種滾筒式物料烘干機
- 下一篇:用于激光切割的夾具





