TWI650671B - 惡意程式分析方法及裝置 - Google Patents
惡意程式分析方法及裝置 Download PDFInfo
- Publication number
- TWI650671B TWI650671B TW106135413A TW106135413A TWI650671B TW I650671 B TWI650671 B TW I650671B TW 106135413 A TW106135413 A TW 106135413A TW 106135413 A TW106135413 A TW 106135413A TW I650671 B TWI650671 B TW I650671B
- Authority
- TW
- Taiwan
- Prior art keywords
- program
- behavior
- malware
- operating system
- tested
- Prior art date
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本發明提供一種具進化性惡意程式分析方法及裝置,在分析的過程中,藉由模擬虛擬化作業系統以取得待測程式的程序行為與系統行為等資訊,並比對程序行為與系統行為以找出具新型態匿蹤方法與技術的惡意程式。接著,藉由模擬虛擬化作業系統以取得程序虛擬記憶體與實體記憶體資訊,並分析程序虛擬記憶體與實體記憶體資訊以找出新型態應用程式介面呼叫方法與技術。此外,建立惡意程式資料庫,可供惡意程式分析系統持續進化,得以發現新型態的惡意程式。
Description
本發明是有關於一種資安技術,且特別是有關於一種惡意程式分析方法及裝置。
近年來大量出現惡意行為者使用進階持續性威脅(Advanced persistent threat,APT)方法進行目標針對式攻擊,並利用系統漏洞逃避資訊安全系統防護,此攻擊方式令國內外企業聞風色變。此外,為了迴避資安系統的防禦,惡意程式甚至會被改良以透過新的匿蹤方式來運作,更使得企業的電腦主機難以防範。由此可知,如何及時發現新型態的惡意程式,係各企業重視的資訊安全議題及技術。
有鑑於此,本發明提供一種惡意程式分析方法及裝置,其在虛擬化作業系統(Operation System,OS)下監控並分析運作行為及記憶體之使用,以找出新型態惡意程式的呼叫方法及技術。
本發明的惡意程式分析方法,其適用於評估待測程式,而此惡意程式分析方法包括下列步驟。模擬虛擬化作業系統並監控待測程式於虛擬化作業系統中的運作行為。模擬虛擬化作業系統並監控待測程式於虛擬化作業系統中對記憶體的使用情形。將運作行為及對記憶體的使用情形與記錄的惡意程式資訊比對,以評估待測程式為新型態惡意程式。
本發明的惡意程式分析裝置,其包括儲存單元及處理單元。儲存單元記錄數個模組。處理單元耦接儲存單元,且存取並執行儲存單元所儲存的那些模組。那些模組包括惡意程式行為資料庫、模擬分析模組、行為分析模組、仿真分析模組及記憶體分析模組。惡意程式行為資料庫記錄惡意程式資訊。模擬分析模組模擬虛擬化作業系統並監控待測程式於虛擬化作業系統中的運作行為。行為分析模組將運作行為與記錄的惡意程式資訊比對。仿真分析模組模擬虛擬化作業系統並監控待測程式於虛擬化作業系統中對記憶體的使用情形。記憶體分析模組將記憶體的使用情形與記錄的惡意程式資訊比對,以評估待測程式為新型態惡意程式。
基於上述,本發明實施例藉由使用虛擬化作業系統來監控待測程式的運作行為及對記憶體的使用情形,可防止待測程式對主機作業系統的攻擊。此外,對運作行為及對記憶體的使用情形進一步分析,即可評估待測程式是否為新型態惡意程式。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
圖1是依據本發明一實施例之惡意程式分析裝置100的元件方塊圖。請參照圖1,惡意程式分析裝置100包括儲存單元180及處理單元190。惡意程式分析裝置100可以是個人電腦、伺服器、閘道裝置、網路存取裝置等電子裝置。
儲存單元180可以係任何型態的固定或可移動隨機存取記憶體(RAM)、唯讀記憶體(ROM)、快閃記憶體(flash memory)、傳統硬碟(hard disk drive)、固態硬碟(solid-state drive)或類似元件或上述元件的組合,並用以記錄模擬(simulator)分析模組110、行為分析模組120、仿真(emulator)分析模組130、記憶體分析模組140、惡意程式行為資料庫150及惡意程式程式庫(library)資料庫160等軟體程式、主機作業系統、運作行為(例如,程序行為、系統行為等)、對記憶體的使用情形(例如,虛擬記憶體資訊、實體記體資訊等) 等相關資訊。前述模組、資料庫、檔案及資料待後續實施例再詳細說明。
處理單元190與儲存單元180及連接,並可以是中央處理單元(CPU),或是其他可程式化之一般用途或特殊用途的微處理器(Microprocessor)、數位信號處理器(DSP)、可程式化控制器、特殊應用積體電路(ASIC)或其他類似元件或上述元件的組合。在本發明實施例中,處理單元190用以執行惡意程式分析裝置100的所有作業,且可存取並執行上述儲存單元180中記錄的模組。
為了方便理解本發明實施例的操作流程,以下將舉諸多實施例詳細說明本發明實施例中惡意程式分析裝置100對待測程式之評估方法。圖2是依據本發明一實施例說明一種惡意程式分析方法之流程圖。請參照圖2,本實施例的方法適用於圖1中惡意程式分析裝置100中的各裝置。下文中,將搭配惡意程式分析裝置100的各項元件及模組說明本發明實施例所述之方法。本方法的各個流程可依照實施情形而隨之調整,且並不僅限於此。
經擷取網路封包、用戶上傳或透過外部或內件儲存媒介(例如,隨身碟、光碟、外接硬碟等)而使惡意程式分析裝置100取得待測程式(例如,COM、EXE檔案等)後,此待測程式將儲存於儲存單元180中,Simulator分析模組110即可存取此待測程式。
請參照圖3是依據本發明一實施例之Simulator分析模組110的運作示意圖,模擬分析模組110會在主機作業系統(Host OS)113中模擬虛擬化作業系統(Guest OS)112,且於虛擬化作業系統112內配置監控程式模組111,並由惡意程式行為資料庫150與惡意程式library資料庫160載入最新的惡意程式行為及library資訊,以動態配置監控程式模組111的程序行為與library監控功能。待完成監控功能配置後,監控程式模組111會控制待測程式2的執行,並監控待測程式2於虛擬化作業系統112的運作行為(步驟S210)。
更具體而言,惡意程式行為資料庫150儲存有具新型態匿蹤手法的惡意程式行為方法與技術之相關資訊(總稱惡意程式資訊),而惡意程式library資料庫160則儲存惡意程式具有的新型態應用程式介面(Application Programming Interface,API)呼叫方法與技術之相關資訊,且前述資訊可能係來自諸如VirusTotal、Bluecoat等來源所提供的諸如惡意程式、病毒、不當網路行為、網路威脅相關資安情資資訊、或是後續經分析待測程式2所記錄的相關資訊。此外,監控程式模組111所記錄的運作行為包括程序行為及虛擬化作業系統112的系統行為,程序行為可以是待測程式2所呼叫的程式、程式庫、系統API及上述行為結合之衍生資訊,而系統行為可以是虛擬化作業系統112的網路行為、系統程序行為、檔案系統(存取)行為及上述行為結合之衍生資訊。
請參照圖4是依據本發明一實施例之行為分析模組120的運作示意圖,行為分析模組120之程序行為分析模組121及系統行為分析模組122會對Simulator分析模組110所取得的程序行為與系統行為資訊進行交叉比較分析。當程序行為與系統行為不相符合(即,與惡意程式資訊所記錄的程序行為及對應之系統行為不相符)時,則表示Simulator分析模組110對惡意程式分析結果有所誤差,監控程式模組111無法正確取得程序行為或系統行為資訊,且代表此待測程式2存在新型態匿蹤手法,故能避開監控程式模組111之偵測。此外,行為分析模組120偵測到記錄的程序行為與系統行為符合惡意程式資訊,即可直接認定此待測程式2非屬新型態惡意程式,故無需再進行後續分析。
另一方面,具新型態匿蹤手法的惡意程式行為會被儲存於惡意程式行為資料庫150,作為記憶體分析模組140分析比較之資訊、以及後續進化Simulator分析模組110之資訊。
當發現待測程式2具有新型態匿蹤手法的情況(即,程序行為與系統行為不符合)時,行為分析模組120會將此待測程式2送入Emulator分析模組130進行分析。請參照圖3是依據本發明一實施例之Emulator分析模組130的運作示意圖,Emulator分析模組130會在主機作業系統133中模擬虛擬化作業系統132,並對待測程式2進行分析,且於虛擬化作業系統132外配置監控程式模組131,以對待測程式2於虛擬化作業系統132中對記憶體的使用情形進行監控(步驟S220)。
更具體而言,監控程式模組131會監控待測程式2,並產出待測程式2對虛擬化作業系統132的記憶體使用情形。此使用情形包括虛擬記憶體資訊(包括待測程式2所呼叫的程式、Library、系統API呼叫與上述行為結合所使用之虛擬記憶體紀錄)、以及虛擬化作業系統132的實體記憶體資訊(包括網路行為、系統行為、檔案系統行為及上述行為結合所使用之實體記憶體紀錄)。
請參照圖6是依據本發明一實施例之記憶體分析模組140的運作示意圖,記憶體分析模組140會對Emulator分析模組130所取得的程序虛擬記憶體與實體記憶體資訊進行交叉分析,並搭配儲存於惡意程式行為資料庫150的惡意程式資訊進行比較(即,判斷與惡意程式資訊所記錄的虛擬記憶體資訊及對應實體記憶體資訊是否相符),以分析是否存在新型態API呼叫,從而評估待測程式2是否為新型態惡意程式(步驟S230)。
更具體而言,記憶體分析模組140的虛擬記憶體分析模組141會將匯入的程序虛擬記憶體資訊進行分析,從虛擬記憶體資訊中找出並分類待測程式2所呼叫的程式、Library與系統API呼叫等資訊;而記憶體分析模組140的實體記憶體分析模組142會將匯入的虛擬化作業系統132的實體記憶體資訊進行分析,從實體記憶體資訊中找出並分類為虛擬化作業系統132的網路行為、系統行為、檔案系統行為等資訊。記憶體分析模組140會交叉比對由虛擬記憶體分析模組142與實體記憶體分析模組141所獲得的資訊是否相符合,並搭配惡意程式行為資料庫150資訊,從而找出新型態API呼叫方法。
若發現待測程式2具有新型態API呼叫,則記憶體分析模組140將待測程式2及其對記憶體的使用情形之相關資訊存入惡意程式Library資料庫160,以作為後續進化Simulator分析模組110之資訊(即,評估另一待測程式的參考)。若未發現新型態API呼叫,則記憶體分析模組140將具新型態匿蹤手法的惡意程式送交人工或專家系統分析,以發掘新型態API呼叫後再存入惡意程式Library資料庫160。
藉由分析模組110~140持續分析不同類型之惡意程式,可持續發現具新型態匿蹤手法,使惡意程式分析裝置100持續增加新型態惡意程式的相關資訊,從而不斷的進化。另值得說明的是,本實施例係先對運作行為分析再考慮記憶體的使用情形,然於其他實施例中,其可能同時運作,但須考量其運作效能及速度而適當調整評估參數。
綜上所述,本發明實施例藉由模擬虛擬化作業系統來監控待測程式之運作,可隔離待測程式對主機作業系統的攻擊。此外,對待測程式的程序行為、前述行為所使用之虛擬記憶體資訊、虛擬化作業系統的系統行為、以及前述行為於虛擬化記憶體的實體記憶體資訊進行記錄及比對,評估待測程式是否存在新型態的API呼叫方法及技術。本發明實施例還能透過資訊回饋手段,經反覆分析以持續不斷地自我更新及進化資料庫之內容,能有效且快速地發掘出新型態惡意程式及其藏匿方法。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
2‧‧‧待測程式
100‧‧‧惡意程式分析裝置
110‧‧‧模擬分析模組
111、131‧‧‧監控程式模組
112、132‧‧‧虛擬化作業系統
113、133‧‧‧主機作業系統
120‧‧‧行為分析模組
121‧‧‧程序行為分析模組
122‧‧‧系統行為分析模組
130‧‧‧仿真分析模組
140‧‧‧記憶體分析模組
141‧‧‧虛擬記憶體分析模組
142‧‧‧實體記憶體分析模組
150‧‧‧惡意程式行為資料庫
160‧‧‧惡意程式程式庫資料庫
S210~S230‧‧‧步驟
圖1是依據本發明一實施例之惡意程式分析裝置的元件方塊圖。 圖2是依據本發明一實施例之惡意程式分析方法的流程圖。 圖3是依據本發明一實施例之模擬分析模組的運作示意圖。 圖4是依據本發明一實施例之行為分析模組的運作示意圖。 圖5是依據本發明一實施例之仿真分析模組的運作示意圖。 圖6是依據本發明一實施例之記憶體分析模組的運作示意圖。
Claims (10)
- 一種惡意程式分析方法,適用於評估一待測程式,該惡意程式分析方法包括: 模擬一虛擬化作業系統並監控該待測程式於該虛擬化作業系統中的運作行為; 模擬該虛擬化作業系統並監控該待測程式於該虛擬化作業系統中對記憶體的使用情形;以及 將該運作行為及對記憶體的該使用情形與記錄的惡意程式資訊比對,以評估該待測程式為一新型態惡意程式。
- 如申請專利範圍第1項所述的惡意程式分析方法,其中該運作行為包括一程序行為及該虛擬化作業系統的一系統行為,而模擬該虛擬化作業系統並監控該待測程式於該虛擬化作業系統中的運作行為,包括: 紀錄該待測程式於該虛擬化作業系統的程序行為,其中該程序行為包括該待測程式所呼叫的程式、程式庫(library)、系統應用程式介面(Application Programming Interface,API)及上述行為結合之衍生資訊;以及 紀錄該待測程式運作時該虛擬化作業系統的系統行為,其中該系統行為包括網路行為、系統程序行為、檔案系統行為及上述行為結合之衍生資訊。
- 如申請專利範圍第1項所述的惡意程式分析方法,其中該使用情形包括一虛擬記憶體資訊及該虛擬化作業系統的一實體記憶體資訊,而模擬該虛擬化作業系統並監控該待測程式於該虛擬化作業系統中對記憶體的該使用情形,包括: 紀錄該待測程式運作時該虛擬化作業系統的虛擬記憶體資訊;以及 紀錄該待測程式運作時該虛擬化作業系統的實體記憶體資訊。
- 如申請專利範圍第2項所述的惡意程式分析方法,其中該模擬該虛擬化作業系統並監控該待測程式於該虛擬化作業系統中對記憶體的該使用情形,包括: 若該程序行為與該系統行為不符合,則監控該待測程式於該虛擬化作業系統中對記憶體的該使用情形;以及 若該待測程式於該虛擬化作業系統中對記憶體的該使用情形不符合記錄的該惡意程式資訊,則評估該待測程式為該新型態惡意程式。
- 如申請專利範圍第1項所述的惡意程式分析方法,其中將該運作行為及對記憶體的該使用情形與記錄的惡意程式資訊比對以評估該待測程式為該新型態惡意程式,包括: 若該運作行為及對記憶體的該使用情形中任一者不符合記錄的該惡意程式資訊,則記錄該待測程式及其運作行為及對記憶體的該使用情形,以作為評估另一待測程式的參考。
- 一種惡意程式分析裝置,包括: 一儲存單元,記錄多個模組;以及 一處理單元,耦接該儲存單元,且存取並執行該儲存單元所儲存的該些模組,該些模組包括: 一惡意程式行為資料庫,記錄一惡意程式資訊; 一模擬分析模組,模擬一虛擬化作業系統並監控該待測程式於該虛擬化作業系統中的運作行為; 一行為分析模組,將該運作行為與記錄的該惡意程式資訊比對; 一仿真分析模組,模擬該虛擬化作業系統並監控該待測程式於該虛擬化作業系統中對記憶體的使用情形;以及 一記憶體分析模組,將對記憶體的該使用情形與記錄的惡意程式資訊比對,以評估該待測程式為一新型態惡意程式。
- 如申請專利範圍第6項所述的惡意程式分析裝置,其中該運作行為包括一程序行為及該虛擬化作業系統的一系統行為,而該模擬分析模組紀錄該待測程式於該虛擬化作業系統的程序行為,並紀錄該待測程式運作時該虛擬化作業系統的系統行為,其中該程序行為包括該待測程式所呼叫的程式、程式庫、系統應用程式介面及上述行為結合之衍生資訊,而該系統行為包括網路行為、系統程序行為、檔案系統行為及上述行為結合之衍生資訊。
- 如申請專利範圍第6項所述的惡意程式分析裝置,其中該使用情形包括一虛擬記憶體資訊及該虛擬化作業系統的一實體記憶體資訊,而該仿真分析模組紀錄該待測程式運作時該虛擬化作業系統的虛擬記憶體資訊,並紀錄該待測程式運作時該虛擬化作業系統的實體記憶體資訊。
- 如申請專利範圍第7項所述的惡意程式分析裝置,其中 若該程序行為與該系統行為不符合,則該仿真分析模組監控該待測程式於該虛擬化作業系統中對記憶體的該使用情形; 若該記憶體分析模組比對該待測程式於該虛擬化作業系統中對記憶體的該使用情形不符合記錄的該惡意程式資訊,則評估該待測程式為該新型態惡意程式。
- 如申請專利範圍第6項所述的惡意程式分析裝置,其中該儲存單元更記錄有一惡意程式程式庫資料庫,而若對記憶體的該使用情形不符合記錄的該惡意程式資訊,則該記憶體分析模組中將該待測程式及其對記憶體的該使用情形記錄在該惡意程式程式庫資料庫;若該運作行為不符合記錄的該惡意程式資訊,則該行為分析模組將該待測程式及其運作行為記錄該惡意程式行為資料庫,以作為評估另一待測程式的參考。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW106135413A TWI650671B (zh) | 2017-10-17 | 2017-10-17 | 惡意程式分析方法及裝置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW106135413A TWI650671B (zh) | 2017-10-17 | 2017-10-17 | 惡意程式分析方法及裝置 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI650671B true TWI650671B (zh) | 2019-02-11 |
TW201917619A TW201917619A (zh) | 2019-05-01 |
Family
ID=66213972
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106135413A TWI650671B (zh) | 2017-10-17 | 2017-10-17 | 惡意程式分析方法及裝置 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI650671B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI728637B (zh) * | 2020-01-02 | 2021-05-21 | 中華電信股份有限公司 | 資訊安全防護方法及電腦可讀媒介 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI515598B (zh) * | 2013-08-23 | 2016-01-01 | 國立交通大學 | 產生純化惡意程式的方法、偵測惡意程式之方法及其系統 |
US20160149937A1 (en) * | 2014-11-25 | 2016-05-26 | enSilo Ltd. | Systems and methods for malicious code detection |
US20170132411A1 (en) * | 2015-11-11 | 2017-05-11 | Qualcomm Incorporated | Detecting Program Evasion of Virtual Machines or Emulators |
-
2017
- 2017-10-17 TW TW106135413A patent/TWI650671B/zh active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI515598B (zh) * | 2013-08-23 | 2016-01-01 | 國立交通大學 | 產生純化惡意程式的方法、偵測惡意程式之方法及其系統 |
US20160149937A1 (en) * | 2014-11-25 | 2016-05-26 | enSilo Ltd. | Systems and methods for malicious code detection |
US20170132411A1 (en) * | 2015-11-11 | 2017-05-11 | Qualcomm Incorporated | Detecting Program Evasion of Virtual Machines or Emulators |
Also Published As
Publication number | Publication date |
---|---|
TW201917619A (zh) | 2019-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11625485B2 (en) | Method of malware detection and system thereof | |
US20190005243A1 (en) | Segregating executable files exhibiting network activity | |
Bläsing et al. | An android application sandbox system for suspicious software detection | |
RU2472215C1 (ru) | Способ выявления неизвестных программ с использованием эмуляции процесса загрузки | |
EP2975873A1 (en) | A computer implemented method for classifying mobile applications and computer programs thereof | |
US11012449B2 (en) | Methods and cloud-based systems for detecting malwares by servers | |
Ding et al. | DeepPower: Non-intrusive and deep learning-based detection of IoT malware using power side channels | |
US20180020024A1 (en) | Methods and Systems for Using Self-learning Techniques to Protect a Web Application | |
CN109586282B (zh) | 一种电网未知威胁检测系统及方法 | |
Canzanese et al. | Toward an automatic, online behavioral malware classification system | |
Thangavelooa et al. | Datdroid: Dynamic analysis technique in android malware detection | |
Choi et al. | Toward extracting malware features for classification using static and dynamic analysis | |
RU2748518C1 (ru) | Способ противодействия вредоносному программному обеспечению (ВПО) путем имитации проверочной среды | |
JP2023051738A (ja) | マルウェア検出のための有限状態機械に基づく挙動解析 | |
US20140298002A1 (en) | Method and device for identifying a disk boot sector virus, and storage medium | |
TWI650671B (zh) | 惡意程式分析方法及裝置 | |
CN106650439A (zh) | 检测可疑应用程序的方法及装置 | |
Gashi et al. | A study of the relationship between antivirus regressions and label changes | |
Sinha et al. | Integrated Malware Analysis Sandbox for Static and Dynamic Analysis | |
RU2665909C1 (ru) | Способ избирательного использования шаблонов опасного поведения программ | |
Ceponis et al. | Towards a Robust Method of Dataset Generation of Malicious Activity on a Windows-Based Operating System for Anomaly-Based HIDS Training. | |
Gaber et al. | Defeating Evasive Malware with Peekaboo: Extracting Authentic Malware Behavior with Dynamic Binary Instrumentation | |
Anand et al. | Malware Exposed: An In-Depth Analysis of its Behavior and Threats | |
Shi et al. | Design of a comprehensive virtual machine monitoring system | |
Taylor et al. | General Process Detection Through Physical Side Channel Characterization |