專利名稱:實時的垃圾郵件查找系統(tǒng)的制作方法
實時的垃圾郵件查找系統(tǒng)
背景技術(shù):
不請自來的群發(fā)郵件(UBE :Unsolicited Bulk Email)是一個非常普遍的問題。UBE有可能包括不請自來的商業(yè)廣告電子郵件、垃圾郵件、網(wǎng)絡(luò)釣魚電子郵件(phishingemail)以及其他那些不請自來的群發(fā)電子郵件。UBE的發(fā)起方(垃圾郵件發(fā)送者)利用了眾多郵件服務(wù)器機器的處理能力來發(fā)送UBE。在處理UBE的過程中,大規(guī)模的電子郵件服務(wù)供應(yīng)商(ESP)會因為其郵件基礎(chǔ)架構(gòu)的極大規(guī)模以及接受入站(inbound)電子郵件的能力而處于不利地位。UBE消息具有很多可以向ESP標(biāo)識其自身是UB E的特性。通常,ESP會使用多種機制來減少系統(tǒng)用戶接收的UBE的數(shù)量。因此,垃圾郵件發(fā)送者使用了多種技術(shù)來繞過ESP堵塞其消息的努力嘗試。垃圾郵件發(fā)送者不斷地改變路由、域名、源IP以及消息內(nèi)容,以便欺騙UBE檢測系統(tǒng)。
發(fā)明內(nèi)容
所描述的是用于在向發(fā)送郵件服務(wù)器發(fā)布消息接受消息之前實現(xiàn)實時的垃圾郵件過濾的技術(shù)。當(dāng)接收到可疑消息時,這時將會發(fā)布一個或多個對于所接收且被懷疑是UBE的電子郵件的組成部分(component)的查詢。這些查詢尋找可以將該消息標(biāo)識成垃圾郵件或不請自來的群發(fā)郵件且在該消息中并非顯而易見的信息。針對這些查詢的響應(yīng)將被接收,并且將會預(yù)先做出是否發(fā)布郵件接受消息的決定。所述查詢可以將消息組成部分與所述消息到達(dá)入站郵件服務(wù)器時經(jīng)由的網(wǎng)絡(luò)基礎(chǔ)架構(gòu)相關(guān)聯(lián)。本發(fā)明內(nèi)容是為了以簡化的形式引入一組選擇的概念而被提供的,并且在以下的具體實施方式
中將會對其進(jìn)行更進(jìn)一步的描述。本發(fā)明內(nèi)容既不打算標(biāo)識所要保護(hù)的主題的關(guān)鍵特征或必要特征,也沒有打算要用來幫助確定所要保護(hù)的主題的范圍。
圖I描述了企業(yè)電子郵件系統(tǒng)的框圖。圖2描述了根據(jù)本技術(shù)而在入站郵件服務(wù)器和消息信息服務(wù)器上進(jìn)行的方法。圖3示出了用于發(fā)布關(guān)于入站電子郵件消息特性的同時查詢的方法。圖4示出了基于所接收的相對于消息中的其他特性的查詢來確定消息是否為垃圾郵件的方法。圖5示出了該技術(shù)的另一個實施例,其中。圖6是適合實現(xiàn)這里描述的技術(shù)的處理系統(tǒng)的圖示。
具體實施例方式所描述的是用于改進(jìn)大規(guī)模企業(yè)電子郵件系統(tǒng)處理不請自來的群發(fā)電子郵件(UBE)的能力的技術(shù)。實時過濾引擎將會發(fā)布一個或多個關(guān)于所接收且被懷疑是UBE的電子郵件的組成部分的查詢。這些查詢尋找可以將該消息標(biāo)識成UBE且在該消息中并非顯而易見的信息。針對這些查詢的響應(yīng)將被接收,并且會在自動發(fā)布此類接受之前做出是否發(fā)布郵件接受消息的決定。圖I是適合實現(xiàn)本技術(shù)的系統(tǒng)的方框級的圖。系統(tǒng)200可以由電子郵件服務(wù)供應(yīng)商(ESP)實現(xiàn),并且舉例來說,該系統(tǒng)可以包括一個包含了一個或多個處理設(shè)備的入站服務(wù)器220。多個入站服務(wù)器220-220n可以是在企業(yè)200內(nèi)部提供的,并且其中所有服務(wù)器都可以包括一個或多個處理設(shè)備。在一個實施例中,電子郵件服務(wù)器220是一個獨立服務(wù)器,并且允許在服務(wù)器上具有電子郵件地址的用戶經(jīng)由IMAP或POP之類的任意數(shù)量的格式來訪問其電子郵件。在一個可替換實施例中,入站服務(wù)器200是將消息傳遞到任意數(shù)量的后端處理設(shè)備的多個前端服務(wù)器之一,所述后端處理設(shè)備則會為企業(yè)用戶存儲電子郵件。這里討論的技術(shù)可應(yīng)用于獨立的電子郵件服務(wù)器以及企業(yè)環(huán)境。 入站電子郵件服務(wù)器220接收從發(fā)送服務(wù)器110、130經(jīng)由因特網(wǎng)50 (或其他適當(dāng)?shù)木W(wǎng)絡(luò))傳送的電子郵件消息,其中每一個服務(wù)器都具有各自的MTA 115,135.入站MTA215處理從發(fā)送郵件服務(wù)器經(jīng)由因特網(wǎng)50耦合到入站MTA的連接,并且對入站電子郵件執(zhí)行初始的接受和過濾任務(wù)集合。通常,MTA可以采用主機聯(lián)網(wǎng)協(xié)議來接受或拒絕輸入連接請求嘗試。入站電子郵件服務(wù)器220可以包括解析代理225、垃圾郵件過濾器230、實時過濾器235以及實時數(shù)據(jù)245。如下所述,垃圾郵件過濾器230執(zhí)行的初始檢查被應(yīng)用于輸入消息,并且將垃圾郵件得分與每一個消息相關(guān)聯(lián)。垃圾郵件內(nèi)容過濾器230可以包括多種內(nèi)容過濾方法中的任何一種,例如包括用于確定消息是否包含網(wǎng)絡(luò)釣魚內(nèi)容、可疑鏈接或病毒附件的方法。如果認(rèn)為電子郵件是可以遞送的,那么入站電子郵件MTA將會接受該消息。企業(yè)數(shù)據(jù)庫保持了用于系統(tǒng)200所看到的所有來源的全局垃圾郵件數(shù)據(jù)。數(shù)據(jù)可以從個別的服務(wù)器220中的實時數(shù)據(jù)庫245分發(fā)到企業(yè)數(shù)據(jù)庫,以便分發(fā)到其他服務(wù)器220η。解析代理225充當(dāng)特征提取組件(component) 110,它可以檢測和提取網(wǎng)際協(xié)議(IP)地址,域名以及URL和在消息145中發(fā)現(xiàn)的其他信息。實時過濾器235使用解析代理提供的信息來對從消息中提取的數(shù)據(jù)元素運行實時查詢,以便確定該消息的非顯而易見的元素是否指示了垃圾郵件或不法消息的可能性。實時過濾器235包括查找組件,它可以執(zhí)行任何數(shù)量的并行和異步查詢,例如關(guān)于IP地址的反向DNS查找以及在下文中概述的其他查詢,以便確定消息的狀態(tài)。圖I還示出了通過網(wǎng)絡(luò)的消息145的抽象視圖。例如,發(fā)送方的邊緣消息服務(wù)器110經(jīng)由因特網(wǎng)50向輸入郵件服務(wù)器220發(fā)送消息145。因特網(wǎng)50包括多個彼此相連(以及連接到其他組件)的路由器143、147、149。消息145從發(fā)送方的計算機110經(jīng)由路由器147、149等等傳播,直至其到達(dá)目的地計算機220。通過路由器的信息流程并未記錄在電子郵件中。路由器并未修改經(jīng)過它們的信息。電子郵件有時可以從一個服務(wù)器直接傳播到另一個服務(wù)器。在從郵件服務(wù)器傳遞到郵件服務(wù)器時,在電子郵件中可以添加給出了服務(wù)器IP地址的線路,因此通常記錄了服務(wù)器之間的流程。但是,每一個郵件服務(wù)器可以采用任何預(yù)期方式來修改該信息。因此,只有相對于服務(wù)器200而言是最后一個的郵件服務(wù)器的IP地址通常是可信的——先前任何服務(wù)器都有可能修改過該信息,或者垃圾郵件發(fā)送者可以在發(fā)送消息之前將虛假的IP地址插入到報頭中。此外在圖I中還顯示了一個URL內(nèi)容服務(wù)器120,其負(fù)責(zé)響應(yīng)于對消息145中嵌入的URL的請求來提供內(nèi)容。名稱服務(wù)器140對針對消息中的URL主機的查詢以及其他名稱服務(wù)請求做出響應(yīng)。各種不同的路由器143、147和149可以用于促進(jìn)網(wǎng)絡(luò)上的各種不同服務(wù)器之間的通信。應(yīng)該意識到的是,這些路由器并不是唯一的,并且在實體之間進(jìn)行的任何給定通信可以采用通過因特網(wǎng)50的不同路徑。電子消息通常是使用簡單郵件傳輸協(xié)議(SMTP)標(biāo)準(zhǔn)并經(jīng)由因特網(wǎng)50發(fā)送的。借助SMTP發(fā)送的電子消息包括源信息、接收方信息以及數(shù)據(jù)信息。源信息通常包括源IP地址。所述源IP地址是電子消息源于的唯一地址,并且可以表示單個服務(wù)器、服務(wù)器組或虛擬服務(wù)器。 IP地址可以在消息遞送路徑(介于消息發(fā)送方與消息接收方之間)上的各種不同的點被添加到消息報頭中,并且因此可能影響到垃圾郵件過濾器執(zhí)行的消息處理。在消息中檢測到的IP地址可以用于反向DNS信息以及路由追蹤。最后一個IP地址是不能偽造的,其給出了所述消息的至少一個來源,并且是可以預(yù)測的。因此舉例來說,垃圾郵件發(fā)送者可以通過用病毒和木馬感染發(fā)送機器來嘗試獲取其他IP地址。然后,它們使用這些病毒或木馬來發(fā)送垃圾郵件。因此,消息的IP地址可能是受感染的機器的IP地址。因此很難了解所有可能的感染以及保持關(guān)于這種感染的實時記錄。圖2示出了由入站服務(wù)器220的各種不同組件執(zhí)行的方法。對于在330中在入站服務(wù)器上接收的每一個消息,在332解析該消息以便提取用于確定該消息是否為UBE的一個或多個組成部分,從而將這些組成部分用于關(guān)于所述消息的實時特性查詢。舉例來說,這種提取可以包括使用這里描述的查詢來確定所嵌入的URL中的根域和二級域,提取IP地址和其他報頭信息,以及提取可能用于確定該消息的附加信息的任何組成部分。在334做出關(guān)于是否懷疑該消息是不應(yīng)該被遞送給用戶的UBE的初始確定。此類消息可以包括垃圾郵件和網(wǎng)絡(luò)釣魚消息,這些消息具有鏈接到在內(nèi)容服務(wù)器120之類的別的服務(wù)器上提供的內(nèi)容的一個或多個嵌入的URL。在一個實施例中,所述確定334是由垃圾郵件過濾器組件230做出的。該初始確定可以通過檢查電子郵件消息報頭和主體中顯而易見的消息組成部分來做出,其中舉例來說,所述消息組成部分是發(fā)送方,發(fā)送方的域以及驗證信息。歷史數(shù)據(jù)可以用于將此類已知的特性與垃圾郵件消息相匹配。已知的良好特性同樣可以用于清除消息。在一個方面中,垃圾郵件過濾器可以訪問實時數(shù)據(jù)庫245中的信息,并且可以從報頭或主體中查找一個或多個信息組成部分,以便快速確定該消息是否為垃圾郵件。這種初始確定可以通過參考已知的垃圾電子郵件地址、域、發(fā)送方分類、消息的垃圾郵件概率得分、驗證技術(shù)或是其他快速確定手段來做出。關(guān)于該消息的其他特性可以表明該消息不太可能是垃圾郵件。舉例來說,如果先前將消息發(fā)送方或發(fā)送方的域表征成已知的良好消息,那么該消息不太可能是可疑的。更進(jìn)一步,缺少任何指示消息是否為SPAM的特征的消息都有可能做出該消息可疑的決定。例如,該消息有可能來自先前未被看到的域。在一個實施例中,垃圾郵件過濾器230是入站電子郵件服務(wù)器220的一個專門編程的部分,其中舉例來說,所述部分包括已知的良好電子郵件地址和已知的惡劣電子郵件地址的列表、已知的良好電子郵件域和已知的惡劣電子郵件域的列表、域范圍或IP地址,以及過濾測試,其中所述測試可以在電子郵件消息的某些部分上運行,以便確定該消息是否包含UBE。在334,如果消息不是明顯是垃圾郵件,那么在338中將會確定該消息是否可疑??梢傻南⒖梢允悄切┍焕]件過濾器分配了比閾值得分更低的垃圾郵件得分的消息,所述閾值得分則清楚指示了垃圾郵件或者具有已知是UBE的消息所共有的其他特性(例如嵌入的URL)。如果在338做出的初始確定是該消息可疑,那么將會執(zhí)行一個或多個實時查詢340。根據(jù)該技術(shù),來自這些查詢的結(jié)果將被用于確定是否向發(fā)送電子郵件服務(wù)器發(fā)布“消息接受”指示。在一個實施例中,在340中并行且異步地發(fā)布了多個查詢。查詢結(jié)果可被區(qū)分優(yōu)先級為單獨起決定性作用或組合起決定性作用 ,因此,針對在其他響應(yīng)之前接收的一個或多個查詢所接收的響應(yīng)可以確定消息的狀態(tài)——系統(tǒng)不必等待發(fā)布針對所有查詢的響應(yīng)。就此而論,該系統(tǒng)是異步的。該系統(tǒng)還通過在例如使用“接受消息遞送”事務(wù)消息來完成消息事務(wù)之前接收針對查詢的回答來“實時”工作。在SMTP協(xié)議中,樣本交換通常會在接收到數(shù)據(jù)之后以“250 0K”或“250接受消息遞送”消息結(jié)束
Connected to mail, example, com (1.2.3.4).
220 mail, example, com ESMTP Ready ...
HELO mail, somewhere, com
250 a. mail, somewhere, com Hello 4. 3. I. I. somewhere, com [4. 3. 2. I],
MAIL FROM:<mikeisomewhere. com>
250 2.I.0 <mikeisomewhere. com>. . . Sender okRCPT TO:<someoneiexample. com>
250 2. I. 5 <someoneiexampIe. com>. . . Recipient okDATA
354 Enter mail, end with "· " on a line by itselfHello there!
OK, bye!
250 2Message accepted for deliveryQUIT。在本上下文中,“實時”未必意味著即刻,而是在經(jīng)過了某個時間的情況下工作的,因此顧及了發(fā)布查詢和接收查詢響應(yīng)以及分析該響應(yīng)的處理,這其中包括確定是否發(fā)布“接受消息遞送”命令。應(yīng)該認(rèn)識到的是,對消息也可以采取除了簡單地抑制“接受消息遞送”消息之外的其他“實時”動作。例如,其他動作可以包括但不局限于阻塞連接的IP (斷開連接),基于限度來對發(fā)送方的速率進(jìn)行限制,或是完全基于與關(guān)聯(lián)于發(fā)送方的各種不同基礎(chǔ)架構(gòu)相關(guān)聯(lián)的閾值來減慢發(fā)送方。更進(jìn)一步的動作可以包括基于這里的數(shù)據(jù)而在接收方的電子郵件收件箱中采用不同的方式向接收方呈現(xiàn)消息。例如,如果消息具有某個鏈接到可疑網(wǎng)絡(luò)釣魚主機的URL,那么可以在郵件界面中向用戶顯示一個紅色安全條。相反,如果該消息來自已知的可信源,那么在郵件界面中可以使用可信的顯示機制。在342,當(dāng)接收到針對在340發(fā)布的查詢的響應(yīng)時,將會確定該響應(yīng)是否表明消息存在問題。在圖4中進(jìn)一步具體示出了步驟334和336。如果該消息被確定為是垃圾郵件,那么在344中就不會發(fā)送“郵件接受”消息。如果該消息不是垃圾郵件,則發(fā)布郵件接受消息346。在348,由查詢導(dǎo)致產(chǎn)生的數(shù)據(jù)被返回給實時數(shù)據(jù)庫,以便在334和338的初始確定步驟中使用。在一個實施例中,在344上執(zhí)行的動作包括在SMTP會話中不提供“250消息接受”響應(yīng)。但是,在步驟334可以實現(xiàn)多個替換方案。郵件服務(wù)器可以通過發(fā)布SMTP級500錯誤來拒絕郵件,接受所述郵件但將其標(biāo)記成路由到一個垃圾文件夾,接受以及自動刪除消息,和/或接受消息并且采用不同方式來呈現(xiàn)該消息。在334采取的動作可以取決于消息是UBE的置信度——較高的置信度可以導(dǎo)致直接拒絕,而較低的置信度則可能導(dǎo)致接受和選擇性的呈現(xiàn)處理。圖3詳細(xì)示出了圖2的步驟340和342。在步驟340,對一個電子郵件消息可以同時發(fā)布多個并行的查詢。 如圖3所示,任何數(shù)量的查詢404、412、422、432、442、452可以并行發(fā)布。在一個示例中,這些查詢包括用于提供關(guān)于內(nèi)容服務(wù)器的信息的URL查找404,用于提供關(guān)于發(fā)送域或內(nèi)容服務(wù)器的信息的WhoIs查詢412,關(guān)于發(fā)送域和內(nèi)容服務(wù)器的反向DNS查詢422,關(guān)于消息到達(dá)發(fā)送域或內(nèi)容服務(wù)器所采取的路徑的跟蹤路由(traCeix)Ute)432,以及用于確定垃圾郵件域來源之間的潛在關(guān)系的名稱服務(wù)器查詢442。可以進(jìn)行多達(dá)“η”個并行的查詢。在240可以執(zhí)行揭示了消息中的非顯而易見信息以及揭示了與用以接收消息的網(wǎng)絡(luò)的基礎(chǔ)架構(gòu)相關(guān)的信息的任何類型的查詢。圖3所示的示例并非窮舉性的。一旦發(fā)起查詢(在 404、412、422、432、442、452),則系統(tǒng)分別在 405,413,423,433,443,453等待每個查詢的結(jié)果。由于并非所有查詢都可以在相同的時間幀中檢索到結(jié)果,因此對于每一個查詢來說,在406,414,424,434,444,454將會確定是否已接收到別的查詢結(jié)果。如果檢索到別的查詢結(jié)果,則分別在408、416、426、436、446、456確定該結(jié)果(單獨或者與其他查詢結(jié)果相結(jié)合)是否能決定所述消息是UBE或者不是UBE。如果由于接收到的別的測試結(jié)果而確定該消息是UBE,則在344將該消息標(biāo)記成垃圾郵件。如果不是的話,則該方法前進(jìn)到步驟346,并且如圖2所示提供一個“接受郵件遞送”消息。如果沒有檢索到在先結(jié)果,那么在410、418、428、438、448、458,每一個查詢的結(jié)果可以是決定性的。如下所述,如果結(jié)果不是決定性的,那可以在確定是否發(fā)布消息接受消息之前將所述結(jié)果數(shù)據(jù)與其他查詢結(jié)果結(jié)合使用。每一個查詢都被設(shè)計成返回關(guān)于該消息的可發(fā)現(xiàn)信息。例如,垃圾郵件發(fā)送者可以廉價地創(chuàng)建很多的主機名。這些主機名可以共用很多屬性。通過檢查多個消息以及返回關(guān)于該消息的數(shù)據(jù),諸如IP范圍、注冊人名稱或地址或是公共名稱服務(wù)器之類的組件中的模式將會顯現(xiàn)出來。這些共同性被用于將新接收的消息識別成UBE。每一個查詢都被設(shè)計成不但檢查與消息自身一起給出的消息的組成部分,而且還進(jìn)一步鉆研那些揭示了消息的真實特性的組成部分的可發(fā)現(xiàn)的方面。很多搜索都與發(fā)現(xiàn)關(guān)于與網(wǎng)絡(luò)基礎(chǔ)架構(gòu)相鏈接的消息組成部分的信息相聯(lián)系。在指向附加內(nèi)容或是被嵌入并設(shè)計成顯示例如HTML編碼消息中的內(nèi)容的URL被提供在電子郵件消息的主體中的情形下,可以進(jìn)行URL主機查找查詢404。URL查詢404檢查URL的特性以便確定該消息是否為UBE,以及使用該特性來發(fā)起對于該消息的查詢。在一個實施例中,可以分析URL特征以得到URL是否指向可疑內(nèi)容服務(wù)器的線索。URL的一些部分可被提取并在垃圾郵件過濾中使用。對于URL特征,垃圾郵件發(fā)送者可以通過同時包含屬于其他人的良好URL以及他們控制的URL來嘗試欺騙機器學(xué)習(xí)過濾器。例如,由于microsoft. com是以良好或“安全的”URL著稱的,因此,垃圾郵件發(fā)送者可以在他的消息中的某個位置包含microsoft. com。為了緩解這種劫持(hijacking),在這里可以包含基于計數(shù)以及基于組合的URL特征以作為機器學(xué)習(xí)過濾器的輸入。URL主機查找404檢查URL的附加特性,這其中包括URL的域是否與UBE實體具有已知的關(guān)系。URL主機查找可以產(chǎn)生能與諸如WhoIs查詢之類的其他查詢相結(jié)合的結(jié)果,以便提供附加的垃圾郵件特性。WhoIs查詢可以返回能夠依照所有者、所有者地址或是WhoIs查詢返回的其他數(shù)據(jù)來識別域之間的關(guān)系的信息。WhoIs查詢可以返回域名 的所有者、IP地址或是因特網(wǎng)上的自治系統(tǒng)號碼。如果垃圾郵件發(fā)送者使用了大量域地址,那么WhoIs查詢可以揭示出不法的域共用了公共的所有者或公共的街道地址,并且所述所有者或地址可被用于識別以后的不法的域。反向DNS查詢422可以用于將與電子郵件相關(guān)聯(lián)的IP地址解析為域名,這些從反向DNS查詢中得出的名稱可以與已知的不法域名相比較(或是與其他查詢結(jié)合使用),以便確定消息是否有可能是UBE。另一種技術(shù)是對IP地址執(zhí)行反向DNS查找。應(yīng)該指出的是,控制處于某個IP地址的機器的人不能控制用于該IP地址的反向DNS地址條目。例如,家庭計算機用戶有可能具有經(jīng)由電纜調(diào)制解調(diào)器或DSL線路發(fā)送垃圾郵件的受感染的計算機??刂朴糜陔娎|/DSL線路的IP地址的反向DNS地址條目的是其因特網(wǎng)供應(yīng)商。垃圾郵件發(fā)送者控制計算機,但卻沒有控制DNS條目。即使是控制DNS服務(wù)器的垃圾郵件發(fā)送者也不能控制用于計算機的反向DNS地址條目。即使在垃圾郵件發(fā)送者確實控制了用于該計算機DNS條目的情況下,一種常見的技術(shù)是執(zhí)行反向DNS查找,然后則對最終得到的RDNS條目執(zhí)行DNS查找;如果這兩個查找不匹配,則很好地證明了該DNS服務(wù)器是錯誤配置或受到損害的,并且來自它的任何信息都可以被無視(discount)。反向DNS地址條目是以一種略微不同于常規(guī)條目的方式配置的,并且要想控制反向DNS地址條目,通常必須具有大量的IP地址。在一些情況中,反向DNS地址條目被保持空白或遺漏。IP地址可以借助反向DNS查找組件410來分析。該處理并不是僅僅涉及簡單地檢查該地址是否為NULL,或者其是否包含其他字串,例如DSL。相反,在非空信息中返回的空值和/或名稱可被得到并用作實時數(shù)據(jù)庫的輸入。跟蹤路由查詢432推導(dǎo)兩個IP地址之間的至少一條路徑。雖然在任何兩臺計算機之間可能有很多通過因特網(wǎng)的替換路徑,但是跟蹤路由路徑中的公共因素可以揭示出消息是垃圾郵件的可能性。跟蹤路由在發(fā)送者所處的地理位置可以變窄。跟蹤路由操作指的是一種可以發(fā)送追蹤分組來確定信息的工具。特別地,該工具可以追蹤UDP分組從本地主機到遠(yuǎn)程主機的軌跡。所述跟蹤路由還可以顯示為了達(dá)到其目的地計算機所采取的路由的時間和位置。在確定了相關(guān)IP地址之后,這時可以執(zhí)行跟蹤路由,確定用于到達(dá)發(fā)送方的外部服務(wù)器的至少一個、兩個或更多路由器。借助跟蹤路由獲取的信息可以用于訓(xùn)練過濾器,例如垃圾郵件過濾器。垃圾郵件發(fā)送者可以通過獲取大量的IP地址來嘗試欺騙使用IP地址的垃圾郵件過濾器。但是,與獲取不同數(shù)量的因特網(wǎng)連接相比,獲取不同范圍的IP地址要更為容易?!案櫬酚伞毙畔⒖梢杂糜诹私饫]件發(fā)送者用以連接到因特網(wǎng)的路徑。通過查看最后一跳以及倒數(shù)第二跳等等,可以獲悉垃圾郵件所采取的路由。例如,可以發(fā)現(xiàn)有很多垃圾郵件是沿著公共的路由的。路由器不會修改經(jīng)過它們的信息。電子郵件有時可能直接從一個服務(wù)器傳播到另一個服務(wù)器。在從郵件服務(wù)器傳遞到郵件服務(wù)器時,會在電子郵件中添加給出服務(wù)器IP地址的線路,因此通常會記錄服務(wù)器之間的流程。但是,每一個郵件服務(wù)器可以采用任何期望的方式來修改該信息??梢詧?zhí)行用于URL、發(fā)送方的域或是從其他搜索中精選的信息的DNS查找442。垃圾郵件發(fā)送者有可能只具有用于多個主機名的單個DNS服務(wù)器。結(jié)果,DNS服務(wù)器的身份對于垃圾郵件過濾器而言有可能是一個很有價值的特征 。垃圾郵件發(fā)送者可以具有多個DNS服務(wù)器,但是它們有可能駐留在網(wǎng)絡(luò)附近。因此,通過結(jié)合使用跟蹤路由和DNS查詢來獲取通往DNS服務(wù)器的路徑可以提供很有價值的信息。DNS服務(wù)器可以具有特定的偏好類型。關(guān)于DNS服務(wù)器的版本信息有可能是很有價值的信息。通過使用DNS服務(wù)器,主機名可被轉(zhuǎn)換成IP地址。如果垃圾郵件發(fā)送者創(chuàng)建的各種不同主機駐留在相同服務(wù)器上,那么它們應(yīng)該或者可以具有相同的IP地址。因此,對于垃圾郵件過濾器,IP地址或是它的某些部分有可能是很有價值的特征。IP地址必須經(jīng)由因特網(wǎng)來聯(lián)系。通過對IP地址執(zhí)行跟蹤路由,我們可以發(fā)現(xiàn)很多IP地址都是以相似的方式連接的。關(guān)于授權(quán)名稱服務(wù)器(authoritative name server)的查詢還可以揭示與不法服務(wù)器類似的公共性。圖4示出了圖3中確定隔壁的查詢是否表明消息是垃圾郵件的過程(步驟410,418,428,438,448,458)。在步驟502,來自組成部分查詢的查詢結(jié)果被接收。在504,關(guān)于所述結(jié)果是否明顯地指示特定消息是UBE的初始確定將被做出。舉例來說,如果跟蹤路由查詢揭示消息路徑與對于已知UBE消息的另一個跟蹤路由查詢的消息路徑完全匹配,那么可以明確地將該消息標(biāo)記成UBE。如果查詢結(jié)果并未明顯地指示UBE消息,那么在506,它仍舊有可能指示消息可能存在問題。例如,我們有可能需要接收具有給定消息路徑的更大數(shù)量的消息,以便將消息定義成明顯的垃圾郵件,但接收到數(shù)量較少的路徑相同的消息有可能導(dǎo)致關(guān)于該消息的懷疑,并且如果在506中產(chǎn)生懷疑,則可以在508選擇組合查詢并通過返回步驟340來發(fā)布它。另一個替換方案是如果在消息具有完美得分之前從來沒有從特定的發(fā)送方那里看到過消息,但是消息來自首次發(fā)送者的事實可以使其他因素失效(override),則將消息標(biāo)記成可能存在問題。在所有情況中,實時信息數(shù)據(jù)庫都會在510更新。至少存在有兩種替換方案可以用于確定在步驟340中可以運行哪些查詢。在一個替換方案中,這些查詢可以基于入站服務(wù)器220的規(guī)模運行。如果正在使用大量的入站服務(wù)器,那么可以將有限數(shù)量的查詢用于入站消息。在這種環(huán)境中,系統(tǒng)很可能必需處理大量的消息。在發(fā)布消息接受消息的過程中的任何顯著延遲都有可能導(dǎo)致垃圾郵件發(fā)送者嘗試打開連至入站郵件服務(wù)器的附加連接。因此,可以進(jìn)一步使用超時,從而如果沒有在特定時段中接收到?jīng)Q定性響應(yīng)就必須接受該消息。在另一個實施例中,查詢策略可以基于入站服務(wù)器上看到的問題的類型。如果確定特定UBE模式比其他模式的可能性更大,則可以將查詢局限于被設(shè)計成聚焦于那些最??吹降膯栴}的那些類型的查詢。
圖5示出了本技術(shù)的另一個獨特的方面,其中步驟340的查詢可以在UBE活動(campaign)(僅僅超出用于消息的實時查詢)期間或是在解決UBE活動的時段中運行。在一些實例中,垃圾郵件發(fā)送者可以使用唯一的時段來分發(fā)一組UBE消息或UBE活動。所述活動持續(xù)的時間有可能超出在入站服務(wù)器上接收的初始消息的時段。在步驟512,通過在入站消息服務(wù)器上接收一定數(shù)量或模式的消息,確定某一個活動。任何數(shù)量的方法都可以用于確定UBE活動處于進(jìn)行之中。此外,活動的類型也是可以被確定。例如,垃圾郵件發(fā)送者可以發(fā)送一系列消息,并且這些消息內(nèi)嵌了尋址到只在某個時段才會活動的域的URL。一旦確定了垃圾郵件活動,則在514中可以在一個時段中運行一個或多個查詢,而不是實時地為接收到的每一個消息運行查詢。例如,反向DNS查詢可以是針對URL中的域運行的,直至活動結(jié)束,或是只要在516指示了問題。在查詢時段結(jié)束或是查詢表明所述域不再活動這樣的時間之前,所述URL或域可以被分類成是與垃圾郵件鏈接的域。
參考圖6,用于實現(xiàn)該技術(shù)的例示系統(tǒng)包括計算機660形式的通用計算設(shè)備。計算機660的組件可以包括但不局限于處理單元620,系統(tǒng)存儲器630,以及將包括系統(tǒng)存儲器的各種不同系統(tǒng)組件耦合到處理單元620的系統(tǒng)總線626。系統(tǒng)總線626可以是若干種總線結(jié)構(gòu)中的任何一種,這其中包括存儲器總線或存儲器控制器,外設(shè)總線,以及使用了多種總線架構(gòu)中的任何一種的本地總線。作為示例而不是限制,這種架構(gòu)包括工業(yè)標(biāo)準(zhǔn)架構(gòu)(ISA)總線,微通道架構(gòu)(MCA)總線,增強型ISA (EISA)總線,視頻電子標(biāo)準(zhǔn)協(xié)會(VESA)本地總線,以及也被稱為夾層(Mezzanine)總線的外設(shè)組件互連(PCI)總線。計算機600通常包括多種計算機可讀媒體。計算機可讀媒體可以是能被計算機660訪問的任何可用媒體,并且包括易失和非易失媒體,可移除和不可移除媒體。作為示例而不是限制,計算機可讀媒體可以包括計算機存儲媒體和通信媒體。計算機存儲媒體包括用任何用于存儲諸如計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù)之類的信息的方法或技術(shù)實現(xiàn)的易失和非易失、可移除和不可移除媒體。計算機存儲媒體包括但不局限于RAM、R0M、EEPR0M、閃存或其他存儲器技術(shù)、CD-ROM、數(shù)字多用途盤(DVD)或其他光盤存儲器、磁帶盒、磁帶、磁盤存儲器或其他磁存儲設(shè)備、或是其他任何可以用于存儲期望信息并能被計算機660訪問的介質(zhì)。通信媒體通常包含計算可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù),并且包含任何信息遞送媒體。作為示例而不是限制,通信媒體包括有線媒體,例如有線網(wǎng)絡(luò)或直接線路連接,還包括無線媒體,例如聲學(xué)、RF、紅外和其他無線媒體。上述各項的任何組合同樣應(yīng)該包含在計算機可讀媒體的范圍以內(nèi)。系統(tǒng)存儲器630包括易失和非易失存儲器形式的計算機存儲媒體,例如只讀存儲器(R0M)636和隨機存取存儲器(RAM)632?;据斎?輸出系統(tǒng)633 (BIOS)包含例如在啟動過程中幫助在計算機660內(nèi)部的元件之間傳送信息的基本例程,該系統(tǒng)通常存儲在ROM636中。RAM 632通常包含可以由處理單元620立即訪問和/或當(dāng)前操作的數(shù)據(jù)和/或程序模塊。作為示例而不是限制,圖6示出了操作系統(tǒng)634,應(yīng)用程序635,其他程序模塊636,以及程序數(shù)據(jù)637。計算機660還可以包括其他的可移除/不可移除、易失/非易失計算機存儲媒體。僅僅作為示例,圖6示出了讀取或?qū)懭氩豢梢瞥姆且资Т琶襟w的硬盤驅(qū)動器640,讀取或?qū)懭肟梢瞥姆且资Т疟P652的磁盤驅(qū)動器656,以及讀取或?qū)懭胫T如⑶-ROM或其他光媒體之類的可移除的非易失光盤656的光盤驅(qū)動器655。能在例示操作環(huán)境中使用的其他的可移除/不可移除、易失/非易失的計算機存儲媒體包括但不局限于磁帶盒、閃存卡、數(shù)字多用途盤、數(shù)字錄像帶、固態(tài)RAM、固態(tài)ROM等等。硬盤驅(qū)動器646通常經(jīng)由諸如接口 640之類的不可移除存儲器接口連接到系統(tǒng)總線626,并且磁盤驅(qū)動器656和光盤驅(qū)動器655通常通過諸如接口 650之類的可移除存儲器接口連接到系統(tǒng)總線626。在上文中論述并在圖6中示出的驅(qū)動器以及與之關(guān)聯(lián)的計算機存儲媒體為計算機660提供了對于計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊以及其他數(shù)據(jù)的存儲。舉例來說,在圖6中,硬盤驅(qū)動器641被圖示為存儲操作系統(tǒng)644,應(yīng)用程序645,其他程序模塊646,以及程序數(shù)據(jù)647。應(yīng)該指出的是,這些組件與操作系統(tǒng)634、應(yīng)用程序635、其他程序模塊636以及程序數(shù)據(jù)637可以是相同的,也可以是不同的。在這里賦予操作系統(tǒng)644、應(yīng)用程序645、其他程序模塊646以及程序數(shù)據(jù)647不同的數(shù)字,以便圖示它們最低程度是不同的拷貝。用戶可以通過輸入設(shè)備將命令和信息輸入計算機660 ,其中所述輸入設(shè)備例如是鍵盤662和通常被稱為鼠標(biāo)、軌跡球或觸摸板的指示設(shè)備661。其他輸入設(shè)備(未顯示)可以包括麥克風(fēng)、搖桿、游戲板、碟式衛(wèi)星天線、掃描儀等等。這些以及其他輸入設(shè)備通常通過耦合到系統(tǒng)總線的用戶輸入接口 660連接到處理單元620,但是也可以通過其他接口和總線結(jié)構(gòu)來連接,例如并行端口、游戲端口或通用串行總線(USB)。監(jiān)視器691或其他類型的顯示設(shè)備同樣經(jīng)由諸如視頻接口 690之類的接口連接到系統(tǒng)總線626。除了監(jiān)視器之外,計算機還可以包括可以通過輸出外設(shè)接口 690連接的其他外設(shè)輸出設(shè)備,例如揚聲器697和打印機696。計算機660可以使用與諸如遠(yuǎn)程計算機680之類的一個或多個遠(yuǎn)程計算機相連的邏輯連接而在聯(lián)網(wǎng)環(huán)境中工作。遠(yuǎn)程計算機680可以是個人計算機、服務(wù)器、路由器、網(wǎng)絡(luò)PC、對等設(shè)備或其他公共網(wǎng)絡(luò)節(jié)點,并且通常包括在上文中相對計算機660描述的很多或所有元件,但在圖6中僅僅示出了存儲器存儲設(shè)備686。圖6描述的邏輯連接包括局域網(wǎng)(LAN) 676和廣域網(wǎng)(WAN) 673,但是也可以包括其他網(wǎng)絡(luò)。這種聯(lián)網(wǎng)環(huán)境在辦公室、企業(yè)級計算機網(wǎng)絡(luò)、內(nèi)部網(wǎng)以及因特網(wǎng)中是很普通的。當(dāng)在LAN聯(lián)網(wǎng)環(huán)境中使用時,計算機660通過網(wǎng)絡(luò)接口或適配器670與LAN 676相連。當(dāng)在WAN聯(lián)網(wǎng)環(huán)境中使用時,計算機660通常包括調(diào)制解調(diào)器672或用于在諸如因特網(wǎng)之類的WAN 673上建立通信的其他裝置。調(diào)制解調(diào)器672可以處于內(nèi)部或外部,它可以經(jīng)由用戶輸入接口 660或他適當(dāng)?shù)臋C制連接到系統(tǒng)總線626。在聯(lián)網(wǎng)環(huán)境中,結(jié)合計算機660描述的程序模塊是其某些部分可以保存在遠(yuǎn)程存儲器存儲設(shè)備中。作為示例而不是限制,圖6示出了駐留在存儲器設(shè)備686上的遠(yuǎn)程應(yīng)用程序685。應(yīng)該意識到的是,所顯示的網(wǎng)絡(luò)連接是例示性的,并且用于在計算機之間建立通信鏈路的其他裝置也是可以使用的。本技術(shù)可以結(jié)合眾多其他的通用或?qū)S糜嬎阆到y(tǒng)環(huán)境或配置來工作。適合與本技術(shù)結(jié)合使用的眾所周知的計算系統(tǒng)、環(huán)境和/或配置的示例包括但不局限于個人計算機、服務(wù)器計算機、手持或膝上設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、機頂盒、可編程消費類電子設(shè)備、網(wǎng)絡(luò)PC、微型計算機、大型計算機、包含上述系統(tǒng)或設(shè)備中的任何一個的分布式計算環(huán)境等等。本技術(shù)可以在諸如程序模塊之類由計算機執(zhí)行的計算機可執(zhí)行指令的一般上下文中描述。通常,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等等。該技術(shù)還可以在分布式計算環(huán)境中實施,其中任務(wù)是由通過通信網(wǎng)絡(luò)連接的遠(yuǎn)程處理設(shè)備執(zhí)行的。在分布式計算環(huán)境中,程序模塊可以位于本地和遠(yuǎn)程計算機存儲媒體中,包括存儲器存儲設(shè)備。雖然用特定于結(jié)構(gòu)特征和/或方法動作的語言描述了本主題,但是應(yīng)該理解,附加權(quán)利要求中限定的主題未必局限 于上述具體特征或動作。相反,以上描述的具體特征和動作是作為用于實現(xiàn)權(quán)利要求的例示形式公開的。
權(quán)利要求
1.一種用于管理經(jīng)由包含多個入站郵件服務(wù)器的系統(tǒng)發(fā)送至電子郵件系統(tǒng)的不請自來的電子郵件的方法,包括 Ca)在入站郵件傳送代理上接收(330)電子郵件消息; (b)確定(338)是否懷疑該電子郵件消息是不請自來的可疑消息; (c)發(fā)起(340)對關(guān)于所述消息的ー個或多個特性的附加信息的查詢,所述查詢基于網(wǎng)絡(luò)返回關(guān)于所述特性的信息; Cd)接收針對至少ー個關(guān)于物理特性的搜索的響應(yīng); (e)基于至少一個搜索的結(jié)果來確定(342)該消息是否為不請自來的群發(fā)電子郵件; Cf)基于確定步驟來對該消息采取動作(344,346)。
2.權(quán)利要求I的方法,其中步驟(b)包括基于先前查詢的結(jié)果來確定該消息是否可疑。
3.權(quán)利要求I的方法,其中該方法還包括存儲(348)每ー個查詢的結(jié)果,以便在步驟(b)中使用。
4.權(quán)利要求I的方法,其中方法步驟(e)包括使用來自多個并發(fā)搜索的經(jīng)過更新的搜索結(jié)果來執(zhí)行確定步驟。
5.權(quán)利要求I的方法,其中步驟(b)包括下列各項中的至少ー項 確定(404)消息的真實源IP以及該IP是否與已知的垃圾郵件發(fā)送者相關(guān)聯(lián); 確定(404,422,432)消息的源IP以及該IP是否與關(guān)聯(lián)于已知垃圾郵件發(fā)送者的ー批IP相關(guān)聯(lián); 確定(412)源IP以及關(guān)聯(lián)于所述源IP的域的注冊者是否是關(guān)聯(lián)于已知的垃圾郵件發(fā)送者的IP ; 對于域名確定(442)用于該域的授權(quán)名稱服務(wù)器以及ANS是否與已知的垃圾郵件發(fā)送者相關(guān)聯(lián); 確定關(guān)聯(lián)于發(fā)送者的MX記錄以及MX記錄中的域或IP地址是否與已知的垃圾郵件發(fā)送者相關(guān)聯(lián); 確定(422)關(guān)聯(lián)于電子郵件源的已知IP地址的主機名以及確定該主機名稱服務(wù)器IP是否與已知的垃圾郵件發(fā)送者相關(guān)聯(lián); 確定(442)與發(fā)送域相關(guān)聯(lián)的名稱服務(wù)器,以及確定該名稱服務(wù)器是否與已知的垃圾郵件發(fā)送者相關(guān)聯(lián)。
6.權(quán)利要求I的方法,其中發(fā)起步驟包括執(zhí)行關(guān)于消息的多個特性的多個查詢(404,412,422,432,442,452)。
7.權(quán)利要求I的方法,其中該方法包括異步地執(zhí)行多個查詢。
8.權(quán)利要求I的方法,還包括接收針對多個查詢之一的答復(fù)(410,418,428,438,448,458),以及在接收針對所述查詢中的其他查詢的答復(fù)之前,確定該答復(fù)是不是能夠確定所述消息是否為垃圾郵件。
9.權(quán)利要求I的方法,其中步驟(f)包括下列各項中的ー項或多項 確定(344)拒絕所述消息以及不發(fā)布消息遞送接受消息; 通過發(fā)布SMTP等級500錯誤來確定(344)拒絕所述消息; 確定(346)接受所述消息并且將消息路由到垃圾文件夾; 確定接受該消息并且自動刪除該消息;確定接受該消息并且采用不同方式來呈現(xiàn)該消息。
10.一種用于確定是否為在網(wǎng)絡(luò)上接收的電子郵件消息發(fā)布郵件遞送接受消息的方法,包括 確定(338)電子郵件消息是否具有垃圾郵件特性; 發(fā)布(340,404,412,422,432,442,452)關(guān)于消息的一個或多個組成部分的多個查詢,以便確定該消息是否與先前被確定成是垃圾郵件的消息共有網(wǎng)絡(luò)基礎(chǔ)架構(gòu)特性; 接收(405,513,423,433,443,453)針對多個查詢中的一個或多個查詢的答復(fù); 確定(406,414,424,434,444,454)接收到的答復(fù)是否足以確定該消息是不是垃圾郵件; 如果接收到的答復(fù)足以確定該消息是不是垃圾郵件,則基于所述答復(fù)來確定(410,418,428,438,448,458)該消息是不是垃圾郵件,如果不是的話,則等待ー個或多個另外的答復(fù); 基于ー個或多個足以確定消息是不是垃圾郵件的答復(fù)來發(fā)布(346)或抑制(344)消息遞送接受消息。
11.權(quán)利要求10的方法,其中該方法還包括存儲(348)答復(fù)查詢以便在每個確定步驟中使用,所述發(fā)布包括基于先前查詢的結(jié)果來確定該消息是否可疑。
12.權(quán)利要求11的方法,其中所述發(fā)布或抑制包括使用來自多個并發(fā)查詢的已更新搜索結(jié)果來執(zhí)行確定步驟。
13.ー種包含處理設(shè)備的消息傳遞系統(tǒng),其中所述處理設(shè)備包括用于向處理設(shè)備提供指令來實現(xiàn)下列步驟的代碼; 提供用于管理與消息傳遞系統(tǒng)的連接的消息傳送代理(215); 入站電子郵件解析代理(225)包括郵件組成部分提取模塊; 可疑電子郵件確定模塊(235),其包括用于執(zhí)行下列步驟的代碼 確定(334,338)電子郵件消息是否具有垃圾郵件特性; 發(fā)布關(guān)于消息的一個或多個組成部分的多個查詢(340),以便基于消息共有的網(wǎng)絡(luò)基礎(chǔ)架構(gòu)特性來確定該消息是否與先前被確定成是垃圾郵件或不是垃圾郵件的消息共有特性; 接收針對多個查詢中的一個或多個查詢的答復(fù); 基于足以確定該消息是不是垃圾郵件的一個或多個查詢來發(fā)布(346,344)或抑制消息遞送接受消息。
14.權(quán)利要求13的系統(tǒng),其中可疑電子郵件確定模塊還包括用于執(zhí)行下列步驟的代碼 確定接收到的答復(fù)是否足以確定該消息是不是垃圾郵件; 如果接收到的答復(fù)足以確定該消息是不是垃圾郵件,則基于所述答復(fù)來確定該消息是不是垃圾郵件,如果不是的話,則等待ー個或多個另外的答復(fù)。
15.權(quán)利要求13的系統(tǒng),其中發(fā)布多個查詢的代碼包括發(fā)布用于下列各項中的至少ー項的查詢 確定(404)消息的真實源IP以及該IP是否與已知的垃圾郵件發(fā)送者相關(guān)聯(lián); 確定(404,422,432)消息的源IP以及該IP是否與關(guān)聯(lián)于已知垃圾郵件發(fā)送者的ー批IP相關(guān)聯(lián); 確定(412)源IP以及關(guān)聯(lián)于所述源IP的域的注冊者是否是關(guān)聯(lián)于已知的垃圾郵件發(fā)送者的IP ; 對于域名確定(442)用于該域的授權(quán)名稱服務(wù)器以及ANS是否與已知的垃圾郵件發(fā)送者相關(guān)聯(lián); 確定關(guān)聯(lián)于發(fā)送者的MX記錄以及MX記錄中的域或IP地址是否與已知的垃圾郵件發(fā)送者相關(guān)聯(lián); 確定(422)關(guān)聯(lián)于電子郵件 源的已知IP地址的主機名以及確定該主機名稱服務(wù)器IP是否與已知的垃圾郵件發(fā)送者相關(guān)聯(lián); 確定(442)與發(fā)送域相關(guān)聯(lián)的名稱服務(wù)器,以及確定該名稱服務(wù)器是否與已知的垃圾郵件發(fā)送者相關(guān)聯(lián)。
全文摘要
一種管理經(jīng)由網(wǎng)絡(luò)發(fā)送至電子郵件系統(tǒng)的不請自來的電子郵件的系統(tǒng)和方法。在入站郵件傳送代理上接收消息上的電子郵件消息。確定是否懷疑該電子郵件消息是不請自來的可疑消息。發(fā)起關(guān)于消息的一個或多個特性的另外信息的一個或多個查詢。在向發(fā)送服務(wù)器發(fā)布消息遞送接受消息之前,基于針對這些查詢的答復(fù)來做出決定。
文檔編號G06Q10/10GK102804213SQ201080028270
公開日2012年11月28日 申請日期2010年6月18日 優(yōu)先權(quán)日2009年6月26日
發(fā)明者J.D.沃特, E.C.吉倫, K.C.維塔爾德瓦拉, R.C.科爾文, M.比戈利, C.W.米爾斯, J.D.科布, R.L.麥肯, D.J.海恩斯, M.H.戴維斯, M.德里尼克 申請人:微軟公司