盧海燕
本溪廣播電視大學(xué) ( 本溪 117000 )
長期以來,人們不斷探索著垃圾郵件的解決之道,從早期的關(guān)鍵字匹配,到通過連接頻率來提高發(fā)送垃圾郵件的成本,再到設(shè)立專用服務(wù)器,提供RBL實(shí)時黑名單查詢,直到全世界范圍內(nèi)關(guān)于垃圾郵件立法的呼吁。無論哪種方式方法,要想從根本上解除垃圾郵件的泛濫,還是需要一套能夠有效防范垃圾郵件的安全技術(shù)。
當(dāng)前郵件傳輸?shù)闹饕獏f(xié)議是 SMTP協(xié)議,從設(shè)計(jì)之初,為了滿足簡單傳輸?shù)男枰?,該協(xié)議沒有任何認(rèn)證手段,因此缺省的 SMTP郵件服務(wù)器對于郵件的來源和目的地不做控制而是支持發(fā)送。
通常的郵件傳輸過程是郵件的發(fā)送者使用SMTP協(xié)議將郵件發(fā)送給SMTP服務(wù)器,由它根據(jù)郵件的目的地址,使用 SMTP協(xié)議將郵件發(fā)送至目標(biāo) SMTP服務(wù)器,該服務(wù)器受到郵件后放入接收人的郵箱,最后由郵件的接收者使用POP3或IMAP協(xié)議從郵箱服務(wù)器上接收自己的郵件。在郵件傳輸?shù)倪^程中,發(fā)送者與發(fā)送服務(wù)器、發(fā)送服務(wù)器和接收服務(wù)器之間都未做認(rèn)證,因此發(fā)送方可以使用互聯(lián)網(wǎng)上任意一臺 SMTP服務(wù)器來發(fā)送他的郵件,這就是所謂的 Open Relay。
隨著垃圾郵件的泛濫,大部分的郵件服務(wù)器都關(guān)閉了Open Relay,在發(fā)送放和發(fā)送服務(wù)器之間進(jìn)行認(rèn)證,從而保證只有合法用戶才能使用這臺服務(wù)器發(fā)送郵件,這就是增強(qiáng)的ESMTP協(xié)議。然而這個方法無法解決在發(fā)送服務(wù)器和接收服務(wù)器之間的合法認(rèn)證,垃圾郵件仍然無法避免。
貝葉斯公式是英國數(shù)學(xué)家 T.貝葉斯在 200多年前提出的計(jì)算條件概率的公式,也稱逆概率公式。如果事件組 A1,A2,…Ak為一完備事件組,則對任一事件B(其P(B)≠0)有:
其中????=,2,1i
貝葉斯公式實(shí)際上是綜合利用先驗(yàn)概率和樣本信息從而計(jì)算后驗(yàn)概率的一種方法。
首先,我們可以將電子郵件分為正常郵件和垃圾郵件兩類,貝葉斯過濾器針對這兩類郵件進(jìn)行自學(xué)習(xí)。分析每封電子郵件中的每一個單詞,確定正常郵件和垃圾郵件中詞匯發(fā)生頻率的差異。
貝葉斯算法分析郵件的工作過程如下:
(1)過濾器收集大量的垃圾郵件和正常郵件,建立垃圾郵件集和正常郵件集。
(2)過濾器提取郵件主題和郵件體中的獨(dú)立字串。
(3)每一個郵件集對應(yīng)一個哈希表,hashtable_good對應(yīng)正常郵件集而hashtable_bad對應(yīng)垃圾郵件集。表中存儲TOKEN串到字頻的映射關(guān)系。
(4)計(jì)算每個哈希表中TOKEN串出現(xiàn)的概率P=(某TOKEN串的字頻)/(對應(yīng)哈希表的長度)
(5)綜合考慮hashtable_good和hashtable_bad,推斷出當(dāng)新來的郵件中出現(xiàn)某個 TOKEN串時,該新郵件為垃圾郵件的概率。數(shù)學(xué)表達(dá)式為:
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_proba bility可以估計(jì)一封新到的郵件為垃圾郵件的可能性。
當(dāng)新到一封郵件時,按照步驟(2)生成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ù)定閾值時,就可以判斷郵件為垃圾郵件。
因?yàn)樨惾~斯算法是基于先驗(yàn)概率和樣本信息來計(jì)算后驗(yàn)概率的方法,所以其對于樣本積累的數(shù)量具有很大的依賴性,需要一個較長的過程,開始的時候,可能會發(fā)生很多的誤判和漏判現(xiàn)象,只有當(dāng)積累的樣本數(shù)量足夠多,其檢測精度才能到達(dá)一定高度并為用戶所接受。
在反垃圾郵件技術(shù)中,貝葉斯過濾技術(shù)只是啟發(fā)式檢測流程中的一項(xiàng)技術(shù),這種技術(shù)可以確定電子郵件的總體垃圾概率。目前,對于貝葉斯技術(shù)的應(yīng)用正在成為反垃圾郵件領(lǐng)域的一個研究熱點(diǎn),越來越多的專用反垃圾郵件產(chǎn)品正在嘗試使用貝葉斯過濾技術(shù)來提高其產(chǎn)品的檢測精度,降低管理成本。
[1]倪加勛,袁衛(wèi).應(yīng)用統(tǒng)計(jì)學(xué),北京:中國人民大學(xué)出版社,1993.
[2]郭泓.電子郵件過濾技術(shù)淺析.信息網(wǎng)絡(luò)安全.2002.
[3]王斌,潘文峰.基于內(nèi)容的垃圾郵件過濾技術(shù)綜述.中國科學(xué)院計(jì)算技術(shù)研究所碩士畢業(yè)論文.2004.