相關(guān)申請案
此申請案主張根據(jù)第35號美國法典第119(e)條于2014年11月25日提交申請的美國臨時專利申請案第62/083,985號以及于2015年04月14日提交申請的美國臨時專利申請案第62/147,040號的優(yōu)先權(quán),其內(nèi)容通過引用的方式并入本文整體中。
背景技術(shù):
本發(fā)明,于其一些實施例中,是有關(guān)于用于惡意連線檢測的多個系統(tǒng)及多個方法,特別是,但非專門是,有關(guān)于用于惡意通信檢測的準(zhǔn)確保證的多個系統(tǒng)及多個方法。
某些種類的惡意代碼攻擊多個計算機且使用所述主計算機以通過一網(wǎng)絡(luò)連線與多個其它服務(wù)器連接。于一示例中,所述網(wǎng)絡(luò)連線是由所述惡意代碼本身所引發(fā),例如,以傳送一被竊取的數(shù)據(jù)至一遠(yuǎn)程服務(wù)器。于另一示例中,所述惡意軟件將一代碼插入至一正當(dāng)?shù)膽?yīng)用程序,接著,所述被插入的代碼引發(fā)至一遠(yuǎn)程服務(wù)器的一連線,以傳送一被竊取的數(shù)據(jù)。
一種惡意攻擊的一示例為一先進的有針對性的攻擊(ata),所述先進的有針對性的攻擊為一復(fù)雜的攻擊,于所述復(fù)雜的攻擊中,未經(jīng)授權(quán)的一方獲得存取一網(wǎng)絡(luò)的權(quán)限,且保持長時間不被檢測到。大多數(shù)的先進的有針對性的攻擊的意圖為竊取數(shù)據(jù),而非為對所述網(wǎng)絡(luò)造成損害。多個先進的有針對性的攻擊是針對具有高價值信息的多個行業(yè)中的多個組織,所述多個行業(yè)例如為多個信用卡服務(wù)商、多個政府機關(guān),及金融服務(wù)業(yè)。
多個反先進的有針對性的攻擊的解決方案的多個示例是基于所述攻擊的檢測或所述滲透的惡意代碼的檢測。于另一示例中,多個其它的工具被設(shè)計以檢測在行動中的一不正?;驉阂饣顒?。
技術(shù)實現(xiàn)要素:
依據(jù)本發(fā)明的一些實施例的一方面,一種用于認(rèn)證由一被允許的代碼建立一網(wǎng)絡(luò)連線的一企圖的方法被提供,所述方法包含步驟:提供具有多個之前被觀測的多個堆棧跟蹤模板的一數(shù)據(jù)集,其中所述多個堆棧跟蹤模板的每一個代表在多個堆棧跟蹤中普遍存在的一堆棧跟蹤模式,其中所述多個堆棧跟蹤是通過監(jiān)控多個用戶的多個堆棧而記錄,其中所述多個用戶是在一連線建立過程中執(zhí)行一被允許的代碼,其中所述連線建立過程是用于建立與所述被允許的代碼相關(guān)的多個網(wǎng)絡(luò)連線;接收一新的堆棧跟蹤,其中所述新的堆棧跟蹤是在用于一新的網(wǎng)絡(luò)連線的一新的連線建立過程中被一新的用戶記錄;測量所述新的堆棧跟蹤與所述多個堆棧跟蹤模板之間的一相似度,以識別與一堆棧跟蹤模板的一匹配;評估所述被匹配到的堆棧跟蹤模板,以用于一被預(yù)定的規(guī)則要求;及以所述被匹配到的堆棧跟蹤模板來更新一規(guī)則集數(shù)據(jù)庫,以認(rèn)證與多個堆棧模板相關(guān)聯(lián)的多個新的網(wǎng)絡(luò)連線建立,其中所述多個堆棧模板與所述被匹配到的堆棧跟蹤模板相匹配。
可選地,所述多個堆棧跟蹤模板被指定為代表所述被允許的代碼的一可疑惡意行為。
可選地,所述多個堆棧跟蹤模板及所述新的堆棧跟蹤包括被以與所述被允許的代碼的所述堆棧跟蹤相關(guān)聯(lián)的方式收集的一上下文數(shù)據(jù),及所述相似度是依據(jù)所述上下文數(shù)據(jù)而被測量??蛇x地,所述上下文數(shù)據(jù)包括一事件識別碼及/或一主機名稱??商鎿Q地或額外地,所述上下文數(shù)據(jù)包括選自由下述組成的群組中的至少一成員:在所述個別的用戶處運行的一相似操作系統(tǒng)、一相似被允許的應(yīng)用程序、多個不同被允許的應(yīng)用程序的一相似堆棧跟蹤數(shù)據(jù),及建立所述網(wǎng)絡(luò)連線的多個相似協(xié)議。
可選地,所述方法還包含︰基于所述匹配的不存在,將所述新的堆棧跟蹤加入所述數(shù)據(jù)集成為一新的堆棧跟蹤模板。
可選地,評估所述被匹配到的堆棧跟蹤模板的步驟包含:遞增一計數(shù)器的一值,其中所述計數(shù)器指示從多個不同的用戶而來的多個之前堆棧跟蹤模板匹配;及評估所述值是否違反多個匹配的所述被預(yù)定的規(guī)則要求??蛇x地,所述多個不同的用戶為一相同被指定的群組的一部分。
可選地,當(dāng)所述被匹配到的堆棧跟蹤模板及所述新的堆棧跟蹤與多個不同的用戶相關(guān)聯(lián)時,評估所述被匹配到的堆棧跟蹤模板的步驟即被進行,以用于所述被預(yù)定的規(guī)則要求。
可選地,所述方法還包含︰分析所述新的堆棧跟蹤以指定所述網(wǎng)絡(luò)連線為懷疑與一惡意代碼相關(guān);及所述方法還包含︰重指定與所述惡意代碼相關(guān)的所述懷疑為與所述被允許的代碼相關(guān)。可選地,與所述惡意代碼相關(guān)的所述懷疑是由一新的被允許的代碼所引起,其中所述新的被允許的代碼被安裝于顯示一像惡意的行為的所述新的用戶上??商鎿Q地或額外地,所述被允許的代碼代表由不正確地引起懷疑與所述惡意代碼相關(guān)的所述識別而來的一假陽性識別??商鎿Q地或額外地,所述堆棧跟蹤被與至少一堆棧跟蹤模板匹配,其中所述堆棧跟蹤與所述被認(rèn)證通過的新的網(wǎng)絡(luò)連線相關(guān)聯(lián),及所述至少一堆棧跟蹤模板與建立用于一惡意通信的所述網(wǎng)絡(luò)連線的一企圖相關(guān)聯(lián)。
可選地,所述新的堆棧跟蹤及所述多個堆棧跟蹤模板還包含一流動數(shù)據(jù),包括選自由下述組成的群組中的至少一成員:多個程序、多個模塊及多個線程。
可選地,所述新的堆棧跟蹤顯示一像惡意的行為,其中所述像惡意的行為與多個堆棧跟蹤有相似之處,其中所述多個堆棧跟蹤與一惡意代碼相關(guān)。
可選地,所述多個堆棧跟蹤模板是基于在一被預(yù)定的時段內(nèi)在所述多個用戶上相似的被允許的代碼經(jīng)授權(quán)的安裝。
可選地,所述被預(yù)定的要求被選擇以防止或減少由所述被允許的代碼而來的多個被允許的網(wǎng)絡(luò)連線的一假陽性連線阻擋。
可選地,所述被預(yù)定的要求代表用于多個被允許的網(wǎng)絡(luò)連線的一假陽性連線阻擋的一容差水平。
依據(jù)本發(fā)明的一些實施例的一方面,一種用于認(rèn)證由一被允許的代碼建立一網(wǎng)絡(luò)連線的一企圖的系統(tǒng)被提供,所述系統(tǒng)包含︰具有多個之前被觀測的多個堆棧跟蹤模板的一數(shù)據(jù)集,其中所述多個堆棧跟蹤模板的每一個代表在多個堆棧跟蹤中普遍存在的一堆棧跟蹤模式,其中所述多個堆棧跟蹤是通過監(jiān)控多個用戶的多個堆棧而記錄,其中所述多個用戶是在一連線建立過程中執(zhí)行一被允許的代碼,其中所述連線建立過程是用于建立與所述被允許的代碼相關(guān)的多個網(wǎng)絡(luò)連線;及至少一事件管理服務(wù)器,包括由所述至少一事件管理服務(wù)器的一處理器可實現(xiàn)的一代碼,以用于:接收在多個用戶中的一某個新的用戶處被記錄的一新的堆棧跟蹤,其中所述新的堆棧跟蹤是由所述某個新的用戶在用于一新的網(wǎng)絡(luò)連線的一新的連線建立過程中紀(jì)錄;測量所述新的堆棧跟蹤與所述多個堆棧跟蹤模板之間的一相似度,以識別與一堆棧跟蹤模板的一匹配;評估所述被匹配到的堆棧跟蹤模板,以用于一被預(yù)定的規(guī)則要求;及以所述被匹配到的堆棧跟蹤模板來更新一規(guī)則集數(shù)據(jù)庫,以認(rèn)證與多個堆棧模板相關(guān)聯(lián)的多個新的網(wǎng)絡(luò)連線建立,其中所述多個堆棧模板與所述被匹配到的堆棧跟蹤模板相匹配。
可選地,所述系統(tǒng)還包含︰至少一閘道服務(wù)器,與所述事件管理服務(wù)器及與所述多個用戶端中的至少一個進行通信,其中所述至少一閘道服務(wù)器包括由所述至少一閘道服務(wù)器的一處理器可實現(xiàn)的一代碼,以用于:分析所述新的堆棧跟蹤以指定所述新的網(wǎng)絡(luò)連線為懷疑與一惡意代碼相關(guān);及傳輸所述新的堆棧跟蹤至所述事件管理服務(wù)器,以用于分析;接收所述經(jīng)更新的規(guī)則集數(shù)據(jù)庫;及允許所述新的網(wǎng)絡(luò)連線的一連線建立。
可選地,所述至少一事件管理服務(wù)器與多個閘道服務(wù)器進行通信,其中每一個別的閘道服務(wù)器與所述多個用戶中的至少一個用戶進行通信,及每一個別的閘道服務(wù)器包括由每一個別的閘道服務(wù)器的一處理器可實現(xiàn)的一代碼,以:從所述新的用戶接收所述新的堆棧跟蹤;分析所述新的堆棧跟蹤以決定建立一惡意通信的一可疑嘗試存在或不存在,其中所述網(wǎng)絡(luò)連線被使用于惡意活動;當(dāng)所述新的堆棧跟蹤與一惡意數(shù)據(jù)有相關(guān)性,檢測建立用于所述惡意通信的所述網(wǎng)絡(luò)連線的一企圖;及產(chǎn)生一消息,其中所述消息代表使用所述網(wǎng)絡(luò)連線建立所述惡意通信的所述可疑嘗試;及所述事件管理服務(wù)器的所述代碼可被實現(xiàn)以從每一個別的閘道服務(wù)器接收所述消息,且進行所述測量的步驟、所述評估的步驟及所述更新的步驟以便重指定所述新的網(wǎng)絡(luò)連線為代表一被允許的網(wǎng)絡(luò)連線,而防止或減少多個假陽性網(wǎng)絡(luò)連線的阻擋,其中所述多個假陽性網(wǎng)絡(luò)連線是由對于所述個別的閘道服務(wù)器而言呈惡意的所述被允許的代碼而來??蛇x地,所述某個新的用戶還包含與所述被允許的代碼相關(guān)聯(lián)的一被允許的應(yīng)用程序,其中所述被允許的代碼包括由所述新的用戶的一處理器可實現(xiàn)的一代碼,而引起懷疑與一惡意代碼相關(guān)的識別??商鎿Q地或額外地,所述至少一事件管理服務(wù)器及所述多個閘道服務(wù)器被組合成所述至少一事件管理服務(wù)器。
可選地,所述被允許的代碼被安裝為在一應(yīng)用程序內(nèi)一被插入的代碼,其中所述被插入的代碼與一堆棧數(shù)據(jù)相關(guān)聯(lián),所述堆棧數(shù)據(jù)相似于與一惡意被插入的代碼相關(guān)聯(lián)的一堆棧數(shù)據(jù)。
可選地,所述被允許的代碼被配置具有建立一網(wǎng)絡(luò)連線的一高級權(quán)限,相似于一惡意代碼獲得一高級權(quán)限的方式。
可選地,所述系統(tǒng)還包含︰一用戶模塊,用于安裝在每一個別的用戶處,其中所述用戶模塊包括由所述個別的用戶的一處理器可實現(xiàn)的一代碼,以用于:識別在所述個別的用戶處一新被安裝的應(yīng)用程序;及分析所述新被安裝的應(yīng)用程序以識別由所述新被安裝的應(yīng)用程序而來的建立用于一惡意通信的一連線的一嘗試??蛇x地,所述新被安裝的應(yīng)用程序被一使用者安裝為一被允許的應(yīng)用程序,其中所述使用者違背一安裝策略。
依據(jù)本發(fā)明的一些實施例的一方面,一種用于認(rèn)證由一被允許的代碼建立一網(wǎng)絡(luò)連線的一企圖的計算機程序產(chǎn)品被提供,所述計算機程序產(chǎn)品包含︰多個程序指令,用于提供具有多個之前被觀測的多個堆棧跟蹤模板的一數(shù)據(jù)集,其中所述多個堆棧跟蹤模板的每一個代表在多個堆棧跟蹤中普遍存在的一堆棧跟蹤模式,其中所述多個堆棧跟蹤是通過監(jiān)控多個用戶的多個堆棧而記錄,其中所述多個用戶是在一連線建立過程中執(zhí)行一被允許的代碼,其中所述連線建立過程是用于建立與所述被允許的代碼相關(guān)的多個網(wǎng)絡(luò)連線;多個程序指令,用于接收一新的堆棧跟蹤,其中所述新的堆棧跟蹤是在用于一新的網(wǎng)絡(luò)連線的一新的連線建立過程中被一新的用戶記錄;多個程序指令,用于測量所述新的堆棧跟蹤與所述多個堆棧跟蹤模板之間的一相似度,以識別與一堆棧跟蹤模板的一匹配;多個程序指令,用于評估所述被匹配到的堆棧跟蹤模板,以用于一被預(yù)定的規(guī)則要求;及多個程序指令,用于以所述被匹配到的堆棧跟蹤模板來更新一規(guī)則集數(shù)據(jù)庫,以認(rèn)證與多個堆棧模板相關(guān)聯(lián)的多個新的網(wǎng)絡(luò)連線建立,其中所述多個堆棧模板與所述被匹配到的堆棧跟蹤模板相匹配。
除非另有被定義,本文中所使用的所有的多個技術(shù)及/或科學(xué)術(shù)語有與本發(fā)明所屬領(lǐng)域的技術(shù)人員所公知者相同的意義。雖然與本文中所描述者相似或等同的多個方法與多個題材可被使用以實施或測試本發(fā)明的多個實施例,多個示例性的方法及/或多個示例性的題材將于下被描述。在沖突的情況下,包含多個定義的專利說明書將為優(yōu)先。此外,所述多個題材、所述多個方法及所述多個示例僅為說明性,而非意圖為必要地限制性。
附圖說明
本發(fā)明的一些實施例于本文中被以僅為示例的方式參照附圖描述。因現(xiàn)將特別詳細(xì)參照附圖,須強調(diào)所顯示之細(xì)節(jié)為以示例的方式,且為用于本發(fā)明的多個實施例的說明性討論的多個目的。在這方面,配合附圖的說明使得本發(fā)明的多個實施例如何可被實施對于本領(lǐng)域的技術(shù)人員而言為明白易懂的。
于附圖中:
圖1a是依據(jù)本發(fā)明的一些實施例的一方法的一流程圖,所述方法是用于評估一新的網(wǎng)絡(luò)連線的數(shù)據(jù)。
圖1b是依據(jù)本發(fā)明的一些實施例的一方法的一流程圖,所述方法是用于一網(wǎng)絡(luò)連線的檢測的品質(zhì)保證,所述網(wǎng)絡(luò)連線是用于惡意通信。
圖2是依據(jù)本發(fā)明的一些實施例的一系統(tǒng)的多個元件的一框圖,所述系統(tǒng)是用于評估一網(wǎng)絡(luò)連線的數(shù)據(jù),所述評估的步驟是可選地基于用于惡意通信的一網(wǎng)絡(luò)連線的檢測的品質(zhì)保證。
圖3a至3b是依據(jù)本發(fā)明的一些實施例的多個系統(tǒng)體系架構(gòu)的多個框圖,所述多個系統(tǒng)體系架構(gòu)是基于圖2的所述系統(tǒng)。
圖4a至4b是依據(jù)本發(fā)明的一些實施例的多個調(diào)用堆棧的多個示例。
具體實施方式
本發(fā)明,于其一些實施例中,是有關(guān)于用于惡意連線檢測的多個系統(tǒng)及多個方法,特別是,但非專門是,有關(guān)于用于惡意通信檢測的準(zhǔn)確保證的多個系統(tǒng)及多個方法。
本發(fā)明的一些實施例一方面是有關(guān)于一事件管理服務(wù)器,所述事件管理服務(wù)器基于一被預(yù)定的要求,評估一新的網(wǎng)絡(luò)連線為與一被允許的代碼相關(guān),所述被預(yù)定的要求定義一匹配的一被測量的相似度,所述匹配是介于與所述新的網(wǎng)絡(luò)連線相關(guān)聯(lián)的流動數(shù)據(jù)及一之前被觀測的流動數(shù)據(jù)(或堆棧跟蹤)模板之間,所述之前被觀測的流動數(shù)據(jù)(或堆棧跟蹤)模板代表與多個其它網(wǎng)絡(luò)連線的多個匹配??蛇x地,所述被預(yù)定的要求代表由多個其它用戶而來的多個新的網(wǎng)絡(luò)連線的流動數(shù)據(jù)之間的多個相似的匹配之前已被與所述相同的模板匹配。當(dāng)有足夠數(shù)量的顯示相同流動數(shù)據(jù)的用戶已被與所述模板匹配時,所述被匹配到的模板被所述事件管理服務(wù)器認(rèn)證通過,以允許多個新的網(wǎng)絡(luò)連線的建立。所述多個用戶可屬于一相同的預(yù)被指定的群組,例如,一組織、一公司、一部門,及一團隊。所述流動數(shù)據(jù)可發(fā)生于相同或相似的上下文數(shù)據(jù)內(nèi)?;谒霰活A(yù)定的要求的所述認(rèn)證的步驟可例如于所有所述相同的群組中的多個用戶均安裝相同的被允許的代碼時發(fā)生。
可選地,所述事件管理服務(wù)器認(rèn)證由被允許的代碼產(chǎn)生的流動數(shù)據(jù),由所述被允許的代碼產(chǎn)生的所述流動數(shù)據(jù)被懷疑有用于惡意活動的多個網(wǎng)絡(luò)連線的建立。當(dāng)所述相同(或相似的)看似惡意的流動數(shù)據(jù)被在多個不同的用戶處觀測到時,所述可疑流動數(shù)據(jù)被重指定為被認(rèn)證通過的流動數(shù)據(jù),所述被重指定的步驟例如是通過更新定義被允許的流動數(shù)據(jù)的一規(guī)則集數(shù)據(jù)庫來進行。
所述事件管理服務(wù)器可選地與一或多個閘道器進行通信,每一閘道器與一或多個用戶端進行通信。多個堆棧跟蹤的多筆記錄及/或與新的未知的代碼相關(guān)聯(lián)的流動數(shù)據(jù)被在一新的用戶處分析,所述新的未知的代碼與一新的網(wǎng)絡(luò)建立過程相關(guān),所述被分析的步驟是通過測量與一之前被觀測的流動數(shù)據(jù)模板的一相似度相關(guān)性以決定所述新的堆棧跟蹤是與被允許的代碼相關(guān)聯(lián)為何時發(fā)生來進行。所述流動數(shù)據(jù)模板代表從多個其它不同的用戶而來的一或多個之前被觀測的相似的流動數(shù)據(jù)。之前的匹配的數(shù)量可被存儲于一計數(shù)器內(nèi)。當(dāng)匹配的數(shù)量超過所述被預(yù)定的要求時,所述被匹配到的流動數(shù)據(jù)模板被認(rèn)證通過。與所述被認(rèn)證通過的模板匹配的新的流動數(shù)據(jù)(其與多個新的網(wǎng)絡(luò)連線建立企圖相關(guān))被允許繼續(xù)進行所述連線建立。
于一些實施例中,與所述被允許的代碼相關(guān)聯(lián)的所述多個新的連線建立過程的相關(guān)聯(lián)的步驟是以兩階段進行。一第一階段(其可被與所述多個用戶進行通信的所述閘道服務(wù)器進行)識別在用戶處由所述未知的代碼建立用于一惡意通信的一網(wǎng)絡(luò)連線的一可疑企圖。一第二階段(其可被與所述多個閘道服務(wù)器連接的所述事件管理服務(wù)器進行)使用之前匹配所引起的事件及其多個個別的流動數(shù)據(jù)模板進行保證品質(zhì)的步驟,以決定是否所述可疑企圖實際上與被允許的代碼相關(guān),而因此為安全的。當(dāng)一事件及其個別的流動數(shù)據(jù)模板被認(rèn)證通過時,一新的規(guī)定被加入所述多個閘道器的所述數(shù)據(jù)庫,以允許被所述流動數(shù)據(jù)模板識別出的且與所述事件相關(guān)的多個未來的連線建立。
可選地,在所述可疑連線企圖先被識別出后,所述認(rèn)證所述可疑連線流動數(shù)據(jù)的步驟被以額外處理的方式進行。被識別出為可疑的所述連線建立的子集可為保證品質(zhì)進一步被處理,以確保所述連線建立實際上與惡意代碼相關(guān)而非與被允許的代碼(例如,應(yīng)用程序及/或模塊)相關(guān)。如此,所述保證品質(zhì)的處理對于所述可疑企圖的子集而言是被中央進行,而多個正常的連線建立模式的多個指定(例如,在一本地閘道服務(wù)器處被進行)可被本地進行。
在所述第一狀態(tài)中,起源于多個個別的用戶端處的多個連線建立被在一或多個閘道服務(wù)器處監(jiān)控,所述被監(jiān)控的步驟是基于多個被連接的用戶中的每一個傳輸數(shù)據(jù)至所述閘道服務(wù)器以用于分析的步驟來進行,所述數(shù)據(jù)代表與所述連線建立過程相關(guān)的流動數(shù)據(jù)。在所述第二階段中,當(dāng)所述閘道服務(wù)器決定所述連線建立因與惡意活動相關(guān)聯(lián)而為可疑時,與所述一或多個閘道服務(wù)器進行通信的一事件管理服務(wù)器分析與所述被識別出的可疑企圖相關(guān)聯(lián)的所述數(shù)據(jù),所述事件管理服務(wù)器的所述分析的步驟是通過鑒于所述被預(yù)定的要求而與之前被引起的匹配規(guī)則及其個別的流動數(shù)據(jù)模板進行匹配,以決定所述企圖實際上為被允許的行為(例如,一假陽性識別)為何時發(fā)生來進行。可選地,惡意活動的多個不正確的識別被更正以代表正常行為。
所述可疑企圖是基于起初與惡意代碼感染有相關(guān)性的數(shù)據(jù)分析而被識別出。與引發(fā)所述可疑網(wǎng)絡(luò)連線的所述代碼相關(guān)的流動數(shù)據(jù)被分析以決定所述可疑企圖是由被允許的正常代碼所產(chǎn)生為何時發(fā)生,所述被允許的正常代碼產(chǎn)生呈現(xiàn)由惡意代碼所產(chǎn)生的數(shù)據(jù),而不是產(chǎn)生呈現(xiàn)正常的數(shù)據(jù)或數(shù)據(jù)流。所述可疑企圖可接著被所述事件管理服務(wù)器核實,所述事件管理服務(wù)器可更正所述企圖的不正確的分類,而為實際上與被允許的代碼相關(guān)(及非與原本所指定的惡意代碼相關(guān))。所述網(wǎng)絡(luò)連線可基于所述事件管理服務(wù)器的所述多個結(jié)果而被激活,所述網(wǎng)絡(luò)連線起初可被所述第一閘道器分析不正確地阻擋。所述網(wǎng)絡(luò)連線可在多個后續(xù)相似的事件被識別出及被匹配到時被激活,如本文所述。應(yīng)注意的是,可有兩個操作模式。一第一操作模式,如上所述,在所述第一事件被觀測到(而認(rèn)為所述事件與惡意活動相關(guān))時,阻擋所述網(wǎng)絡(luò),及在多個額外的相似的事件被觀測到時,激活所述網(wǎng)絡(luò)。一第二操作模式可一開始以一模擬模式操作,以訓(xùn)練所述系統(tǒng)僅通過觀測而認(rèn)出多個事件而不干涉網(wǎng)絡(luò)激活及/或阻擋。
如此,假陽性連線阻擋被防止或被減少,以允許由所述被允許的代碼建立多個連線。通過檢測所述可疑嘗試實際上不與惡意代碼相關(guān)但與被允許的及/或正常代碼(其顯示像惡意的行為)相關(guān)的發(fā)生,與惡意通信相關(guān)的多個可疑連線建立嘗試的識別中的多個錯誤被防止或被減少。
在詳細(xì)解釋本發(fā)明的至少一實施例前,應(yīng)理解本發(fā)明非必要地將其應(yīng)用限制在以下之說明中所陳述及/或在附圖及/或示例中所顯示的所述多個元件及/或多個方法的所述多個構(gòu)造的細(xì)節(jié)及所述安排。本發(fā)明能夠有多個其它的實施例或能夠被以各種方式實施或?qū)嵭小?/p>
本發(fā)明可為一系統(tǒng)、一方法及/或一計算機程序產(chǎn)品。所述計算機程序產(chǎn)品可包括一計算機可讀存儲介質(zhì)(或多個計算機可讀存儲介質(zhì)),所述計算機可讀存儲介質(zhì)有多個計算機可讀程序指令于其上,以用于使一處理器實行本發(fā)明的多個方面。
所述計算機可讀存儲介質(zhì)能夠為一有形設(shè)備,所述有形設(shè)備能夠保持及存儲多個指令,以供一指令執(zhí)行設(shè)備使用。所述計算機可讀存儲介質(zhì)可為,例如,但不限于為,一電子存儲設(shè)備、一磁存儲設(shè)備、一光學(xué)存儲設(shè)備、一電磁存儲設(shè)備、一半導(dǎo)體存儲設(shè)備,或前述的任何適當(dāng)?shù)慕M合。所述計算機可讀存儲介質(zhì)的多個較具體的示例的一非窮盡的清單包括以下:一便攜式計算機軟盤、一硬盤、一隨機存取存儲器(ram)、一只讀存儲器(rom)、一可擦除可編程只讀存儲器(eprom或閃存)、一靜態(tài)隨機存取存儲器(sram)、一便攜式光盤只讀存儲器(cd-rom)、一數(shù)字多用盤(dvd)、一閃盤、一軟盤,或前述的任何適當(dāng)?shù)慕M合。一計算機可讀存儲介質(zhì),如本文中所使用,不是被解釋為多個瞬時性的信號本身,例如多個無線電波或多個其它自由傳播的電磁波、傳播通過一波導(dǎo)管或多個其它傳輸介質(zhì)的多個電磁波(例如,穿越通過一光纖電纜的多個光脈沖),或被傳輸通過一電線的多個電信號。
本文中所述的多個計算機可讀程序指令能夠從一計算機可讀存儲介質(zhì)被下載至多個分別的計算/處理設(shè)備,或經(jīng)由一網(wǎng)絡(luò)下載至一外部計算機或外部存儲設(shè)備,所述網(wǎng)絡(luò)例如為一互聯(lián)網(wǎng)、一局域網(wǎng)絡(luò)、一廣域網(wǎng)絡(luò)及/或一無線網(wǎng)絡(luò)。所述網(wǎng)絡(luò)可包含多條傳輸用銅電纜、多條傳輸用光纖、無線傳輸、多個路由器、多個防火墻、多個交換器、多個閘道計算機及/或多個邊緣服務(wù)器。在每一計算/處理設(shè)備中,一網(wǎng)絡(luò)適配卡或網(wǎng)絡(luò)接口從所述網(wǎng)絡(luò)接收多個計算機可讀程序指令,并前送所述多個計算機可讀程序指令,以用于存儲在所述分別的計算/處理設(shè)備內(nèi)的一計算機可讀存儲介質(zhì)中。
用于實行本發(fā)明的多個操作的多個計算機可讀程序指令可為多個匯編指令、多個指令集架構(gòu)(isa)指令、多個機器指令、多個機器相關(guān)指令、微代碼、多個固件指令、一狀態(tài)設(shè)置數(shù)據(jù),或以一種或多種編程語言的任何組合編寫的源代碼或目標(biāo)代碼,所述編程語言包括一面向?qū)ο蟮木幊陶Z言,例如smalltalk、c++等,及多種常規(guī)的過程式編程語言,例如"c"語言,或多種類似的編程語言。所述多個計算機可讀程序指令可完全地在所述使用者計算機上執(zhí)行、部分地在所述使用者計算機上執(zhí)行、作為一個獨立的軟件包執(zhí)行、部分在所述使用者計算機上及部分在一遠(yuǎn)程計算機上執(zhí)行,或完全在所述遠(yuǎn)程計算機或服務(wù)器上執(zhí)行。在涉及所述遠(yuǎn)程計算機的情形中,所述遠(yuǎn)程計算機可通過任何種類的網(wǎng)絡(luò),連接到所述使用者計算機,所述任何種類的網(wǎng)絡(luò)包括一局域網(wǎng)絡(luò)(lan)或一廣域網(wǎng)絡(luò)(wan),或者,可連接到一外部計算機(例如使用一互聯(lián)網(wǎng)服務(wù)提供商來通過一互聯(lián)網(wǎng)連接)。在一些實施例中,通過利用所述多個計算機可讀程序指令的狀態(tài)信息而個性化所述電子電路,所述電子電路例如為可編程邏輯電路、現(xiàn)場可編程口陣列(fpga)或可編程邏輯陣列(pla),所述電子電路可執(zhí)行所述多個計算機可讀程序指令,從而進行本發(fā)明的多個方面。
本文參照依據(jù)本發(fā)明的多個實施例的多個方法、多個裝置(系統(tǒng))和多個計算機程序產(chǎn)品的多個流程圖例證及/或多個框圖描述了本發(fā)明的多個方面。應(yīng)當(dāng)理解,所述多個流程圖例證及/或所述多個框圖的每一方框及所述多個流程圖例證及/或所述多個框圖中多個方框的多個組合,都能夠由多個計算機可讀程序指令執(zhí)行。
運些多個計算機可讀程序指令可被提供給一通用計算機、一專用計算機或一其它可編程數(shù)據(jù)處理裝置的一處理器,以產(chǎn)生一種機器,以致于所述多個指令在經(jīng)由所述計算機或所述其它可編程數(shù)據(jù)處理裝置的所述處理器執(zhí)行時,創(chuàng)建了實現(xiàn)所述流程圖及/或所述框圖中的一個或多個方框中規(guī)定的所述多個功能/所述多個動作的裝置。運些計算機可讀程序指令也可被存儲在一計算機可讀存儲介質(zhì)中,運些計算機可讀程序指令能夠使得一計算機、一可編程數(shù)據(jù)處理裝置及/或多個其它設(shè)備以一特定方式工作,以致于有指令被存儲于其中的所述計算機可讀存儲介質(zhì)包括一個制造品,所述制造品包括實現(xiàn)所述流程圖及/或所述框圖中的一個或多個方框中規(guī)定的所述多個功能/所述多個動作的多方面的多個指令。
所述多個計算機可讀程序指令也可被加載到一計算機、一其它可編程數(shù)據(jù)處理設(shè)備、或一其它設(shè)備上,以使在所述計算機、所述其它可編程設(shè)備或所述其它設(shè)備上進行一系列操作步驟,以產(chǎn)生一計算機實現(xiàn)的過程,以致于在所述計算機、所述其它可編程設(shè)備或所述其它設(shè)備上執(zhí)行的所述多個指令實現(xiàn)所述流程圖及/或所述框圖中的一個或多個方框中規(guī)定的所述多個功能/所述多個動作。
附圖中的所述流程圖和所述多個框圖顯示了依據(jù)本發(fā)明的不同實施例的多個系統(tǒng)、多個方法和多個計算機程序產(chǎn)品的可能實現(xiàn)的體系架構(gòu)、功能和操作。在這方面,所述流程圖或所述多個框圖中的每個方框可代表一模塊、一程序段或多個指令的一部分,所述模塊、所述程序段或所述多個指令的所述部分包含用于實現(xiàn)規(guī)定的邏輯功能的一或多個可執(zhí)行指令。在一些替換的實現(xiàn)中,在所述方框中被標(biāo)注的多個功能可不同于在附圖中被標(biāo)注的順序發(fā)生。例如,兩個被連續(xù)顯示的方框?qū)嶋H上可實質(zhì)并行地被執(zhí)行,或所述兩個方框有時也可按相反的順序被執(zhí)行,依照被涉及的所述功能而定。也要注意的是,所述框圖及/或所述流程圖例證中的每個方框、及在所述框圖及/或所述流程圖例證中的多個方框的多個組合,能夠由多個專用的基于硬件的系統(tǒng)來實現(xiàn),所述多個專用的基于硬件的系統(tǒng)進行所述多個被規(guī)定的功能或動作,或?qū)崿F(xiàn)多個專用硬件與計算機指令的多個組合。
如本文中所述,術(shù)語「流動數(shù)據(jù)」是指在所述用戶端處被收集的數(shù)據(jù),所述數(shù)據(jù)包括所述調(diào)用堆棧數(shù)據(jù)及可選地一或多個調(diào)用堆棧相關(guān)數(shù)據(jù)項目,如程序數(shù)據(jù)、模塊分析數(shù)據(jù)及線程數(shù)據(jù)。術(shù)語「流動數(shù)據(jù)」及「調(diào)用堆棧數(shù)據(jù)」有時為可互換的。
如本文所定義,術(shù)語「連線建立」是指在所述被允許的代碼能通過一網(wǎng)絡(luò)連線傳輸及/或接收數(shù)據(jù)前發(fā)生的所述多個被計算機化的過程。所述連線建立過程可被從所述正常代碼接收多個引發(fā)命令的一應(yīng)用編程接口管理及/或執(zhí)行,以建立所述連線、從所述正常代碼接收數(shù)據(jù)而通過所述已建立的連線傳輸,及/或通過所述已建立的連線傳輸所接收的數(shù)據(jù)至所述正常代碼。
現(xiàn)參照圖1a,其是依據(jù)本發(fā)明的一些實施例的一方法的一流程圖,所述方法是用于可選地鑒于上下文數(shù)據(jù)而評估一網(wǎng)絡(luò)連線的流動數(shù)據(jù)。亦參照圖2,其是依據(jù)本發(fā)明的一些實施例的一系統(tǒng),所述系統(tǒng)是用于認(rèn)證一新的網(wǎng)絡(luò)建立過程。參照圖2所描述的所述系統(tǒng)可執(zhí)行參照圖1b所描述的所述方法。
所述多個系統(tǒng)及/或方法收集看似惡意的行為,當(dāng)所述看似惡意的行為被在多個用戶處觀測到時,所述看似惡意的行為暗示惡意活動的不正確的檢測。所述惡意行為被重指定為被允許的行為。所述多個系統(tǒng)及/或方法是基于一流動數(shù)據(jù)模板而將新的未知的代碼識別為被允許的,所述流動數(shù)據(jù)模板是基于見于多個其它用戶的多個共同的模式而被創(chuàng)建。所述多個共同的模式被假定是由所述相同(或相似的)被允許的代碼所產(chǎn)生。當(dāng)所述新的數(shù)據(jù)被與流動數(shù)據(jù)模板比對及匹配時,與所述新的數(shù)據(jù)相關(guān)的所述未知的代碼被指定為一被允許的代碼,所述被允許的代碼即為被使用來訓(xùn)練所述模板的相同或相似的被允許的代碼。
每一被安裝的代碼的多個外部指定(例如,為被允許的及/或惡意的)非為被要求的。所述多個系統(tǒng)及/或方法在見到多個共同的模式時,自動指定代碼為被允許的,及在一新的數(shù)據(jù)與所述已學(xué)習(xí)的流動數(shù)據(jù)模板有相關(guān)性時,自動指定一新的未知的代碼為被允許的。所述被安裝的代碼自動通過本文所述的所述多個系統(tǒng)及/或方法被指定為被允許的,而非必要地要求每一代碼被一外部實體預(yù)指定。例如,一系統(tǒng)管理員不需要驗證所述代碼。可替換地,手動干預(yù)可被允許,例如,以手動更正識別及/或匹配多個事件中的多個錯誤,及/或指定一代碼為被允許,及/或指定一代碼為惡意中的多個錯誤,或多個其它更正。所述手動干預(yù)被授予,例如,所述系統(tǒng)、所述方法、及/或一計算機程序產(chǎn)品的管理員。
用于被允許的代碼的指定及/或用于檢測用于所述惡意通信的一網(wǎng)絡(luò)連線的品質(zhì)保證的所述系統(tǒng)可被安裝于一系統(tǒng)200內(nèi)。
所述系統(tǒng)200包括至少一用戶202,所述用戶202例如為一筆記本計算機、一臺式計算機、一移動設(shè)備(例如,一智能手機、一平板計算機)及/或一服務(wù)器。所述用戶202為一終點用戶,所述終點用戶能夠引發(fā)一新的網(wǎng)絡(luò)連線,所述新的網(wǎng)絡(luò)連線是用于來自所述用戶202及/或至所述用戶202的一數(shù)據(jù)傳輸。所述終點用戶202可為一服務(wù)器。
所述用戶202包括多個網(wǎng)絡(luò)連線能力,所述多個網(wǎng)絡(luò)連線能力例如為一網(wǎng)絡(luò)接口、一發(fā)送器,及/或一接收器。所述用戶202可通過一或多個網(wǎng)絡(luò)206與一正當(dāng)遠(yuǎn)程服務(wù)器204通信,所述一或多個網(wǎng)絡(luò)206例如為一無線網(wǎng)絡(luò)、一有線網(wǎng)絡(luò)、一蜂窩網(wǎng)絡(luò)、一互聯(lián)網(wǎng)、一私有網(wǎng)絡(luò),及其多個網(wǎng)絡(luò)的多個組合。
可選地,一終點模塊208a被安裝在所述一或多個用戶202的一存儲器上或與所述一或多個用戶202通信,(例如,被預(yù)先安裝、被與在所述用戶上運行的一操作系統(tǒng)整合,及/或從一遠(yuǎn)程服務(wù)器或一本地存儲器下載且被本地安裝)??蛇x地,所述終點模塊208a包含一代碼,所述代碼包括多個程序指令,所述多個程序指令是用于被所述用戶202的一處理器實現(xiàn),及用于監(jiān)控在所述用戶202上的一連線建立相關(guān)活動,如本文所述。可替換地或額外地,所述模塊208a進行由一閘道器210及/或事件管理服務(wù)器216下指示的多個功能,例如,以阻擋所述被企圖的網(wǎng)絡(luò)建立連線、以停止所述連線建立過程、及/或以激活所述連線。
事件管理服務(wù)器216在連線建立過程中從多個用戶202接收與多個應(yīng)用程序相關(guān)的數(shù)據(jù)(例如,被封裝于多個封包及/或多個幀中的多個網(wǎng)絡(luò)消息);分析所述數(shù)據(jù)以用于多個之前被觀測的被聚合的共同的模式;評估所述多個被聚合的觀測以用于一被預(yù)定的要求;及基于所述流動數(shù)據(jù)模板而產(chǎn)生一套規(guī)則,所述流動數(shù)據(jù)模板定義與多個被允許的應(yīng)用程序相關(guān)的數(shù)據(jù)。事件管理服務(wù)器216可選地使用一聚合模塊218。當(dāng)一連線建立過程是與未知的代碼相關(guān)時,一閘道器210應(yīng)用所述一套規(guī)則224,所述一套規(guī)則224包括所述多個新的規(guī)則,以指定所述未知的代碼為所述被允許的代碼,及允許所述新的網(wǎng)絡(luò)連線的建立。
應(yīng)注意的是,圖1a的一方法描述集中在所述事件管理服務(wù)器216內(nèi)的多個過程的一方法,而圖1b描述跨所述多個系統(tǒng)的所述多個元件的一總體的方法。
在102中,一數(shù)據(jù)被在事件管理服務(wù)器處接收,所述數(shù)據(jù)是與在用于建立一網(wǎng)絡(luò)連線的一連線建立過程中的一代碼的一流動數(shù)據(jù)(例如,在一或多個堆棧跟蹤中的多筆記錄)相關(guān)。數(shù)據(jù)可被通過一網(wǎng)絡(luò)連線以多個網(wǎng)絡(luò)消息的形式傳輸,所述多個網(wǎng)絡(luò)消息例如是被封裝于多個封包及/或多個幀中??蛇x地,所述數(shù)據(jù)是可選地由在每一個別的用戶202處的終點模塊208a本地收集,在每一個別的用戶202處的終點模塊208a包括由所述用戶的所述處理器可實現(xiàn)的一代碼??蛇x地,所述數(shù)據(jù)被從每一用戶經(jīng)由多個個別的閘道器傳輸至所述管理服務(wù)器(每一閘道器與一組用戶進行通信,及與所述管理服務(wù)器進行通信,如本文所述)。
可選地,與所述網(wǎng)絡(luò)連線建立企圖相關(guān)的事件識別碼(id)及/或主機數(shù)據(jù)被終點模塊208a本地收集。主機數(shù)據(jù)的多個示例包括下述的一或多個:使用者名稱、公司名稱、公司部門、公司團隊、其它組織的內(nèi)部群組名稱、虛擬機器名稱,及與所述多個網(wǎng)絡(luò)連線建立企圖相關(guān)的多個網(wǎng)絡(luò)地址,所述多個網(wǎng)絡(luò)地址例如為所述用戶機器的地址及所述被允許的代碼的地址。事件id的多個示例可包括:被引起的惡意規(guī)則識別、在所述個別的用戶設(shè)備處所運行的所述操作系統(tǒng)、所述被允許的應(yīng)用程序、所述被安裝的被允許的模塊,及在建立所述網(wǎng)絡(luò)連線的所述企圖中所使用的所述通信協(xié)議(例如,傳輸控制協(xié)議(tcp))。
可選地,所述被收集的數(shù)據(jù)被傳輸至事件管理服務(wù)器216??商鎿Q地或額外地,所述被收集的數(shù)據(jù)先被傳輸至閘道器210,如參照圖1b所述。
每一用戶202已于其上安裝被允許的代碼208c,所述被允許的代碼208c與所述連線建立過程相關(guān)聯(lián)。
被允許的代碼208c,例如一被允許的應(yīng)用程序及/或一被允許的模塊,被安裝于用戶202內(nèi),所述安裝的步驟是,例如由一網(wǎng)絡(luò)管理員手動及/或基于多個權(quán)限而自動進行。被允許的代碼208c引發(fā)多個連線建立嘗試以建立及激活一網(wǎng)絡(luò)連線。
被允許的代碼208c可被編程而具有不好的做法的連線建立數(shù)據(jù),所述不好的做法連線建立數(shù)據(jù)與多個被惡意代碼感染的應(yīng)用程序的連線建立數(shù)據(jù)相似。
被允許的代碼208c可為一獨立的應(yīng)用程序,例如一被定制的及/或公司內(nèi)部的應(yīng)用程序。多個定做的及/或公司內(nèi)部的應(yīng)用程序可被設(shè)計以滿足多個組織的特別的要求及/或解決軟件部署中的差距。在一企業(yè)部門單元中,多個公司內(nèi)部的應(yīng)用程序可被創(chuàng)建及/或定制以滿足在一特定業(yè)務(wù)上一關(guān)鍵的業(yè)務(wù)功能。被設(shè)計以用于多個特別的內(nèi)部要求的軟件可使用多個非標(biāo)準(zhǔn)的方法,例如代碼插入,來以與惡意代碼所使用的多個方法相似的方式干預(yù)連線建立。于另一示例中,代碼208c可為一被允許的定制保安審計及/或強制應(yīng)用程序,所述被允許的定制保安審計及/或強制應(yīng)用程序跨多個公司用戶(例如,多臺臺式計算機、多臺筆記本計算機及多臺服務(wù)器)強制多個公司策略的遵守。所述保安應(yīng)用程序可經(jīng)授權(quán)而為侵入性的,經(jīng)授權(quán)而涉及連線劫持,及/或經(jīng)授權(quán)以進行多個其它強制方法,所述多個其它強制方法與惡意代碼所進行的多個方法相似。
代碼208c可為一模塊,所述模塊被以與在用戶202上一現(xiàn)有的應(yīng)用程序相關(guān)聯(lián)的方式安裝,例如被安裝為一插件、一修補程序及代碼插入。例如,模塊208c可為一保安工具,所述保安工具被設(shè)計以用于受信任的瀏覽。模塊208c可通過插入代碼至一現(xiàn)有的網(wǎng)頁瀏覽器以操縱多個網(wǎng)絡(luò)連線通信而被安裝于所述網(wǎng)頁瀏覽器內(nèi)。所述代碼插入是以相似于基于代碼插入的惡意代碼運作的方式而被進行。所述被插入的代碼產(chǎn)生所述連線建立引發(fā)應(yīng)用程序的流動數(shù)據(jù),所述連線建立引發(fā)應(yīng)用程序的所述流動數(shù)據(jù)與具有被惡意插入的代碼的一應(yīng)用程序的流動數(shù)據(jù)相似。
代碼208c可與一應(yīng)用編程接口相關(guān),所述應(yīng)用編程接口例如為一套接口,所述套接口依據(jù)一互聯(lián)網(wǎng)協(xié)議的一傳輸控制協(xié)議(tcp)管理所述連線建立。
可選地,所述流動數(shù)據(jù)是從一調(diào)用堆棧及/或多個其它數(shù)據(jù)來源獲得,所述調(diào)用堆棧與企圖建立所述網(wǎng)絡(luò)連線的所述應(yīng)用程序相關(guān),例如是從在存儲器中的多個有關(guān)位置復(fù)制,所述存儲器與執(zhí)行在所述堆棧中的所述多個指令的所述處理器相關(guān)聯(lián)。所述堆棧跟蹤包括在所述調(diào)用堆棧中的多個程序的多個順序的數(shù)據(jù)及/或一或多個快照,所述調(diào)用堆棧與所述連線建立相關(guān)。例如,所述堆棧跟蹤包括在所述跟蹤被獲得時于所述調(diào)用堆棧中的所述多個模塊。所述多個模塊可基于在所述調(diào)用堆棧中的多個代表而被導(dǎo)出,所述多個代表例如為在所述調(diào)用堆棧中的指向所述多個模塊的多個指針。
一或多個堆棧跟蹤可在所述請求期間、在引發(fā)所述連線建立過程期間及/或在所述連線建立過程中的一或多個點位被獲得。在所述連線建立過程中的多個點位被采集的所述多個堆棧跟蹤是被選擇以采集在所述堆棧中的多個改變,所述多個改變發(fā)生在所述請求期間及/或所述連線建立過程中。
可選地,在104中,從每一用戶所接收的所述流動數(shù)據(jù)被依據(jù)上下文分類,可選地,所述分類的步驟是由服務(wù)器216的聚合模塊218進行,所述服務(wù)器216的所述聚合模塊218包括由所述服務(wù)器216的所述處理器可實現(xiàn)的代碼。所述上下文是基于所述事件id,可選地包括所述主機數(shù)據(jù)。所述上下文可幫助決定所述流動數(shù)據(jù)為惡意的為何時發(fā)生及所述流動數(shù)據(jù)為被允許的為何時發(fā)生。例如,當(dāng)一網(wǎng)絡(luò)瀏覽器被加載時,所出現(xiàn)的流動數(shù)據(jù)可為惡意的,而當(dāng)一被定制的組織專屬應(yīng)用程序被加載時,所出現(xiàn)的相同(或相似的)流動數(shù)據(jù)可為安全的。于另一示例中,在相同的主機處被觀測到的重復(fù)的流動數(shù)據(jù)可為惡意的,而在多個不同的主機處被觀測到的相同(或相似的)流動數(shù)據(jù)可為安全的。
可選地,所述上下文包括一被預(yù)定的時段,例如,一天的一個鐘頭、一個禮拜的一天,或某個日期??蛇x地,當(dāng)所述流動數(shù)據(jù)在所述相同的被預(yù)定的時段內(nèi)被接收時,分類被進行。所述時段可被選擇以代表在多個用戶上所述代碼的推出及安裝。應(yīng)注意的是,與在所述時間上下文外的一時段相關(guān)聯(lián)的流動數(shù)據(jù)可代表多個感染的模式,而不是被允許的安裝。
所述上下文數(shù)據(jù)可幫助將流動數(shù)據(jù)代表惡意通信的發(fā)生與流動數(shù)據(jù)代表被允許的行為的發(fā)生區(qū)分。上下文數(shù)據(jù)可被以與所述被識別出的連線建立流動數(shù)據(jù)相關(guān)聯(lián)的方式收集。上下文數(shù)據(jù)的多個示例包括下述的一或多個:在個別的用戶處所運行的操作系統(tǒng);在個別的用戶處所運行的多個已知被允許的應(yīng)用程序;與流動數(shù)據(jù)有高度相關(guān)性(例如,高于一閾值),所述流動數(shù)據(jù)與多個不同的被允許的應(yīng)用程序相關(guān)聯(lián);及被使用于建立所述網(wǎng)絡(luò)連線的所述企圖中的通信協(xié)議。例如,在多個不同的用戶上相同(或相似的)操作系統(tǒng)下所執(zhí)行的多個不同應(yīng)用程序可產(chǎn)生相似的上下文數(shù)據(jù)下相似的流動數(shù)據(jù)。所述流動數(shù)據(jù)被指定為與被允許的行為相關(guān),所述被允許的行為是由多個被允許的應(yīng)用程序所允許。
在106中,與在某個用戶202處的一新的連線建立企圖相關(guān)聯(lián)的新的代碼的新的流動數(shù)據(jù)被傳輸至事件管理服務(wù)器216。所述新的流動數(shù)據(jù)可選地被聚合模塊218分析,所述聚合模塊218包括由服務(wù)器216的所述處理器可實現(xiàn)的代碼。所述新的流動數(shù)據(jù)與多個被存儲的之前被觀測的流動數(shù)據(jù)模板之間的一相似度(例如,相關(guān)性)被測量,以識別與一流動數(shù)據(jù)模板的一匹配,所述多個被存儲的之前被觀測的流動數(shù)據(jù)模板可被以數(shù)據(jù)集的形式存儲于與服務(wù)器216進行通信的一存儲器上。例如當(dāng)相似度的所述相關(guān)性為高于一相關(guān)性閾值時,所述新的流動數(shù)據(jù)被匹配到。應(yīng)注意的是,所述流動數(shù)據(jù)與模板非必要地需要完全匹配,而僅需足夠的相似,如相關(guān)性閾值所定義。
可選地,所述相似度是依據(jù)一惡意規(guī)則被測量,所述惡意規(guī)則引起所述可能惡意的事件的所述識別,及流動數(shù)據(jù)的被收集,例如,與所述應(yīng)用程序相關(guān)的一流動數(shù)據(jù)的數(shù)據(jù)集已被識別出為可能與惡意活動相關(guān)。
可替換地或額外地,所述相似度是依據(jù)所述上下文數(shù)據(jù)被測量。所述新的流動數(shù)據(jù)被與具有相同或相似的上下文數(shù)據(jù)的一流動數(shù)據(jù)模板的子集比對,以識別所述子集中的一匹配。如此,可匹配但卻為無關(guān)的多個其它模板可以先驗被排除。發(fā)生在多個其它上下文中的多個被匹配到的模板可代表惡意行為,而不能在發(fā)生于一不同的上下文中時被排除。
可替換地或額外地,所述相似度是依據(jù)多個堆棧跟蹤專屬細(xì)節(jié)的相似度被測量,所述多個堆棧跟蹤專屬細(xì)節(jié)是介于從所述用戶所收集的所述堆棧跟蹤與所述之前被觀測的事件的所述堆棧跟蹤之間,所述多個堆棧跟蹤專屬細(xì)節(jié)例如為堆棧的種類及所述堆棧中的多個模塊。
可選地,匹配是以一階層的方式逐步被進行,以通過先匹配所述被引起的惡意規(guī)則,接著匹配所述上下文,及接著再匹配所述堆棧跟蹤數(shù)據(jù)來增進處理的效能??商鎿Q地,匹配是同時被進行,例如是通過一分類器或一套規(guī)則進行,所述分類器或所述一套規(guī)則將所述被引起的惡意規(guī)則、上下文及堆棧跟蹤數(shù)據(jù)映射至某個事件。
可選地,在107中,當(dāng)沒有匹配被找到時,所述新的流動數(shù)據(jù)是以一新的流動數(shù)據(jù)模板的形式被由服務(wù)器216的所述處理器可實現(xiàn)的代碼存儲。所述新的流動數(shù)據(jù)模板接著被與新被接收的流動數(shù)據(jù)匹配。可替換地或額外地,所述新的流動數(shù)據(jù)模板是基于多個預(yù)設(shè)的定義。例如,一管理員可手動定義某個流動數(shù)據(jù)模板為代表被允許的行為。
可替換地,在108中,當(dāng)一被匹配到的流動數(shù)據(jù)模板被找到時,所述被匹配到的流動數(shù)據(jù)模板被評估以用于一被預(yù)定的要求,所述評估的步驟可選地是由聚合模塊218進行。所述評估的步驟可被設(shè)定以滿足一或多個規(guī)則要求??蛇x地,每一惡意規(guī)則是與其本身的被預(yù)定的要求相關(guān)聯(lián)。所述被預(yù)定的要求可例如為一閾值、一范圍及/或一函數(shù)。
可選地,所述被預(yù)定的要求代表為驗證所述相關(guān)聯(lián)的模板要觀測到的多個匹配。一計數(shù)器可選地可在每有不同的主機數(shù)據(jù)的匹配時被遞增,所述計數(shù)器指示之前被觀測到的匹配的數(shù)量??商鎿Q地,多個其它的計數(shù)方法例如基于之前的匹配的數(shù)量而可被計算的一函數(shù)可被使用。所述計數(shù)器的一值被與所述被預(yù)定的要求比對,以決定所述值符合或超出所述被預(yù)定的要求,例如落入所述范圍內(nèi)、為所述函數(shù)所定義、及/或符合或超出所述閾值,為何時發(fā)生。
可選地,已被匹配的所述新的流動數(shù)據(jù)可被以與所述被匹配到的模板相關(guān)聯(lián)的方式存儲于一數(shù)據(jù)集中。存儲一套的多個流動數(shù)據(jù)可例如當(dāng)多個不同的變化被觀測到時,讓所述模板有多個周期性(或連續(xù)性)的更新。可替換地或額外地,所述一套的多個流動數(shù)據(jù)可被重聚合至所述被更新的模板內(nèi)??商鎿Q地或額外地,所述一套流動數(shù)據(jù)的多個成員可代表在所述被匹配到的模板中多個被允許的變化,例如以考慮本地用戶的多個配置,所述多個配置例如是所述代碼及/或所述操作系統(tǒng)的多個不同的版本。所述計數(shù)器值可通過進行所述數(shù)據(jù)集的所述多個成員的計數(shù)而被獲得。
可選地,所述要求為靜態(tài)的,例如為一絕對數(shù),所述絕對數(shù)例如是在驗證所述被匹配到的模板前要被觀測到的從相同的群組中多個不同的用戶而來的匹配的數(shù)量。可替換地或額外地,所述要求為動態(tài)的,所述要求可依據(jù)多個基本的變數(shù)被改變。例如,要被與相同的模板匹配的所述群組中的多個用戶的一百分比。所述百分比可保持相同,而匹配的數(shù)量則可依所述群組中用戶的總數(shù)調(diào)適,所述群組中用戶的總數(shù)可因多個新的用戶被加入而隨時間的推移改變。于另一示例中,所述要求為一或多個保安相關(guān)指標(biāo)的一函數(shù),所述一或多個保安相關(guān)指標(biāo)的所述函數(shù)可被計算以用于所述上下文,所述上下文例如是與所述通信協(xié)議所提供的保安保護相關(guān)、為一部門工作的多個員工的保安級別、及所述連接的應(yīng)用程序或操作系統(tǒng)的多個已知保安的故障。
所述要求可被(例如,一系統(tǒng)管理者)手動預(yù)定,被(例如,從一或多個變數(shù)計算的一算法)自動定義,及/或從一外部來源獲得(例如,從一中央服務(wù)器下載)。
應(yīng)注意的是,所述計數(shù)器值及/或要求可依據(jù)所述上下文被定義??蛇x地,所述多個不同的用戶具有相同的上下文,例如相同的被指定的群組。如此,在相同的群組(例如,相同的公司、相同的部門、相同的團隊)的多個不同的用戶中被觀測到的相同(或相似的)流動數(shù)據(jù)代表被允許的行為,例如是由于在相同的群組的多個用戶上的一軟件安裝。在相同的群組的多個用戶中所被觀測到的相同的流動數(shù)據(jù)較在多個不同的組織的多個不同的用戶中所被觀測到的相同的流動數(shù)據(jù)可能為被允許的行為,所述多個不同的組織的所述多個不同的用戶中所被觀測到的所述相同的流動數(shù)據(jù)較不可能是由于被相同的實體安裝的共同的軟件。
可選地,多個不同的要求被選擇以用于多個不同的上下文??蛇x地,當(dāng)相同的模板被匹配到時,多個不同的要求被選擇以用于多個不同的上下文。所述多個不同的要求可代表,例如多個不同的所需保安級別以用于不同的上下文,所述多個不同的所需保安級別例如為用于一公司的一般文書人員的一低保安級別,及用于所述公司的財務(wù)人員的一高保安級別。
可選地,所述要求可依據(jù)一機率值被選擇,所述機率值代表所述要求的一置信度,所述要求代表被允許的行為。所述要求可被(手動或自動)選擇以防止或減少多個被允許的網(wǎng)絡(luò)連線的假陽性連線阻擋。一高的要求可在確定性高的多個情況下將多個之前惡意的企圖標(biāo)記為是安全的。例如當(dāng)惡意活動不能被容忍時,所述高的要求可被選擇,即便是以阻擋某些安全的程序(應(yīng)注意的是,所述多個安全的程序可被手動批準(zhǔn)以進行未來的連線建立)為代價,例如在一組織具有敏感的資料的情況下,所述組織例如為一軍事設(shè)施。一低的要求可在確定性低的多個情況下將多個之前惡意的企圖標(biāo)記為是安全的。在一組織中,所述低的要求可例如在多個被定制的程序為關(guān)鍵且代表所述組織的多個計算機上的重要活動時被選擇。
可選地,當(dāng)尚未符合所述要求時,在109中,當(dāng)所述匹配是對于一新的用戶被觀測到(即,沒有多個之前的匹配)時,所述計數(shù)器值被由服務(wù)器216的所述處理器可實現(xiàn)的代碼遞增。與相同的用戶相關(guān)聯(lián)的多個重復(fù)的匹配不進一步遞增所述計數(shù)器,例如以避免計數(shù)到由所數(shù)相同的用戶的相同應(yīng)用程序而來的多個重復(fù)的連線建立企圖。如此,具有相同(或相似的)流動數(shù)據(jù)的多個不同的用戶的數(shù)量被計數(shù)。當(dāng)有足夠的具有相同流動數(shù)據(jù)的多個不同的用戶被觀測到(如所述要求所定義)時,所述流動數(shù)據(jù)被認(rèn)證通過,如在110中。
應(yīng)注意的是,所述計數(shù)器是基于從多個用戶所接收的流動數(shù)據(jù)而被遞增,其中每一個別的用戶執(zhí)行相似的被安裝的代碼。從所述多個個別的用戶而來的流動數(shù)據(jù)的相同、相似或有高度相關(guān)性(例如,高于一閾值)代表所述被執(zhí)行的代碼被驗證通過及/或被允許。所述代碼(及/或相關(guān)的流動數(shù)據(jù))被自動指定為代表被允許的行為,及便是當(dāng)從每一用戶所接收的流動數(shù)據(jù)會除此以外被指定為代表多個惡意通信的企圖時。如此之場景可例如在以一非傳統(tǒng)的方式編寫的被定制的代碼被以一被允許的方式安裝在多個公司的計算機時發(fā)生,所述非傳統(tǒng)的方式例如是沒有按照良好的慣例。所述代碼呈現(xiàn)惡意,但實際上為被允許的代碼。
可替換地,當(dāng)已符合所述要求時,在110中,以所述被匹配到的流動數(shù)據(jù)模板來更新一規(guī)則集數(shù)據(jù)庫,所述更新的步驟是通過由服務(wù)器216的所述處理器可實現(xiàn)的代碼來進行。與所述被匹配到的流動數(shù)據(jù)模板相關(guān)聯(lián)的多個新的網(wǎng)絡(luò)連線企圖可被認(rèn)證通過,且被允許建立多個連線。
可選地,由事件管理服務(wù)器216所產(chǎn)生的所述多個新的規(guī)則可被通過網(wǎng)絡(luò)連線傳輸至用戶202,或至多個其它網(wǎng)絡(luò)設(shè)備,例如閘道器210。與每一閘道器210相關(guān)聯(lián)的所述一套規(guī)則224可被更新。由未來的流動數(shù)據(jù)而來的所述連線建立過程被允許被建立,以用于通過網(wǎng)絡(luò)進行數(shù)據(jù)傳輸,所述未來的流動數(shù)據(jù)是從相同(或相似的)被允許的代碼而來。
可替換地,當(dāng)所述未知的代碼的所述流動數(shù)據(jù)沒有與任何流動數(shù)據(jù)模板有相關(guān)性時,指示有可疑惡意通信企圖的一消息可被產(chǎn)生及被傳輸。進一步的動作可被進行,例如以阻擋所述連線建立企圖,及/或指定所述未知的代碼為惡意的。
可選地,在112中,所述方法被迭代進行以分析多個新的連線建立企圖。
現(xiàn)參照圖1b,其是依據(jù)本發(fā)明的一些實施例的一計算機實現(xiàn)的方法的一流程圖,所述方法是用于一網(wǎng)絡(luò)連線的檢測的品質(zhì)保證,所述網(wǎng)絡(luò)連線是用于惡意通信及/或活動。亦參照圖2,其是依據(jù)本發(fā)明的一些實施例的一系統(tǒng),所述系統(tǒng)是用于一網(wǎng)絡(luò)連線的檢測的品質(zhì)保證,所述網(wǎng)絡(luò)連線是用于惡意通信及/或活動。參照圖2所描述的所述系統(tǒng)可執(zhí)行參照圖1b所描述的所述方法。
所述多個系統(tǒng)及/或方法為一被識別出的建立所述網(wǎng)絡(luò)連線的可疑企圖提供品質(zhì)保證,以決定由所述用戶上的所述代碼所引發(fā)的所述連線建立為實際上與惡意活動相關(guān)聯(lián)的發(fā)生,或由所述代碼所引發(fā)的所述連線建立為與被允許的及/或正常的活動相關(guān)聯(lián)的發(fā)生,所述用戶上的所述代碼例如為應(yīng)用程序、更新模塊、插件、及修補程序。所述代碼可為正常代碼,所述正常代碼產(chǎn)生可疑流動數(shù)據(jù),所述可疑流動數(shù)據(jù)與由惡意代碼所產(chǎn)生的流動數(shù)據(jù)相似。如此,基于正常代碼而被建立的多個被允許的網(wǎng)絡(luò)連線被激活,而不是錯誤地由于所述被識別出的可疑的像惡意的流動數(shù)據(jù)被阻擋。
所述多個系統(tǒng)及/或方法產(chǎn)生多個新的規(guī)則,以允許被本地安裝的正常代碼的流動數(shù)據(jù),所述正常代碼以與惡意代碼相似的方式操作,但實際上卻不是惡意代碼。例如,基于不好的做法的連線建立而被編程的代碼及/或多個應(yīng)用程序、被編程以滿足多個組織的特別的要求的多個被定制的及/或公司內(nèi)部的模塊及/或應(yīng)用程序、被設(shè)計以具有多個管理權(quán)限的一高級別的多個軟件修補程序及模塊。在如此的多個情況中,本文所述的所述多個系統(tǒng)及/或方法進行與惡意代碼相關(guān)聯(lián)的流動數(shù)據(jù)及與被允許的及/或正常代碼(其表現(xiàn)得像惡意代碼)相關(guān)聯(lián)的流動數(shù)據(jù)之間除此以外將難以區(qū)分的區(qū)分。
本文所述的所述多個系統(tǒng)及/或方法通過加入一額外的品質(zhì)保證措施而增進網(wǎng)絡(luò)效能,所述額外的品質(zhì)保證措施防止及/或減少不適當(dāng)?shù)淖钃趸蜿P(guān)閉多個網(wǎng)絡(luò)連線。
本文所述的所述多個系統(tǒng)及/或方法區(qū)分多個實際的惡意連線企圖與不正確地被標(biāo)示的正常的連線建立,而非必要地要求所述特別的惡意代碼及/或特別的正常代碼的知識。
閘道器210從用戶202接收連線建立相關(guān)數(shù)據(jù)、分析所述數(shù)據(jù),及識別建立用于惡意通信及/或活動的所述網(wǎng)絡(luò)連線的一可疑企圖??蛇x地,閘道器210為一代理服務(wù)器,所述代理服務(wù)器作為在用戶202上的某個應(yīng)用程序與一接口之間的一中介設(shè)備,用戶202的所述某個應(yīng)用程序引發(fā)建立所述網(wǎng)絡(luò)連線,及所述接口控制建立所述網(wǎng)絡(luò)連線。閘道器210的額外細(xì)節(jié)可例如參照美國臨時專利申請案號62/083,985被找到。
事件管理服務(wù)器216與一或多個閘道器210進行通信。服務(wù)器216從一或多個閘道器210接收與所述被識別出的可疑企圖相關(guān)的數(shù)據(jù),并決定所述可疑企圖為與正常代碼相關(guān)聯(lián)何時發(fā)生,及可選地所述多個可疑企圖為實際上與惡意代碼相關(guān)聯(lián)何時發(fā)生。事件管理服務(wù)器216產(chǎn)生一信號至所述個別的閘道器210及/或至模塊208a,而指出所述可疑企圖為假陽性。所述信號可為新的或被更新的一套規(guī)則,所述新的或被更新的一套規(guī)則將被安裝在閘道器210所使用的一套規(guī)則224內(nèi),以驗證及允許多個連線建立。
可選地,與事件管理服務(wù)器216的一使用者接口222相關(guān)聯(lián)的事件管理服務(wù)器216的一管理模塊220允許一使用者進行一或多個管理及/或監(jiān)控功能,所述一或多個管理及/或監(jiān)控功能例如為多個配置、多個更新、活動、及/或事件的審查。多個使用者可例如借助一網(wǎng)頁瀏覽器通過一網(wǎng)絡(luò)連線存取使用者接口222。多個用戶及/或閘道器及/或事件管理服務(wù)器的數(shù)據(jù),或每個用戶及/或閘道器及/或事件管理服務(wù)器的數(shù)據(jù)可被中央查看及/或分析。
現(xiàn)參照圖3a至3b,其是依據(jù)本發(fā)明的一些實施例的多個系統(tǒng)體系架構(gòu)的多個示例的多個框圖,所述多個系統(tǒng)體系架構(gòu)是基于圖2的系統(tǒng)200。
圖3a繪示一系統(tǒng)300的一體系架構(gòu),于所述系統(tǒng)300中,一事件管理服務(wù)器320與多個閘道服務(wù)器310通信。每一閘道服務(wù)器310與多個用戶302通信。系統(tǒng)300可被設(shè)計,例如以用于一大組織,在所述大組織中,每一閘道器310為被指定的一群組的用戶302服務(wù)(例如,按部門、按客戶種類、及/或按地理位置被指定),并且事件管理服務(wù)器320與所述組織的所述多個閘道器310連接。應(yīng)注意的是,可有多個事件管理服務(wù)器320彼此連接以交換已學(xué)習(xí)的信息。
系統(tǒng)300可被設(shè)置以用于階層的惡意代碼監(jiān)控,所述階層的惡意代碼監(jiān)控可增進監(jiān)控多個連線建立的效率,所述多個連線建立可常發(fā)生。每一用戶302為連線建立而被監(jiān)控。所述多個連線建立被閘道器310分析以識別所述可疑企圖的子集,所述可疑企圖的子集以多個可疑連線建立企圖呈現(xiàn)。由事件管理服務(wù)器320進行所述多個可疑企圖的品質(zhì)保證以檢測一假陽性識別。
圖3b繪示一系統(tǒng)350的一體系架構(gòu),于所述系統(tǒng)350中,所述閘道器及事件管理服務(wù)器被整合至單一元件,即一被組合的服務(wù)器354。多個用戶352與所述被組合的服務(wù)器354進行通信。系統(tǒng)350可被設(shè)計,例如以用于一小組織,或一隔離的部門,于所述小組織或所述隔離的部門中,每一服務(wù)器354為一群組的用戶352服務(wù),提供識別所述可疑企圖及進行所述可疑企圖的品質(zhì)保證兩項功能。應(yīng)注意的是,可有多個被組合的服務(wù)器354(例如,跨所述組織)可或可不彼此連接。
系統(tǒng)350可被設(shè)計以用于局部惡意代碼監(jiān)控,而可提供快速的連線建立的監(jiān)控,所述快速的連線建立的監(jiān)控是例如對于地理隔離的一組織、具有有限帶寬可用性的一組織,及于其中需要快速地進行連線建立的監(jiān)控(例如,以減少所述連線建立的批準(zhǔn)的時間,及/或提供高頻率的連線建立)的一組織。
現(xiàn)回到參照圖1b及圖2,閘道器210及/或服務(wù)器216可為用于安裝在一計算機上的一軟件模塊,及/或用于與多個其它計算機通信的一硬件裝置。閘道器210及/或服務(wù)器216可例如以與網(wǎng)絡(luò)206連接的方式被安裝、在一或多個用戶202與網(wǎng)絡(luò)206之間的一接口處(例如,網(wǎng)絡(luò)接口設(shè)備)被安裝,及/或被安裝于網(wǎng)絡(luò)206本身內(nèi)的設(shè)備內(nèi),所述設(shè)備例如為一內(nèi)部及/或邊界網(wǎng)絡(luò)設(shè)備(例如,一個二層設(shè)備、一個三層設(shè)備、一路由器、一閘道器及一橋接器)。
經(jīng)授權(quán)安裝的被允許的代碼208c仍可引起用于一惡意通信的連線建立的一可疑企圖的一識別,如本文所述。被允許的代碼208c與流動數(shù)據(jù)相關(guān)連,所述流動數(shù)據(jù)與多個被感染的應(yīng)用程序的流動數(shù)據(jù)相似及/或具有高度相關(guān)性。
在152中,在用戶處與所述連線建立過程相關(guān)的流動數(shù)據(jù)被收集,所述流動數(shù)據(jù)包括調(diào)用堆棧數(shù)據(jù),所述收集的步驟是例如由所述用戶的所述處理器可實現(xiàn)的終點模塊208a的代碼進行。所述流動數(shù)據(jù)在所述連線建立過程之前及/或中被采集。
所述數(shù)據(jù)可包括在所述流動數(shù)據(jù)中的多筆記錄,所述流動數(shù)據(jù)代表程序、多個線程及多個模塊,及在所述用戶端處被執(zhí)行的動態(tài)代碼。流動數(shù)據(jù)在所述命令引發(fā)建立所述網(wǎng)絡(luò)連線的期間被獲得,所述流動數(shù)據(jù)例如為與多個線程、多個程序及/或多個模塊相關(guān)的流動數(shù)據(jù)。
可選地,上下文數(shù)據(jù)被收集。所述上下文數(shù)據(jù)可被存儲以用于之后被傳輸至所述品質(zhì)服務(wù)器。
可選地,在154中,多個連線建立被監(jiān)控以識別建立多個網(wǎng)絡(luò)連線的多個企圖。所述監(jiān)控及/或分析可在每一用戶202處由個別的模塊208a進行,及/或由閘道器210分別對于多個連接的用戶202進行。
可替換地或額外地,新的代碼(例如,一應(yīng)用程序、一插件、一修補程序、及一附加程序)的安裝被例如終點模塊208a識別出。所述新的代碼可特意地被所述使用者安裝,甚至可安全行事,但可進行違反公司策略的多個動作。例如,安裝策略可禁止軟件,所述軟件例如是多個搭載應(yīng)用程序、多個瀏覽器的附加程序、及多個實時通信應(yīng)用程序。如此的代碼可被識別為違反公司策略,例如為代表一保安威脅(例如,被用于劫持)、濫用多個有限的資源(例如,過度使用公司帶寬)、及/或被公司管理決定是分散工作注意力的時間的浪費。如本文所使用,術(shù)語「惡意通信」也是指違反策略而被安裝的代碼的活動,不論代碼本身是惡意的或安全的。與新被安裝的應(yīng)用程序相關(guān)的流動數(shù)據(jù)可被分析(如本文所述),以識別建立所述連線嘗試是與惡意通信相關(guān)聯(lián),所述惡意通信可代表被允許的但違背策略的行為。
用于檢測連線建立的所述多個系統(tǒng)及/或方法的額外細(xì)節(jié)可例如參照美國臨時專利申請案號62/083,985被描述。所述美國臨時專利申請案號62/083,985是由與本申請案相同的申請人及相同的多個發(fā)明人提出。
在158中,所述流動數(shù)據(jù)及可選地所述上下文數(shù)據(jù)被從用戶202傳輸至閘道器210,所述傳輸?shù)牟襟E例如是由終點模塊208a所進行,所述終點模塊208a可存取用戶202內(nèi)的所述堆棧數(shù)據(jù)及/或其它流動數(shù)據(jù)。
在160中,所述數(shù)據(jù)被分析以檢測由被安裝于用戶202上的代碼而來的建立用于一惡意活動及/或通信的一連線的一可疑企圖。所述堆棧跟蹤及/或其它流動數(shù)據(jù)可被分析以決定建立一惡意通信而將所述網(wǎng)絡(luò)連線使用于惡意活動的一可疑嘗試存在或不存在。可選地,所述分析的步驟是通過閘道器210可選地使用一套規(guī)則224及/或另一策略執(zhí)行模塊而進行。
可選地,代表所述惡意通信存在或不存在的一信號被產(chǎn)生。
所述分析的步驟可在所述應(yīng)用程序與所述遠(yuǎn)程服務(wù)器或惡意服務(wù)器之間的數(shù)據(jù)通信前被進行,所述數(shù)據(jù)通信例如為由所述引發(fā)應(yīng)用程序通過所述網(wǎng)絡(luò)進行的數(shù)據(jù)前送??蛇x地,所述分析的步驟是在建立所述網(wǎng)絡(luò)連線前被進行??商鎿Q地或額外地,所述分析的步驟是在激活所述網(wǎng)絡(luò)會話前被進行。如此,在所述惡意代理能通過所述網(wǎng)絡(luò)連線行動前,例如在傳輸未經(jīng)授權(quán)的數(shù)據(jù)(即,竊取數(shù)據(jù))前,所述連線建立過程的有效性可被決定。
所述分析的步驟可基于一或多個方法進行,例如,使其彼此有相關(guān)性可被進行以識別與惡意活動相關(guān)聯(lián)的(例如,多個堆棧跟蹤、所述堆棧中的多個模塊、及多個獨特的事件的)一統(tǒng)計顯著的相關(guān)性,及/或與被驗證過的安全活動相關(guān)聯(lián)的一統(tǒng)計顯著的相關(guān)性。所述分析的步驟可基于核實在所述堆棧中的多個模塊、多個線程及/或程序的可執(zhí)行檔格式的安全性被進行,例如而識別所述多筆記錄為代表非法的流動數(shù)據(jù)的發(fā)生。
多個分析方法的額外細(xì)節(jié)可例如參照美國臨時專利申請案號62/083,985被找到。
可替換地,所述閘道器的分析的步驟不果斷地決定所述連線建立的企圖是與惡意代碼或被允許的代碼相關(guān)。例如,與惡意代碼相關(guān)的機率是約50%及/或與被允許的代碼相關(guān)的機率是約50%。多個其它的果斷決定的要求可被使用,所述多個其它的果斷決定的要求例如為多個其它機率閾值、多個其它范圍、及/或多個函數(shù)。如此之情況可例如在所述閘道器識別出在所述用戶端上的一可疑應(yīng)用程序安裝程序企圖引發(fā)一通信會話時發(fā)生??蛇x地,一消息被所述閘道器傳輸至所述個別的用戶端,所述消息具有由一使用者(例如,操作員、系統(tǒng)管理員)進行手動干預(yù)的一請求,例如,一彈出窗口可在所述用戶端的一顯示器出現(xiàn)。所述使用者被提供手動定義所述代碼為被允許的代碼及/或惡意代碼的能力,所述手動定義的步驟例如是通過點擊所述彈出窗口內(nèi)的一按鍵而進行。所述手動的指定可被加入至與所述閘道器相關(guān)聯(lián)的所述一套規(guī)則,以應(yīng)用在相同的用戶的多個未來的通信建立企圖。至多個其它閘道器的傳播及/或?qū)Χ鄠€其它用戶的應(yīng)用可被一管理員及/或多個被預(yù)定的系統(tǒng)偏好設(shè)定定義。例如,對多個其它用戶的應(yīng)用可在(于其中僅允許有多個經(jīng)注冊雇員)的一私人組織網(wǎng)絡(luò)中被啟用,但在一公開網(wǎng)絡(luò)中被禁用,以防止多個惡意的使用者欺騙所述系統(tǒng)及標(biāo)記惡意代碼為被允許的。
如本文中所使用,詞組「之前被觀測的」包括手動的指定的情況。所述手動的指定被(本文所述的所述多個系統(tǒng)及方法)加工及/或處理,如參照詞組「之前被觀測的」所述。應(yīng)注意的是,手動的指定在所述系統(tǒng)及/或方法沒有進行所述之前的觀測,并以將手動的指定定義為所述之前的觀測取代的情況下被看待為是之前被觀測的。
可選地,在161中,當(dāng)由閘道器210而來的所述分析(方框160)被決定是代表被允許的行為時,所述連線建立被允許。當(dāng)沒有可疑企圖被檢測到時,例如通過從閘道器210傳輸一消息至用戶202,所述連線建立可恢復(fù)(及/或所述網(wǎng)絡(luò)連線可被激活)。由品質(zhì)服務(wù)器216所進行的所述一或多個堆棧跟蹤的額外分析的步驟可為不必要。
可選地,在162中,當(dāng)由閘道器210而來的所述分析(方框160)被決定是代表一惡意連線的企圖,所述流動數(shù)據(jù)被傳輸至事件管理服務(wù)器216以用于額外的分析的步驟,所述流動數(shù)據(jù)包括調(diào)用堆棧數(shù)據(jù),所述傳輸?shù)牟襟E例如是由閘道器210所進行。
閘道器210(及/或用戶202)可傳送從用戶202所取回的額外的上下文數(shù)據(jù)至服務(wù)器216,所述額外的上下文數(shù)據(jù)與所述調(diào)用堆棧數(shù)據(jù)相關(guān)聯(lián),以用于協(xié)助所述調(diào)用堆棧數(shù)據(jù)的分析的步驟,如本文所述。所述上下文數(shù)據(jù)可在方框160的所述分析的步驟指示有惡意通信企圖后被收集,或可與所述流動數(shù)據(jù)一起被收集。
可選地,閘道器210產(chǎn)生及傳輸一消息至服務(wù)器216,而請求所述可疑結(jié)果的品質(zhì)保證。
在164中,所述流動數(shù)據(jù)及可選的上下文數(shù)據(jù)被聚合及/或被分析以更正所述閘道器的所述分析并識別所述惡意活動為正常的(即,更正一假陽性結(jié)果)。所述分析的步驟可基于聚合模塊218在事件管理服務(wù)器216處被進行,如本文例如參照圖1a所述。所述分析的步驟可防止或減少一假陽性識別。所述惡意結(jié)果可被重分類為正常被允許的活動。
現(xiàn)參照圖4a至4b,其是依據(jù)本發(fā)明的一些實施例的多個調(diào)用堆棧的多個示例,所述多個調(diào)用堆棧與所述連線建立過程相關(guān)。為清楚的目的,圖4a至4b繪示一部份的跟蹤。
圖4a繪示一瀏覽器的一調(diào)用堆棧402,所述網(wǎng)頁瀏覽器具有一保安工具被安裝于所述瀏覽器內(nèi),以提供受信任的瀏覽。所述保安工具通過代碼的插入被實現(xiàn),所述代碼被設(shè)計以操縱多個http會話。所述保安工具(其為一被允許的代碼)與惡意代碼相似地操作,且會除此以外例如在被所述閘道器分析時產(chǎn)生一假陽性。
調(diào)用堆棧402代表建立一連線的一企圖,例如以連接至安全的網(wǎng)站。調(diào)用堆棧402通過與調(diào)用堆棧404比對而被分析,所述調(diào)用堆棧404代表一驗證通過的連線建立相關(guān)堆棧,所述驗證通過的連線建立相關(guān)堆棧是沒有所述被安裝的保安工具的一網(wǎng)頁瀏覽器所預(yù)期有的。所述分析的步驟檢測到某個檔案408(即,shlwapi.dll)為找不到,且至一已知的模塊406a的一代碼指針及至一未知的模塊406b的另一代碼指針為存在?;?例如,由閘道器210所進行的)所述流動數(shù)據(jù)的初步分析的步驟,懷疑有惡意代碼。(例如,由品質(zhì)服務(wù)器216所進行的)的進一步分析的步驟基于見于被指定屬于相同的組織的大多或所有其它用戶的多個調(diào)用堆棧,而決定調(diào)用堆棧402代表正常代碼的被允許的行為。
圖4b繪示一瀏覽器程序的一調(diào)用堆棧412,在所述瀏覽器程序中,一使用者安裝了一瀏覽器工具欄,所述瀏覽器工具欄重定向及操縱多個連線,主要以影響多個搜索引擎的結(jié)果。所述工具欄非為必要地代表絕對的惡意代碼,而為由一受敬重的供應(yīng)商所提供的一安全的應(yīng)用程序。所述工具欄被所述組織指定為被禁止安裝。
具有所述工具欄的所述瀏覽器企圖建立一網(wǎng)絡(luò)連線以至一已知安全的網(wǎng)站。堆棧412包含與所述被禁止的程序相關(guān)聯(lián)的已知的代碼416。相比之下,調(diào)用堆棧414為沒有所述被安裝的工具欄的一網(wǎng)頁瀏覽器的一調(diào)用堆棧。調(diào)用堆棧414包含至一模塊418(即,shlwapi.dll)的一指針,所述模塊418不存在于調(diào)用堆棧416中。所述已知的調(diào)用堆棧可被編入所述學(xué)習(xí)模塊,以識別具有所述被安裝的工具欄的多個網(wǎng)頁瀏覽器為違反公司的安裝策略。
現(xiàn)回到參照圖1b,在166中,指示所述分析的步驟的結(jié)果的一消息被事件管理服務(wù)器216產(chǎn)生。所述消息被傳輸至閘道器210及/或用戶202。所述消息可包括對所述一套規(guī)則的一更新,所述更新指示所述被匹配到的流動數(shù)據(jù)事件代表多個被允許的連線建立企圖。
當(dāng)所述消息指示所述惡意通信被經(jīng)不正確地檢測到時,所述閘道器210及/或用戶202可繼續(xù)連線建立過程,及/或激活所述連線。當(dāng)所述消息指示所述惡意通信被經(jīng)正確地檢測到時,所述閘道器210及/或用戶202可阻擋(或繼續(xù)維持阻擋)所述連線建立及/或防止通過所述連線進行數(shù)據(jù)傳輸。
可選地,在168中,與事件管理服務(wù)器216連接的每一閘道器210的每一套規(guī)則224被以所述被接收的一套規(guī)則更新。更新每一閘道器210的所述一套規(guī)則224動態(tài)地以新的被識別的流動數(shù)據(jù)將與事件管理服務(wù)器216連接的所述多個閘道器210調(diào)適,所述新被識別的流動數(shù)據(jù)與新的被安裝在多個用戶202內(nèi)的代碼相關(guān)。
附圖中的所述流程圖和所述多個框圖顯示了依據(jù)本發(fā)明的各種實施例的多個系統(tǒng)、多個方法和多個計算機程序產(chǎn)品的可能實現(xiàn)的體系架構(gòu)、功能和操作。在這方面,所述流程圖或所述多個框圖中的每個方框可代表一模塊、一程序段或多個代碼的一部分,所述模塊、所述程序段或所述多個代碼的所述部分包含用于實現(xiàn)規(guī)定的邏輯功能的一或多個可執(zhí)行指令。也應(yīng)注意的是,在一些替換的實現(xiàn)中,在所述方框中被標(biāo)注的多個功能可不同于在附圖中被標(biāo)注的順序發(fā)生。例如,兩個被連續(xù)顯示的方框?qū)嶋H上可實質(zhì)并行地被執(zhí)行,或所述兩個方框有時也可按相反的順序被執(zhí)行,依照被設(shè)及的所述功能而定。也要注意的是,所述框圖及/或所述流程圖例證中的每個方框、及在所述框圖及/或所述流程圖例證中的多個方框的多個組合,能夠由多個專用的基于硬件的系統(tǒng)來實現(xiàn),所述多個專用的基于硬件的系統(tǒng)進行所述多個被規(guī)定的功能或動作,或多個專用硬件與計算機指令的多個組合。
關(guān)于本發(fā)明的各種實施例的描述已經(jīng)出于例證的目的而給出,但是并非意圖是窮盡性的或者限定于所公開的多個實施例。在不脫離所述多個實施例的范圍和精神的情況下,許多修改和變化將會是本領(lǐng)域技術(shù)人員所清楚的。本文所使用的術(shù)語被選擇以最佳地解釋所述多個實施例的原理、實際應(yīng)用或者相對市場上可找得到的技術(shù)的技術(shù)改進,或者使得本領(lǐng)域技術(shù)人員能夠理解本文所公開的多個實施例。
可預(yù)期的是,從本申請的成熟而來的一專利的生命期間,許多有關(guān)的多個系統(tǒng)及方法將被開發(fā),且多個術(shù)語「用戶」、「服務(wù)器」、及「代碼」的范圍意圖是以先驗包含所有如此之新的技術(shù)。
如本文所用的術(shù)語“約”是指±10%。
多個術(shù)語「包含(comprises)」、「包含(comprising)」、「包括(includes)」、「包括(including)」、「具有(having)」及其多個詞形變化是指「包括但不限于」。此術(shù)語包含多個術(shù)語「由......組成(consistingof)」及「基本上由......組成(essentiallyconsistingof)」。
術(shù)語「基本上由......組成(essentiallyconsistingof)」是指組合物或方法可包括多個額外的成分及/或多個步驟,但只有當(dāng)所述多個額外的成分及/或多個步驟實質(zhì)上不改變所要求保護的組合物或方法的多個基本特征及新特征。
本文所使用的單數(shù)型式「一」、「一個」及「所述」包括復(fù)數(shù)引用,除非上下文另有明確規(guī)定。例如,術(shù)語「一化合物」或「至少一種化合物」可以包括多個化合物,包括其混合物。
本文中所用的詞匯「示例性(exemplary)」表示「用作為一示例(example),實例(instance)或例證(illustration)」。任何被描述為「示例性」實施例未必被解釋為優(yōu)選或優(yōu)于其它實施例和/或排除與來自其它實施例的多個特征結(jié)合。
本文中所用的詞匯「可選擇地(optionally)」表示「在一些實施例中提供,而在多個其它實施例中不提供」。任何本發(fā)明的特定實施例可以包括多個「可選擇的」特征,除非此類特征相沖突。
在整個本申請中,本發(fā)明的各種實施例可以以一個范圍的形式存在。應(yīng)當(dāng)理解,以一范圍形式的描述僅僅是因為方便及簡潔,不應(yīng)理解為對本發(fā)明范圍的硬性限制。因此,應(yīng)當(dāng)認(rèn)為所述的范圍描述已經(jīng)具體公開所有可能的子范圍以及該范圍內(nèi)的多個單一數(shù)值。例如,應(yīng)當(dāng)認(rèn)為從1到6的范圍描述已經(jīng)具體公開子范圍,例如從1到3,從1到4,從1到5,從2到4,從2到6,從3到6等,以及所數(shù)范圍內(nèi)的多個單一數(shù)字,例如1、2、3、4、5及6,此不管范圍為何皆適用。
每當(dāng)在本文中指出一數(shù)值范圍,是指包括所指范圍內(nèi)的任何引用的數(shù)字(分?jǐn)?shù)或整數(shù))。術(shù)語,第一指示數(shù)字及第二指示數(shù)字「之間的范圍」及第一指示數(shù)字「到」第二指示數(shù)字「的范圍」在本文中可互換,并指包括第一及第二指示數(shù)字,及其間的所有分?jǐn)?shù)及整數(shù)。
可以理解,本發(fā)明中的某些特征,為清楚起見,在分開的實施例的內(nèi)文中描述,也可以在單一實施例的組合中提供。相反地,本發(fā)明中,為簡潔起見,在單一實施例的內(nèi)文中所描述的各種特征,也可以分開地、或者以任何合適的子組合、或者在適用于本發(fā)明的任何其它描述的實施例中提供。在各種實施例的內(nèi)文中所描述的某些特征,并不被認(rèn)為是那些實施方案的必要特征,除非該實施例沒有那些元素就不起作用。
雖然本發(fā)明結(jié)合其具體實施例而被描述,顯而易見的是,許多替換、修改及變化對于那些本領(lǐng)域的技術(shù)人員將是顯而易見的。因此,其意圖在包括落入所附權(quán)利要求書的范圍內(nèi)的所有替換、修改及變化。
在本說明書中提及的所有出版物、專利及專利申請以其整體在此通過引用并入本說明書中。其程度如同各單獨的出版物、專利或?qū)@暾埍痪唧w及單獨地指明而通過引用并入本文中。此外,所引用的或指出的任何參考文獻不應(yīng)被解釋為承認(rèn)這些參考文獻可作為本發(fā)明的現(xiàn)有技術(shù)。本申請中標(biāo)題部分在本文中用于使本說明書容易理解,而不應(yīng)被解釋為必要的限制。