專利名稱::可執(zhí)行程序的信譽(yù)檢查的制作方法可執(zhí)行程序的信譽(yù)檢查
背景技術(shù):
:可執(zhí)行程序和需要打開可執(zhí)行程序的文件對于計算機(jī)用戶來說是從許多源以各種各樣的形式可得到的。這樣的程序不僅是可以從諸如云或局域網(wǎng)中的其它計算機(jī)那樣的遠(yuǎn)程位置可下載的,而且它們也可以在零售商店購買以及可以由其它計算機(jī)用戶在諸如壓密盤(CD)和DVD那樣的計算機(jī)可讀媒體上提供。這樣的程序,特別是那些從除了熟知的售主以外的其它售主得到或購買的程序的一個問題是任何這樣的程序可以對用戶的計算機(jī)造成威脅。例如,用戶可以啟動這樣的程序,且不知不覺地讓他或她的計算機(jī)感染上病毒或其它惡意軟件。經(jīng)常地,惡意軟件甚至偽裝成另一個程序,以試圖欺騙用戶使之相信把該程序安裝到他們的計算機(jī)上是安全的。已經(jīng)提出了用于檢查從互聯(lián)網(wǎng)下載的文件的信譽(yù)(imputation)的各種方法。雖然這些方法當(dāng)被施加到已下載的文件時可以是方便的和有效的,然而有利的將是能夠在用戶把命令輸入到計算機(jī)的操作系統(tǒng)軟件以啟動程序、但是在所述程序?qū)嶋H上被運(yùn)行之前的時間檢查可執(zhí)行程序。
發(fā)明內(nèi)容本概要是為了以簡化的形式介紹構(gòu)思的選擇而提供的,這些構(gòu)思還將在下面的詳細(xì)說明中進(jìn)行描述。本概要既不打算確認(rèn)所要求保護(hù)的主題的關(guān)鍵特征或必要特征,也不打算被使用來限制所要求保護(hù)的主題的范圍。按照所要求保護(hù)的主題的一個或多個方面,計算設(shè)備執(zhí)行一種方法,借助于所述方法,發(fā)起可執(zhí)行程序或計算機(jī)代碼的啟動的用戶命令使得關(guān)于所述程序或代碼的信息被發(fā)送到在云中的信譽(yù)服務(wù)。如果信譽(yù)服務(wù)將所述程序識別為已知是安全的,則它返回指示給計算設(shè)備,且程序被允許啟動而不用給用戶已進(jìn)行信譽(yù)檢查的任何通知。如果信譽(yù)服務(wù)將所述程序識別為不安全或潛在地不安全的,或完全不認(rèn)識所述程序,則給用戶顯示適當(dāng)?shù)南?。在本發(fā)明的另一方面中,用戶命令使得操作系統(tǒng)首先檢查在計算設(shè)備上信譽(yù)信息的本地高速緩存。如果本地高速緩存可以確認(rèn)程序或代碼已知是安全的,則允許啟動,典型地不用給用戶已進(jìn)行信譽(yù)檢查的任何通知。如果本地信譽(yù)高速緩存將所述程序識別為不安全或潛在地不安全的,則給用戶顯示適當(dāng)?shù)南?。如果本地高速緩存不認(rèn)識所述程序,或沒有關(guān)于該程序的信譽(yù)信息,則該方法訪問在云中的信譽(yù)服務(wù)。當(dāng)結(jié)合附圖來解釋時,這里討論的主題的目的將從跟隨在下面的實施例的詳細(xì)說明而被更好地理解,附圖中同樣的數(shù)字和字母從始至終是指同樣的特征。下面是在附隨的詳細(xì)說明中使用的附圖的簡要標(biāo)識。圖I示意地圖示按照一個或多個實施例的、用于實施可執(zhí)行程序的信譽(yù)檢查的系統(tǒng)。圖2是按照所要求保護(hù)的主題的信譽(yù)檢查方法的實施例的詳細(xì)流程圖。圖3圖示按照圖2所示的實施例的、可被顯示給用戶以允許用戶選擇是否應(yīng)當(dāng)進(jìn)行信譽(yù)檢查的用戶界面的例子。圖4是按照圖2所示的實施例的、響應(yīng)于信譽(yù)檢查而被提供給系統(tǒng)的用戶的一種消息類型的例子。本領(lǐng)域技術(shù)人員將容易理解,附圖在許多方面是示意性的,但無論如何,當(dāng)結(jié)合下面的詳細(xì)說明解釋時,將發(fā)現(xiàn)它們對于實現(xiàn)和使用所要求保護(hù)的主題是足夠的。具體實施例方式圖I是按照下面進(jìn)一步描述的一個或多個實施例的、用于實施當(dāng)可執(zhí)行程序被啟動時檢查它們的信譽(yù)的方法的系統(tǒng)100的示意圖。圖I的系統(tǒng)還可以按照以上提到的共同待決的美國專利申請no.12/880,363來檢查所得到的文件的信譽(yù),以及以下的說明突顯了在這里描述的方法和設(shè)備與在那個共同待決的申請中描述的那些方法和設(shè)備之間的重要差另1J。仍舊參考圖1,系統(tǒng)100包括計算設(shè)備102,它合并有被存儲在非瞬態(tài)計算機(jī)可讀存儲設(shè)備上的操作系統(tǒng)模塊104作為用于控制計算設(shè)備102的經(jīng)編碼的計算機(jī)可執(zhí)行指令。當(dāng)被處理器執(zhí)行時,這些指令使得計算設(shè)備按照這里描述的方法實施例執(zhí)行。計算設(shè)備102還包括輸入組件106,它在典型的實現(xiàn)中將包括諸如鼠標(biāo)和鍵盤那樣的常規(guī)指向設(shè)備,盡管可以使用許多其它的輸入組件,諸如通過用戶的手或筆、話音命令等等被激活的觸摸屏。計算設(shè)備的用戶典型地經(jīng)由在諸如計算機(jī)監(jiān)視器那樣的顯示組件108上顯示的圖形用戶界面、使用輸入組件108以已知的方式提供命令給操作系統(tǒng)模塊104。當(dāng)在本說明中使用時,術(shù)語“組件”、“模塊”、“系統(tǒng)”、“設(shè)備”、“界面”等等通常打算指與計算機(jī)有關(guān)的實體,無論是硬件、硬件與軟件的組合、軟件,或是執(zhí)行中的軟件。例如,這樣的組件可以是,但不限于,在處理器上運(yùn)行的進(jìn)程、處理器、對象、可執(zhí)行文件(executable)、執(zhí)行的線程、程序和/或計算機(jī)。作為舉例說明,在控制器上運(yùn)行的應(yīng)用和控制器二者都可以是組件。一個或多個組件可以駐留在進(jìn)程和/或執(zhí)行的線程內(nèi),以及組件可以被局限于一臺計算機(jī)上和/或被分布在兩臺或更多臺計算機(jī)之間,這里描述的任何功能或技術(shù)可以通過使用軟件、固件、硬件(例如,固定的邏輯電路)、人工處理或這些實現(xiàn)的組合來實施。在軟件實現(xiàn)的情形下,模塊或組件代表程序代碼,當(dāng)在處理器(例如,一個或多個CPU)上被執(zhí)行時它完成規(guī)定的任務(wù)。程序代碼可被存儲在一個或多個計算機(jī)可讀存儲器設(shè)備中。下面詳細(xì)地討論的信譽(yù)檢查技術(shù)的特征是與平臺無關(guān)的,這意味著它們可以在各種各樣大量生產(chǎn)的計算平臺上被實施。還應(yīng)理解,當(dāng)在這里且具體地是在圖I上使用時,“模塊”不一定是且典型地不是物理上分開的組件。結(jié)合圖I提及的模塊要廣義地被理解為采用可執(zhí)行指令、存儲單元等等的形式的信息,其可以且典型地被跨越它們所駐留的存儲媒體中的各個存儲單元來分布。而且,所要求保護(hù)的主題可以被實施為方法、設(shè)備或制造品,其使用標(biāo)準(zhǔn)編程和/或工程技術(shù)來產(chǎn)生用以控制計算機(jī)以實施所公開的主題的軟件、固件、硬件或它們的任何組合。當(dāng)在這里使用時,術(shù)語“制造品”打算包括從任何計算機(jī)可讀設(shè)備、載體或媒體可訪問的計算機(jī)程序。例如,計算機(jī)可讀媒體可包括,但不限于,磁存儲設(shè)備(例如,硬盤、軟盤、磁帶……)、光盤(例如,壓密盤(⑶)、數(shù)字多功能盤(DVD)……)、智能卡和閃速存儲器設(shè)備(例如,卡、棒、鍵驅(qū)動……)。當(dāng)然,本領(lǐng)域技術(shù)人員將認(rèn)識到,可以對這里討論的配置做出許多修改而不背離所要求保護(hù)的主題的范圍或精神。而且,術(shù)語“計算機(jī)”或“計算設(shè)備”并不意味著以任何方式進(jìn)行限制。例如,計算設(shè)備102可以是臺式計算機(jī)、移動臺、上網(wǎng)本或膝上型計算機(jī)、筆記本或平板計算機(jī)、娛樂器具、通信地耦合到顯示設(shè)備的機(jī)頂盒、蜂窩電話或其它無線電話、個人數(shù)字助理、智能電話、電視機(jī)、游戲控制臺、汽車用計算機(jī)等等。因此,計算設(shè)備102的范圍可以是從具有大量存儲器和處理器資源的完全資源設(shè)備(例如,個人計算機(jī)、游戲控制臺)到具有有限存儲器和/或處理資源的低資源設(shè)備(例如,傳統(tǒng)的機(jī)頂盒、手持式游戲控制臺)?;氐綀D1,計算設(shè)備102還包括盤存儲裝置110,它包括可執(zhí)行程序模塊112和以下面進(jìn)一步描述的方式與可執(zhí)行程序模塊112合作的信譽(yù)模塊114。盤存儲裝置典型地是非瞬態(tài)計算機(jī)可讀存儲組件。計算設(shè)備的用戶可以通過經(jīng)由以上討論的圖形用戶界面以已知的方式使用輸入組件108將命令發(fā)布到操作系統(tǒng)模塊104而啟動被存儲在可執(zhí)行程序模塊112中的可執(zhí)行程序。Web瀏覽器116是特定類型的可執(zhí)行程序,也是在操作系統(tǒng)模塊104的控制下,其允許計算設(shè)備102的用戶使用Web瀏覽器116瀏覽或以別的方式導(dǎo)航到網(wǎng)站和從內(nèi)容服務(wù)器124下載文件。Web瀏覽器116包括它自己的信譽(yù)模塊118。計算設(shè)備102可以與云120通信,云120可以是各種各樣的不同網(wǎng)絡(luò),包括互聯(lián)網(wǎng)、局域網(wǎng)(LAN)、公共電話網(wǎng)、內(nèi)聯(lián)網(wǎng)、其它公共和/或私有網(wǎng)絡(luò)、由內(nèi)部服務(wù)器或由企業(yè)提供的信譽(yù)服務(wù)中的一個或多個、它們的組合等等。換句話說,系統(tǒng)100訪問在“遠(yuǎn)程”的,也就是與計算設(shè)備102分開的信譽(yù)服務(wù)。所述云包括信譽(yù)服務(wù)模塊122,通過它,計算設(shè)備102可以經(jīng)由許多類型的連接、使用各種協(xié)議或技術(shù)進(jìn)行通信,諸如常規(guī)的互聯(lián)網(wǎng)連接、通用串行總線(USB)連接、無線USB連接、紅外連接、藍(lán)牙連接等等。Web瀏覽器116使得用戶能夠從云120中的一個或多個內(nèi)容服務(wù)器模塊124下載文件和程序。替換地,文件和程序可以由Web瀏覽器116從其它源得到,其它源諸如是經(jīng)由云120或經(jīng)由另一種類型的連接被耦合到計算設(shè)備102的另一個計算設(shè)備。另外,計算設(shè)備102可以用除了經(jīng)由Web瀏覽器116以外的其它方式與信譽(yù)服務(wù)模塊122通信,如下面更詳細(xì)地討論的。雖然在圖I上圖示了單個計算設(shè)備102,但應(yīng)當(dāng)意識到,信譽(yù)服務(wù)模塊122可以且典型地確實是與類似于設(shè)備102的多個計算設(shè)備通信。信譽(yù)服務(wù)模塊122可以是維護(hù)和提供關(guān)于程序和文件的信譽(yù)信息的一個或多個計算設(shè)備,如下面更詳細(xì)地討論的。典型地,信譽(yù)服務(wù)模塊122通過使用一個或多個服務(wù)器計算機(jī)被實施,雖然各種各樣不同類型的計算機(jī)(例如,類似于以上相對于計算設(shè)備102的討論)可被使用來實施信譽(yù)服務(wù)122。如上所談到的,信譽(yù)服務(wù)122經(jīng)由云120或其它連接被訪問,且有時在這里也被稱為遠(yuǎn)程信譽(yù)服務(wù)。在那方面,各種信譽(yù)服務(wù)模塊(所有的信譽(yù)服務(wù)模塊均打算被模塊122的表示所包括)可以在物理上緊密接近計算設(shè)備102(例如,在同一個房間或建筑物內(nèi)),或遠(yuǎn)離計算設(shè)備102(例如,在另一個州或國家)。共同待決的美國專利申請no.12/880,363應(yīng)對了當(dāng)文件通過計算機(jī)的Web瀏覽器被下載或以別的方式被得到時所采取的行動。在那種情況下,用來標(biāo)識文件的信息被提供給信譽(yù)模塊118。這個信息被發(fā)送到遠(yuǎn)程信譽(yù)服務(wù)122,它識別對于所標(biāo)識的文件的信譽(yù)指示,并把該信譽(yù)指示返回給信譽(yù)模塊118。信譽(yù)指示是例如所標(biāo)識的文件成為惡意軟件的風(fēng)險低還是成為惡意軟件的風(fēng)險高的指示。根據(jù)信譽(yù)指示,信譽(yù)模塊118確定用于Web瀏覽器116的相對于新得到的文件進(jìn)行顯示的適當(dāng)?shù)挠脩艚缑妗@?,如果信譽(yù)指示將所述文件識別為成為惡意軟件的風(fēng)險低,則Web瀏覽器可以安裝和/或運(yùn)行在所述文件中的程序而不用顯示警告。然而,如果信譽(yù)指示將所述文件識別為成為惡意軟件的風(fēng)險高,則Web瀏覽器可以向用戶顯示關(guān)于安裝和/或運(yùn)行在所述文件中的程序的警告和/或建議。相比之下,信譽(yù)模塊114響應(yīng)于用戶對操作系統(tǒng)模塊104的命令,而啟動來自可執(zhí)行程序模塊112的任何可執(zhí)行程序或計算機(jī)代碼。廣義地說,在接收到來自輸入組件106的命令后,操作系統(tǒng)模塊104使得信譽(yù)模塊114按照下面更詳細(xì)地進(jìn)一步討論的原則和方法來發(fā)起對于程序的信譽(yù)檢查。信譽(yù)模塊114可包含關(guān)于程序的信譽(yù)信息的本地高速緩存。如果用戶想要啟動的程序是“可信任的”,也就是,如果本地高速緩存確認(rèn)所述程序代表引起計算設(shè)備102誤動作的低風(fēng)險,則操作系統(tǒng)模塊使得程序運(yùn)行,而不用給用戶已進(jìn)行信譽(yù)檢查的任何通知。如果本地高速緩存不認(rèn)識所述程序,或沒有關(guān)于所述程序的信譽(yù)信息,則信譽(yù)模塊114通過訪問在云中的信譽(yù)服務(wù)模塊122而發(fā)起信譽(yù)檢查。如果信譽(yù)服務(wù)模塊122將所述程序識別為已知是安全的(也就是,可信任的),則它把這樣的指示返回給操作系統(tǒng)模塊,操作系統(tǒng)模塊使得該程序運(yùn)行,再次地不用給用戶已進(jìn)行信譽(yù)檢查的任何通知。如果信譽(yù)服務(wù)器122(或本地信譽(yù)高速緩存)將所述程序識別為不安全或潛在地不安全的,或根本不認(rèn)識所述程序,則它在顯示組件108上向用戶提供適當(dāng)?shù)南?。該消息可以提示用戶輸入指示用戶想要如何進(jìn)行下去的命令。例如,所述提示可以允許用戶繼續(xù)進(jìn)行該程序的啟動,或者讓該程序被刪除或隔離,或發(fā)起其它的一個或多個行動。圖2是圖示按照所要求保護(hù)的主題的一個實施例的、用于對可執(zhí)行程序執(zhí)行信譽(yù)檢查的方法的例子的流程圖。步驟S200代表由用戶(使用鼠標(biāo)或其它輸入組件,諸如觸摸屏)做出的行動,其命令操作系統(tǒng)模塊104啟動被存儲在盤存儲裝置110上的可執(zhí)行程序,如以上討論的那樣。典型地,當(dāng)操作系統(tǒng)通過執(zhí)行操作系統(tǒng)所使用的應(yīng)用編程接口來響應(yīng)于用戶命令以啟動可執(zhí)行程序時,發(fā)起在步驟S202涉及到的信譽(yù)檢查。如果用戶已經(jīng)選擇自動檢查他或她希望運(yùn)行的程序的信譽(yù)(正如下面結(jié)合圖3討論的),則過程進(jìn)到步驟S202。步驟S202檢查在信譽(yù)模塊114中的本地信譽(yù)高速緩存,以確定它是否包含關(guān)于所述程序的信譽(yù)信息。如果信譽(yù)模塊指示該程序是可信任的,則在步驟S204操作系統(tǒng)模塊104使得程序啟動。如上所述,如果信譽(yù)模塊發(fā)現(xiàn)程序是可信任的,則用戶通常不被通知操作系統(tǒng)已檢查程序的信譽(yù)。然而,如果信譽(yù)模塊的信譽(yù)信息本地高速緩存不能驗證程序是可信任的,則流程圖進(jìn)到步驟S206,該步驟開始通過云中的信譽(yù)服務(wù)122而進(jìn)行的信譽(yù)檢查的過程。另一方面,如果本地高速緩存知道程序呈現(xiàn)了引起計算設(shè)備誤動作的風(fēng)險,則它可以指令操作系統(tǒng)采取適當(dāng)?shù)男袆?。這可以在顯示組件上顯示提示用戶決定如何繼續(xù)進(jìn)行的通知。被提供給用戶的通知的類型在下面結(jié)合圖4討論。信譽(yù)模塊114應(yīng)用預(yù)定的準(zhǔn)則來決定是否進(jìn)到步驟S206和發(fā)起超出信譽(yù)信息的本地高速緩存之外的信譽(yù)檢查。例如,在一個實施例中,操作系統(tǒng)模塊102應(yīng)用標(biāo)識符,它將使得信譽(yù)模塊進(jìn)到步驟S206。這個標(biāo)識符典型地被應(yīng)用來指示程序源自用戶計算機(jī)設(shè)備上的盤存儲裝置以外的位置。例子是源自電子郵件的程序、源自在與用戶的計算機(jī)設(shè)備102相同的局域網(wǎng)上的其它計算機(jī)設(shè)備的程序、源于LAN送信者(messenger)程序的程序、經(jīng)由USB連接被裝載在計算設(shè)備上的程序、源自云(例如,源自內(nèi)容服務(wù)器124)的程序、沒有被簽署的程序、或可以向用戶的計算機(jī)設(shè)備指示程序可能呈現(xiàn)風(fēng)險的任何其它準(zhǔn)則。步驟S206聚集對于云信譽(yù)服務(wù)122執(zhí)行對程序的信譽(yù)檢查所必須的信息。將會意識到,所提供的特定信息依賴于信譽(yù)服務(wù)執(zhí)行信譽(yù)檢查的方式。信譽(yù)模塊114將包括軟件,其以任何適當(dāng)?shù)男问絹砭奂@個信息。被發(fā)送到信譽(yù)服務(wù)的信息的例子是程序類型,它可包括具有擴(kuò)展.EXE的任何文件、屏幕保護(hù)程序、被使用于在盤存儲裝置上安裝、維護(hù)和移除軟件的軟件組件等等。除了程序類型以外,還有唯一地標(biāo)識被發(fā)送的文件的信息,諸如文件散列碼、數(shù)字簽名、文件的名稱、或信譽(yù)服務(wù)在進(jìn)行它的信譽(yù)檢查時將使用的其它標(biāo)識代碼。接著,所述過程確定者在步驟S208進(jìn)行檢查,以查看用戶是否指示他或她的策略是不執(zhí)行信譽(yù)檢查。圖3圖示了用戶界面實例,該用戶界面可以在顯示組件106上被顯示,以允許用戶選擇信譽(yù)模塊114是否將自動執(zhí)行信譽(yù)檢查。在顯示組件108上顯示的控制窗口300包括說明302,用來在信譽(yù)檢查被啟用的情況下向用戶解釋為什么信譽(yù)模塊114將發(fā)送信息到遠(yuǎn)程信譽(yù)服務(wù)。到隱私聲明的鏈接304也被顯示。如果用戶選擇鏈接304,則顯示信譽(yù)服務(wù)122的隱私聲明(未示出),向用戶解釋如何不發(fā)送用戶標(biāo)識信息或如何使被發(fā)送到遠(yuǎn)程信譽(yù)服務(wù)122的信息保持為秘密的。例如,標(biāo)識程序和/或采取的用戶行動的信息可被發(fā)送到信譽(yù)服務(wù)122,但不需要將計算設(shè)備102的用戶的指示提供到信譽(yù)服務(wù)122(或如果提供的話,則因此不需要被保留)。另外,用戶能夠選擇單選按鈕306,以決定參加信息到遠(yuǎn)程信譽(yù)服務(wù)122的發(fā)送,或選擇單選按鈕308,以決定不參加信息到遠(yuǎn)程信譽(yù)服務(wù)122的發(fā)送。然后用戶選擇“好(0K)”按鈕310,以保存該選擇。應(yīng)當(dāng)意識到,單選按鈕和“好”按鈕僅僅是可被呈現(xiàn)給用戶來決定參加或決定不參加發(fā)送信息到遠(yuǎn)程信譽(yù)服務(wù)122的用戶界面的例子,以及可以替換地使用各種各樣其它常規(guī)的用戶界面技術(shù)。也有可能進(jìn)一步改善這個步驟,以使得用戶可以決定參加或決定不參加特定程序或文件類型的檢查。例如,用戶可以只想要檢查源于電子郵件消息的程序的信譽(yù)。典型地,操作系統(tǒng)模塊將把信譽(yù)模塊114設(shè)置成如果本地高速緩存不能確認(rèn)程序是安全的,則自動發(fā)送程序信息到信譽(yù)服務(wù)。然而,如果用戶通過使用在圖3上顯示的控制窗口而決定退出這個操作系統(tǒng)缺省設(shè)置,則流程返回到步驟S204,且操作系統(tǒng)模塊啟動所述程序而不用由信譽(yù)服務(wù)122進(jìn)行信譽(yù)檢查。否則,信息在步驟S210被發(fā)送到信譽(yù)服務(wù)。信譽(yù)服務(wù)在步驟S212使用由信譽(yù)模塊114發(fā)送的信息來執(zhí)行信譽(yù)檢查。按照步驟S212的信譽(yù)檢查可以牽涉到許多準(zhǔn)則,并把各種各樣的信息返回給用戶。由信譽(yù)服務(wù)返回的信息的例子包括通知該程序的始發(fā)者對于信譽(yù)服務(wù)來說是未知的,信譽(yù)服務(wù)不認(rèn)識該程序,該程序已知是能夠引起計算設(shè)備誤動作的惡意軟件,這只是舉幾個例子。雖然信譽(yù)服務(wù)可以返回各種各樣的信譽(yù)信息,但為了舉例說明起見,本實施例僅僅進(jìn)行檢查以查看信譽(yù)服務(wù)是否可以識別程序的始發(fā)者。如果程序始發(fā)者已為信譽(yù)服務(wù)122所知是公布可靠的程序,對于用戶的計算設(shè)備102呈現(xiàn)很少的破壞或損害的風(fēng)險或沒有風(fēng)險,則該過程進(jìn)到步驟S214,以啟動所述程序。這個步驟實際上是與步驟S204相同的,且通常用戶不被告知甚至已經(jīng)進(jìn)行了信譽(yù)檢查。然而,如果信譽(yù)服務(wù)不能驗證程序發(fā)布者,則步驟S216把來自信譽(yù)檢查的信息返回給信譽(yù)模塊114,它根據(jù)由信譽(yù)服務(wù)122返回的信譽(yù)信息,在諸如圖4所示的那樣的窗口中顯示警告。圖4的控制窗口用戶界面400被顯示在顯示組件108上,以允許用戶選擇是否運(yùn)行所述程序。它包括向用戶解釋它包含安全性警告的說明402,以及解釋潛在威脅的性質(zhì)的文本404。這個例子包括被啟動的程序的名稱406、指示程序的發(fā)布者不為信譽(yù)服務(wù)所知的文本408、程序的類型410和程序的源412。界面包括復(fù)選框414,用戶可以通過該復(fù)選框而指令信譽(yù)模塊總是在發(fā)起這個程序的啟動時提供警告。如果用戶選擇當(dāng)啟動相同程序時不再被警告,則在信譽(yù)模塊114中做出啟動該程序而不用在圖2的步驟S202執(zhí)行信譽(yù)檢查的指示??刂拼翱谶€可包括其它信息416,它對于用戶決定是否繼續(xù)進(jìn)行程序啟動可能是有用的。另外,用戶能夠選擇指令操作系統(tǒng)繼續(xù)進(jìn)行程序啟動的“運(yùn)行”按鈕418,或取消程序啟動的“取消”按鈕420。如上所述,圖4的控制窗口還可以給用戶提供許多其它選項,諸如刪除或隔離程序,以使得將來不能訪問它。步驟S218反映用戶對于“運(yùn)行”按鈕218或“取消”按鈕220的選擇。如果用戶選擇“運(yùn)行”按鈕,則過程進(jìn)到步驟S214以啟動程序。如果用戶選擇“取消”按鈕,則過程進(jìn)到步驟S220,以終止程序啟動。信譽(yù)模塊114還可以把用戶的選擇傳達(dá)給信譽(yù)服務(wù)122。這個信息被信譽(yù)服務(wù)使用來繼續(xù)構(gòu)建對該服務(wù)的訂戶可用的信譽(yù)信息。例如,如果多個用戶啟動未知的程序而不引起他們的計算設(shè)備誤動作,則信譽(yù)服務(wù)可以改變被返回給未來用戶的所述信息的性質(zhì),以指示該程序并未已知為引起誤動作。在本發(fā)明的另一方面,由信譽(yù)服務(wù)122返回的信息可包括程序是將引起計算設(shè)備102誤動作的惡意軟件的風(fēng)險的定量評級。一個這樣的實施例將對啟動程序所牽涉到的風(fēng)險賦予比如說I至10之間的數(shù)字評級。例如,如果信譽(yù)服務(wù)具有確定程序幾乎肯定不是惡意軟件的足夠的信息,則它可以給予程序以“I”的評級。在尺度的另一端,如果程序已知是肯定引起計算設(shè)備誤動作的惡意軟件,則信譽(yù)服務(wù)將給予該程序以“10”的評級。其它例子可以是信譽(yù)服務(wù)已積累多個用戶已啟動該程序而對他們的計算設(shè)備沒有造成破壞的信息,但由信譽(yù)服務(wù)使用的評級算法確定它所知道的這樣的用戶數(shù)目太少以至于不能給予該程序以“I”的評級。在那種情形下,信譽(yù)服務(wù)可能給予程序較低的評級,這考慮了信譽(yù)服務(wù)令它的評級算法所考慮的東西是不完全的信息。如果信譽(yù)沒有關(guān)于該程序的信息,則這可以被反映在相同的評級系統(tǒng)中,或者它可以是被返回到信譽(yù)模塊114的單獨類別的信息。將會理解,這里描述的I到10的數(shù)字評級尺度僅僅意味著作為例子,在這方面可以使用其它的評級系統(tǒng)。這個數(shù)字評級由操作系統(tǒng)模塊104按以下的方式使用。操作系統(tǒng)模塊將典型地要求響應(yīng)于用戶命令被啟動的任何程序滿足一定的特權(quán)(privilege)級別。這是被構(gòu)建到大多數(shù)操作系統(tǒng)軟件中的安全措施且是本領(lǐng)域技術(shù)人員所熟知的。例如,有計算設(shè)備的操作系統(tǒng)和其他模塊的許多區(qū)域,其必須被訪問以使得操作系統(tǒng)能夠?qū)嶋H上啟動特定的可執(zhí)行程序以及允許它被使用。正如本領(lǐng)域技術(shù)人員知道的,這樣的區(qū)域的數(shù)目和性質(zhì)可以隨程序而變化。如果程序是惡意軟件,則訪問某些區(qū)域或模塊對于計算設(shè)備可以造成比其它的更大的傷害風(fēng)險。為了增強(qiáng)保護(hù)以免受由于完成特定程序的啟動以及使用該程序而引起的計算設(shè)備誤動作的損害,信譽(yù)模塊114給操作系統(tǒng)104模塊提供由信譽(yù)服務(wù)122返回的數(shù)字評級。操作系統(tǒng)然后將該評級匹配于程序的特權(quán)要求。操作系統(tǒng)使用策略設(shè)置來確定程序的評級滿足或超過由它的要求的特權(quán)級別所反映的特權(quán)要求是否有足夠的置信度。將會意識到,在程序的信譽(yù)與它的特權(quán)要求之間的匹配或多或少是任意的,以及本領(lǐng)域技術(shù)人員將能夠制定適當(dāng)?shù)乃惴?,所述算法將為計算設(shè)備提供適當(dāng)?shù)谋Wo(hù)。然而,指導(dǎo)原則是評級系統(tǒng)被設(shè)計成使得由信譽(yù)服務(wù)提供的評級反映了程序滿足或超過它需要被使用的特權(quán)要求的預(yù)定置信度水平。如果程序評級與程序所需要的特權(quán)級別所要求的最小評級一樣高或高于該最小評級,則操作系統(tǒng)模塊104繼續(xù)進(jìn)行程序的啟動而不用通知用戶。換句話說,圖2所示的方法進(jìn)到步驟S214,正如以上討論的。然而,如果程序要求比由所述評級保證的更高的特權(quán)級另O,則操作系統(tǒng)可以顯示類似于圖4上所示的那個通知的通知(如果系統(tǒng)被設(shè)立成使得未知的程序不被給予評級,則仍舊使用圖4上的屏幕。)。通過類似這里描述的那樣的評級系統(tǒng),這個通知可以給用戶提供各種類別的信息和選項。在一個實施例中,通知將顯示給予程序的評級、根據(jù)該評級應(yīng)當(dāng)允許程序訪問的最大特權(quán)級別以及程序在計算設(shè)備上運(yùn)行所要求的特權(quán)級別。(正如以上指出的,本領(lǐng)域技術(shù)人員將能夠?qū)Σ僮飨到y(tǒng)編程來在顯示組件108上顯示這個信息。)通知屏幕可包括單選按鈕或復(fù)選框,它允許用戶選擇運(yùn)行程序而沒有限制。這將反映用戶的確定程序的信譽(yù)評級無論如何是足以保證啟動它的。例如,評級可以是“4”,它在一個實施例中可以指示信譽(yù)服務(wù)具有根據(jù)其它用戶體驗的足夠的信息,以及沒有關(guān)于軟件發(fā)布者已知為提供惡意軟件的信息,不過仍舊沒有關(guān)于軟件發(fā)布者的可靠性的詳盡信息。反過來,程序可能要求剛好高于程序被授權(quán)訪問的最大級別的特權(quán)級別。在那種情形下,用戶無論如何都可以選擇啟動程序??梢越o予用戶的另一個選擇是在虛擬環(huán)境下運(yùn)行程序。也就是,該程序即使是具有非常差的評級的程序也可以運(yùn)行,而不用要求訪問實際的操作系統(tǒng)模塊104的任何部分,且替代地是被準(zhǔn)許訪問相同模塊的虛擬化拷貝。因此,即使程序被證明為事實上是惡意軟件,它也將不破壞實際的操作模塊104。還應(yīng)意識到,剛才描述的方法不限于檢查可執(zhí)行程序本身的信譽(yù)。例如,許多文件和文檔要求啟動可執(zhí)行程序來觀看文件或文檔。這里討論的方法和所要求保護(hù)的主題在操作系統(tǒng)接收用戶命令來打開這樣的文件或文檔時也是可應(yīng)用的。也就是,“用于發(fā)起可執(zhí)行代碼的啟動的用戶命令”打算包括用來打開要求這樣的代碼的啟動的文件或文檔的用戶命令。在這個具體應(yīng)用中,在以上被討論為施加到被啟動的程序以發(fā)起信譽(yù)檢查的標(biāo)識符也可以被施加到具有以下的擴(kuò)展的文件.PDF、·DOC、·DOCX、·ZIP、.INI、.MP3和·WAV,這只是舉幾個例子。然后,如果這樣的文件是源自除了用戶的計算機(jī)設(shè)備上的盤存儲裝置以外的位置,則可以對它們執(zhí)行信譽(yù)檢查,正如在以上列出的例子中那樣,諸如是源自電子郵件、源自與用戶的計算機(jī)設(shè)備120相同的局域網(wǎng)上的其它計算機(jī)設(shè)備的文件,源于LAN送信者程序的文件,源自云的程序(例如,源自內(nèi)容服務(wù)器124),沒有被簽署的文件,或者是可以指示文件會對用戶的計算設(shè)備呈現(xiàn)風(fēng)險的任何其它準(zhǔn)則。以上結(jié)合圖2描述的、用于檢查程序的信譽(yù)的方法可在以下情況中被應(yīng)用于這樣的文檔,即當(dāng)用戶指令操作系統(tǒng)模塊在適應(yīng)于那個目的的程序中打開該文檔時??傊?,由遠(yuǎn)程信譽(yù)服務(wù)維護(hù)的信譽(yù)信息為可執(zhí)行程序指示信譽(yù)。通常,信譽(yù)是程序被信譽(yù)服務(wù)感知為有多可信賴和/或有多可靠的指示,且可以是基于其它用戶對程序采取的行動(諸如,運(yùn)行程序)。程序的信譽(yù)例如可以指示程序是否已知是非惡意軟件,程序是否已知是惡意軟件,程序被其它用戶運(yùn)行得有多頻繁等等。程序的信譽(yù)還可以是基于例如程序被運(yùn)行得有多頻繁,程序是否被報告為惡意軟件等等。遠(yuǎn)程信譽(yù)服務(wù)可以從各種源,諸如運(yùn)行程序的計算設(shè)備、可信任的第三方服務(wù)、信譽(yù)服務(wù)的管理員或其它可信任的用戶等等,得到用來為程序確定信譽(yù)的信息。由遠(yuǎn)程信譽(yù)服務(wù)維護(hù)的信譽(yù)信息還可以包括其它信息,諸如較新的版本(也就是,更可靠的)是可得到的。由遠(yuǎn)程信譽(yù)服務(wù)維護(hù)的信譽(yù)信息還可以包括到程序的較新版本可被下載的位置的鏈接,且可以提供這樣的鏈接來作為被返回到信譽(yù)模塊114的信譽(yù)指示的一部分。在一個或多個變例中,遠(yuǎn)程信譽(yù)服務(wù)把信譽(yù)指示返回到信譽(yù)模塊114,該信譽(yù)指示是包括與特定的信譽(yù)相關(guān)聯(lián)的不同值或評級的特定值或評級。表I包括可以由遠(yuǎn)程信譽(yù)服務(wù)返回到計算設(shè)備102的不同值或評級的例子。應(yīng)當(dāng)意識到,在表I中的值或評級是例子,以及替換地可以使用其它值或評級。表I權(quán)利要求1.一種在響應(yīng)于輸入用戶命令到計算設(shè)備的操作系統(tǒng)以便發(fā)起可執(zhí)行代碼的啟動而由該操作系統(tǒng)執(zhí)行可執(zhí)行代碼之前,檢查所述可執(zhí)行代碼的信譽(yù)的方法,所述方法的特征在于以下步驟響應(yīng)于所述用戶命令,發(fā)送關(guān)于所述代碼的信息到遠(yuǎn)離所述計算設(shè)備的信譽(yù)服務(wù),其中所述遠(yuǎn)程信譽(yù)服務(wù)使用關(guān)于所述代碼的信息來生成與啟動所述代碼將引起所述計算設(shè)備誤動作的風(fēng)險有關(guān)的信譽(yù)信息;以及將所述信譽(yù)信息從所述遠(yuǎn)程信譽(yù)服務(wù)發(fā)送到所述計算設(shè)備。2.如在權(quán)利要求I中的方法,其中所述遠(yuǎn)程信譽(yù)服務(wù)作為云服務(wù)是多個其它所述計算設(shè)備可訪問的,以及所述信譽(yù)信息至少部分地基于關(guān)于由所述其它計算設(shè)備的用戶提供的所述代碼的信息。3.如在權(quán)利要求I中的方法,其中所述代碼包括可執(zhí)行程序,以及當(dāng)所述信譽(yù)信息指示所述可執(zhí)行程序呈現(xiàn)引起所述計算設(shè)備誤動作的低風(fēng)險時,所述可執(zhí)行程序由所述操作系統(tǒng)啟動而不用通知該計算設(shè)備的用戶。4.如在權(quán)利要求3中的方法,其特征還在于以下步驟確定在所述計算設(shè)備上的本地高速緩存是否包括與啟動所述程序?qū)⒁鹚鲇嬎阍O(shè)備誤動作的風(fēng)險有關(guān)的本地信譽(yù)信息;如果所述本地信譽(yù)信息確認(rèn)啟動所述代碼代表引起所述計算設(shè)備誤動作的低風(fēng)險,則啟動所述代碼;以及如果所述本地信譽(yù)信息未能確認(rèn)啟動所述選擇的程序呈現(xiàn)引起所述計算設(shè)備誤動作的低風(fēng)險,則將關(guān)于所述代碼的所述信息發(fā)送到所述信譽(yù)服務(wù)。5.如在權(quán)利要求4中的方法,其中當(dāng)所述確定步驟確認(rèn)所述程序呈現(xiàn)引起所述計算設(shè)備誤動作的低風(fēng)險時,所述可執(zhí)行程序由所述操作系統(tǒng)啟動而不用通知所述計算設(shè)備的用戶。6.如在權(quán)利要求5中的方法,其中當(dāng)來自所述信譽(yù)服務(wù)的所述信譽(yù)信息或所述本地信譽(yù)信息指示所述程序呈現(xiàn)引起所述計算設(shè)備誤動作的風(fēng)險時,所述操作系統(tǒng)阻止所述程序的啟動,并且提供通知給用戶。7.如在權(quán)利要求I中的方法,其中所述操作系統(tǒng)在繼續(xù)進(jìn)行所述程序的啟動之前要求所述可執(zhí)行程序滿足或超過所述操作系統(tǒng)的特權(quán)要求的預(yù)定的置信度水平;來自所述信譽(yù)服務(wù)的所述信譽(yù)信息包括評級,其指示所述程序具有的特權(quán)要求大于所述評級保證的那個特權(quán)要求;以及給所述用戶的所述通知包括關(guān)于所述評級和所述特權(quán)要求的信息,并給予用戶以繼續(xù)啟動所述程序的選項。8.ー種計算設(shè)備,其包括具有用于響應(yīng)于用戶命令而實行操作的可執(zhí)行指令的操作系統(tǒng)模塊;非瞬態(tài)計算機(jī)可讀存儲組件,其包括用于存儲能通過對所述操作系統(tǒng)模塊的用戶輸入而被啟動的可執(zhí)行計算機(jī)程序的可執(zhí)行程序模塊;和輸入組件,用于接受用以發(fā)起所選擇的所述可執(zhí)行程序的啟動的用戶命令,所述設(shè)備的特征在干所述存儲組件包括用干與所述可執(zhí)行程序模塊通信的信譽(yù)模塊;以及所述信譽(yù)模塊響應(yīng)于所述用戶命令,發(fā)送關(guān)于所述選擇的程序的信息到遠(yuǎn)離所述計算設(shè)備的信譽(yù)服務(wù),以及所述信譽(yù)模塊從所述信譽(yù)服務(wù)接收信譽(yù)信息,所述信譽(yù)信息涉及啟動所述程序?qū)⒁鹚鲇嬎阍O(shè)備誤動作的風(fēng)險,且是通過使用由所述信譽(yù)模塊發(fā)送的關(guān)于所述選擇的程序的所述信息而被生成的。9.如在權(quán)利要求8中的計算設(shè)備,其中所述信譽(yù)模塊包括與啟動所述可執(zhí)行程序?qū)⒁鹚鲇嬎阍O(shè)備誤動作的風(fēng)險有關(guān)的本地信譽(yù)信息的本地高速緩存;如果所述本地信譽(yù)信息確認(rèn)所述選擇的程序呈現(xiàn)引起所述計算設(shè)備誤動作的低風(fēng)險,則所述操作系統(tǒng)啟動所述可執(zhí)行程序;以及如果所述本地信譽(yù)信息未能確認(rèn)啟動所述選擇的程序呈現(xiàn)引起所述計算設(shè)備誤動作的低風(fēng)險,則所述信譽(yù)模塊將關(guān)于所述選擇的程序的所述信息發(fā)送到所述信譽(yù)服務(wù)。10.如在權(quán)利要求9中的計算設(shè)備,其中當(dāng)來自所述信譽(yù)服務(wù)的所述信譽(yù)信息或所述本地信譽(yù)信息指示所述選擇的程序呈現(xiàn)引起所述計算設(shè)備誤動作的風(fēng)險時,所述操作系統(tǒng)阻止所述選擇的程序的啟動,并且在計算設(shè)備的輸出組件上提供通知。11.一種計算機(jī)可讀媒體,包括在其上存儲的指令,所述指令響應(yīng)于由計算設(shè)備的執(zhí)行而使得該計算設(shè)備執(zhí)行按照權(quán)利要求I一7中任ー項的方法。全文摘要當(dāng)?shù)接嬎阍O(shè)備的用戶輸入發(fā)起程序啟動時,檢查可執(zhí)行的計算機(jī)程序的信譽(yù),因此觸發(fā)信譽(yù)信息的本地高速緩存的檢查。如果本地高速緩存確認(rèn)程序是安全的,則允許啟動,典型地不用通知用戶已經(jīng)進(jìn)行信譽(yù)檢查。如果本地高速緩存不能確認(rèn)程序的安全性,則通過訪問在云中的信譽(yù)服務(wù)而進(jìn)行信譽(yù)檢查。如果信譽(yù)服務(wù)將所述程序識別為安全的,則它返回指示給計算設(shè)備,且允許所述程序被啟動,再次地不用通知用戶已經(jīng)進(jìn)行信譽(yù)檢查。如果信譽(yù)服務(wù)將所述程序識別為不安全或潛在不安全的,或根本就不認(rèn)識它,則向用戶顯示警告。文檔編號G06F21/00GK102682235SQ20121001854公開日2012年9月19日申請日期2012年1月20日優(yōu)先權(quán)日2011年1月20日發(fā)明者A.巴陶德卡,A.戴維森,A.拉瓦特,C.古扎克,C.科萬,D.奧利弗,E.J.哈伯,J.戴夫,J.杜利,K.辛赫,P.利奇,R.科爾文,X.土申請人:微軟公司