保留了較多信息,同時由于操作數比較隨機,某種程度上又沒有抓住主要矛盾,干擾了主要語義信息的提取。pe文件即可移植文件導入節中的動態鏈接庫(dll)和應用程序接口(api)信息能大致反映軟件的功能和性質,通過一個可執行程序引用的dll和api信息可以粗略的預測該程序的功能和行為。belaoued和mazouzi應用統計khi2檢驗分析了pe格式的惡意軟件和良性軟件的導入節中的dll和api信息,分析顯示惡意軟件和良性軟件使用的dll和api信息統計上有明顯的區別。后續的研究人員提出了挖掘dll和api信息的惡意軟件檢測方法,該類方法提取的特征語義信息豐富,但*從二進制可執行文件的導入節提取特征,忽略了整個可執行文件的大量信息。惡意軟件和被***二進制可執行文件格式信息上存在一些異常,這些異常是檢測惡意軟件的關鍵。研究人員提出了基于二進制可執行文件格式結構信息的惡意軟件檢測方法,這類方法從二進制可執行文件的pe文件頭、節頭部、資源節等提取特征,基于這些特征使用機器學習分類算法處理,取得了較高的檢測準確率。這類方法通常不受變形或多態等混淆技術影響,提取特征只需要對pe文件進行格式解析,無需遍歷整個可執行文件,提取特征速度較快。可靠性評估連續運行72小時出現2次非致命錯誤。昆明第三方軟件評測單位
此外格式結構信息具有明顯的語義信息,但基于格式結構信息的檢測方法沒有提取決定軟件行為的代碼節和數據節信息作為特征。某一種類型的特征都從不同的視角反映刻畫了可執行文件的一些性質,字節碼n-grams、dll和api信息、格式結構信息都部分捕捉到了惡意軟件和良性軟件間的可區分信息,但都存在著一定的局限性,不能充分、綜合、整體的表示可執行文件的本質,使得檢測結果準確率不高、可靠性低、泛化性和魯棒性不佳。此外,惡意軟件通常偽造出和良性軟件相似的特征,逃避反**軟件的檢測。技術實現要素:本發明實施例的目的在于提供一種基于多模態深度學習的惡意軟件檢測方法,以解決現有采用二進制可執行文件的單一特征類型進行惡意軟件檢測的檢測方法檢測準確率不高、檢測可靠性低、泛化性和魯棒性不佳的問題,以及其難以檢測出偽造良性軟件特征的惡意軟件的問題。本發明實施例所采用的技術方案是,基于多模態深度學習的惡意軟件檢測方法,按照以下步驟進行:步驟s1、提取軟件樣本的二進制可執行文件的dll和api信息、pe格式結構信息以及字節碼n-grams的特征表示,生成軟件樣本的dll和api信息特征視圖、格式信息特征視圖以及字節碼n-grams特征視圖。軟件登記測評隱私合規檢測確認用戶數據加密符合GDPR標準要求。
綜合上面的分析可以看出,惡意軟件的格式信息和良性軟件是有很多差異性的,以可執行文件的格式信息作為特征,是識別已知和未知惡意軟件的可行方法。對每個樣本進行格式結構解析,提取**每個樣本實施例件的格式結構信息,可執行文件的格式規范都由操作系統廠商給出,按照操作系統廠商給出的格式規范提取即可。pe文件的格式結構有許多屬性,但大多數屬性無法區分惡意軟件和良性軟件,經過深入分析pe文件的格式結構屬性,提取了可能區分惡意軟件和良性軟件的136個格式結構屬性,如表2所示。表2可能區分惡意軟件和良性軟件的pe格式結構屬性特征描述數量(個)引用dll的總數1引用api的總數1導出表中符號的總數1重定位節的項目總數,連續的幾個字節可能是完成特定功能的一段代碼,或者是可執行文件的結構信息,也可能是某個惡意軟件中特有的字節碼序列。pe文件可表示為字節碼序列,惡意軟件可能存在一些共有的字節碼子序列模式,研究人員直覺上認為一些字節碼子序列在惡意軟件可能以較高頻率出現,且這些字節碼序列和良性軟件字節碼序列存在明顯差異。可執行文件通常是二進制文件,需要把二進制文件轉換為十六進制的文本實施例件,就得到可執行文件的十六進制字節碼序列。
所述生成軟件樣本的dll和api信息特征視圖,是先統計所有類別已知的軟件樣本的pe可執行文件引用的dll和api信息,從中選取引用頻率**高的多個dll和api信息;然后判斷當前的軟件樣本的導入節里是否存在選擇出的某個引用頻率**高的dll和api信息,如存在,則將當前軟件樣本的該dll或api信息以1表示,否則將其以0表示,從而對當前軟件樣本的所有dll和api信息進行表示形成當前軟件樣本的dll和api信息特征視圖。進一步的,所述生成軟件樣本的格式信息特征視圖,是從當前軟件樣本的pe格式結構信息中選取可能區分惡意軟件和良性軟件的pe格式結構特征,形成當前軟件樣本的格式信息特征視圖。進一步的,所述從當前軟件樣本的pe格式結構信息中選取可能區分惡意軟件和良性軟件的pe格式結構特征,是從當前軟件樣本的pe格式結構信息中確定存在特定格式異常的pe格式結構特征以及存在明顯的統計差異的格式結構特征;所述特定格式異常包括:(1)代碼從**后一節開始執行,(2)節頭部可疑的屬性,(3)pe可選頭部有效尺寸的值不正確,(4)節之間的“間縫”,(5)可疑的代碼重定向,(6)可疑的代碼節名稱,(7)可疑的頭部***,(8)來自,(9)導入地址表被修改,(10)多個pe頭部,(11)可疑的重定位信息,。壓力測試表明系統在5000并發用戶時響應延遲激增300%。
在不知道多長的子序列能更好的表示可執行文件的情況下,只能以固定窗口大小在字節碼序列中滑動,產生大量的短序列,由機器學習方法選擇可能區分惡意軟件和良性軟件的短序列作為特征,產生短序列的方法叫n-grams。“080074ff13b2”的字節碼序列,如果以3-grams產生連續部分重疊的短序列,將得到“080074”、“0074ff”、“74ff13”、“ff13b2”四個短序列。每個短序列特征的權重表示有多種方法。**簡單的方法是如果該短序列在具體樣本中出現,就表示為1;如果沒有出現,就表示為0,也可以用。本實施例采用3-grams方法提取特征,3-grams產生的短序列非常龐大,將產生224=(16,777,216)個特征,如此龐大的特征集在計算機內存中存儲和算法效率上都是問題。如果短序列特征的tf較小,對機器學習可能沒有意義,選取了tf**高的5000個短序列特征,計算每個短序列特征的,每個短序列特征的權重是判斷其所在軟件樣本是否為惡意軟件的依據,也是區分每個軟件樣本的依據。(4)前端融合前端融合的架構如圖4所示,前端融合方式將三種模態的特征合并,然后輸入深度神經網絡,隱藏層的***函數為relu,輸出層的***函數是sigmoid,中間使用dropout層進行正則化,防止過擬合,優化器。自動化測試發現7個邊界條件未處理的異常情況。惠州第三方軟件評測
從傳統到智能:艾策科技助力制造業升級之路。昆明第三方軟件評測單位
收藏查看我的收藏0有用+1已投票0軟件測試方法編輯鎖定本詞條由“科普**”科學百科詞條編寫與應用工作項目審核。軟件測試是使用人工或自動的手段來運行或測定某個軟件系統的過程,其目的在于檢驗它是否滿足規定的需求或弄清預期結果與實際結果之間的差別。[1]從是否關心軟件內部結構和具體實現的角度劃分,測試方法主要有白盒測試和黑盒測試。白盒測試方法主要有代碼檢査法、靜態結構分析法、靜態質量度量法、邏輯覆蓋法、基夲路徑測試法、域測試、符號測試、路徑覆蓋和程序變異。黑盒測試方法主要包括等價類劃分法、邊界值分析法、錯誤推測法、因果圖法、判定表驅動法、正交試驗設計法、功能圖法、場景法等。[1]從是否執行程序的角度劃分,測試方法又可分為靜態測試和動態測試。靜態測試包括代碼檢査、靜態結構分析、代碼質量度量等。動態測試由3部分組成:構造測試實例、執行程序和分析程序的輸出結果。昆明第三方軟件評測單位