


關鍵詞:惡意軟件檢測;深度學習;特征提取;機器學習
中圖分類號:TP311 文獻標識碼:A
文章編號:1009-3044(2024)36-0036-03"開放科學(資源服務) 標識碼(OSID) :
0 引言
在數字化時代,惡意軟件作為網絡安全的重大威脅,其變種與新形態不斷涌現,對傳統基于簽名和規則的檢測方法構成了嚴峻挑戰。鑒于此,探索并開發更為先進、智能的惡意軟件檢測與防御機制顯得尤為迫切。
為了應對上述挑戰,本文旨在探討一種基于人工智能的新型檢測與防御機制,該機制深度融合機器學習與深度學習技術,旨在自動學習并識別其行為特征及模式,以降低網絡對惡意軟件的檢測時間,并提高阻斷率,進而為網絡安全防護領域提供創新性的理論與實踐指導。
1 惡意軟件檢測與防御概述
惡意軟件(Malware) 是一種通過破壞計算機系統、竊取數據,或造成其他危害來達到攻擊者目的的軟件。李雨穎等[1]對動態行為特征的勒索軟件檢測技術進行分析,得出危害的主要類型包括病毒、蠕蟲、特洛伊木馬等惡意軟件,其通過社交工程、漏洞利用、網絡釣魚等手段進行攻擊,帶來數據泄露、經濟損失和隱私侵犯等危害。劉昊等[2]對惡意軟件檢測的方法進行了分類和介紹,提出傳統的檢測方法有基于特征碼、行為、簽名和啟發式的檢測,各有優缺點,包括防病毒軟件、防火墻、入侵檢測系統(IDS) 和入侵防御系統(IPS) 等[3],這些方法在一定程度上有效,但面對日益復雜和多變的惡意軟件威脅,顯得越來越力不從心,促使了基于人工智能技術的新一代惡意軟件檢測與防御機制的發展[4]。
2 基于人工智能的惡意軟件檢測方法
2.1 特征提取與選擇
通過分析大量的正常和惡意軟件樣本,提取出能夠區分兩者的關鍵特征。這些特征可以是靜態特征(如文件哈希值、文件頭信息等) 或動態特征(如系統調用序列、網絡行為等) 。特征提取是保證檢測模型準確性的關鍵步驟[5],其具體步驟如下。
步驟1數據收集:從各種可信來源收集正常軟件樣本,包括常見的操作系統文件、應用程序、驅動程序等;同時,從安全公司、研究機構或公開惡意軟件數據庫中收集惡意軟件樣本,涵蓋病毒、木馬、勒索軟件等類型。
步驟2特征提取:在不執行軟件的情況下提取特征,包括計算文件的MD5、SHA-1、SHA-256等哈希值以唯一標識文件,提取文件頭部信息(如PE文件頭中的魔術字、時間戳、入口點等) ,分析文件內容的字節序列以識別特定模式或簽名,提取文件中可見的字符串以識別特定的惡意命令或URL,以及提取文件的元數據(如數字簽名、編譯器版本、作者信息等) 。
步驟3特征選擇:在提取了靜態和動態特征之后,使用主成分分析法(PCA) 進行特征選擇。PCA通過將原始特征轉換為一組不相關的主成分,保留數據中最具代表性的部分,從而減少特征維度。具體來說,PCA通過計算特征的協方差矩陣,并對其進行特征值分解,選擇具有最大特征值的特征向量作為主成分。這一過程能夠有效降低數據的復雜性,保留主要信息,確保模型在后續訓練和預測中的性能和效率。
2.2 機器學習模型訓練
將預處理后的訓練集數據輸入SVM模型中進行訓練,目標是找到一個最優的決策邊界(超平面) ,使得惡意軟件和良性軟件數據點之間的分離度最大化。在訓練的過程中,SVM算法會識別出支持向量,即那些位于決策邊界附近的數據點,決策邊界的數學形式為:
遞歸神經網絡則在處理序列數據(如系統調用序列) 方面表現出色。通過大規模數據集的訓練,深度學習模型能夠自動學習到惡意軟件的復雜特征,從而實現更高的檢測精度。
2.4 基于AI 的檢測系統架構
構建基于人工智能的惡意軟件檢測系統涵蓋了數據采集模塊、特征提取模塊、模型訓練與更新模塊以及實時檢測模塊這四大核心組件。首先,數據采集模塊是整個系統的基石,它負責廣泛而深入地收集大量的正常軟件和惡意軟件樣本。這些樣本來源多樣,可能包括公開的惡意軟件庫、實際網絡環境中的捕獲樣本以及合作伙伴的共享數據,從而確保數據集的豐富性和多樣性。緊接著,特征提取模塊會對這些收集到的樣本進行精細的特征分析。這一步驟至關重要,因為它涉及從原始數據中提取出能夠有效區分正常軟件和惡意軟件的關鍵特征。這些特征可能包括文件的靜態屬性(如文件大小、簽名等) 、動態行為特征(如系統調用序列、網絡活動等) 以及可能的惡意代碼模式。隨后,模型訓練與更新模塊會利用這些經過精心提取的特征來構建和訓練檢測模型。在這一階段,各種先進的機器學習算法和深度學習技術會被應用,以學習和識別惡意軟件的特征模式。同時,隨著新數據的不斷涌入和惡意軟件技術的不斷發展,該模塊還需要持續地對模型進行更新和優化,以確保其檢測能力的時效性和準確性。最后,實時檢測模塊會將經過訓練和優化的模型部署到實際的生產環境中。它負責實時監控和分析來自各種來源的數據流,如網絡流量、系統日志等,以快速準確地識別出潛在的惡意軟件活動。
3 環境設計
本次設計的仿真實驗環境旨在全面評估基于人工智能的惡意軟件檢測與防御機制的性能和效果。實驗環境搭建在高性能服務器或云計算平臺上,具體配置如表1所示。數據集方面,本文收集了5000個惡意軟件樣本和5000個正常軟件樣本,并進行了預處理,提取了二進制代碼、系統調用序列、網絡流量等特征。在惡意軟件檢測方法上,本文采用了靜態分析和動態分析相結合的方式,應用了深度學習模型(如CNN) 和機器學習模型(如隨機森林) 進行訓練和分類。防御機制方面,本文實現了實時監測與響應以及自動化防御策略,應用了強化學習技術和基于規則的防御引擎。實驗設計與實施階段,本文將數據集劃分為訓練集和測試集,從而全面測試防御機制的有效性。
從表2可以看出檢測算法和防御算法均表現出了較高的性能。檢測算法的準確率達到了85.00%,召回率達到了95.00%,F1分數為89.47%,顯示出算法在識別惡意軟件方面的有效性。同時,檢測算法的平均處理時間為0.2秒/樣本,相對較快。然而,檢測算法也存在一定的誤報率和漏報率,分別為5.00%。相比之下,防御算法在阻斷率方面表現突出,達到了85.00%,顯示出其在防御惡意軟件攻擊方面的能力。同時,防御算法的準確率、召回率和F1分數也均高于檢測算法,分別為90.00%、92.00%和91.11%。此外,防御算法的平均處理時間更短,為0.15秒/樣本,且誤報率也更低,為3.00%。
進一步,為驗證檢測算法的性能表現,在訓練20次之后,分析其準確率、召回率和F1分數性能指標的變化,如圖1所示。
基于生成的實驗結果圖,可以觀察到以下幾點:在整個訓練過程中,準確率和召回率均保持在較高水平,分別在0.85到0.95和0.80到0.90之間波動。F1分數作為準確率和召回率的調和平均數,整體趨勢與它們一致。特別是在第14輪次時,F1分數達到最高值,說明此時模型在平衡準確性和召回能力方面表現最佳。整體而言,該人工智能模型在檢測惡意軟件方面具有較好的性能和穩定性。
5 結論
本文通過深入研究與實驗驗證,提出了一種基于人工智能的惡意軟件檢測與防御機制。該機制充分利用了機器學習與深度學習技術的優勢,實現了對惡意軟件行為特征及模式的自動學習與高效識別。實驗結果表明,該機制還可以成功進行惡意軟件的檢測和防御方面,相較于傳統方法有了顯著提升。未來將從檢測更為復雜的惡意軟件攻擊手段出發,設計更為高效的監測和防御算法,以確保網絡安全。