專利名稱:在信譽系統(tǒng)中使用客戶端裝置的置信量度的制作方法
技術(shù)領(lǐng)域:
本發(fā)明總體上涉及計算機安全性,并且具體涉及對操縱信譽系統(tǒng)的企圖進行檢測用于檢測惡意對象。
背景技術(shù):
多種多樣的惡意軟件能夠攻擊現(xiàn)代計算機。惡意軟件威脅包括計算機病毒、蠕蟲、特洛伊木馬程序、間諜軟件、促銷軟件、犯罪軟件、以及釣魚網(wǎng)站。惡意實體有時會攻擊存儲敏感或機密數(shù)據(jù)的服務(wù)器,這些數(shù)據(jù)可以用于惡意實體的自身利益。類似地,當用戶下載新 程序或程序更新時以及在很多其他情形下,必須一直保護包括家用計算機的其他計算機免受惡意軟件的攻擊,當用戶經(jīng)由電子郵件與其他人通信時可以傳送這些惡意軟件。有很多不同的選擇及方法可用于惡意實體對計算機進行攻擊。用于檢測惡意軟件的常規(guī)技術(shù)(如簽名字符串掃描)變得不太有效?,F(xiàn)代的惡意軟件往往針對并被傳送到相對少數(shù)的計算機上。例如,特洛伊木馬程序可以被設(shè)計為針對特定公司的特定部門中的計算機。安全分析師可能永遠不會遇到這樣的惡意軟件,并且因此安全軟件可能永遠不會配置用于檢測這種惡意軟件的簽名。大量分布的惡意軟件進而可以包含使惡意軟件的每個實例唯一化的多態(tài)性。其結(jié)果是,難以開發(fā)出能可靠地檢測出惡意軟件的所有實例的簽名字符串。用于檢測惡意軟件的較新技術(shù)涉及信譽系統(tǒng)的使用。信譽系統(tǒng)可以確定在計算機上遇到的一個文件或其他對象的信譽,以評估該對象是惡意軟件的可能性。制定一個對象的信譽的ー種方法是從在其上發(fā)現(xiàn)該對象的多個聯(lián)網(wǎng)計算機中收集多個報告并且以這些報告中的信息為信譽的基礎(chǔ)。然而,因為這樣一種信譽系統(tǒng)依賴于來自于實質(zhì)上是未知方的報告,所以它容易被惡意行為者破壞。例如,散布惡意軟件的實體可以通過提交表明該惡意軟件是合法的虛假報告來企圖對“欺騙”該信譽系統(tǒng)。因此,對于能夠經(jīng)受破壞其操作的這種企圖的信譽系統(tǒng)存在著ー種需要。
發(fā)明內(nèi)容
一種用于在信譽系統(tǒng)中確定ー個對象的信譽的方法、計算機可讀存儲媒質(zhì)、以及計算機系統(tǒng)滿足了以上及其他的需要。該方法的一個實施方案包括從多個客戶端中接收多個報告,這些報告標識了在這些客戶端處所檢測的ー個對象。該方法進ー步包括從這些報告中確定有關(guān)這些客戶端的信息。另外,該方法包括響應(yīng)于所確定的有關(guān)這些客戶端的信息生成這些客戶端的置信量度,這些置信量度表明在從這些客戶端接收的報告的真實性的置信度的量值。該方法還包括至少部分地是基于來自這些客戶端的報告以及這些客戶端的置信量度來計算該對象的一個信譽分數(shù)并且對該對象的信譽分數(shù)進行存儲。該計算機可讀媒質(zhì)的實施方案存儲了多個計算機程序指令用于在信譽系統(tǒng)中確定ー個對象的信譽,這些指令包括多個指令用于從該信譽系統(tǒng)中的多個客戶端接收多個報告,這些報告標識了在這些客戶端處所檢測到的ー個對象,并且用于從這些報告中確定有關(guān)這些客戶端的信息。這些指令進ー步包括多個指令用于響應(yīng)于所確定的有關(guān)這些客戶端的信息生成這些客戶端的置信量度,這些置信量度表明在從這些客戶端接收的報告的真實性的置信度的量值。這些指令額外地還包括多個指令用于至少部分地響應(yīng)于來自這些客戶端的報告以及這些客戶端的置信量度來計算該對象的一個信譽分數(shù)并且對該對象的信譽分數(shù)進行存儲。 該計算機系統(tǒng)的實施方案包括一種存儲了多個可執(zhí)行的計算機程序指令的計算機可讀存儲媒質(zhì),這些指令包括多個指令用于從該信譽系統(tǒng)中的多個客戶端接收多個報告,這些報告標識了在這些客戶端處所檢測到的ー個對象,并且用于從這些報告中確定有關(guān)這些客戶端的信息。這些指令進ー步包括多個指令用于響應(yīng)于所確定的有關(guān)這些客戶端的信息生成這些客戶端的置信量度,這些置信量度表明在從這些客戶端接收的報告的真實性的置信度的量值。這些指令額外地還包括多個指令用于至少部分地響應(yīng)于來自這些客戶端的報告以及這些客戶端的置信量度來計算該對象的一個信譽分數(shù)并且對該對象的信譽分數(shù)進行存儲。該計算機系統(tǒng)進一歩包括一個用于執(zhí)行這些計算機程序指令的處理器。在本披露中以及在以下的詳細說明中說明的這些特征及優(yōu)點并不是包攬無遺的,并且具體地講,通過參看本發(fā)明的附圖、說明書、以及權(quán)利要求書,很多額外的特征和優(yōu)點對相關(guān)領(lǐng)域的普通技術(shù)人員將變得清楚。另外,應(yīng)該注意到本說明書中所使用的語言的選擇主要是為了易讀性和指導性的目的,并且也許不是被選用為描繪或限制本發(fā)明的主題,對于確定這種發(fā)明主題必須求助于權(quán)利要求書。
圖I是根據(jù)本發(fā)明的一個實施方案的ー種計算環(huán)境的高級框圖。圖2是根據(jù)一個實施方案的用作安全服務(wù)器和/或客戶端的一臺計算機的高級框圖。圖3是ー個高級框圖,展示了根據(jù)ー個實施方案的信譽模塊中的多個模塊。圖4是ー個流程圖,展示了根據(jù)ー個實施方案的信譽模塊使用來自從多個客戶端接收的多個報告的信息來確定有關(guān)多個對象的信譽分數(shù)的操作。這些附圖描繪了本發(fā)明的不同的實施方案,僅用于說明的目的。本領(lǐng)域的普通技術(shù)人員將從以下討論中容易地認識到,可以使用本文所示例的這些結(jié)構(gòu)以及方法的替代性實施方案而不背離本文所描述的本發(fā)明的原理。
具體實施例方式圖I是根據(jù)一個實施方案的ー種計算環(huán)境100的高級框圖。圖I展示了連接到一個網(wǎng)絡(luò)114上的ー個安全服務(wù)器102。網(wǎng)絡(luò)114還連接到多個客戶端112上。圖I以及其他圖示使用類似的參考號來指代相似的要素。參考號后的字母如“ 112A”表示該文字專指具有這個具體參考號的要素。該文本中沒有后續(xù)字母的參考號如“ 112”是指圖示中包含該參考號的任何或全部要素(例如,文本中的“ 112”是指圖示中的參考號“ 112A”、“112B”、和/或“ 112C”)。為了使說明簡化并清晰,在圖I中僅示出了三個客戶端112。計算環(huán)境100的實施方案可以具有成千上萬個客戶端112以及多個服務(wù)器102。在一些實施方案中,這些客戶端112僅在某ー時間段連接到網(wǎng)絡(luò)114上或根本不連接??蛻舳?12是能夠托管惡意軟件的一個電子裝置。在一個實施方案中,客戶端112是執(zhí)行例如可兼容Microsoft Windows的操作系統(tǒng)(OS)、Apple OS X、和/或Linux發(fā)行版的一個常規(guī)的計算機系統(tǒng)。在另ー個的實施方案中,客戶端112是具有計算機功能的另ー種裝置,如個人數(shù)字助理(PDA)、移動電話、視頻游戲系統(tǒng),等等??蛻舳?12典型地存儲了能夠托管惡意軟件的數(shù)目眾多的計算機文件和/或軟件應(yīng)用程序(統(tǒng)稱為“對象”)。惡意軟件一般被定義為在客戶端112上暗中執(zhí)行的或具有ー些不正當功能的軟 件。惡意軟件可以采取很多形式,如附加到合法文件上的寄生病毒、利用計算機的安全弱點以便感染計算機并傳播到其他計算機的蠕蟲、看似合法但實際上包含隱藏的惡意代碼的特洛伊木馬程序、以及監(jiān)控計算機上的按鍵和/或其他動作以便捕獲敏感信息或顯示廣告的間諜軟件??蛻舳?12執(zhí)行ー個安全模塊110用于檢測惡意軟件的出現(xiàn)。安全模塊110可以例如被結(jié)合到計算機的OS中或是ー個獨立的全面安全包的一部分。在一個實施方案中,安全模塊110由操作安全服務(wù)器102的實體來提供。安全模塊110可經(jīng)由網(wǎng)絡(luò)114與安全服務(wù)器102通信,以便下載用來檢測惡意軟件的信息。安全模塊110還可經(jīng)由網(wǎng)絡(luò)114與安全服務(wù)器102通信,以便提交有關(guān)在客戶端112處檢測到的多個對象的信息。在一個實施方案中,安全模塊110將在該客戶端處檢測到的多個對象的標識符提交給安全服務(wù)器102并且接收由其返回的這些對象的信譽分數(shù)。信譽分數(shù)代表對象的可信任度的ー種評估。具有高信譽分數(shù)的對象具有良好的信譽并且不太可能包含惡意軟件。相反,具有低信譽分數(shù)的對象具有不良信譽并且可能包含惡意軟件。安全模塊110使用該信譽分數(shù)連同如行為的其他因素來評估在客戶端112處的ー個對象是否是惡意軟件。安全模塊110可以將該評估的結(jié)果上報給安全服務(wù)器102。安全服務(wù)器102是由安全軟件供應(yīng)商或其他實體提供的。安全服務(wù)器102可以包括ー個或多個標準計算機系統(tǒng),這個或這些標準計算機系統(tǒng)被配置為經(jīng)由網(wǎng)絡(luò)114與客戶端112通信。安全服務(wù)器102經(jīng)由網(wǎng)絡(luò)114接收包含多個對象的標識符以及來自這些客戶端112的其他信息的報告。作為響應(yīng),安全服務(wù)器102經(jīng)由網(wǎng)絡(luò)114將這些對象的信譽分數(shù)發(fā)送給這些客戶端112。在一個實施方案中,安全服務(wù)器102包括一個數(shù)據(jù)存儲器104以及ー個信譽模塊106。信譽模塊106基于多個因素(如這些客戶端112遇見這些對象的頻率)來確定這些對象的信譽分數(shù)。這些信譽分數(shù)由信譽模塊106存儲在數(shù)據(jù)存儲器104中。信譽模塊106響應(yīng)于經(jīng)由網(wǎng)絡(luò)114的來自客戶端112的查詢或提交來訪問數(shù)據(jù)存儲器104。信譽模塊106的一個實施方案還確定這些客戶端112的置信量度。一個客戶端112的置信量度表明在從該客戶端接收的信息的真實性的置信度的量值,其中高置信量度表明該信息可能是真實的。例如,來自ー個特定客戶端112的大量報告可能表明該客戶端正被ー個惡意實體所控制,該惡意實體正企圖通過提交虛假報告來影響對象的信譽。信譽模塊106可以對這種影響對象的信譽的企圖進行檢測并降低相應(yīng)客戶端112的置信量度。當確定多個對象的信譽時,信譽模塊106可以降低來自具有低置信量度的客戶端112的報告的權(quán)重,并提高來自具有高置信量度的客戶端的報告的權(quán)重。因此,信譽模塊106可以抵抗來自惡意實體的操縱或以其他方式“欺騙”安全服務(wù)器102的企圖。
網(wǎng)絡(luò)114使能安全服務(wù)器102與客戶端112之間的通信。在一個實施方案中,網(wǎng)絡(luò)114使用多種標準通信技術(shù)和/或協(xié)議并且包括互聯(lián)網(wǎng)。因此,網(wǎng)絡(luò)114可以包括采用例如以太網(wǎng)、802. 11、全球微波互聯(lián)接入(WiMAX)、3G、數(shù)字用戶線路(DSL)、異步傳輸模式(AU)、InfiniBancUPCI Express高級轉(zhuǎn)換等技術(shù)的多條鏈路。類似地,網(wǎng)絡(luò)114上所用的網(wǎng)絡(luò)協(xié)議可以包括多協(xié)議標簽交換(MPLS)、傳輸控制協(xié)議/互聯(lián)網(wǎng)協(xié)議(TCP/IP)、用戶數(shù)據(jù)報協(xié)議(M)P)、超文本傳輸協(xié)議(HTTP)、簡單郵件傳輸協(xié)議(SMTP)、文件傳輸協(xié)議(FTP),等等??梢允褂冒ǔ谋緲擞浾Z言(HTML)、可擴展標記語言(XML)等的技術(shù)和/或格式表示網(wǎng)絡(luò)114上交換的數(shù)據(jù)。另外,所有的或部分的鏈路可以用常規(guī)的加密技術(shù)進行加密,例如安全套接字層(SSL)、傳輸層安全(TLS)、虛擬專用網(wǎng)絡(luò)(VPN)、互聯(lián)網(wǎng)協(xié)議安全(IPsec),等等。在另ー個實施方案中,這些實體可以使用定制的和/或?qū)iT的數(shù)據(jù)通信技術(shù)來替代以上說明的那些或添加到以上說明的那些。 圖2是根據(jù)一個實施方案的用作安全服務(wù)器102和/或客戶端112的一臺計算機200的高級框圖。所展示的是連接到ー個芯片組204上的至少ー個處理器202。同樣連接到芯片組204上的是ー個存儲器206、一個存儲裝置208、一個鍵盤210、一個圖形適配器212、ー個定點裝置214、以及ー個網(wǎng)絡(luò)適配器216。一個顯示器218連接到圖形適配器212上。在一個實施方案中,由一個存儲器控制器集線器220與ー個I/O控制器集線器222來提供芯片組204的功能。在另ー個實施方案中,存儲器206被直接連接到處理器202上而不是芯片組204上。存儲裝置208是任何計算機可讀存儲媒質(zhì),如硬盤驅(qū)動器、光盤只讀存儲器(⑶-ROM)、DVD、或者固態(tài)存儲裝置。存儲器206保持由處理器202使用的多個指令與數(shù)據(jù)。定點裝置214可以是鼠標、軌跡球、或其他類型的定點裝置,并且與鍵盤210 —起使用以便將數(shù)據(jù)輸入計算機系統(tǒng)200中。圖形適配器212在顯示器218上顯示圖像和其他信息。網(wǎng)絡(luò)適配器216將計算機系統(tǒng)200連接到ー個局域網(wǎng)或廣域網(wǎng)上。如在本領(lǐng)域中所皆知的,計算機200可以具有不同于圖2所示的部件和/或其他部件。另外,計算機200可以缺少某些展示出的部件。在一個實施方案中,用作安全服務(wù)器102的計算機200缺少了鍵盤210、定點裝置214、圖形適配器212、和/或顯示器218。而且,存儲裝置208可以位于計算機200中和/或使其與之遠離(如實施在一個存儲區(qū)域網(wǎng)絡(luò)(SAN)內(nèi))。如本領(lǐng)域中所皆知的,計算機200被適配為執(zhí)行多個計算機程序模塊用于提供在此所述的功能。如在此所使用的,術(shù)語“模塊”是指被利用來提供特定功能的計算機程序邏輯。這樣,模塊可以在硬件、固件、和/或軟件中實施。在一個實施方案中,將多個程序模塊存儲在存儲裝置208上、載入到存儲器206中、并且由處理器202來執(zhí)行。在此所述的實體的實施方案可以包括其他的和/或與在此所述不同的模塊。另夕卜,歸因于這些模塊的功能可以在其他的實施方案中由其他的或不同的模塊來執(zhí)行。而且,為了明晰與方便的目的,本說明書偶爾省略了術(shù)語“模塊”。圖3是ー個高級框圖,展示了根據(jù)ー個實施方案的信譽模塊106的細節(jié)圖。在一些實施方案中,信譽模塊106被結(jié)合到安全服務(wù)器102中作為ー個獨立的應(yīng)用程序或作為另ー個產(chǎn)品的一部分。如圖3所示,信譽模塊106包括多個模塊。本領(lǐng)域中的普通技術(shù)人員將會認識到信譽模塊106的其他實施方案可以具有不同于在此所述的模塊和/或其他模塊,并且這些功能能夠以不同的方式分布在這些模塊中。通信模塊302經(jīng)由網(wǎng)絡(luò)114與客戶端112的安全模塊110交換信息。通信模塊302接收有關(guān)由安全模塊110在客戶端112處檢測到的多個對象(如文件)的信息。例如,通信模塊302可以從安全模塊110接收ー個報告,該報告包含在一個客戶端112處檢測到的一個對象的標識符連同對該對象的信譽分數(shù)的ー個請求。該對象的標識符可以是例如該對象的ー個散列。通信模塊302與信譽模塊106的其他模塊進行交互以便確定所標識對象的信譽分數(shù)并且將該分數(shù)提供給請求安全模塊110。在一個實施方案中,這些報告還包括通信模塊302可以用來標識提交報告的客戶端112的信息。在一個實施方案中,一個報告包括客戶端112的ー個唯一性標識符。該唯一性標識符可以是伴隨該報告和/或用于簽署或驗證該報告的ー個加密密鑰或令牌。通信模塊302還可以對能用來標識客戶端112的其他信息(如從其接收的這些報告的IP地址) 進行檢測。取決于該實施方案,通信模塊302可以訪問數(shù)據(jù)存儲器104中將該唯一性標識與客戶端112的額外信息相關(guān)聯(lián)的信息,如其地理位置、系統(tǒng)中的年齡(例如,自從客戶端的第一份報告以來所經(jīng)歷的時間)、以及它曾提交的其他報告,等等。置信模塊304確定客戶端112的置信量度。如以上所提及的,置信量度表示在從一個客戶端112接收的報告的真實性的置信度的量值。在一個實施方案中,該置信量度是從零到一(包括在內(nèi))的一個連續(xù)值并且存儲在數(shù)據(jù)存儲器104中。取決于該實施方案,該置信量度可以與除客戶端112外的其他實體相關(guān)聯(lián)。例如,該置信量度可以與客戶端112的ー個具體用戶或與安全模塊110的ー個具體實例相關(guān)聯(lián)。為了清晰起見,本說明書是指置信量度與客戶端112相關(guān)聯(lián),但應(yīng)該理解的是用在這個意義上的“客戶端”也指置信量度可與之相關(guān)聯(lián)的其他實體。置信模塊304使用從客戶端112接收的信息和/或從其他來源接收的有關(guān)客戶端的信息來計算這些客戶端的置信量度。置信模塊304使用這些客戶端的唯一性標識符去聯(lián)系并關(guān)聯(lián)來自客戶端的信息。取決于該實施方案,置信模塊304可以使用多種不同的因素來確定ー個客戶端的置信量度。置信模塊304的一個實施方案使用一個客戶端的系統(tǒng)年齡作為ー個因素來計算該客戶端的置信量度。一個客戶端的系統(tǒng)年齡是ー個客戶端112 —直處于活躍狀態(tài)所經(jīng)歷的時間。例如,一個客戶端112的系統(tǒng)年齡可以是從接收來自該客戶端的第一份報告的時候起、從在該客戶端上安裝安全模塊110的時候起、或者從用安全服務(wù)器102注冊該安全模塊的時候起所經(jīng)歷的時間。一般情況下,ー個“較年長的”客戶端112收到ー個較高置信量度。僅最近才開始提交報告的ー個客戶端112可能是不可靠的或在其他方面是不可信賴的。例如,一個惡意實體可能偽造大量的合法的(并且是新的)客戶端標識符,并且然后提交大量的報告,企圖以此提升惡意軟件的信譽分數(shù)。置信模塊304可以辨認出這些報告是來自“年輕的”客戶端112并且可以使用這個因素來降低這些客戶端的置信量度??梢允褂妙A(yù)定值來建立“年輕的”與“年長的”客戶端之間的區(qū)別。例如,具有小于六個月年齡的客戶端112可以被認為是“年輕的”而其他客戶端可以被認為是“年長的”。置信模塊304還可以基于除所經(jīng)歷時間外的其他特性來計算ー個客戶端的年齡。在一個實施方案中,一個客戶端的年齡是基于該客戶端已經(jīng)提交的“流行的”對象的報告的數(shù)量來測量的。例如,某些軟件應(yīng)用程序在客戶端112中是流行的或常見的。例如,很多客戶端可能具有數(shù)目有限的安裝的網(wǎng)頁瀏覽應(yīng)用程序至少之一。安全模塊110將這種流行應(yīng)用程序連同其他被檢測的對象一起上報給安全服務(wù)器102。置信模塊304可以將已提交了流行對象的更多報告的ー個客戶端112處理為“年長”于已提交了此類對象的較少報告的客戶端。這樣的處理有助于降低客戶端112的置信量度,這些客戶端僅對非流行對象提交報告并且因此可能企圖提升惡意軟件的信譽分數(shù)。類似的,置信模塊304可以基于對于流行對象提交的報告與對于“稀有”對象提交的報告的ー個比率來計算ー個客戶端的年齡,其中“稀有”對象是由非常少的客戶端上報的對象。如果ー個客戶端112對于稀有對象傾向于比對于流行對象提交更多的報告,那么該客戶端可能正在企圖提升惡意軟件的信譽分數(shù)。因此,此類客戶端112被處理為是“年輕的”并且將具有降低的置信量度。將系統(tǒng)上的一個客戶端的年齡作為因素使得“欺騙”信譽 系統(tǒng)變得昂貴,這是因為ー個客戶端必須是“年長的”才能具有一個較高置信量度。置信模塊304的一個實施方案使用一個客戶端112的地理位置作為ー個因素來計算該客戶端的置信量度。因為大多數(shù)客戶端并不同時在世界的多個地方,所以在接近的時間內(nèi)從不同地理位置接收的由同一客戶端提交的有關(guān)同一對象的報告表明是ー個可疑行為。此類報告可能表明例如該客戶端的標識符是由多個惡意行為者用來行騙的。因此,置信模塊304可以基于接收到此類報告來降低該客戶端的置信量度。此外,不同的地理位置可能具有不同的置信量度。這樣,從ー個特別可疑的地理位置提交報告的ー個客戶端112可能具有低于從ー個不太可疑的地理位置提交相同報告的另ー個客戶端的置信量度。置信模塊304還可以使用由一個客戶端112提交報告的頻率作為ー個因素來計算該客戶端的置信量度。通過追蹤多個客戶端提交報告的模式,置信模塊304可以對由ー個具體客戶端提交的異常量進行檢測。所構(gòu)成對期望提交模式的一個“異?!逼畹拈撝悼梢曰诳蛻舳艘郧暗奶峤荒J綇末`個客戶端到另ー個而有所變化。例如,在歷史上僅提交少量報告而突然提交大量報告的一個客戶端112可能受到危害。其結(jié)果是,置信模塊304可以降低該客戶端的置信量度。置信模塊304還可以使用這些客戶端標識符來確定置信量度。置信模塊304可以將某些客戶端標識符標識為無效、偽造、篡改、或以其他方式受到危害。例如,可以通過將在一個所接收的報告中的標識符與在數(shù)據(jù)存儲器104中維護的ー個標識符列表相關(guān)聯(lián)來進行這ー標識。置信模塊304可以辨認出受到危害的標識符并且將該信息用作ー個因素來計算那些受影響客戶端的置信量度。因此,可以將ー個較低置信量度賦予ー個具有無效或受到危害的標識符的客戶端。進ー步地,置信模塊304可以使用從其接收報告的客戶端的IP地址來影響這些置信量度。某些IP地址可以被標識為屬于惡意實體或者在其他方面與低信用有關(guān)聯(lián)。因此,置信模塊304可以降低從某些IP地址發(fā)送報告的客戶端的置信量度。由置信模塊304接收的其他信息還可以影響客戶端的置信量度。如果ー個客戶端提交殘缺的或虛假的報告,那么置信模塊304有理由懷疑該客戶端已經(jīng)受到危害并且可以降低該客戶端的置信量度。在多個實施方案中,其中客戶端112與置信模塊304訪問的一個信用卡賬戶有關(guān)聯(lián)(例如當該客戶端的用戶已使用信用卡從安全服務(wù)器102購買了安全模塊110吋),置信模塊304可以使用所觀察到的信用活動(如退款請求)來影響該置信量度。在其他的實施方案中,基于上述一個或多個因素(如地理位置)對報告進行匯總還可以基于無規(guī)律的報告模式來對提交可疑報告的客戶端進行標識并且影響客戶端的置信量度。由置信模塊304接收的額外因素與直接推斷可以用于影響客戶端的置信量度。例如,從多于ー個IP地址接收由一個客戶端(相同的客戶端標識符)的同時提交可以表明該客戶端已經(jīng)受到危害。從ー個客戶端接收不尋常的高比率的提交、從多個客戶端接收有關(guān)幾個文件重復的報告、以及對提交不成比例地大量或少量文件的客戶端進行標識(或者一個給定特征的不成比例數(shù)量的文件,例如客戶端似乎提交的是其他客戶端未曾提交過的文件)都會進ー步影響那些客戶端的置信量度。另外,在一個實施方案中,對已知發(fā)送垃圾郵件的客戶端進行標識是置信模塊304用來影響客戶端的置信量度的另ー個因素。置信模塊304的一個實施方案使用上述一個或多個因素來確定ー個客戶端112的置信量度。在置信模塊304使用多個因素的多個實施方案中,置信模塊可以將不同的權(quán)重賦予不同的因素。例如,客戶端112的年齡可以對該置信量度有顯著的影響,而該客戶端的地理位置可以僅具有非常小的影響。另外,一些實施方案使用多個置信量度,其中每個置信 量度對應(yīng)ー個單一因素(例如,年齡)。在一個實施方案中,置信模塊304使用計算好的置信量度來將這些客戶端指定到ー個白名單或黑名單中??傮w來說,白名單列出了具有高置信量度并且因此推斷是值得信賴的客戶端112。相反,黑名單列出了具有低置信量度并且因此推斷是不值得信賴的客戶端112。在一些實施方案中,置信模塊304使用多個閾值來將客戶端112指定到這些名單中。如果ー個客戶端的置信量度低于某ー閾值,那么該客戶端被列入黑名単。同樣,如果ー個客戶端的置信量度高于某ー閾值,那么該客戶端被列入白名單。在一些實施方案中,該閾值對于兩個名單而言是相同的;在其他的實施方案中,每個名單具有一個單獨的閾值。類似地,置信模塊304的一些實施方案基于預(yù)定的準則來將客戶端的置信量度量化為零或一。例如,具有小于六個月年齡的“年輕的”一個客戶端112,或者從兩個不同的地理區(qū)域同時提交報告的一個客戶端可以不管其他因素而接收到一個為零的置信量度。對象信譽模塊306計算多個對象的信譽分數(shù)并且將這些信譽分數(shù)存儲到數(shù)據(jù)存儲器104中。如以上所提及的,一個對象的信譽分數(shù)代表對該對象的可信任度的ー種評估。在一個實施方案中,該信譽分數(shù)是從零到一(包括在內(nèi))的ー個數(shù)值。一低信譽分數(shù)表明該對象可能是惡意軟件,而高信譽分數(shù)表明該對象可能是合法的。在一個實施方案中,對象信譽模塊306至少部分地是基于在這些客戶端中所上報對象的流行程度來計算多個對象的信譽分數(shù)。廣泛分布在多個客戶端中的對象(如流行的文字處理應(yīng)用程序)更有可能是合法的,而這些客戶端很少遇到的對象可能是惡意軟件。因此,在一個實施方案中,ー個具有高流行程度的對象收到較高的信譽分數(shù)。在一些實施方案中,多個對象的信譽分數(shù)還可以基于主要在其上發(fā)現(xiàn)這些對象的客戶端112的保健分數(shù)。保健分數(shù)代表對客戶端112的可信任度的ー種評估。在保健背景下的“可信任度”是指對客戶端對受到惡意軟件感染的傾向,其中更經(jīng)常被感染的客戶端112是不太可信的。例如,經(jīng)常在具有高保健分數(shù)的客戶端112上發(fā)現(xiàn)的一個對象有可能收到表明良好信譽的高信譽分數(shù)。相反,主要在具有低保健分數(shù)的客戶端112上發(fā)現(xiàn)的ー個對象有可能收到表明不良信譽的低信譽分數(shù)。信譽分數(shù)還可以基于其他因素,如在其上發(fā)現(xiàn)多個對象的網(wǎng)站的信譽分數(shù)、這些對象的開發(fā)者和/或散布者的信譽分數(shù)、以及如這些對象是否被數(shù)字簽名的其他特征。另外,對象信譽模塊306基于曾提交了與對象相關(guān)聯(lián)的報告的客戶端的置信量度來影響對象的信譽分數(shù)。在一個實施方案中,對象信譽模塊306在計算對象的信譽分數(shù)時將來自具有低于ー個閾值的置信量度的客戶端112的報告排除。例如,可以將來自上述黒名單上的客戶端112的報告排除。類似地,對象信譽模塊306的一個實施方案在計算對象的信譽分數(shù)時使用僅來自具有高于ー個閾值的置信量度的客戶端的報告。例如,可以僅僅使用來自上述白名單上的客戶端112的報告。在另ー個實施方 案中,對象信譽模塊306在一個給定的時間段內(nèi)使用低和/或高置信量度的客戶端與報告ー個對象的其他客戶端的比率來影響該對象的信譽分數(shù)。在這個實施方案中,對象信譽模塊306根據(jù)主要由具有低置信量度的客戶端112上報的對象應(yīng)當可能具有低信譽分數(shù)的原則來工作。同時,對象信譽模塊306保留了足夠的靈活性以便能夠?qū)崟r地檢測信譽“欺騙”。對于這一實施方案,與信譽模塊106的其他模塊合作的對象信譽模306在每個對象的基礎(chǔ)上追蹤客戶端112的置信量度。對于ー個給定的對象,對象信譽模塊306可以確定已上報該對象的具有低置信量度的客戶端的數(shù)量以及已上報該對象的具有高置信量度的客戶端的數(shù)量,其中“高”和“低”的置信水平是使用多個閾值來確定的。如果在ー個給定的時間段內(nèi),高置信量度的客戶端與其他置信量度的客戶端(即非高置信量度客戶端)的ー個足夠大的比率已經(jīng)上報了該對象,那么對象信譽模塊306提高該對象的信譽分數(shù)。相反地,如果在相同的時間段或在不同的時間段內(nèi),低置信量度的客戶端與其他置信量度的客戶端(低置信量度客戶端)的ー個足夠大的比率已經(jīng)上報了該對象,那么對象信譽模塊306降低該對象的信譽分數(shù)。因此,能夠?qū)π抛u“欺騙”進行實時檢測,并且對象信譽模塊306可以對惡意實體的信譽“欺騙”的惡意軟件的攻擊快速地做出響應(yīng)。在一個實施方案中,對象信譽模塊306使用這些置信量度來給這些報告加權(quán)。因此,當計算ー個對象的信譽分數(shù)時,可以對具有I. 0置信水平的一個報告比具有0. 5置信水平的一個報告加權(quán)兩倍。另ー種說法就是,來自具有0. 50置信量度的客戶端的200個報告與來自具有I. 0置信量度的客戶端的100個報告可以對信譽分數(shù)有相同的影響。對象信譽模塊306的一個實施方案使用機器學習來計算對象的信譽分數(shù)。統(tǒng)計性機器學習算法可以使用置信量度、報告的流行程度、以及其他有關(guān)客戶端112的信息作為特征來建立ー個用于確定信譽分數(shù)的分類器??梢允褂靡唤M已知其實際配置的對象(即,已知這些對象是合法的或是惡意軟件)的特征來訓練該分類器。調(diào)節(jié)模塊308對客戶端112的置信量度與多個對象的信譽分數(shù)進行修改,當這些值隨時間變化吋。置信量度可以影響信譽分數(shù),并且在一些實施方案中,信譽分數(shù)可以影響置信量度。調(diào)節(jié)模塊308將這些置信量度與信譽分數(shù)修改為隨時間推移由安全服務(wù)器102接收的額外的報告。取決于該實施方案,調(diào)節(jié)模塊308可以在周期性的基礎(chǔ)上和/或在其他時間內(nèi)不斷地修改這些量度與分數(shù)。例如,在一個輕視來自年輕客戶端的報告的實施方案中(例如,不到六個月大的客戶端收到為零的置信量度),ー個主要在年輕客戶端中發(fā)現(xiàn)的對象可能收到低信譽分數(shù),因為它看起來并不流行。一旦這些客戶端不再“年輕”,那么來自這些客戶端的報告將不再被輕視并且該對象現(xiàn)在看起來更流行了。調(diào)節(jié)模塊308由此提高該對象的信譽分數(shù)。類似地,具有高置信量度的一個客戶端112可能受到危害并且提交隨后被發(fā)現(xiàn)是惡意軟件的對象的很多報告。在這樣的情況下,調(diào)節(jié)模塊308可以下調(diào)客戶端112的置信量度。訓練模塊310可以生成ー個或多個信譽分類器用于支持信譽分數(shù)的基于機器學習的計算。在一個實施方案中,訓練模塊基于與客戶端112以及對象相關(guān)聯(lián)的特征的ー個數(shù)據(jù)集來生成ー個信譽分類器。這些特征可以包括客戶端112的置信量度、客戶端的保健分數(shù)、對象的信譽、以及對象的流行程度,等等。信譽分類器是ー個具體指明多個值(如與用于確定信譽分數(shù)的特征相關(guān)聯(lián)的權(quán)重或系數(shù))的統(tǒng)計模型。用作信譽分類器的適當類型的統(tǒng)計模型包括但不局限于神經(jīng)網(wǎng)絡(luò)、貝葉斯模型、基于回歸的模型以及支持向量機(SVM)??梢酝ㄟ^對已知的惡意軟件及合法軟件情況的對象進行標識并且使用那些對象的歷史客戶端報告作為基本實況來訓練信譽分類器。根據(jù)該實施方案,訓練模塊310可以在ー個周期性的基礎(chǔ)上或在其他時間內(nèi)生成該信譽分類器。訓練模塊310將生成的信譽分類器進行存儲以供對象信譽模塊306使用。圖4是ー個流程圖,展示了根據(jù)ー個實施方案的信譽模塊106的操作,該信譽模塊 使用來自從多個客戶端112中接收的報告的信息來確定有關(guān)多個對象的信譽分數(shù)。應(yīng)當理解的是這些步驟僅是示意性的。信譽模塊106的不同的實施方案能夠以不同的順序執(zhí)行這些步驟、省略某些步驟、和/或執(zhí)行未在圖4中示出的額外步驟。如圖4所示,在402中,信譽模塊106接收由多個客戶端112提交的有關(guān)多個對象的報告。這些報告對在客戶端處所檢測到的多個對象進行標識并且可以伴隨有這些對象的信譽分數(shù)的多個請求。在404中,信譽模塊106確定提交這些報告的客戶端112的信息。如以上所說明的,這些信息可以包括該客戶端的ー個標識符、該對象的一個散列或其他標識符、以及有關(guān)該客戶端的其他信息。信譽模塊106使用報告中的信息來確定有關(guān)該客戶端的其他信息,如該客戶端的年齡、地理位置、IP地址,等等。在406中,信譽模塊106使用所確定的信息來生成客戶端112的置信量度。在408中,信譽模塊106基于例如這些對象在這些客戶端處的流行程度來生成這些對象的信譽分數(shù)。所生成的信譽分數(shù)受這些客戶端的置信量度的影響。在410中,信譽模塊106將對象的信譽分數(shù)提供給客戶端112??蛻舳?12可以使用這些信譽分數(shù)來檢測這些客戶端處的惡意軟件。如上所述的技術(shù)可以應(yīng)用于不同其他類型的檢測系統(tǒng),如用于消息傳送應(yīng)用程序的垃圾郵件過濾器、以及被設(shè)計為利用對象的信譽分數(shù)和客戶端的置信量度來檢測惡意軟件的其他機制。本發(fā)明的這些實施方案的前述說明已經(jīng)為了進行說明而給出;它并不打算是窮進的或?qū)⒈景l(fā)明限于所披露的確切形式。相關(guān)領(lǐng)域的技術(shù)人員可以認識到對以上披露的許多修改和變更是可能的。最后,在本說明書中的語言主要是為了可讀性和指導性而選擇的,選擇這些語言并非用于描述或限定本發(fā)明的主題。因此,在此的意圖是本發(fā)明的范圍不受限于這種詳細的說明,而是由基于本申請而授權(quán)的任何權(quán)利要求所限定。因此,本發(fā)明的實施方案的披露是旨在是說明性的、并非限制以下權(quán)利要求中給出的本發(fā)明的范圍。
權(quán)利要求
1.ー種使用計算機在信譽系統(tǒng)中確定ー個對象的信譽的方法,該方法包括 從該信譽系統(tǒng)中的多個客戶端接收多個報告,這些報告標識了在這些客戶端處所檢測到的一個對象; 從這些報告中確定有關(guān)這些客戶端的信息; 響應(yīng)于所確定的有關(guān)這些客戶端的信息,為這些客戶端生成多個置信量度,這些置信量度表明從這些客戶端接收的報告的真實性的置信度的量值; 至少部分地響應(yīng)于來自這些客戶端的報告以及這些客戶端的置信量度,計算該對象的一個信譽分數(shù);并且 存儲該對象的信譽分數(shù)。
2.如權(quán)利要求I所述的方法,其中來自ー個客戶端的一個報告包括對該對象的信譽分數(shù)的ー個請求,并且該方法進ー步包括 將該對象的信譽分數(shù)提供給該客戶端。
3.如權(quán)利要求I所述的方法,其中所確定的有關(guān)這些客戶端的信息包括一個客戶端在該信譽系統(tǒng)中的年齡,并且其中該客戶端的一個置信量度至少部分地是基于該客戶端的年齡。
4.如權(quán)利要求I所述的方法,其中所確定的有關(guān)這些客戶端的信息包括一個客戶端在該信譽系統(tǒng)中的地理位置,并且其中該客戶端的一個置信量度至少部分地是基于該客戶端的地理位置。
5.如權(quán)利要求I所述的方法,其中所確定的有關(guān)這些客戶端的信息包括由一個客戶端提交的多個報告的頻率,并且其中該客戶端的一個置信量度至少部分地是基于由該客戶端提交的多個報告的頻率。
6.如權(quán)利要求I所述的方法,其中計算該對象的信譽分數(shù)包括 基于這些報告確定該對象在該信譽系統(tǒng)中的該客戶端上的ー個流行程度;并且至少部分地響應(yīng)于該對象的流行程度以及在其上檢測到該對象的這些客戶端的置信量度,計算該對象的信譽分數(shù)。
7.如權(quán)利要求I所述的方法,其中計算該對象的信譽分數(shù)包括 使用一個置信量度閾值來標識具有低置信量度的多個客戶端; 確定曾提交標識該對象的多個報告、具有低置信量度的多個客戶端與曾提交標識該對象的多個報告的所有客戶端的ー個比率;并且 至少部分地響應(yīng)于所確定的比率,計算該對象的信譽分數(shù)。
8.如權(quán)利要求I所述的方法,其中計算該對象的信譽分數(shù)包括 使用一個置信量度閾值來標識具有高置信量度的多個客戶端; 確定曾提交標識該對象的多個報告、具有高置信量度的多個客戶端與曾提交標識該對象的多個報告的所有客戶端的ー個比率;并且 至少部分地響應(yīng)于所確定的比率,計算該對象的信譽分數(shù)。
9.如權(quán)利要求I所述的方法,其中計算該對象的信譽分數(shù)包括 使用一個統(tǒng)計性機器學習算法來計算該對象的信譽分數(shù)。
10.一種用于在信譽系統(tǒng)中確定ー個對象的信譽的計算機可讀存儲媒質(zhì),該媒質(zhì)存儲了多個可執(zhí)行的計算機程序指令,這些計算機程序指令包括多個指令用干從該信譽系統(tǒng)中的多個客戶端接收多個報告,這些報告標識了在這些客戶端處所檢測到的一個對象; 從這些報告中確定有關(guān)這些客戶端的信息; 響應(yīng)于所確定的有關(guān)這些客戶端的信息,生成這些客戶端的置信量度,這些置信量度表明從這些客戶端接收的報告的真實性的置信度的量值; 至少部分地響應(yīng)于來自這些客戶端的報告以及這些客戶端的置信量度,計算該對象的一個信譽分數(shù);并且 存儲該對象的信譽分數(shù)。
11.如權(quán)利要求10所述的計算機可讀存儲媒質(zhì),其中來自ー個客戶端的一個報告包括對該對象的信譽分數(shù)的ー個請求,并且這些計算機程序指令進ー步包括 將該對象的信譽分數(shù)提供給該客戶端。
12.如權(quán)利要求10所述的計算機可讀存儲媒質(zhì),其中計算該對象的信譽分數(shù)包括 基于這些報告確定該對象在該信譽系統(tǒng)中的這些客戶端上的ー個流行程度;并且 至少部分地響應(yīng)于該對象的流行程度以及在其上檢測該對象的這些客戶端的置信量度,計算該對象的信譽分數(shù)。
13.如權(quán)利要求10所述的計算機可讀存儲媒質(zhì),其中計算該對象的信譽分數(shù)包括 使用一個置信量度閾值來標識具有低置信量度的多個客戶端; 確定曾提交標識該對象的多個報告、具有低置信量度的多個客戶端與曾提交標識該對象的多個報告的所有客戶端的ー個比率;并且 至少部分地響應(yīng)于所確定的比率,計算該對象的信譽分數(shù)。
14.如權(quán)利要求10所述的計算機可讀存儲媒質(zhì),其中計算該對象的信譽分數(shù)包括 使用一個置信量度閾值來標識具有高置信量度的多個客戶端; 確定曾提交標識該對象的多個報告、具有高置信量度的多個客戶端與曾提交標識該對象的多個報告的所有客戶端的ー個比率;并且 至少部分地響應(yīng)于所確定的比率,計算該對象的信譽分數(shù)。
15.如權(quán)利要求10所述的計算機可讀存儲媒質(zhì),其中計算該對象的信譽分數(shù)包括 使用一個統(tǒng)計性機器學習算法來計算該對象的信譽分數(shù)。
16.一種用于在信譽系統(tǒng)中確定ー個對象的信譽的計算機系統(tǒng),該計算機系統(tǒng)包括 一種存儲了多個可執(zhí)行的計算機程序指令的計算機可讀存儲媒質(zhì),這些計算機程序指令包括多個指令用于 從該信譽系統(tǒng)中的多個客戶端接收多個報告,這些報告標識了在這些客戶端處所檢測到的一個對象; 從這些報告中確定有關(guān)這些客戶端的信息; 響應(yīng)于所確定的有關(guān)這些客戶端的信息,生成這些客戶端的置信量度,這些置信量度表明從這些客戶端接收的報告的真實性的置信度的量值; 至少部分地響應(yīng)于來自這些客戶端的報告以及這些客戶端的置信量度,計算該對象的一個信譽分數(shù);并且 存儲該對象的信譽分數(shù); ー個用于執(zhí)行這些計算機程序指令的處理器。
17.如權(quán)利要求16所述的計算機系統(tǒng),其中來自ー個客戶端的一個報告包括對該對象的信譽分數(shù)的ー個請求,并且這些計算機程序指令進ー步包括 將該對象的信譽分數(shù)提供給該客戶端。
18.如權(quán)利要求16所述的計算機系統(tǒng),其中計算該對象的信譽分數(shù)包括 基于這些報告確定該對象在 該信譽系統(tǒng)中的這些客戶端上的ー個流行程度;并且至少部分地響應(yīng)于該對象的流行程度以及在其上檢測到該對象的這些客戶端的置信量度,計算該對象的信譽分數(shù)。
19.如權(quán)利要求16所述的計算機系統(tǒng),其中計算該對象的信譽分數(shù)包括 使用一個置信量度閾值來標識具有低置信量度的多個客戶端; 確定曾提交標識該對象的多個報告、具有低置信量度的多個客戶端與曾提交標識該對象的多個報告的所有客戶端的ー個比率;并且 至少部分地響應(yīng)于所確定的比率,計算該對象的信譽分數(shù)。
20.如權(quán)利要求16所述的計算機系統(tǒng),其中計算該對象的信譽分數(shù)包括 使用一個置信量度閾值來標識具有高置信量度的多個客戶端; 確定曾提交標識該對象的多個報告、具有高置信量度的多個客戶端與曾提交標識該對象的多個報告的所有客戶端的ー個比率;并且 至少部分地響應(yīng)于所確定的比率,計算該對象的信譽分數(shù)。
全文摘要
通過一個信譽系統(tǒng)使用來自多個客戶端的、標識多個對象的報告來確定這些對象的信譽。使用從這些報告中確定的信息來生成對于這些客戶端的置信量度。置信量度表明了對于這些報告的真實性的置信度的量值。使用來自這些客戶端的報告以及對于這些客戶端的置信量度來計算多個對象的信譽分數(shù)。與這些對象的標識符相關(guān)聯(lián)地存儲置信量度以及信譽分數(shù)。響應(yīng)于一個請求,將一個對象的信譽分數(shù)提供給一個客戶端。
文檔編號H04L12/58GK102656587SQ201080032172
公開日2012年9月5日 申請日期2010年8月10日 優(yōu)先權(quán)日2009年8月13日
發(fā)明者A·扎維拉, C·S·納徹伯格, 安特努維 V·, W·伯格拉德, Z·拉姆扎恩 申請人:賽門鐵克公司