本發明涉及網絡安全技術領域,特別是涉及惡意代碼檢測方法與系統。
背景技術:
在大數據時代背景下,傳統的反惡意代碼軟件廠商所采用的技術較為單一,隨著惡意代碼技術的發展,APT(Advanced Persistent Threat,高級持續性威脅)組織為了可以進行持續性的黑客滲透活動,惡意代碼工具的形態也發生了較大的變化,傳統反病毒廠商的產品已經無法滿足及應對現有的惡意代碼的攻擊威脅。
隨著網絡環境的日趨復雜,面臨著越來越多不確定性因素的安全威脅。先進的惡意軟件主要考慮的滲透方式且非常活躍的攻擊手法就是通過電子郵件惡意載荷投遞進行有組織性的魚叉式網絡釣魚攻擊目標網絡。此類針對郵件系統滲透攻擊通常使用了已知或未知的零日漏洞觸發、生成惡意結構的文件文檔發起持續性的網絡滲透活動。主要目的是為了竊取內網系統的數據信息與郵件系統環境內的敏感數據資產。攻擊者可能重新開發或者修改更新惡意代碼實體,可有效躲避企業或相關機構部署安裝的傳統反病毒安全防御產品的掃描檢測。
針對新型且未知的惡意軟件或家族成員識別檢測效率低下,惡意文件攻擊如此常見并有效的主要原因是惡意文件更新快且易于變形。盡管國內目前存在很多產品能夠對已被標記的惡意文件能夠掃描查殺,但是這些產品往往并不能檢測出新型變種的惡意文件。
技術實現要素:
基于此,有必要針對一般惡意文件檢測方法檢測效果不佳的問題,提供一種檢測效果好的惡意代碼檢測方法與系統。
一種惡意代碼檢測方法,包括步驟:
分析待分析樣本對象的結構,結構包括PE可執行文體結構與文檔結構;
當待分析樣本對象為PE可執行文體結構時,對待分析樣本進行靜態分析、殺毒軟件接口分析、虛擬環境沙箱動態分析以及網絡數據分析,獲得第一分析結果;
當待分析樣本對象為文檔結構時,對待分析樣本進行靜態分析,獲得第二分析結果;
根據第一分析結果或第二分析結果,采用惡意代碼分類器,檢測是否存在惡意代碼。
一種惡意代碼檢測系統,包括:
結構分析模塊,用于分析待分析樣本對象的結構,結構包括PE可執行文體結構與文檔結構;
第一分析模塊,用于當待分析樣本對象為PE可執行文體結構時,對待分析樣本進行靜態分析、殺毒軟件接口分析、虛擬環境沙箱動態分析以及網絡數據分析,獲得第一分析結果;
第二分析模塊,用于當待分析樣本對象為文檔結構時,對待分析樣本進行靜態分析,獲得第二分析結果;
檢測模塊,用于根據第一分析結果或第二分析結果,采用惡意代碼分類器,檢測是否存在惡意代碼。
本發明惡意代碼檢測方法與系統,分析待分析樣本對象的結構,當為PE可執行文體結構時,對待分析樣本進行靜態分析、殺毒軟件接口分析、虛擬環境沙箱動態分析以及網絡數據分析,獲得第一分析結果,當為文檔結構時,對待分析樣本進行靜態分析,獲得第二分析結果,根據第一分析結果或第二分析結果,采用惡意代碼分類器,檢測是否存在惡意代碼。整個過程中,分析不同樣本對象類型的數據結構,采用靜態分析、殺毒軟件接口分析、虛擬環境沙箱動態分析以及網絡數據分析,具備可靠的分析識別能力并且可對網絡攻擊事件溯源。
附圖說明
圖1為本發明惡意代碼檢測方法第一個實施例的流程示意圖;
圖2為本發明惡意代碼檢測方法第二個實施例的流程示意圖;
圖3為本發明惡意代碼檢測系統第一個實施例的結構示意圖;
圖4為本發明惡意代碼檢測系統第二個實施例的結構示意圖。
具體實施方式
如圖1所示,一種惡意代碼檢測方法,包括步驟:
S200:分析待分析樣本對象的結構,結構包括PE可執行文體結構與文檔結構。
獲取待分析樣本,并且識別待分析樣本對象,再進一步分析待分析樣本對象的結構,其中,待分析樣本對象的結構包括PE(Windows Preinstallation Environment,Windows預安裝環境)可執行文體結構和文檔結構。PE是Windows這個計算機系統所預先安裝的數據。針對不同待分析樣本對象的結構需要采用不同的檢測、分析方式進行更進一步處理。
S400:當待分析樣本對象為PE可執行文體結構時,對待分析樣本進行靜態分析、殺毒軟件接口分析、虛擬環境沙箱動態分析以及網絡數據分析,獲得第一分析結果。
針對待分析樣本對象為PE可執行文體結構時,需要對待分析樣本進行靜態分析、殺毒軟件接口分析、虛擬環境沙箱動態分析以及網絡數據分析,最終獲得第一分析結果。非必要的,上述靜態分析、殺毒軟件接口分析、虛擬環境沙箱動態分析以及網絡數據分析可以是依次進行的,并行同步處理的。在其中一個實施例中,當待分析樣本對象為PE可執行文體結構時,對待分析樣本進行靜態分析的步驟具體包括:當待分析樣本對象為PE可執行文體結構時,采用惡意代碼API(Application Programming Interface,應用程序編程接口)序列威脅因子分析引擎TFAE(Threat Factor Analysis Engine,威脅因素分析引擎)技術、可機讀威脅情報指標技術以及惡意代碼家族歸類FCSH(Family Classify Sequence Hash,家族分類序列歸類)技術,對待分析樣本進行靜態分析。
下面將著重針對靜態分析中惡意代碼API序列威脅因子分析引擎TFAE技術、可機讀威脅情報指標技術與惡意代碼家族歸類FCSH技術進行展開說明。
惡意代碼API序列威脅因子分析引擎TFAE是一種基于非傳統病毒庫特征的無特征碼新型分析技術手段,屬于前攝性威脅偵測。其主要側重如何提升識別未知類型惡意軟件樣本的能力。可用于解決傳統反病毒廠商在檢測新型且未知惡意樣本方面的技術不足及檢測的滯后性。包括Exploit漏洞利用程序、木馬病毒、后門程序、勒索軟件等。其彌補了傳統反病毒技術在面對新型且未知類型的惡意軟件樣本所遵循的“先入庫、后更新、點查殺”滯后性模式。優先做到及時分析識別潛在威脅價值的惡意代碼樣本對象。能夠快速、有效的提高了惡意代碼分析的效率和覆蓋面。在面臨傳統領域安全威脅的樣本對象和新型領域安全威脅的滲透活動過程采用的后門隧道、密碼提取工具及遠程控制管理工具等都具有足夠的應對處理能力。
IOC可機讀威脅情報指標,是一套威脅情報共享的標準且靈活的格式,把數據表示成可機讀(MRTI)的形式,用于發現已知類型或未知的惡意代碼,可以通過訓練篩選出檢測程度較高的規則模型,在惡意代碼分析階段實現自動生成機讀IOC威脅指標的數據規范。其重點關注的方向是APT高級持續性威脅樣本的發現、檢測到輸出完整威脅評估報告的過程,可以直接轉化成惡意樣本大數據威脅模型的核心數據源之一。也為日后的威脅情報共享平臺的建立奠定數據基礎。
面向惡意代碼家族歸類技術FCSH搜索同一個威脅群可能已經創建和使用新的、類似的樣本數據。為了證明這一分析方法的有效性,已經就相關的APT報告的惡意軟件家族進行了研究測試,能夠發現更多的惡意軟件樣本,進一步的分析表明是相同的惡意軟件家族的一部分,歸屬于同一個威脅群。其與任何其他的分析方法相比,惡意代碼家族歸類是通過一種低成本,高效率和有價值的方式來分析潛在的惡意軟件樣本,采用這種方法也能夠在分析跟蹤結果中,隨著時間的推移來驗證攻擊者所使用的后門程序,可以揭露后門威脅團體之間的組織關系。
下面將著重針對殺毒軟件接口分析、虛擬環境沙箱動態分析以及網絡數據分析技術進行詳細說明。
殺毒軟件接口分析
基于云端多引擎查殺接口,利用第三方擴展資源協同檢測樣本對象數據,集成國內外眾多安全廠商的反病毒產品查殺服務,增強了惡意代碼檢測服務的偵測能力,分析結果只作為參考權重的組成部分。
虛擬環境沙箱動態分析
虛擬環境沙箱動態分析主要包括如下四個方面:1、文件基礎結構信息,文件類型識別和加殼程序識別,詳細信息包括,文件導入表、文件導出表以及資源目錄在內的PE/COFF(Common Object File Format,通用對象文件格式)文件頭部值;2、字符串特征數據,從惡意軟件樣本中提取出的任意可讀字符串。若樣本文件被加殼,可自動轉儲提取其中的字符串信息;3、記錄敏感操作行為特征,跟蹤惡意軟件執行過程中所使用的Windows API函數和輸入參數及輸出返回值。完整記錄API調用、程序與操作系統之間的會話,并產生惡意軟件的活動記錄。也可識別反模擬器檢測、反虛擬化調試檢測技術等;4、分析環境差異化比較,日志記錄惡意軟件在活動周期內造成的沙箱環境的差異性。獲取程序執行前和執行后的文件系統變化列表和注冊表變化列表信息,以快速獲得相關惡意軟件能力的動態行為分析特征。簡單來說,動態分析主要是利用虛擬環境觸發惡意文件在被激活過程中的所有行為記錄與網絡流量數據包解析;由此產生的報告將會包括文件敏感特征分析、反調試,反跟蹤分析、字符串分析、文件結構分析,行為分析。
網絡數據分析
內嵌于虛擬沙箱動態分析環境,實時捕獲惡意軟件在觸發階段活動的網絡通訊狀況,對通訊的數據報文協議進行深入解析分析,實現對惡意代碼網絡行為的完整且詳細的流量監控。
S600:當待分析樣本對象為文檔結構時,對待分析樣本進行靜態分析,獲得第二分析結果。
當待分析樣本對象為文檔結構時,主要對其進行靜態分析。具體來說,文檔結構具體可以Office辦公文檔結構,采用的靜態分析方式以及所采用的技術可以與S400中的相同也可以不同。更進一步來說,針對待分析樣本對象為文檔結構這種情況靜態分析主要采用IOC(Indicator of Compromise,可機讀威脅情報指標)、惡意文檔結構Payload數據提取。主要解決DOC、DOCX、XLS、XLSM、PPT及RTF(Rich Text Format,多信息文本格式)等文檔類型結構內的惡意代碼分析識別與惡意數據的轉儲工作。涵蓋了常見辦公文檔格式類型的分析檢測能力,分析穿透方面可與機讀威脅情報IOC指標進行共享性的資源調用。對于內部結構可能存在的利用已知(CVE編號)或未知安全漏洞捆綁內嵌類型的惡意文檔的分析檢測能力具備了較高的可擴展性與IOC資源共享性。
S800:根據第一分析結果或第二分析結果,采用惡意代碼分類器,檢測是否存在惡意代碼。
惡意代碼分類器根據第一分析結果或第二分析結果,檢測待分析樣本中是否存在惡意代碼。非必要的,惡意代碼分類器可以采用具有學習功能的惡意代碼分類器。通過機器學習惡意代碼的威脅建模評估分類器研究,可以基于多個威脅分析模型的決策算法對樣本數據進行相關統計,提取出惡意軟件的分類標簽;能夠識別新型惡意軟件,還能找到相似的樣本進行關聯,并擴大的惡意代碼庫。
本發明惡意代碼檢測方法,分析待分析樣本對象的結構,當為PE可執行文體結構時,對待分析樣本進行靜態分析、殺毒軟件接口分析、虛擬環境沙箱動態分析以及網絡數據分析,獲得第一分析結果,當為文檔結構時,對待分析樣本進行靜態分析,獲得第二分析結果,根據第一分析結果或第二分析結果,采用惡意代碼分類器,檢測是否存在惡意代碼。整個過程中,分析不同樣本對象類型的數據結構,采用靜態分析、殺毒軟件接口分析、虛擬環境沙箱動態分析以及網絡數據分析,具備可靠的分析識別能力并且可對網絡攻擊事件溯源。
在其中一個實施例中,采用惡意代碼API序列威脅因子分析引擎TFAE技術對待分析樣本進行靜態分析的步驟包括:
步驟一:對大數據原始惡意軟件樣本集進行特征工程試驗研究。
步驟二:對特征工程試驗研究的數據進行清洗及加工,生成基于惡意API序列威脅因子的數據模型。
惡意樣本特征工程的數據清洗及加工,通過海量的大數據原始惡意樣本集的特征工程實驗研究,清洗可能存在白名單數據集的API序列因子雜質,篩選合適的特征向量進行泛化處理。通過訓練多批次(N+批次)API序列數據,及迭代的工程參數調整,可生成一套基于惡意API序列威脅因子的數據模型。
步驟三:以JSON(avaScript Object Notation,輕量級的數據交換格式)接口交互方式,將基于惡意API序列威脅因子的數據模型存儲。
JSON是一種輕量級的數據交換格式。它基于ECMAScript的一個子集。JSON采用完全獨立于語言的文本格式,但是也使用了類似于C語言家族的習慣,這些特性使JSON成為理想的數據交換語言,易于人閱讀和編寫,同時也易于機器解析和生成(一般用于提升網絡傳輸速率)。通過原始惡意樣本集訓練輸出的惡意API序列因子分析模型,以JSON接口交互方式存儲于遠程數據庫服務器,以MongoDB作為數據存儲介質。易于長期的數據維護管理、數據檢索及關聯數據模型分析處理等。
步驟四:驗證初始階段不同批次生成的惡意API序列因子數據模型,判斷測試樣本對象是否存在惡意API序列威脅檢測的標注指標。
輸入多批次的已知或者未知樣本數據對象,驗證初始階段多批次生成的惡意API序列因子數據模型,判斷測試樣本對象是否存在惡意API序列威脅檢測的標注指標。實驗研究結果表明,數據模型針對已知的惡意樣本數據集合(黑名單惡意樣本及良性樣本集合)的分析偵測率達到預期標準。未知樣本數據集(主要驗證數據包含,利用零日漏洞及CVE(Common Vulnerabilities&Exposures,公共漏洞和暴露)漏洞編號開發的木馬病毒、WEB服務中間件應用程序及Windows系統提權工具)的分析偵測率也達到預期結果。
步驟五:根據標注指標,生成惡意API序列威脅數據模型。
可通過技術研究,逐步實現在已有的訓練模型基礎上進行自我構建生成惡意API序列威脅的數據模型,并自動導入數據模型至遠程數據庫服務端進行存儲。優勢是具有更加快速、可靠的分析識別能力。
在其中一個實施例中,采用惡意代碼家族歸類FCSH技術,對待分析樣本進行靜態分析包括步驟:
步驟一:獲取并導入待分析樣本對象的地址表,生成FCSH數據值。
步驟二:對FCSH數據值進行檢測,提取待分析樣本對象的FCSH數據值作為每個分組成員名稱。
步驟三:將待分析樣本對象的FCSH數據值與預設的數據庫存檔惡意代碼FCSH分類工作組對應的FCSH數據值進行比較。
步驟四:將待分析樣本對象的FCSH數據值與預設的數據庫存檔惡意代碼FCSH分類工作組對應的FCSH數據值相同的分類組成員歸屬于同一團體的威脅家族群。
基于函數的源文件中的特定順序導入待分析樣本對象的地址表,生成特定FCSH數據值,在FCSH數據值檢測階段,首先提取出待分析樣本對象的FCSH數據值作為每個分組成員名稱,然后執行待分析樣本對象的FCSH數據值與數據庫存檔的惡意代碼FCSH分類工作組進行數據值比較。如果等于其中任何一個分類成員組,即金額將該待分析樣本與該分類成員組歸屬于同一個團體的威脅家族群。
非必要的,還可以進行模糊哈希處理,具體處理過程為:自動提取惡意軟件樣本文件上下結構相關的分段哈希值,能夠找到同一系列的變種代碼,計算其相似度,可確定文件是否存在被加殼或進行了源代碼自修改模塊。
如圖2所示,在其中一個實施例中,步驟S800之后還包括:
S920:當存在惡意代碼時,提取惡意代碼的特征。
S940:根據惡意代碼的特征,生成可機讀威脅情報IOC數據標準。
如果惡意代碼分類器標注的樣本對象屬于惡意文件標簽,則自動提取樣本文件對象特征規則,自動生成可機讀威脅情報數據交互共享格式。來源不同階段分析任務已分類完成惡意性指標的樣本對象,實現自我遞增規則模型數據流程。
如圖3所示,一種惡意代碼檢測系統,包括:
結構分析模塊200,用于分析待分析樣本對象的結構,結構包括PE可執行文體結構與文檔結構。
第一分析模塊400,用于當待分析樣本對象為PE可執行文體結構時,對待分析樣本進行靜態分析、殺毒軟件接口分析、虛擬環境沙箱動態分析以及網絡數據分析,獲得第一分析結果。
第二分析模塊600,用于當待分析樣本對象為文檔結構時,對待分析樣本進行靜態分析,獲得第二分析結果。
檢測模塊800,用于根據第一分析結果或第二分析結果,采用惡意代碼分類器,檢測是否存在惡意代碼。
本發明惡意代碼檢測系統,結構分析模塊200分析待分析樣本對象的結構,當為PE可執行文體結構時,第一分析模塊400對待分析樣本進行靜態分析、殺毒軟件接口分析、虛擬環境沙箱動態分析以及網絡數據分析,獲得第一分析結果,當為文檔結構時,第二分析模塊600對待分析樣本進行靜態分析,獲得第二分析結果,檢測模塊800根據第一分析結果或第二分析結果,采用惡意代碼分類器,檢測是否存在惡意代碼。整個過程中,分析不同樣本對象類型的數據結構,采用靜態分析、殺毒軟件接口分析、虛擬環境沙箱動態分析以及網絡數據分析,具備可靠的分析識別能力并且可對網絡攻擊事件溯源。
在其中一個實施例中,第一分析模塊400具體用于當待分析樣本對象為PE可執行文體結構時,采用惡意代碼API序列威脅因子分析引擎TFAE技術、可機讀威脅情報指標技術以及惡意代碼家族歸類FCSH技術,對待分析樣本進行靜態分析。
在其中一個實施例中,第一分析模塊400包括:
研究單元,用于對大數據原始惡意軟件樣本集進行特征工程試驗研究。
威脅因子數據模型單元,用于對特征工程試驗研究的數據進行清洗及加工,生成基于惡意API序列威脅因子的數據模型。
存儲單元,用于以JSON接口交互方式,將基于惡意API序列威脅因子的數據模型存儲。
判斷單元,用于驗證初始階段不同批次生成的惡意API序列因子數據模型,判斷測試樣本對象是否存在惡意API序列威脅檢測的標注指標。
威脅數據模型單元,用于根據標注指標,生成惡意API序列威脅數據模型。
在其中一個實施例中,第一分析模塊400包括:
獲取單元,用于獲取并導入待分析樣本對象的地址表,生成FCSH數據值。
檢測單元,用于對FCSH數據值進行檢測,提取待分析樣本對象的FCSH數據值作為每個分組成員名稱。
比較單元,用于將待分析樣本對象的FCSH數據值與預設的數據庫存檔惡意代碼FCSH分類工作組對應的FCSH數據值進行比較。
處理單元,用于將待分析樣本對象的FCSH數據值與預設的數據庫存檔惡意代碼FCSH分類工作組對應的FCSH數據值相同的分類組成員歸屬于同一團體的威脅家族群。
如圖4所示,在其中一個實施例中,惡意代碼檢測系統還包括:
提取模塊920,用于當存在惡意代碼時,提取惡意代碼的特征。
生成模塊940,用于根據惡意代碼的特征,生成可機讀威脅情報IOC數據標準。
具體來說,在實際應用中采用本發明惡意代碼檢測方法與系統不同實施例的技術方案可以實現如下顯著的效果與利用價值。
1、解決傳統安全技術體系在識別日趨復雜網絡安全環境下出現的新型未知惡意樣本的滯后性,也覆蓋了主流可能被利用生成捆綁的惡意文件結構,做到可及時分析檢測包括Open-Source(開源)后門樣本源代碼同源性編譯生成、已公開CVE漏洞利用樣本或者利用了未知零日漏洞編譯生成的Exploit-Toolkit、木馬程序等。
2、可覆蓋主流的文件樣本格式,全面分析不同樣本對象類型的數據結構,提供更加深入、快速有效的檢測與提取文件結構內部惡意攻擊載荷數據,實現不同階段完成的不同任務處理的核心功能指標,包括:基于訓練算法的惡意樣本數據預測分類、同源性惡意家族樣本自動化歸類、惡意樣本數據關聯分析且轉化成威脅情報服務,可對網絡攻擊事件溯源。
3、具備更加快速、可靠的分析識別能力,包括惡意樣本變種、已知的同源性家族成員與未知的新型惡意軟件等,最大化提升分析文件及評估文件的潛在威脅的效率,科學且合理的根據分析結果對文件進行惡意性判斷。
4、解決了在惡意代碼家族歸類過程中如何能夠低成本、高效率且有價值的方式在分析跟蹤結果中,隨著時間的推移來驗證攻擊者所使用的后門程序,可以揭露后門威脅團體之間的組織關系。
5、以“自動化流程、批量化處理”的工廠模式作業線特點,優化了文件分析結構層的處理能力,使其結構更加簡潔方便,大大減少了人工干預的可能性。
6、在功能性方面,極大的增強了與殺毒分析接口、信息系統應用交互接口的靈活性、共享性。例如,郵件系統接口調用,可以根據業務需要進行基于郵件系統IMAP(Internet Mail Access Protocol,交互郵件訪問協議)交互接口或基于BCC規則(Blind Carbon Copy,密文抄送)郵件副本分析,實現可能針對企業或政府內部郵件系統進行的附件數據惡意載荷投送的高級持續性威脅滲透活動,提供惡意文件數據分析檢測服務,做到實時響應分析。
7、逐漸積累的惡意代碼數據資產庫可在研究APT(Advanced Persistent Threat,高級持續性威脅)攻擊及漏洞利用提供源數據支持,利用惡意文件樣本的分析報告提供的資料溯源可以收集整理威脅情報提供案例,通過增加的惡意樣本庫幫助或支撐其他項目的展開。
8、基于大數據惡意樣本信息資產發展方向,可以通過科學有效的數據分析、數據提取及數據清洗技術方案,協助機器自動化生成符合業界標準規范的惡意分析指標,提升整合可利用威脅樣本資源,做到以“關聯分析”為核心的威脅情報服務,進行可操作性推理的APT高級持續性威脅網絡溯源、高威脅預警的網絡安全態勢感知分析報告。
以上實施例僅表達了本發明的幾種實施方式,其描述較為具體和詳細,但并不能因此而理解為對發明專利范圍的限制。應當指出的是,對于本領域的普通技術人員來說,在不脫離本發明構思的前提下,還可以做出若干變形和改進,這些都屬于本發明的保護范圍。因此,本發明專利的保護范圍應以所附權利要求為準。