亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

向計算機系統(tǒng)和網(wǎng)絡提供安全性的方法和裝置的制作方法

文檔序號:6566370閱讀:197來源:國知局
專利名稱:向計算機系統(tǒng)和網(wǎng)絡提供安全性的方法和裝置的制作方法
向計算機系統(tǒng)和網(wǎng)絡提供安全性的方法和裝置計算機系統(tǒng)、網(wǎng)絡和數(shù)據(jù)中心被暴露在持續(xù)并且不同的各種攻擊中, 這些攻擊暴露出這些系統(tǒng)的脆弱性,從而損害它們的安全性和/或操作。例 如,各種形式的惡意軟件程序攻擊包括計算機系統(tǒng)可以通過諸如因特網(wǎng)之 類的網(wǎng)絡獲得的病毒、蠕蟲、特洛伊木馬等等。通常,這些計算機系統(tǒng)的 用戶甚至沒有察覺計算機系統(tǒng)內(nèi)已經(jīng)獲得這些惡意程序。 一旦執(zhí)行的惡意 程序駐留在計算機中,它可能中斷計算機的操作到一個不能操作的點和/或 可能借助計算機的操作系統(tǒng)或駐留其中的應用程序的脆弱性將其自身擴散 到網(wǎng)絡或數(shù)據(jù)中心內(nèi)的其他計算機。其他惡意程序可能在計算機中操作, 以秘密提取計算機中的信息并將其發(fā)送到遠程計算機系統(tǒng)以用于各種可疑目的。例如,間諜軟件(spyware)是這樣一種形式的軟件,它可以在計算 機系統(tǒng)的后臺(例如對計算機系統(tǒng)的用戶而言是未知的)執(zhí)行,并且可以 執(zhí)行不希望看到的處理操作,例如跟蹤、記錄該間諜軟件所在計算機系統(tǒng) 的用戶輸入并將其發(fā)送到遠程計算機系統(tǒng)。間諜軟件可以允許遠程計算機 默默地獲取保密信息,例如訪問受保護的數(shù)據(jù)、列表、文件內(nèi)容或甚至遠 程web站點用戶賬戶信息所需的用戶名和密碼。計算機系統(tǒng)開發(fā)者、軟件開發(fā)者和安全性專家已經(jīng)創(chuàng)建出很多種傳統(tǒng) 的預防性措施,這些預防性措施在傳統(tǒng)的計算機系統(tǒng)中操作,以嘗試防止 惡意程序的操作盜取信息或損害計算機系統(tǒng)的正常操作。例如,傳統(tǒng)的病 毒檢測軟件用于周期性地從遠程服務器下載一組病毒定義。 一旦病毒檢測 軟件獲得這些定義,安全性軟件就可以監(jiān)視計算機系統(tǒng)接收的傳入數(shù)據(jù) (例如包含附件的email消息),以識別在計算機訪問的數(shù)據(jù)中可能出現(xiàn) 的被定義在所述病毒定義中的病毒。這種數(shù)據(jù)可能通過網(wǎng)絡獲得,或者可 能不知不覺地駐留在用戶插入到計算機中的計算機可讀介質(zhì)(例如盤或 CD-ROM)中。在檢測到包含病毒或其他惡意程序的進入數(shù)據(jù)之后,病毒 檢測軟件可以隔離該進入數(shù)據(jù),以使得該計算機系統(tǒng)的用戶將不會執(zhí)行代
碼或訪問可能導致?lián)p害計算機的操作的包含了檢測到的病毒的數(shù)據(jù)。傳統(tǒng)的可以導致計算機系統(tǒng)或甚至整個計算機網(wǎng)絡中出現(xiàn)問題的惡意 攻擊、入侵或不希望看到的處理的其他示例包括病毒攻擊、蠕蟲攻擊、特 洛伊木馬攻擊、拒絕服務攻擊、緩沖區(qū)溢出操作、畸形應用數(shù)據(jù)的執(zhí)行和 惡意移動代碼的執(zhí)行。病毒攻擊、蠕蟲攻擊和特洛伊木馬攻擊是彼此的變 體,它們一般涉及用戶通常不知曉其存在的程序的執(zhí)行,該程序執(zhí)行某些 不希望看到的處理操作以損害計算機的正常操作。拒絕服務攻擊操作提供 從很多不同的計算機系統(tǒng)發(fā)出的故意的分組同時阻塞(例如很多連接嘗試)到一個或多個目標計算機系統(tǒng)(例如web站點),以故意導致目標計算機的處理能力過載,從而導致目標計算機提供的服務或業(yè)務功能中斷。 拒絕服務攻擊還可能企圖摧毀目標機器(而不僅僅是消耗資源)。緩沖區(qū) 溢出攻擊發(fā)生在程序不對存儲在軟件的內(nèi)部數(shù)據(jù)結(jié)構(gòu)中的數(shù)據(jù)提供適當?shù)?檢査,從而導致覆寫存儲器周圍區(qū)域時。基于緩沖區(qū)溢出的攻擊可能允許 攻擊者在目標系統(tǒng)上執(zhí)行任意代碼,以調(diào)用特權(quán)訪問、毀壞數(shù)據(jù)或執(zhí)行其 他不希望看到的功能。畸形應用數(shù)據(jù)攻擊可能導致應用包含這樣的代碼 段,如果該代碼段被執(zhí)行,則會提供對在其他情況下對應用而言保持私密 的資源的訪問。這些攻擊由于應用的不正確執(zhí)行(例如通過無法提供適當 的數(shù)據(jù)有效性檢查或者允許數(shù)據(jù)流解析差錯等等)而可以暴露出脆弱性。很多傳統(tǒng)的用于攻擊計算機系統(tǒng)的惡意程序和機制(例如病毒和蠕 蟲)包括將它們自身重新分發(fā)到計算機網(wǎng)絡中的其他計算機系統(tǒng)或設(shè)備以 使得多個計算機受到感染并經(jīng)歷上述惡意處理行為的能力。某些防止惡意 程序重新分發(fā)的傳統(tǒng)嘗試包括在聯(lián)網(wǎng)的計算機系統(tǒng)的不同部分之間的防火 墻或網(wǎng)關(guān)中實現(xiàn)諸如病毒檢測軟件之類的惡意程序檢測機制,以便停止惡 意程序向子網(wǎng)的傳播。發(fā)明內(nèi)容當前用于向計算機和計算機網(wǎng)絡提供安全性的機制存在多個缺陷。本 發(fā)明的實施例提供了多個這些傳統(tǒng)系統(tǒng)所不具備的優(yōu)點來避免這些缺陷。 具體而言,用于防止計算機系統(tǒng)遭受惡意攻擊的傳統(tǒng)系統(tǒng)(例如病毒檢測
軟件)嚴格依賴于周期性地遠程接收允許傳統(tǒng)的安全性軟件識別和隔離惡 意程序的信息(例如病毒定義)的能力。很多最常見的傳統(tǒng)形式的安全性 軟件(例如病毒定義程序)依賴于從由安全性軟件供應商維護的通過因特 網(wǎng)訪問的中央服務器獲得周期性的病毒定義更新。結(jié)果,最近的病毒定義 更新只反映出最近已經(jīng)檢測出的并且已經(jīng)被維護和分發(fā)病毒定義文件的供 應商打上了指紋并被插入到病毒定義文件中的那些病毒。由于這些傳統(tǒng)的保護系統(tǒng)需要周期性的更新,因此這些傳統(tǒng)系統(tǒng)只能 應對傳統(tǒng)保護軟件的單獨實例能夠接收的惡意程序定義(例如病毒定義) 的最近更新。例如,傳統(tǒng)的病毒檢測軟件將無法認出尚未在從遠程服務器 獲取的一組病毒定義的最近更新中標識和/或定義的那些被創(chuàng)建并發(fā)送到計 算機系統(tǒng)的病毒。因此,在最近病毒定義更新中沒有定義的惡意程序代碼 或數(shù)據(jù)可能被成功地插入網(wǎng)絡中的計算機系統(tǒng)中并在其中執(zhí)行以便執(zhí)行上 述惡意處理,即使這些系統(tǒng)上裝配了傳統(tǒng)的安全性軟件(即病毒檢測軟 件)也會如此。結(jié)果,傳統(tǒng)的安全性軟件實現(xiàn)方式通常是在惡意程序開發(fā)者不斷創(chuàng)建 和散布的新攻擊的防止和擴散之后的若干步驟。這個問題與以下事實混合 在一起現(xiàn)代惡意程序能夠在短時間(例如幾小時)內(nèi)將其自身快速分發(fā) 到諸如因特網(wǎng)之類網(wǎng)絡上的成百上千個計算機系統(tǒng),然而大多數(shù)傳統(tǒng)的安 全性軟件只能以較低頻率(例如在夜間)獲得更新。本發(fā)明的實施例基本克服了上述缺陷并且為計算機系統(tǒng)和網(wǎng)絡提供了 能夠快速識別惡意攻擊并且防止這些攻擊擴散到其他計算機系統(tǒng)的安全性 系統(tǒng)。在效果上,本發(fā)明的實施例用于自愈的計算機網(wǎng)絡系統(tǒng)。本發(fā)明的 配置包括一個或多個工作在網(wǎng)絡中的獨立主機計算機系統(tǒng)中的安全性代 理。所述安全性代理能夠與管理中心交互以獲得安全性策略,該安全性策 略包含一組指示可能在計算機系統(tǒng)中被允許或被禁止的操作的類型。 一旦 代理已經(jīng)獲得安全性策略,該代理就操作多個安全性攔截器,所述安全性 攔截器可以監(jiān)視由該安全性代理所保護的主機計算機系統(tǒng)中的各種軟件和 硬件組件所執(zhí)行的處理操作。安全性代理通過檢測經(jīng)由相關(guān)處理操作序列 在計算機化設(shè)備中的操作所產(chǎn)生的處理結(jié)果來向該計算機化設(shè)備提供安全 性。作為示例,與到Web服務器的進入連接相關(guān)的處理操作可以被工作在計算機系統(tǒng)和操作系統(tǒng)和應用層代碼的不同部分中的各個攔截器所監(jiān)視,以便檢測進入Web服務器連接嘗試觸發(fā)的相關(guān)處理操作序列。每個攔截器 檢測特定事件并將該事件傳遞到事件相關(guān)引擎,事件相關(guān)引擎在安全性歷 史中記錄處理結(jié)果和相關(guān)處理操作序列。事件相關(guān)引擎在安全性歷史中的 檢測到的處理操作之一產(chǎn)生違背(violation)安全性策略的處理結(jié)果時識別 出安全性違背。這可能在不希望看到的結(jié)果在計算機系統(tǒng)中發(fā)生之前、期 間或之后,所述不希望看到的處理結(jié)果例如是系統(tǒng)崩潰、系統(tǒng)差錯、保護 違背、進程中斷或其他在安全性策略中定義的不希望看到的動作。安全性 代理隨后能夠檢測嘗試產(chǎn)生至少一個違背安全性策略的處理結(jié)果的類似相 關(guān)處理操作序列的嘗試執(zhí)行。作為響應,安全性代理拒絕相關(guān)處理操作序 列的至少一部分在計算機化設(shè)備中的操作,以避免違背安全性策略。安全 性代理還可以將導致安全性違背的處理操作序列標記或以其他方式標識為 被禁止的處理操作序列,并且可以將該信息實時地(例如在檢測到之后) 散布到在網(wǎng)絡中的其他主機計算機系統(tǒng)上工作的其他安全性代理,以便傳 播惡意攻擊嘗試在檢測到該攻擊的計算機系統(tǒng)上執(zhí)行的行為或處理樣式的 知識,從而使其它計算機系統(tǒng)將不易受到該攻擊的影響。以這種方式,本發(fā)明的實施例基于處理行為檢測安全性違背,并識別 或標記導致安全性違背的處理步驟。本質(zhì)上,這里公開的配置可以識別處 理失敗并且可以獲知導致該失敗的原因,從而能夠在未來禁止這樣的處理 步驟。這里公開的配置可以識別諸如惡意程序已經(jīng)適當?shù)亟M織以導致失敗 的系統(tǒng)調(diào)用序列之類的處理操作,并且安全性代理維護這導致失敗的調(diào)用 的安全性歷史,從而使得將來能夠避免執(zhí)行類似的序列調(diào)用,從而防止失 敗。本發(fā)明的其他實施例包括任意類型的計算機化設(shè)備、工作站、手持或 膝上型計算機等,它們與軟件和/或電路(例如處理器)配置在一起以處理 這里公開的任意或全部方法操作。換言之,被編程或被配置用于以這里說 明的方式工作的計算機化設(shè)備或處理器被認為是本發(fā)明的實施例。這里公開的本發(fā)明的其他實施例包括用于執(zhí)行上面概括出并將在下面
詳細公開的步驟和操作的軟件程序。 一個這樣的實施例包括具有包括編碼 在其上的計算機程序邏輯的計算機可讀介質(zhì)的計算機程序產(chǎn)品,當所述計 算機程序邏輯在具有存儲器和處理器的耦合關(guān)系的計算機化設(shè)備中被執(zhí)行 時,將處理器編程為執(zhí)行這里公開的操作。這樣的布置通常是作為布置或 編碼在計算機可讀介質(zhì)上的軟件、代碼和/或其他數(shù)據(jù)(例如數(shù)據(jù)結(jié)構(gòu))來提供的,所述計算機可讀介質(zhì)例如是光介質(zhì)(例如CD-ROM)、軟盤或硬 盤或其他介質(zhì),例如在一個或多個ROM或RAM或PROM芯片中的固件 或微代碼或者作為專用集成電路(ASIC)。軟件或固件或其他這樣的配置 可被安裝在計算機化設(shè)備上,以致使計算機化設(shè)備執(zhí)行這里作為本發(fā)明的 實施例說明的技術(shù)。將會理解,本發(fā)明的系統(tǒng)可以被嚴格具體化為例如在處理器內(nèi)或在操 作系統(tǒng)內(nèi)的軟件程序、軟件和硬件,或者單獨的硬件。本發(fā)明的示例性實 施例可被實現(xiàn)在由美國加州San Jose的Cisco Systems公司生產(chǎn)的計算機系 統(tǒng)、處理器和計算機程序產(chǎn)品和/或軟件應用中。


從以下對在附圖中示出的本發(fā)明實施例的更具體描述中,本發(fā)明的前 述和其他目的、特征和優(yōu)點將變得明顯。在附圖中,不同視圖中的類似標 號指示相同部分。附圖不一定是按比例繪制的,在示出本發(fā)明的實施例、 原理和概念時可以強調(diào)重點。圖1示出包括按這里公開配置的安全性系統(tǒng)的網(wǎng)絡環(huán)境的示例性配置。圖2示出按一種示例性配置被配置以安全性系統(tǒng)的計算機化設(shè)備的示 例性體系結(jié)構(gòu)。圖3是用于向根據(jù)這里公開的一種示例性配置的計算機化設(shè)備提供安 全性的處理步驟的流程圖。 '圖4示出可以由這里公開的計算機安全性系統(tǒng)執(zhí)行的兩個或更多個安 全性歷史的比較結(jié)果的細節(jié)。圖5到8是由這里公開的計算機安全性系統(tǒng)執(zhí)行的示例性處理操作的
流程圖。
具體實施方式
圖1示出適合用于說明本發(fā)明的示例性實施例的示例性計算機聯(lián)網(wǎng)環(huán)境100。該計算機聯(lián)網(wǎng)環(huán)境100包括諸如局域網(wǎng)(LAN)之類的計算機網(wǎng) 絡105,該計算機網(wǎng)絡105互連安全性管理計算機系統(tǒng)115、邊緣路由器 107以及多個主機計算機系統(tǒng)110,其中每個主機計算機系統(tǒng)110操作 (例如執(zhí)行、運行、翻譯或以其他方式執(zhí)行)按這里公開方式配置的安全 性代理150。安全性管理計算機系統(tǒng)115還操作按這里公開方式操作的管 理中心應用160。邊緣路由器107將網(wǎng)絡105耦合到諸如因特網(wǎng)之類的廣 域網(wǎng)108,所述廣域網(wǎng)108允許計算機系統(tǒng)110、 115與其他世界范圍內(nèi)的 計算機之間的通信。注意,管理中心計算機115可能通過該示例中未示出 的防火墻與WAN 108隔離開。主機計算機IIO可以是運行任意類型的軟件、固件或操作系統(tǒng)的任意 類型的計算機系統(tǒng)、工作站、服務器(例如web服務器)、個人計算機、 膝上型計算機、大型機、個人數(shù)字助理設(shè)備、通用或?qū)S糜嬎阍O(shè)備等等。 它們可以物理地或無線地耦合到網(wǎng)絡105以支持通信。安全性代理150和 管理中心應用160操作以用于在無需安全性代理150連續(xù)并周期性地下載 簽名或病毒定義文件的情況下動態(tài)地檢測和防止計算機110上的惡意攻 擊。 一般而言,管理員103在將被保護的計算機系統(tǒng)IIO上安裝安全性代 理150,并且他們負責在這些系統(tǒng)上實施適當?shù)陌踩圆呗?。安全性代?50具有以下能力它們能夠通過監(jiān)視、分析和記錄在發(fā) 生諸如惡意攻擊之類的安全性違背前發(fā)生的計算機系統(tǒng)110的處理行為和 事件來獲知什么導致所述安全性違背,以便防止未來再發(fā)生這樣的事件。 換言之,這里公開的安全性系統(tǒng)能夠監(jiān)視和記錄導致不希望看到的處理操 作(例如進程例外、系統(tǒng)崩潰等等)的處理行為,并且能夠分析己記錄的 導致了不希望看到的操作或問題的處理操作以識別出失敗的根本原因。一 旦被識別出,安全性系統(tǒng)就能夠防止被識別為失敗的根本原因的單個操作 或處理操作的序列在該計算機系統(tǒng)或其他計算機系統(tǒng)上再次發(fā)生,以便避
免更多的安全性違背并防止在其他計算機上發(fā)生這樣的攻擊。這里公開的 安全性代理因此無需在過去已經(jīng)看到導致新型惡意攻擊的處理就能夠獲知 這樣的新型攻擊,并且能夠在未來防止這樣的攻擊。獲知與新攻擊相關(guān)聯(lián) 的處理、識別出其根本原因并防止其在未來再次發(fā)生的能力可以在無需獲 得由裝配有安全性代理的計算機系統(tǒng)接收的外部輸入(例如病毒定義文 件)的情況下發(fā)生。這里公開的安全性代理操作包括以基于規(guī)則的安全性策略中的某些已 知的安全性違背預先編程,并且即使是第一次,也要防止它們發(fā)生。另 外,這樣的處理還涉及記錄和后處理導致安全性違背(即沒有被預先編程 并因此在第一次發(fā)生時無法意識到)的安全性歷史事件數(shù)據(jù),以識別計算 機系統(tǒng)中的該安全性違背的根本原因(例如一個或多個處理操作或事 件),以便防止其第二次發(fā)生。這可以涉及對由單個計算機系統(tǒng)110中的安全性代理150所收集的若干安全性歷史進行本地比較,以識別導致不希望看到的處理結(jié)果(即安全性違背)的處理行為的常見樣式。安全性代理150還可以將事件和安全性歷史信息發(fā)送到管理中心160。管理中心160充當由安全性代理150生成的所有事件日志記錄的中心 存儲庫,并提供用于監(jiān)視和報告的功能。管理中心160還使工作在不同計 算機系統(tǒng)IIO上的安全性代理150所生成的事件記錄相關(guān),以用于檢測網(wǎng) 絡中的可疑行為。-圖2示出根據(jù)一個示例性實施例配置以安全性代理的主機計算機系統(tǒng) 110的體系結(jié)構(gòu)。安全性代理組件包括多個安全性攔截器200-1到200-7, 例如包括網(wǎng)絡流量攔截器200-1、網(wǎng)絡應用攔截器200-2、文件攔截器 200-3、注冊攔截器200-4、系統(tǒng)調(diào)用攔截器200-5、緩沖區(qū)溢出攔截器 200-6和數(shù)據(jù)攔截器200-7。在本示例性配置中,安全性代理150還包括事 件相關(guān)引擎210、代理用戶接口 213和本地事件管理器214。事件相關(guān)引 擎210存儲了安全性策略211,該安全性策略211包含被用于命令安全性 代理150通過如下手段來保護其操作所在計算機IIO的規(guī)則,所述手段是 通過攔截和實施所述規(guī)則以限制可以由該計算機IIO執(zhí)行的操作。管理員 103使用管理中心應用160創(chuàng)建和分發(fā)用于將被保護的每個計算機系統(tǒng)110的安全性策略。在一種配置中,網(wǎng)絡流量攔截器200-1位于TCP驅(qū)動器221與網(wǎng)絡接 口卡224或其他通信接口之間。該網(wǎng)絡流量攔截器200-1在來自網(wǎng)絡的分 組到達本地操作系統(tǒng)TCP棧之前査看這些分組,并且可以檢測諸如遠程 計算機掃描該計算機系統(tǒng)110之類的惡意操作或指令。這樣的攻擊例如可 以包括死亡之Ping攻擊、TCP SYN洪泛攻擊、端口掃描攻擊等等。其他 安全性攔截器200可以包括分組攔截器、連接攔截器、文件共享攔截器、 數(shù)據(jù)過濾攔截器、注冊攔截器、系統(tǒng)調(diào)用攔截器等等。攔截器200可以通 過使用例如windows注冊密鑰來安裝和執(zhí)行,所述windows注冊密鑰創(chuàng)建 對標準MS Windows動態(tài)鏈接庫(dll)的依賴性,從而使攔截器dll 200 與它們監(jiān)視的適當?shù)膚indows dll—道被加載。攔截器因此可以充當用于 監(jiān)視對任意特定計算機組件發(fā)出的任意調(diào)用的處理操作的包裝器 (wrapper)。該示例性配置還包括若干工作在計算機系統(tǒng)110中的未作為安全性代 理體系結(jié)構(gòu)本身的一部分的組件。具體而言,該示例性配置包括一個或多 個在計算機系統(tǒng)110的用戶空間240中執(zhí)行的軟件應用220。該計算機系 統(tǒng)110還操作內(nèi)核空間242中的若干組件,例如一個或多個外設(shè)驅(qū)動器 222、網(wǎng)絡接口驅(qū)動器224、通信協(xié)議組件226和操作系統(tǒng)228。將會理 解,組件222到228出于描述本發(fā)明的操作的目的而被示為分開的,并且 它們可以被組合在一起,例如包括了設(shè)備驅(qū)動器222和通信協(xié)議組件226 的操作系統(tǒng)。一般而言,根據(jù)這里公開的實施例的操作,攔截器200監(jiān)視處理行為 并收集和報告事件數(shù)據(jù)212到事件相關(guān)引擎210,以用于用戶和內(nèi)核空間 240和242中的各個標準處理組件220到228。事件相關(guān)引擎210將事件 數(shù)據(jù)存儲在一個或多個安全性歷史216中。事件數(shù)據(jù)212可以包括諸如由 網(wǎng)絡流量攔截器200-1檢測到的被發(fā)送到網(wǎng)絡接口驅(qū)動器224的新連接請 求的標識之類的事物。作為另一示例,應用文件攔截器200-2可以識別處 理行為(例如應用220經(jīng)由操作系統(tǒng)調(diào)用訪問特定文件)并將此作為事件 數(shù)據(jù)212報告給事件相關(guān)引擎210。除了圖2所示那些攔截器之外還可能
存在其他攔截器200,因此攔截器201到206僅僅是作為示例示出的。事 件相關(guān)引擎210使事件數(shù)據(jù)212與安全性策略211相關(guān),以便向攔截器 200提供關(guān)于是否應該允許與該事件數(shù)據(jù)相關(guān)聯(lián)的處理行為的指示。事件 相關(guān)引擎210還可以按照需求命令攔截器200收集更多或更少的事件數(shù)據(jù) 212。由于能夠跟蹤操作,因此在不希望看到的處理操作的情況下,計算 機系統(tǒng)110的行為可以被分析,并且已經(jīng)發(fā)生的導致不希望看到的處理操 作的事件序列可被"打上指紋"和被標記,以使得如果其再次發(fā)生,可以 在它們被全面執(zhí)行前被阻止。另外,通過記錄來自多次失敗的軌跡并確定 它們之間的共性,如果若干計算機系統(tǒng)遭受類似的攻擊,則可以識別攻擊 之間的共性并在未來防止它們再發(fā)生,即使攻擊程序改變了其身份或改變 了其內(nèi)容也能如此。圖3是根據(jù)一個示例性實施例安全性系統(tǒng)執(zhí)行的用于向計算機化設(shè)備 110提供安全性的高層處理步驟的流程圖。在步驟300中,安全性代理150檢測計算機化設(shè)備110中的相關(guān)處理 操作序列的操作。這包括操作安全性攔截器200檢測各個計算機系統(tǒng)組件 222到228的各種處理操作,以及創(chuàng)建和發(fā)送事件數(shù)據(jù)212 (例如事件數(shù) 據(jù)記錄)到事件相關(guān)引擎210以存儲在安全性歷史216中。每個事件數(shù)據(jù) 記錄212可以標識提供事件數(shù)據(jù)212的特定安全性攔截器200以及該安全 性攔截器200負責監(jiān)視的計算機系統(tǒng)組件220到228所執(zhí)行的各個處理操 作。事件數(shù)據(jù)212還可以包括在組件220到228的特定處理操作的操作期 間獲得或產(chǎn)生的輸入數(shù)據(jù)、參數(shù)和/或處理結(jié)果。攔截器200可以在事件數(shù)據(jù)212中報告的示例性處理操作和/或數(shù)據(jù) 包括來自嘗試與計算機系統(tǒng)IIO發(fā)起新通信會話的網(wǎng)絡105的數(shù)據(jù)分組的 接收。事件數(shù)據(jù)212還可以包括關(guān)于分組的特定信息(例如標識從其發(fā)出 分組的計算機系統(tǒng)或網(wǎng)絡設(shè)備的因特網(wǎng)協(xié)議(IP)地址)、分組的任意數(shù) 據(jù)內(nèi)容以及與分組相關(guān)聯(lián)的協(xié)議信息。作為另一示例,如果被檢測和報告 的事件或處理操作應用220為了訪問文件(例如經(jīng)由用于訪問盤上文件的 系統(tǒng)調(diào)用或設(shè)備驅(qū)動器調(diào)用)而作出文件系統(tǒng)訪問嘗試,文件攔截器200-3或操作系統(tǒng)調(diào)用攔截器200-5則可能產(chǎn)生指示應用220的身份、將被訪問的特定文件的身份和請求文件訪問類型的事件數(shù)據(jù)記錄212。在步驟301中,事件相關(guān)引擎210將相關(guān)處理操作序列記錄在安全性 歷史216中,并且記錄與這些處理操作相關(guān)聯(lián)的處理結(jié)果(如果有的 話)。這包括從攔截器200接收事件數(shù)據(jù)212和將事件數(shù)據(jù)212存儲在安 全性歷史216中。來自不同安全性攔截器200的存儲在單個安全性歷史 216中的事件數(shù)據(jù)'212標識相關(guān)處理操作序列,并且在典型配置中,安全 性歷史216將包含一組記錄,這組記錄包含計算機系統(tǒng)110的預定操作時 間段中從每個攔截器200報告的事件數(shù)據(jù)212。例如,安全性歷史216是事件數(shù)據(jù)212的環(huán)形緩沖區(qū),其在已被存儲 了預定時間量(例如最近30分鐘或最近24小時或每個其他的預定時間 段)的事件數(shù)據(jù)超時之后,用新的事件數(shù)據(jù)覆寫舊的事件數(shù)據(jù)。從各種安 全性攔截器200產(chǎn)生的事件數(shù)據(jù)212的收集量或收集頻率可以指示安全性 歷史216的尺寸。安全性歷史可被本地存儲在存儲器中或者可被永久存 儲,以便隨后在計算機系統(tǒng)UO全面崩潰的情況下可用。在步驟301中對處理結(jié)果的記錄發(fā)生在計算機系統(tǒng)110執(zhí)行不希望看 到的處理操作時,所述不希望看到的處理操作例如是故障、崩潰、進程中 斷或例外或者可能導致計算機系統(tǒng)110中發(fā)生不正?;虿幌M吹降奶幚?的其他結(jié)果。事件相關(guān)引擎210可以在這種不希望看到的處理操作發(fā)生之 后對其進行標識并可以使其與最近收集的安全性歷史116相關(guān)聯(lián)。在步驟302中,事件相關(guān)引擎210在記錄在安全性歷史216中的檢測 到的處理操作之一產(chǎn)生了違背安全性策略的處理結(jié)果時識別出安全性違 背。例如,如果在安全性歷史216中記錄的相關(guān)處理操作序列導致安全性 策略211中定義的安全性違背,計算機系統(tǒng)IIO則可能經(jīng)歷故障(例如系 統(tǒng)崩潰)。在恢復之后,在計算機IIO的每次重啟的啟動序列的開始時執(zhí) 行的安全性代理150在安全性歷史116中提供系統(tǒng)崩潰的指示。在步驟303中,安全性代理150隨后檢測試圖產(chǎn)生至少一個違背安全 性策略211的處理結(jié)果的類似相關(guān)處理操作序列的嘗試執(zhí)行,并作為響 應,拒絕該相關(guān)處理操作序列的至少一部分在計算機化設(shè)備IIO中的操作 以避免違背安全性策略211。因此,在操作期間,在一種配置中的攔截器 200向事件相關(guān)引擎210報告事件,所述事件相關(guān)引擎210將事件數(shù)據(jù)記 錄在安全性歷史216中。當發(fā)生不希望看到的處理時,事件相關(guān)引擎210 將該不希望看到的處理結(jié)果與記錄在安全性歷史216中的在該不希望看到 的處理結(jié)果之前已經(jīng)發(fā)生的處理樣式相關(guān)聯(lián)。此后,事件相關(guān)引擎可以監(jiān) 視接收自攔截器的事件數(shù)據(jù)212以識別何時發(fā)生導致不希望看到的處理操 作的類似處理樣式。事件相關(guān)引擎210可以命令攔截器200禁止特定操作 以防止發(fā)生不希望看到的處理操作。在惡意攻擊期間,不希望看到的處理操作可能嘗試在攔截器200正在 對其監(jiān)視事件數(shù)據(jù)212的任意組件中執(zhí)行。另一不希望看到的處理操作的 示例是緩沖區(qū)溢出攻擊,其導致組件中的處理例外或其他事件在用戶或內(nèi) 核空間240或242中操作。作為緩沖區(qū)溢出攻擊的一個示例,在web服務 器上,本發(fā)明的系統(tǒng)可以檢測溢出并且可以將其映射到最近接收的導致故 障的URI (URL)。此后,通過阻止新連接發(fā)送該URI到web服務器, 可以阻止該故障未來再次發(fā)生。"Code Red"蠕蟲是緩沖區(qū)溢出攻擊的一 個示例。由這里公開的實施例提供的緩沖區(qū)溢出保護將阻止這樣的蠕蟲搞 破壞,但服務器可能不得不通知和重啟。如果以前曾經(jīng)遇到導致不希望看到的操作的處理操作序列,攔截器 200則可以被事件相關(guān)引擎210預先命令以防止先前己被確定為以前檢測 到的緩沖區(qū)溢出安全性違背的根本原因的一個或多個處理操作被執(zhí)行。在 這種攻擊的第一實例上,導致緩沖區(qū)溢出的處理步驟序列可能過去沒有遇 到過,因此不希望看到的緩沖區(qū)溢出操作可能被實施或執(zhí)行,從而導致進 程或線程失敗、中斷、例外等等。不希望看到的操作可能非常嚴重,以至 于導致計算機系統(tǒng)110崩潰或以其他方式停止操作,這甚至可能導致重 啟。在從不希望看到的處理操作中恢復過來之后,事件相關(guān)引擎210可以 識別發(fā)生的不希望看到的處理操作,并且可以識別出記錄在安全性歷史 216中的事件數(shù)據(jù)212所指定的導致了 (即導致發(fā)生)該不希望看到的處 理操作的處理事件序—列。作為響應,在一種配置中,事件相關(guān)引擎210通 知攔截器200中的一個或多個將被"監(jiān)視"以找到根本原因(換言之,觸
發(fā)了該不希望看到的操作的處理操作序列),以便在未來防止其發(fā)生。在一種配置中,當攔截器200檢測到每個處理操作并向事件相關(guān)引擎210報告事件數(shù)據(jù)212時,事件相關(guān)引擎210實時接收來自攔截器200的 所有事件數(shù)據(jù)。在該配置中,事件相關(guān)引擎可以將事件數(shù)據(jù)212的序列與 先前識別出的來自安全性歷史216的過去收集的導致安全性違背的事件數(shù) 據(jù)序列相比較。當發(fā)送到攔截器200的事件數(shù)據(jù)212的序列上指示即將到 來的安全性違背時,事件相關(guān)引擎210可以命令適當?shù)臄r截器200中的一 個或多個禁止將導致安全性違背的即將到來的處理操作。在替換配置中, 一旦事件相關(guān)引擎210基于對導致了不希望看到的處 理操作的安全性歷史216的分析而識別出失敗的根本原因,事件相關(guān)引擎 210就可以命令一個或多個攔截器200在特定處理指令的序列發(fā)生之前禁 止這些處理指令。在該配置中,然后,攔截器200被事件相關(guān)引擎210預 編程,以在遇到將導致安全性違背的特定處理操作之前禁止這些操作。事件數(shù)據(jù)212的評價和不希望看到的處理操作的根本原因的識別可以 是粒狀的(granular),以使得如果識別出所述根本原因在特定用戶應用 220中或在特定用戶或內(nèi)核組件222到228中發(fā)生,與該應用或組件相關(guān) 聯(lián)的特定安全性攔截器200則可被命令防止該特定處理操作在未來發(fā)生, 以避免安全性違背。在替換配置中,事件數(shù)據(jù)收集可以是最少的,直到發(fā)生不希望看到的 處理操作為止。此后,可以針對與所經(jīng)歷的不希望看到的處理操作的類型 相關(guān)聯(lián)的攔截器200增大事件數(shù)據(jù)的收集,以便輔助在對安全性歷史216 中的事件數(shù)據(jù)212執(zhí)行分析過程期間,更接近地査明失敗的根本原因。例 如,如果不希望看到的處理操作是特定用戶應用220的操作的突然中斷, 事件相關(guān)引擎210則可以命令數(shù)據(jù)攔截器200-7和/或緩沖區(qū)溢出攔截器 200-6增大在重啟應用220之后收集的事件數(shù)據(jù)的量,以使得能夠更好地 分析安全性歷史216中收集的事件數(shù)據(jù)212,從而如果其再次發(fā)生,則可 以更接近地查明失敗的根本原因。將會理解,事件相關(guān)引擎210能夠存儲與導致不希望看到的處理操作 的操作序列的獨立記錄相關(guān)聯(lián)的獨立的安全性歷史216-1到216-X。這可 以允許檢測導致不希望看到的處理操作的兩個或更多個安全性歷史中的公 共事件序列。將會理解,在一個計算機系統(tǒng)110中的安全性代理150中的事件相關(guān)引擎210能夠向管理中心160發(fā)送與一個或多個安全性歷史216相關(guān)聯(lián)的 事件數(shù)據(jù)212,所述管理中心160可以執(zhí)行包含針對多個計算機系統(tǒng)110 的事件數(shù)據(jù)212的安全性歷史之間的相關(guān)操作。這可以實時(或接近實時 地)發(fā)生,以便識別指示整個計算機網(wǎng)絡正在遭受惡意攻擊的處理操作。作為示例,本發(fā)明的實施例例如可被用來實時地檢測和防止拒絕服務 攻擊,在拒絕服務攻擊中,若干計算機系統(tǒng)110通過從遠程計算機系統(tǒng) (例如從因特網(wǎng)108)接收大量分組而遭受攻擊。該網(wǎng)絡速率限制的示例 還可以應用到被發(fā)送到應用(類似于web服務器)的網(wǎng)絡連接而不僅僅是 分組。在此情況下,網(wǎng)絡流量攔截器200-1可能正在報告指示分組或連接 以極快速率到達的大量事件數(shù)據(jù)212。雖然該關(guān)于其自身的信息可能沒有 指示拒絕服務攻擊,但是在一個配置中,超出預定閾值的分組到達速率會 觸發(fā)事件相關(guān)引擎210將其安全性歷史216的最近分段發(fā)送到管理中心 160。如果網(wǎng)絡105中的若干計算機系統(tǒng)110正在經(jīng)歷來自遠程源的類似 高速率分組到達,管理中心160則能夠在針對每個分組到達速率超出預定 閾值的計算機系統(tǒng)110的安全性歷史216-1到216-X的部分中識別出該處 理樣式。基于該樣式的識別,管理中心160可以向每個安全性代理150提 供指令,該指令致使網(wǎng)絡流量攔截器200-1丟棄來自正在嘗試拒絕服務攻 擊的一個或多個遠程源的在該計算機處發(fā)起的連接嘗試分組。從拒絕服務 攻擊開始到其檢測和發(fā)送用于丟棄分組的指令到網(wǎng)絡流量攔截器200-1所 經(jīng)過的時間量可以足夠小,以避免網(wǎng)絡105的服務的重大損失。在另一替換配置中,分析多個計算機系統(tǒng)210的安全性歷史216的實 時或接近實時能力允許這里公開的安全性系統(tǒng)快速識別在網(wǎng)絡105中的計算機系統(tǒng)IIO之間擴散的惡意攻擊,但該惡意攻擊在每次嘗試從一個計算 機系統(tǒng)到另一計算機系統(tǒng)的傳播時變換其自身以避免檢測。作為一個示 例,某些類型的攻擊是由惡意程序引起的,所述惡意程序在導致不希望看 到的處理操作的操作期間創(chuàng)建其自身的新版本,該新版本具有不同的文件 名并且在可執(zhí)行分段的某些部分中甚至可能具有不同的代碼。這種惡意程 序?qū)⑵湫掳姹痉职l(fā)到網(wǎng)絡中的其他計算機,以嘗試不會被傳統(tǒng)的簽名掃描 技術(shù)檢測到,所述簽名掃描技術(shù)例如依賴于病毒定義。但是,在惡意程序 的每個不同版本中,由于這樣的程序產(chǎn)生的不希望看到的處理操作通常是 相同的,并且在不希望看到的操作(即失敗的根本原因)之前發(fā)生處理步 驟序列是相同的。由于在失敗的根本原因之前的處理是相同的,因此經(jīng)歷 了失敗的運行這里公開的安全性代理150的計算機系統(tǒng)110能夠從計算機系統(tǒng)iio中不希望看到的處理結(jié)果中恢復過來,并響應于從不希望看到的 處理結(jié)果的恢復分析安全性歷史216,以識別出導致了該不希望看到的處 理結(jié)果的相關(guān)處理操作序列。安全性代理150隨后可以將該相關(guān)處理操作 序列和安全性歷史中的相關(guān)處理結(jié)果標記為違背安全性策略的處理操作序 列(即可以將這樣的序列標記為失敗的根本原因),并且可以將該根本原 因分發(fā)到管理中心160,以分發(fā)到操作安全性代理150的其他實例的其他 計算機110。因此,即使惡意程序變換其自身以嘗試隱藏其身份(從而防 止傳統(tǒng)的基于名稱的掃描軟件檢測到其存在),用于監(jiān)視發(fā)生的處理操作 的遠程操作的安全性代理150被裝配成一旦其被分發(fā)到計算機110,也就 能夠檢測該惡意程序?qū)L試的操作。圖4示出了這里說明的配置如何執(zhí)行不同安全性歷史216中的事件數(shù) 據(jù)212的相關(guān)以識別不希望看到的處理操作的根本原因。單個安全性代理 150中的(或管理中心應用160中的)事件相關(guān)引擎210可以使來自一個 或多個本地安全性歷史216的事件數(shù)據(jù)記錄212相關(guān)以識別不希望看到的 處理操作的根本原因,或者管理中心160可以收集來自多個計算機系統(tǒng) 110的安全性歷史216以使它們彼此相關(guān),從而識別導致安全性違背的公 共處理序列。在圖4中,兩個安全性歷史216-1和216-2被示為分別包含多個事件 記錄212。在該示例中,事件記錄被簡化為包含產(chǎn)生該事件數(shù)據(jù)記錄212 的安全性攔截器200的身份231、該安全性攔截器200檢測到的處理指令 232和指示該事件數(shù)據(jù)記錄的創(chuàng)建時間的時間戳233。其他信息也可以包 括在事件數(shù)據(jù)212中,例如進程或程序身份、程序計數(shù)器信息、程序調(diào)用
或子例程信息、將被訪問的數(shù)據(jù)的文件名、動態(tài)鏈接庫信息等等。在本示 例性配置中,安全性歷史216還包括對從一個或多個不希望看到的處理操作產(chǎn)生的特定安全性違背234的指示。在本示例中,安全性歷史216-1和 216-2兩者都指示安全性違背"XYZ"。安全性違背234的指示例如可以 包含對系統(tǒng)級崩潰的類型、例外身份、進程身份和例外時處理器的程序計 數(shù)器位置、失敗的時間戳、產(chǎn)生差錯的軟件或硬件組件等的指示。安全性 代理150可以在從崩潰中恢復之后或在觀察到例外、故障等之后從操作系 統(tǒng)228獲得這樣的特定安全性違背234。為此,在啟動操作系統(tǒng)228之 后,安全性代理150可以在操作系統(tǒng)228中注冊將用于通知這種安全性事 件、失敗、進程例外等的任意所需的信號處理程序(handler)。在檢測到特定安全性違背234之后,事件相關(guān)引擎210能夠執(zhí)行兩個 或更多個安全性歷史216的比較,以識別包含發(fā)生在該特定安全性違背 234之前的類似(或相同)指令序列的公共處理操作序列(例如序列251 和252)。如果兩個或更多個安全性歷史216指示相同的特定安全性違背 234,并且具有一個或多個處理操作251和252的匹配集合,則這些匹配 的處理操作被指示為導致了該安全性違背的不希望看到的處理操作251和 252的序列。注意,時間戳數(shù)據(jù)233可被用在兩個安全性歷史216-1和 216-2之間,以查看每個安全性歷史中的每個序列251和252中的每個處 理指令之間的時間差是否顯示出在指令執(zhí)行之間具有大致相同的時間差。 以這種方式,序列251和252被標記為新檢測到的作為安全性違背的根本 原因的不希望看到的操作序列。取決于配置,可以利用包含在每個事件數(shù) 據(jù)記錄212中的不同信息應用更高級的比較或樣式匹配技術(shù)。作為一個示 例,程序計數(shù)器數(shù)據(jù)或處理器狀態(tài)信息可被捕獲,并被用于識別指令的執(zhí) 行序列順序以及證實每個歷史216中的相同指令導致了該失敗或其他安全 性違背234。據(jù)此,安全性代理150可以產(chǎn)生很多獨立的安全性歷史216,這些安 全性歷史216可以在本地通過同一安全性代理150被彼此交叉相關(guān),或者 在距離不同代理150很遠的管理中心處被彼此交叉相關(guān),以識別創(chuàng)建安全 性違背的不希望看到的處理操作的序列。 一旦被識別出,安全性代理150
或管理中心160就可以將安全性策略211改變成包括產(chǎn)生了不希望看到的 處理結(jié)果(例如安全性違背)的處理操作的公共根本原因。該信息隨后可以被發(fā)送到其他安全性代理150,以向它們通知新識別出的不希望看到的 處理操作序列。如果安全性代理150在本地執(zhí)行歷史比較,它則可以將導致不希望看到的處理結(jié)果的新檢測到的不希望看到的處理操作序列通知給管理中心160,管理中心160隨后可以將其散布給其他代理150,或者可 替換地,代理可以將該信息廣播或以其他方式直接發(fā)送到其他代理150, 這些方式取決于配置。以這種方式,其他代理150可以獲知導致安全性違 背的新處理操作序列并將其添加到它們的安全性策略211 。一旦安全性代理150知曉在被執(zhí)行的情況下將導致不希望看到的處理 結(jié)果的新處理操作序列,該安全性代理150就可以將其保存在安全性策略 211中,并且可以命令適當?shù)陌踩詳r截器200 (如事件數(shù)據(jù)記錄212中 的安全性歷史216所標識的)禁止或拒絕該相關(guān)處理操作序列的至少一部 分在計算機化設(shè)備中的操作,以避免違背安全性策略。安全性策略211包括一組強制規(guī)則,并且可以指示針對該計算機110 將被禁止的處理操作序列。管理員103通過添加或創(chuàng)建定義了將被應用到 特定計算機110以應對已知類型的攻擊的規(guī)則的策略模塊來利用管理中心 應用160創(chuàng)建初始安全性策略211。針對特定主機110的安全性策略211 是包含在與該主機所在組相關(guān)聯(lián)的策略模塊中的規(guī)則之和。可以存在多種 針對已知攻擊的預先設(shè)計的策略模塊,它們指示為了防止該攻擊,將有哪 些處理操作將被禁止。安全性策略211可以根據(jù)一個或若干預先設(shè)計的策 略模塊來建立或者根據(jù)定制設(shè)計的策略模塊來建立。以上公開的比較處理 可以致使安全性策略211增長以包括那些新發(fā)現(xiàn)的違背。圖5到8是這里公開的使用前述處理能力和機制的計算機安全性系統(tǒng) 執(zhí)行的示例性處理操作的流程圖。開始于圖5中的步驟500,安全性代理150檢測計算機化設(shè)備110中 的相關(guān)處理操作序列。子步驟501到508示出在一種配置中執(zhí)行步驟500 的處理細節(jié)。在步驟501中,安全性代理150操作多個安全性攔截器200,這些安
全性攔截器200檢測在計算機化設(shè)備110中執(zhí)行的不同處理行為(即在圖2所示示例中的組件220到228)的處理操作。在步驟502中,安全性代理150操作至少一個網(wǎng)絡攔截器監(jiān)視與計算 機化設(shè)備中通信會話的通信相關(guān)聯(lián)的處理操作。在步驟503中,安全性代理150操作至少一個操作系統(tǒng)攔截器監(jiān)視與 計算機化設(shè)備中的操作系統(tǒng)的執(zhí)行相關(guān)聯(lián)的處理操作。在步驟504中,安全性代理150操作至少一個用戶空間攔截器監(jiān)視與 計算機化設(shè)備中的至少一個應用的執(zhí)行相關(guān)聯(lián)的處理操作。在步驟505中,安全性代理150在檢測到與這些各自的處理行為相關(guān) 聯(lián)的處理操作之后生成事件數(shù)據(jù)。步驟506和507示出該處理的細節(jié)。在步驟506中,安全性代理150接收在檢測到企圖執(zhí)行被標識在安全 性策略中的被監(jiān)視的處理操作的嘗試時產(chǎn)生事件記錄的指令。在步驟507中,安全性代理150在檢測到企圖執(zhí)行被監(jiān)視的處理操作 的嘗試之后,將事件記錄報告給事件相關(guān)引擎。步驟508是一個可選步驟。在步驟508中,在執(zhí)行被監(jiān)視的處理操作 之前,安全性代理150接收來自事件相關(guān)引擎的授權(quán)響應,該授權(quán)響應指 示是否允許被監(jiān)視的處理操作的執(zhí)行,并且如果不允許,安全性代理150 則禁止被監(jiān)視的處理操作的執(zhí)行,以避免違背安全性策略。在該配置中, 隨后,每個處理操作(或僅僅某些被安全性策略標識的處理操作)可以從 事件相關(guān)引擎獲得確認,然后攔截器200允許它們前進。這可以涉及利用 表明哪個操作將被執(zhí)行的指示提示計算機系統(tǒng)IIO的用戶,以及允許用戶 確認或拒絕該操作的允許。圖6是圖5的處理流程圖的繼續(xù)。在圖6中的步驟509中,安全性代理150將相關(guān)處理操作序列記錄在 安全性歷史中。在步驟510中,安全性代理150將事件數(shù)據(jù)存儲在安全性歷史中。事 件數(shù)據(jù)指示一個處理操作以及檢測到該處理操作的安全性攔截器的身份。 如上所述,其他信息也可以被包括。在步驟511中,安全性代理150執(zhí)行導致計算機系統(tǒng)中不希望看到的
處理結(jié)果的處理指令。這可以導致進程例外、故障、系統(tǒng)崩潰、安全性策 略違背或任意其他類型的不希望看到的操作。在步驟512中,安全性代理150從計算機系統(tǒng)中的不希望看到的處理結(jié)果中恢復。這可以涉及計算機iio的重啟,或者可能由于操作系統(tǒng)可以執(zhí)行所有所需恢復(例如清空存儲器中發(fā)生故障的進程、保存狀態(tài)等等) 而無需任意特定操作。一旦被恢復,在步驟513中,安全性代理150就可以識別出發(fā)生了不 希望看到的處理操作并與安全性歷史相關(guān)聯(lián)地存儲該不希望看到的處理結(jié) 果的指示。這允許安全性歷史中記錄的處理操作序列現(xiàn)在與特定類型的不 希望看到的處理操作相關(guān)聯(lián)。圖7繼續(xù)來自圖6的處理步驟的流程圖。在步驟514中,當在計算機化設(shè)備中執(zhí)行的處理操作產(chǎn)生違背了安全 性策略的不希望看到的處理結(jié)果時,安全性系統(tǒng)識別出安全性違背。注 意,取決于配置,子步驟516到520可以通過安全性代理150在本地執(zhí) 行,或者由管理中心應用160遠程執(zhí)行。在一種配置中,工作在計算機系統(tǒng)中的單個安全性代理隨時間產(chǎn)生不 同的安全性歷史,并且工作在計算機系統(tǒng)上的安全性代理150可以在本地 執(zhí)行操作而無需來自遠程計算機系統(tǒng)(例如管理中心)的更新,其中所述 操作如下檢測相關(guān)的處理操作序列,將相關(guān)的處理操作序列記錄在安全 性歷史中,識別安全性違背,以及拒絕至少一個處理操作在計算機化設(shè)備 中的操作,以避免違背安全性策略。在圖8所示配置中,當在計算機化設(shè) 備110中執(zhí)行的處理操作產(chǎn)生違背安全性策略的不希望看到的處理結(jié)果時 識別安全性違背所涉及的操作首先由管理中心計算機系統(tǒng)利用其他安全性 歷史(來自同一或其他計算機系統(tǒng)110)被遠程執(zhí)行。換言之,在一種配 置中,管理中心應用60執(zhí)行步驟515到521所示操作。在其他配置中, 這些可以由安全性代理150在本地執(zhí)行,該安全性代理150可以訪問存儲 了從其自身或從工作在其他計算機IIO上的其他安全性代理150產(chǎn)生的安 全性歷史的遠程數(shù)據(jù)庫。在步驟515中,管理中心應用160和安全性代理150參與用于向經(jīng)由 網(wǎng)絡耦合到計算機化設(shè)備110的管理中心計算機系統(tǒng)傳送安全性歷史的協(xié) 議。在步驟516中,管理中心應用160分析該安全性歷史以識別記錄在安 全性歷史中的至少一個指示計算機系統(tǒng)110中的不希望看到的處理結(jié)果的 處理操作。步驟517到519示出一種示例性配置中該處理的細節(jié)。在步驟517中,管理中心應用160將安全性歷史中的事件數(shù)據(jù)記錄與 至少一個其他安全性歷史中的事件數(shù)據(jù)記錄相比較,以識別被比安全性歷史的事件數(shù)據(jù)記錄中指示一種不希望看到的處理操作的公共處理操作。注 意,在該操作中比較的安全性歷史可以是從同一計算機系統(tǒng)IIO收集的較 舊的安全性歷史,或者它們可以是來自很多不同計算機系統(tǒng)的安全性歷 史。在步驟518中,在比較過程期間,管理中心應用160將包括同樣被存 儲的對不希望看到的處理結(jié)果的指示的不同安全性歷史識別為其他安全性 歷史。換言之,所述比較是在兩個或更多個包含對同樣差錯或故障的指示 的安全性歷史之間執(zhí)行的。以這種方式,歷史被比較,以查看是否存在導 致同樣處理差錯的處理共性。在步驟519中,管理中心應用160比較包括相同的被存儲的對不希望 看到的處理結(jié)果的指示的每個不同安全性歷史,以識別每個不同的安全性 歷史中標識在發(fā)生不希望看到的處理結(jié)果之前由生成該安全性歷史的計算 機系統(tǒng)所執(zhí)行的公共處理指令的事件數(shù)據(jù)記錄,以便識別產(chǎn)生該不希望看 到的處理結(jié)果的不同安全性歷史之間的處理指令的樣式。這允許比較來確 定在被彼此比較的安全性歷史中存在的哪些指令導致了該同樣的差錯。在步驟520中,管理中心應用160將安全性歷史中的一個或多個處理 操作標記為違背安全性策略的處理操作。被標記的處理操作是那些在被比 較的安全性歷史中識別出的公共的處理操作。在典型比較中,這些是出現(xiàn) 在多個安全性歷史中并且恰好在故障或失敗之前被執(zhí)行的指令。在步驟 520中,可以存在一個可選操作,該操作證實所識別出的被標記的處理操 作的樣式在正常操作期間沒有發(fā)生。換言之,該操作可以確定被標記的處 理操作還不能在不包括特定安全性違背的安全性歷史中出現(xiàn)。
在步驟521中,管理中心應用160將更新后的安全性策略發(fā)回安全性 代理150。該更新后的安全性策略包括新識別出的處理指令樣式,該處理指令樣式如果被計算機系統(tǒng)執(zhí)行則將違背安全性策略。這些是導致了通過 彼此匹配安全性歷史而識別出的故障的處理指令。圖8繼續(xù)來自圖7的處理步驟的流程圖。在步驟522中,安全性代理150接收來自管理中心計算機系統(tǒng)的更新 后的安全性策略。該更新后的安全性策略現(xiàn)在包括新識別出的導致了不希 望看到的操作的處理操作的標識。以這種方式。安全性策略可以增長并適 應網(wǎng)絡攻擊的進化。在步驟523中,安全性代理150隨后檢測試圖產(chǎn)生違背安全性策略的 不希望看到的處理結(jié)果的至少一個處理操作的嘗試執(zhí)行。為此,在步驟524中,安全性代理150比較安全性歷史中的事件數(shù)據(jù) 記錄,以識別事件數(shù)據(jù)記錄中已知產(chǎn)生安全性策略所定義的不希望看到的 處理結(jié)果的處理指令。具體而言,在步驟525中,安全性代理150檢測新識別出的處理指令 樣式的嘗試執(zhí)行。以這種方式,在發(fā)生故障之后,導致該故障的操作可以 被快速識別出并被標記,以用于它們下次嘗試執(zhí)行時進行檢測。在步驟526中,安全性代理150拒絕新識別出的惡意處理操作在計算 機化設(shè)備中的操作,以避免違背安全性策略。為此,在步驟527中,安全性代理150命令檢測到該被標記的處理操 作的至少一個安全性攔截器200禁止該被標記的處理操作在計算機化設(shè)備 IIO中的執(zhí)行。以這種方式,當在一個計算機中每個新故障發(fā)生時,上述分析過程可 以定位和識別出導致該故障的那些指令,并且可以將這些指令標識為對于 未來操作計算機而言不允許的指令。管理中心160或單獨的安全性代理 150可以向被更新的安全性策略中的其他安全性代理分發(fā)該信息,以使得 這里說明的處理針對網(wǎng)絡105中的一臺計算機的一次執(zhí)行中所檢測到和識 別出的問題不會在很多計算機系統(tǒng)中發(fā)生,甚至可以在它們經(jīng)歷該問題之 前就可以避免問題的發(fā)生。由于分析很快,因此其他計算機可以在惡意攻
擊將其自身傳播到其他計算機110之前得到關(guān)于不允許的指令的通知。雖然已經(jīng)參考配置具體描述和示出了系統(tǒng)和方法,但是本領(lǐng)域技術(shù)人 員將會理解,在不脫離所附權(quán)利要求所限定的本發(fā)明的范圍的情況下,可 以對形式和細節(jié)作出各種修改。因此,本發(fā)明不希望被上述示例性配置所 限制。
權(quán)利要求
1. 一種向計算機化設(shè)備提供安全性的方法,該方法包括以下操作 檢測所述計算機化設(shè)備中的相關(guān)處理操作序列; 將所述相關(guān)處理操作序列記錄在安全性歷史中;當在所述計算機化設(shè)備中執(zhí)行的處理操作產(chǎn)生違背安全性策略的不希 望看到的處理結(jié)果時識別出安全性違背;以及隨后檢測出嘗試產(chǎn)生所述違背安全性策略的不希望看到的處理結(jié)果的 至少一個處理操作的嘗試執(zhí)行,并且作為響應,拒絕所述至少一個處理操 作在所述計算機化設(shè)備中的操作,以避免違背所述安全性策略。
2. 如權(quán)利要求1所述的方法,其中所述檢測所述計算機化設(shè)備中的相 關(guān)處理操作序列的步驟包括操作多個安全性攔截器,所述安全性攔截器檢測在所述計算機化設(shè)備 中執(zhí)行的各個不同處理行為的處理操作;在檢測到與那些各個處理行為相關(guān)聯(lián)的處理操作后生成事件數(shù)據(jù);并且其中所述將所述相關(guān)處理操作序列記錄在安全性歷史中的步驟包括 將所述事件數(shù)據(jù)存儲在所述安全性歷史中,所述事件數(shù)據(jù)指示一個處 理操作和檢測到該處理操作的安全性攔截器的身份。
3. 如權(quán)利要求2所述的方法,其中所述當在所述計算機化設(shè)備中執(zhí)行 的處理操作產(chǎn)生違背安全性策略的不希望看到的處理結(jié)果時識別出安全性 違背的步驟包括分析所述安全性歷史,以識別出記錄在所述安全性歷史中的指示所述計算機系統(tǒng)中的不希望看到的處理結(jié)果的至少一個處理操作;以及將所述安全性歷史中的所述至少一個處理操作標記為違背所述安全性策略的至少一個處理操作;并且 其中所述拒絕所述至少一個處理操作在所述計算機化設(shè)備中的操作,以避免違背所述安全性策略的步驟包括命令檢測到所述被標記的至少一個處理操作的至少一個安全性攔截 器禁止所述至少一個被標記的處理操作在所述計算機化設(shè)備中的執(zhí)行。
4. 如權(quán)利要求3所述的方法,其中所述分析所述安全性歷史,以識別 出記錄在所述安全性歷史中的指示所述計算機系統(tǒng)中的不希望看到的處理 結(jié)果的至少一個處理操作的步驟包括將所述安全性歷史中的事件數(shù)據(jù)記錄與至少一個其他安全性歷史的事 件數(shù)據(jù)記錄相比較,以識別出所述被比較的安全性歷史的事件數(shù)據(jù)記錄中 的指示一種不希望看到的處理操作的公共處理操作。
5. 如權(quán)利要求4所述的方法,還包括執(zhí)行在所述計算機系統(tǒng)中產(chǎn)生所述不希望看到的處理結(jié)果的處理指 從所述計算機系統(tǒng)中的所述不希望看到的處理結(jié)果中恢復過來;以及與所述安全性歷史相關(guān)聯(lián)地存儲對所述不希望看到的處理結(jié)果的指示;并且其中所述分析安全性歷史的步驟是響應于從所述不希望看到的處理結(jié) 果中恢復過來而被執(zhí)行的。
6. 如權(quán)利要求5所述的方法,其中所述將所述安全性歷史中的事件數(shù) 據(jù)記錄與至少一個其他安全性歷史的事件數(shù)據(jù)記錄相比較,以識別出所述 被比較的安全性歷史的事件數(shù)據(jù)記錄中的指示一種不希望看到的處理操作 的公共處理操作的步驟包括識別出包括相同的已存儲的對所述不希望看到的處理結(jié)果的指示的不同安全性歷史,作為所述至少一個其他安全性歷史;以及比較包括所述相同的已存儲的對所述不希望看到的處理結(jié)果的指示的 每個不同安全性歷史,以識別出每個不同安全性歷史中標識了在發(fā)生所述 不希望看到的處理結(jié)果之前由生成該安全性歷史的計算機系統(tǒng)所執(zhí)行的公 共處理指令的事件數(shù)據(jù)記錄,以便識別出產(chǎn)生所述不希望看到的處理結(jié)果 的不同安全性歷史之間的處理指令的樣式。
7. 如權(quán)利要求6所述的方法,其中所述不同安全性歷史是由工作在所 述計算機系統(tǒng)中的單個安全性代理隨時間產(chǎn)生的,并且其中所述檢測相關(guān) 處理操作序列、將所述相關(guān)處理操作序列記錄在安全性歷史中、識別出安 全性違背和拒絕所述至少一個處理操作在所述計算機化設(shè)備中的執(zhí)行以避 免違背所述安全性策略的操作是由工作在所述計算機系統(tǒng)上的所述安全性 代理在無需來自遠程計算機系統(tǒng)的更新的情況下在本地執(zhí)行的。
8. 如權(quán)利要求6所述的方法,包括將所述安全性歷史傳輸?shù)浇?jīng)由網(wǎng)絡耦合到所述計算機化設(shè)備的管理中心計算機系統(tǒng);并且其中所述當在所述計算機化設(shè)備中執(zhí)行的處理操作產(chǎn)生違背安全 性策略的不希望看到的處理結(jié)果時識別出安全性違背所涉及的操作是由所 述管理中心計算機系統(tǒng)遠程執(zhí)行的;并且其中所述方法包括從所述管理中心計算機系統(tǒng)接收更新的安全性策略,所述更新的安全 性策略包括新識別出的處理指令樣式,所述處理指令樣式如果被所述計算 機系統(tǒng)執(zhí)行,則將違背所述安全性策略;并且其中所述隨后檢測出嘗試產(chǎn)生所述違背安全性策略的不希望看到的處 理結(jié)果的至少一個處理操作的嘗試執(zhí)行的步驟包括檢測出所述新識別出的處理指令樣式的嘗試執(zhí)行。
9. 如權(quán)利要求8所述的方法,其中所述隨后檢測出嘗試產(chǎn)生所述違背安全性策略的不希望看到的處理結(jié)果的至少一個處理操作的嘗試執(zhí)行的步驟包括比較所述安全性歷史中的事件數(shù)據(jù)記錄,以識別出事件數(shù)據(jù)記錄中的 已知產(chǎn)生所述安全性策略中定義的不希望看到的處理結(jié)果的處理指令。
10. 如權(quán)利要求1所述的方法,其中所述檢測、記錄和識別操作從對 計算機系統(tǒng)中導致第一次違背所述安全性策略的軟件實體的相關(guān)調(diào)用序列的執(zhí)行中集中監(jiān)視、記錄和識別處理操作;并且其中所述隨后檢測出類似相關(guān)處理操作序列的嘗試執(zhí)行的操作包括 檢測對計算機系統(tǒng)中軟件實體的相關(guān)調(diào)用序列的嘗試執(zhí)行,其中所述軟件實體如果被完全執(zhí)行,則將導致第二次違背所述安全性策略;并且其中拒絕所述相關(guān)處理操作序列的至少一部分在所述計算機化設(shè)備中 的操作以避免違背所述安全性策略的步驟包括在無需在從識別出第一次違背所述安全性策略到所述相關(guān)處理操作 序列嘗試第二次違背所述安全性策略所經(jīng)過的時間期間由所述計算機化 設(shè)備外部的管理中心應用修改所述安全性策略的情況下,禁止所述相關(guān) 調(diào)用序列的第二次執(zhí)行。
11. 如權(quán)利要求IO所述的方法,其中執(zhí)行對計算機系統(tǒng)中第一次違背 所述安全性策略的軟件進程的相關(guān)調(diào)用序列的步驟包括執(zhí)行在所述計算機系統(tǒng)中導致不希望看到的處理結(jié)果的一系列相關(guān) 系統(tǒng)調(diào)用,所述不希望看到的處理結(jié)果是在所述安全性策略中定義的; 并且其中所述當在所述計算機化設(shè)備中執(zhí)行的處理操作產(chǎn)生違背安全性策 略的不希望看到的處理結(jié)果時識別出安全性違背的步驟包括從所述計算機系統(tǒng)中的所述不希望看到的處理結(jié)果中恢復過來; 響應于從所述不希望看到的處理結(jié)果的恢復來分析所述安全性歷 史,以識別出在所述計算機系統(tǒng)中產(chǎn)生所述不希望看到的處理結(jié)果的所 述相關(guān)處理操作序列;以及如果所述識別出的相關(guān)處理操作序列被確定為不是正常處理操作的 一部分,則將該相關(guān)處理操作序列和所述安全性歷史中的關(guān)聯(lián)處理結(jié)果 標記為違背所述安全性策略的處理操作序列。
12. 如權(quán)利要求11所述的方法,其中所述檢測處理結(jié)果和記錄處理結(jié) 果的操作被重復N次,其中N是大于1的整數(shù),并且其中在安全性歷史中記錄所述處理結(jié)果和所述相關(guān)處理操作序列的步 驟包括產(chǎn)生N個單獨的安全性歷史,其中每個安全性歷史針對所述檢測處 理結(jié)果和記錄處理結(jié)果的操作的一次重復迭代,并且其中多個所述N 個安全性歷史指示違背所述安全性策略的處理操作序列的嘗試執(zhí)行;并 且其中所述響應于從所述不希望看到的處理結(jié)果的恢復來分析所述安全 性歷史,以識別出在所述計算機系統(tǒng)中產(chǎn)生所述不希望看到的處理結(jié)果的所述相關(guān)處理操作序列的步驟包括使所述N個安全性歷史中指示被標記為違背所述安全性策略的處理 操作序列的嘗試執(zhí)行的那些安全性歷史相關(guān),以識別出每個安全性歷史 中導致違背所述安全性策略的處理操作序列的嘗試操作的處理操作的根 本公共原因;并且將所述安全性策略改變成包括產(chǎn)生不希望看到的處理結(jié)果的處理操 作的所述根本公共原因。
13. 如權(quán)利要求12所述的方法,其中所述隨后檢測出嘗試產(chǎn)生所述違 背安全性策略的至少一個不希望看到的處理結(jié)果的類似處理操作的嘗試執(zhí) 行的步驟包括操作監(jiān)視所述計算機化設(shè)備的各個不同處理行為的操作的多個安全 性攔截器,來檢測將執(zhí)行在每個安全性歷史中識別出的產(chǎn)生不希望看到 的處理結(jié)果的處理操作的根本公共原因的嘗試;并且其中所述拒絕所述相關(guān)處理操作序列的至少一部分在所述計算機化設(shè)備中的操作,以避免違背所述安全性策略的步驟包括禁止所述處理操作的根本公共原因的操作以避免違背所述安全性策略。
14. 如權(quán)利要求4所述的方法,其中所述操作多個安全性攔截器的步驟包括操作至少一個網(wǎng)絡攔截器,以監(jiān)視與所述計算機化設(shè)備中的通信會話的通信相關(guān)聯(lián)的處理操作;操作至少一個操作系統(tǒng)攔截器,以監(jiān)視與所述計算機化設(shè)備中的操作系統(tǒng)的執(zhí)行相關(guān)聯(lián)的處理操作;操作至少一個用戶空間攔截器,以監(jiān)視與所述計算機化設(shè)備中的至少 一個應用的執(zhí)行相關(guān)聯(lián)的處理操作。
15. 如權(quán)利要求14所述的方法,其中所述網(wǎng)絡攔截器、操作系統(tǒng)攔截器和用戶空間攔截器中的每一個執(zhí)行以下操作接收在檢測到嘗試執(zhí)行在所述安全性策略中識別出的被監(jiān)視的處理操作時產(chǎn)生事件記錄的指令; 在檢測到嘗試執(zhí)行所述被監(jiān)視的處理操作時將所述事件記錄報告給事 件相關(guān)引擎;以及在執(zhí)行所述被監(jiān)視的處理操作之前,從所述事件相關(guān)引擎接收授權(quán)響 應,該授權(quán)響應指示所述被監(jiān)視的處理操作的執(zhí)行是否將被允許,并且如 果不允許,則禁止所述被監(jiān)視的處理操作的執(zhí)行,以避免違背所述安全性 策略。
16. 如權(quán)利要求3所述的方法,其中所述分析所述安全性歷史,以識 別出記錄在所述安全性歷史中的指示所述計算機系統(tǒng)中的不希望看到的處理結(jié)果的至少一個處理操作的步驟包括檢測所述至少一個處理操作,該至少一個處理操作匹配與由于以下原 因中的至少一個所產(chǎn)生的不希望看到的處理結(jié)果相關(guān)的指令序列病毒攻擊、蠕蟲攻擊、特洛伊木馬攻擊、拒絕服務攻擊、緩沖區(qū)溢出 操作、畸形應用數(shù)據(jù)的執(zhí)行和惡意移動代碼的執(zhí)行。
17. —種防止在計算機化設(shè)備中執(zhí)行產(chǎn)生違背安全性策略的處理結(jié)果 的處理操作的方法,該方法包括操作多個監(jiān)視所述計算機化設(shè)備的各個不同處理行為的操作的安全性 攔截器,以檢測所述計算機化設(shè)備中針對所述各個處理行為的相關(guān)處理操 作序列;將所述計算機化設(shè)備中針對每個處理行為的相關(guān)處理操作序列記錄在 安全性歷史中;識別不希望看到的處理操作,并且作為響應,將所述安全性歷史與至 少一個先前收集的安全性歷史相比較,以在所述不希望看到的處理操作發(fā) 生之前識別出在每個安全性歷史中的已發(fā)生的相關(guān)處理操作的公共序列, 并且作為響應,將所述相關(guān)處理操作的公共序列標記為所述安全性策略中的被禁止的相關(guān)處理操作序列;以及操作所述多個安全性攔截器隨后檢測所述被禁止的相關(guān)處理操作序列 的嘗試執(zhí)行,并且作為響應,拒絕在所述計算機化設(shè)備中至少一個所述處 理行為操作所述被禁止的相關(guān)處理操作序列,以避免違背所述安全性策 略。
18. —種計算機化設(shè)備,包括 存儲器;處理器;耦合到網(wǎng)絡的通信接口;耦合所述存儲器、所述處理器和所述通信接口的互連機制; 其中所述存儲器被編碼有安全性代理,并且當在所述處理器上被執(zhí)行時,致使所述處理器執(zhí)行以下操作操作多個監(jiān)視所述計算機化設(shè)備的各個不同處理行為的操作的安全性攔截器,以檢測所述計算機化設(shè)備中針對所述各個處理行為的相關(guān)處理操作序列;將所述計算機化設(shè)備中針對每個處理行為的相關(guān)處理操作序列記錄在 安全性歷史中;識別不希望看到的處理操作,并且作為響應,將所述安全性歷史與至 少一個先前收集的安全性歷史相比較,以在所述不希望看到的處理操作發(fā) 生之前識別出在每個安全性歷史中的已發(fā)生的相關(guān)處理操作的公共序列, 并且作為響應,將所述相關(guān)處理操作的公共序列標記為所述安全性策略中 的被禁止的相關(guān)處理操作序列;以及操作所述多個安全性攔截器隨后檢測所述被禁止的相關(guān)處理操作序列 的嘗試執(zhí)行,并且作為響應,拒絕在所述計算機化設(shè)備中至少一個所述處 理行為操作所述被禁止的相關(guān)處理操作序列,以避免違背所述安全性策 略。
19. 一種包括編碼在其上的計算機程序邏輯指令的計算機可讀介質(zhì), 當所述計算機程序邏輯指令在計算機化設(shè)備中的處理器上被執(zhí)行時,通過 致使所述計算機化設(shè)備執(zhí)行以下操作來防止在所述計算機化設(shè)備中執(zhí)行產(chǎn) 生違背安全性策略的處理結(jié)果的處理操作操作多個監(jiān)視所述計算機化設(shè)備的各個不同處理行為的操作的安全性 攔截器,以檢測所述計算機化設(shè)備中針對所述各個處理行為的相關(guān)處理操 作序列;將所述計算機化設(shè)備中針對每個處理行為的相關(guān)處理操作序列記錄在安全性歷史中;識別不希望看到的處理操作,并且作為響應,將所述安全性歷史與至 少一個先前收集的安全性歷史相比較,以在所述不希望看到的處理操作發(fā) 生之前識別出在每個安全性歷史中的已發(fā)生的相關(guān)處理操作的公共序列, 并且作為響應,將所述相關(guān)處理操作的公共序列標記為所述安全性策略中的被禁止的相關(guān)處理操作序列;以及操作所述多個安全性攔截器隨后檢測所述被禁止的相關(guān)處理操作序列 的嘗試執(zhí)行,并且作為響應,拒絕在所述計算機化設(shè)備中至少一個所述處 理行為操作所述被禁止的相關(guān)處理操作序列,以避免違背所述安全性策 略。
全文摘要
一種系統(tǒng)通過檢測計算機化設(shè)備中的相關(guān)處理操作序列以及將相關(guān)處理操作序列記錄在安全性歷史中來向該計算機化設(shè)備提供安全性。該系統(tǒng)當在所述計算機化設(shè)備中執(zhí)行的處理操作產(chǎn)生違背安全性策略的不希望看到的處理結(jié)果時識別出安全性違背,并且隨后檢測出嘗試產(chǎn)生違背安全性策略的不希望看到的處理結(jié)果的至少一個處理操作的嘗試執(zhí)行,并且作為響應,拒絕所述處理操作在所述計算機化設(shè)備中的操作,以避免違背安全性策略。
文檔編號G06F17/30GK101147143SQ200680000999
公開日2008年3月19日 申請日期2006年1月6日 優(yōu)先權(quán)日2005年1月7日
發(fā)明者杰弗里·A·可瑞蒙, 菲利普·J·S·格蘭斯通 申請人:思科技術(shù)公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1