用于惡意軟件檢測的復(fù)雜評分的制作方法
【專利說明】用于惡意軟件檢測的復(fù)雜評分
【背景技術(shù)】
[0001] 本發(fā)明涉及用于保護計算機系統(tǒng)免受惡意軟件影響的系統(tǒng)及方法。
[0002] 惡意軟件(也被稱為惡意軟件(malware))在世界范圍內(nèi)影響大量計算機系統(tǒng)。在 其許多形式中(例如計算機病毒、蠕蟲、隱匿程序(rootkit)及間諜軟件),惡意軟件給數(shù)百 萬計算機用戶呈現(xiàn)嚴(yán)重風(fēng)險,使其易受數(shù)據(jù)及敏感信息丟失、身份盜用及生產(chǎn)力損失以及 其它。
[0003] 安全軟件可用于檢測感染用戶的計算機系統(tǒng)的惡意軟件,且另外用于移除或停止 此類惡意軟件的執(zhí)行。所屬領(lǐng)域中已知數(shù)種惡意軟件-檢測技術(shù)。一些技術(shù)依賴于將惡意軟 件代理的代碼片段與惡意軟件-指示性特征庫進(jìn)行匹配。其它常規(guī)方法檢測惡意軟件代理 的一組惡意軟件-指示性行為。
[0004] 為規(guī)避檢測及/或破壞安全軟件的操作,一些惡意軟件代理采用混淆技術(shù),例如將 其代碼加密或在每一所感染計算機系統(tǒng)上使用稍微不同代碼版本(多態(tài)性)。其它示范性檢 測規(guī)避方法將惡意活動劃分為數(shù)個行動,每一行動由單獨代理執(zhí)行,可能具有時間延遲。在 其它實例中,惡意軟件可舉例來說通過使用特權(quán)提升及/或通過覆寫安全軟件的代碼而試 圖主動攻擊并停用安全軟件。
[0005] 為與一組迅速改變的惡意軟件威脅保持同步,存在對開發(fā)穩(wěn)健及可擴縮反惡意軟 件解決方案的強烈關(guān)注。
【發(fā)明內(nèi)容】
[0006] 根據(jù)一個方面,一種主機系統(tǒng)包括至少一個處理器,所述至少一個處理器經(jīng)配置 以執(zhí)行實體管理模塊、實體評估器及評分引擎。所述實體管理模塊經(jīng)配置以管理經(jīng)評估軟 件實體的集合,其中管理所述集合包括:識別所述集合的第一實體的一組后代實體;確定所 述第一實體是否被終止;作為響應(yīng),當(dāng)所述第一實體被終止時,確定所述組后代實體的所有 成員是否均被終止;且作為響應(yīng),當(dāng)所述組后代實體的所有成員均被終止時,從所述集合移 除所述第一實體。所述實體評估器經(jīng)配置以:根據(jù)評估準(zhǔn)則評估所述第一實體;且作為響 應(yīng),當(dāng)所述第一實體滿足所述評估準(zhǔn)則時,將評估指示符發(fā)射到所述評分引擎。所述評分引 擎經(jīng)配置以:記錄針對所述集合的所述第一實體確定的第一分?jǐn)?shù)及針對第二實體確定的第 二分?jǐn)?shù),所述第一及第二分?jǐn)?shù)是根據(jù)所述評估準(zhǔn)則確定的;響應(yīng)于記錄所述第一及第二分 數(shù),且響應(yīng)于接收到所述評估指示符,根據(jù)所述評估指示符更新所述第二分?jǐn)?shù);且作為響 應(yīng),根據(jù)所述所更新第二分?jǐn)?shù)來確定所述第二實體是否為惡意的。
[0007] 根據(jù)另一方面,一種存儲指令的非暫時性計算機可讀媒體,所述指令在被執(zhí)行時 配置主機系統(tǒng)的至少一個處理器以管理經(jīng)評估軟件實體的集合,其中管理所述集合包括: 識別所述集合的第一實體的一組后代實體;確定所述第一實體是否被終止;作為響應(yīng),當(dāng)所 述第一實體被終止時,確定所述組后代實體的所有成員是否均被終止;且作為響應(yīng),當(dāng)所述 組后代實體的所有成員均被終止時,從所述集合移除選定實體。所述指令進(jìn)一步配置所述 至少一個處理器以記錄針對所述集合的所述第一實體確定的第一分?jǐn)?shù)及針對第二實體確 定的第二分?jǐn)?shù),所述第一及第二分?jǐn)?shù)是根據(jù)評估準(zhǔn)則確定的。響應(yīng)于記錄所述第一及第二 分?jǐn)?shù),所述指令進(jìn)一步配置所述至少一個處理器以根據(jù)所述評估準(zhǔn)則評估所述第一實體。 響應(yīng)于評估所述第一實體,所述指令進(jìn)一步配置所述至少一個處理器以在所述第一實體滿 足所述評估準(zhǔn)則時更新所述第二分?jǐn)?shù),且響應(yīng)于更新所述第二分?jǐn)?shù),根據(jù)所述所更新第二 分?jǐn)?shù)確定所述第二實體是否為惡意的。
[0008] 根據(jù)另一方面,一種主機系統(tǒng)包括經(jīng)配置以執(zhí)行實體評估器及評分引擎的至少一 個處理器。所述實體評估器經(jīng)配置以:根據(jù)評估準(zhǔn)則評估第一軟件實體,所述第一軟件實體 是在客戶端系統(tǒng)上執(zhí)行,且作為響應(yīng),當(dāng)所述第一軟件實體滿足所述評估準(zhǔn)則時,將評估指 示符發(fā)射到所述評分引擎。所述評分引擎經(jīng)配置以響應(yīng)于接收到所述評估指示符,根據(jù)所 述評估指示符更新分?jǐn)?shù),其中所述分?jǐn)?shù)是針對先前在所述主機系統(tǒng)上執(zhí)行的第二軟件實體 確定的,所述第二軟件實體在更新所述分?jǐn)?shù)時被終止。所述評分引擎進(jìn)一步經(jīng)配置以響應(yīng) 于更新所述第二分?jǐn)?shù),根據(jù)所述所更新第二分?jǐn)?shù)來確定所述第二軟件實體是否為惡意的。
[0009] 根據(jù)另一方面,一種方法包括采用主機系統(tǒng)的至少一個處理器來確定在所述主機 系統(tǒng)上執(zhí)行的第一軟件實體是否滿足評估準(zhǔn)則。所述方法進(jìn)一步包括當(dāng)所述第一軟件實體 滿足所述評估準(zhǔn)則時,采用所述至少一個處理器來更新針對先前在所述主機系統(tǒng)上執(zhí)行的 第二軟件實體確定的分?jǐn)?shù),所述第二軟件實體在更新所述分?jǐn)?shù)時被終止,所述分?jǐn)?shù)是根據(jù) 所述評估準(zhǔn)則確定的。所述方法進(jìn)一步包括響應(yīng)于更新所述第二分?jǐn)?shù),采用所述至少一個 處理器來根據(jù)所述所更新第二分?jǐn)?shù)確定所述第二軟件實體是否為惡意的。
【附圖說明】
[0010] 在閱讀以下詳細(xì)描述后且在參考圖式后,本發(fā)明的前述方面及優(yōu)點將立即變得更 好理解,在圖式中:
[0011] 圖1展示根據(jù)本發(fā)明的一些實施例的經(jīng)保護免受惡意軟件影響的主機計算機系統(tǒng) 的示范性硬件配置。
[0012] 圖2-A展示根據(jù)本發(fā)明的一些實施例的包含在主機系統(tǒng)上執(zhí)行的安全應(yīng)用程序的 一組示范性軟件對象。
[0013] 圖2-B展示一組示范性軟件對象,所述示范性軟件對象包含在經(jīng)配置以支持虛擬 化的主機系統(tǒng)中的虛擬機內(nèi)執(zhí)行的安全應(yīng)用程序。
[0014] 圖3圖解說明根據(jù)本發(fā)明的一些實施例的以各種處理器特權(quán)層級在主機系統(tǒng)上執(zhí) 行的軟件對象的示范性層次,所述軟件對象包含一組反惡意軟件對象。
[0015] 圖4展示根據(jù)本發(fā)明的一些實施例的由圖3的實體管理模塊執(zhí)行的示范性步驟序 列。
[0016] 圖5展示根據(jù)本發(fā)明的一些實施例的接收多個實體評估指示符的示范性評分引 擎,所述多個實體評估指示符是針對軟件實體由多個實體評估器模塊確定的。
[0017] 圖6圖解說明在Windows?環(huán)境中的一組進(jìn)程的示范性執(zhí)行流程。實線箭頭指示 在不存在反惡意軟件系統(tǒng)的情況下的示范性執(zhí)行流程。虛線箭頭指示對所述執(zhí)行流程的修 改,所述修改由根據(jù)本發(fā)明的一些實施例操作的多個實體評估器引入。
[0018] 圖7展示根據(jù)本發(fā)明的一些實施例的由實體評估器模塊執(zhí)行的示范性步驟序列。
[0019] 圖8展示根據(jù)本發(fā)明的一些實施例的多個示范性實體評分對象(ES0),每一 ES0是 針對相應(yīng)軟件實體確定的。ESO的示范性數(shù)據(jù)字段包含實體身份指示符EID、多個分?jǐn)?shù)Si及 針對相應(yīng)實體確定的聚合分?jǐn)?shù)A以及其它。
[0020] 圖9圖解說明根據(jù)本發(fā)明的一些實施例的一組示范性分?jǐn)?shù)值,及由評分引擎使用 以對軟件實體進(jìn)行評分的各個組示范性權(quán)重。
[0021] 圖10展示根據(jù)本發(fā)明的一些實施例的由評分引擎執(zhí)行(圖3到4)的示范性步驟序 列。
[0022] 圖11圖解說明包括經(jīng)由計算機網(wǎng)絡(luò)連接到安全服務(wù)器的多個主機系統(tǒng)的示范性 配置。
[0023] 圖12展示根據(jù)本發(fā)明的一些實施例的主機系統(tǒng)與安全服務(wù)器之間的示范性反惡 意軟件交易。
【具體實施方式】
[0024] 在以下描述中,應(yīng)理解,結(jié)構(gòu)之間的所有所引用連接可為直接操作連接或通過中 間結(jié)構(gòu)的間接操作連接。一組元素包含一個或多個元素。對元素的任何引用應(yīng)理解為指代 至少一個元素。多個元素包含至少兩個元素。除非另有需要,否則任何所描述方法步驟不需 要一定以特定所圖解說明次序執(zhí)行。第一元素(例如數(shù)據(jù))從第二元素導(dǎo)出涵蓋第一元素等 于第二元素,以及通過處理第二元素及任選地其它數(shù)據(jù)產(chǎn)生第一元素。根據(jù)參數(shù)做出確定 或決策涵蓋根據(jù)所述參數(shù)及任選地根據(jù)其它數(shù)據(jù)做出確定或決策。除非另外規(guī)定,否則一 些數(shù)量/數(shù)據(jù)的指示符可為數(shù)量/數(shù)據(jù)本身,或與所述數(shù)量/數(shù)據(jù)本身不同的指示符。除非另 外規(guī)定,否則進(jìn)程表示計算機程序的實例,其中計算機程序為確定計算機系統(tǒng)執(zhí)行規(guī)定任 務(wù)的指令序列。計算機可讀媒體涵蓋非暫時性媒體(例如磁性媒體、光學(xué)媒體及半導(dǎo)體存儲 媒體(例如硬驅(qū)動器、光盤、快閃存儲器、DRAM))以及通信鏈路(例如導(dǎo)電電纜及光纖光學(xué)鏈 路)。根據(jù)一些實施例,本發(fā)明尤其提供計算機系統(tǒng),所述計算機系統(tǒng)包括經(jīng)編程以執(zhí)行本 文中所描述的方法的硬件(例如一個或多個處理器),以及用以執(zhí)行本文中所描述的方法的 計算機可讀媒體編碼指令。
[0025]以下描述以實例方式且未必以限制方式圖解說明本發(fā)明的實施例。
[0026]圖1展示根據(jù)本發(fā)明的一些實施例的執(zhí)行反惡意軟件操作的主機系統(tǒng)10的示范性 硬件配置。主機系統(tǒng)10可表示例如企業(yè)服務(wù)器的公司計算裝置或者例如個人計算機或智能 電話的最終用戶裝置以及其它。其它主機系統(tǒng)包含例如TV及游戲控制臺的娛樂裝置,或者 具有支持虛擬化且需要惡意軟件保護的存儲器及處理器的任何其它裝置。圖1出于說明性 目的展示計算機系統(tǒng);例如移動電話或平板計算機的其它客戶端裝置可具有不同配置。在 一些實施例中,系統(tǒng)10包括一組物理裝置,所述物理裝置包含處理器12、存儲器單元14、一 組輸入裝置16、一組輸出裝置18、一組存儲裝置20及一組網(wǎng)絡(luò)適配器22,所述物理裝置全部 由一組總線24連接。
[0027] 在一些實施例中,處理器12包括經(jīng)配置以用一組信號及/或數(shù)據(jù)執(zhí)行計算及/或邏 輯操作的物理裝置(例如多核集成電路)。在一些實施例中,此類邏輯操作以處理器指令(例 如機器代碼或其它類型的軟件)序列的形式遞送到處理器12。存儲器單元14可包括易失性 計算機可讀媒體(例如RAM),所述易失性計算機可讀媒體存儲在實行指令的過程中由處理 器12存取或產(chǎn)生的數(shù)據(jù)/信號。輸入裝置16可包含計算機鍵盤、鼠標(biāo)及麥克風(fēng)以及其它,其 包含允許用戶將數(shù)據(jù)及/或指令引入到系統(tǒng)10中的相應(yīng)硬件接口及/或適配器。輸出裝置18 可包含允許系統(tǒng)10將數(shù)據(jù)傳遞到用戶的顯示裝置(例如監(jiān)視器及揚聲器以及其它)以及硬 件接口/適配器(例如圖形卡)。在一些實施例中,輸入裝置16及輸出裝置18可共享一件共同 硬件,如在觸摸屏裝置的情形中。存儲裝置20包含實現(xiàn)軟件指令及/或數(shù)據(jù)的非易失性存 儲、讀取及寫入的計算機可讀媒體。示范性存儲裝置20包含磁盤及光盤及快閃存儲器裝置 以及可拆卸媒體(例如CD及/或DVD磁盤及驅(qū)動器)。所述組網(wǎng)絡(luò)適配器22使系統(tǒng)10能夠連接 到計算機網(wǎng)絡(luò)及/或連接到其它裝置/計算機系統(tǒng)??偩€24共同地表示實現(xiàn)主機系統(tǒng)10的裝 置12到22的相互通信的所述多個系統(tǒng)、外圍裝置及芯片集總線及/或所有其它電路。舉例來 說,總線24可包括將處理器12連接到存儲器14的北橋(northbridge),及/或?qū)⑻幚砥?2連 接到裝置16到22的南橋(southbridge)以及其它。
[0028] 圖2-A展示在不采用硬件虛擬化的配置中的主機系統(tǒng)10上執(zhí)行的一組示范性軟件 對象。在一些實施例中,客體操作系統(tǒng)(〇S)34包括軟件,所述軟件提供通向主機系統(tǒng)10的硬 件的接口,且為一組軟件應(yīng)用程序42a到42c及44充當(dāng)主機。0S 34可包括任何可廣泛獲得的 操作系統(tǒng),例如Windows?、MacOSR'、Linux?、i()S35或Android?以及其它。應(yīng)用程序 42a到42c可包含字處理、圖像處理、數(shù)據(jù)庫、瀏覽器及電子通信應(yīng)用程序以及其它。
[0029] 圖2-B在使用硬件虛擬化的實施例中展示在主機系統(tǒng)10上執(zhí)行的一組示范性軟件 對象。由虛擬機監(jiān)控程序30暴露