簡易檢索 / 詳目顯示

研究生: 謝懷德
HUI-TE HSIEH
論文名稱: 基於加殼分析之惡意程式偵測系統
Malware Detection System Based on Shell Analysis
指導教授: 洪西進
Shi-Jinn Horng
口試委員: 賴祐吉
Yu-Chi Lai
鮑興國
Hsing-Kuo Pao
鄧惟中
Wei-Chung Teng
吳怡樂
Yi-Leh Wu
學位類別: 碩士
Master
系所名稱: 電資學院 - 資訊工程系
Department of Computer Science and Information Engineering
論文出版年: 2010
畢業學年度: 98
語文別: 中文
論文頁數: 49
中文關鍵詞: 惡意程式加殼資訊增益支援向量機
外文關鍵詞: Malware, shell, information gain, support vector machine
相關次數: 點閱:229下載:7
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 中文摘要
    因為加殼技術已成為近幾年惡意程式作者最常使用的技術,造成惡意程式特徵碼混淆,以利躲避防毒軟體偵測,市面上也開發了一些解殼軟體,有研究者針對加殼程式先使用解殼軟體解殼,再判斷是否為惡意程式[1],但解殼軟體僅能針對部份的加殼程式解殼,亦無法對新型加殼程式或惡意程式作者自行撰寫加殼碼做解殼。而且每一加殼程式均需先經過解殼再來判斷是否為惡意程式太耗費資源及時間。
    所以我們希望能針對現今惡意程式的加殼技術來找出防毒的因應之道,且不需經過解殼來判斷是否為惡意程式。利用程式加殼前後的特性,找出足以區分是否加殼的特徵,在做惡意程式特徵訓練時將加殼及未加殼的程式分別分析,才不會造成特徵被混淆,而影響惡意程式偵測結果。
    本研究下載最新的VX Heavens資料集內所有Win32種類惡意程式分析,使用有別於一般解殼及防毒軟體的技術,讓系統不僅能有效偵測現有的加殼程式及惡意程式,更能有效預測未知的加殼程式及惡意程式。
    本研究先萃取出PE Table裡的特徵,再使用資訊增益方法找出有用的資訊,最後使用SVM針對加殼程式及惡意程式作偵測。


    Abstract
    Although the shelling technology is very popular among malware authors in the past few years. It causes the confusion of features and it can also avoid detection of anti-virus software. The unshelling software have been developed that can extract encrypted code from shelled program, then revealing invisible malware that can be detected by anti-virus software[1]. But the unshelling software can not unshell the new type, variant shelled program, and it can only unshell a portion of the shelled program. Besides each shelled program is required to through the unshelling process every time then determine whether it is malware or not. It needs a lot of time and resources.
    Therefore, we hope to find out a solution for current anti-virus technology by focusing on the shell problem nowadays without unshelling process at first. Because features of the program will change after shelling process, we can use the differences of the features to distinguish if the program is shelled or not. When we train the features of malware, it should be separated from shelled and non-shelled program, then it won’t be confused by shelled features, so the results of malware detection system will be more rigid.
    We download the latest VX Heavens dataset of all Wins32 malware in this thesis. It is different from general unshelling and the anti-virus software. Our system can not only detect existing shelled program and malware but also can predict the unknown shelled program and malware efficiently.
    In this thesis, we extracted features from PE Table, and then we use the information gain method to find out useful information. We use SVM to detect the shelled program and malware finally.

    中文摘要1 英文摘要2 誌 謝3 目 錄4 圖目錄6 表目錄7 第一章 簡介8 1.1 研究動機與目標8 1.2 研究成果與貢獻9 第二章 相關工作11 2.1 惡意程式11 2.2 加殼的概念16 2.3 傳統的病毒碼掃描法14 第三章 研究方法17 3.1 機器學習方法17 3.2 程式加解殼分析16 3.3 Pe table格式剖析17 3.4 Information Gain24 3.5 Support Vector Machine24 第四章 系統實作26 4.1 系統架構25 4.2加殼程式辨識系統 26 4.2.1 加殼目的造成特徵改變25 4.2.2 加殼行為造成特徵改變26 4.2.3 加殼演算法造成特徵改變27 4.3惡意程式偵測系統27 4.3.1 Option Header特徵選取28 4.3.2 Data Directory特徵選取30 4.3.3 File header特徵選取31 4.3.4 Section header特徵選取31 第五章 實驗與結果35 5.1實驗資料集與實驗環境35 5.2實作驗證方法36 5.3實驗結果37 第六章 結論與未來展望42 參考文獻43 圖 3.1程式加殼前後的檔案與動作19 圖 3.2 PE Table架構19 圖 4.1惡意程式偵測系統架構26 圖 5.1不同Info Gain值加殼惡意程式的預測率38 圖 5.2不同Info Gain值未加殼惡意程式的預測率39 圖 5.3未加殼惡意程式使用IG前後的CV及FP39 圖 5.4加殼惡意程式使用IG前後的CV及FP40 表 5.1 加殼程式辨識系統實作結果40 表 5.2 與參考文獻[5]比較表41

    以文章使用到的順序排序
    [1]Roberto Perdisci, Andrea Lanzi, Wenke Lee,
    “Classification of packed executables for accurate computer virus detection”, Pattern Recognition Letters 29 (2008) 1941–1946, journal homepage
    [2]段鋼,加密與解密(第三版),碁峰資訊股份有限公司,台北,第160-163頁 (2009)
    [3]PEid, http://www.peid.info/
    [4]VX Heavens, http://vx.netlux.org
    [5]蕭崑賢, 基於靜態分析與資料探勘技術之惡意程式偵測系統,台灣科技大學碩士論文,2006
    [6]Malware, http://technet.microsoft.com/zh-tw/library/dd180728.aspx
    [7]Worm, http://zh.wikipedia.org/zh-tw/%E9%9B%BB%E8%85%A6%E8%A0%95%E8%9F%B2
    [8]Backdoor, http://zh.wikipedia.org/zh-tw/%E5%BE%8C%E9%96%80%E8%BB%9F%E4%BB%B6
    [9]Spyware, http://zh.wikipedia.org/zh-tw/%E9%97%B4%E8%B0%8D%E8%BD%AF%E4%BB%B6
    [10]Joker, http://www.trend.com.tw/vinfo/virusencyclo/glossary.asp#joke_programs
    [11]Mix, http://www.trendmicro.com/tw/about/news/pr/archive/2005/pr050711.htm
    [12] 陳展維,基於平滑支援向量機之電腦病毒偵測系統,台灣科技大學碩士論文,2004
    [13] Lutz Bohne,“Pandora's Bochs:Automatic Unpacking of Malware” University of Mannheim, German(2008)
    [14]PE,http://66.163.168.225/babelfish/translate_url_content?.intl=tw&lp=zh_zt&trurl=http%3a%2f%2fwww.pediy.com%2fbbshtml%2fBBS6%2fpediy7006.htm#1
    [15]PE,http://download.microsoft.com/download/9/c/5/9c5b2167-8017-4bae-9fde-d599bac8184a/pecoff_v8.docx
    [16]PE, http://cpatch.org/siva/cpatch/pe.htm
    [17]PE, Matt Pietrek,“An In-Depth Look into the Win32 Portable Executable File Format”,MSDN Magazine, March 2002
    [18]葉生正、蘇民揚、張僩鈞、陳相儒,“結合 SVM 與 Naïve Bayes 演算法防堵垃圾郵件的研究”, Journal of Informatics & Electronics, Vol.2, No.1, pp.1-7, October 2007
    [19]楊正三,葉明龍,莊麗月,陳禹融,楊正宏,「利用資訊增益與瀰集演算法於基因微陣列之特徵選取與分類問題」,資訊科技國際期刊
    [20]Chih-Wei Hsu, Chih-Chung Chang, and Chih-Jen Lin .A Practical Guide to Support Vector Classification.From, http://www.csie.ntu.edu.tw/~cjlin/papers/guide/guide.pdf(2010)
    [21]Libsvm, http://www.csie.ntu.edu.tw/~cjlin/libsvm/index.html
    [22]Nick Hnatiw, Tom Robinson, Casey Sheehan, Nick Suan,“PIMP MY PE”:PARSING MALICIOUS AND MALFORMED EXECUTABLES, Sunbelt Software
    [23]Yang-seo Choi, Ik-kyun Kim, Jin-tae Oh, Jae-cheol Ryou,
    Encoded Executable File Detection Technique via Executable File Header Analysis, International Journal of Hybrid Information Technology, Vol.2, No.2, April, 2009
    [24]M. Zubair Shafiq, S. Momina Tabish , Fauzan Mirza, Muddassar Farooq, PE-Miner: Mining Structural Information to Detect Malicious Executables in Realtime, nexGIN RC, FAST-NUCES,SEECS,NUST

    QR CODE