潘恒緒 卞煒松 鄧杰 肖文

摘要:近幾十年,計算機技術和網絡技術的迅速發展和普及使各行各業發生了翻天覆地的變化,許多行業已基本實現了數字化、信息化。這給人們帶來巨大便利的同時,也隱藏著各種各樣的安全隱患。其中,計算機網絡病毒的出現和迅速傳播嚴重威脅著計算機系統和人們的隱私安全,而目前的網絡病毒防御體系很難及時對未知病毒做出有效防御。因此,研究對網絡病毒更加有效的防御技術已成為當前社會的迫切需要和網絡空間安全研究領域的一項重要任務?;跀祿诰虻挠嬎銠C網絡病毒防御技術可以通過對數據庫中大量病毒數據運用統計學、人工智能、機器學習等方法挖掘出判斷程序是不是網絡病毒的相關規則,并將接收到的數據包與挖掘到的規則進行匹配,從而預測出數據包中是否含有網絡病毒。該文介紹當前主流的計算機網絡病毒防御技術,并將數據挖掘技術與計算機網絡病毒防御技術相結合,指出基于數據挖掘的計算機網絡病毒防御技術的應用與所面臨的挑戰。最后設計基于數據挖掘技術的計算機網絡病毒防御系統流程。
關鍵詞:數據挖掘;計算機;網絡病毒;防御
中圖分類號:TP393? ? ? ? 文獻標識碼:A
文章編號:1009-3044(2021)10-0057-03
當前,計算機網絡病毒的傳播給人們使用計算機造成了很大的困擾,網絡病毒在計算機中輕則導致隱私泄露,重則導致系統癱瘓。同時,《中華人民共和國網絡安全法》的通過與實施使我們清楚地認識到網絡安全與國家安全息息相關,沒有網絡安全就沒有國家安全。因此,研究更有效的計算機網絡病毒防御技術具有重要意義。而將數據挖掘技術應用于計算機網絡病毒防御中,可以有效控制當前迅速傳播的網絡病毒,從而更好地保護計算機網絡系統的安全。
1 計算機網絡病毒
1.1 計算機網絡病毒的定義與特征
從廣義上來講,計算機網絡病毒是指通過網絡傳播并破壞計算機功能或者毀壞計算機內部數據的代碼程序。從狹義上來講,計算機網絡病毒是指傳播途徑和破壞對象均為網絡的代碼程序[1]。計算機網絡病毒主要包括木馬病毒、蠕蟲病毒、宏病毒和腳本病毒等。
當前,為對抗特征碼檢測技術,計算機網絡病毒多采用加密、多態、變形等技術手段,使得反病毒軟件即使從單個樣本中提取出特征碼也無法檢測出變形后的病毒,展現出變化速度較快的特征;由于網絡技術的迅猛發展,計算機網絡病毒可以通過多種方式如系統漏洞、電子郵件、文件共享、不良網頁等方式進行傳播,展現出傳播速度較快且傳播形式多樣的特征;通過竊取或破壞用戶存儲在計算機內的隱私信息或重要文件,政府、企業等組織的機密信息來獲取經濟利益,計算機網絡病毒展現出越來越強的針對性與破壞性的特征。
1.2 計算機網絡病毒的主要防治技術
1.2.1 靜態病毒檢測技術
(1)特征碼檢測技術
特征碼是反病毒軟件從病毒樣本中提取出的一串二進制數值,可以根據這一數值來判斷一個文件是不是病毒文件或是否已感染病毒。常見的可以作為特征碼的信息有病毒感染計算機后在屏幕上顯示的信息、病毒的感染標記或病毒文件中任何一段連續的、不含空格的且長度不大于64字節的字符串[2]。隨后,病毒檢測引擎可以將待檢測文件與病毒特征碼進行二進制匹配,如果匹配成功,則該文件很有可能是病毒或已感染病毒。
(2)校驗和檢測技術
首先計算出正常文件或系統扇區的校驗和并將其寫入數據庫。其中常見的計算對象有系統數據、文件頭部、文件屬性和文件內容,常用的校驗和算法有MD5、CRC等[2]。然后,當使用文件或啟動系統時計算文件或系統扇區的校驗和并將其與數據庫中保存的校驗和進行對比。若比較結果不一致,則文件或系統扇區有可能已感染病毒。
(3)啟發式掃描技術
啟發式掃描技術運用反匯編引擎得到病毒程序的匯編指令序列,并將其與病毒程序行為代碼數據庫進行對比,找出程序中的可疑代碼。然后根據統計規律,判斷該文件是不是病毒文件或是否已感染病毒并給出合理解釋。當面對變形或多態病毒時,可以將該技術與虛擬機檢測技術結合起來,先使用虛擬機檢測技術使病毒現出“原形”,然后使用啟發式掃描技術對該文件進行檢測。
1.2.2 動態病毒檢測技術
(1)虛擬機檢測技術
為對抗網絡上日益猖獗的加密、多態和變形病毒,虛擬機檢測技術應運而生。虛擬機首先從病毒程序或染毒文件中讀取病毒的入口點代碼,然后模擬執行病毒內部的解密程序段,暴露出病毒的“原形”,隨后使用特征碼檢測技術或啟發式掃描技術來對該文件進行檢測。
(2)主動防御技術
主動防御技術是指通過實時監控應用程序的行為來判斷其是否有惡意傾向,當程序發生敏感行為時將向用戶發出警告,若其行為已嚴重到對系統安全構成巨大威脅時也可直接將程序清除。
1.2.3 云查殺技術
云查殺技術是指將客戶端上的可疑文件、行為數據和對可疑文件的處理過程等上傳到云端服務器,利用云端服務器強大的數據和運算資源以及各種分析手段來對其進行判別,并指導客戶端做出相應處理。這大大提高了判別的準確性,也使得安全廠商可以更快地掌握新型病毒的行為特點和傳播動向,并及時采取相應防御措施[2]。
2 數據挖掘技術及其在計算機網絡病毒防御中的應用
2.1 數據挖掘技術簡介
數據挖掘是指從大量的數據中,運用統計學、人工智能、機器學習等方法,挖掘出未知的、且有價值的信息和知識的過程。數據挖掘技術主要有關聯分析、分類分析、聚類分析、異類分析、特異群組分析和演變分析等。
2.2 構建網絡病毒防御系統的數據挖掘技術
2.2.1 有監督的數據挖掘技術
分類分析是有監督的數據挖掘技術,指預先設定幾個類別,然后將個體依據其特征分別納入不同的類別。分類分析的輸入數據是記錄的集合,每條記錄用元組(x,y)來表示。其中x是屬性集合,y是這條記錄所屬的類別[3]。進行分類分析的目的在于利用統計方法或機器學習方法等構造分類模型,將數據庫中的數據映射到某個特定類,即實現從x到y的映射,然后利用該分類規則分類其他數據[4]。