999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

路徑條件驅動的混淆惡意代碼檢測

2013-04-29 00:44:03安靖楊義先李忠獻
湖南大學學報·自然科學版 2013年9期

安靖 楊義先 李忠獻

摘要:代碼混淆是惡意代碼隱藏自身的主要手段之一.本文提出了一種新的動態檢測方法,能夠有效檢測混淆后的惡意代碼.該方法能夠利用ISR進行動態調試.在調試過程中通過對路徑條件的約束求解,驅動惡意代碼執行不同的路徑更深入地檢測隱藏惡意代碼.此外,對于需要讀取外部資源的惡意代碼,惡意行為往往需要結合外部資源才能檢測.本文方法能夠準確定位外部資源并結合原始惡意代碼進行檢測,提高檢測的準確性.在原型系統的測試中,與12種殺毒軟件的橫向測試表明,該方法在對混淆惡意代碼檢測中能有效地降低漏報率.

關鍵詞:程序調試;惡意代碼檢測;代碼混淆;路徑分析;動態測試

中圖分類號:TP309 文獻標識碼:A

經過多年研究,惡意軟件檢測領域發展出了多種有效的惡意軟件檢測方法.惡意軟件分析方面主要包括靜態分析和動態分析兩大類方法;惡意軟件的歸類和檢測方面則主要采用基于特征,基于規范以及基于異常[1]三種方法.

基于特征的惡意軟件檢測主要將惡意軟件中特定的二進制序列、字符串或者程序行為作為惡意軟件的主要特征,分析檢測對象后與已有的特征庫進行匹配,來識別惡意軟件[2].劉巍偉等人提出綜合檢測程序行為來作為特征實現惡意軟件檢測[3].基于規范的惡意軟件檢測方法則首先整理系統的關鍵安全屬性得到安全規范.建立安全規范后,分析檢測對象,如果檢測對象的行為不滿足規范,則認為檢測對象為惡意軟件.基于規范的惡意軟件檢測屬于白名單機制,相較于基于特征的惡意軟件檢測能夠更有效地檢測未知的惡意軟件[4],但誤報率較高.基于異常的惡意軟件檢測采用統計的方法得到正常程序的行為集合,檢測對象的行為與正常行為集合不同時,認為代碼有異常行為從而判定為惡意軟件.基于異常的惡意軟件檢測方法的誤報率相對基于規范的方法低,同時漏報率相對基于特征的方法高[5].

然而隨著惡意攻擊者的水平不斷提高,惡意代碼取代惡意軟件成為攻擊的主要手段.惡意代碼并不是完整的可執行程序,而是二進制代碼片段.惡意代碼相較于惡意軟件,能夠更容易地進行代碼混淆,更方便地通過網絡傳輸,并能更好地與軟件或系統漏洞相結合.惡意攻擊者針對原有的安全防護技術,針對性地對惡意代碼進行偽裝.一方面,使用代碼混淆技術使得惡意代碼沒有固定特征[6];另一方面,攻擊靜態分析中關鍵的反匯編算法使其得到錯誤結果.靜態惡意軟件分析需要首先將二進制惡意軟件反匯編為中間表示,才能繼續分析.惡意軟件保護技術中的預防混淆技術能夠有效地針對反匯編算法進行攻擊,使得反匯編出錯[6].除此之外,分析經過控制流混淆的惡意代碼,靜態分析有著較大的局限性[7].另一方面,研究人員提出了一系列新的動態軟件分析技術.部分研究人員提出利用純軟件虛擬機來對抗代碼混淆[8-9].另外一部分研究人員提出利用CPU的調試功能的方法,提升了動態分析的效率[10-11].

本文在動態分析方法的基礎上,提出了一種新的動態惡意代碼檢測方法.該方法采用基于CPU調試功能的動態檢測技術,并利用路徑驅動的分析方法提升了惡意代碼檢測的路徑覆蓋率,同時對程序I/O的檢測,使得本文方法能夠有效加載外部資源,檢測分離式惡意代碼.本文按照以下方式組織,第1節介紹與本文相關的前人研究,第2節具體介

紹本文采用的動態惡意代碼檢測方法,第3節給出并分析原型系統的實驗結果,最后第4節進行總結.

1相關工作

在惡意代碼檢測領域中,研究人員主要采用靜態程序分析和動態程序分析兩種方法來對惡意代碼進行自動化分析.其中靜態分析主要包括控制流分析、數據流分析、切片以及抽象解釋等多種分析方法.

由于惡意代碼一般為二進制機器碼,靜態分析需要首先通過反匯編技術將其轉化為匯編語言再進行深入分析.反匯編主要有線性掃描和遞歸掃描兩種算法[12],然而Linn等人指出通過在二進制中插入垃圾指令,能夠有效地攻擊這兩種主流反匯編算法,使得反匯編結果錯誤[6].與此同時,結合了代碼混淆技術的惡意代碼隱藏技術也給靜態分析帶來了不小的挑戰.控制流混淆能夠徹底改變惡意代碼的執行流程,使得靜態惡意代碼檢測技術無法通過匹配控制流圖來實現檢測.平展控制流混淆[13]是控制流混淆中較為常用的一種,平展控制流混淆將順序結構的控制流圖扁平化,加入大量冗余塊來保護程序的真實執行流程,如圖1.從圖中可以看出,代碼經過混淆后各個節點的執行順序無法直觀看出,需要分析派遣變量運行時信息才能獲得.

動態分析相較于靜態分析來說,由于需要實際執行程序,往往能夠更準確地得到程序的執行流程.Michalis Polychronakis利用模擬執行環境對惡意代碼變種進行動態調試,取得了很好的效果[14].在此之后,動態的惡意代碼分析技術得到了全面發展,Dawn Song等人提出了基于該思想的惡意代碼分析平臺[8].這些動態調試方法的共同特點都是通過Bochs/qemu等軟件模擬環境來執行惡意代碼,并對其進行分析.惡意攻擊者發現軟件模擬運行環境無法完全模擬所有真實CPU指令,通過某些特定的指令能夠繞過模擬環境的檢測機制[15].為了解決這一問題,Yanick Fratantonio利用真實環境中CPU的陷阱標志進行單步調試.

動態分析主要存在兩個主要問題,一是路徑覆蓋率低,二是執行效率底.以上提到的動態執行方面采用多種方法提升了執行效率,但是忽略了路徑覆蓋率.本文在修改ISR實現程序跟蹤的基礎上,通過對執行路徑條件的跟蹤和約束求解,采用Concolic測試的分析思想[16],提高惡意代碼分析過程的路徑覆蓋率.

此外,在動態分析過程中通過對系統I/O函數的檢測來更全面地定位獲取外部資源.對外部資源的定位與跟蹤能夠更好地分析一些分離式的惡意代碼.木馬下載器作為一種典型的分離式惡意代碼,只有在能夠通過網絡下載木馬資源的情況下才會運行木馬并實施惡意行為.在外部資源無法加載的情況下,惡意代碼可以自動退出或者自毀.因此,為了全面分析惡意代碼行為,必須能夠識別并下載外部資源.

2惡意代碼動態檢測方法

本文提出的動態惡意代碼分析框架主要包含3個主要部分:在Bochs基礎上通過修改中斷服務例程實現的ISR調試器;實現路徑驅動測試的跟蹤模塊;惡意代碼特征分析模塊,如圖2所示.

在ISR調試器中,將CPU的EFLAGS寄存器中的TF標志位置為1,并修改其中斷處理例程ISR 1來實現對惡意代碼的動態跟蹤.跟蹤模塊則根據ISR調試器的輸出記錄惡意代碼執行流程,將匯編語言轉化為更加適合分析的中間表示.此外,跟蹤模塊還具有兩個主要功能,一是利用Concolic思想驅動惡意代碼的多次運行,提高分析的路徑覆蓋率;二是定位包括文件讀取,網絡下載等系統I/O函數來自動加載外部資源.特征分析模塊則根據系統調用序列來判斷、分類、記錄惡意代碼行為.

2.1路徑條件驅動的檢測

在動態跟蹤的基礎上,準確地發掘可疑行為是惡意代碼檢測的關鍵.傳統動態分析技術僅對惡意代碼的少數路徑進行動態分析,無法保證路徑覆蓋率.然而惡意攻擊者往往通過各種條件跳轉來隱藏惡意代碼中的攻擊行為.比如通過檢測自身父進程來判斷運行環境,只在特定的環境下實施惡意行為.針對這種手段,跟蹤模塊采用Concolic測試方法驅動分析對象動態執行.首先根據ISR調試器的輸出得到分析對象當前執行路徑的約束條件,并對其進行變換和約束求解得到新的目標路徑和輸入.然后,跟蹤模塊驅動分析對象執行新的目標路徑,避免重復執行同一路徑造成冗余測試.Concolic分析算法如圖3所示.

算法中,跟蹤模塊監控ISR調試器逐指令運行分析對象.當發生關鍵系統API調用時,記錄API調用并分析是否需要加載外部資源.當遇到條件分支語句時,將其加入路徑約束條件表達式并調用update_branch_stack函數將該分支條件及其當前值入棧.當程序執行完成時,如果分支棧為空,則說明所有分支已經遍歷,測試完成;否則取得棧頂未被遍歷的分支條件,對該分支條件取反并得到新的路徑條件,求解該路徑條件并繼續Concolic測試.

跟蹤模塊采用基于Concolic測試的惡意代碼檢測方法,能夠提高惡意代碼分析的路徑覆蓋率,更深入地挖掘疑似惡意代碼中的惡意行為特征,并將特征反饋到特征庫用于其他惡意代碼樣本的檢測.

2.2外部資源定位與跟蹤

跟蹤模塊的另一個重要特點是在發現系統I/O API時能檢測并加載外部資源.許多惡意代碼作者為了方便惡意代碼通過網絡傳播或者捆綁漏洞,采用加載器加外部資源的方式制作惡意代碼.加載器體積小,能夠自動通過網絡或者讀取文件的方式加載包含實際惡意行為的外部資源.在惡意代碼檢測的過程中如果僅僅對加載器進行分析,可能無法發現惡意行為從而漏報.因此,自動檢測系統I/O加載分析對象的外部資源并進行聯合分析能夠大大降低惡意代碼檢測的漏報率.本文的方法通過對文件、網絡、注冊表讀寫等多種I/O相關系統調用的HOOK和參數分析,實現準確地定位、保存外部資源,并將其作為檢測的一部分進行深入分析.根據系統調用的不同,外部資源可能以本地文件、網絡流、內存數據等不同形式出現.對于這些不同形式的外部資源,加載器會采取不同的加載方式.

PE文件:以PE文件形式存在的外部資源,可使用WinExec,CreateProcess等系統函數直接運行.跟蹤模塊通過對這些系統調用的參數與外部資源路徑匹配,實現外部資源加載和執行檢測.隨后,跟蹤模塊會結合原分析對象的行為和外部資源的行為實現檢測.

網絡流與內存數據:以這種形式存在的外部資源,加載器可以通過call,jmp等調用或跳轉直接跳入執行.檢測系統通過目標地址范圍匹配,標識外部資源所在的內存范圍,監控跟蹤內存執行代碼情況,發現跳轉到外部資源后,跟蹤模塊結合原分析對象和外部資源的行為進行分析檢測.

外部資源的具體檢測流程如下:

步驟1:通過關鍵系統函數檢測,實現外部資源的定位和標識;

步驟2:繼續運行分析對象,檢測進程運行相關系統函數和函數調用、跳轉等指令;

步驟3:如果檢測到執行、跳轉到外部資源,則結合原分析對象進行綜合檢測.

通過對外部資源的檢測,系統能夠更準確地檢測出分離式惡意代碼,并能夠更全面地提取分離式惡意代碼的惡意特征.

3實驗與分析

為了證明本文方法的有效性,本節對原型系統進行實驗.原型系統在一臺DELL T610服務器上運行,操作系統為Win 7 x64版本.Bochs中運行Windows XP,在Wildlist中選擇了一組樣本進行測試.使用多款殺毒軟件對一組樣本進行一次檢測,然后VX Heavens[17]提供的多態變形工具對這組樣本進行混淆處理,再進行一次檢測,對比兩次檢測的結果如表1所示.

在未經過多態變形時,所有殺毒軟件幾乎都能夠完全檢測出這些惡意代碼樣本,原型系統測試也取得了較為理想的結果.然而經過多態變形工具處理之后,檢測情況發生了顯著變化.大部分殺毒軟件漏報率上升到了50%左右,甚至小部分漏報率超過了50%.原型系統的漏報率上升不大,僅上升到了19.67%.這是由于多態變形后,樣本的惡意特征被控制流混淆以及條件混淆隱藏很難被準確檢測.因此所有被測試的安全防護軟件的檢測率都發生了下降.由于原型系統采取了Concolic測試方法來分析樣本,路徑覆蓋率更高,同時能夠定位并加載外部資源,更有效地實現對變形后的惡意代碼的檢測.

4總結與展望

本文提出了一種路徑條件驅動的混淆惡意代碼檢測方法,該方法能夠有效地通過路徑條件遍歷,檢測出經過混淆后被隱藏的惡意行為特征.經過分析和實驗,該方法有如下特點:一是能夠通過路徑條件的分析與約束求解,驅動惡意代碼執行更多的隱藏路徑,從而提高路徑覆蓋率,減少漏報;二是檢測系統I/O函數,自動加載外部資源,實現了更全面地定位、檢測惡意代碼;最終準確地挖掘系統調用序列作為惡意特征,形成特征庫供惡意代碼檢測使用.原型系統的實驗證明了該方法的有效性.相較于原有的惡意代碼檢測方法,本文的方法能夠更準確地識別惡意代碼特征.

參考文獻

[1]IDIKA N, MATHUR A P. A survey of malware detection techniques[R]. Purdue University, 2007: 48.

[2]王蕊, 馮登國, 楊軼,等. 基于語義的惡意代碼行為特征提取及檢測方法[J].軟件學報, 2012, 23(2): 378-393.

[3]劉巍偉, 石勇, 郭煜,等. 一種基于綜合行為特征的惡意代碼識別方法[J]. 電子學報, 2009, 37(4): 696-700.

[4]MASRI W, PODGURSKI A. Using dynamic information flow analysis to detect attacks against applications[C]//ACM SIGSOFT Software Engineering Notes. 2005, 30: 1-7.

[5]SEKAR R, BENDRE M, DHURJATI D, et al. A fast automatonbased method for detecting anomalous program behaviors[C]//Security and Privacy, 2001. S&P 2001. Proceedings. 2001 IEEE Symposium on. 2001: 144-155.

[6]LINN C, DEBRAY S. Obfuscation of executable code to improve resistance to static disassembly[C]//Proceedings of the 10th ACM conference on Computer and communications security. New York, USA: ACM, 2003: 290-299.

[7]MOSER A, KRUEGEL C, KIRDA E. Limits of static analysis for malware detection[C]//IEEE.2007: 421-430.

[8]SONG D, BRUMLEY D, YIN H, et al. BitBlaze: A new approach to computer security via binary analysis[J]. Information Systems Security, 2008: 1-25.

[9]武炳正, 武延軍, 賀也平. 基于虛擬機架構的自修改代碼監測技術[J]. 計算機工程與應用, 2011, 47(11): 71-74.

[10]FRATANTONIO Y, KRUEGEL C, VIGNA G. Shellzer: a tool for the dynamic analysis of malicious shellcode[C]//Recent Advances in Intrusion Detection. 2011: 61-80.

[11]薛永嶺, 黃皓, 張博. 基于函數簽名的控制流監控方法[J]. 計算機工程, 2009, 35(9): 133-135.

[12]馬金鑫, 忽朝儉, 李舟軍. 基于控制流精化的反匯編方法[J]. 清華大學學報: 自然科學版, 2011, 51(10): 1345-1350.

[13]趙玉潔, 湯戰勇, 王妮,等. 代碼混淆算法有效性評估[J]. 軟件學報, 2012, 23(3):700-711.

[14]POLYCHRONAKIS M, ANAGNOSTAKIS K G, MARKATOS E P. Emulationbased detection of nonselfcontained polymorphic shellcode[C]//Proceedings of the 10th International Conference on Recent Advances in Intrusion Detection. Berlin, Heidelberg: SpringerVerlag, 2007: 87-106.

[15]PALEARI R, MARTIGNONI L, ROGLIA G F, et al. A fistful of redpills: How to automatically generate procedures to detect CPU emulators[C]//Proceedings of the USENIX Workshop on Offensive Technologies (WOOT). 2009:41-86.

[16]濮方琍, 盧炎生. 基于并行Java程序動態切片的Concolic測試[J]. 華中科技大學學報:自然科學版, 2009, 37(10): 21-24.

[17]VX Heavens[EB/OL]. http://vx.netlux.org/index.html.

主站蜘蛛池模板: 97国产一区二区精品久久呦| 欧美a级在线| 麻豆精品久久久久久久99蜜桃| 亚洲天堂在线免费| 91娇喘视频| 狠狠躁天天躁夜夜躁婷婷| 国产网友愉拍精品视频| 国产99在线| 免费在线看黄网址| 亚洲天堂777| 成人国产精品一级毛片天堂| 尤物精品国产福利网站| 国产美女无遮挡免费视频| 日韩免费中文字幕| 伊人福利视频| 亚洲二区视频| 欧美日韩一区二区在线播放| 日韩国产欧美精品在线| 国产亚洲精品97在线观看| 欧美成a人片在线观看| 精品欧美一区二区三区久久久| 九色视频最新网址 | 香蕉精品在线| 69国产精品视频免费| 婷婷亚洲最大| 97视频精品全国在线观看| 26uuu国产精品视频| 欧美亚洲激情| 国产一区二区三区夜色| 久久综合成人| 怡红院美国分院一区二区| 国产成人综合网| 国产99精品视频| 国产香蕉97碰碰视频VA碰碰看 | 亚洲人妖在线| 国产欧美精品专区一区二区| 欧美亚洲网| 日本亚洲欧美在线| 国产午夜精品一区二区三| 亚洲成在线观看 | 欧美亚洲中文精品三区| 国产成人亚洲精品无码电影| 亚洲精品自产拍在线观看APP| 国产高清又黄又嫩的免费视频网站| 日韩亚洲综合在线| 伊人色在线视频| 国产精品污视频| 亚洲人成网7777777国产| 亚洲天堂色色人体| 国产黄网永久免费| 日韩在线永久免费播放| 欧美日韩亚洲综合在线观看| 99精品热视频这里只有精品7| 国产成人无码Av在线播放无广告| 视频一本大道香蕉久在线播放| 亚洲天堂区| 萌白酱国产一区二区| 国内熟女少妇一线天| 波多野结衣一二三| 国产尤物在线播放| 丁香六月激情综合| 精品福利视频网| 国产精品美女自慰喷水| 国产美女精品一区二区| 特级欧美视频aaaaaa| 国产91线观看| 日本www色视频| 欧亚日韩Av| 99精品国产自在现线观看| 欧美有码在线| 毛片卡一卡二| 国产区福利小视频在线观看尤物| 五月丁香在线视频| 欧美一区二区三区国产精品| 国产精品亚洲一区二区三区在线观看| 日本高清有码人妻| 欧美日韩在线亚洲国产人| 国产成人狂喷潮在线观看2345| 91在线日韩在线播放| 国产精品片在线观看手机版| 丰满人妻久久中文字幕| 国产啪在线91|