用于檢測惡意命令和控制通道的系統(tǒng)和方法
【專利摘要】在一個示例實施例中提供方法,其包括檢測從源節(jié)點到目的地節(jié)點的重復連接、基于這些連接對源節(jié)點計算分數(shù)以及如果分數(shù)超出閾值分數(shù)則采取策略動作。在更特定的實施例中,重復連接使用超文本傳輸協(xié)議并且可包括通向少量唯一域的連接、通向與目的地節(jié)點關(guān)聯(lián)的少量唯一資源的連接和/或通向域中的資源的大量連接。此外,啟發(fā)法可用于對源節(jié)點記分并且識別指示威脅的行為,例如爬蟲軟件(bot)或其他惡意軟件(malware)。
【專利說明】用于檢測惡意命令和控制通道的系統(tǒng)和方法
【技術(shù)領(lǐng)域】
[0001] 該說明書大體上涉及網(wǎng)絡安全,并且更特定地,涉及用于檢測惡意命令和控制通 道的系統(tǒng)和方法。
【背景技術(shù)】
[0002] 網(wǎng)絡安全的領(lǐng)域在現(xiàn)今的社會中已變得越來越重要。因特網(wǎng)遍布全世界實現(xiàn)不同 計算機網(wǎng)絡的互連。然而,有效保護并且維持穩(wěn)定的計算機和系統(tǒng)的能力對于部件制造商、 系統(tǒng)設(shè)計師和網(wǎng)絡運營商呈現(xiàn)出重大障礙。該障礙由于由惡意操作者實施的不斷發(fā)展的 一系列戰(zhàn)術(shù)而變得甚至更復雜。如果某些類型的惡意軟件可能感染主計算機,它還可能夠 進行許多有敵意、侵入或騷擾動作,例如從主計算機發(fā)出垃圾郵件或惡意email、從與主計 算機關(guān)聯(lián)的企業(yè)或個體竊取敏感信息、傳播到其他主計算機和/或幫助分布式拒絕服務攻 擊。另外,惡意操作者可以向其他惡意操作者出售或用別的方式準許其他惡意操作者訪問, 由此擴大主計算機的利用。因此,對于開發(fā)創(chuàng)新工具來對抗允許惡意操作者利用計算機的 戰(zhàn)術(shù)仍然存在重大挑戰(zhàn)。
【專利附圖】
【附圖說明】
[0003] 為了提供對本公開及其特征和優(yōu)勢的更完整理解,結(jié)合附圖參考下面的描述,其 中類似的標號代表類似的部件,其中: 圖1是圖示根據(jù)該說明書的網(wǎng)絡環(huán)境(其中可檢測惡意命令和控制通道)的示例實施例 的簡化框圖; 圖2是圖示可與網(wǎng)絡環(huán)境的關(guān)聯(lián)的額外細節(jié)的簡化框圖; 圖3是圖示可與網(wǎng)絡環(huán)境關(guān)聯(lián)的潛在操作的簡化流程圖; 圖4是圖示可與網(wǎng)絡環(huán)境關(guān)聯(lián)的額外操作的簡化流程圖; 圖5是圖示可與網(wǎng)絡環(huán)境關(guān)聯(lián)的再其他操作的簡化流程圖。
【具體實施方式】
[0004] 綜覽 在一個示例實施例中提供方法,其包括檢測從源節(jié)點到目的地節(jié)點的重復連接、基于 這些連接對源節(jié)點計算分數(shù)以及如果分數(shù)超出閾值分數(shù)則采取策略動作。
[0005] 在更特定的實施例中,重復連接使用超文本傳輸協(xié)議并且可包括到少量唯一域的 連接、到與目的地節(jié)點關(guān)聯(lián)的少量唯一資源的連接和/或到域中的資源的大量連接。此外, 啟發(fā)法可用于對源節(jié)點記分并且識別指示威脅的行為,例如爬蟲軟件(bot)或其他惡意軟 件(malware)〇
[0006] 示例實施例 轉(zhuǎn)向圖1,圖1是其中可檢測惡意命令和控制通道的網(wǎng)絡環(huán)境100的示例實施例的簡 化框圖。網(wǎng)絡環(huán)境100可包括具有例如主機110a-110d等節(jié)點的局域網(wǎng)105,這些節(jié)點可 通過具有僵尸網(wǎng)絡檢測模塊(botnet detection module) 122的傳感器120連接到因特網(wǎng) 115。節(jié)點一般是任何系統(tǒng)、機器、裝置、網(wǎng)絡元件、客戶端、服務器、對等裝置、服務、應用或 能夠在網(wǎng)絡上發(fā)送并且接收數(shù)據(jù)的其他對象。網(wǎng)絡環(huán)境100中的節(jié)點之間的鏈路代表兩個 節(jié)點可以通過其而通信的任何介質(zhì)。該介質(zhì)可以是例如導線或光纖纜線等有形介質(zhì),或例 如用于無線通信的無線電波等無形介質(zhì)。
[0007] 從而,主機110a-110d中的每個可彼此通信并且與連接到因特網(wǎng)115的遠程節(jié)點 (例如web服務器125或郵件服務器130)通信。主機110a-110d還可例如通過郵件服務器 130與遠程主機135交換email消息。一般,主機110a-110d可以是能夠運行程序并且與操 作者交互的任何類型的節(jié)點。在它最常見的意義上,主機大體上包括附連的輸入裝置和附 連的輸出裝置,但額外或備選地可包括用于與操作者遠程交互的接口。例如,主機可以是臺 式計算機、工作站計算機、服務器、便攜式電腦、平板計算機(例如,iPad)或移動電話(例如, iPhone)。在該示例網(wǎng)絡環(huán)境100中,例如主機110b等主機可被bot 140損害,bot 140大 體上代表可在遠程軟件、裝置、機器或系統(tǒng)(例如命令和控制(C&C)服務器145)的控制之下 的任何惡意軟件("malware")。
[0008] 圖1的元件中的每個可通過簡單的網(wǎng)絡接口或通過任何其他適合的連接(有線或 無線)而耦合于彼此,這對網(wǎng)絡通信提供可行路徑。另外,這些元件中的任何一個或多個可 基于特定配置需要而組合或從架構(gòu)去除。網(wǎng)絡環(huán)境100可包括能夠進行傳輸控制協(xié)議/因 特網(wǎng)協(xié)議(TCP/IP)通信以用于在網(wǎng)絡中傳送或接收包的配置。網(wǎng)絡環(huán)境100還可連同用 戶數(shù)據(jù)報協(xié)議/IP (UDP/IP)或任何其他適合的協(xié)議(在適合的情況下)并且基于特定需要 而操作。
[0009] 為了說明用于檢測惡意命令和控制通道(例如可由基于web的僵尸網(wǎng)絡使用)的系 統(tǒng)和方法的技術(shù)的目的,重要的是理解某些活動在給定網(wǎng)絡內(nèi)出現(xiàn)。下面的基本信息可視 為本公開可正確地從其解釋的基礎(chǔ)。這樣的信息最早僅為了說明目的而提供,因此,不應采 用任何方式解釋來限制本公開和它的潛在應用的廣泛范圍。
[0010] 在組織中以及由個體使用的典型的網(wǎng)絡環(huán)境包括與其他網(wǎng)絡電子通信的能力。例 如,因特網(wǎng)可用于訪問在遠程服務器上托管的web頁面、發(fā)送或接收電子郵件(S卩,email) 消息或交換文件。然而,用于干擾正常操作并且獲得對機密信息的訪問的新戰(zhàn)術(shù)持續(xù)出現(xiàn)。 威脅包括能夠通過對計算機、網(wǎng)絡和/或數(shù)據(jù)的未經(jīng)授權(quán)的訪問、未經(jīng)授權(quán)的銷毀、披露和 /或修改數(shù)據(jù)和/或拒絕服務而干擾計算機或網(wǎng)絡的正常操作的任何活動。
[0011] 僵尸網(wǎng)絡特別地代表對計算機安全的日益增加的威脅。在許多情況下,它們采用 精密的攻擊方案,其包括眾所周知和新的致命性的組合。僵尸網(wǎng)絡大體上使用客戶端-服 務器架構(gòu),其中一類惡意軟件(即,bot)被放置在主計算機上并且與命令和控制服務器通 信,該命令和控制服務器可由僵尸網(wǎng)絡操作者控制。通常,僵尸網(wǎng)絡由大量的bot組成,其 操作者通過各種通道(其包括因特網(wǎng)中繼對話(IRC)和對等(P2P)通信)使用命令和控制協(xié) 議而控制。Bot可從命令和控制服務器接收命令來進行特定惡意活動,并且因此,可執(zhí)行這 樣的命令。Bot還可將任何結(jié)果或偷竊的信息發(fā)送回到命令和控制服務器。
[0012] 僵尸網(wǎng)絡攻擊大體上遵循相同的生命周期。首先,主機(例如,臺式計算機)可被 malware損害。"Malware"通常用作對于任何有敵意的、侵入的或騷擾軟件(例如計算機病 毒、1'1'0」311、¥01'1]1、13〇1:、間謀軟件、廣告軟件等)的標簽,但還可包括其他惡意軟件。]\&11¥3代 可顛覆受損方,從而給予bot操作者對它的控制。bot操作者然后可使用這樣的計算機用于 惡意活動,例如拒絕服務攻擊。除接收命令來進行惡意活動外,bot典型地還包括一個或多 個傳播矢量,其使它能夠在組織的網(wǎng)絡內(nèi)或跨其他網(wǎng)絡到其他組織或個體蔓延。常見的傳 播矢量包括利用本地網(wǎng)絡內(nèi)的主機上的已知致命性并且發(fā)送具有附連的惡意程序的惡意 email或在這些email內(nèi)提供惡意鏈接。
[0013] 現(xiàn)有的防火墻和網(wǎng)絡入侵防護技術(shù)通常不足以識別并且遏制許多僵尸網(wǎng)絡。Bot 通常設(shè)計成發(fā)起與命令和控制服務器的通信并且偽裝成正常的web瀏覽器業(yè)務。現(xiàn)代的僵 尸網(wǎng)絡(其包括高級持續(xù)性威脅(APT))可利用隱寫技術(shù)以隱藏在普通場景中,例如使用使 得bot似乎進行到web服務器的正常網(wǎng)絡連接的命令和控制協(xié)議。例如,bot可使用典型地 與web服務器通信的端口。這些通信對于管理員可非常難以與合法的網(wǎng)絡業(yè)務區(qū)分。因此, 這樣的bot在不進行web業(yè)務的更詳細包檢查的情況下可不被現(xiàn)有的技術(shù)檢測到。此外, 一旦發(fā)現(xiàn)bot,僵尸網(wǎng)絡操作者可簡單地找到由bot偽裝網(wǎng)絡業(yè)務的另一個方式來繼續(xù)呈 現(xiàn)為正常web業(yè)務。最近,僵尸網(wǎng)絡操作者還精心制作bot來使用例如安全套接層(SSL)等 加密協(xié)議,由此對惡意網(wǎng)絡業(yè)務加密。這樣的加密業(yè)務可使用超文本傳輸協(xié)議安全(HTTPS) 端口使得僅加密會話中牽涉的端點可以解密數(shù)據(jù)。從而,現(xiàn)有的防火墻和其他網(wǎng)絡入侵防 護技術(shù)不能進行web業(yè)務的任何有意義檢查。因此,Bot繼續(xù)感染網(wǎng)絡內(nèi)的主計算機。
[0014] 一些信譽系統(tǒng)還可以對特定僵尸網(wǎng)絡提供可行的防御。一般,信譽系統(tǒng)監(jiān)視活動 并且基于過去的行為分配信譽值或分數(shù)。該信譽值可在從善良到惡意的圖譜上指示不同的 信賴度水平。例如,可基于與地址或起源于地址的email進行的網(wǎng)絡連接對網(wǎng)絡地址計算 連接信譽值(例如,最小風險、未經(jīng)證實、高風險,等),其中"網(wǎng)絡地址"在廣泛意義上使用來 包括任何形式的對節(jié)點或資源尋址,其包括例如媒體訪問控制(MAC)地址、IP地址或域名。 連接信譽系統(tǒng)可用于拒絕與具有不可接受的連接信譽(例如指示IP地址已知與或可能與 惡意活動關(guān)聯(lián)的那個)的網(wǎng)絡地址的email或網(wǎng)絡連接。其他信譽系統(tǒng)可以阻斷具有已知 與或可能與惡意活動關(guān)聯(lián)的哈希的應用的活動。
[0015] 然而,連接信譽查找大體上僅對于提供對具有一些歷史的malware或僵尸網(wǎng)絡的 預防有效,并且可不能提供對零日威脅的有效防御。例如,具有很少沒有歷史的域名可通 過向互聯(lián)網(wǎng)公司對于分配的名字和號碼(ICANN)所授權(quán)的注冊器注冊域名而創(chuàng)建。從而, bot操作者可注冊新的好像無害的域名(例如,"futbol. com")并且使用普通超文本傳輸協(xié) 議(HTTP)連接以使用新的域名在bot與基于web的命令和控制服務器之間交換信息。因 為域名是新的并且可能沒有信譽,信譽系統(tǒng)可不能將這樣的業(yè)務與合法業(yè)務區(qū)分。
[0016] 聚焦在防止未經(jīng)授權(quán)的程序文件在主機計算機上執(zhí)行上的其他安全技術(shù)對最終 用戶或企業(yè)或其他組織實體的雇員可具有不可取的副效應。網(wǎng)絡或信息技術(shù)(IT)管理員 可承擔精心制作與企業(yè)實體的所有方面相關(guān)的廣泛策略以使雇員能夠從可取且可信的網(wǎng) 絡資源獲得軟件和其他電子數(shù)據(jù)的責任。在廣泛策略沒有到位的情況下,可阻止雇員從未 被專門授權(quán)的網(wǎng)絡資源下載軟件和其他電子數(shù)據(jù),即使這樣的軟件和其他數(shù)據(jù)促進合法且 必需的業(yè)務活動也如此。另外,這樣的系統(tǒng)可如此有限制性使得如果在主機計算機上發(fā)現(xiàn) 未經(jīng)授權(quán)的軟件,任何主機計算機活動在網(wǎng)絡管理員介入之前可被暫停。對于企業(yè),該類型 的系統(tǒng)可干擾合法且必需的業(yè)務活動,從而導致工人停工、失去收入、明顯的信息技術(shù)開銷 及類似物。
[0017] 根據(jù)本文公開的實施例,網(wǎng)絡環(huán)境100可以通過檢測惡意命令和控制通道而克服 這些缺點(及其他)。特別地,網(wǎng)絡環(huán)境100可提供行為分析、邏輯和啟發(fā)法來檢測僵尸網(wǎng)絡 (其包括APT)和在0日的其他威脅。此外,網(wǎng)絡環(huán)境100可檢測試圖隱藏在普通場景中的 僵尸網(wǎng)絡,而沒有對簽名更新的任何需要。
[0018] 在某些實施例中,例如傳感器(例如,在入侵防護系統(tǒng)、防火墻、網(wǎng)關(guān)等)可尋找從 主機(當該主機空閑時)的重復HTTP連接(甚至處于低/隱匿等級)。如果在給定時間段期 間(例如晚上或周末一至兩小時窗口)沒有操作者主動使用主機,該主機在該背景中假定為 空閑的。一旦識別出這樣的重復HTTP連接,這些連接可被啟發(fā)式記分,并且可基于策略和 與該分數(shù)關(guān)聯(lián)的置信水平采取適當?shù)膭幼?。例如,主機可被隔離或者可以向管理員發(fā)送具 有關(guān)聯(lián)的置信水平的警報。本文公開和描述的實施例可以提供對malware開發(fā)者難以回避 的行為的高比率bot檢測,連同該檢測的高置信水平。
[0019] 可以檢測產(chǎn)生重復HTTP連接的主機同時確保主機另外空閑或睡眠來避免由用戶 活動創(chuàng)建的連接。在還未連接到其他域和/或相同域上的其他文件時,合法用戶(即,人)典 型地未打開瀏覽器并且反復地僅對特定文件產(chǎn)生業(yè)務。例如,即使在訪問相對簡單的web 頁面(例如google, com)時,瀏覽器通常連接到該域中的大量文件。Web站點很少只具有一 個不帶嵌入腳本或圖像(用戶反復刷新/重載的)的頁面。從而,在網(wǎng)絡環(huán)境100的一個實 施例中,在主機已連接到大量資源X(例如,X > 10)但唯一域的總數(shù)量Y是小的數(shù)字(例如, 5)并且這些域中的至少一個域的唯一文件路徑的總數(shù)量Z是小數(shù)字(例如,5)時, 該主機可識別為具有可疑的重復連接。在主機空閑期間的八小時窗口可用于檢測甚至隱秘 的bot,但更短或更長的時間窗口對于一些環(huán)境可以是適合的。
[0020] 額外的啟發(fā)法可應用于來自具有可疑、重復HTTP連接的這樣的主機(其另外是空 閑或睡眠來減少假肯定并且提高肯定檢測的置信度)的業(yè)務。例如,記分系統(tǒng)可用于指示 低、中或高置信水平。
[0021] 轉(zhuǎn)向圖2,圖2是圖示可與傳感器120的示例環(huán)境關(guān)聯(lián)的額外細節(jié)的簡化框圖。傳 感器120可包括處理器205、存儲器元件210和各種硬件和/或軟件元件。更特定地,傳感 器120可包括僵尸網(wǎng)絡檢測模塊122,其可提供連接監(jiān)視器215、行為分析模塊220和記分 引擎225。僵尸網(wǎng)絡檢測模塊122可進一步包括各種數(shù)據(jù)元素,其包括白名單230、黑名單 235、忽略名單240、跟蹤名單245和灰名單250。
[0022] 在適當?shù)那闆r下并且基于特定需要,傳感器120可使信息保持在任何適合的存儲 器元件(例如,隨機存取存儲器(RAM)、只讀存儲器(ROM)、可擦除可編程ROM (EPR0M)、電可 擦除可編程ROM(EEPROM)、專用集成電路(ASIC),等)、軟件、硬件中,或在任何其他適合的部 件、裝置、元件或?qū)ο笾小1疚恼撌龅拇鎯ζ黜椖恐械娜我粋€(例如,存儲器210)應該解釋 為包含在廣義術(shù)語'存儲器元件'內(nèi)。被傳感器120跟蹤或發(fā)送的信息(例如,白名單230、 黑名單235等)可以在任何數(shù)據(jù)庫、寄存器、隊列、表格、控制列表或存儲結(jié)構(gòu)中提供,其中 的全部可以在任何適合的時幀被引用。任何這樣的存儲選項可包括在如本文使用的廣義術(shù) 語'存儲器元件'內(nèi)。
[0023] 在某些示例實現(xiàn)中,本文概述的功能可由在一個或多個有形介質(zhì)(可包括非暫時 介質(zhì))中編碼的邏輯(例如,在ASIC中提供的嵌入式邏輯、數(shù)字信號處理器(DSP)指令、要由 處理器或其他相似的機器執(zhí)行的軟件(潛在地包括對象代碼和源代碼),等)實現(xiàn)。在這些實 例中的一些中,存儲器元件(如在圖2中示出的)可以存儲用于本文描述的操作的數(shù)據(jù)。這 包括能夠存儲軟件、邏輯、代碼或處理器指令(其被執(zhí)行來實施本文描述的活動)的存儲器 元件。
[0024] 處理器可以執(zhí)行與數(shù)據(jù)關(guān)聯(lián)的任何類型的指令來實現(xiàn)本文詳述的操作。在一個示 例中,處理器(如在圖2中示出的)可以將元素或項目(例如,數(shù)據(jù))從一個狀態(tài)或事物變換成 另一個狀態(tài)或事物。在另一個示例中,本文概述的活動可用固定邏輯或可編程邏輯(例如, 由處理器執(zhí)行的軟件/計算機指令)實現(xiàn),并且本文識別的元件可以是某類型的可編程處理 器、可編程數(shù)字邏輯(例如,現(xiàn)場可編程門陣列(FPGA)、EPROM、EEPR0M)或包括數(shù)字邏輯、軟 件、代碼、電子指令或其任何適合的組合的ASIC。本文描述的潛在處理元件、模塊和機器中 的任一個應解釋為包含在廣義術(shù)語'處理器'內(nèi)。網(wǎng)絡元件中的每個還可以包括用于在網(wǎng) 絡環(huán)境中接收、傳送和/或用別的方式傳達數(shù)據(jù)或信息的適合的接口。
[0025] 在一個示例實現(xiàn)中,傳感器120是網(wǎng)絡元件,其代表任何網(wǎng)絡電器、服務器、路由 器、交換機、網(wǎng)關(guān)、網(wǎng)橋、負載平衡器、防火墻、指令防護系統(tǒng)、處理器、模塊或能操作成在網(wǎng) 絡環(huán)境中交換信息的任何其他適合的裝置、部件、元件或?qū)ο蟆>W(wǎng)絡元件可包括便于其操作 的任何適合的硬件、軟件、部件、模塊、接口或?qū)ο?。這可包括適當?shù)乃惴ê驮试S數(shù)據(jù)或信息 的有效交換的通信協(xié)議。
[0026] 在一個示例實現(xiàn)中,傳感器120可包括用于實現(xiàn)或用于促進如本文概述的操作的 軟件(例如,僵尸網(wǎng)絡檢測模塊122)。在其他實施例中,這樣的操作可由硬件實施、在這些 元件外部實現(xiàn)或包括在某種其他網(wǎng)絡裝置中來實現(xiàn)規(guī)定的功能性。備選地,這些元件可包 括可以協(xié)作以便實現(xiàn)操作的軟件(或往復軟件),如本文概述的。在再其他實施例中,這些裝 置中的一個或全部可包括便于其操作的任何適合的算法、硬件、軟件、部件、模塊、接口或?qū)?象。
[0027] 圖3是圖示用于使用給定協(xié)議來識別網(wǎng)絡連接的潛在操作(其可與網(wǎng)絡環(huán)境100 的示例環(huán)境關(guān)聯(lián))的簡化流程圖300。在一些實施例中,這樣的操作可由傳感器120 (例如, 僵尸網(wǎng)絡檢測模塊,其包括連接監(jiān)視器215、行為分析模塊220、記分引擎225,等)實現(xiàn)來識 別使用HTTP的連接。
[0028] -般,HTTP便于客戶端與附連到網(wǎng)絡的服務器之間的數(shù)據(jù)交換。如通常實現(xiàn)的, HTTP是請求/響應應用級協(xié)議,其可以使用例如TCP等傳輸層協(xié)議來創(chuàng)建連接并且在例如 客戶端與服務器等兩個網(wǎng)絡節(jié)點(每個具有唯一網(wǎng)絡地址)之間傳遞數(shù)據(jù)。在該上下文中, "服務器"可以是網(wǎng)絡中的任何節(jié)點(或節(jié)點的軟件部件),其對其他節(jié)點提供資源。"客戶 端"可以是網(wǎng)絡中的任何節(jié)點(或節(jié)點的軟件部件),其請求資源。從而,客戶端(也稱為"用 戶代理")可以建立到服務器的連接(通常在眾所周知的端口上)并且使用該連接來請求來 自服務器的資源。服務器可以監(jiān)視連接并且在接收請求后發(fā)送響應。該響應可包括請求的 資源、錯誤消息或其他信息。
[0029] 許多類型的資源(其包括文檔、圖像、程序和服務)通過HTTP而大體上可用。一般, 資源是可以被識別以及通過網(wǎng)絡連接而被訪問的任何對象、數(shù)據(jù)、信息、服務或其他抽象概 念。資源可以由字符和/或數(shù)字的任何串識別,例如統(tǒng)一資源標識符(URI)方案。URI可歸 類為定位符、名稱或兩者。統(tǒng)一資源名稱(URN)是可以通過給定命名空間內(nèi)的唯一名稱而 識別資源的資源標識符的一個示例,而統(tǒng)一資源定位符(URL)是可以規(guī)定資源的位點的資 源標識符的示例。URI還可以規(guī)定用于檢索資源的機制(例如,協(xié)議)。URI方案通常設(shè)計成 與特定協(xié)議一起起作用。用于明確識別網(wǎng)絡資源的常見URL方案例如由服務標識符(例如, "HTTP")、后跟服務資源(其可以是主機名稱(或IP地址))結(jié)合有到資源(例如,文件或程序) 的路徑來組成。路徑的頂部大體上稱為"根",并且在根處的資源在本文稱作"根資源"。參 數(shù)也可包括在一些標識符(例如對于程序的HTTP URL)中。
[0030] 如本文使用的,"源"包括可以通過傳感器120發(fā)起與另一個節(jié)點的連接的任何客 戶端、主機或其他節(jié)點。源的連接或其他活動可以在各種類型的名單、表格或相似的結(jié)構(gòu)中 被跟蹤來便于本文描述的另外的操作。例如,白名單(例如,白名單230)可識別已經(jīng)確定為 合法且安全的源,而黑名單(例如,黑名單235)可識別之前確定為惡意的源。忽略名單(例 如,忽略名單240)可識別展現(xiàn)一些可疑連接模式但也展現(xiàn)指示合法活動的某種活動的源。 灰名單(例如,灰名單250)可識別展現(xiàn)可疑連接模式或批準進一步的行為分析的其他活動 的源。跟蹤名單(例如,跟蹤名單245)可識別展現(xiàn)可疑連接模式或未在另一名單中識別(例 如,之前未識別的)的其他活動的源。
[0031] 再次參考圖3,在一個示例實施例中,在305,連接監(jiān)視器215可監(jiān)視并且檢查包。 如果在310包指示使用超文本傳輸協(xié)議(HTTP)的連接,該連接的源可在315識別。源可在 320與忽略名單、在325與黑名單、在330與白名單以及在335與跟蹤名單比較。如果源未 在這些名單中的任一個中識別,源可在340被添加到跟蹤名單,例如通過添加源的網(wǎng)絡地 址。也可添加與連接關(guān)聯(lián)的其他信息,例如URI、URL、URN、網(wǎng)絡地址、主機名稱或與目的地 關(guān)聯(lián)的其他標識符。
[0032] 圖4是圖示用于在沒有活動用戶的情況下識別使用超本文傳輸協(xié)議來產(chǎn)生重復 連接的空閑源的潛在操作(其可與網(wǎng)絡環(huán)境100的示例實施例關(guān)聯(lián))的簡化流程圖400。在 一些實施例中,這樣的操作可由傳感器120 (例如,僵尸網(wǎng)絡檢測模塊,其包括連接監(jiān)視器 215、行為分析模塊220、記分引擎225,等)實現(xiàn)。
[0033] 在405對于跟蹤名單中(例如,在跟蹤名單245中)的每個源,可檢查許多度量來識 別不是由人員用戶產(chǎn)生的HTTP連接。作為閾值問題,可以檢查由源進行的連接的數(shù)量來確 保源已經(jīng)產(chǎn)生足量的業(yè)務。在某些實施例中,連接的數(shù)量可通過對源所請求的資源標識符 (例如,URI)的數(shù)量計數(shù)而測量。然而,如果資源標識符的數(shù)量(例如,"URI計數(shù)")在410未 超出閾值X,則活動可不足以以期望的置信水平確定源是否空閑。然而,如果資源標識符的 數(shù)量在410超出閾值X,則可測量額外的度量來確定源是否空閑以及業(yè)務是否由非人員用 戶產(chǎn)生。
[0034] 例如,bot典型地僅連接到少量的域。從而,如果對唯一域所進行的連接的數(shù)量 (即,"唯一域計數(shù)")在415超出可配置閾值Y,活動可指示合法用戶(S卩,人)活動。源在420 可從跟蹤名單去除并且以具有T1的生存期(TTL)添加到忽略名單(例如,忽略名單240)。 如果唯一域計數(shù)在415未超出Y,活動可指示malware或系統(tǒng)產(chǎn)生的活動。
[0035] 因為bot典型地僅連接到命令和控制服務器的域中的少量資源,額外的度量可包 括在給定域中請求的唯一資源標識符的總數(shù)量。然而,一些bot可試圖通過改變標識符中 (例如在URI或URL中)的參數(shù)而隱瞞該行為。在某些實施例中,可通過在去除參數(shù)值后對 每個資源標識符計算哈希值(例如,"URI哈希")而對抗這樣的戰(zhàn)術(shù)。從而,在425對于源所 連接的每個唯一域,可在430計算URI哈希。如果唯一 URI哈希的數(shù)量在435在閾值Z以 下,源可在440添加到灰名單(例如,灰名單250)用于進一步檢查。如果唯一 URI哈希的數(shù) 量不小于閾值Z,活動可指示合法進程(例如,腳本)并且源可在420從跟蹤名單去除并且以 具有T2的TTL添加到忽略名單(例如,忽略名單240)。
[0036] 閾值X、Y和Z大體上是可配置的,但可被選擇來調(diào)整靈敏度。例如,使X的值增加 應減小假警報,但也使靈敏度降低。X彡1〇、1 < Υ < 5和1 < Ζ < 5的閾值分別地在許多 實施例中可以是適當?shù)?。TTL值Τ1和Τ2也可以是可配置的,但一小時和四小時的值分別地 在許多實施例中可以是適當?shù)摹?br>
[0037] 圖5是圖示可與網(wǎng)絡環(huán)境100的某些實施例關(guān)聯(lián)的潛在操作的簡化流程圖500。 在一些實施例中,這樣的操作可由傳感器120 (例如,僵尸網(wǎng)絡檢測模塊,其包括連接監(jiān)視器 215、行為分析模塊220、記分引擎225,等)實現(xiàn)。操作可包括用于對源的可疑活動(例如在 流程圖400中添加到灰名單的源的活動)記分的啟發(fā)法,并且由此進一步提高置信水平并且 減少假肯定。
[0038] 在圖5的示例操作中,記分系統(tǒng)可基于例如0-8等數(shù)字標度,其中分數(shù)2、4和8分 別對應于低、中和高置信水平。從而,8或以上的高分可指示幾乎沒有假肯定,4-7的中間分 數(shù)可暗指一些假肯定和較高的靈敏度的可能性,而3或以下的低分可以暗指審計級靈敏度 (即,高度靈敏且易于假肯定)。加性方案(例如,低+低=中間并且中間+中間=高)可在這 樣的實施例中使用,使得三個靈敏度/置信水平(例如,低〈4、中間=4-7和高> 8 )可用。
[0039] 從而,在圖5中,灰名單(例如,灰名單250)中的每個源可在505識別?;颐麊沃?每個源的活動可使用某些啟發(fā)法來記分。對于每個源的分數(shù)可在510初始設(shè)置成0。啟發(fā) 法大體上是高度可配置且動態(tài)的,但可包括例如在515a確定源是否連接到近期注冊的域, 因為使用近期注冊的域(例如,在幾天至一年的時間段內(nèi))對于bot操作者是常見的。從而, 使用上文描述的0-8記分系統(tǒng),如果域的注冊時間小于閾值X,分數(shù)可在515b增加4個點, 其中注冊時間可通過詢問例如WH0IS數(shù)據(jù)庫而確定,并且閾值X可配置成調(diào)整啟發(fā)法靈敏 度。對于X的六個月的值在許多實施例中可以是適當?shù)摹?br>
[0040] 包(或多個包)的內(nèi)容也可指示bot行為。例如,HTTP請求和響應大體上包括首標 字段,例如引用字段(referrer filed)和用戶-代理字段。引用字段可指示請求所起源的之 前的資源(例如鏈接到另一個資源的web頁面)的地址。瀏覽器直接轉(zhuǎn)到非根資源是不尋常 的,除非它被硬編碼(例如,在腳本或bot中)或從另一個資源重定向。因此,從bot到非根 資源的包中的引用字段頻繁缺失或為空,并且如果在520a包中的引用字段缺失并且請求 的URI不是根目錄,分數(shù)可在520b增加1-2個點。用戶-代理字段被許多合法客戶端使用 來識別它們自身。相反,用戶-代理字段在由bot發(fā)送的請求中頻繁缺失或未知,并且如果 在525a用戶-代理字段缺失或未知,分數(shù)可在525b增加另外1-2個點。首標字段的數(shù)量 還可區(qū)分某種惡意業(yè)務與合法業(yè)務。在HTTP中,例如,首標字段大體上通過回車/換行而 終止,因此首標字段的數(shù)量可以通過對首標行的數(shù)量計數(shù)而計數(shù)。使用HTTP的bot典型地 不包括許多首標字段,其通常明顯少于合法客戶端。如果在530a請求首標行的平均數(shù)量小 于或等于閾值Y (其中Y是可配置參數(shù)),分數(shù)可以在530b增加再另外1-2個點。值5在許 多實施例中對于Y可以是適當?shù)闹?。Bot以幾乎空的響應頁頻繁發(fā)送keep-alive消息,這 些幾乎空的響應頁完全不同于正常web站點返回的大的web頁面(其典型地大于lkB),從 而如果響應的平均體大小小于可配置閾值Z (例如,〈100個字節(jié)),分數(shù)在535b還可以增加 1-2個點。
[0041] 目的地節(jié)點的信譽也可以明顯影響分數(shù)。從而,可向信譽系統(tǒng)發(fā)送詢問,并且分數(shù) 可以基于來自信譽系統(tǒng)的響應而相應地調(diào)整。例如,如果在540a目的地與在具有不良信譽 的地帶中的頂級域(例如指向中國或俄羅斯站點的.cn或.ru域,其在北美可能不尋常)關(guān) 聯(lián),則分數(shù)可在540b增加4個點。如果目的地的地址或域在545a未經(jīng)證實,分數(shù)在545b 可增加2個點。相似地,如果在555a目的地的地址或域與可疑信譽關(guān)聯(lián),分數(shù)在555b可以 增加4個點。如果地址或域的信譽是不良的,則在源空閑時的重復HTTP連接幾乎肯定指示 惡意bot活動并且分數(shù)可以增加8個點。如果在560a主機字段是公共網(wǎng)絡地址(S卩,是數(shù) 字并且不是專用(例如,172. 16. x/192. 16. x/10. x/127. X)),則分數(shù)可在560b再次增加2-4 個點。
[0042] 如果分數(shù)在565超出可配置閾值,例如在圖5的示例實施例中是4或8,可在570 采取基于策略的適當動作。例如,適當?shù)膭幼骺砂ㄗ钄鄰脑椿虻侥康牡氐男碌倪B接、在日 志中記錄活動用于后續(xù)取證分析或警告操作者或管理員。
[0043] 因為是記分標度,對于每個啟發(fā)法的分數(shù)和閾值水平是高度可配置的。一些啟發(fā) 法可在適當?shù)那闆r下去除,并且可添加其他而不偏離本文提供的教導的范圍。在這樣的啟 發(fā)法中使用的參數(shù)還可對于特定環(huán)境修改。例如,如果數(shù)字地址在給定環(huán)境中在主機字段 常用,則對于相關(guān)啟發(fā)法的分數(shù)可以減少到〇 (即,消除啟發(fā)法)。另外,盡管參考特定協(xié)議 圖示,本文描述的原理可容易適應于檢測可使用其他協(xié)議的命令和控制通道。
[0044] 網(wǎng)絡環(huán)境100可提供明顯的優(yōu)勢,其中的一些已經(jīng)論述。例如,網(wǎng)絡環(huán)境100可以 以高檢測速率(其包括具有低活動的隱秘bot檢測)提供0日bot (S卩,之前未部署的bot) 和APT的幾乎實時檢測,同時大大減少或消除假肯定。此外,網(wǎng)絡環(huán)境100是積極的并且不 需要簽名,其具有不需要頻繁更新或維護的行為方法。網(wǎng)絡環(huán)境100也是高度可配置的,但 提供不需要復雜配置的強默認參數(shù)。
[0045] 在上文提供的示例以及許多其他潛在示例中,可從兩個、三個或四個網(wǎng)絡元件方 面描述交互。然而,這已經(jīng)為了清楚起見和僅示例的目的而實行。在某些情況下,通過僅參 考有限數(shù)量的網(wǎng)絡元件來描述給定操作集的功能性中的一個或多個可更容易。應該意識到 網(wǎng)絡環(huán)境100能容易定標并且可以容納大量部件,以及更復雜/精密的設(shè)置和配置。因此, 提供的示例在潛在地應用于無數(shù)其他架構(gòu)時不應限制范圍或抑制網(wǎng)絡環(huán)境100的廣泛教 導。另外,盡管參考特定場景描述,在特定模塊在網(wǎng)絡元件內(nèi)提供的情況下,這些模塊可以 在外部提供,或以任何適合的方式合并和/或組合。在某些實例中,這樣的模塊可在單個專 用單元中提供。
[0046] 還有重要的是,注意在附圖中的步驟僅圖示可能場景和模式中的一些,其可由網(wǎng) 絡環(huán)境100執(zhí)行或在網(wǎng)絡環(huán)境100內(nèi)執(zhí)行。這些步驟中的一些可在適當?shù)那闆r下刪除或去 除,或這些步驟可被大大修改或改變而不偏離本文提供的教導的范圍。另外,許多的這些操 作已經(jīng)描述為與一個或多個額外操作同步或并行執(zhí)行。然而,這些操作的定時可被大大更 改。前面的操作流已經(jīng)為了示例和論述目的提供。提供相當大的靈活性,因為可提供任何 適合的設(shè)置、排列、配置和定時機構(gòu)而不偏離本文提供的教導。
[0047] 本領(lǐng)域內(nèi)技術(shù)人員可弄清許多其他改變、替代、變化、更改和修改并且規(guī)定本公開 包含所有這樣的改變、替代、變換、更改和修改,它們落入附上的權(quán)利要求的范圍內(nèi)。為了幫 助美國專利和商標局(USPTO)以及另外對該申請所授予的任何專利的任何讀者解釋隨附的 權(quán)利要求, 申請人:希望指出 申請人::(a)不意在讓附上的權(quán)利要求中的任何權(quán)利要求調(diào)用 35 U. S. C章112的第六(6)段,因為它在本提交日時存在,除非詞"用于…的部件"或"用 于…的步驟"專門在特定權(quán)利要求中使用;以及(b)不意在通過該說明書中的任何闡述以未 另外用別的方式在附上的權(quán)利要求中反映的任何方式限制該公開。
【權(quán)利要求】
1. 一種方法,包括: 檢測從空閑源節(jié)點到目的地節(jié)點的重復連接; 基于所述重復連接的行為對所述空閑源節(jié)點計算分數(shù); 如果所述分數(shù)超出閾值則采取策略動作。
2. 如權(quán)利要求1所述的方法,其中所述重復連接使用超文本傳輸協(xié)議。
3. 如權(quán)利要求1所述的方法,其中檢測所述重復連接包括: 檢測通向超過X個地址的連接; 在預定時間段內(nèi)檢測通向少于Y個唯一地址的連接;以及 檢測通向與所述唯一地址中的至少一個關(guān)聯(lián)的少于Z個唯一資源標識符的連接; 其中X、Y和Z是指示與不是由人員用戶產(chǎn)生的重復連接一致的模式的參數(shù)。
4. 如權(quán)利要求1所述的方法,其中計算所述分數(shù)包括使用啟發(fā)法來識別指示威脅的行 為。
5. 如權(quán)利要求1所述的方法,其中計算所述分數(shù)包括使用啟發(fā)法來識別指示bot命令 和控制通道的行為。
6. 如權(quán)利要求1所述的方法,其中計算所述分數(shù)包括如果所述目的地節(jié)點與在一年內(nèi) 注冊的域關(guān)聯(lián)則使所述分數(shù)增加。
7. 如權(quán)利要求1所述的方法,其中計算所述分數(shù)包括如果所述重復連接中的至少一個 不具有引用字段并且不具有根資源標識符則使所述分數(shù)增加。
8. 如權(quán)利要求1所述的方法,其中計算所述分數(shù)包括如果所述重復連接中的至少一個 未識別已知用戶代理則使所述分數(shù)增加。
9. 如權(quán)利要求1所述的方法,其中計算所述分數(shù)包括如果所述重復連接中的至少一個 通過公共網(wǎng)絡地址識別所述目的地節(jié)點則使所述分數(shù)增加。
10. 如權(quán)利要求1所述的方法,其中計算所述分數(shù)包括如果所述重復連接具有小于X 個平均請求首標行則使所述分數(shù)增加,其中X是指示通向所述目的地節(jié)點的malware連接 的參數(shù)。
11. 如權(quán)利要求1所述的方法,其中計算所述分數(shù)包括如果所述重復連接具有小于X 的平均響應大小則使所述分數(shù)增加,其中X是指示來自命令和控制服務器的響應的參數(shù)。
12. 如權(quán)利要求1所述的方法,其中計算所述分數(shù)包括請求與所述目的地節(jié)點關(guān)聯(lián)的 信譽值并且如果所述信譽值指示所述目的地節(jié)點與威脅關(guān)聯(lián)則使所述分數(shù)增加。
13. 如權(quán)利要求1所述的方法,其中計算所述分數(shù)包括如果所述目的地節(jié)點具有在與 威脅關(guān)聯(lián)的地帶中的網(wǎng)絡地址則使所述分數(shù)增加。
14. 一種方法,包括: 檢測由源節(jié)點發(fā)起的重復連接; 如果所述重復連接包括在一段時間內(nèi)通向至少X個資源、在所述時間段內(nèi)通向小于Y 個唯一地址以及在所述時間段內(nèi)對于所述唯一地址中的至少一個通向小于Z個唯一資源 的連接,則基于所述重復連接對所述源節(jié)點計算分數(shù),其中X、Y和Z是指示與威脅一致的行 為的參數(shù);以及 如果所述分數(shù)超出閾值分數(shù)則采取策略動作。
15. 如權(quán)利要求14所述的方法,其中計算所述分數(shù)包括使用啟發(fā)法來識別指示所述威 脅的行為。
16. 如權(quán)利要求14所述的方法,其中所述重復連接使用超文本傳輸協(xié)議。
17. 如權(quán)利要求14所述的方法,其中所述威脅是連接到命令和控制服務器的bot。
18. 如權(quán)利要求14所述的方法,其中X大于或等于10, Y小于或等于5并且Z小于或 等于5。
19. 如權(quán)利要求14所述的方法,其中所述時間段是至少八個小時。
20. 如權(quán)利要求14所述的方法,其中: 所述威脅是使用超文本傳輸協(xié)議連接到命令和控制服務器的bot ; X大于或等于10, Y小于或等于5并且Z小于或等于5 ; 所述時間段是至少八個小時; 計算所述分數(shù)包括使用啟發(fā)法來識別指示所述威脅的行為;以及 所述策略動作是向管理員發(fā)送警告。
【文檔編號】G06F21/55GK104067280SQ201280053582
【公開日】2014年9月24日 申請日期:2012年9月28日 優(yōu)先權(quán)日:2011年10月18日
【發(fā)明者】R.巴魯帕里, V.馬哈迪克, B.馬德胡蘇丹, C.H.沙 申請人:邁可菲公司