(遼寧廣播電視學(xué)校本溪分校 遼寧本溪 117000)
自電子郵件被越來越多的人們使用以來,垃圾郵件的問題一直困擾著電子郵件的使用者,人們也找到了很多的解決之道,從早期的關(guān)鍵字匹配,到通過連接頻率來提高發(fā)送垃圾郵件的成本,再到設(shè)立專用服務(wù)器,提供RBL實時黑名單查詢,直到全世界范圍內(nèi)關(guān)于垃圾郵件立法的呼吁。無論哪種方式方法,要想從根本上解除垃圾郵件的泛濫,還是需要一套能夠有效防范垃圾郵件的安全技術(shù)。
垃圾郵件(SPAM) 也稱作UCE(Unsoticited Commercial Email.未經(jīng)許可的商業(yè)電子郵件)或UBE(Unsolicited Bulk Email,未經(jīng)許可的大量電子郵件)。首次關(guān)于垃圾郵l件的記錄是1985年8月的一封通過電子郵件發(fā)送的連鎖信,一直持續(xù)到1993年6月出現(xiàn)了名為“Make Money Fast 的電子郵件。1994年4月SPAM一詞首次出現(xiàn).當(dāng)時Canter和Siegel律師事務(wù)所把一封信發(fā)送到6000多個新聞組,宣傳獲得美國國內(nèi)綠卡的法律支持。這時開始,很多商人瓤利用垃圾郵件廣告。1995年首個專門用于發(fā)送垃圾郵件的程序Floodgate發(fā)布,詼程序能夠自動地把郵件發(fā)送給大批人。同年8月開始出現(xiàn)出售郵件地址的事件。從此,垃圾郵件頻頻出現(xiàn).也引起了人們的反感。[1]
當(dāng)前郵件傳輸?shù)闹饕獏f(xié)議是SMTP協(xié)議,從設(shè)計之初,為了滿足簡單傳輸?shù)男枰?,該協(xié)議沒有任何認證手段,因此缺省的SMTP郵件服務(wù)器對于郵件的來源和目的地不做控制而是支持發(fā)送。[2]
隨著垃圾郵件的泛濫,大部分的郵件服務(wù)器都關(guān)閉了OpenRelay,在發(fā)送方和發(fā)送服務(wù)器之間進行認證,從而保證只有合法用戶才能使用這臺服務(wù)器發(fā)送郵件,這就是增強的ESMTP協(xié)議。然而這個方法無法解決在發(fā)送服務(wù)器和接收服務(wù)器之間的合法認證,垃圾郵件仍然無法避免。[3]
貝葉斯定理由英國數(shù)學(xué)家貝葉斯 ( Thomas Bayes 1702-1761 ) 發(fā)展,用來描述兩個條件概率之間的關(guān)系,比如 P(A|B) 和 P(B|A)。按照乘法法則,可以立刻導(dǎo)出:P(A∩B) = P(A)*P(B|A)=P(B)*P(A|B)。如上公式也可變形為:P(B|A) = P(A|B)*P(B) / P(A)。[4]
通常,事件A在事件B(發(fā)生)的條件下的概率,與事件B在事件A的條件下的概率是不一樣的;然而,這兩者是有確定的關(guān)系,貝葉斯法則就是這種關(guān)系的陳述。作為一個規(guī)范的原理,貝葉斯法則對于所有概率的解釋是有效的;然而,頻率主義者和貝葉斯主義者對于在應(yīng)用中概率如何被賦值有著不同的看法:頻率主義者根據(jù)隨機事件發(fā)生的頻率,或者總體樣本里面的個數(shù)來賦值概率;貝葉斯主義者要根據(jù)未知的命題來賦值概率。一個結(jié)果就是,貝葉斯主義者有更多的機會使用貝葉斯法則。貝葉斯法則是關(guān)于隨機事件A和B的條件概率和邊緣概率的。[5]
如果事件組A1,A2,……AK為一完備事件組,則對任意事件B(其P(B)≠0)有:
貝葉斯公式實際上是綜合利用先驗概率和樣本信息從而計算后驗概率的一種方法。
2.2 貝葉斯算法在反垃圾郵件技術(shù)中的應(yīng)用
首先,我們可以將電子郵件分為正常郵件和垃圾郵件兩類,貝葉斯過濾器針對這兩類郵件進行自學(xué)習(xí)。分析每封電子郵件中的每一個單詞,確定正常郵件和垃圾郵件中詞匯發(fā)送頻率的差異。
貝葉斯算法分析郵件的工作過程如下:
(1)過濾器收集大量的垃圾郵件和正常郵件,建立垃圾郵件集和正常郵件集。
(2)過濾器提取郵件主題和郵件體中的獨立字串。
(3)每一個郵件集對應(yīng)一個哈希表,hashtable_good對應(yīng)正常郵件集而hashtable_bad對應(yīng)垃圾郵件集。表中存儲TOKEN串到字頻的映射關(guān)系。
(4)計算每個哈希表中TOKEN串出現(xiàn)的概率p=(某TOKEN串的字頻)/(對應(yīng)哈希表的長度)
(5)綜合考慮hashtable_good和hashtable_bad,推斷出當(dāng)新來的郵件中出現(xiàn)某個TOKEN串時,該新郵件為垃圾郵件的概率。數(shù)學(xué)表達式為:
A事件……郵件為垃圾郵件;
t1,t2……,tn代表TOKEN串,則P(A|ti)表示在郵件中出現(xiàn)TOKEN串ti時,該郵件為垃圾郵件的概率。
設(shè) P1(ti)=(ti在hashtable_good中的值)
P2(ti)=(ti在hashtable_bad中的值)
則P(A|ti)=P1(ti)/[P1(ti)+P2(ti)];
(6)建立新的哈希表hashtable_probability存儲TOKEN串ti到P(A|ti)的映射
(7)至此,垃圾郵件集和正常郵件集的學(xué)習(xí)過程結(jié)束。根據(jù)建立的哈希表hashtable_probability可以估計一封新到的郵件為垃圾郵件的可能性。[6]
當(dāng)新到一封郵件時,按照步驟(2)生產(chǎn)TOKEN串。查詢hashtable_probability得到該TOKEN串的鍵值。
假 設(shè) 由 該 郵 件 共 得 到N個TOKEN串,t1,t2……,tn,hashtable_probability中對應(yīng)的值為P1,P2,……Pn,P(A|t1,t2,t3……tn)表示在郵件中同時出現(xiàn)多個TOKEN串t1,t2……tn時,該郵件為垃圾郵件的概率。由復(fù)合概率公式可得:P(A|t1,t2,t3……tn)=(P1*P2*……PN)/[P1*P2*……PN+(1-P1)*(1-P2)*……(1-PN)]當(dāng)P(A|t1,t2,t3……tn)超過預(yù)定閾值時,就可以判斷郵件為垃圾郵件。
貝葉斯風(fēng)險是衡量一個決策法則的好壞的標(biāo)準(zhǔn)。一般來說,多數(shù)情況下,對于某一個(或某些)狀態(tài)θ值,決策法則δ的風(fēng)險函數(shù)值ρ(θ,δ?)最?。欢鴮τ诹硪粋€(或另一些)θ值,另一個決策法則δ?的風(fēng)險函數(shù)最小,因此,評價一個決策法則的好壞,只能用在各種不同狀態(tài)下其風(fēng)險函數(shù)的平均值來衡量。貝葉斯風(fēng)臉β(δ)就是當(dāng)決策法則為δ,在狀態(tài)θ下風(fēng)險函數(shù)的平均值,決策法則一經(jīng)確定,其貝葉斯風(fēng)險即為一常數(shù)。它反映出利用這一決策法則決策的平均損失。
因為貝葉斯算法是基于先驗概率和樣本信息來計算后驗概率的方法,所以其對于樣本積累的數(shù)量具有很大的依賴性,需要一個較長的過程,開始的時候,可能會發(fā)生很大的誤判和漏判現(xiàn)象,只有當(dāng)積累的樣本數(shù)量足夠多,其檢測精度才能到達一定高度并為用戶所接受。
隨著網(wǎng)絡(luò)成熟,將貝葉斯過濾技術(shù)應(yīng)用到反垃圾郵件技術(shù)中,可以說是一種嘗試,也是反垃圾郵件技術(shù)領(lǐng)域中的一個研究方向。目前,對于貝葉斯技術(shù)的應(yīng)用正在成為反垃圾郵件領(lǐng)域的一個研究熱點,越來越多的專用發(fā)垃圾郵件產(chǎn)品正在嘗試使用貝葉斯過濾技術(shù)來提高其產(chǎn)品的檢測精度,降低管理成本。
[1]倪加勛,袁衛(wèi),應(yīng)用統(tǒng)計學(xué),北京中國人民大學(xué)出版社,1993.
[2]郭泓,電子郵件過濾技術(shù)淺析,信息網(wǎng)絡(luò)安全.2002.
[3]王斌,潘文峰,基于內(nèi)容的垃圾郵件過濾技術(shù)綜述,中國科學(xué)院計算機技術(shù)研究所碩士畢業(yè)論文.2004.
[4]托馬斯·貝葉斯 .智庫[引用日期2013-03-07].
[5]條件概率和貝葉斯定理 .中國開放教育資源聯(lián)合體[引用日期2013-01-07].
[6]An Essay towards solving a Problem in the Doctrine of Chance. Philosophical Transactions of the Royal Society of London .1763[引用日期2015-03-31].
[7]貝葉斯定理-貝葉斯 .貝葉斯定理.2014-03-21[引用日期2014-03-21].