|
直面垃圾郵件威脅 反垃圾郵件技術面面觀
|
來源:比特網 2007-12-11 13:32:19
|
目前,隨著Internet的迅猛發展,網上電子郵件的傳輸日益頻繁,電子郵件得到了越來越廣泛的應用,很多中小型企業都擁有了電子郵件系統。但是由于電子郵件本身的開放性,也給一些人通過電子郵件傳播不良信息,反動黃色信息,甚至是炸彈、病毒等提供了可乘之機。如果不對其進行約束,任由其發展,這樣會對國家和社會的穩定發展造成危害,給用戶帶來諸多不便。因此,我們有必要在電子郵件系統中引入一種反垃圾郵件技術。本文將從電子郵件過濾系統的功能結構、垃圾郵件泛濫原因和反垃圾郵件技術發展展望出發,對反垃圾郵件技術進行討論。 電子郵件過濾系統主要由三級過濾處理組成,即基于規則的過濾、郵件附件的分析過濾和郵件內嵌腳本的過濾處理,此外為了支持對大量的已知病毒、黑客程序及二進制型郵件炸彈的檢測、清除,必須有專門的殺病毒引擎來進行相應的處理,這一部分可以采用成熟的殺病毒技術實現. 從功能上說,郵件過濾器主要包括以下幾個方面: 1.基于規則的過濾 這是目前已經廣泛采用的傳統的郵件過濾方式. 它通常是針對郵件中的特定特征進行檢測,一旦特征與預先設置的吻合,即根據預設邏輯對郵件進行處理,如刪除、退回、拒收、轉交管理員等. 規則過濾系統中常用的規則有: 1) 發件人P回復地址中包含特定地址; 2) 收件人P抄收欄中包含特定地址; 3) 郵件標題中包含特定字符串; 4) 郵件內容中包含特定字串或特定附件. 2.附件中傳統病毒、黑客程序及郵件炸彈的檢測與清除 傳統意義上的郵件反病毒、反黑客主要是針對郵件附件的,只有附件才能帶有復雜的處理邏輯而可能被執行(現有HTML 格式郵件直接內嵌腳本是一種例外) ,而郵件本身并不能被執行. 因此,郵件附件的分析及其病毒、黑客程序的檢測與清除是很重要的一個功能模塊,主要包括以下2 個方面: 1) 郵件格式分解與組合 目前Internet 郵件一般都采用MIME 編碼格式[1 ,2 ] ,因而一個郵件的結構可能相當復雜,邏輯上是由一個樹狀結構構成,而其中每一葉節點還可能是由歸檔P壓縮工具打包的多個文件組成. 為了確保郵件中的任何部分都是安全的,必須對郵件結構進行徹底的分解,將其中的每一可執行部件交給掃描引擎進行檢測,在清除了其中的病毒、黑客程序之后,還需重新將分解、清除過的部分按MIME 格式組合起來. 2) 對可疑部分的掃描 因為郵件可以被徹底分解開,這里可以采用通用的殺病毒引擎對郵件的最小組成單元進行病毒、黑客程序的檢測與清除. 3.腳本型郵件炸彈和惡意程序的檢測與清除 近年來,隨著各種腳本語言在網絡中越來越廣泛的應用及其能力的逐漸增強,使用腳本語言編寫的惡意程序也越來越多,這給Internet 郵件系統帶來了空前的威脅.腳本型郵件炸彈和惡意程序的新特點決定了傳統殺病毒引擎不足以清除它們. 需解決的問題有: 1) 對嵌入其他文檔結構中的腳本的提取與分析 主要是針對HTML 格式的郵件中可直接嵌入Java script 和VB script 腳本,以及像MSWord 文檔和LotusWord pro 文檔這樣可嵌入VBA 腳本的情況,必須能夠對這樣的基本郵件組成部分進行進一步的分解,識別并提取其中的可執行的腳本,交給掃描引擎. 2) 啟發式的識別算法 與以往的二進制型病毒不同,文本型的腳本程序本身非常容易被改變,必須采用具有一定未知腳本識別能力的啟發式識別算法,才能達到一般安全防護的要求. 事實上,郵件及其附件中的腳本程序通常不是郵件的必需部分,因而,可以將一切郵件內嵌腳本濾除,這樣通常不會損害郵件的主要內容,同時又提供了萬無一失的保護,以提供最高的安全性. 垃圾郵件泛濫原因的技術分析: 垃圾郵件的產生可以追溯到最開始的連鎖信,隨著郵件技術的發展,垃圾郵件技術也在逐步發展,但要想找到徹底解決垃圾郵件問題的技術,必須從郵件傳輸的原理人手。目前郵件傳遞的主要協議是SMTP協議,該協議沒有任何認證手段,因此缺省的SMTP郵件服務器是所謂的OpenRelay(開放轉發器),無論郵件來自哪里或發到哪里,郵件服務器都會予以發送。最常見的郵件發送過程是,郵件的客戶端使用SMTP協議將郵件發送給一臺SMTP發送服務器,然后SMTP發送服務器根據郵件的目的地址,使用SMTP協議將該郵件轉發給目標SMTP服務器(接收服務器),接收服務器收到郵件后放入接收人的郵箱(Mailbox或Maildir,可,能是單獨的服務器,也可能是同一臺機器上),最后另一個郵件客戶端(接收方)使用POP3或IMAP協議從郵箱服務器上接收自己的郵件。整個過程中,發送方與發送服務QS、發送服務器與接收服務器之間都不做認證,因此發送方可以使用互聯網上任意一臺SMTP服務器來發送郵件,這就是OpenRelay。 近年來由于垃圾郵件的泛濫,大部分郵件服務器關閉了OpenRelay,在發送方與發送服務器間需要認證,來保證發送服務器發送郵件的主機的合法性,這就是增強的ESMTP協議。但這并沒有解決第二個環節:發送郵件器和接收郵件服務器間的合法性認證。因為不可能要求接收郵件服務器上保存所有發送郵件服務器的合法用戶信息,因此發送郵件服務器無法向接收郵件服務器做認證。 目前的郵件服務器的處理方式是:如果目的地址是本郵件服務器的用戶,則無需認證予以接收;如果目的地址不是本郵件服務器的用戶,需要用本郵件服務器的合法用戶的用戶名和口令來認證(該用戶可以不是該郵件的發件人)。這樣,就給自動垃圾郵件發送程序提供了可能:只要給郵件服務器發的郵件是該郵件服務器的用戶,即可發送進去。我們知道,可以隨處得到一個數百萬甚至上千萬的Email列表,使用程序自動按照郵件服務器域名發送相應的用戶是很容易的,這就導致了垃圾郵件的泛濫。 當前主要的反垃圾郵件技術: 傳統的反垃圾郵件技術主要是黑名單和郵件過濾,還有帶寬控制、貝葉斯加權統計分析等方塞,目前都在實際中應用,但至今還沒有非常理想的解決方案。 1.實時黑名單技術 實時黑名單RBL(Realtime Blackhole List)是借助DNS解析技術的黑名單查詢技術,當需要驗證某個郵件服務器IP地址是否被列入黑名單時,就向RBL服務器發出一個特殊的DNS解析請求,RBL服務器將返回一個IP地址,郵件服務器就知道該IP是否被列入黑名單。 實時黑名單是使用較早的技術,對于早期擁有合法域名的服務器專門從事垃圾郵件轉發或開放Open Relay的郵件服務器非常有效。當一臺郵件服務器是Open Relay或未開放OpenRelay任由其合法用戶發送垃圾郵件時,該服務器將被投訴,通過RBL機構確認其大量發送或轉發垃圾郵件后,被列入黑名單,郵件服務器在收到郵件時,可以向RBL查詢這臺發送郵件的服務器是否被列入黑名單,如果確認,郵件將被拒收。但這種技術無法防止用戶自行發出的郵件,包括動態IP(例如撥號用戶和ADSL),因為如果把這一段IP列入黑名單將導致正常用戶無法使用郵件服務。中國互聯網協會就曾因國外將中國大片IP列入黑名單而提出抗議。 2.關閉openRelay 關閉OpenRelay其實是一個能夠部分解決問題的方法,這使得Mail服務器在對外發送郵件的時候要求身份認證,只有Mail服務器上的合法用戶才能通過本服務器對外發送郵件,避免了垃圾郵件制造者借助本服務器對外發送垃圾郵件。在很大程度上降低了垃圾郵件的泛濫程度,但關閉Open Relay是單向的反垃圾郵件技術,只能保證自己不對外發送垃圾郵件,不能防止自己被垃圾郵件騷擾。 3.內容過濾技術 郵件過濾按照郵件系統的角色結構可以分為三類:MTA(郵件傳輸代理)過濾——信封檢查;MDA(郵件遞交代理)過濾——信頭檢查、信體檢查;MUA(郵件用戶代理)過濾——客戶端檢查。 郵件過濾技術作為一個有效對抗垃圾郵件的手段,同殺毒軟件一樣,需要不斷根據情況更新郵件過濾規則。郵件過濾實際上只針對通常的垃圾郵件有效,這些垃圾郵件常常是電子廣告,有些更規矩的廣告在郵件主題上提示“ADV”,如果用戶不想接收廣告郵件,只需簡單過濾郵件主題,發現ADV即拒收。而目前用程序自動生成和發送的垃圾郵件對于發件人、收件人、郵件主題甚至郵件內容都是隨機生成的,在郵件內容中經常被過濾的詞匯,例如“免費”、“賭博”、“色情”等詞匯,被隨機變形,防垃圾過濾如果采用“免。費”這樣的模式匹配來發現變形,有時反而導致了正常郵件被誤拒絕(例如郵件中可能有這樣一句話:“要免除處罰是很費勁的”,并沒有免費的意思,但被拒絕)。 從實際應用情況來說,內容過濾還很不成熟,其作用很有限,而且內容過濾技術比較消耗資源、分析速度也比較慢。 4.客戶端過濾技術 客戶端防垃圾技術通常是在郵件客戶端安裝垃圾分析軟件,或在郵件接收軟件中增加一些簡單的垃圾分析功能,如Foxmail和Outlook等客戶端軟件都具有簡單的垃圾分析、阻斷功能。客戶端防垃圾只是方便最終用戶管理和分離垃圾郵件,對降低網絡流量、防止垃圾泛濫沒有實際意義,不能有效減輕垃圾郵件對Mail服務器的嚴重負擔,也不能減低垃圾郵件對網絡帶寬的占用,因此單獨的客戶端防垃圾對整體環境的凈化沒有意義。 5.正在研究的技術思路 當前被廣泛研究和引用的是“貝葉斯”加權統計分析算法,它基于統計的原則,根據對用戶認為的垃圾郵件和非垃圾郵件進行統計計算,具有學習漸進的功能,可以逐漸取得好的效果,據稱能達到90%以上的判斷準確率。 另外還有一種方式,在所有的SMTP服務器間增加信任認證,相互認證的服務器和用戶之間建立信任關系。 目前Challenge-Response方案是較為有效的方案。如源頭驗證,基本概念是由服務器先截住來自身份未知的發送者的信件,然后回信要求發送者簡單答復一些問題。事實上這些簡單答復只是為了確認發迭源不是一個發送垃圾郵件的臨時賬戶。更復余—些的系統要求身份不明的發送者必須通過某種測驗(如鏈接到某個網站,輸入一串電腦無法識別的圖像密碼)后才能放行。但上述訪問增加了發件方的任務,有可能引起發件方的不滿。 新的思路-MX查詢驗證: 目前,MX查詢驗證技術思路正在被關注和初步應用。 根據大量的調查結果,在所有垃圾郵件中,大約95%以上的郵件的發件人身份是偽造的,由此引出新的反垃圾郵件技術思路——驗證郵件是否經過偽造。如果是偽造的,則基本可以判斷為垃圾郵件。該技術思路基于目前的郵件服務器應用情況:大量接收郵件服務器(域名解析的MX項)本身就是發送郵件服務器(尤其針對中小郵件服務器);部分分離的接收郵件服務器和發送郵件服務器是IP地址相鄰相近的,范圍擴展與上一類似,其他允許發送郵件的計算機,如WWW/mailist/ftp服務器,可能與MX項定義的機器的IP地址相鄰相近。這樣,通過驗證郵件是否來自它所聲稱的郵件域的合法計算機,就可以判斷其是否為垃圾郵件。這種技術從SMTP握手信息及郵件頭信息來分析郵件來源,能有效識別虛假路由信息,識別95%以上的垃圾郵件。目前這種技術思路還在探索階段,尚沒有看到成熟的應用。 垃圾郵件問題已經成為嚴重的社會問題,引起了廣大社會學者和科學研究者的關注,越來越多的人呼吁進行立法解決。在技術領域,也有新技術不斷涌現和被嘗試。盡管實時黑名單技術、關閉openRelay、內容過濾技術、客戶端過濾技術和基于貝葉斯算法的技術各自都存在不同的缺陷,但同時我們也看到了它們的優點。對于新的MX查詢驗證,相信隨著技術的不斷成熟,一定可以在反垃圾郵件領域發揮很大的作用 |