祝毅鳴 張波
摘要:反垃圾郵件問(wèn)題已經(jīng)成為全球性的具有重要現(xiàn)實(shí)意義的課題。反垃圾是一項(xiàng)大工程,有時(shí)僅靠一種方法或技術(shù),并不能達(dá)到我們想要的結(jié)果,需要幾種方法相結(jié)合,來(lái)更好的處理垃圾郵件。本文所寫的實(shí)時(shí)黑名單跟其他的反垃圾郵件技術(shù)一起可以取得更好的反垃圾效果。實(shí)時(shí)黑名單就是通過(guò)調(diào)用linux的系統(tǒng)命令,使得模塊可以隨時(shí)去國(guó)際互聯(lián)網(wǎng)協(xié)會(huì)網(wǎng)站下載最新的黑名單,從而降低用戶收到垃圾郵件的可能性。
關(guān)鍵詞:垃圾郵件實(shí)時(shí)黑名單
中圖分類號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-3791(2012)04(c)-0033-01
隨著互聯(lián)網(wǎng)絡(luò)的日益普及,電子郵件走進(jìn)了大眾人們的工作和生活,它的快速、便捷的優(yōu)勢(shì)使它成為現(xiàn)代社會(huì)主要通訊方式之一和互聯(lián)網(wǎng)上最重要、最普及的應(yīng)用之一。而近年來(lái),一些公司、團(tuán)體和個(gè)人為了商業(yè)利益或政治目的,在未經(jīng)用戶同意的情況下,利用電子郵件發(fā)送大量商業(yè)廣告及各種不良信息,形成影響極壞、后果嚴(yán)重的垃圾郵件問(wèn)題。
垃圾郵件問(wèn)題如不能及時(shí)、有效解決,將會(huì)給我國(guó)帶來(lái)多方面的危害。
1研究現(xiàn)狀
目前存在的反垃圾郵件技術(shù),主要有三個(gè)大的方向。
第一種是修改現(xiàn)有的SMTP協(xié)議,制定一個(gè)新的安全可靠郵件協(xié)議,讓垃圾郵沒(méi)有“生存的環(huán)境”。
第二種是使大量垃圾郵件發(fā)送者承受“巨大的成本”,以致通過(guò)電子郵件渠道來(lái)大量發(fā)送廣告信息在經(jīng)濟(jì)利益上不合算,來(lái)減少垃圾郵件。
第三種是根據(jù)郵件的格式,發(fā)送時(shí)間,文件大小,內(nèi)容以及其他特性,來(lái)識(shí)別該郵件是否為垃圾郵件,如果是,則把垃圾郵件過(guò)濾掉。識(shí)別的方法多種多樣。過(guò)濾垃圾郵件效果的好壞取決于識(shí)別方法的準(zhǔn)確度。
前兩種是主動(dòng)的方式,推的方式,從垃圾郵件產(chǎn)生的根源出發(fā),不同的是一個(gè)是從技術(shù)的角度,一個(gè)是從經(jīng)濟(jì)的角度,讓大量發(fā)送垃圾郵件是不可行的。而第三種方式是被動(dòng)的方式、拉的方式,它并不能杜絕垃圾郵件的重復(fù)產(chǎn)生,只能當(dāng)垃圾郵件產(chǎn)生后,通過(guò)方法識(shí)別出垃圾郵件,及時(shí)的剔除它們。前兩種方式應(yīng)用起來(lái)更加困難、復(fù)雜,而第三種方式相對(duì)簡(jiǎn)單易行,因此,當(dāng)前第三種方式的反垃圾郵件方法研究和應(yīng)用的更多。
2本課題的提出
隨著垃圾郵件的泛濫,反垃圾郵件技術(shù)越來(lái)越被人們所重視,出現(xiàn)了很多的過(guò)濾技術(shù)和過(guò)濾系統(tǒng),因?yàn)猷]件能傳送文本、聲音、圖像等多媒體信息,因此垃圾郵件的過(guò)濾系統(tǒng)就要從多方面加以過(guò)濾。不是哪一種技術(shù)就可以很好的解決垃圾郵件問(wèn)題的。
本文提出的黑名單也不能獨(dú)自處理好垃圾郵件的問(wèn)題,可以把這種技術(shù)跟其他郵件過(guò)濾技術(shù)一起來(lái)完成處理垃圾郵件問(wèn)題。
黑名單可以是發(fā)送垃圾郵件服務(wù)器、開(kāi)放的代理、開(kāi)放的中繼以及發(fā)送者郵箱地址?;诤诿麊蔚姆椒ㄕJ(rèn)為,如果郵件來(lái)自黑名單中的地址,則認(rèn)為該郵件時(shí)垃圾郵件。它的缺點(diǎn)在于需要時(shí)間和精力來(lái)維護(hù)管理RBLs,因?yàn)槔]件發(fā)送者不斷更換他的域名和地址,為了讓該技術(shù)實(shí)時(shí)有效,RBLs也得不斷的更新升級(jí)。而且會(huì)對(duì)一些合法的服務(wù)器造成誤傷,例如一個(gè)垃圾郵件發(fā)送者通過(guò)撥號(hào)上網(wǎng)發(fā)送垃圾郵件,那么他是通過(guò)ISP提供商服務(wù)器登錄到自己的郵件服務(wù)器上,則ISP服務(wù)商就是垃圾郵件的源地址,如果把這個(gè)地址設(shè)置為黑名單,就會(huì)讓很多合法用戶無(wú)法發(fā)送正常的郵件。
本文的實(shí)時(shí)黑名單模塊采用的是用linux的外部命令實(shí)時(shí)的去互聯(lián)網(wǎng)協(xié)會(huì)的網(wǎng)站上下載其定期發(fā)布的黑名單,把域名解析出來(lái)放在一個(gè)臨時(shí)文本文件中,然后用hash函數(shù)將該文本文件在內(nèi)存中散列成便于查找的hash表,如果一封郵件的地址我們可以在表中找到,就拒收該郵件。由于黑名單牽涉到一些法律、個(gè)人的隱私問(wèn)題,本文只是供本論文研究之用。
3模塊設(shè)計(jì)與實(shí)現(xiàn)
該模塊主要包括四個(gè)子模塊。
(1)下載模塊:定時(shí)下載國(guó)內(nèi)RBL(Realtime Blackhole List)到臨時(shí)HTML文件。
(2)解析模塊:將臨時(shí)HTML文件中的黑名單解析到一個(gè)臨時(shí)文本文件中。
(3)散列模塊:將RBL臨時(shí)文件利用哈希函數(shù)在內(nèi)存中散列成便于查找的哈希表。
(4)查找模塊:在內(nèi)存的哈希表結(jié)構(gòu)中,檢測(cè)待查的域名是否存在,若存在則拒收從那里發(fā)來(lái)的郵件。
3.1 下載模塊
RBL模塊被調(diào)用時(shí),首先實(shí)現(xiàn)一個(gè)服務(wù)器的功能,使用linux系統(tǒng)的unsigned int alarm(unsigned int seconds)函數(shù)來(lái)定時(shí)發(fā)送信號(hào),觸發(fā)相應(yīng)的下載函數(shù)。此函數(shù)被觸發(fā)后,使用Linux的外部命令wget,從Internet上下載國(guó)內(nèi)RBL到一個(gè)臨時(shí)HTML文件。
3.2 解析模塊
根據(jù)下載的HTML臨時(shí)文件的具體信息,將其中的黑名單解析出來(lái),逐條放入一個(gè)TXT文檔,并以空格來(lái)分隔每一條。
3.3 散列模塊
以下載模塊中輸出的臨時(shí)TXT文件作為解析對(duì)象,將每一行讀出,根據(jù)相應(yīng)的哈希算法建立哈希查找表。
哈希算法:設(shè)定一個(gè)兩倍于待查數(shù)據(jù)的靜態(tài)地址空間,首先根據(jù)哈希函數(shù)確定待查找字符串的位置nHashPos,如果有沖突,就用線性探測(cè)再地址散列的方法處理沖突。然后使用無(wú)沖突哈希函數(shù)確定字符串的哈希值,作為它內(nèi)容的唯一標(biāo)識(shí)。
3.4 查找模塊
讀入待查的字符串,計(jì)算其哈希值,并且在哈希表中查找。首先檢索它的位置nHashPos,并比較字符串內(nèi)容nHashA,查到就拒收郵件。若有沖突,則利用線性探測(cè)再地址散列的方法繼續(xù)查找,找到仍然拒收,若找不到則表明它不在黑名單中,可以接收。
4結(jié)語(yǔ)
基于黑名單是一個(gè)簡(jiǎn)單有效最常用的過(guò)濾方法,它首先檢查郵件頭,如果發(fā)送者在黑名單內(nèi),就拒絕該郵件,它的缺點(diǎn)在于需要時(shí)間和精力來(lái)維護(hù)管理RBLs,黑名單模塊中,直接調(diào)用了linux的系統(tǒng)函數(shù)從互聯(lián)網(wǎng)上下載黑名單,然后解析再散列,提高了實(shí)時(shí)性,但是每次調(diào)用就觸發(fā)去下載有可能造成系統(tǒng)性能的下降,因?yàn)楹诿麊我膊皇敲繒r(shí)都更新,而是定期發(fā)布。
參考文獻(xiàn)
[1] 譚立球,谷士文,費(fèi)耀平.個(gè)人化電子郵件自動(dòng)過(guò)濾系統(tǒng)的設(shè)計(jì)[J].計(jì)算機(jī)應(yīng)用,2002,22(6):54~55.
[2] 楊峰,曹麒麟,段海星,等.基于DNSB locklist的反垃圾郵件系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與應(yīng)用,2003,7:11~12,45.
[3] S.Hambrigdge,A.Lunde.Dont Spew, A Set of Guidelines for Mass Unsolicited Mailings and Postings(spam). RFC2635 http://www.rfc-editor.org./rfc/rfc2635.txt,1999:23~25.