楊 超,李子怡
(湖北大學(xué) 計算機與信息工程學(xué)院,湖北 武漢430062)
隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,電子郵件是因特網(wǎng)上最為流行的應(yīng)用之一,具有重要的商業(yè)和社會價值。各種各樣的商業(yè)廣告、色情信息、郵件炸彈和很多來歷不明的郵件大量涌進郵箱,侵害了電子郵件用戶的通信利益,影響了電子郵件服務(wù)的正常運營秩序,危害互聯(lián)網(wǎng)安全和社會的穩(wěn)定,成為互聯(lián)網(wǎng)的一大公害。
傳統(tǒng)的反垃圾郵件技術(shù)主要是通過黑白名單垃圾郵件過濾[1]、智能分析的貝葉斯算法[2]、深度的內(nèi)容檢測[3]。然而,這些技術(shù)也存在著一些不可忽視的問題[4]:實時黑名單(RBL)存在部分IP 地址(段)錯誤列入實時黑名單的情況。智能分析的貝葉斯算法對如何適應(yīng)圖片、PDF 等附件、內(nèi)嵌HTML 鏈接的垃圾郵件尚待進一步研究。基于規(guī)則的評分系統(tǒng)、數(shù)字指紋/簽名等深度內(nèi)容分析技術(shù),依賴于不斷更新的垃圾郵件特征數(shù)據(jù)庫來攔截垃圾郵件。因此,傳統(tǒng)的垃圾郵件檢測方法不能有效快速識別出垃圾郵件群發(fā)現(xiàn)象。
由于具有良好的多樣性、免疫記憶、自學(xué)習(xí)、自適應(yīng)和魯棒性的特點[5],人工免疫系統(tǒng)已經(jīng)廣泛應(yīng)用于各類入侵檢測系統(tǒng)中。本文將人工免疫系統(tǒng)中危險理論的思想應(yīng)用到垃圾郵件群發(fā)的檢測中,將危險理論中的“危險”與“不危險”和垃圾郵件的判斷相對應(yīng),搜集多種垃圾郵件特征,并將其定義為危險信號,通過這些危險信號綜合判定其是否為垃圾郵件。該方法可快速檢測出垃圾郵件,并具有較低的誤報率和漏報率。
黑白名單技術(shù)是最早的反垃圾郵件技術(shù),其主要是通過收集郵件中的發(fā)信地址和收信地址與黑白名單中的地址進行比較來判斷郵件屬于垃圾郵件的可能性[6]。黑白名單技術(shù)分為:用戶黑白名單技術(shù)、網(wǎng)絡(luò)黑白名單技術(shù)。用戶黑白名單技術(shù)使用的是用戶自定義的黑白名單。使用用戶黑白名單機制可以快速準確地過濾掉垃圾郵件,而且可以把經(jīng)常錯誤過濾為垃圾郵件的用戶郵件快速分辨出來,減少誤判率;網(wǎng)絡(luò)黑白名單技術(shù)使用的是有互聯(lián)網(wǎng)用戶共同維護的黑白名單。目前在網(wǎng)絡(luò)黑名單技術(shù)上最流行的是實時黑名單技術(shù)。
黑白名單技術(shù)的缺點在于需要時間和精力來維護管理黑白名單列表,因為垃圾郵件發(fā)送者在不斷更換它的域名和地址。為了讓該技術(shù)實時有效,黑白名單列表必須不斷地更新升級,這會對一些合法的服務(wù)器造成誤傷。
基于內(nèi)容的垃圾郵件過濾技術(shù)是通過分析郵件的內(nèi)容來過濾垃圾郵件的一種技術(shù)。目前基于內(nèi)容的垃圾郵件過濾主要包括基于規(guī)則的方法和基于概率統(tǒng)計的方法[7]。
所謂規(guī)則,是通過訓(xùn)練得到顯示規(guī)則(通常是用產(chǎn)生式表示,如,如果郵件包含Advertisement,那么,該郵件為垃圾郵件)的判斷方法。優(yōu)點是可以生成人類理解的規(guī)則;缺點是在規(guī)律性不明顯的應(yīng)用領(lǐng)域效果較差[8]。
基于貝葉斯的過濾[9],是先通過統(tǒng)計獲得特征項在垃圾郵件中出現(xiàn)的先驗概率(prior probability),再利用數(shù)學(xué)統(tǒng)計中的貝葉斯公式求得含有這些特征項的郵件是垃圾郵件的后驗概率(posterior probability)。該方法在進行過濾之前,需要學(xué)習(xí)統(tǒng)計大量的郵件[10]。
也有學(xué)者基于數(shù)字指紋/簽名等內(nèi)容分析技術(shù)對垃圾郵件進行檢測。通過對垃圾郵件內(nèi)容進行潛在的語義分析,獲取垃圾郵件的消息摘要,經(jīng)加密算法生成“郵件指紋”,并進行入庫。但是它依賴于不斷更新的垃圾郵件特征數(shù)據(jù)庫,對于音頻、視頻、加密郵件的過濾情況并不如人意。
以上方法中,黑白名單需要實時更新名單庫;基于內(nèi)容過濾的算法需要對郵件內(nèi)容進行分析和字符串的比對,且都是需要一定的學(xué)習(xí)和訓(xùn)練時間,因此,雖然檢測效率較好,但是檢測速度較慢,本文利用危險理論的方法,從垃圾郵件群發(fā)的行為特征入手,實現(xiàn)垃圾郵件的快速檢測。
在生物免疫系統(tǒng)中,樹突狀細胞(dendritic cells,DC)是機體功能最強的專職抗原遞呈細胞,未成熟DC 具有較強的遷移能力,成熟DC 能有效激活初始型T 細胞。未成熟的DC 從淋巴系統(tǒng)遷移到機體組織,在機體組織中攝取抗原并采集抗原所處環(huán)境中的分子信號,受到刺激即分化為成熟的DC,DC 在成熟的過程中由組織返回到淋巴結(jié),并將抗原提呈給T 細胞識別[11]。
DC 算法(DCA)是Greensmith 根據(jù)固有免疫系統(tǒng)中DC的機理設(shè)計實現(xiàn)的一種人工免疫系統(tǒng)算法[12],已成功運用于端口掃描檢測和異常檢測領(lǐng)域[13~15],DCA 具有效率高、負載小、低誤報率的特點。DCA 是基于DC 群體的算法,群體中每個DC 收集組織中的抗原,同時攝取四種環(huán)境信號:病原體相關(guān)分子模式(pathogen-associated molecular pattern,PAMP)、危險信號(danger signal,DS)、安全信號(safe signal,SS)和致炎信號(inflammation signal,IS)。DC 把攝取到的四種環(huán)境信號作為輸入信號,通過權(quán)值矩陣和相關(guān)函數(shù)進行融合處理后,產(chǎn)生三種輸出信號:協(xié)同刺激分子(costimulatory molecules,CSM)、半(semi)成 熟 信 號 和 成 熟(mat)信號,并對這三種輸出信號分別進行累加,當CSM 達到遷移閾值時,DC 發(fā)生遷移。此時,通過對結(jié)果進行分析,semi 和mat 中的濃度較大者決定當前的細胞環(huán)境。同時,根據(jù)當前細胞環(huán)境狀態(tài),對該DC 采集的所有抗原進行標記,標記為semi 或mat。當抗原達到判別次數(shù)后,計算代表該抗原異常程度的成熟環(huán)境抗原值(mature context antigen value,MCAV),并與預(yù)先設(shè)定的異常閾值進行比較,從而判斷抗原是否異常。DC 分化的過程如圖1 所示。
圖1 DC 分化過程圖Fig 1 Processing of DC differentiation
本文涉及到的生物學(xué)中的七種信號及其抽象信號與含義如表1 所示。
表1 DCA 相關(guān)信號及其含義Tab 1 Relative signal of DCA and its meaning
垃圾郵件發(fā)送者在發(fā)送垃圾郵件時,主要有以下幾種特征:1)大量發(fā)送,即同一IP 同時的SMTP 連接數(shù)非常大,超過正常數(shù)量的請求。2)發(fā)送頻率頻繁,即短時間內(nèi)不斷地進行聯(lián)機投遞。3)信頭發(fā)件人地址偽造。垃圾郵件一般采用群發(fā)軟件發(fā)送,發(fā)信人的地址是可以任意偽造的。4)垃圾郵件要么不會對服務(wù)器返回的錯誤做出任何重試,要么在短時間內(nèi)會進行瘋狂的重試。5)一般的郵件客戶端會對發(fā)送的郵件在傳輸過程中進行加密處理,而垃圾郵件群發(fā)不會。基于上述特點,分析其一定時間段內(nèi)垃圾郵件的發(fā)送情況,采取該時間段內(nèi)的下列各指標的平均值作為抗原信號:
1)SMTP 創(chuàng)建數(shù)目(記為SN):在進行快速創(chuàng)建時,SMTP 連接創(chuàng)建數(shù)目會明顯高于正常情況。
2)SMTP 連接頻率(記為SF):發(fā)送垃圾郵件用戶的SMTP 連接頻率一般要高于合法用戶。
3)接收服務(wù)器錯誤提示的重傳記錄(記為WM)。對于服務(wù)器會對不能正常傳輸?shù)泥]件返回錯誤提示。因此,該指標的出現(xiàn)有可能是垃圾郵件導(dǎo)致的。
4)郵件在傳輸過程中數(shù)據(jù)包是否加密(記為DE):在垃圾郵件群發(fā)時,發(fā)送郵件的數(shù)據(jù)包一般不會經(jīng)過加密處理,而正常發(fā)送的郵件的數(shù)據(jù)包會經(jīng)過加密處理后傳輸,因此,該指標可以作為垃圾郵件判斷的一種方式。
3.2.1 信號映射
針對前文提到的各項指標,對其進行預(yù)處理,通過映射函數(shù)統(tǒng)一將其規(guī)格化到1 ~10 之間。定義規(guī)格化函數(shù)f(x)如式(1)
其中,x 為原始信號值,當x∈[m,n]時,進行線性映射;當x∈[0,∞)時,信號取最大值10。
現(xiàn)將檢測垃圾郵件相關(guān)指標進行如下映射:
1)PAMP:病原體相關(guān)分子模式,表明系統(tǒng)非健康,存在異常行為的特征,不能正常響應(yīng)用戶的處理請求。定義PAMP={〈WM〉}。
2)DS:危險信號,表明系統(tǒng)亞健康,異常的可能性較高,系統(tǒng)仍然可以工作,但存在不可用的可能。定義DS={〈SN,SF,WM〉}。
3)SS:安全信號,表示正常的可能性較高,系統(tǒng)處于健康狀態(tài)。定義SS={〈SN,SF,DE〉}。
4)IS:致炎因子,表明組織總體上存在異常,起到放大PAMP,DS,SS 信號的作用。定義IS={〈DE〉},其中,IS 為1 表示郵件服務(wù)器無法正常連接,IS 為0 表示正常服務(wù)。
3.2.2 權(quán)值矩陣
DC 收集組織中的抗原,并對四類輸入信號(PAMP,DS,SS,IS)進行處理,計算出三個輸出信號:協(xié)同刺激(CSM)信號、半成熟(semi)信號與成熟(mat)信號。由輸入信號值到輸出信號值的轉(zhuǎn)換權(quán)值矩陣如表2 所示。
表2 DCA 信號轉(zhuǎn)換權(quán)值矩陣Tab 2 Weight matrix of DCA signal conversion
表2 中的權(quán)值矩陣表明:PAMP 信號和DS 對CSM 信號和MAT 信號具有正影響,起促進作用,而對SEMI 信號則沒有影響。SS 對CSM 信號和SEMI 信號值的累加具有正影響,而對MAT 信號則具有負影響。值的大小表示各輸入信號對輸出信號的影響程度,值越大,表明其相應(yīng)的影響程度越大。由輸入信號值轉(zhuǎn)換為輸出信號值的計算如式(2)所示
其中,CP,CD,CS分別為輸入信號PAMP,DS,SS 的值,WP,WD,WS為相應(yīng)的權(quán)值。
3.2.3 算法流程描述
應(yīng)用到垃圾郵件檢測中的DCA 流程圖如圖2 所示。
圖2 DCA 流程圖Fig 2 Flow chart of DCA
具體描述如下:
輸入:四個抗原信號值,PAMP,DS,SS,IS;
輸出:CSM,smDC 或mDC;
說明:DC 遷移閾值:Z;DC 生命周期:T;抗原判別閾值:M;抗原異常閾值:N
Begin
初始化抗原池采集數(shù)目;
初始化DC 細胞種群;
For 每個DC
If CSM <遷移閾值Z then
Begin
在抗原池中隨機采集未被標記的抗原,并計算PAMP,DS,SS 及IS 信號值and 依據(jù)權(quán)值矩陣計算CSM,semiMature,Mature 并累加;
End;
If CSM≥遷移閾值Z then
Begin
比較semiMature,Mature 大小,并標記該DC 的狀態(tài)AND 標記該DC 采集的抗原狀態(tài),DC 發(fā)生遷移;
If 抗原判定總次數(shù) =抗原判別閾值M then
Begin
計算MCAV = 抗原被判為異常次數(shù)/抗原判定總次數(shù),比較MCAV 與異常閾值N 的大小,
If MCAV ≥N then
抗原標記為異常;
Else
抗原標記為正常;
End
End
If DC 采集抗原次數(shù)≥DC 生命周期T then
拋棄該DC;
End
本文選用一種垃圾郵件群發(fā)器模擬群發(fā)垃圾郵件,與foxmail 郵件客戶端模擬正常郵件發(fā)送進行對比。
該垃圾郵件群發(fā)器具有如下特點:
1)選擇郵件發(fā)送模式:特快專遞(MX)、正常模式(SMTP);
2)使用HELO 域名設(shè)置自動創(chuàng)建虛擬郵箱(僅限于特快專遞);
3)發(fā)送失敗自動更換郵箱發(fā)送一次;
4)檢測封IP 后重新?lián)芴柣驌QIP。
通過使用wireshark 工具捕獲正常郵件和垃圾郵件的群發(fā)行為和數(shù)據(jù)包情況。
實驗情景設(shè)置如下:
1)分別用垃圾郵件發(fā)送器和foxmail 郵件客戶端發(fā)送給100 個郵箱,垃圾郵件發(fā)送器采用特快專遞方式中的HELO 域名設(shè)置自動創(chuàng)建虛擬郵箱。
2)分別用垃圾郵件發(fā)送器和foxmail 郵件客戶端發(fā)送給200 個郵箱,垃圾郵件發(fā)送器采用特快專遞方式,發(fā)送50 封后檢測封IP 后重新?lián)芴柣驌QIP。
3)分別用垃圾郵件發(fā)送器和foxmail 郵件客戶端發(fā)送給300 個郵箱,垃圾郵件發(fā)送器發(fā)送失敗采用相同模式重發(fā)5 次。
4)分別用垃圾郵件發(fā)送器和foxmail 郵件客戶端發(fā)送給400 個郵箱,垃圾郵件發(fā)送器采用正常模式發(fā)送。
該四種情景,列舉了垃圾郵件群發(fā)器的不同設(shè)置,調(diào)整每次發(fā)送的個數(shù),比較它們與正常郵件群發(fā)的不同,使實驗結(jié)果更具有一般性。實驗結(jié)果記錄如表3 所示。
表3 實驗結(jié)果記錄Tab 3 Record of experimental result
分析結(jié)果如表4 所示。
表4 實驗結(jié)果分析Tab 4 Analysis on experimental result
大量實驗顯示,運用DCA 進行垃圾郵件檢測,準確率可以達到93.255%,漏報率和誤報率均比較低,垃圾郵件群發(fā)具有SMTP 創(chuàng)建數(shù)目多、頻率快、失敗后重傳次數(shù)多、傳輸過程不加密的特點,具有較低的誤報率和漏報率。因此,DCA 可以有效地識別垃圾郵件群發(fā)現(xiàn)象。
DCA 在垃圾郵件的檢測上能得到很好的結(jié)果,對垃圾郵件的檢測準確率上高于其他一些檢測算法,算法在實現(xiàn)上方便簡潔,只需抓住垃圾郵件的特點,將信號與信號轉(zhuǎn)換權(quán)值矩陣定義合理,即可獲得比較理想的結(jié)果。該檢測可以應(yīng)用于郵件客戶端上,對用戶發(fā)送郵件過程中進行主動型垃圾郵件行為模式的識別,從而做到主動對垃圾郵件行為進行防御和阻斷,可最大程度地提高垃圾郵件識別率、攔截率,降低資源消耗。由于實驗的局限性,該算法有待于進一步的改進。
[1] 甘棠儀.基于屬性論方法的垃圾郵件過濾系統(tǒng)設(shè)計與研究[D].上海:上海海事大學(xué),2005:2-3.
[2] 張艦波.基于內(nèi)容的垃圾郵件智能過濾系統(tǒng)的研究[D].貴陽:貴州大學(xué),2008:19-23.
[3] 桑 寅,孟少卿,鹿凱寧.基于DPI 和機器學(xué)習(xí)方法傳輸層檢測的P2P 流量識別模型[J].電子測量技術(shù),2011,34(10):45-48.
[4] 李智明.Websense 安全專家解讀當前垃圾郵件形式.[EB/OL].[2008—11—01].http:∥www.cioage.com/art/200807/72741.htm.
[5] Cooper K D,Hall M W,Kennedy K.Procedure cloning[C]∥Proceedings of the 1992 International Conference on Computer Languages,1992:96-105.
[6] 林丹寧.反垃圾郵件關(guān)鍵技術(shù)研究與實現(xiàn)[D].杭州:浙江大學(xué),2007:16-17.
[7] 王 斌,潘文鋒.基于內(nèi)容的垃圾郵件過濾技術(shù)綜述[J].中文信息學(xué)報,2005,19(5):4-6.
[8] 鄭 梅.基于規(guī)則的垃圾郵件過濾系統(tǒng)設(shè)計與實現(xiàn)[D].成都:電子科技大學(xué),2008:19-39.
[9] 詹 川.反垃圾郵件技術(shù)的研究[D].成都:電子科技大學(xué),2005:36-37.
[10]曾志中.基于貝葉斯算法的垃圾郵件過濾系統(tǒng)的分析與實現(xiàn)[D].北京:北京郵電大學(xué),2009:5-60.
[11]Wang Hui.Research on instruction detection algorithm based on dendritic cell algorithm[J].Journal of Guangxi University for Nationalitiest:Natural Science Edition,2011(2):42-44.
[12]Julie Greensmith.Introducing dendritic cells as a novel immuneinspired algorithm for anomaly detection[C]∥Proceedings of 4th International Conference,ICARIS 2005,Banff,Alberta,Canada,2005:153-167.
[13]陳岳兵,馮 超.樹突狀細胞算法原理及其應(yīng)用[J].計算機工程,2010,36(8):173-175.
[14]Dasgupta D,Yu Senhua,Majumdar N S.MILA-multilevel immune learning algorithm[C]∥Proceedings of GECCO,Chicago,2003:183-194.
[15]Al-Hammadi Y,Uwe Aickelin,Julie Greensmith.DCA for bot detection[C]∥Proceedings of the IEEE World Congress on Computational Intelligence(WCCI 2008),Hong Kong,2008:1807-1816.