用於為網絡提供利用保護的系統與方法
2023-10-06 04:46:44 2
專利名稱:用於為網絡提供利用保護的系統與方法
技術領域:
本發明涉及計算機網絡安全,尤其涉及網絡的利用保護。
背景技術:
網際網路連接世界各地的數百萬節點。通過敲擊按鍵,一個地方的用戶可以存取幾千英裡之外的另一計算機上的文件。此外,網際網路便利了稱為電子郵件的電子消息形式的信息的交換。儘管最先被用於傳送短文本消息,但電子郵件現在可用於發送數字圖像、聲音文件、文檔、電子數據表、可執行程序以及其它電子文件。發送所述文件只需將其附加到電子郵件消息並且敲擊發送按鍵。
但是,這種傳送信息的便利還被用於其它目的。最先廣受關注的利用實例之一涉及使用電子郵件伺服器傳播程序。一旦電子郵件伺服器受到程序「感染」,它就開始將包括所述程序的電子郵件消息發送至其知道的其它電子郵件伺服器。所述程序像病毒一樣以驚人的速度從一臺郵件伺服器擴展至另一臺郵件伺服器。儘管所述程序並不刪除文件或破壞電子郵件伺服器上的數據,但因為受感染電子郵件伺服器發送大量電子郵件消息,所述程序使得從電子郵件伺服器檢索電子郵件消息的速度極為緩慢。
當前,幾乎每天都會報告類病毒程序(下稱「利用」)。所述利用中的一些相對溫和;其它則破壞數據或捕獲敏感信息。除非正確保護,否則即使只有少量計算機受到感染,這些利用仍可以使得公司網絡或電子郵件系統崩潰,或是竊取敏感信息。
用於應付這些利用的最流行的方法是在每臺計算機上建立病毒保護軟體。一旦病毒保護軟體的版本發布,則病毒尋求繞過該利用保護軟體生成該病毒保護軟體無法識別的新利用。這促使病毒保護軟體研發人員更新其病毒保護軟體以檢測新利用。以前,在每臺計算機上更新病毒保護軟體需要得到磁碟上的更新,並逐臺計算機建立所述更新。目前,病毒保護軟體允許計算機用戶使用網際網路下載更新。由於建立更新需要每個用戶(或計算機支持組)的努力,通常無法使每臺計算機上的病毒保護軟體都是最新的。而且,新病毒的介紹與生成和發布旨在抵禦新病毒的更新之間存在顯著延遲。此外,病毒保護軟體通常無法抵禦更常見類別的稱為利用的類病毒程序。
發明內容
根據本發明,提供了一種用於為連接至網絡的設備提供利用保護的方法與系統。所述系統與方法包括用於確定封裝是否已應用於附件並將已封裝附件解封裝的組件,在該附件被壓縮時執行該附件的至少一種解壓縮的組件,確定消息的標題、正文和/或附件是否包括利用的組件,以及保持並選擇性清除包括利用的消息的組件。接收指向網絡的消息的設備使用上述組件來為至少一個消息提供利用保護。
在本發明的一個方面中,所述消息包括標題、正文和附件。所述標題包括至少一個具有預定義大小的欄位。當該欄位數據的大小不同於所定義大小時,利用得以建立。利用也可能建立在消息的正文和/或附件內。
在本發明的另一方面中,在所述系統上執行的客戶機通過輪詢與利用保護軟體的銷售商相關的伺服器來確定何時可以得到更新。當所述客戶機確定可以得到更新時,其自動檢索所述更新。
在本發明的另一方面中,所述系統使用來自至少兩個銷售商的利用保護軟體來確定附件是否包括利用。
在本發明的另一方面中,所述系統的組件被實施在軟體內,並可能被包括在防火牆、路由器、交換機以及業務管理器中的至少一個上。
在本發明的另一方面中,所述封裝包括通用網際網路函件擴充服務(MIME)、Base 64編碼和未編碼中的至少一種。
以下詳細描述以及相關附圖介紹將使得表現本發明特徵的上述和其它特徵以及優點變得清楚。
圖1-3示出了其內可以實現本發明的示例性環境的組件;圖4示出了用於為網絡提供利用保護的系統在其內操作的示例性環境;圖5示出了可用於提供利用保護的防火牆的組件;以及圖6示出了用於根據本發明檢測利用的流程圖。
具體實施例方式
在以下本發明示例性實施例詳細描述中,參照構成本發明的一部分的以說明方式示出的附圖,以及本發明可能被實現為的特定實施例。這些實施例會被詳細描述,以使本領域技術人員能夠實現本發明,且應當理解的是,也可能在並不背離本發明的精神和範圍的情況下使用其它實施例以及做出其它改變。因此,以下詳細描述並不具有限制性的意義,本發明的範圍由所附權利要求書定義。
在以下描述內,首先給出本文獻始終使用的一些術語的定義。接著,公開其內可以實現本發明的示例性操作環境的示例性組件。此後,公開其內可以實現本發明的示例性操作環境。最後,提供一種檢測和清除利用的方法。
定義除非本文明確指示,否則該部分內的定義應用於本文件。短語「本文件」指的是本申請的說明書、權利要求以及摘要。
「包括」指的是包括但並非僅限於。因此,包括A的列表並不排除包括B。
「分組」指的是任意或可選擇數據量,所述數據可由一個或多個比特的序列代表。分組可能對應於在開放系統互連(OSI)模型的任何層內建立的數據單元、在OSI模型內建立的數據單元的組合或非OSI數據單元,所述數據單元例如是段、消息、分組、數據報、幀、符號流或流。
「客戶機」指的是在一個或多個電子設備上執行的處理器或一組處理器,所述電子設備例如是圖3的計算設備300。客戶機並不僅限於在工作站上運行;它也可能在諸如WWW伺服器、文件伺服器的伺服器上運行,或在其它伺服器、其它計算設備上運行,或被在一組所述設備上分配。在適當的情況下,除了上述定義之外或代替上述定義,術語「客戶機」應當被解釋為一個或多個客戶機過程可在其上執行的一種或多種設備,例如被配置為起到全球資訊網(WWW)伺服器作用的諸如計算設備300的計算設備,被配置為路由器、網關、工作站等的計算設備。
與其類似的是,「伺服器」是指在一個或多個電子設備上執行的過程或過程組,所述電子設備例如是被配置為WWW伺服器的計算設備300。與客戶機一樣,伺服器並不僅限於在被配置為主導將業務提供給其它計算設備的計算設備上運行。相反,它也可能在通常被視為客戶計算機的設備上執行,例如在被配置為用戶工作站的計算設備300上執行,或是被在各個電子設備之間分配,其中每個設備都包括一個或多個共同構成伺服器應用的過程。在適當的情況下,除了上述定義之外或替代上述定義,術語「伺服器」應當被解釋為一個或多個伺服器過程在其上執行的一種或多種設備,例如被配置為起到WWW伺服器、路由器、網關、工作站等作用的計算設備。
利用是任何可能被用於通過電子郵件不適當地接入計算機的程序和/或軟體。利用包括常見的計算機病毒,還包括其它用於不適當地接入計算機的方法。例如,計算機病毒通常包括在電子郵件消息的附件內。但一些利用包括在電子郵件消息的標題或正文內。例如,一些利用嘗試使得為部分或全部電子郵件消息的標題或正文分配的緩衝器溢出。這些利用通常會在所述溢出內包括的數據的字節內包括可執行代碼。所述的可執行代碼被以可由主機執行的方式設置。所述的可執行代碼此後可能會在所述主機上不適當地存取數據和/或執行未經授權的程序。
參照附圖,在附圖和本文件中,相同的號碼指示類似的部分。
術語的定義同樣貫穿全文。這些定義並不必通過使用「意味著」或「指的是」來以語言介紹,而是可通過實例和/或所執行功能來介紹。除非另有明確指示,否則所述定義將同樣適用於本文。
示例性操作環境圖1-3示出了其內可以實現本發明的示例性環境的組件。並不需要所有的組件來實現本發明,可在並不背離本發明的精神或範圍的情況下,改變布置和所述組件的類型。
圖1示出了無線網絡105和110以及電話網絡115和120,它們分別通過網關130A-130D互連到廣域網/區域網200。網關130A-130D的每一個都選擇性地包括防火牆組件,例如分別包括防火牆140A-140D。每個網關130A-130D內的字母FW代表防火牆。
無線網絡105和110傳送信息和話音通信到能夠無線通信的設備,或是從所述設備傳送信息和話音通信,所述設備例如是蜂窩電話、智慧型電話、尋呼機、步談機、射頻設備、紅外(IR)設備、CB以及組合一種或多種上述設備的集成設備等。無線網絡105和110同樣可以將信息傳送到其它具有連接到無線網絡的接口的設備,例如PDA、袖珍PC、便攜計算機、個人計算機、多處理器系統、基於微處理器的或可編程用戶電子設備、網絡PC以及其它適當裝配的設備。無線網絡105和110可能包括無線和有線組件。例如,無線網絡110可能包括連結到諸如電話網115的有線電話網的蜂窩塔(未示出)。通常,所述蜂窩塔將通信傳送至蜂窩電話、尋呼機和其它無線設備,並從所述設備傳送通信,而所述有線電話網將通信傳送至常規電話、遠程通信鏈路等。
類似的,電話網115和120將信息和話音通信傳送至能夠實現有線通信的設備,並從所述設備傳送信息和話音通信,所述設備例如是常規電話以及包括數據機或其它一些接口與電話網通信的設備。諸如電話網120的電話網也可能包括無線和有線組件。例如,電話網可能包括微波鏈路、衛星鏈路、無線電鏈路以及其它無線鏈路來互連有線網。
網關130A-130D將無線網105和110以及電話網115和120互連到WAN/LAN 200。諸如網關130A的網關在諸如無線網105和WAN/LAN 200的網絡之間傳送數據。在傳送數據中,所述網關可能會將所述數據翻譯為適合於接收網絡的格式。例如,使用無線設備的用戶可能會通過呼叫某一號碼、調至特定頻率或選擇設備的瀏覽特徵來開始瀏覽網際網路。在接收到適當尋址或格式化的信息時,無線網絡105可能被配置為在所述無線設備和網關130A之間發送數據。網關130A可能會將來自所述無線設備的網頁請求翻譯為此後會被發送至WAN/LAN 200的超文本傳送協議(HTTP)消息。網關130A此後可能將對於所述消息的響應翻譯為與所述無線設備兼容的格式。網關130A同樣將從無線設備發送的其它消息轉換為適合於WAN/LAN200的消息,例如電子郵件、話音通信、接觸資料庫、日曆、約會以及其它消息。
在將所述數據向任何一個方向翻譯之前或之後,出於安全、過濾或其它原因,所述網關可能會將所述數據通過諸如防火牆140A的防火牆傳送。諸如防火牆140A的防火牆可能包括或發送消息到利用檢測器。結合圖4-6詳細描述了本發明實施例語境內的防火牆及其操作。簡要地說,網關可能會將數據傳送過防火牆,以確定其是否應當將該數據轉發至接收網絡。所述防火牆可能會將諸如電子郵件消息的一些數據通過利用檢測器傳送,所述利用檢測器可能會從所述數據中檢測並清除利用。如果數據包括利用,則所述防火牆可能停止將所述數據通過所述網關傳送。
在本發明的其它實施例中,利用檢測器位於獨立於網關和/或防火牆的組件上。例如,在本發明的一些實施例中,利用檢測器可能包括在諸如無線網絡105的無線網絡的路由器內,所述利用檢測器接收指向到以及來自諸如無線網絡105的無線網絡的消息。這否定了諸如網關130A的網絡間網關上的利用檢測器,或是使得所述網關上的利用檢測器冗餘。理想的是,利用檢測器位於網絡的入口位置處,從而保護所述網絡內的全部設備免受利用。但利用檢測器可能位於網絡內的其它位置,或與諸如交換機、集線器、伺服器、路由器、業務管理器等的其它設備集成,或獨立於所述設備。
在本發明的另一實施例中,利用檢測器可從諸如網關的尋求提供利用保護的設備接入。在本文中,可接入意味著利用保護器物理上位於實施所述網關的伺服器或計算設備上,或所述利用檢測器在可從所述網關接入的另一伺服器或計算設備上。在此實施例中,網關可能會通過應用編程接口(API)接入所述利用檢測器。理想的是,尋求利用保護的設備通過相關利用檢測器指向所有消息,從而使得所述利用檢測器「邏輯上」位於所述設備互連的網絡之間。在一些情況下,設備可能並不通過利用檢測器發送所有消息。例如,利用檢測器可能失靈,或某些消息可能被明確或隱含地指定為避免所述利用檢測器。
WAN/LAN 200通常在如結合圖2詳細描述的計算設備之間傳送信息。WAN的一個實例是網際網路,其經由大量網關、路由器、交換機、集線器等連接數百萬計算機。LAN的實例是用於連接單個辦公室內的計算機的網絡。WAN可能被用於連接多個LAN。
應當認識到的是,WAN/LAN、電話網和無線網之間的區別並不清晰。換言之,這些類型網絡中的每一種都可能包括一個或多個邏輯上屬於一種或多種其它類型網絡的部分。例如,WAN/LAN 200可能包括一些模擬或數字電話線以在計算設備之間傳送信息。電話網120可能包括無線組件以及基於分組的組件,例如IP話音。無線網105可能包括有線組件和/或基於分組的組件。網絡是指WAN/LAN、電話網、無線網或它們的任何組合。
圖2示出了多個由路由器210互連的區域網(「LAN」)220和廣域網(「WAN」)230。路由器210是加速分組傳送的通信網絡上的中間設備。在通過可能的連接網連結大量計算機的單個網絡上,路由器接收所傳送的分組,並將其經由可用路由轉發至其正確目的地。在包括基於不同體系結構與協議的LAN的互連LAN組中,路由器起到LAN之間的鏈路的作用,使得分組能被從一個LAN發送至另一個LAN。可通過使用專用硬體、諸如結合圖3描述的計算設備300的執行適當軟體的計算設備或其任何組合來實施路由器。
LAN內的通信鏈路一般包括雙絞線、光纖或同軸電纜,而網絡之間的通信鏈路可能會利用模擬電話線、包括T1、T2、T3和T4的全部或部分專用數字線、綜合業務數字網(ISDN)、數字用戶線(DSL)、無線鏈路或其它本領域技術人員熟知的通信鏈路。此外,諸如遠程計算機240的計算機以及其它相關電子設備可被經由數據機和暫時電話鏈路遠程連接到LAN 220或WAN 230。圖2內的WAN、LAN和路由器的數量可任意增加或減少,並不背離本發明的精神和範圍。
同樣,應當理解的是,網際網路自身可能由大量如此互連的網絡、計算機和路由器組成。術語「網際網路」通常是指使用傳輸控制協議/網際網路協議(「TCP/IP」)協議組相互通信的網絡、網關、路由器和計算機的世界範圍內的集合。網際網路的中心是主要節點或主機之間的高速數據通信主線,其路由數據和分組,所述節點和主機包括數千商業、政府、教育和其它計算機系統。可在網際網路上實現本發明實施例,並未背離本發明的精神和範圍。
用於在上述通信鏈路內發射信息的媒介示出了一種計算機可讀媒介,即通信媒介。計算機可讀媒介通常包括任何可由計算設備存取的媒介。計算機可讀媒介可能包括計算機存儲媒介、通信媒介或其任何組合。
通信媒介通常包括計算機可讀指令、數據結構、程序模塊、諸如載波的已調製數據信號內的其它數據或其它傳輸機制,並包括任何信息傳送媒介。術語「已調製數據信號」意味著將具有一個或多個其特徵的信號設置或改變為編碼該信號內的信息。例如,通信媒介包括諸如雙絞線、同軸電纜、光纖、波導管和其它有線媒介的有線媒介,以及諸如聲音、RF、紅外以及其它無線媒介的無線媒介。
藉助能夠連結位於世界各地的計算機的能力,網際網路近年來得到迅速發展。隨著網際網路的發展,WWW同樣迅速發展。一般而言,WWW是位於世界各地的HTTP(超文本傳送協議)伺服器上的連結超文本文件的總組。WWW上的文件稱為頁或網頁,通常以HTML(超文本連結標示語言)或其它一些連結標示語言編寫,由規定特定機器以及可據其存取文件的路徑名的URL(統一資源定位器)識別,並被使用HTTP從伺服器傳送至終端用戶。嵌入HTML文件的代碼稱為標記,其將該文件內的文字和圖像與URL聯繫起來,從而使得用戶可以通過按鍵或按滑鼠來存取可能在地球另一端的另一文件。這些文件可能包括文本(具有各種字體和格式)、圖像、電影文件、媒體截屏、聲音、Java小應用程式、ActiveX控制或其它在用戶激活其時執行的嵌入式軟體程序。訪問網頁的用戶也能夠從FTP站點下載文件,並通過使用該網頁上的連結將分組經由電子郵件發送到其它用戶。
以下將結合圖3詳細描述可提供WWW站點的計算設備。在被用於提供WWW站點時,所述計算設備通常稱為WWW伺服器。WWW伺服器是連接至網際網路的計算設備,其具有用於為WWW站點存儲超文本文件的存儲設備,並運行管理軟體以處理對所存儲超文本文件的請求。超文本文件通常包括若干超連結,即用於將該文件連結到可能存儲在網際網路上別處的WWW站點內的另一超文本文件的突出部分。每個超連結都與URL相關,所述URL提供連接至網際網路的伺服器上的被連結文件的位置,並描述該文件。因此,只要從任何WWW伺服器檢索超文本文件,該文件即被視為從WWW中檢索。如本領域技術人員所知,WWW伺服器也可能包括用於存儲和傳送應用程式以在遠程計算機上執行的設備,所述應用程式例如是Sun微系統的以Java程式語言編寫的應用程式。同樣,WWW伺服器還可能包括用於在其自身上執行腳本和其它應用程式的設備。
用戶可能會經由位於有線或無線設備上的WWW瀏覽器應用程式從所述WWW檢索超文本文件。WWW瀏覽器是用於提供到所述WWW的圖形用戶接口的軟體應用程式,例如Netscape的NAVIGATOR以及Microsoft的INTERNET EXPLORER。在用戶經由WWW瀏覽器請求時,所述WWW瀏覽器使用所需的超文本文件的URL以及HTTP從適當WWW伺服器存取和檢索該文件。HTTP是較TCP/IP更高級的協議,是特別為WWW的需要設計的。HTTP用於將請求從瀏覽器傳送至網絡伺服器,以及將網頁從網絡伺服器傳送回請求瀏覽器或客戶機。所述WWW瀏覽器同樣可能從WWW伺服器檢索諸如JAVA小應用程式的應用程式以在客戶計算機上執行。
圖3示出了一種計算設備。所述設備例如被用作伺服器、工作站、網絡設備、路由器、網橋、防火牆、利用檢測器、網關和/或業務管理設備。當被用於提供WWW站點時,計算設備300將WWW網頁傳送至在請求設備上執行的WWW瀏覽器應用程式,以執行該過程。例如,計算設備300可能會傳送網頁和窗體,以接收關於用戶的信息,例如地址、電話號碼、記帳信息、信用卡號碼等。此外,計算設備300可能將WWW頁傳送至允許顧客加入WWW站點的請求設備。所述事項可能發生在網際網路、WAN/LAN 100或本領域技術人員熟知的其它一些通信網絡上。
應當理解的是,計算設備300可能包括遠多於圖3所示出的組件。但是,所示出的組件足以說明用於實現本發明的示例性環境。如圖3所示,計算設備300可能會經由網絡接口單元310連接到WAN/LAN 200或其它通信網絡。網絡接口單元310包括將計算設備300連接到WAN/LAN 200所需的電路,並被構造成與包括TCP/IP協議的各種通信協議一起使用。網絡接口單元310通常是包括在計算設備300內的卡。
計算設備300還包括經由總線322連接的處理單元312、視頻顯示適配器314、海量存儲器。所述海量存儲器通常包括隨機存取存儲器(「RAM」)316、只讀存儲器(「ROM」)332以及一個或多個永久海量存儲設備,例如硬碟驅動器328、磁帶驅動器(並未顯示)、諸如CD-ROM/DVD-ROM驅動器的光碟機動器326和/或軟盤驅動器(並未顯示)。所述海量存儲器存儲作業系統320,以控制計算設備300的操作。應當理解的是,該組件可能包括通用作業系統,例如UNIX、LINUXTM或由華盛頓,雷蒙德的微軟公司製造的作業系統。還提供了基本輸入/輸出系統(「BIOS」)318以控制計算設備300的低層操作。
上述海量存儲器示出了另一種計算機可讀媒介,即計算機存儲媒介。計算機存儲媒介可能包括用於存儲信息的以任何一種方法或技術來實施的易失和非易失、可拆卸和不可拆卸的媒介,所述信息例如計算機可讀指令、數據結構、程序模塊或其它數據。計算機存儲媒介的實例包括RAM、ROM、EEPROM、快閃記憶體或其它存儲技術、CD-ROM、數字通用盤(DVD)或其它光存儲器、磁盒、磁帶、磁碟存儲器或其它磁存儲設備,或是其它可用於存儲所需信息並可由計算設備存取的媒介。
所述海量存儲器還可能存儲程序代碼和數據,以提供WWW站點。更具體地說,所述海量存儲器可能存儲包括專用軟體330和其它程序334的應用。專用軟體330可能包括WWW伺服器應用程式,該程序包括計算機可執行指令,所述計算機可執行指令在由計算設備300執行時,生成WWW瀏覽器顯示,包括執行上述邏輯。計算設備300可能包括JAVA虛擬機、用於傳送和接收電子郵件的SMTP處理器應用、用於接收和處理HTTP請求的HTTP處理器應用、用於傳輸到在客戶計算機上執行的WWW瀏覽器的JAVA小應用程式、用於處理安全連接的HTTPS處理器應用。所述HTTPS處理器應用可能被用於與外部安全應用通信,以在安全方式中發送和接收敏感信息,例如信用卡信息。
計算設備300也可能包括用於與外部設備通信的輸入/輸出接口324,例如滑鼠、鍵盤、掃描儀或其它圖3內未顯示的輸入設備。在本發明的一些實施例中,計算設備並不包括用戶輸入/輸出組件。例如,計算設備300可能會連接或不連接到監控器。此外,計算設備300可能具有或不具有視頻顯示適配器314或輸入/輸出接口324。例如,計算設備300可能會實施網絡設備,例如路由器、網關、業務管理設備等,其連接至網絡但並不需要直接連接到輸入/輸出設備。所述設備例如可經由網絡接入。
計算設備300可能還包括附加海量存儲設備,例如光碟機326和硬碟驅動器328。除了其它內容外,硬碟驅動器328還被計算設備300用於存儲應用程式、資料庫和在計算設備300上執行的WWW伺服器應用使用的程序數據。WWW伺服器應用可被作為專用軟體300和/或其它程序334存儲。此外,客戶資料庫、產品資料庫、圖像資料庫以及相關資料庫也可能被存儲在海量存儲器或RAM 316內。
從上述討論可以認識到,本發明的各個方面可能體現在路由器210、計算設備300、網關、防火牆、其它設備以及上述設備的一些組合上。例如,防止利用的編程步驟可能包括在專用軟體330和/或其它程序334內。
示例性配置系統以防止利用圖4示出了一種示例性環境,其中根據本發明一個實施例的為網絡提供利用保護的系統操作。該系統包括外部網絡405、防火牆500、網絡設備415、工作站420、文件伺服器425、郵件伺服器430、行動裝置435、應用伺服器440、電話設備445和網絡450。網絡450將防火牆500耦合到網絡設備415、工作站420、文件伺服器425、郵件伺服器430、行動裝置435、應用伺服器440、電話設備445。防火牆500將網絡450耦合到外部網絡405。
網絡設備415、工作站420、文件伺服器425、郵件伺服器430、行動裝置435、應用伺服器440、電話設備445是能夠與網絡450連接的設備。所述設備組可能包括通常使用有線通信媒介連接的設備,例如個人計算機、多處理器系統、基於微處理器或可編程的客戶電子設備、網絡PC等。所述設備組還可能包括通常使用無線通信媒介連接的設備,例如蜂窩電話、智慧型電話、尋呼機、步話機、射頻(RF)設備、紅外(IR)設備、CB、組合一種或多種前述設備的集成設備等。一些設備能夠使用有線或無線通信媒介連接到網絡450,例如PDA、袖珍PC、便攜計算機或上述其它裝配成使用有線和/或無線通信媒介的設備。可能實施任何上述設備的示例性設備是以適當硬體和/或軟體配置的圖3的計算設備300。
網絡設備415例如可能是路由器、交換機或其它一些網絡設備。工作站420可能是被用戶用於接入其它計算機以及可通過網絡450,包括外部網絡405達到的資源的計算機。文件伺服器425例如可能提供到海量存儲設備的接入。郵件伺服器430可能存儲電子郵件消息並提供對電子郵件消息的存取。行動裝置435可能是蜂窩電話、PDA、便攜計算機或其它一些被用戶用於接入可通過網絡450達到的資源的設備。應用伺服器440可能存儲應用並提供到應用的接入,所述應用例如是資料庫應用、計算應用等。電話設備445可能會提供用於經由網絡450傳送話音、傳真和其它消息的裝置。每個所述設備都可能代表其它一些能夠與網絡450連接的設備,這並不背離本發明的精神和範圍。
外部網絡405和網絡450是如前文定義的網絡。外部網絡例如可能是網際網路或其它一些WAN/LAN。
防火牆500為消息提供從外部網絡405到網絡450的路徑。防火牆500可能為或不為所述消息提供僅有的路徑。此外,外部網絡405和網絡450之間的路徑上可能存在其它計算設備(並未顯示),這並不背離本發明的精神和範圍。防火牆可能被包括在網關、路由器、交換機或其它計算設備上,或僅可以接入到所述設備。
防火牆500可能會通過包括和/或接入結合圖5詳述的利用檢測器(並未顯示)為耦合到網絡450的設備提供利用保護。防火牆500可能被配置為通過利用檢測器發送某一類型的消息。例如,防火牆500可能被配置為在通過利用檢測器傳送所有電子郵件消息時,在非電子郵件數據上執行常規處理。
示例性利用檢測器圖5示出了根據本發明一個實施例的可用於提供利用保護的防火牆的組件。防火牆500的組件包括消息受話器505、利用檢測器510、輸出組件545以及其它防火牆組件550。利用檢測器510包括消息隊列515、內容過濾器520、解壓縮組件525、掃描器組件530、隔離組件535以及利用去除器540。還示出了消息傳輸代理555。
防火牆500可以接收在耦合到網絡450的設備與圖4的外部網絡405之間發送的多種類型消息。一些消息可能涉及WWW業務或在兩個參與通信的計算機之間傳送的數據,而其它消息可能涉及電子郵件。消息受話器505收聽消息,並在接收到諸如電子郵件或文件的適當消息時,將該消息發送至利用檢測器510以掃描利用。一些消息可能不適宜利用檢測。這種消息由消息受話器505傳送到其它防火牆組件550。
在處理電子郵件消息時,利用檢測器510部分地通過掃描和確認電子郵件消息的欄位來提供利用保護。電子郵件消息通常包括標題(可能包括某些欄位)、正文(通常包括電子郵件的文本)以及一個或多個可選擇附件。如前所述,一些利用被製作成溢出標題或正文內的緩存器。利用檢測器510可能會檢查電子郵件消息的欄位長度,以確定所述欄位是否長於其應有長度。「長於其應有長度」可能由標準、郵件伺服器技術規範定義,或由防火牆管理員選擇。如果電子郵件消息包括任何長於其應有長度的欄位,則該消息可能會被發送至下文詳述的隔離組件535。
利用檢測器510可能會使用來自多個銷售商的利用保護軟體。例如,客戶機可能在連接到病毒保護更新伺服器的利用檢測器510上執行。該客戶機可能會周期性地輪詢與每個銷售商相關的伺服器,並尋找標記以了解是否可以得到利用保護更新。如果可得到更新,則所述客戶機自動檢索所述更新並檢查其真實性。例如,所述更新可能會包括將無用信號加入所發送文件的數字籤名。核對所述數字籤名以確定所述文件來自值得信賴的發送人,所述無用信號可被用於確定所述文件並未被在傳送中修改。另一過程可能會分開所述更新、停止利用檢測器510的執行、安裝所述更新並重啟利用檢測器510。
利用檢測器510可能被配置為輪詢定製的利用保護更新,所述更新例如由信息技術組研製。該過程可能以與上述向銷售商輪詢更新類似的方式執行。
除了輪詢之外或代替所述輪詢,更新可能被推至利用檢測器510。換言之,客戶機可能在從利用保護更新伺服器收聽更新的利用檢測器510上執行。為了更新在防火牆410上執行的利用保護,所述伺服器可能會打開與該客戶機的連接,並發送利用保護更新。發送更新的伺服器可能為鑑權自身所需。此外,所述客戶機可能會通過使用上述無用信號來檢查所發送更新,以確定所述文件在傳送中並未被改變。
以下將解釋利用檢測器510的組件。在接收消息以掃描利用時,利用檢測器510將該消息存儲在消息隊列515內。內容過濾器520處理來自消息隊列515的消息,以確定在該消息進入所述系統之前已應用於其的封裝方法。例如,可能會使用通用網際網路函件擴充服務(MIME)、Base 64編碼和未編碼來封裝消息。內容過濾器520也可能會從電子郵件剝離附件以更精確地檢驗所述附件。從內容過濾器520輸出的消息或附件(以下都稱為「消息」)由解壓縮組件525處理。
解壓縮組件525確定消息是否被壓縮。如果所述消息並未被壓縮,則構成所述消息的比特被序列發送至掃描器組件530。如果所述消息被壓縮,則解壓縮組件525會在將其發送至掃描器組件530之前將所述消息解壓縮一次或多次。如果消息被壓縮多次,則解壓縮可能會被以嵌套方式執行。例如,可能首先以zip文件格式壓縮消息內包括的文件組,然後通過使用UNIX「tar」指令以tar文件格式壓縮該文件組。在將文件解tar壓縮之後,解壓縮組件525可能會確定所述解tar壓縮文件先前由諸如WINZIP的zip壓縮軟體所壓縮。為了得到解zip壓縮的(多個)文件,解壓縮組件525此後可能會將解tar壓縮的文件解zip壓縮。解壓縮組件525可能要解兩級以上壓縮來得到解壓縮後文件。
掃描器組件530從解壓縮組件525接收解壓後的消息以及並未被壓縮的消息。掃描器組件530包括掃描消息的利用的軟體。掃描器組件530可能使用多個銷售商的利用保護軟體來掃描消息。例如,掃描器組件530可能將消息通過軟體傳送,所述軟體來自病毒保護軟體銷售商,例如Norton、MacAfee、Network Associates股份有限公司、Kaspersky Lab、Sophos等。此外,掃描器組件530可能會將專有或用戶定義的算法應用於所述消息,以掃描利用。例如,可能會將測試緩存器溢出的用戶定義的算法用於檢測利用。
掃描器組件530還可能包括為管理員希望防止受到網絡外界分配的消息與內容生成數字籤名的內部機制。例如,參照圖4,一個所述計算設備上的用戶可能生成對外部網絡405保密的消息並試圖將其轉發。掃描器組件530可能會檢查其接收到的每個消息(包括輸出消息)的所述數字籤名。當發現數字籤名指示不應當轉發所述消息時,掃描器組件530可能會將所述消息和關於是誰發送該消息、何時發送該消息以及與該消息相關的其它數據的信息一起轉發至隔離組件。
當確定消息具有利用時,所述消息被發送至隔離組件535。隔離組件535可能會存儲包括利用的消息,由網絡管理員做進一步檢查。此外,隔離組件535可能將受感染的消息發送到利用去除器540將利用去除。
當掃描器組件530並未在消息內發現利用時,所述消息可能被轉發至輸出組件545。輸出組件545將消息轉發至其接收者。輸出組件545可能是可用於經由網絡轉發消息的硬體和/或軟體。例如,輸出組件545可能包括諸如網絡接口單元310的網絡接口。
利用去除器540可能會將利用從消息去除。在檢測生成清理後的消息之後,可能會將某些利用從消息去除。當前不受利用的清理後消息可能隨後被轉發至其預計的接收者。在清理消息之後,利用去除器可能會將所述消息轉發至輸出組件545。如果利用去除器無法刪除利用,則其可能將所述消息發送回隔離組件535。
除了將消息傳送到利用檢測器之外,防火牆可能還會執行其它任務。例如,防火牆可能會阻塞到或來自某些地址的消息。所述的其它任務可能由其它防火牆組件550實現。當其它防火牆組件550確定應當通過防火牆500傳送消息時,其它防火牆組件550將所述消息轉發到輸出組件545。
消息傳輸代理555是接收電子郵件的計算設備。電子郵件接收設備包括郵件伺服器。郵件伺服器的實例包括微軟「交換局」、「Q郵件」、Lotus Notes等。參照圖4,防火牆500可能將消息轉發至郵件伺服器430。
掃描利用的示例性方法圖6示出了根據本發明的一個實施例檢測利用的流程圖。當諸如圖5的消息受話器505的受話器準備接收消息時,過程在方框605處開始。
在方框610處,所述消息由受話器接收。所述受話器確定是否應當掃描所述消息的利用。如果將掃描所述消息的利用,則處理在方框615處繼續;否則可能會對所述消息執行其它處理(未示出)。例如,參照圖5,包括電子郵件消息的消息由消息受話器505接收。消息受話器505確定應當掃描所述消息的利用,並將所述消息發送到消息隊列515。
如果有必要,則在方框615處將所述消息解封裝。可以若干方式將消息封裝,包括MIME、Base 64編碼和未解碼。為了檢索所述消息,可能會將所述消息解封裝。例如,參照圖5,所述電子郵件消息可能包括被使用MIME編碼的附件。內容過濾器520可能會將所述附件解封裝。在方框615之後,處理在方框620處繼續。
在方框620處,所述消息和/或其附件,如果存在的話,可能會被一次或多次解壓縮。例如,參照圖5,電子郵件消息可能包括已由WinZip壓縮的附件。解壓縮組件525可能會確定所使用的壓縮算法,並將所述附件解壓縮。在方框620之後,處理在方框625處繼續。
在方框625處,掃描消息的利用。可能使用常規利用檢測軟體和/或專有或用戶定義的利用檢測軟體來掃描所述消息。例如,參照圖5,可能會掃描電子郵件消息的標題、正文與附件欄位,以確定它們是小於還是等於所述欄位的最大長度。此外,如果存在電子郵件的附件,則可能通過各個銷售商的病毒檢測軟體傳送電子郵件的附件,以確定所述附件是否包括任何利用。在方框625之後,處理在方框630處繼續。
在方框630處,確定所述掃描是否檢測到任何利用。如果發現利用,則處理在方框635處繼續;否則處理在方框640處繼續。
在方框635處,消息被隔離,且選擇性地將一個或多個利用去除。被隔離可能意味著將所述消息與其它關於所述消息的信息一起存儲起來,所述的其它關於所述消息的信息例如是誰發送所述消息、所述消息被尋址到誰以及所述消息何時到達。這可能是為了進一步檢查或分析而執行的。作為選擇,被隔離可能意味著將所述消息刪除。當從消息處理去除利用時,可能在方框640處繼續;否則,特定消息的處理完成,且可能掃描另一消息的利用。例如,參照圖5,隔離組件接收包括利用的電子郵件,並將所述電子郵件存儲起來用於進一步檢查。
在方框640處,將消息轉發至其接收者。所述消息可能是由利用檢測器接收的原始消息,或可能是將利用從其去除的消息。例如,參照圖5,輸出組件545將消息轉發至消息傳輸代理555。
在方框645處,處理結束。此時已為掃描消息的利用。如果所述消息的任何部分已被封裝,則所述消息已被解封裝。如果所述消息已被一次或多次壓縮,則所述消息已被一次或多次解壓縮。對於利用的掃描已發生在所述消息上。如果發現利用,則它們已被隔離和/或選擇性地被從所述消息去除。所述消息或清理後的消息隨後被轉發至接收者。可能會為每個所接收消息重複上述過程。
本發明的各個實施例可能會被實施為計算機實施步驟的序列或在計算系統上運行的程序模塊和/或所述計算系統內的互連機器邏輯電路或電路模塊。對於所述實施方式的選擇取決於實施本發明的計算系統的性能要求。對於本公開,本領域技術人員應當認識到的是,所公開的各個實施例的功能與操作可能被實施在軟體、固件、專用數字邏輯或是其任何組合內,這並不背離本發明的精神或範圍。
上述技術規範、實例與數據提供了製造和使用本發明部分的充分描述。由於可在並不背離本發明精神和範圍的情況下實施本發明的多種實施例,所以本發明歸屬於所附權利要求書。
權利要求
1.一種用於為連接至網絡的設備提供利用保護的系統,包括(a)接收消息的內容過濾器,所述消息指向至少一個所述設備,並包括標題、正文和附件,其中所述內容過濾器確定在所述系統接收該消息之前,已經封裝所述附件,並對所述附件解封裝;(b)解壓縮組件,其耦合至所述內容過濾器,並在所述附件被壓縮時執行對於所述附件的至少一種解壓縮;(c)掃描器組件,其耦合至所述的解壓縮組件,並確定所述標題和正文中的至少一個是否包括利用;(d)隔離組件,其耦合至所述掃描器組件,並在所述消息包括利用時保持所述消息;以及(e)用於接收指向所述網絡的消息的設備,所述設備至少使用所述掃描器組件向至少一個所述消息提供利用保護。
2.根據權利要求1的系統,其中所述標題包括具有已定義大小的欄位,且在所述欄位內數據的大小不同於所定義大小時,所述掃描器確定所述標題包括所述利用。
3.根據權利要求1的系統,其中所述掃描器組件還確定所述附件是否包括利用。
4.根據權利要求3的系統,還包括客戶機,所述客戶機自動將更新應用於所述內容過濾器、解壓縮組件、掃描器組件以及隔離組件中的至少一個,以便能夠檢測至少一種利用。
5.根據權利要求4的系統,其中所述客戶機通過輪詢與利用保護軟體的銷售商相關的伺服器來確定何時可以得到更新。
6.根據權利要求5的系統,其中所述客戶機自動檢索所述的可得到的更新。
7.根據權利要求4的系統,其中所述掃描器組件使用至少兩個獨立的利用保護應用程式,以確定所述附件是否包括利用。
8.根據權利要求1的系統,其中所述內容過濾器、解壓縮組件、掃描器組件以及隔離組件中的每一個都被以軟體形式實現。
9.根據權利要求1的系統,其中所述內容過濾器、解壓縮組件、掃描器組件以及隔離組件都被包含在防火牆、路由器、交換機以及業務管理器中的至少一個內。
10.根據權利要求1的系統,其中所述的封裝包括通用網際網路函件擴充服務(MIME)、Base 64編碼和未編碼中的至少一種。
11.根據權利要求1的系統,其中所述隔離組件從所述消息中去除所述利用,並將所述消息向該消息的接收者轉發。
12.一種用於向連接至網絡的設備提供利用保護的方法,包括(a)在節點處接收消息,所述節點接收指向任何一個所述設備的消息,並在將所述消息向至少一個所述設備轉發之前,引起對所述消息的利用的掃描,其中所述消息包括標題以及正文和附件中的至少一個;(b)確定所述標題和正文中的至少一個是否包括所述利用;以及(c)在所述消息的所述標題和正文中的至少一個包括所述利用時,隔離所述消息。
13.根據權利要求12的方法,還包括(a)在所述附件被封裝時,將所述附件解封裝;以及(b)在所述附件被壓縮時,至少一次解壓縮所述附件。
14.根據權利要求13的方法,還包括去除所述利用,並向至少一個所述設備轉發所述消息。
15.根據權利要求13的方法,其中所述標題包括具有一個確定的大小的欄位,並且在所述欄位內數據的大小不同於所規定的大小時,所述標題包括所述利用。
16.根據權利要求13的方法,還包括確定所述附件是否包括利用。
17.根據權利要求16的方法,其中使用至少來自兩個銷售商的利用保護軟體來確定所述附件是否包括利用。
18.根據權利要求13的方法,其中至少使用通用網際網路函件擴充服務(MIME)、Base 64編碼和未編碼中的一種來封裝所述附件。
19.一種用於向連接至網絡的設備提供利用保護的系統,包括(a)用於接收包括標題以及正文和附件中至少一個的消息的裝置;(b)用於確定所述附件是否被封裝,並在所述附件被封裝時將所述附件解封裝的裝置;(c)用於在所述附件被壓縮時至少一次解壓縮所述附件的裝置;(d)用於確定所述標題和正文中的至少一個是否包括利用的裝置;以及(e)用於在所述消息包括所述利用時隔離所述消息的裝置。
全文摘要
一種用於向連接至網絡(500)的設備提供利用保護的方法與系統。所述方法和系統包括用於確定封裝是否已被應用於附件並將封裝的附件解封裝的組件(520)、在所述附件被壓縮時執行所述附件的至少一種解壓縮的組件(525)、確定消息的標題、正文和/或附件是否包括利用的組件、保持並選擇性地清除包括利用的消息的組件。一種接收指向所述網絡的消息的設備使用上述組件以向至少一個上述消息提供利用保護。
文檔編號H04L12/58GK1509438SQ02810143
公開日2004年6月30日 申請日期2002年4月12日 優先權日2001年4月13日
發明者格裡高裡·J·斯密斯, 格裡高裡 J 斯密斯 申請人:諾基亞公司