專利名稱:對不需要的軟件或惡意軟件進行分類的系統和方法
技術領域:
本發明一般地涉及識別惡意活動,更具體地說,涉及一種通過識別加密數據通信對不需要的軟件或惡意軟件進行分類的系統和方法。
背景技術:
惡意軟件-由惡意和軟件這兩個單詞混合而成單詞-是被設計為在未經主人知情同意的情況下滲透或損害計算機系統的軟件。此表述是計算機專業人士用于表示各種形式的惡意的、侵入的或煩人的軟件或程序代碼的統稱。許多計算機用戶對于該術語不了解,經常使用“計算機病毒”指代包括真正病毒在內的所有類型的惡意軟件。軟件是根據創建者的主觀意圖而非任何特殊的特征被視為惡意軟件的。惡意軟件包括計算機病毒、蠕蟲、特洛伊木馬、多數內核級后門(root kit)、間諜軟件、欺詐廣告軟件、犯罪軟件和其他惡意和不需要的軟件。惡意軟件與具有合法用途但包含有害漏洞的缺陷軟件不同。包括第一個因特網蠕蟲和一些MS-DOS病毒在內的許多早期傳染性程序的編寫只是為了進行試驗或惡作劇,一般不以侵害為目的,或者僅為了給人造成麻煩,而不是為了給計算機造成嚴重損害。但是,由于廣泛的寬帶互聯網訪問的增加,有人開始設計以盈利為目的惡意軟件,其中或多或少帶些違法(強制廣告)犯罪的動機。例如,自2003年起,設計出了大量廣泛傳播的病毒和蠕蟲來控制用戶計算機以實現惡意侵占。受感染的“僵尸計算機”被用于發送垃圾電子郵件、成為非法數據的宿主,或作為一種敲詐形式參與分布式拒絕服務攻擊。另一種完全趨利的惡意軟件以間諜軟件的形式出現,例如,被設計為監視用戶的 Web瀏覽、顯示未經請求發送的廣告,或將聯盟營銷收益轉移到間諜軟件創建者的程序。間諜軟件程序不像病毒那樣傳播,它們一般利用安全漏洞進行安裝,或者與用戶安裝的軟件打包在一起,例如點對點應用。間諜軟件和廣告程序經常會安裝很多進程,以至于受感染的機器變得不穩定,從而改變了攻擊的初衷。最知名類型的惡意軟件、病毒和蠕蟲是以其傳播方式而非任何其他特殊的行為被人所知。術語“計算機病毒”用于表示已經感染某些可執行軟件并導致所述軟件在運行時將病毒傳播給其他可執行軟件的程序。病毒還可以包含執行其他操作(通常是惡意的)的有效負載。另一方面,蠕蟲是通過網絡主動傳播自己以感染其他計算機的程序。蠕蟲也可攜帶有效負載。在上世紀八十年代和九十年代,經常理所當然地認為惡意程序以破壞或惡作劇的形式創建(盡管有些病毒的傳播只是使用戶不再進行非法軟件交換)。最近,更多惡意軟件程序的編寫帶有經濟動機或利益動機在內。可以認為惡意軟件的作者選擇通過控制受感染的系統賺錢將這種控制轉化為收益來源。自大約2003年起,就恢復所花費的時間和金錢而言,最昂貴的惡意軟件形式是被稱為間諜軟件的寬泛型軟件。間諜軟件程序是一款商業產品,其目的是為了間諜軟件創建者的經濟利益收集有關計算機用戶的信息、向用戶顯示彈出廣告,或者改變Web瀏覽器行為。例如,有些間諜軟件程序將搜索引擎結果重定向到付費廣告。通常被媒體稱為“竊取軟件”的其他間諜軟件通過覆蓋聯盟營銷代碼,使得收入流向間諜軟件的創建者,而非預定接收者。為了協調許多受感染計算機的活動,攻擊者使用被稱為僵尸網絡的協調系統。在僵尸網絡的情況下,惡意軟件或malbot登錄到互聯網中繼聊天通道或其他聊天系統。攻擊者然后可以同時向所有受感染的系統發出指令。僵尸網絡還可以用于將升級后的惡意軟件推入受感染系統,使這些軟件不受反病毒軟件或其他安全措施的制約。當惡意軟件攻擊變得更頻繁時,注意力已經從病毒和間諜軟件防護轉移到惡意軟件防護,并且開發出專門抗擊這些惡意軟件的程序。目前的反惡意軟件程序可以通過兩種方式抗擊惡意軟件。首先,反惡意軟件程序可以提供實時保護來防止在用戶的計算機上安裝惡意軟件。此類間諜軟件防護與反病毒防護的工作方式相同,因為反惡意軟件的軟件掃描所有入站網絡數據來查看是否具有惡意軟件并阻止其碰到的任何威脅。其次,反惡意軟件的軟件程序可以專門用于檢測和刪除已經安裝在用戶計算機上的惡意軟件。此類惡意軟件防護通常更易于使用并且更流行。此類反惡意軟件的軟件掃描Windows注冊表的內容、 操作系統文件和計算機上已安裝的程序,并且會提供所找到的任何威脅的列表,從而允許用戶選擇需要刪除的內容和需要保留的內容,或者將該列表與已知惡意軟件組件列表進行比較,刪除匹配的文件。但是,企業內的現代惡意軟件和其他未授權軟件通常依賴加密通信發送它們的命令和控制或識別點對點網絡應用(例如,Skype 、文件共享等)的分布節點。(Skype是 Skype Limited或其他聯營公司在美國和/或其他國家/地區的注冊商標)。在密碼學中, 加密是使用算法(稱為密碼)變換信息(被稱為明文),使得除了擁有特殊知識(一般稱為密鑰)的人士以外的任何人無法讀取該信息的過程。所述過程的結果為加密后的信息(在密碼學中,被稱為密文)。在許多上下文中,單詞“加密”也隱含地指逆過程,解密(例如,“加密軟件” 一般也可執行解密),以使加密后的信息再次可讀(即,使該信息成為非加密的)。因為這些惡意軟件通信和其他未授權軟件通信被加密,所以一般不可能調查被發送的實際數據。因此,當惡意軟件使用加密通信時,從防護角度來看,當前將重點放在這些協議內的數據簽名匹配的惡意軟件檢測技術仍有不足。因此,惡意軟件對于例如計算機用戶和/或服務提供者而言仍是一個現實的問題。相應地,在本領域中仍需要克服上述缺陷和限制。
發明內容
在本發明的第一方面,在計算機基礎設施內實現一種用于識別惡意軟件通信或未授權軟件通信的方法。所述方法包括檢測加密通信和確定所述加密通信的標識數據。此外, 所述方法包括將所檢測的加密通信與針對使用所述標識數據的加密通信獲得授權的應用的列表和使用所述標識數據的加密通信的授權目的地的列表中的至少一個相比較。另外, 所述方法包括響應于確定以下項中的至少一個,將所檢測的加密通信識別為未授權加密通信根據所述比較,所檢測的加密通信來自不在針對加密通信獲得授權的應用的列表中的未授權應用;以及所檢測的加密通信去往不在授權目的地的列表中的未授權目的地。
在本發明的另一方面,計算機系統包括存儲設備、存儲器和中央處理單元。此外, 所述計算機系統包括第一程序指令,用于檢測加密通信;以及第二程序指令,用于確定所述加密通信的標識數據。另外,所述計算機系統包括第三程序指令,用于將所述加密通信與針對加密通信獲得授權的應用的列表和使用所述標識數據的加密通信的授權目的地的列表中的至少一個相比較。此外,所述計算機系統包括第四程序指令,用于響應于確定以下項中的至少一個,將所述加密通信識別為未授權加密通信根據將所述加密通信與所述針對加密通信獲得授權的應用的列表的比較,所述加密通信來自不在所述針對加密通信獲得授權的應用的列表中的未授權應用;以及根據將所述加密通信與所述加密通信的授權目的地的列表的比較,所述加密通信去往不在所述加密通信的授權目的地的列表中的未授權目的地。此外,所述第一、第二、第三和第四程序指令存儲在所述存儲設備中,以便由所述中央處理單元通過所述存儲器來執行。在本發明的又一方面,提供了包括其中包含可讀程序代碼的計算機可用存儲介質的計算機程序產品。所述計算機程序產品包括至少一個可操作以接收針對加密通信獲得授權的應用的列表和加密通信的授權目的地的列表中的至少一個的組件。此外,所述計算機基礎設施可操作以確定所述加密通信的標識數據。另外,所述計算機基礎設施可操作以將所檢測的加密通信與針對使用所述標識數據的加密通信獲得授權的應用的列表和使用所述標識數據的加密通信的授權目的地的列表中的至少一個相比較。此外,所述計算機基礎設施可操作以響應于確定以下項中的至少一個,將所述加密通信識別為未授權加密通信并阻止所檢測的加密通信根據所述比較,所檢測的加密通信來自不在針對加密通信獲得授權的應用的列表中的未授權應用;以及所檢測的加密通信去往不在加密通信的授權目的地的列表中的未授權目的地。此外,所述計算機基礎設施可操作以響應于在符合下列條件時, 將所檢測的加密通信識別為授權加密通信并允許所檢測的加密通信根據所述比較,確定所檢測的加密通信來自在針對加密通信獲得授權的應用的列表中的授權應用;以及根據所述比較,確定所檢測的加密通信去往在加密通信的授權目的地的列表中的授權目的地。
通過本發明的示意性實施例的非限制性實例,參考所示的多個附圖在以下詳細說明中對本發明進行了描述,這些附圖是圖1示出了用于實現根據本發明的步驟的示例性環境;圖2示出了根據本發明的各方面的通過識別加密數據通信對不需要的軟件或惡意軟件進行分類的示意性流程;以及圖3示出了根據本發明的各方面的通過識別加密數據通信對不需要的軟件或惡意軟件進行分類的示意性流程。
具體實施例方式本發明一般地涉及識別惡意活動,更具體地說,涉及一種通過識別加密數據通信對不需要的軟件或惡意軟件進行分類的系統和方法。企業內的惡意軟件和其他未授權軟件 (例如,桌面級和/或服務器級)通常依賴加密通信發送它們的命令和控制或識別點對點網絡應用的分布節點。也就是說,為了不被檢測到,惡意軟件使用加密來隱藏其通信內容。這
6些加密通信可以在任何時間,在任何端口上出現任何長度的時間。但是,組織一般了解企業內部署的以加密方式通信的授權應用。也就是說,組織知道針對加密通信獲得授權的應用以及加密通信的標識數據,例如,那些授權應用使用的加密通信類型(例如,散列和/或RSA加密)、發送和接收通信的源端口號和目的地端口號和 /或發出或發起通信的網際協議(IP)地址。根據本發明的各方面,可以通過動態地識別任何加密通信并將這些加密通信與已知或授權的應用相關聯來阻止與惡意軟件和未授權軟件部署關聯的不需要的加密通信。如果任何加密通信未與已知或授權應用關聯,則本發明可操作以將所述加密通信識別為與惡意軟件和/或未授權軟件關聯。此外,本發明可操作以阻止與惡意軟件和/或未授權軟件關聯的加密通信。通過實現本發明,可以通過動態地識別任何加密通信并將這些加密通信與已知或授權應用進行關聯來阻止與惡意軟件部署和未授權軟件部署關聯的不需要的加密通信。此外,通過實現本發明,可以減少惡意軟件和/或未授權軟件對系統造成的損害。實現本發明還可以減少在解決惡意軟件部署和/或未授權軟件部署時的資源消耗。如本領域的技術人員將理解的,本發明可以體現為系統、方法或計算機程序產品。 因此,本發明可以采取完全硬件實施例、完全軟件實施例(包括固件、駐留軟件、微代碼等) 或組合了在此全部統稱為“電路”、“模塊”或“系統”的硬件和軟件方面的實施例的形式。此外,本發明可以采取體現在任何有形表達式介質(其中包含計算機可用程序代碼)中的計算機程序產品的形式。可以使用一個或多個計算機可用或計算機可讀介質的任意組合。所述計算機可用或計算機可讀介質可以例如是但不限于電、磁、光、電磁、紅外線或半導體系統、裝置、設備或傳播介質。計算機可讀介質的更具體的實例(非窮舉列表)將包括以下項具有一條或多條線的電連接,便攜式計算機盤,硬盤,隨機存取存儲器(RAM),只讀存儲器(ROM),可擦寫可編程只讀存儲器(EPR0M或閃存),光纖,便攜式光盤只讀存儲器(⑶ROM),光存儲設備,諸如支持因特網或企業內部網的介質之類的傳輸介質,和/或磁存儲設備。在本文的上下文中,計算機可用或計算機可讀存儲介質可以是任何能夠包含、存儲、傳送、傳播或傳輸由指令執行系統、裝置或設備使用或與所述指令執行系統、裝置或設備結合的程序的介質。所述計算機可用介質可以包括其中包含計算機可用程序代碼(例如,位于基帶中或作為載波的一部分)的傳播數據信號。所述計算機可用程序代碼可以使用任何適當的介質進行傳輸,其中包括但不限于無線、有線、光纜、射頻等。用于執行本發明的操作的計算機程序代碼可以使用包含一種或多種編程語言的任意組合來編寫,所述編程語言包括諸如Java、Smalltalk, C++或類似的語言之類的面向對象的編程語言以及諸如“C”編程語言或類似的編程語言之類的常規過程編程語言。所述程序代碼可以完全地在用戶計算機上、部分地在用戶計算機上、作為單獨的軟件包、部分地在用戶計算機上并部分地在遠程計算機上或完全地在遠程計算機或服務器上執行。在后者的情況中,所述遠程計算機可以通過任何類型的網絡(包括局域網(LAN)或廣域網(WAN)) 與所述用戶計算機相連,或者可以進行與外部計算機的連接(例如,利用因特網服務提供商并通過因特網)。圖1示出了用于管理根據本發明的過程的示例性環境10。在此方面,環境10包括可以執行此處所述的過程的服務器或其他計算系統12。具體地說,服務器12包括計算設備 14。計算設備14可以駐留在網絡基礎設施上,也可以是第三方服務提供者的計算設備(圖 1中總體上示出了它們中的任意一種)。計算設備14包括加密通信檢測(EOT)工具30。E⑶工具30可操作以接收針對加密通信獲得授權的應用的列表、檢測加密通信、將所檢測的加密通信與針對加密通信獲得授權的應用的列表進行比較、判定所檢測的加密通信是否在針對加密通信獲得授權的應用的列表上、當所檢測的加密通信在針對加密通信獲得授權的應用的列表上時允許所檢測的加密通信,以及當所檢測的加密通信不在針對加密通信獲得授權的應用的列表上時阻止所檢測的加密通信,例如,此處所述的過程。E⑶工具30可以作為存儲器22k中存儲的程序控件44中的一個或多個程序代碼被實現為單獨模塊或組合模塊。計算設備14還包括處理器20、存儲器22A、I/0接口 M和總線26。存儲器22A可以包括在程序代碼的實際執行期間采用的本地存儲器、大容量存儲裝置以及提供至少某些程序代碼的臨時存儲以減少必須在執行期間從大容量存儲裝置檢索代碼的次數的高速緩沖存儲器。此外,所述計算設備包括隨機存取存儲器(RAM)、只讀存儲器(ROM)和CPU。計算設備14與外部I/O設備/資源觀以及存儲系統22B進行通信。例如,I/O設備觀可以包括任何允許用戶與計算設備14交互的設備或任何允許計算設備14使用任意類型通信鏈路與一個或多個其他計算設備進行通信的設備。外部I/O設備/資源觀可以例如是手持設備、PDA、手機、鍵盤等。—般而言,處理器20執行可以存儲在存儲器22A和/或存儲系統22B中的計算機程序代碼(例如,程序控件44)。此外,根據本發明的各方面,包含程序代碼的程序控件44 控制E⑶工具30。在執行計算機程序代碼時,處理器20可以將數據寫入存儲器22A、存儲系統22B和/或I/O接口 M和/或從存儲器22A、存儲系統22B和/或I/O接口 M讀取數據。程序代碼執行本發明的過程。總線沈提供計算設備14中的每個組件之間的通信鏈路。計算設備14可以包括任何能夠執行在其上安裝的計算機程序代碼的通用計算制品(例如,個人計算機、服務器等)。但是,應該理解,計算設備14僅是可以執行此處所述的過程的各種可能等效計算設備的代表。在此方面,在各實施例中,計算設備14所提供的功能可以由包括通用和/或專用硬件和/或計算機程序代碼的任意組合的計算制品實現。在每個實施例中,可以分別使用標準編程和工程技術創建所述程序代碼和硬件。類似地,計算基礎設施12僅是用于實現本發明的各種計算機基礎設施類型的示例。例如,在各實施例中,服務器12包括兩個或更多個計算設備(例如,服務器群集),所述計算設備通過諸如網絡、共享存儲器之類的任意類型的通信鏈路進行通信以執行此處所述的過程。此外,在執行此處所述的過程時,服務器12上的一個或多個計算設備可以使用任意類型的通信鏈路與服務器12外部的一個或多個其他計算設備進行通信。所述通信鏈路可以包括有線和/或無線鏈路的任意組合;一個或多個網絡類型(例如,因特網、廣域網、局域網、虛擬專用網等)的任意組合;和/或使用傳輸技術和協議的任意組合。在各實施例中,諸如、Solution htegrator之類的服務提供商可以提供執行此處所述的過程的服務。在這種情況下,服務提供商可以為一個或多個客戶創建、維護、部署、支持執行本發明的過程步驟的計算機基礎設施。這些客戶可以例如是任何使用技術的企業。 作為回報,服務提供商可以根據訂閱和/或付費協議從客戶(多個)處收取費用,以及/或者服務提供商可以通過將廣告內容銷售給一個或多個第三方來收取費用。在給定組織內,可以僅允許指定的應用加密(入站和出站)通信,這可以例如由網絡管理員或系統管理員定義。根據本發明的各方面,加密通信檢測(ECD)工具30檢測加密連接和加密通信并將所檢測的加密通信與被允許加密(入站和出站)通信的指定應用的列表進行比較。如果ECD工具30檢測到不在指定應用的列表中的應用的加密通信(即,未授權加密通信),則E⑶工具30可操作以識別未授權加密通信,并在各實施例中拒絕或阻止所述未授權加密通信。根據本發明的進一步方面,當在網絡上觀察到分組時,E⑶工具30可以使用多種數學和分析方法中的一種或多種識別網絡通信是否被加密,如本領域中的技術人員將理解的。通過記錄諸如源、目的地、發生這些加密通信的源端口和目的地端口的詳細信息之類的標識數據(還包含其他標識數據),E⑶工具30可操作以將授權加密應用通信和受信網絡與未知的和可能的未授權惡意軟件應用通信區分開。例如,E⑶工具30可操作以識別標識數據,例如,所檢測的通信的加密類型(例如, 散列和/或RSA,另外還包含其他加密類型)、發生所檢測的通信的端口號(例如,源端口號和目的地端口號),以及/或者目的地主機的標識,另外還包含其他標識數據。此外,在各實施例中,應用可以通過特定的端口號打開例如安全HTTPS連接,這可能妨礙檢測加密類型。 因此,在各實施例中,本發明構想了 ECD工具30可以使用發生所檢測的通信的端口號(例如,源端口號和目的地端口號)和/或目的地主機的標識來識別未授權加密通信。在各實施例中,E⑶工具30可以將標識數據,例如已記錄的所檢測加密通信的加密類型、發生這些加密通信的源端口和目的地端口和/或目的地主機的詳細信息存儲在數據庫(例如,圖1中的存儲系統22B)中。在各實施例中,該數據庫包括已記錄的授權加密通信(例如,最初由ECD工具30從例如網絡管理員或系統管理員處接收)的詳細信息。此外,所述數據庫可以包括已被識別為授權加密通信的每個所檢測加密通信的標識數據,例如由E⑶工具30所檢測的已記錄信息。根據本發明的各方面,ECD工具30可操作以將所檢測的加密通信與數據庫(例如, 圖1中的存儲系統22B)中包含的使用所述標識數據的授權加密通信的列表進行比較。在各實施例中,當執行所檢測的加密通信與授權加密通信的列表的比較時,ECD工具30可以使用所檢測的加密類型、所檢測的加密通信的源和/或目的地、所檢測的加密通信的源和/ 或目的地端口號和/或所檢測的目的地主機作為標識數據。當觀察到要發送未授權加密應用時,ECD工具30將識別未授權通信并在各實施例
9中,將拒絕或阻止未授權加密通信。此外,在各實施例中,當檢測到未授權加密通信時,ECD 工具30可觸發對用戶(例如,對網絡或服務器管理員和/或桌面用戶)的警報,而不是自動拒絕未授權加密通信。用戶然后可以確定針對所檢測的未授權加密通信的正確操作過程, 例如,拒絕所檢測的未授權加密通信或將發送所檢測的加密通信的應用識別為被授權(例如,將發送所檢測的加密通信的應用添加到針對加密通信獲得授權的應用的列表)。此外,在各實施例中,當判定是否拒絕不知是否有權發出加密連接的應用所發出的加密連接時,ECD工具30還可考慮應用(不在針對加密通信獲得授權的指定應用的列表中)是否位于受信網絡上,例如是否位于同一子網。也就是說,如果不知是否有權發出加密連接的應用位于受信網絡上(例如,位于同一子網),則不知是否有權發出加密連接的應用實際可以是合法(例如,非惡意軟件)應用。因此,在各實施例中,E⑶工具30可以向用戶 (例如,服務提供商或網絡管理員)提供應用可能是惡意軟件的指示,并允許用戶采取適當的操作(例如,拒絕所述應用),或指示應用應在被允許加密(入站和出站)通信的指定應用的列表中。另外,在進一步的實施例中,如果不知是否有權發出加密連接的應用位于受信網絡上,則ECD工具30可自動將所述應用添加到針對加密通信獲得授權的應用的列表。根據本發明的進一步的方面,在各實施例中,ECD工具30可操作以使用有關加密業務目的地的信息作為評估準則。例如,如果ECD工具30識別到業務被加密(或可能被加密)并且E⑶工具30識別到該業務的目的地是已知為組織一般無法處理的點對點網絡(例如,在國外)的一部分的主機,則ECD工具30可操作以將所述業務識別為未授權惡意軟件應用通信。此外,在各實施例中,E⑶工具30可操作以將業務的目的地與潛在不期望的和/ 或未授權的目的地(例如,已知屬于土耳其互聯網服務提供商(ISP)的網際協議(IP)地址的網絡地址段具有50%的僵尸網絡感染率)的列表進行比較,所述列表可以存儲在數據庫 (例如,圖1中的存儲系統22B)中。如果ECD工具30判定識別的業務目的地位于潛在不期望的目的地的列表中,則ECD工具30可操作以將所述業務識別為未授權惡意軟件應用通根據本發明的進一步的實施例,除了數據庫中存儲的針對加密通信獲得授權的應用的列表和潛在不期望的目的地的列表以外,在各實施例中,ECD工具30可操作以存儲針對加密通信未獲授權的應用的列表和潛在期望的目的地的列表。也就是說,在各實施例中, 所述數據庫可以包含針對加密通信獲得授權的應用的列表,并且還可以包括針對加密通信未獲授權的應用的單獨列表。此外,在各實施例中,所述數據庫可以包含潛在不期望的目的地的列表,并且還可以包括潛在期望的目的地的列表。因此,在此示意性實施例中,一旦檢測到未授權加密通信(或未授權目的地),E⑶工具30就可操作以將所述未授權加密通信的標識數據添加到數據庫,以便例如幫助檢測未授權加密通信。圖2和3示出了用于執行本發明的各方面的示意性流程。例如,圖2和3中的步驟可以在圖1的環境中實現。流程圖可以等同地表示本發明的高級方塊圖。圖2和3中的流程圖和/或方塊圖示出了根據本發明的各種實施例的系統、方法和計算機程序產品的可能實施方式的架構、功能和操作。在此方面,所述流程圖或方塊圖中的每個方塊都可以表示模塊、段或代碼部分,它們包括用于實現指定的邏輯功能(多個)的一個或多個可執行指令。 還應指出,在某些備選實施方式中,在方塊中說明的功能可以不按圖中說明的順序發生。例如,示為連續的兩個方塊可以實際上被基本同時地執行,或者某些時候,取決于所涉及的功能,可以以相反的順序執行所述方塊。每個流程圖的每個方塊以及流程圖的組合可以由執行指定功能或操作的基于專用硬件的系統或專用硬件和計算機指令和/或軟件的組合來實現,如上所述。此外,所述流程圖的步驟可以從客戶機服務器關系中的服務器實現和執行,或者可以在將操作信息傳遞給用戶工作站的情況下在用戶工作站上運行。在一個實施例中,軟件元素包括固件、駐留軟件、微代碼等。此外,本發明可以采取可從計算機可用或計算機可讀介質訪問的計算機程序產品的形式,所述計算機可用或計算機可讀介質提供由計算機或任何指令執行系統使用或與所述計算機或任何指令執行系統結合的程序代碼。所述軟件和/或計算機程序產品可以在圖 1的環境中實現。為了此說明的目的,計算機可用或計算機可讀介質可以是任何能夠包含、 存儲、傳送、傳播或傳輸由指令執行系統、裝置或設備使用或與所述指令執行系統、裝置或設備結合的程序的裝置。所述介質可以是電、磁、光、電磁、紅外線或半導體系統(或裝置或設備)或傳播介質。計算機可讀存儲介質的實例包括半導體或固態存儲器、磁帶、可移動計算機盤、隨機存取存儲器(RAM)、只讀存儲器(ROM)、硬磁盤和光盤。光盤的當前實例包括光盤-只讀存儲器(CD-ROM)、光盤-讀/寫存儲器(CD-R/W)和DVD。圖2示出了用于執行本發明的各方面的示意性流程200。如圖2所示,在步驟205, ECD工具從例如網絡管理員或用戶處接收針對加密通信獲得授權的應用的列表。在各實施例中,ECD工具可以將針對加密通信獲得授權的應用的列表存儲在數據庫(例如,圖1中的存儲系統22B)中。在步驟210,E⑶工具檢測加密通信。如上所述,如本領域中的技術人員將理解的, 當在網絡上觀察到分組時,ECD工具可以使用多種常見數學和分析方法中的一種或多種檢測加密通信,以便識別網絡通信是否被加密。在步驟215,ECD工具將所檢測的加密通信與針對加密通信獲得授權的應用的列表進行比較。在步驟220,ECD工具判定所檢測的加密通信是否在針對加密通信獲得授權的應用的列表中。如果在步驟220,ECD工具判定所檢測的加密通信在針對加密通信獲得授權的應用的列表中,則在步驟225,ECD工具允許所檢測的加密通信繼續。在可選步驟M5, ECD工具將所檢測的加密通信的標識數據存儲到數據庫(例如,圖1中的存儲系統)中。如果在步驟220,ECD工具判定所檢測的加密通信不在針對加密通信獲得授權的應用的列表中,則過程繼續到可選步驟230。在可選步驟230,E⑶工具判定所檢測的加密通信是否在受信網絡上。如果在步驟 230,E⑶工具判定所檢測的加密通信在受信網絡上,則在可選步驟235,E⑶工具將與所檢測的加密通信關聯的應用添加到針對加密通信獲得授權的應用的列表。在可選步驟235之后,所述過程繼續到步驟225,其中ECD工具允許所檢測的加密通信。如果在步驟230,ECD 工具判定所檢測的加密通信不在受信網絡上,則在步驟對0,ECD工具阻止所檢測的加密通信。在可選步驟250,ECD工具將所檢測的加密通信的標識數據存儲到數據庫(例如,圖1 中的存儲系統)中。將理解的是,步驟230、235、245和250的虛線指示,在各實施例中,步驟230、235、 245和250是可選步驟。另外應理解,如果E⑶工具不執行可選步驟230和235,并且在步驟220,ECD工具判定所檢測的加密通信不在針對加密通信獲得授權的應用的列表中,則所述過程直接繼續到步驟M0。另外,盡管圖2中未示出,但是下面在圖3中示出了,在進一步的實施例中,一旦 E⑶工具在步驟230判定所檢測的加密通信在受信網絡上,E⑶工具就可向用戶(例如,網絡管理員或本地操作員)提供執行步驟235的選項。也就是說,在各實施例中,ECD工具可向用戶提供執行步驟235的選項,而不是ECD工具自動執行步驟235。如果ECD工具收到不執行步驟235的指示,則對于此示意性實施例,所述過程將繼續到步驟M0,其中ECD工具阻止所檢測的加密通信。圖3示出了用于執行本發明的各方面的示意性流程300。如圖3所示,在步驟305, 用戶(例如,本地操作員、系統管理員或網絡管理員)將針對加密通信獲得授權的應用的列表發送給E⑶工具。在步驟310,用戶發送加密通信。在步驟315,如上所述,E⑶工具判定所檢測的加密通信是否在針對加密通信獲得授權的應用的列表中。如果在步驟315允許所檢測的加密通信,則在步驟330,用戶接收加密通信。如果在步驟315,不允許所檢測的加密通信,則在步驟320,ECD工具判定所檢測的加密通信是否在受信網絡上。如果在步驟320,ECD工具判定所檢測的加密通信不在受信網絡上,則在步驟340,用戶不接收所檢測的加密通信。如果在步驟320,ECD工具判定所檢測的加密通信在受信網絡上,則在可選步驟325,用戶判定是否將所檢測的加密通信添加到針對加密通信獲得授權的應用的列表。如果在可選步驟325,用戶判定將所檢測的加密通信添加到針對加密通信獲得授權的應用的列表,則在步驟328,所檢測的加密通信被添加到針對加密通信獲得授權的應用的列表,并且在步驟330,用戶接收所檢測的加密通信。如果在可選步驟325,用戶判定不將所檢測的加密通信添加到針對加密通信獲得授權的應用的列表,則在步驟340,用戶不接收所檢測的加密通信。將理解的是,步驟325的虛線指示,在各實施例中,步驟325是可選步驟。此外應理解,如果用戶不執行可選步驟325,并且在步驟320,ECD工具判定所檢測的加密通信在受信網絡上,則所述過程直接繼續到步驟328。在此使用的術語僅出于描述特定實施例的目的,并非對本發明進行限制。如在此使用的,單數形式“一”、“一個”和“所述”旨在同樣包括復數形式,除非上下文另外明確指出。還將理解,當在本說明書中使用時,術語“包括”和/或“包含”指定存在所聲明的特性、 整數、步驟、操作、元素和/或組件,但并不排除存在或增加一個或多個其他特性、整數、步驟、操作、元素、組件和/或它們的組合。權利要求書中的對應結構、材料、操作以及所有功能性限定的裝置或步驟的等同物(如果適用)旨在包括任何用于與在權利要求書中具體指出的其它元素相組合地執行該功能的結構、材料或操作。所給出的對本發明的描述其目的在于示意和描述,并非是窮盡性的,也并非是要把本發明限定到所表述的形式。對于所屬技術領域的普通技術人員來說,在不偏離本發明范圍和精神的情況下,顯然可以作出許多修改和變型。對實施例的選擇和說明,是為了最好地解釋本發明的原理和實際應用,使所屬技術領域的普通技術人員能夠明了,本發明可以有適合所要的特定用途的具有各種改變的各種實施例。因此,盡管通過實施例對本發明進行了描述,但是本領域的技術人員將認識到,本發明在實施中可以做出修改并且其在所附權利要求書的精神和范圍中。
權利要求
1.一種在計算機基礎設施內實現的用于識別惡意軟件或未授權軟件通信的方法,所述方法包括檢測加密通信;確定所述加密通信的標識數據; 將所檢測的加密通信與以下項中的至少一個相比較 針對使用所述標識數據的加密通信獲得授權的應用的列表;以及使用所述標識數據的加密通信的授權目的地的列表;響應于確定以下項中的至少一個,將所檢測的加密通信識別為未授權加密通信 根據所述比較,所檢測的加密通信來自不在針對加密通信獲得授權的應用的列表中的未授權應用;以及所檢測的加密通信去往不在授權目的地的列表中的未授權目的地。
2.如權利要求1中所述的方法,還包括阻止所述未授權加密通信。
3.如權利要求1或2中所述的方法,還包括當符合下列條件時,將所檢測的加密通信識別為授權加密通信根據所述比較,所檢測的加密通信來自在針對加密通信獲得授權的應用的列表中的授權應用;以及根據所述比較,所檢測的加密通信去往在加密通信的授權目的地的列表中的授權目的地。
4.如權利要求3中所述的方法,還包括允許所述授權加密通信。
5.如任一上述權利要求中所述的方法,還包括接收所述針對加密通信獲得授權的應用的列表和所述授權目的地的列表中的至少一個。
6.如任一上述權利要求中所述的方法,還包括將所述針對加密通信獲得授權的應用的列表和所述授權目的地的列表中的至少一個存儲在數據庫中。
7.如任一上述權利要求中所述的方法,還包括 確定所檢測的加密通信來自受信網絡上的應用;以及將所述應用添加到所述針對加密通信獲得授權的應用的列表。
8.如任一上述權利要求中所述的方法,還包括將所述未授權加密通信與惡意軟件部署和未授權軟件部署中的至少一個相關聯。
9.如任一上述權利要求中所述的方法,其中實時地執行所述檢測、比較和識別中的至少一項。
10.如任一上述權利要求中所述的方法,還包括將所檢測的加密通信被識別為未授權加密通信的信息提供給用戶;以及從所述用戶處接收執行以下操作之一的指令將發送所檢測的加密通信的未授權應用添加到所述針對加密通信獲得授權的應用的列表并允許所檢測的加密通信;以及阻止所述未授權加密通信。
11.如任一上述權利要求中所述的方法,其中所述檢測加密通信包括 觀察網絡上的一個或多個分組;以及使用一種或多種數學和分析方法將所述網絡上的所述一個或多個分組識別為所述加Sififn ο
12.如任一上述權利要求中所述的方法,其中所述加密通信的所述標識數據包括以下項中的至少一個源;目的地; 源端口號; 目的地端口號; 加密類型;以及目的地主機。
13.一種用于識別惡意軟件或未授權軟件通信的計算機系統,所述系統包括 第一程序指令,用于檢測加密通信;第二程序指令,用于確定所述加密通信的標識數據;第三程序指令,用于將所述加密通信與針對加密通信獲得授權的應用的列表和使用所述標識數據的加密通信的授權目的地的列表中的至少一個相比較;第四程序指令,用于響應于確定以下項中的至少一個,將所述加密通信識別為未授權加密通信根據將所述加密通信與所述針對加密通信獲得授權的應用的列表的比較,所述加密通信來自不在所述針對加密通信獲得授權的應用的列表中的未授權應用;以及根據將所述加密通信與所述加密通信的授權目的地的列表的比較,所述加密通信去往不在所述加密通信的授權目的地的列表中的未授權目的地。
14.如權利要求13中所述的系統,還包括第五程序指令,用于阻止所述未授權加密通
15.如權利要求13或14中所述的系統,還包括第六程序指令,用于執行以下操作當根據將所述加密通信與所述針對加密通信獲得授權的應用的列表的比較,所述加密通信來自在所述針對加密通信獲得授權的應用的列表中的授權應用時,將所述加密通信識別為授權加密通信;以及允許所述授權加密通信。
16.如權利要求13至15中的任一權利要求中所述的系統,還包括第七程序指令,用于接收所述針對加密通信獲得授權的應用的列表并將所述針對加密通信獲得授權的應用的列表存儲在數據庫中。
17.—種包括程序代碼裝置的計算機程序,當所述程序在計算機上運行時,所述程序代碼裝置適于執行權利要求1至12中的任一權利要求的所有步驟。
全文摘要
一種在計算機基礎設施內實現的用于識別惡意軟件或未授權軟件通信的方法,所述方法包括檢測加密通信和確定所述加密通信的標識數據。此外,所述方法包括將所檢測的加密通信與針對使用所述標識數據的加密通信獲得授權的應用的列表和使用所述標識數據的加密通信的授權目的地的列表中的至少一個相比較。另外,所述方法包括響應于確定以下項中的至少一個,將所檢測的加密通信識別為未授權加密通信根據所述比較,所檢測的加密通信來自不在針對加密通信獲得授權的應用的列表中的未授權應用;以及所檢測的加密通信去往不在授權目的地的列表中的未授權目的地。
文檔編號H04L29/06GK102246490SQ200980149225
公開日2011年11月16日 申請日期2009年11月25日 優先權日2008年12月12日
發明者G·D·奧爾曼 申請人:國際商業機器公司