專利名稱:用戶可修改文件的有效白名單的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機軟件和計算機安全,更具體地,本發(fā)明涉及計算機上接收到的用戶可修改文件的有效、安全白名單。
背景技術(shù):
操作計算機,尤其是操作一臺連接至網(wǎng)絡(luò)的計算機的一個不幸的事實是,計算機經(jīng)常受到攻擊。這些攻擊以多種形式出現(xiàn),包括,但不限于,計算機病毒、蠕蟲、計算機惡意利用(即,濫用或誤用合法的計算機服務(wù))、廣告軟件或間諜軟件等等。盡管這些多種計算機攻擊的每一個的操作機制相當不同,然而,大體上,它們都被設(shè)計成在計算機上執(zhí)行某些未被授權(quán)的、通常不受歡迎的、經(jīng)常具有攻擊性的活動。對于本發(fā)明的目的,這些攻擊在下文中可以一般地被稱為是惡意軟件。
因為惡意軟件對計算機一般而言是現(xiàn)實情況,尤其是對網(wǎng)絡(luò)計算機,因此發(fā)明和使用了多種工具來防止惡意軟件在計算機上實現(xiàn)其惡意的意圖。這些工具包括,防火墻、代理和在易受攻擊應(yīng)用程序上的安全設(shè)置。然而,大多數(shù)常用的用于保護計算機不受惡意軟件攻擊的工具是反病毒軟件。
本領(lǐng)域的技術(shù)人員可以理解,大多數(shù)反病毒軟件作為模式識別服務(wù)來操作。具體地,當一個文件由計算機接收時,不論該文件是可執(zhí)行文件、文字處理文檔、圖像或其它類型的,保護該計算機的反病毒軟件“分析”該文件以確定它是否被認為是惡意軟件。反病毒軟件通過為該文件生成一散列值,稱為簽名,來“分析”該文件。生成簽名,以使另一文件極不可能也擁有相同的簽名,從而該簽名被認為是對該文件唯一的。一旦簽名生成,該簽名而后與一所謂的簽名文件中的已知惡意軟件的其它簽名進行比較。這樣,如果文件的所生成的簽名與在該簽名文件中已知惡意軟件的簽名相匹配,則反病毒軟件就發(fā)現(xiàn)該文件是惡意軟件,并采取合適的措施。
不幸的是,簽名識別要求該惡意軟件是先前已知的(且被識別),以便保護計算機免受該惡意軟件的攻擊。這樣,反病毒軟件不是時間零點(time-zero)保護,即,一旦惡意軟件被發(fā)布到網(wǎng)絡(luò)上,即時間零點,就保護計算機免受其害。而是,存在一個易受攻擊性窗口,在此期問發(fā)布一個新的、未知的惡意軟件,而反病毒軟件能夠保護計算機免受該新的惡意軟件的攻擊的時間在該窗口之后。
圖1是示出與當前的反病毒軟件簽名識別相關(guān)聯(lián)的易受攻擊性窗口的示例性的時間線100的框圖。如圖1所示,在某些時間點,如由事件102所指出的,惡意的一方將一新的、未知的惡意軟件發(fā)布到諸如因特網(wǎng)等網(wǎng)絡(luò)上。顯然,一旦該新的、未知的惡意軟件被發(fā)布,連接至網(wǎng)絡(luò)的計算機處于危險中,或是易受攻擊的。因此,易受攻擊性窗口被打開了。
盡管檢測網(wǎng)絡(luò)上新的惡意軟件的實際時間取決于眾多因素,包括該惡意軟件的惡性,然而根據(jù)可用的統(tǒng)計數(shù)字,一般反病毒軟件團體,即反病毒軟件的提供者,需要4小時到3天來檢測或知道該新的惡意軟件。一旦被檢測到,如事件104所指出的,該反病毒團體能夠開始標識該惡意軟件。除了為新的惡意軟件生成簽名外,標識該惡意軟件通常也涉及研究/確定該惡意軟件的最終后果、確定其攻擊模式、標識被該攻擊所暴露的系統(tǒng)的弱點、以及設(shè)計從受感染的計算機中去除該惡意軟件的計劃。
當一般花費大約4小時(至少用于簽名標識)標識了該惡意軟件之后,反病毒軟件提供者會在其下載服務(wù)中張貼一更新的簽名文件,如事件106所指出的。不幸的是,計算機(不論自動地或在計算機用戶的命令下)不會立即更新其簽名文件。大多數(shù)計算機通?;ㄙM4小時到一周來更新其簽名文件,如事件108所指出的。當然,僅在更新的簽名文件被下載至計算機之后,反病毒軟件才能夠防護計算機免受該新的惡意軟件的攻擊,從而關(guān)閉易受攻擊性窗口110。確實,取決于個別情況,諸如當計算機的擁有者在度假時,用最新的簽名文件更新計算機可以花費比一個星期長得多的時間。
正如可見的那樣,新的、未知的惡意軟件無論在何處都有從幾小時到幾周的時間以在網(wǎng)絡(luò)團體上進行惡意的破壞而不被任何反病毒軟件檢查到。反病毒軟件不是時間零點保護。好消息是,大多數(shù)計算機在惡意軟件試圖攻擊任何一臺計算機之前被保護了。不幸的是,某些還是在易受攻擊性窗口內(nèi)被暴露了,且被惡意軟件感染。對于大多數(shù)人,尤其是那些非常依賴于其計算機的人,該易受攻擊性窗口是完全不能接受的。
本領(lǐng)域的技術(shù)人員可以容易地認識到,重要的是為文件生成一個簽名,使得該簽名唯一地標識該文件。計算上生成肯定地標識文件且同時不會標識任何其它文件的簽名,涉及復雜的算法和數(shù)學。不幸的是,為了生成那樣唯一的簽名,使用的算法對于文件是非常敏感的。對文件的任何修改會導致簽名生成算法生成與原始文件不同的簽名。換言之,對已知惡意軟件的一個簡單的、掩飾性的修改會導致簽名生成算法返回一完全不同的簽名。這樣,對已知惡意軟件(即,由其在簽名文件中的簽名標識的)的一個掩飾性的修改足以使得至少在被修改的惡意軟件被識別且其簽名被生成和存儲在簽名文件中之前,該修改過的惡意軟件能夠逃脫檢測。
惡意軟件的問題通常由于惡意軟件經(jīng)常嵌入在用戶可修改文件中的事實而增加。例如,惡意軟件可以被掩飾在嵌入在文字處理文檔內(nèi)的可執(zhí)行腳本中,并作為該可執(zhí)行腳本來發(fā)布。在這些情況下,惡意軟件部分(即,嵌入的腳本)是與文檔的可編輯部分是完全無關(guān)的。這樣,盡管對嵌入的惡意腳本沒有影響,對文字處理文檔數(shù)據(jù)區(qū)的不論小的或大的修改,會導致整個惡意軟件產(chǎn)生與其原始簽名不同的簽名。這些用戶可修改文件包括,但不限于,文字處理文檔、電子表格、圖像、HTML文檔等。此外,惡意軟件創(chuàng)建者為了領(lǐng)先于反病毒軟件檢測,已經(jīng)開始創(chuàng)建自修改惡意軟件為仍然能不被反病毒軟件檢測到而隨機地修改文件中的某些部分的文檔。因此,顯然,在許多情況下,領(lǐng)先于所發(fā)布的惡意軟件是非常困難的,尤其是當為了阻止惡意軟件,該惡意軟件必須已知時。
鑒于上述問題,所需要的是這樣一種系統(tǒng)和方法,它允許(即列出白名單)那些已知是非惡意軟件(即可信的)文件能夠自由通過反病毒軟件或其它安全措施,而同時不信任所有其它文件,從而使得計算機能關(guān)閉通常與反病毒軟件相關(guān)聯(lián)的易受攻擊性窗口。還需要基于簽名信息而不是整個文件來標識列為白名單的用戶可修改文件的能力。本發(fā)明解決了現(xiàn)有技術(shù)中遇到的這些和其它問題。
發(fā)明內(nèi)容
根據(jù)本發(fā)明的各方面,提供了一種用于標識所接收到的文件是否為惡意軟件的計算機系統(tǒng)。該計算機系統(tǒng)包括處理器、通信連接和存儲器。該計算機系統(tǒng)被這樣配置,使得一旦在通信連接上接收到文件,作出關(guān)于該接收到的文件是否為用戶可修改文件的判斷。如果是,則選擇用戶可修改文件中更持久的部分?;谒邮瘴募懈志玫乃x擇部分生成文件簽名。隨后基于生成的文件簽名,作出關(guān)于所接收的文件是否為惡意軟件的判斷。
根據(jù)本發(fā)明的其它方面,提供了一種在能夠從外部來源接收文件的計算設(shè)備上實現(xiàn)的方法,用于確定所接收的文件是否為惡意軟件。一旦接收了一個文件,作出關(guān)于該文件受否包含表面數(shù)據(jù)區(qū)的判斷。如果接收到的文件包含表面數(shù)據(jù)區(qū),則過濾出接收到的文件的那些表面數(shù)據(jù)區(qū)?;谒邮瘴募S嗟姆潜砻鏀?shù)據(jù)區(qū)的部分生成文件簽名。而后基于生成的文件簽名作出所接收到的文件是否為惡意軟件的判斷。
根據(jù)本發(fā)明的另外方面,提供了一種具有計算機可執(zhí)行指令的計算機可讀介質(zhì),當該指令在能夠從外部來源接收文件的計算設(shè)備上執(zhí)行時,實現(xiàn)用于確定接收到的文件是否為惡意軟件的方法。一旦接收到一文件,作出關(guān)于該文件是否包含表面數(shù)據(jù)區(qū)的判斷。如果接收到的文件含有表面數(shù)據(jù)區(qū),則過濾出所接收文件的那些表面數(shù)據(jù)區(qū)?;谒邮盏奈募S嗟姆潜砻鏀?shù)據(jù)區(qū)的部分生成文件簽名。而后基于生成的文件簽名作出所接收到的文件是否為惡意軟件的判斷。
當結(jié)合附圖參考以下詳細描述,能夠更容易明白和更好地理解本發(fā)明前述的方面和眾多附帶優(yōu)點,附圖中圖1是示出與反病毒軟件,尤其是簽名識別方法相關(guān)聯(lián)的易受攻擊性窗口的示例性時間線的框圖;圖2是示出一示例性用戶可修改文檔的框圖。
圖3是示出圖2的示例性用戶可修改文檔的框圖,還示出為文件開發(fā)簽名僅需文件的某些片段。
圖4是示出適用于實現(xiàn)本發(fā)明的各方面的示例性網(wǎng)絡(luò)環(huán)境的示意圖。
圖5是示出適于在本發(fā)明中使用的示例性白名單數(shù)據(jù)存儲的框圖。
圖6是示出適用于根據(jù)本發(fā)明的各方面,確定一個文件是否作為可信文件被列入白名單的示例性程序的框圖。
圖7是示出根據(jù)本發(fā)明的各方面適用的示例性生成簽名例程的框圖。
具體實施例方式
根據(jù)本發(fā)明的各方面,僅使用文檔的一部分作為用于生成惡意軟件簽名的基礎(chǔ),而不是基于整個用戶可修改文檔生成惡意軟件簽名。更具體地,惡意軟件簽名是基于用戶可修改文件的特定的、更持久的部分而生成的。通過將惡意軟件簽名基于用戶可修改文檔中趨于更持久的那些部分,基本上降低了(如果沒有完全消除)惡意軟件創(chuàng)建者和自修改惡意軟件通過簡單的、掩飾性的改造來逃脫檢測的能力。
本領(lǐng)域的技術(shù)人員可以理解,用戶可修改文檔包括眾多元素,其中的某些趨向于比其它更持久。本發(fā)明一般將文檔的這些更持久元素/部分作為簽名的基礎(chǔ)。圖2是示出示例性用戶可修改文檔200,以及用于討論用戶可修改文檔的多個元素的框圖。
如圖2所示,用戶可修改文檔200包括各種元素/部分,諸如,宏202、模板204、諸如Active X和COM objects等嵌入對象206和應(yīng)用樣式208等。這些元素中的每一個趨于更持久,即,不是在每次用戶編輯該用戶可修改文檔時被修改。另外,這些是含有惡意軟件“核心”的文檔元素類型。例如,惡意軟件創(chuàng)建者以宏或Active X控件的形式實現(xiàn)他們的惡意設(shè)計。而后這些被置于用戶可修改文件中,諸如文字處理文檔、電子表格或圖像。在諸如用戶數(shù)據(jù)區(qū)210和212等用戶數(shù)據(jù)區(qū)中的任何信息,對惡意軟件本質(zhì)上一般很少影響或沒有影響,但是通常包括引誘用戶將惡意軟件激活和/或發(fā)布到不受懷疑的用戶計算機上的信息。這樣,正如已經(jīng)提到的那樣,由于現(xiàn)有的基于簽名的檢測系統(tǒng)的特性,通過對文檔修飾性地修改可以容易地制造惡意軟件的變種。
應(yīng)該理解,盡管本發(fā)明使用術(shù)語“用戶可修改”文件,但這只是為了描述的目的,并且只表示了適用于本發(fā)明的一種文件類型。如上所述,分布為應(yīng)用程序的惡意軟件相當經(jīng)常可以包括對其修改不影響惡意軟件功能的數(shù)據(jù)區(qū)。這些數(shù)據(jù)區(qū)在后文中被稱為表面數(shù)據(jù)區(qū)。用戶可修改文件包括表面數(shù)據(jù)區(qū),即,用戶(或嵌入的惡意軟件)可以修改而不會影響嵌入的惡意軟件的區(qū)域。從而,應(yīng)該理解,“用戶可修改”文件或帶有表面數(shù)據(jù)區(qū)的文件包括,所有含有對其修改影響惡意軟件功能的數(shù)據(jù)區(qū)(一般稱為文件更持久部分),和對其修改對惡意軟件無功能性影響的區(qū)域(一般稱為用戶可修改數(shù)據(jù)區(qū)或表面數(shù)據(jù)區(qū))的文件。
圖3是示出示例性用戶可修改文檔200的框圖,還示出了僅使用了文檔的一部分用于為該文檔生成簽名。如上所述,根據(jù)本發(fā)明,當生成一文件簽名時,標識和使用了用戶可修改文檔的更持久部分,諸如,但不限于,宏202、模板204、樣式208和嵌入對象206。相反,用戶數(shù)據(jù)部分,諸如用戶數(shù)據(jù)區(qū)210和212,被過濾出簽名生成過程之外。
如上所述,即使當將惡意軟件簽名基于用戶可修改文件更持久部分,惡意軟件檢測仍舊不總能提供時間零點保護,即惡意軟件發(fā)布時刻的保護。根據(jù)本發(fā)明的各方面,為了向計算機或網(wǎng)絡(luò)提供時間零點保護,被信任不是惡意軟件的文件被標識在所謂的白名單上。一旦文件到達計算機,但在它能夠在計算機上使用之前,生成該文件的簽名,并將該簽名與已知為可信任的文件的白名單進行比較。根據(jù)本發(fā)明的其它方面,如上所述,如果該文件是用戶可修改文件,則文件的簽名基于其更持久的部分。以這種方式,用戶可修改文件能夠用有對文件的分發(fā)是可信任的完全的置信度來編輯并在計算機之間容易地分發(fā)。相反,那些不能夠與白名單中的簽名相匹配的文件被認為是不可信任的,且能夠執(zhí)行安全策略以保護計算機和/或網(wǎng)絡(luò)。以這種方式,實現(xiàn)了時間零點保護。
根據(jù)本發(fā)明,白名單可以本地存儲在計算機上、存儲在可信網(wǎng)絡(luò)位置、或同時儲存在這兩個地方。本發(fā)明不限于任何一種配置或安排。另外,根據(jù)一實施例,計算機可以為包括效率和冗余度的各種理由,依賴于多個白名單。圖4是示出可用于多個計算機的白名單的一個示例性網(wǎng)絡(luò)配置400的示意圖。如圖4所示,示例性網(wǎng)絡(luò)配置400包括,接收來自諸如計算機402-406等計算機的請求的白名單服務(wù)408,用于標識接收到的文件是否列出在白名單上。白名單服務(wù)408可以是連接至因特網(wǎng)412的Web服務(wù)器,但本發(fā)明不如此限制。
盡管白名單服務(wù)407可以嚴格地是列出白名單的服務(wù),即,提供關(guān)于白名單上的文件的信息的服務(wù),然而可替換地,白名單服務(wù)可以提供白名單列出的文件和黑名單列出的文件(即惡意軟件)的信息。
白名單服務(wù)408被示出為耦合至白名單數(shù)據(jù)存儲410。該白名單數(shù)據(jù)存儲包括被標識為可信文件的那些文件。在一個實施例中,白名單數(shù)據(jù)存儲410是白名單列出的文件的數(shù)據(jù)庫。盡管本發(fā)明將白名單服務(wù)408和白名單數(shù)據(jù)存儲412標識為獨立的實體,然而白名單數(shù)據(jù)存儲和白名單服務(wù)可以被結(jié)合成單個實體,或作為計算機上提供的服務(wù)。
盡管在一實施例中,白名單數(shù)據(jù)存儲僅包括白名單列出的文件的簽名,但是本發(fā)明并不如此限制。通常,多個文件擁有的信任等級在文件之間互不相同。例如,已知為由用戶創(chuàng)建的文件可以享有與該用戶同樣高的信任等級。類似地,附帶證明其真實性的數(shù)字簽名的、由可信的一方創(chuàng)建的文件,可以享有最高的信任等級?;蛘?,在所謂的“沙箱”中隔離了多天的文件,且沒有展現(xiàn)任何帶有惡意軟件的跡象,可以是“可信的”,但是可能比由可信來源數(shù)字地簽署的文件的等級低。又或者,特定的文件可以接收來自用戶的關(guān)于它能夠被信任的肯定的反饋。這樣的文件可以接收基于關(guān)于其可信性的反饋量的信任等級,并且對于標識間諜軟件和廣告軟件尤其有用。這樣,根據(jù)本發(fā)明的各方面,白名單數(shù)據(jù)存儲不僅僅包括“可信”文件的文件簽名。
盡管本發(fā)明的前述討論是參考計算機的,然而應(yīng)該理解,本發(fā)明可以在幾乎任何計算設(shè)備上實現(xiàn),包括但不限于,擁有處理器、通信連接、用于存儲信息的存儲器的,且能夠執(zhí)行文件簽名生成的計算機。例如,合適的計算設(shè)備可以是個人計算機、筆記本或圖形輸入板計算機、個人數(shù)字助理(PDA)、小型機或大型計算機、混合計算設(shè)備(諸如蜂窩電話/PDA的組合)等。
圖5是示出可在白名單數(shù)據(jù)存儲410中存在的示例性字段的框圖。在一實施例中,白名單數(shù)據(jù)存儲410會為每一白名單列出的文件在數(shù)據(jù)存儲中存儲一個記錄,且每一記錄包括用于存儲信息的一個或多個字段。如圖5所示,白名單數(shù)據(jù)存儲410中的每一記錄包括簽名字段502。該簽名字段存儲文件簽名,不論該文件簽名是否是僅基于文件的更持久部分而生成的。如上所述,它對標識一特定文件享有的信任等級經(jīng)常是有用的。這樣,該示例性記錄還包括信任字段504。如所示,信任字段包括從1到10的數(shù)值,10表示最高信任而1是最低信任。然而,應(yīng)該理解,這個等級只是說明性的,且不應(yīng)被解釋為對本發(fā)明的限制。又或者,信任字段504也可以用于標識惡意軟件。例如,如果一個文件被分配信任等級0,則這可以是該文件被認為是惡意軟件的指示。
在白名單數(shù)據(jù)存儲410中還示出了附加數(shù)據(jù)字段506。如其名稱所暗示的,附加數(shù)據(jù)字段506包括對用戶可能有用的、關(guān)于白名單列出的文件的信息。如圖5所示,該附加數(shù)據(jù)字段可以標識在文件所分配的信任等級背后的依據(jù),諸如文件創(chuàng)作者或來源、觀察到的行為、沒有惡意軟件的行為等等。幾乎任何有關(guān)的信息都可以存儲在附加數(shù)據(jù)字段506中。類似地,在另一實施例中,任何數(shù)量的字段可以包括在白名單數(shù)據(jù)存儲410中。
圖6是示出用于確定一個文件是否作為可信任的文件在白名單中列出的示例性例程600的流程圖。在塊602處開始,計算機接收到一未知/不可信文件,這意味著計算機還不知道該文件是否是惡意軟件,或者它是否被白名單列出。在塊604處,為該接收到的文件生成一簽名。為文件生成簽名在下面關(guān)于圖7的說明中描述。
圖7是示出根據(jù)本發(fā)明的各方面,用于生成文件簽名且適用于圖6中的例程600的示例性子例程700的流程圖。在判定塊702處開始,作出關(guān)于該文件是否是用戶可修改文件的判斷。如果該文件不是用戶可修改文件,則在塊704處,示例性子例程700為該文件生成基于整個文件的簽名。其后,在塊710處,示例性子例程700返回所生成的簽名并終止。
如果該文件是用戶可修改文件,則在塊706處,示例性子例程700過濾出文件的用戶可修改部分。而后在塊708處,子例程700基于文件剩余的、未被濾出的部分生成文件的簽名。在生成了文件的簽名之后,示例性子例程700在710返回生成的簽名并終止。
再次參考圖6,在生成文件的簽名后,在塊606處,示例性例程600與白名單服務(wù)408連接。如上所述,白名單服務(wù)可以是安裝在計算機或局域網(wǎng)上的本地服務(wù)/文件,或者是諸如在圖4中所標識的遠程白名單服務(wù)。另外(未示出),可以存在多個白名單服務(wù)。例如,安裝在計算機上的白名單服務(wù)可以含有少量計算機經(jīng)常遇到的文件簽名。如果一個簽名未在本地白名單服務(wù)中找到,則計算機可以轉(zhuǎn)向含有大量簽名的網(wǎng)絡(luò)白名單服務(wù)。更進一步地,如果一個簽名在本地或網(wǎng)絡(luò)白名單服務(wù)中都沒有找到,則可以參考遠程/全球白名單服務(wù),諸如圖4所示的白名單服務(wù)408。當然,遠程白名單服務(wù)408可能僅包括那些全球可用的文件,諸如來自于操作系統(tǒng)提供者的幫助或服務(wù)文檔。根據(jù)一實施例,本地白名單服務(wù)知道網(wǎng)絡(luò)白名單服務(wù)并與之通信,且網(wǎng)絡(luò)白名單服務(wù)知道遠程白名單服務(wù)并與之通信,使得如果文件的簽名沒有找到,則對本地白名單服務(wù)的單個請求相繼地檢查另一個服務(wù)。
當與白名單服務(wù)連接后,在塊608處,例程600提交簽名且獲取對應(yīng)于該文件的信任等級。在判定塊610處,假定白名單服務(wù)也標識惡意軟件(盡管本發(fā)明不如此限制),作出關(guān)于該文件是否被標識為惡意軟件的確定。如何處理惡意軟件在本領(lǐng)域中是公知的,且包括諸如刪除文件、隔離文件或從文件中清除惡意軟件的措施。其后,程序600終止。
如果該文件根據(jù)從白名單服務(wù)408中獲取的信任等級沒有被標識為惡意軟件,那么在塊614處,例程600根據(jù)所建立的與該文件信任等級相關(guān)的政策允許該文件進入計算機系統(tǒng)。例如,如果該信任等級是最高的,則計算機用戶很可能確保該文件是完全值得信任的,且能夠允許該文件為任何目的進入系統(tǒng)。或者,如果信任等級相當?shù)牡?,則計算機系統(tǒng)可以被設(shè)計為允許該文件以某些約束進入系統(tǒng),諸如,但不限于,隔離該文件一段時間、在所謂的沙箱中執(zhí)行該文件、在該文件操作時禁用某些特征網(wǎng)絡(luò)能力等。在允許文件進入計算機系統(tǒng)之后,示例性例程600終止。
盡管上述例程600包括一關(guān)于文件是否是惡意軟件的二元的,即,是/否判斷,然而在一實際實施例中,可以根據(jù)與文件相關(guān)聯(lián)的信任等級作出眾多判斷。例如,可以作出關(guān)于信任等級是否比值8大的判斷,這樣自動允許任何擁有該信任等級或更高等級的文件進入。類似地,可以要求信任等級在3到7之間的文件在所謂的沙箱內(nèi)執(zhí)行一段時間。更進一步地,信任等級低于3的文件必須在準入計算機系統(tǒng)之前被隔離。因此,示例性例程600應(yīng)該被視作僅是說明性的,且不應(yīng)該被解釋為對本發(fā)明的限制。
盡管示出和描述了本發(fā)明的諸多實施例,包括最優(yōu)實施例,然而可以理解,在其中可以進行諸多修改而不背離本發(fā)明的精神和范圍。
權(quán)利要求
1.一種用于標識接收到的文件中的惡意軟件的計算機系統(tǒng),所述計算機系統(tǒng)包括處理器;用于接收文件的通信連接;以及存儲器;其中,配置所述計算機系統(tǒng),使得一旦在所述通信連接處接收到一文件確定所接收到的文件是否是用戶可修改文件,如果是選擇所接收到的文件中那些更持久的部分;基于所接收文件的那些更持久的被選擇部分生成文件簽名;以及基于所生成的文件簽名,確定所接收到的文件是否是惡意軟件。
2.如權(quán)利要求1所述的計算機系統(tǒng),其特征在于,所述計算機系統(tǒng)通過將所生成的文件簽名與含有可信文件記錄集合的白名單數(shù)據(jù)存儲中的文件簽名進行比較,基于所生成的文件簽名確定所接收到的文件是否是惡意軟件,其中,每一記錄包括一可信文件的文件簽名。
3.如權(quán)利要求2所述的計算機系統(tǒng),其特征在于,還包括一白名單數(shù)據(jù)存儲。
4.如權(quán)利要求2所述的計算機系統(tǒng),其特征在于,所述的白名單數(shù)據(jù)存儲對于所述計算機系統(tǒng)是遠程的,且其中,所述計算機系統(tǒng)通過所述通信連接訪問所述白名單數(shù)據(jù)存儲。
5.如權(quán)利要求2所述的計算機系統(tǒng),其特征在于,所述計算機系統(tǒng)還通過將所生成的文件簽名與已知惡意軟件的文件簽名進行比較,基于所生成的文件簽名來確定所接收的文件是否是惡意軟件。
6.如權(quán)利要求1所述的計算機系統(tǒng),其特征在于,所述計算機系統(tǒng)通過將所生成的文件簽名與已知惡意軟件的文件簽名進行比較,基于所生成的文件簽名來確定所接收的文件是否是惡意軟件。
7.一種響應(yīng)于接收文件在計算機設(shè)備上執(zhí)行的用于確定所接收的文件是否是惡意軟件的方法,所述方法包括確定所接收的文件是否包含表面數(shù)據(jù)區(qū),如果是過濾出所接收的文件中那些是表面數(shù)據(jù)區(qū)的部分;基于所接收文件中未被過濾出的剩余部分,生成文件簽名;以及基于所生成的文件簽名,確定所接收的文件是否是惡意軟件。
8.如權(quán)利要求7所述的方法,其特征在于,基于所生成的文件簽名確定所接收的文件是否是惡意軟件包括,將所生成的文件簽名與白名單數(shù)據(jù)存儲中的文件簽名進行比較,所述白名單數(shù)據(jù)存儲包括可信文件記錄的集合,且其中,每一記錄包含可信文件的文件簽名。
9.如權(quán)利要求8所述的方法,其特征在于,所述白名單數(shù)據(jù)存儲駐留在所述計算設(shè)備上。
10.如權(quán)利要求8所述的方法,其特征在于,所述白名單數(shù)據(jù)存儲對所述計算設(shè)備是遠程的。
11.如權(quán)利要求8所述的方法,其特征在于,基于所生成的文件簽名確定所接收的文件是否是惡意軟件還包括,將所生成的文件簽名與已知惡意軟件的文件簽名進行比較。
12.如權(quán)利要求7所述的方法,其特征在于,基于所生成的文件簽名確定所接收的文件是否是惡意軟件包括,將所生成的文件簽名與已知惡意軟件的文件簽名進行比較。
13.一種帶有計算機可執(zhí)行指令的計算機可讀介質(zhì),當在有能力從外部來源接收文件的計算設(shè)備上執(zhí)行所述計算機可執(zhí)行指令時,實現(xiàn)一種用于確定所接收的文件是否是惡意軟件的方法,所述方法包括確定所接收的文件是否包含表面數(shù)據(jù)區(qū),如果是過濾出所接收的文件中那些是表面數(shù)據(jù)區(qū)的部分;基于所接收的文件中未被過濾出的剩余部分,生成文件簽名;以及基于所生成的文件簽名,確定所接收的文件是否是惡意軟件。
14.如權(quán)利要求13所述的方法,其特征在于,基于所生成的文件簽名確定所接收的文件是否是惡意軟件包括,將所生成的文件簽名與白名單數(shù)據(jù)存儲中的文件簽名進行比較,所述白名單數(shù)據(jù)存儲包括可信文件記錄的集合,且其中,每一記錄包含可信文件的文件簽名。
15.如權(quán)利要求14所述的方法,其特征在于,所述白名單數(shù)據(jù)存儲駐留在所述計算設(shè)備上。
16.如權(quán)利要求14所述的方法,其特征在于,所述白名單數(shù)據(jù)存儲對所述計算設(shè)備是遠程的。
17.如權(quán)利要求14所述的方法,其特征在于,基于所生成的文件簽名確定所接收的文件是否是惡意軟件還包括,將所生成的文件簽名與已知惡意軟件的文件簽名進行比較。
18.如權(quán)利要求13所述的方法,其特征在于,基于所生成的文件簽名確定所接收的文件是否是惡意軟件包括,將所生成的文件簽名與已知惡意軟件的文件簽名進行比較。
全文摘要
提供一種用于有效地確定所接收的文件不是惡意軟件的系統(tǒng)和方法。在運行中,當在計算設(shè)備上接收到一文件,作出關(guān)于該文件是否包含用戶可修改或表面數(shù)據(jù)區(qū),即固有地一般不帶有或嵌入惡意軟件的文件區(qū)域的評估。如果該文件包含表面數(shù)據(jù)區(qū),則那些表面數(shù)據(jù)區(qū)被濾出,且文件簽名是基于所接收文件的剩余部分生成的。該文件而后與一已知惡意軟件列表進行比較,以確定該文件是否是惡意軟件。或者,該文件能夠同一已知的可信文件列表進行比較,以確定該文件是否可信。
文檔編號G06F1/00GK1766778SQ20051010888
公開日2006年5月3日 申請日期2005年9月29日 優(yōu)先權(quán)日2004年10月29日
發(fā)明者D·烏蘭格拉特查甘, M·科斯蒂亞, S·A·費爾德 申請人:微軟公司