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