李 建
(暨南大學(xué) 網(wǎng)絡(luò)與教育技術(shù)中心, 廣州 510630)
網(wǎng)絡(luò)在給人們帶來方便的同時, 也存在著諸多安全問題, 其中造成危害最嚴重的是惡意代碼的入侵[1]。惡意代碼是指含有惡意的計算機腳本、程序和代碼等對計算機系統(tǒng)的完整性進行破壞[2]。惡意代碼的傳播方式分為蠕蟲、病毒和木馬等種類。目前計算機系統(tǒng)硬件升級的速度越來越快, 計算機應(yīng)用軟件也越來越復(fù)雜, 惡意代碼在計算機中的潛伏也更加復(fù)雜和頑固, 具有復(fù)制功能、自我隱蔽功能和抗查殺的能力。惡意代碼對計算機的感染攻擊和破壞的方法有很多種, 一般通過計算機軟件和系統(tǒng)中存在的漏洞進行感染, 還有一部分惡意代碼隨著軟件的下載對計算機進行感染和傳播?,F(xiàn)在流行的木馬和病毒都比較專業(yè)化, 如熊貓燒香病毒結(jié)合了木馬攻擊的手段, 對用戶計算機中的PE文件進行感染, 造成了嚴重危害。為解決上述問題, 筆者提出了局域網(wǎng)惡意代碼入侵自動安全監(jiān)測系統(tǒng)設(shè)計方法, 該方法的提出有效的阻擋了惡意代碼的入侵, 并引起了很多專家和學(xué)者的廣泛關(guān)注。入侵監(jiān)測系統(tǒng)是防止惡意代碼入侵計算機的有效手段, 為計算機的安全運行提供了保障。
為使自動安全監(jiān)測系統(tǒng)更好地應(yīng)用到計算機安全中, 需要對入侵監(jiān)測系統(tǒng)進行深入的分析和研究。文獻[3]提出了一種基于肯定選擇分類算法的惡意代碼監(jiān)測系統(tǒng)設(shè)計方法, 該方法通過提取計算機樣本文件中含有的最大信息增益字節(jié), 算出每500個字節(jié)中的詞頻, 并將得到的詞頻進行歸一化的處理, 得到一個特征向量, 采用肯定選擇分類算法對詞頻的類別進行判斷, 該方法可以準確的監(jiān)測到惡意代碼, 但所用的監(jiān)測時間較長。文獻[4]提出了一種基于蜜罐的惡意代碼監(jiān)測系統(tǒng)設(shè)計方法, 該方法采用蜜罐的方式對計算機中的惡意代碼進行觸發(fā), 借助于QEMU虛擬機模擬器實現(xiàn)了計算機對數(shù)據(jù)信息的管理, 可以將多個蜜罐同時在一臺主機上運行, 提高了對惡意代碼的覆蓋率, 也提高了系統(tǒng)監(jiān)測惡意代碼的效率, 但操作較為復(fù)雜。文獻[5]提出了一種基于云計算的惡意代碼監(jiān)測系統(tǒng)設(shè)計方法, 該方法將多代理協(xié)同處理、云查殺和主動防御等技術(shù)相結(jié)合, 提出了一種新的惡意代碼監(jiān)測系統(tǒng)設(shè)計方法, 該方法將監(jiān)測系統(tǒng)的核心監(jiān)測功能分配到云端, 以服務(wù)形式進行提供。系統(tǒng)的終端配有行為監(jiān)控和安全狀態(tài)監(jiān)控的功能, 但該方法的監(jiān)測覆蓋率較低。
針對惡意代碼入侵監(jiān)測系統(tǒng)中存在的監(jiān)測時間較長、系統(tǒng)操作較為復(fù)雜和監(jiān)測覆蓋率低等問題, 筆者提出了一種局域網(wǎng)惡意代碼入侵自動安全監(jiān)測系統(tǒng)設(shè)計方法。
局域網(wǎng)惡意代碼入侵自動安全監(jiān)測系統(tǒng)由數(shù)據(jù)庫模塊、入侵監(jiān)測模塊、數(shù)據(jù)還原模塊、日志審計模塊和控制中心模塊構(gòu)成。系統(tǒng)的具體參數(shù)如表1所示。局域網(wǎng)惡意代碼入侵自動安全監(jiān)測系統(tǒng)的整體設(shè)計圖如圖1所示。
表1 局域網(wǎng)惡意代碼入侵自動安全監(jiān)測系統(tǒng)參數(shù)
圖1 系統(tǒng)整體結(jié)構(gòu)圖
圖2 數(shù)據(jù)庫模塊結(jié)構(gòu)設(shè)計圖
局域網(wǎng)惡意代碼入侵自動安全監(jiān)測系統(tǒng)中數(shù)據(jù)庫模塊的主要功能是對存在入侵攻擊行為的惡意代碼數(shù)據(jù)包進行存儲匹配監(jiān)測, 并對入侵自動安全監(jiān)測系統(tǒng)還原后的應(yīng)用層協(xié)議網(wǎng)絡(luò)數(shù)據(jù)包、系統(tǒng)日志和分級管理的信息進行儲存, 方便入侵安全監(jiān)測系統(tǒng)使用者和管理員對數(shù)據(jù)庫中的數(shù)據(jù)包進行分析和查詢。局域網(wǎng)惡意代碼入侵自動安全監(jiān)測系統(tǒng)數(shù)據(jù)庫模塊設(shè)計圖如圖2所示。
局域網(wǎng)惡意代碼入侵自動安全監(jiān)測系統(tǒng)中的入侵監(jiān)測模塊屬于規(guī)則監(jiān)測。規(guī)則監(jiān)測是指對每種類型的入侵行為進行特征提取, 按照特征值得到監(jiān)測規(guī)則, 形成一個規(guī)則的數(shù)據(jù)庫。將入侵自動安全監(jiān)測系統(tǒng)攔截的數(shù)據(jù)包與規(guī)則庫中的數(shù)據(jù)進行對比, 若對比結(jié)果相同, 則該數(shù)據(jù)包的入侵行為是成立的。入侵監(jiān)測模塊包括事件響應(yīng)子系統(tǒng)、攔截和解析子系統(tǒng)、數(shù)據(jù)監(jiān)測、數(shù)據(jù)包預(yù)處理, 局域網(wǎng)惡意代碼入侵自動安全監(jiān)測系統(tǒng)的入侵監(jiān)測模塊設(shè)計圖如圖3所示。
入侵監(jiān)測模塊中, 攔截和解析子系統(tǒng)的主要功能是對數(shù)據(jù)的鏈路層進行訪問, 并查找打開相應(yīng)的網(wǎng)絡(luò)接口對網(wǎng)絡(luò)數(shù)據(jù)包進行監(jiān)測, 將攔截的數(shù)據(jù)包按照規(guī)則進行解析。通過數(shù)據(jù)包預(yù)處理將網(wǎng)絡(luò)數(shù)據(jù)包標準化, 使監(jiān)測引擎能準確地對數(shù)據(jù)包特征進行匹配[6]。入侵監(jiān)測模塊的核心是數(shù)據(jù)監(jiān)測, 數(shù)據(jù)監(jiān)測能提取出惡意代碼入侵的數(shù)據(jù)包特征, 并得到實用性的監(jiān)測規(guī)則, 將處理后的數(shù)據(jù)包與規(guī)則庫中的規(guī)則進行匹配, 監(jiān)測數(shù)據(jù)包是否存在入侵行為。當(dāng)系統(tǒng)中出現(xiàn)惡意代碼入侵時, 事件響應(yīng)子系統(tǒng)能監(jiān)測到入侵的時間并進行記錄和報警。
局域網(wǎng)惡意代碼入侵自動安全監(jiān)測系統(tǒng)的數(shù)據(jù)還原模塊的主要功能是對網(wǎng)絡(luò)傳輸中的數(shù)據(jù)包進行攔截, 將數(shù)據(jù)包從上到下展開協(xié)議, 對數(shù)據(jù)包中每個協(xié)議的內(nèi)容進行分析, 并記錄相應(yīng)變量, 之后將其讀取出來并進行數(shù)據(jù)還原處理, 最后將得到的結(jié)果存入局域網(wǎng)惡意代碼入侵自動安全監(jiān)測系統(tǒng)的數(shù)據(jù)庫中, 方便系統(tǒng)管理員的操作和查看[7]。局域網(wǎng)惡意代碼入侵自動安全監(jiān)測系統(tǒng)的數(shù)據(jù)還原模塊設(shè)計圖如圖4所示。
圖3 入侵監(jiān)測模塊處理流程圖 圖4 數(shù)據(jù)還原模塊結(jié)構(gòu)設(shè)計圖
圖5 日志審計管理模塊結(jié)構(gòu)設(shè)計圖
在數(shù)據(jù)還原模塊運行時, 首先將運行環(huán)境初始化, 包括環(huán)境變量初始化、配置文件初始化、公共變量和數(shù)據(jù)緩存初始化。然后進行網(wǎng)絡(luò)設(shè)備初始化, 最后創(chuàng)建數(shù)據(jù)還原模塊的工作線程, 包括數(shù)據(jù)流還原線程、攔截數(shù)據(jù)包線程和數(shù)據(jù)包處理分析調(diào)度線程。攔截數(shù)據(jù)包線程的主要功能是攔截網(wǎng)上的數(shù)據(jù)包, 數(shù)據(jù)流還原線程的主要功能是還原網(wǎng)絡(luò)數(shù)據(jù)包, 并將還原結(jié)果存入數(shù)據(jù)還原模塊的數(shù)據(jù)庫中。數(shù)據(jù)包處理分析調(diào)度線程主要對不同的數(shù)據(jù)包進行調(diào)度。
局域網(wǎng)惡意代碼入侵自動安全監(jiān)測系統(tǒng)的日志審計管理模塊設(shè)計圖如圖5所示。日志審計管理模塊是局域網(wǎng)惡意代碼入侵自動安全監(jiān)測系統(tǒng)中的重要內(nèi)容。日志審計管理模塊由內(nèi)存管理、網(wǎng)絡(luò)和文件訪問構(gòu)成。局域網(wǎng)惡意代碼入侵自動安全監(jiān)測模塊通過日志審計模塊將信息傳送給用戶。日志審計管理模塊將局域網(wǎng)惡意代碼入侵自動安全監(jiān)測系統(tǒng)核心和系統(tǒng)程序中產(chǎn)生的警告信息、錯誤信息和其他信息歸類到日志審計管理模塊的數(shù)據(jù)庫中, 根據(jù)信息的重要性和來源進行分類處理。
圖6 控制中心模塊結(jié)構(gòu)設(shè)計圖
局域網(wǎng)惡意代碼入侵自動安全監(jiān)測系統(tǒng)控制中心模塊的主要功能是為用戶了解系統(tǒng)提供控制界面??刂浦行哪K由報警結(jié)果子模塊、關(guān)聯(lián)分析子模塊、條件查詢子模塊、啟動和關(guān)閉子模塊及系統(tǒng)升級子模塊構(gòu)成。報警結(jié)果子模塊的主要功能是將報警結(jié)果分為危險級別進行顯示, 分別是攻擊次數(shù)、ID、協(xié)議、攻擊類型、目的端口、日期、目的地址、源地址和源端口。其中用戶可以通過報警的ID號, 對惡意代碼數(shù)據(jù)包的數(shù)據(jù)進行查閱[8]。關(guān)聯(lián)分析子模塊的主要功能是選擇數(shù)據(jù)包監(jiān)測的類型并對監(jiān)測模式進行定義。條件查詢子模塊根據(jù)系統(tǒng)日志在數(shù)據(jù)庫中的存儲設(shè)計, 對入侵自動安全監(jiān)測系統(tǒng)數(shù)據(jù)庫中的日志進行檢索。啟動和關(guān)閉子模塊的主要功能是將遠程登錄、郵件服務(wù)和文件傳輸以列表的形式進行顯示, 并實現(xiàn)功能的啟動和關(guān)閉。系統(tǒng)升級子模塊的主要功能是實現(xiàn)局域網(wǎng)惡意代碼入侵自動安全監(jiān)測系統(tǒng)的上傳文件升級, 對系統(tǒng)上傳的文件進行升級和刪除操作, 卸載升級后的軟件包。局域網(wǎng)惡意代碼入侵自動安全監(jiān)測系統(tǒng)的控制中心模塊設(shè)計圖如圖6所示。
在局域網(wǎng)惡意代碼入侵自動安全監(jiān)測系統(tǒng)中, 對局域網(wǎng)中的惡意代碼進行監(jiān)測是入侵自動安全監(jiān)測系統(tǒng)中最重要的組成部分, 可以為計算機安全提供保障, 因此系統(tǒng)的軟件部分對入侵監(jiān)測方法進行深入分析。
局域網(wǎng)惡意代碼入侵自動安全監(jiān)測系統(tǒng)中的入侵監(jiān)測算法采用聚類算法。聚類算法可以對以下兩種情況進行入侵監(jiān)測:一是含有惡意代碼的數(shù)據(jù)量少于正常數(shù)據(jù)量, 二是含有惡意代碼的數(shù)據(jù)偏離了正常的取值范圍[9]。
惡意代碼數(shù)據(jù)包在聚類過程中向系統(tǒng)傳輸時會發(fā)生變化, 設(shè)輸入入侵自動安全監(jiān)測系統(tǒng)的樣本集為x={x1,x2,…,xn}, 樣本的整體賦值為{c1,c2,…,cn}, 則數(shù)據(jù)樣本點間距的計算過程如下
(1)
(2)
其中i=1,2,3,…,n,j=1,2,3,…,n,δij代表輸入入侵自動安全監(jiān)測系統(tǒng)中各個數(shù)據(jù)樣本點的間距。為了使映射后的數(shù)據(jù)樣本具有更好的聚類模型, 將輸入入侵自動安全監(jiān)測系統(tǒng)的樣本映射到相應(yīng)的特征空間中[10]。設(shè)k是入侵自動安全監(jiān)測系統(tǒng)中當(dāng)前聚類的數(shù)量, 入侵監(jiān)測算法執(zhí)行時為n, 當(dāng)每個數(shù)據(jù)樣本點形成一個聚類時, 存在k=n。
當(dāng)數(shù)據(jù)樣本間距{δi1,δi2,…,δin}的升序排列為{wi1,wi2,…,win}時, 此時增量值d的計算公式如下
(3)
σ=kσi
(4)
其中σ表示同一個聚類中數(shù)據(jù)樣本點數(shù)量的參數(shù)。b表示數(shù)據(jù)樣本控制增加量的參數(shù)。對入侵自動安全監(jiān)測系統(tǒng)中聚類的效果進行計算
(5)
(6)
為驗證上述局域網(wǎng)惡意代碼入侵自動安全監(jiān)測系統(tǒng)設(shè)計方案的綜合性能, 設(shè)計如下實驗進行驗證, 思路如下。
1)對比筆者系統(tǒng)和傳統(tǒng)的基于SVM(Support Vector Machine)分類機的惡意代碼入侵安全監(jiān)測系統(tǒng)的覆蓋監(jiān)測率。
2)分別采用本文系統(tǒng)和文獻[3]系統(tǒng)、文獻[4]系統(tǒng)進行惡意代碼入侵自動安全監(jiān)測系統(tǒng)的誤差率對比。
3)采用筆者系統(tǒng)和文獻[5]系統(tǒng)進行惡意代碼入侵自動安全監(jiān)測系統(tǒng)的性能測試, 對比兩種不同系統(tǒng)的數(shù)據(jù)包監(jiān)測所用時間。
該次實驗在Microsoft Visual環(huán)境下完成, 系統(tǒng)的硬件環(huán)境為3.54 GHz CPU, 5.00 Gbyte RAM, 熊貓燒香病毒結(jié)合了木馬攻擊的手段, 對用戶計算機中的PE文件進行感染, 造成了嚴重危害。圖7為熊貓燒香病毒。
為了檢驗局域網(wǎng)惡意代碼入侵自動安全監(jiān)測系統(tǒng)的性能, 進行系統(tǒng)的覆蓋監(jiān)測率測試。分別采用筆者系統(tǒng)和基于SVM分類機的惡意代碼入侵安全監(jiān)測系統(tǒng)進行測試, 對比兩種系統(tǒng)的覆蓋監(jiān)測率(%)對比結(jié)果如表2所示。
圖7 熊貓燒香病毒
表2 兩種系統(tǒng)的覆蓋監(jiān)測率對比
分析表2可知, 筆者系統(tǒng)的覆蓋監(jiān)測率平均為94.33%, 基于SVM分類機的惡意代碼入侵安全監(jiān)測系統(tǒng)的覆蓋監(jiān)測率平均為76.55%。通過對比可知, 筆者系統(tǒng)的覆蓋監(jiān)測率要高于基于SVM分類機的惡意代碼入侵安全監(jiān)測系統(tǒng)的覆蓋監(jiān)測率。這是因為筆者系統(tǒng)通過入侵監(jiān)測模塊將系統(tǒng)攔截的所有數(shù)據(jù)包與規(guī)則庫中的數(shù)據(jù)規(guī)則進行對比, 判斷數(shù)據(jù)包是否存在入侵行為, 攔截了含有入侵行為的數(shù)據(jù)包, 提高了系統(tǒng)的覆蓋監(jiān)測率。
分別采用筆者設(shè)計系統(tǒng)和文獻[3]系統(tǒng)、文獻[4]系統(tǒng)進行局域網(wǎng)惡意代碼入侵自動安全監(jiān)測系統(tǒng)的性能測試, 對比3種不同系統(tǒng)的誤差率(%)。誤差率指實際值較理論值誤差的程度, 用于表示系統(tǒng)的落實情況。誤差率的計算公式如下
誤差率=(實際值-理論值)/理論值×100%
(7)
根據(jù)誤差率的計算值, 3種不同系統(tǒng)的誤差率對比結(jié)果如圖8所示。
分析圖8可知, 在相同的迭代次數(shù)內(nèi)筆者系統(tǒng)的誤差率要低于文獻[3]系統(tǒng)和文獻[4]系統(tǒng)。筆者系統(tǒng)在迭代次數(shù)為400次時誤差率曲線就趨近平穩(wěn)不在變化, 而文獻[3]系統(tǒng)和文獻[4]系統(tǒng)的誤差率隨著迭代次數(shù)的增加不斷升高。文獻[3]系統(tǒng)通過提取計算機中含有的最大信息增益字節(jié), 計算出每500個字節(jié)中的詞頻, 并將得到的詞頻進行歸一化處理, 得到一個特征向量, 并采用肯定選擇分類算法對詞頻的類別進行判斷。文獻[4]系統(tǒng)采用蜜罐的方式對計算機中的惡意代碼進行觸發(fā), 并與其他監(jiān)測系統(tǒng)相結(jié)合, 通過QEMU模擬器對計算機的數(shù)據(jù)信息進行管理。文獻[3]系統(tǒng)和文獻[4]系統(tǒng)對網(wǎng)絡(luò)數(shù)據(jù)包進行監(jiān)測時, 所用的入侵監(jiān)測系統(tǒng)較為粗糙, 不能準確的對數(shù)據(jù)包中的代碼數(shù)據(jù)進行監(jiān)測, 導(dǎo)致系統(tǒng)的誤差率較高。
分別采用筆者系統(tǒng)和文獻[5]系統(tǒng)進行惡意代碼入侵自動安全監(jiān)測系統(tǒng)的性能測試, 對比兩種不同系統(tǒng)對數(shù)據(jù)包監(jiān)測所用的時間(min), 對比結(jié)果如圖9所示。
圖8 3種不同系統(tǒng)的誤差率對比 圖9 兩種不同系統(tǒng)監(jiān)測所用時間對比
分析圖9可知, 監(jiān)測大小相同的數(shù)據(jù)時, 筆者系統(tǒng)監(jiān)測所用的時間比文獻[5]系統(tǒng)監(jiān)測所用的時間少。文獻[5]系統(tǒng)將多代理協(xié)同處理、云查殺和主動防御等技術(shù)相結(jié)合, 將監(jiān)測系統(tǒng)的核心監(jiān)測功能分配到云端, 并以服務(wù)形式進行提供, 通過系統(tǒng)終端的行為監(jiān)控和安全狀態(tài)監(jiān)控對數(shù)據(jù)進行監(jiān)測。但該系統(tǒng)對數(shù)據(jù)監(jiān)測時, 監(jiān)測系統(tǒng)過于繁瑣, 增加了系統(tǒng)監(jiān)測數(shù)據(jù)所用的時間。而筆者系統(tǒng)對數(shù)據(jù)進行監(jiān)測時, 所用用監(jiān)測算法簡單精準, 減少了系統(tǒng)監(jiān)測數(shù)據(jù)所用的時間。
惡意代碼入侵監(jiān)測系統(tǒng)的入侵監(jiān)測是近年來研究的熱點, 筆者設(shè)計的局域網(wǎng)惡意代碼入侵自動安全監(jiān)測系統(tǒng)解決了傳統(tǒng)入侵監(jiān)測系統(tǒng)存在系統(tǒng)監(jiān)測時間長、覆蓋監(jiān)測率低、誤差較高等問題, 并將進行提升, 局域網(wǎng)惡意代碼入侵自動安全監(jiān)測系統(tǒng)為用戶提供了一個安全穩(wěn)定的網(wǎng)絡(luò)環(huán)境。