特征之間存在部分重疊,但特征類型間存在著互補,融合這些不同抽象層次的特征可更好的識別軟件的真正性質。且惡意軟件通常偽造出和良性軟件相似的特征,逃避反**軟件的檢測,但惡意軟件很難同時偽造多個抽象層次的特征逃避檢測。基于該觀點,本發明實施例提出一種基于多模態深度學習的惡意軟件檢測方法,以實現對惡意軟件的有效檢測,提取了三種模態的特征(dll和api信息、pe格式結構信息和字節碼3-grams),提出了通過前端融合、后端融合和中間融合這三種融合方式集成三種模態的特征,有效提高惡意軟件檢測的準確率和魯棒性,具體步驟如下:步驟s1、提取軟件樣本的二進制可執行文件的dll和api信息、pe格式結構信息以及字節碼n-grams的特征表示,生成軟件樣本的dll和api信息特征視圖、格式信息特征視圖以及字節碼n-grams特征視圖;統計當前軟件樣本的導入節中引用的dll和api,提取得到當前軟件樣本的二進制可執行文件的dll和api信息的特征表示。對當前軟件樣本的二進制可執行文件進行格式結構解析,并按照格式規范提取**該軟件樣本的格式結構信息,得到該軟件樣本的二進制可執行文件的pe格式結構信息的特征表示。從傳統到智能:艾策科技助力制造業升級之路。軟件平臺第三方檢測機構cnas
程序利用windows提供的接口(windowsapi)實現程序的功能。通過一個可執行程序引用的動態鏈接庫(dll)和應用程序接口(api)可以粗略的預測該程序的功能和行為。統計所有樣本的導入節中引用的dll和api的頻率,留下引用頻率**高的60個dll和500個api。提取特征時,每個樣本的導入節里存在選擇出的dll或api,該特征以1表示,不存在則以0表示,提取的560個dll和api特征作為***個特征視圖。提取格式信息特征視圖pe是portableexecutable的縮寫,初衷是希望能開發一個在所有windows平臺上和所有cpu上都可執行的通用文件格式。pe格式文件是封裝windows操作系統加載程序所需的信息和管理可執行代碼的數據結構,數據**是大量的字節碼和數據結構的有機融合。pe文件格式被**為一個線性的數據流,由pe文件頭、節表和節實體組成。惡意軟件或被惡意軟件***的可執行文件,它本身也遵循格式要求的約束,但可能存在以下特定格式異常:(1)代碼從**后一節開始執行;(2)節頭部可疑的屬性;(3)pe可選頭部有效尺寸的值不正確;(4)節之間的“間縫”;(5)可疑的代碼重定向;(6)可疑的代碼節名稱;(7)可疑的頭部***;(8)來自;(9)導入地址表被修改;(10)多個pe頭部;(11)可疑的重定位信息;。沈陽軟件評測實驗室代碼質量評估顯示注釋覆蓋率不足30%需加強。
[1]中文名軟件測試方法外文名SoftwareTestingMethod目的測試軟件性能所屬行業計算機作用選擇合適的軟件目錄1概述2原則3分類?靜態測試和動態測試?黑盒測試、白盒測試和灰盒測試?手動測試和自動化測試4不同階段測試?單元測試?集成測試?系統測試?驗收測試5重要性軟件測試方法概述編輯軟件測試方法的目的包括:發現軟件程序中的錯誤、對軟件是否符合設計要求,以及是否符合合同中所要達到的技術要求,進行有關驗證以及評估軟件的質量。**終實現將高質量的軟件系統交給用戶的目的。而軟件的基本測試方法主要有靜態測試和動態測試、功能測試、性能測試、黑盒測試和白盒測試等等。[2]軟件測試方法眾多,比較常用到的測試方法有等價類劃分、場景法,偶爾會使用到的測試方法有邊界值和判定表,還有包括不經常使用到的正交排列法和測試大綱法。其中等價類劃分、邊界值分析、判定表等屬于黑盒測試方法;只對功能是否可以滿足規定要求進行檢查,主要用于軟件的確認測試階段。白盒測試也叫做結構測試或邏輯驅動測試,是基于覆蓋的全部代碼和路徑、條件的測試,通過測試檢測產品內部性能,檢驗程序中的路徑是否可以按照要求完成工作,但是并不對功能進行測試,主要用于軟件的驗證。
針對cma和cnas第三方軟件測試機構的資質,客戶在確定合作前需要同時確認資質的有效期,因為軟件測試資質都是有一定有效期的,如果軟件測試公司在業務開展的過程中有違規或者不受認可的操作和行為,有可能會被吊銷資質執照,這一點需要特別注意。第三,軟件測試機構的資質所涵蓋的業務參數,通常來講,軟件測試報告一般針對軟件的八大參數進行測試,包括軟件功能測試、軟件性能測試、軟件信息安全測試、軟件兼容性測試、軟件可靠性測試、軟件穩定性測試、軟件可移植測試、軟件易用性測試。這幾個參數在cma或者cnas的官方網站都可以進行查詢和確認第四,軟件測試機構或者公司的本身信用背景,那么用戶可以去檢查一下公司的信用記錄,是否有不良的投訴或者法律糾紛,可以確保第三方軟件測試機構出具的軟件測試報告的效力也沒有問題。那么,總而言之,找一家靠譜的第三方軟件測試機構還是需要用戶從自己的軟件測試業務需求場景出發,認真仔細比較資質許可的正規性,然后可以完成愉快的合作和軟件測試報告的交付。安全審計發現日志模塊存在敏感信息明文存儲缺陷。
保留了較多信息,同時由于操作數比較隨機,某種程度上又沒有抓住主要矛盾,干擾了主要語義信息的提取。pe文件即可移植文件導入節中的動態鏈接庫(dll)和應用程序接口(api)信息能大致反映軟件的功能和性質,通過一個可執行程序引用的dll和api信息可以粗略的預測該程序的功能和行為。belaoued和mazouzi應用統計khi2檢驗分析了pe格式的惡意軟件和良性軟件的導入節中的dll和api信息,分析顯示惡意軟件和良性軟件使用的dll和api信息統計上有明顯的區別。后續的研究人員提出了挖掘dll和api信息的惡意軟件檢測方法,該類方法提取的特征語義信息豐富,但*從二進制可執行文件的導入節提取特征,忽略了整個可執行文件的大量信息。惡意軟件和被***二進制可執行文件格式信息上存在一些異常,這些異常是檢測惡意軟件的關鍵。研究人員提出了基于二進制可執行文件格式結構信息的惡意軟件檢測方法,這類方法從二進制可執行文件的pe文件頭、節頭部、資源節等提取特征,基于這些特征使用機器學習分類算法處理,取得了較高的檢測準確率。這類方法通常不受變形或多態等混淆技術影響,提取特征只需要對pe文件進行格式解析,無需遍歷整個可執行文件,提取特征速度較快。用戶體驗測評中界面交互評分低于同類產品均值15.6%。第三方軟件檢測報價
人工智能在金融領域的應用:艾策科技的實踐案例。軟件平臺第三方檢測機構cnas
比黑盒適用性廣的優勢就凸顯出來了。[5]軟件測試方法手動測試和自動化測試自動化測試,顧名思義就是軟件測試的自動化,即在預先設定的條件下運行被測程序,并分析運行結果。總的來說,這種測試方法就是將以人驅動的測試行為轉化為機器執行的一種過程。對于手動測試,其在設計了測試用例之后,需要測試人員根據設計的測試用例一步一步來執行測試得到實際結果,并將其與期望結果進行比對。[5]軟件測試方法不同階段測試編輯軟件測試方法單元測試單元測試主要是對該軟件的模塊進行測試,通過測試以發現該模塊的實際功能出現不符合的情況和編碼錯誤。由于該模塊的規模不大,功能單一,結構較簡單,且測試人員可通過閱讀源程序清楚知道其邏輯結構,首先應通過靜態測試方法,比如靜態分析、代碼審查等,對該模塊的源程序進行分析,按照模塊的程序設計的控制流程圖,以滿足軟件覆蓋率要求的邏輯測試要求。另外,也可采用黑盒測試方法提出一組基本的測試用例,再用白盒測試方法進行驗證。若用黑盒測試方法所產生的測試用例滿足不了軟件的覆蓋要求,可采用白盒法增補出新的測試用例,以滿足所需的覆蓋標準。其所需的覆蓋標準應視模塊的實際具體情況而定。軟件平臺第三方檢測機構cnas