1990年代,從第一封垃圾郵件開始,整個網路就一直不停的被這種永不停息的垃圾污染著。時至今日,多數網路使用者雖習慣它的存在,但卻不能忍受這般無端肆虐。
許多國家雖然也開始配合立法,試圖追查並制止這種濫發的行為,垃圾郵件也由此原來採用各種變相的來源偽造,讓人無法追查到正確的發送來源,藉以規避法律責任。ASRC垃圾訊息研究中心分析2008下半年的主要Spam發展趨勢,即以冒名及退信攻擊為大宗,以下將層層剖析這些垃圾郵件發送者(Spammer)的攻擊技倆:
電子郵件偽造 由於E-Mail通訊協定的不完善,才讓這些垃圾郵件發送者有機可乘。要瞭解垃圾郵件發送者最擅長的郵件偽造技術之前,得先從整個電子郵件的傳送過程說起。首先您可以先架設一台郵件伺服器,並執行Windows XP的telnet程式,透過「open郵件伺服器IP 25」。以下為送信的細節:
1. Helo xxx.com→連線成功後,先跟郵件伺服器打招呼,說明從何而來。
2. 郵件伺服器會進行連線IP的反解,並且回應招呼。
3. 接著使用mail from:<寄件人E-Mail位址>,用以說明由何人發出。
4. 然後以rcpt to: <收件人E-Mail位址>,用以說明要將郵件遞送給何人。
5. 接著輸入data開始撰寫電子郵件的內容。
6. 以Received:開頭,來敘述之前經過的郵件主機。
7. 以from、to、Subject來敘述這封信由何人所寄、寄予何人、主旨為何。
8. 接下來開始撰寫郵件的本文。
9. 寫完後,以單行”.”表示郵件撰寫結束,開始傳送此封郵件。
電子郵件在寄送的過程中,除了要傳遞收件人外,幾乎所有的部份都能偽造,諸如:寄信人、寄信的網域、郵件的內容,甚至寄信的IP也能透過跳板來達到偽造的效果。
電子郵件偽造的目的很多,除了垃圾郵件派發時,用於躲避追蹤外,也有許多用於發匿名信或黑函等較不法的目的。但有些則是因為Webmail或電子報發送程式,因其無真實帳號,但卻希望收件者回信可以回覆到其它存在的帳號,所以會在派發信件時進行寄件者偽造。
冒名逆襲的垃圾郵件 垃圾郵件最常偽造的部份,莫過於郵件中所宣稱的寄件者了。在早期,這類的偽造多半用於誘使收件者打開郵件,郵件中所宣稱的寄件者被偽造得很像朋友的來信,再加上許多人轉寄有趣的電子郵件予好友,經常是直接轉寄,卻忘了使用密件副本隱藏自己所發送的收件者電子郵件位址,而且這些位址通常都帶有收件者的名稱。不論我們的好友中是否有專門在派發垃圾郵件的,在這些郵件轉來轉去的當中,我們是否曾經留意來信者根本是不認識的人,而我們又把信轉出了呢?或許垃圾郵件發送者不必再用這種方式來辛苦搜集名單,但是這種方式卻能蒐集到收件者的真實名稱。下一回,不請自來的垃圾郵件、病毒郵件,表面看來其寄件人「似乎」是我們的好友,再運用具吸引力的主旨或內容,誘使我們不明就理地打開郵件,這種有效的發送模式,讓垃圾郵件、病毒信被開啟的機率大幅提升了。
上述的情況至今仍未曾間斷,但近期又有另一波冒名寄送的垃圾郵件大舉進犯了,而且受到攻擊的公司中,不乏已建置了垃圾郵件防堵機制的公司。這些冒名的垃圾郵件,利用公司常用或公開的收信帳號當做寄件者,例如:
sales@xxx.com、
services@xxx.com、
support@xxx.com...等。這些帳號可能存在於公司垃圾郵件防堵機制的白名單中,垃圾郵件發送者冒用這些帳號來發信,由於這些帳號被設成白名單,所以這些郵件並不會經過過濾,垃圾郵件因此可以通行無阻的送進內部,再搭配上字典檔產生隨機收件者發送垃圾郵件,在某些郵件架構的系統下(如:存在Relay Server),不存在的收件者還會發生退信,直接對遭到冒名的帳號產生退信攻擊。
另一種情況是偽冒收件者的方式來發送垃圾郵件,收件者收到的是「自己寄給自己」的郵件。這種垃圾郵件看中的漏洞在於:許多收件者或公司都會訂閱一些電子報,而這些電子報正是使用偽冒收件者的方式來發送,收件者會將自己的電子郵件位址或公司的域名加入白名單,以方便收到電子報。當垃圾郵件以「自己寄給自己」的方式,偽冒收件者來發送垃圾郵件,又會因為白名單的效果,造成垃圾郵件大量穿透。
白名單的管理 其實發送偽造垃圾郵件在技術上來說,並沒有特別創新的部份,只是利用了一些人性或管理方面的漏洞來造成垃圾郵件穿透的效果。那麼,是否有好的方法來避開這方面的漏洞呢?其實是有的。
在白名單的管理方面,一般郵件主機的IP多半不會一直變動的,所以在白名單中加入郵件主機來源的IP設定,會較加入電子郵件位址或是網域名稱,來得可靠一些。除此之外,複合式的白名單也能有效避免被偽冒的情況發生,例如:宣稱是某個網域的來信,其反查IP或是主旨、內容也必定要符合某個規則等。
除了直覺化的白名單設定外,透過某些學習機制或統計理論,也能達成某些可靠的抽象白名單效果,例如:貝式分類演算法(Bayesian)。這種抽象的白名單可以透過回報或學習的方式,更方便的被設定,但在效果及直觀的管理上,較不容易掌握。因此建議,能夠很確定的條件,就使用白名單的設定;不太能掌握的情況,可以透過統計理論來實現抽象白名單。
給郵件系統管理者的話如果您是一位郵件系統的管理者,建議您不論是否有遭受到冒名垃圾郵件的攻擊,都應該抽空檢視您郵件系統白名單的設定是否妥當。例如一些公開的客服或支援的帳號(如:
sales@xxx.com、
services@xxx.com、
support@xxx.com等),這些帳號一般只用來對外部客戶收信及回信用途,它不應該被加進寄件來源的白名單,如果它完全不可能會對內部(同一個收件網域)人員送信,也可以考慮在一開始就加入一些郵件過濾規則,防止惡意人士往企業內部冒名發信。
另外,對於出差、或在家發信以公司電子郵件帳號發信的同仁,儘可能透過VPN或是使用SMTP認證的方式,由自己的公司所屬的郵件伺服器來發送郵件較妥當,一方面有助於內部人員通信的管理(如:發信記錄、外寄郵件免責聲明、降低內部通信的誤判等),另一方面這樣的發信方式,因為發信來源反查與聲稱的寄件者網域一致,較不容易被大多數的垃圾郵件防堵機制攔截。
最後,提升人員的教育及認知仍是不可缺的,開放個人可自行訂定黑白名單的同時,最好也能讓使用同仁清楚使用方法及一些誤用的風險。垃圾郵件就目前的觀察,尚無消滅之日,並且積極的嘗試各種漏洞試圖避開偵測。運用先進技術來過濾垃圾郵件固然重要,但也請別忽略了管理方面的策略,才能讓郵件安全防護達到滴水不漏的境界。