Download網路誌11月稿件: 「揪出垃圾信」

@欄目:硬道理

@大標:揪出垃圾信!
@副標:如何辨別一般郵件和討厭的垃圾信?且看網路專家為你踢爆垃圾信的秘密!

@內文:
Email已經成為現代人溝通聯絡的主要工具,但垃圾信卻也成為網路上相當氾濫的問題,不但浪費大量頻寬和閱讀時間,更成為大家的頭痛問題。最麻煩的是,一般人很難準確分辨哪些信是垃圾信,只好求助於ISP和各種垃圾信防制機制。到底要如何揪出垃圾信?在介紹垃圾信的分辨方法前,須先了解Email何從寄件者寄到你的信箱的整個過程。

@小標:Email寄送的流程
Email遞送的機制其實和普通郵件並無差異,寫信用的郵件程式透過SMTP協定將信投遞到「郵局」(也就是郵件伺服器),郵件伺服器會再扮演郵差的角色,把郵件寄給收信者帳號所在的郵件主機,收件者再把信件取回閱讀。下圖便是模擬出amy@bbb.com.tw將信寄出給 jack@aaa.com.tw 的過程。

舉例來說,Amy寄信給Jack時,用Outlook之類的郵件程式將信寄給Jack@aaa.com.tw,郵件程式就會將Email發給Amy所在網域 bbb.com.tw的郵件伺服器,郵件伺服器再將信件轉交給Jack所在網域aaa.com.tw的郵件伺服器並儲存起來,接著Jack就可用郵件程式透過POP3或IMAP協定將信件取回。這就是最普通的郵件遞送方式。

同樣的,若Jack想回信給Amy時,Jack的郵件程式會將回信透過SMTP協定交給Jack所在網域的郵件伺服器aaa.com.tw,再透過SMTP協定轉發給Amy所在網域bbb.com.tw的郵件伺服器,並等待Amy收信。整個過程就是這麼簡單。

@小標:垃圾信的特徵
一般垃圾信件為求發送快速,通常都會使用程式自動發送。常見的幾種發送方式有兩種,一種是在網路上尋找設定不完善,轉信不受限制(Open Relay)的郵件伺服器代為發送;另一種是發送程式偽裝為郵件伺服器,直接發送給收件人的郵件伺服器。這些垃圾信由於沒有必要接收回信,所以寄件人的 Email通常是假造的;而且收件人地址通常和真正的收件人不符,甚至大多數的郵件格式都不完整,也不符合相關規定。這些特徵便成為過濾垃圾郵件的最佳條件。

@小標:郵件伺服器如何揪出垃圾信?
廣告信的阻擋最為有利的就是在郵件伺服器端就將之偵測出來,所以許多主流的郵件伺服器軟體都支援多種的阻擋方法,以下就是常用的四種機制。

@小小標:第一招:拒收浮動ip伺服器信件
如上一節所說到的第二種方式,許多垃圾信寄送軟體是直接與郵件伺服器溝通寄信,但為避免被抓包,所以許多廣告信的寄發者會以電話撥接、撥接式ADSL甚至是到網咖去發信;而用這些網路連線發信,最大的特徵就是來源IP均屬浮動IP。台灣各大ISP為防制垃圾信的氾濫,目前已將所有浮動IP使用的網域名稱反查結果冠上「dynamic」,如xxx-xxx-xxx-xxx.dynamic.hinet.net。郵件伺服器只要發現信件來源的反查網域名稱中有「dynamic」,就可以直接拒收。相對的,正常信件由於大都使用固定網址的郵件伺服器遞送,在網域名稱反查中不會出現「dynamic」字樣,因此並不受影響。

@小小標:第二招:即時黑洞名單
「即時黑洞名單」RBL(Realtime Blackhole List)是全世界各大反垃圾信件組織所提供的垃圾信伺服器列表。伺服器只要檢查檢查郵件寄送人使用的伺服器是否在名單之上,就可以分辨信件是否屬於垃圾信,因此能有效杜絕來自全球各地的垃圾信件。目前流行的幾種郵件伺服器軟體皆支援RBL模組,以RBL列表來阻擋垃圾信件,還能自動檢舉新發現的垃圾信伺服器,並在第一時間和全球的郵件伺服器交換RBL黑名單。

@小小標:第三招:內容過濾大法
天網恢恢,但難免有人逍遙法外。前面兩種方式都無法抓到的垃圾信件,要怎麼抓?郵件伺服器所使用的內容過濾器(Content Filter)可以發揮最後防線的功能。過濾器技術的概念很簡單,就是將信件內容交給一些特定的機制去過濾,例如病毒信可以使用掃毒過濾器來過濾並阻擋下來。而當用於過濾廣告信時,經常使用一種叫做「SpamAssassin」技術的軟體來阻絕。

SpamAssassin 的技術是分析郵件的標頭(Header)和信件本體(Body)的內容,尋找某些特徵並給予評分(Hits),當評分超過某個設定的上限時,便定義此封信件是SPAM Mail。例如廣告信常用的假造信件流程,未正確編碼的標題與內容,僅有HTML內容而無相對應的純文字區段,或者標頭不完整,以及常見的回信地址(Return-Path)與寄件人(From)不相符的情形。SpamAssassin的好處是彈性大,可由管理者自行定義例外規則,亦可藉由自動學習功能調整評分機制與評分的分數限制,可以說是目前最為強大的垃圾信偵測技術。

@第四招:SMTP認證
SMTP是信件寄出時使用的通訊協定,但在原始的SMTP的協定上並沒有使用者認證機制,因此若有人刻意假造別人的Email發信,伺服器是難以發現或阻擋的。為了彌補這個缺陷,新的SMTP協定補充了認證機制,要寄信時必須要告訴郵件伺服器帳號密碼,郵件伺服器才會接受信件寄出的要求。這樣可以防止有人使用偽造的Email地址濫寄垃圾信。

@小標:收信者如何阻擋垃圾信?
以上介紹的各種垃圾信防制機制,都是在郵件伺服器端的過濾機制,一般使用者無法設定,只有系統管理員才管得著。不過,在收信者端仍舊有一些方式可以杜絕垃圾信,以下就是常用的幾種機制。

@小小標:第一招:用郵件規則濾信
大多數的郵件程式都有設定郵件規則的功能,其原始的目的是用來分類郵件,但亦可過濾某些特定垃圾信。例如申請某些入口網站會員後,往往會收到大量會員信或廣告信;可以使用郵件規則將具備某些特殊字串的信件直接丟進垃圾桶內,例如將標題中有「OOXX購物報」的信件丟進垃圾桶或直接刪除。

@小小標:第二招:使用外掛過濾器
除了郵件程式內的郵件規則外,還可以使用外掛的郵件過濾器來揪出垃圾信。外掛過濾器和伺服器端使用的過濾器原理相似,是由一個程式代替郵件程式去郵件伺服器取信,取得信件後馬上過濾,僅留下沒有問題的信件,被判斷疑似垃圾信的信件則另行處理,例如直接刪除或在主旨中加上特別的標記。目前較為流行的外掛過濾器有SAProxy Pro以及SpamPal等等,共通特色是安裝及設定相當簡單,且具有學習功能,誤判機率會逐漸下降。其中某些產品也是使用SpamAssassin技術來進行過濾,經過一段時間的調整和學習後,準確度可提升到幾乎不會誤判的地步。

@小標:五大守則,垃圾信和你說bye bye
雖然上面介紹了各種垃圾信防制措施,但是垃圾信發信者總是不斷找出各種濫寄新方法,光靠以上的防制機制,也無法百分之百消滅垃圾信。相對而言,如果我們養成以下五個好習慣,不但能夠自保,避免個人資料外流,更可以大大降低收到垃圾信的機率。

1. 盡量不在公開討論區或網站公布自己的Email
2. 選擇正常的客戶端郵件軟體
3. 盡量不轉寄信件,或在轉寄時將收件人列於密件副本(BCC)
4. 安裝掃毒軟體,並且定期更新你的病毒碼
5. 定期檢查是否有你作業系統適用的安全性更新

@box 相關連結
SMTP(Simple Mail Transfer Protocol):http://www.ietf.org/rfc/rfc821.txt
POP3(Post Office Protocol 3):http://www.ietf.org/rfc/rfc1725.txt
IMAP(Internet Message Access Protocol):http://www.ietf.org/rfc/rfc2060.txt
RBL(Realtime Blackhole List):http://rbls.org/
SpamAssassin:http://spamassassin.apache.org/
SAProxy Pro:http://www.statalabs.com/
SpamPal:http://www.spampal.org/

  • Post a comment

    Threaded commenting powered by interconnect/it code.