亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

用于基于虛擬機(jī)監(jiān)視器的反惡意軟件安全的系統(tǒng)和方法

文檔序號(hào):6494787閱讀:263來源:國知局
用于基于虛擬機(jī)監(jiān)視器的反惡意軟件安全的系統(tǒng)和方法【專利摘要】一種用于保護(hù)電子設(shè)備的系統(tǒng)包括存儲(chǔ)器、處理器、駐留在存儲(chǔ)器中以供由處理器執(zhí)行的一個(gè)或多個(gè)操作系統(tǒng)、通信上耦合到操作系統(tǒng)的電子設(shè)備的資源、被配置為以低于訪問資源的電子設(shè)備的所有操作系統(tǒng)的級(jí)別在電子設(shè)備上執(zhí)行的虛擬機(jī)監(jiān)視器、以及被配置為以低于訪問資源的電子設(shè)備的所有操作系統(tǒng)的級(jí)別在電子設(shè)備上執(zhí)行的安全代理。該虛擬機(jī)監(jiān)視器被配置為截取從高于虛擬機(jī)監(jiān)視器的級(jí)別做出的對(duì)資源的請(qǐng)求并向安全代理告知該請(qǐng)求。安全代理被配置為判斷該請(qǐng)求是否指示惡意軟件?!緦@f明】用于基于虛擬機(jī)監(jiān)視器的反惡意軟件安全的系統(tǒng)和方法[0001]優(yōu)先權(quán)申請(qǐng)[0002]本申請(qǐng)要求以下美國申請(qǐng)的權(quán)益:于2011年3月28日提交的第13/073,791號(hào)、于2011年3月28日提交的第13/073,810號(hào)、于2011年3月28日提交的第13/073,842號(hào)、于2011年3月31日提交的第13/077,227號(hào)、于2011年3月28日提交的第13/073,853號(hào)、于2011年3月29日提交的第13/075,049號(hào)、于2011年3月31日提交的第13/076,493號(hào)、于2011年3月29日提交的第13/074,741號(hào)、于2011年3月31日提交的第13/077,305號(hào)、于2011年3月29日提交的第13/074,831號(hào)、于2011年3月29日提交的第13/074,925號(hào)、于2011年3月29日提交的第13/074,947號(hào)、于2011年3月31日提交的第13/077,270號(hào)、于2011年3月31日提交的第13/076,537號(hào)、于2011年3月28日提交的第13/073,864號(hào)、于2011年3月29日提交的第13/075,072號(hào)、于2011年3月29日提交的第13/075,101號(hào)、于2011年3月31日提交的第13/076,512號(hào)、于2011年3月31日提交的第13/076,480號(hào)以及于2011年3月31日提交的第13/076,473號(hào),這些申請(qǐng)的內(nèi)容通過引用整體合并于此?!?br>技術(shù)領(lǐng)域
】[0003]本發(fā)明通常涉及計(jì)算機(jī)安全和惡意軟件防護(hù),且尤其涉及基于虛擬機(jī)監(jiān)視器的反惡意軟件安全的系統(tǒng)和方法。[0004]背景[0005]本機(jī)操作系統(tǒng)服務(wù)可以防止安全軟件在操作系統(tǒng)的內(nèi)核內(nèi)安裝任意掛鉤(hooking)。因而防止了安全軟件過濾電子設(shè)備的所有行為,包括惡意軟件的潛在惡意的動(dòng)作。惡意軟件可以包括但不限于間諜軟件、rootkit、密碼竊取器、垃圾郵件、網(wǎng)絡(luò)釣魚攻擊源、拒絕服務(wù)攻擊源、病毒、記錄器、木馬、廣告軟件或產(chǎn)生惡意活動(dòng)的任何其他數(shù)字內(nèi)容。[0006]由操作系統(tǒng)提供的過濾功能性可以受到限制,且僅在操作系統(tǒng)銷售商決定的時(shí)間軸上可用。惡意軟件可以以與安全軟件相同的級(jí)別操作和駐留,尤其是在操作系統(tǒng)內(nèi)核內(nèi),且因而危害操作系統(tǒng)和安全軟件本身的完整性兩者。[0007]多種形式的主動(dòng)內(nèi)核模式惡意軟件篡改用戶模式存儲(chǔ)器來完成惡意任務(wù),例如動(dòng)態(tài)地注入惡意代碼、修改用戶模式代碼段以便變更執(zhí)行路徑并重定向到惡意代碼、以及修改用戶模式數(shù)據(jù)結(jié)構(gòu)以便使得安全軟件失效。另外,一些惡意軟件可以通過篡改進(jìn)程存儲(chǔ)器代碼和數(shù)據(jù)片段以便欺騙檢測(cè)邏輯來從內(nèi)核攻擊反惡意軟件應(yīng)用和進(jìn)程。[0008]內(nèi)核模式rootkit和其他惡意軟件采用各種方法來對(duì)用戶模式應(yīng)用和內(nèi)核模式設(shè)備驅(qū)動(dòng)程序隱藏它們的存在。取決于感染發(fā)生的場(chǎng)所,所使用的技術(shù)可以改變。例如,惡意軟件攻擊操作系統(tǒng)的內(nèi)核活動(dòng)進(jìn)程列表以便從列表中劃去(delist)或解開(unlink)rootkit或其他惡意軟件進(jìn)程。其他惡意軟件可以欺騙進(jìn)程訪問和枚舉函數(shù)的代碼段。[0009]概述[0010]在一個(gè)實(shí)施例中,一種用于保護(hù)電子設(shè)備的系統(tǒng),包括存儲(chǔ)器、處理器、駐留在存儲(chǔ)器中以供由處理器執(zhí)行的一個(gè)或多個(gè)操作系統(tǒng)、通信上耦合到操作系統(tǒng)的電子設(shè)備的資源、被配置為以低于訪問資源的電子設(shè)備的所有操作系統(tǒng)的級(jí)別在電子設(shè)備上執(zhí)行的虛擬機(jī)監(jiān)視器、以及被配置為以低于訪問資源的電子設(shè)備的所有操作系統(tǒng)的級(jí)別在電子設(shè)備上執(zhí)行的安全代理。該虛擬機(jī)監(jiān)視器被配置為截取從高于虛擬機(jī)監(jiān)視器的級(jí)別做出的對(duì)資源的請(qǐng)求并向安全代理告知該請(qǐng)求。安全代理被配置為判斷該請(qǐng)求是否指示惡意軟件。[0011]在另一個(gè)實(shí)施例中,一種用于保護(hù)電子設(shè)備的系統(tǒng),包括存儲(chǔ)器、處理器、駐留在存儲(chǔ)器中以供由處理器執(zhí)行的一個(gè)或多個(gè)操作系統(tǒng)、通信上耦合到操作系統(tǒng)的電子設(shè)備的資源、被配置為以高于訪問資源的電子設(shè)備的所有操作系統(tǒng)的優(yōu)先級(jí)在電子設(shè)備上執(zhí)行的虛擬機(jī)監(jiān)視器、以及被配置為以高于訪問資源的電子設(shè)備的所有操作系統(tǒng)的優(yōu)先級(jí)在電子設(shè)備上執(zhí)行的安全代理。優(yōu)先級(jí)由處理器定義。虛擬機(jī)監(jiān)視器被配置為截取從具有比虛擬機(jī)監(jiān)視器低的優(yōu)先級(jí)的實(shí)體做出的對(duì)資源的請(qǐng)求并向安全代理告知該請(qǐng)求。安全代理被配置為判斷是否該請(qǐng)求指示惡意軟件。[0012]在又一個(gè)實(shí)施例中,一種用于保護(hù)電子設(shè)備的系統(tǒng),包括存儲(chǔ)器、處理器、駐留在存儲(chǔ)器中以供由處理器執(zhí)行的一個(gè)或多個(gè)操作系統(tǒng)、耦合到操作系統(tǒng)的電子設(shè)備的資源、被配置為在比訪問資源的電子設(shè)備的所有操作系統(tǒng)享有更多特權(quán)的執(zhí)行環(huán)上在電子設(shè)備上執(zhí)行的虛擬機(jī)監(jiān)視器、被配置為在比電子設(shè)備的所有操作系統(tǒng)享有更多特權(quán)的執(zhí)行環(huán)上在電子設(shè)備上執(zhí)行的安全代理。虛擬機(jī)監(jiān)視器被配置為截取對(duì)資源的請(qǐng)求,從比虛擬機(jī)監(jiān)視器享有較少特權(quán)的執(zhí)行環(huán)做出該請(qǐng)求并向安全代理告知該請(qǐng)求。安全代理被配置為判斷該請(qǐng)求是否指示惡意軟件。[0013]在再一個(gè)實(shí)施例中,一種用于保護(hù)電子設(shè)備的方法包括,以低于訪問資源的電子設(shè)備的所有操作系統(tǒng)的級(jí)別,截取從較高級(jí)別做出的對(duì)電子設(shè)備的資源的請(qǐng)求并判斷該請(qǐng)求是否指示惡意軟件。該資源通信上耦合到操作系統(tǒng)。[0014]在進(jìn)一步的實(shí)施例中,一種用于保護(hù)電子設(shè)備的方法包括,以比訪問資源的電子設(shè)備的所有操作系統(tǒng)較高的優(yōu)先級(jí),截取從具有較低優(yōu)先級(jí)的實(shí)體做出的對(duì)資源的請(qǐng)求并判斷該請(qǐng)求是否指示惡意軟件。這樣的優(yōu)先級(jí)由電子設(shè)備的處理器定義。[0015]在另一個(gè)進(jìn)一步的實(shí)施例中,一種用于保護(hù)電子設(shè)備的方法包括,在比訪問資源的電子設(shè)備的所有操作系統(tǒng)享有更多特權(quán)的執(zhí)行環(huán)上,截取對(duì)資源的請(qǐng)求并判斷該請(qǐng)求是否指示惡意軟件。從享有較少特權(quán)的執(zhí)行環(huán)做出該請(qǐng)求。[0016]在又一個(gè)進(jìn)一步的實(shí)施例中,一種制品包括計(jì)算機(jī)可讀介質(zhì)和在計(jì)算機(jī)可讀介質(zhì)上攜帶的計(jì)算機(jī)可執(zhí)行指令。指令可由處理器讀取。在被讀取和被執(zhí)行時(shí),指令用于使處理器以低于訪問資源的電子設(shè)備的所有操作系統(tǒng)的級(jí)別截取從較高的級(jí)別做出的對(duì)電子設(shè)備的資源的請(qǐng)求并判斷該請(qǐng)求是否指示惡意軟件。該資源通信上耦合到操作系統(tǒng)。[0017]在再一個(gè)進(jìn)一步的實(shí)施例中,一種制品包括計(jì)算機(jī)可讀介質(zhì)和在計(jì)算機(jī)可讀介質(zhì)上攜帶的計(jì)算機(jī)可執(zhí)行指令。指令可由處理器讀取。在被讀取和被執(zhí)行時(shí),指令用于使處理器以比訪問資源的電子設(shè)備的所有操作系統(tǒng)較高的優(yōu)先級(jí)截取從具有較少的優(yōu)先級(jí)的實(shí)體做出的對(duì)資源的請(qǐng)求并判斷該請(qǐng)求是否指示惡意軟件。優(yōu)先級(jí)由處理器定義。[0018]在附加的實(shí)施例中,一種制品包括計(jì)算機(jī)可讀介質(zhì)和在計(jì)算機(jī)可讀介質(zhì)上攜帶的計(jì)算機(jī)可執(zhí)行指令。指令可由處理器讀取。在被讀取和被執(zhí)行時(shí),指令用于使處理器在比訪問資源的電子設(shè)備的所有操作系統(tǒng)享有更多特權(quán)的執(zhí)行環(huán)上截取對(duì)資源的請(qǐng)求并判斷該請(qǐng)求是否指示惡意軟件。從享有較少特權(quán)的執(zhí)行環(huán)做出該請(qǐng)求。[0019]附圖簡述[0020]為了更完整地理解本發(fā)明及其優(yōu)點(diǎn),現(xiàn)在參見結(jié)合附圖閱讀的以下撰寫的描述,附圖中:[0021]圖1是用于保護(hù)電子設(shè)備免遭惡意軟件的系統(tǒng)的示例實(shí)施例;[0022]圖2是用于保護(hù)電子設(shè)備免遭惡意軟件的基于虛擬機(jī)監(jiān)視器的和基于安全規(guī)則的可配置安全解決方案的系統(tǒng)的示例實(shí)施例;[0023]圖3是用于基于虛擬機(jī)監(jiān)視器保護(hù)電子設(shè)備免遭惡意軟件的方法的示例實(shí)施例;[0024]圖4是用于保護(hù)電子設(shè)備免遭惡意軟件的基于固件的和基于安全規(guī)則的系統(tǒng)的示例實(shí)施例;[0025]圖5是用于保護(hù)電子設(shè)備免遭惡意軟件的基于固件的解決方案的示例實(shí)施例的更詳盡的視圖;[0026]圖6是基于固件的保護(hù)電子設(shè)備免遭惡意軟件的方法的示例實(shí)施例;[0027]圖7是用于針對(duì)惡意軟件保護(hù)電子設(shè)備的基于微代碼的系統(tǒng)的示例實(shí)施例;[0028]圖8是基于微代碼的保護(hù)電子設(shè)備免遭惡意軟件的方法的示例實(shí)施例;[0029]圖9是用于調(diào)節(jié)對(duì)電子設(shè)備上的安全敏感的處理器資源的軟件訪問的系統(tǒng)的示例實(shí)施例;[0030]圖10是處理器資源控制結(jié)構(gòu)的示例實(shí)施例;[0031]圖11是用于調(diào)節(jié)對(duì)電子設(shè)備的安全敏感的處理器資源的軟件訪問的方法的示例實(shí)施例;[0032]圖12用于調(diào)節(jié)軟件訪問的系統(tǒng)的示例實(shí)施例,該系統(tǒng)用于在電子設(shè)備上使用操作系統(tǒng)下層捕獲(below-operatingsystemtrapping)來保護(hù)存儲(chǔ)器;[0033]圖13是存儲(chǔ)器映射的示例實(shí)施例的闡釋;[0034]圖14是使用對(duì)電子設(shè)備的嘗試訪問的操作系統(tǒng)下層捕獲來保護(hù)存儲(chǔ)器的方法的示例實(shí)施例;[0035]圖15是保護(hù)電子設(shè)備的操作系統(tǒng)內(nèi)核的系統(tǒng)的示例實(shí)施例;[0036]圖16是對(duì)操作系統(tǒng)的可信訪問和可信驅(qū)動(dòng)程序組件的訪問映射的示例實(shí)施例;[0037]圖17是進(jìn)一步闡釋圖16的訪問映射的虛擬存儲(chǔ)器的示例實(shí)施例;[0038]圖18是用于產(chǎn)生對(duì)操作系統(tǒng)的可信訪問和可信驅(qū)動(dòng)程序組件的訪問映射的系統(tǒng)的示例實(shí)施例;以及[0039]圖19是用于保護(hù)電子設(shè)備的操作系統(tǒng)內(nèi)核的方法的示例實(shí)施例;[0040]圖21是用于提供受保護(hù)操作系統(tǒng)執(zhí)行環(huán)境的系統(tǒng)中的起動(dòng)模塊的示例實(shí)施例;[0041]圖22是用于安全地執(zhí)行操作系統(tǒng)的操作系統(tǒng)執(zhí)行環(huán)境的示例實(shí)施例;[0042]圖23是供用于提供受保護(hù)操作系統(tǒng)執(zhí)行環(huán)境的系統(tǒng)或方法的盤映射位圖的示例實(shí)施例;[0043]圖24是用于起動(dòng)受保護(hù)操作系統(tǒng)執(zhí)行環(huán)境的方法的示例實(shí)施例;[0044]圖25是提供用于安全地執(zhí)行操作系統(tǒng)的操作系統(tǒng)執(zhí)行環(huán)境的方法的示例實(shí)施例;[0045]圖26是用于保護(hù)存儲(chǔ)設(shè)備免遭未經(jīng)授權(quán)的訪問的系統(tǒng)的示例實(shí)施例;[0046]圖27是供與用于保護(hù)存儲(chǔ)設(shè)備免遭未經(jīng)授權(quán)的訪問的系統(tǒng)或方法一起使用的安全規(guī)則的示例實(shí)施例;[0047]圖28是用于保護(hù)存儲(chǔ)設(shè)備免遭未經(jīng)授權(quán)的訪問的方法的示例實(shí)施例;[0048]圖29是用于保護(hù)在應(yīng)用和輸入/輸出設(shè)備之間的寫訪問的輸入/輸出路徑的系統(tǒng)的示例實(shí)施例;[0049]圖30是用于保護(hù)在應(yīng)用和輸入/輸出設(shè)備之間的寫訪問的輸入/輸出路徑的方法的示例實(shí)施例;[0050]圖31是用于保護(hù)在應(yīng)用和輸入/輸出設(shè)備之間的讀訪問的輸入/輸出路徑的系統(tǒng)的示例實(shí)施例;[0051]圖32是用于保護(hù)在應(yīng)用和輸入/輸出設(shè)備之間的讀訪問的輸入/輸出路徑的方法的示例實(shí)施例;[0052]圖33是用于檢測(cè)和修復(fù)電子設(shè)備上的隱藏進(jìn)程的系統(tǒng)的示例實(shí)施例;[0053]圖34是用于檢測(cè)和修復(fù)電子設(shè)備上的隱藏進(jìn)程的方法的示例實(shí)施例;[0054]圖35是用于檢測(cè)和修復(fù)電子設(shè)備上的隱藏進(jìn)程的另一系統(tǒng)的示例實(shí)施例;[0055]圖36是用于檢測(cè)和修復(fù)電子設(shè)備上的隱藏進(jìn)程的另一方法的示例實(shí)施例;[0056]圖37是用于檢測(cè)和修復(fù)電子設(shè)備上的隱藏進(jìn)程的又一方法的示例實(shí)施例;[0057]圖38是用于保護(hù)對(duì)操作系統(tǒng)的系統(tǒng)調(diào)用的訪問的系統(tǒng)的示例實(shí)施例;[0058]圖39是供與保護(hù)對(duì)操作系統(tǒng)的系統(tǒng)調(diào)用的訪問的系統(tǒng)或方法一起使用的系統(tǒng)調(diào)用表的不例實(shí)施例;[0059]圖40是用于保護(hù)對(duì)操作系統(tǒng)的系統(tǒng)調(diào)用的訪問的方法的示例實(shí)施例;[0060]圖41是用于電子設(shè)備上惡意或潛在惡意的代碼的調(diào)節(jié)和控制的系統(tǒng)的示例實(shí)施例;[0061]圖42是用于電子設(shè)備上的自修改代碼的調(diào)節(jié)和控制的方法的示例實(shí)施例;[0062]圖43是用于電子設(shè)備上的惡意代碼的修改的方法的示例實(shí)施例;[0063]圖44是用于電子設(shè)備上的相關(guān)線程的監(jiān)視和跟蹤的方法的示例實(shí)施例;[0064]圖45是用于保護(hù)電子設(shè)備的存儲(chǔ)器和存儲(chǔ)的系統(tǒng)的示例實(shí)施例;[0065]圖46是用于保護(hù)電子設(shè)備的存儲(chǔ)器和存儲(chǔ)的方法的示例實(shí)施例;[0066]圖47是用于保護(hù)對(duì)操作系統(tǒng)的對(duì)象的訪問的系統(tǒng)的示例實(shí)施例;[0067]圖48是供與保護(hù)對(duì)操作系統(tǒng)的對(duì)象的訪問的系統(tǒng)或方法一起使用的行為狀態(tài)映射的示例實(shí)施例;[0068]圖49是用于保護(hù)對(duì)操作系統(tǒng)的對(duì)象的訪問的方法的示例實(shí)施例;[0069]圖50是用于保護(hù)在電子設(shè)備上的驅(qū)動(dòng)程序之間的通信的系統(tǒng)的示例實(shí)施例;[0070]圖51是驅(qū)動(dòng)程序間通信的示例闡釋;[0071]圖52是0/S下層安全代理可以保護(hù)的電子設(shè)備的示例部分的附加闡釋;[0072]圖53是用于電子設(shè)備中的驅(qū)動(dòng)程序間通信的操作系統(tǒng)下層捕獲和保護(hù)的方法的示例實(shí)施例;[0073]圖54是用于保護(hù)電子設(shè)備上驅(qū)動(dòng)程序過濾器的附接和分開的系統(tǒng)的示例實(shí)施例;[0074]圖55是示例設(shè)備棧區(qū)(devicestack)的操作的更詳盡的闡釋;[0075]圖56是可能已經(jīng)受到進(jìn)行附接或分開驅(qū)動(dòng)程序過濾器的惡意軟件危害的設(shè)備棧區(qū)的示例闡釋;[0076]圖57是用于電子設(shè)備中的驅(qū)動(dòng)程序過濾器附接的操作系統(tǒng)下層捕獲的方法的示例實(shí)施例;[0077]圖58是用于保護(hù)電子設(shè)備上的驅(qū)動(dòng)程序的加載或卸載的系統(tǒng)的示例實(shí)施例;[0078]圖59A和圖59B是用于保護(hù)電子設(shè)備上的驅(qū)動(dòng)程序的加載或卸載的方法的示例實(shí)施例;[0079]圖60是用于操作系統(tǒng)下層捕獲和保護(hù)把代碼加載到存儲(chǔ)器中的系統(tǒng)的示例實(shí)施例;[0080]圖61是應(yīng)用如何收集注入的代碼以便放置在存儲(chǔ)器中以供執(zhí)行的示例闡釋;[0081]圖62A示出把應(yīng)用的映像從磁盤加載到存儲(chǔ)器的示例闡釋;[0082]圖62B示出在應(yīng)用的映像被加載到存儲(chǔ)器中之后實(shí)施的可能動(dòng)作的示例闡釋;[0083]圖63闡釋對(duì)所交換的內(nèi)容惡意攻擊以便注入代碼的附加示例;[0084]圖64是在一部分存儲(chǔ)器已經(jīng)被判斷為惡意的之后的存儲(chǔ)器映射的示例實(shí)施例;以及[0085]圖65是存儲(chǔ)器中的代碼的加載和執(zhí)行的操作系統(tǒng)下層捕獲的方法的示例實(shí)施例。[0086]本發(fā)明的詳細(xì)描述[0087]圖1是用于保護(hù)電子設(shè)備免遭惡意軟件的系統(tǒng)100的示例實(shí)施例。系統(tǒng)100可以包括通信上耦合到已觸發(fā)事件應(yīng)對(duì)程序108的操作系統(tǒng)(“0/S”)下層捕獲代理104。0/S下層捕獲代理104可以被配置為捕獲電子設(shè)備103的資源106的各種已嘗試的訪問。0/S下層捕獲代理104可以被配置為創(chuàng)建與已捕獲的已嘗試訪問相關(guān)聯(lián)的觸發(fā)事件,并把已觸發(fā)事件發(fā)送給觸發(fā)事件應(yīng)對(duì)程序108。觸發(fā)事件應(yīng)對(duì)程序108可以被配置為查閱一個(gè)或多個(gè)安全規(guī)則114或保護(hù)服務(wù)器102,以判斷如何應(yīng)對(duì)該觸發(fā)事件。已觸發(fā)事件應(yīng)對(duì)程序108也可以被配置為評(píng)估已觸發(fā)事件的傾向是惡意軟件或破壞電子設(shè)備103的資源或操作的惡意嘗試的指示。此外,已觸發(fā)事件應(yīng)對(duì)程序108可以被配置為向0/S下層捕獲代理104提供應(yīng)當(dāng)允許還是拒絕已觸發(fā)事件的判斷,或可以被配置為產(chǎn)生另一矯正動(dòng)作。[0088]可以在比電子設(shè)備103中的操作系統(tǒng)較低的功能級(jí)別實(shí)現(xiàn)0/S下層捕獲代理104。例如,0/S下層捕獲代理104可以截取操作系統(tǒng)112、驅(qū)動(dòng)程序111或應(yīng)用110對(duì)資源106的已嘗試訪問。0/S下層捕獲代理104可以無需使用操作系統(tǒng)就運(yùn)行在電子設(shè)備103的處理器上。在一個(gè)實(shí)施例中,0/S下層捕獲代理104可以在裸機(jī)環(huán)境或執(zhí)行級(jí)別上操作。另外,0/S下層捕獲代理104可以運(yùn)行在比電子設(shè)備103的所有操作系統(tǒng)高的執(zhí)行優(yōu)先級(jí)上,如電子設(shè)備103的處理器所定義的。例如,在其中較低的數(shù)字表示較高的優(yōu)先級(jí)的使用保護(hù)環(huán)的分級(jí)保護(hù)域模型的上下文中,操作系統(tǒng)112可以在“O環(huán)(RingO)”操作,同時(shí)0/S下層捕獲代理104可以在“I環(huán)(Ringl)”操作。驅(qū)動(dòng)程序111和應(yīng)用110可以在“O環(huán)”或“3環(huán)(Ring3)”操作。在處理器的一些實(shí)施例中,“I環(huán)”的概念可以被稱為“O環(huán)特權(quán)模式”,且“O環(huán)”的概念可以被稱為“O環(huán)非特權(quán)模式”?!癐環(huán)”或“O環(huán)特權(quán)模式”中的操作可以比“O環(huán)”或“O環(huán)非特權(quán)模式”需要附加的開銷和支出。電子設(shè)備103的操作系統(tǒng)可以在O環(huán)運(yùn)行。[0089]0/S下層捕獲代理104可以對(duì)在O環(huán)或更高的環(huán)運(yùn)行的實(shí)體透明地操作。因而無論Ο/s下層捕獲代理104是否存在都可以由操作系統(tǒng)112或另一實(shí)體以相同的方式請(qǐng)求對(duì)資源106的嘗試訪問。在強(qiáng)加接收到的動(dòng)作時(shí),Ο/S下層捕獲代理104可以允許該請(qǐng)求發(fā)生,可以拒絕該請(qǐng)求,或采取其他矯正動(dòng)作。為了拒絕請(qǐng)求,Ο/S下層捕獲代理104可以簡單地不把請(qǐng)求傳送給資源106或處理器,或可以向該請(qǐng)求提供欺騙的或假的應(yīng)答以便使得操作系統(tǒng)112相信該動(dòng)作已經(jīng)發(fā)生。[0090]通過在“I環(huán)”、在比電子設(shè)備103的相關(guān)操作系統(tǒng)更高的優(yōu)先級(jí)或低于電子設(shè)備103的相關(guān)操作系統(tǒng)運(yùn)行,0/S下層捕獲代理104可以避免困擾諸如操作系統(tǒng)112之類的操作系統(tǒng)的大多數(shù)惡意軟件。惡意軟件可以欺騙在“O環(huán)”運(yùn)行的操作系統(tǒng)112或甚至反惡意軟件的軟件,這是因?yàn)閻阂廛浖部梢栽凇癘環(huán)”優(yōu)先級(jí)運(yùn)行。然而,如果要執(zhí)行惡意活動(dòng),電子設(shè)備103上的惡意軟件必須仍然做出對(duì)資源106的請(qǐng)求。因而,捕獲被鏈接到敏感資源的操作可以由在低于電子設(shè)備103中的操作系統(tǒng)的級(jí)別下運(yùn)行的捕獲代理較好地完成。[0091]可以以任何合適的方式實(shí)現(xiàn)0/S下層捕獲代理104。在一個(gè)實(shí)施例中,可以在虛擬機(jī)監(jiān)視器中實(shí)現(xiàn)0/S下層捕獲代理104。這樣的實(shí)施例可以在低于操作系統(tǒng)的級(jí)別下操作,如對(duì)于0/S下層捕獲代理104所描述的。例如,在下面的圖2中的對(duì)安全虛擬機(jī)監(jiān)視器216的討論中可以找到這樣的實(shí)施例的示例的描述。在另一實(shí)施例中,可以在固件中實(shí)現(xiàn)0/S下層捕獲代理104。這樣的實(shí)施例可以在低于操作系統(tǒng)的級(jí)別下操作,如對(duì)于0/S下層捕獲代理104所描述的。例如,可以在下面的圖4和圖5中對(duì)固件安全代理440、516或PC固件安全代理444的討論中找到這樣的實(shí)施例的示例的描述。在又一個(gè)實(shí)施例中,可以在微代碼中實(shí)現(xiàn)0/S下層捕獲代理104。這樣的實(shí)現(xiàn)可以在低于操作系統(tǒng)的級(jí)別下操作,如對(duì)于0/S下層捕獲代理104所描述的。例如,在下面的圖7中對(duì)微代碼安全代理708的討論中找到這樣的實(shí)施例的示例的描述??梢栽谶@些實(shí)施例的組合中實(shí)現(xiàn)0/S下層捕獲代理104。[0092]已觸發(fā)事件應(yīng)對(duì)程序108可以由通信上耦合在一起的一個(gè)或多個(gè)事件應(yīng)對(duì)程序或安全代理實(shí)現(xiàn)??梢栽谙嗤陌踩碇袑?shí)現(xiàn)已觸發(fā)事件應(yīng)對(duì)程序108和0/S下層捕獲代理104。在一個(gè)實(shí)施例中,已觸發(fā)事件應(yīng)對(duì)程序108可以在與0/S下層捕獲代理相同的優(yōu)先級(jí)環(huán)操作。在另一實(shí)施例中,已觸發(fā)事件應(yīng)對(duì)程序108可以在與操作系統(tǒng)112、驅(qū)動(dòng)程序111或應(yīng)用110相同的優(yōu)先級(jí)操作。在再一個(gè)實(shí)施例中,已觸發(fā)事件應(yīng)對(duì)程序108可以由兩個(gè)或更多個(gè)已觸發(fā)事件應(yīng)對(duì)程序?qū)崿F(xiàn),其中至少一個(gè)已觸發(fā)事件應(yīng)對(duì)程序在與0/S下層捕獲代理相同的優(yōu)先級(jí)環(huán)操作,且至少一個(gè)已觸發(fā)事件應(yīng)對(duì)程序在操作系統(tǒng)112、驅(qū)動(dòng)程序111或應(yīng)用110的級(jí)別操作。通過在0/S下層捕獲代理104的級(jí)別運(yùn)行,已觸發(fā)事件應(yīng)對(duì)程序108可以類似地避免“O環(huán)”或“3環(huán)”惡意軟件感染代理本身的問題。然而,與操作系統(tǒng)112、驅(qū)動(dòng)程序111或應(yīng)用110—起在“O環(huán)”或“3環(huán)”運(yùn)行的已觸發(fā)事件應(yīng)對(duì)程序108可能能夠提供關(guān)于從“I環(huán)”代理的角度來看不可獲得的對(duì)資源106的嘗試訪問的上下文信肩、O[0093]可以以任何合適的方式實(shí)現(xiàn)已觸發(fā)事件應(yīng)對(duì)程序108。在一個(gè)實(shí)施例中,可以在虛擬機(jī)監(jiān)視器或虛擬機(jī)監(jiān)視器安全代理中實(shí)現(xiàn)已觸發(fā)事件應(yīng)對(duì)程序108。這樣的實(shí)施例可以在低于操作系統(tǒng)的級(jí)別下操作,如對(duì)于已觸發(fā)事件應(yīng)對(duì)程序108所描述的。例如,可以在下面的圖2中對(duì)安全虛擬機(jī)監(jiān)視器216或安全虛擬機(jī)監(jiān)視器安全代理217的討論中找到這樣的實(shí)施例的示例的描述。在另一實(shí)施例中,可以完全地或部分地在固件實(shí)現(xiàn)已觸發(fā)事件應(yīng)對(duì)程序108。這樣的實(shí)施例可以在低于操作系統(tǒng)的級(jí)別下操作,如對(duì)于已觸發(fā)事件應(yīng)對(duì)程序108所描述的。例如,可以在下面的圖4和圖5中對(duì)固件安全代理440、516或PC固件安全代理444的討論中找到這樣的實(shí)施例的示例的描述。也可以在圖4中的Ο/S下層代理450中實(shí)現(xiàn)已觸發(fā)事件應(yīng)對(duì)程序108,Ο/S下層代理450本身可以以像虛擬機(jī)監(jiān)視器、固件或微代碼那樣的方式實(shí)現(xiàn)。在又一實(shí)施例中,可以在微代碼中實(shí)現(xiàn)已觸發(fā)事件應(yīng)對(duì)程序108。這樣的實(shí)現(xiàn)可以在低于操作系統(tǒng)的級(jí)別下操作,如對(duì)于已觸發(fā)事件應(yīng)對(duì)程序108所描述的。例如,可以在下面的圖7中對(duì)微代碼安全代理708的討論中找到這樣的實(shí)施例的示例的描述。也可以在圖7的Ο/S下層代理712中實(shí)現(xiàn)已觸發(fā)事件應(yīng)對(duì)程序108,Ο/S下層代理712本身可以以像虛擬機(jī)監(jiān)視器、固件或微代碼那樣的方式實(shí)現(xiàn)。可以在這些實(shí)施例的組合中實(shí)現(xiàn)已觸發(fā)事件應(yīng)對(duì)程序108。[0094]在一個(gè)實(shí)施例中,操作系統(tǒng)下層捕獲代理104和/或已觸發(fā)事件應(yīng)對(duì)程序108可以在電子設(shè)備103的裸機(jī)層操作。操作系統(tǒng)下層捕獲代理104和/或已觸發(fā)事件應(yīng)對(duì)程序108無需使用在它們和它們被配置為保護(hù)的資源106之間的操作系統(tǒng)就可以操作。資源106可以包括處理器、處理器的功能部件、存儲(chǔ)器、諸如數(shù)據(jù)結(jié)構(gòu)之類的駐留在存儲(chǔ)器中的實(shí)體或諸如函數(shù)、進(jìn)程或應(yīng)用之類的駐留在存儲(chǔ)器中以供由處理器執(zhí)行的實(shí)體。操作系統(tǒng)下層捕獲代理104和/或已觸發(fā)事件應(yīng)對(duì)程序108可以直接地在電子設(shè)備103的硬件上操作。操作系統(tǒng)下層捕獲代理104和/或已觸發(fā)事件應(yīng)對(duì)程序108可以不要求使用諸如操作系統(tǒng)112之類的操作系統(tǒng)來執(zhí)行,也不獲得對(duì)資源106的完全訪問。[0095]其他操作系統(tǒng)可以存在于電子設(shè)備103上,這些操作系統(tǒng)不參與在處于操作系統(tǒng)112、操作系統(tǒng)下層捕獲代理104和已觸發(fā)事件應(yīng)對(duì)程序108的級(jí)別的實(shí)體與資源106之間的關(guān)系。例如,預(yù)引導(dǎo)操作系統(tǒng)可以安全地起動(dòng)電子設(shè)備的各部分,但不參與電子設(shè)備在應(yīng)對(duì)來自應(yīng)用110、驅(qū)動(dòng)程序111和操作系統(tǒng)112的對(duì)資源106做出的請(qǐng)求方面的正常操作。在另一示例中,電子設(shè)備103可以包含主板組件、插入式板卡、外圍設(shè)備或其他組件,這些組件包含它們自己的各組操作系統(tǒng)和處理器,以執(zhí)行在處于操作系統(tǒng)112、操作系統(tǒng)下層捕獲代理104和已觸發(fā)事件應(yīng)對(duì)程序108的級(jí)別的實(shí)體與資源106之間的關(guān)系之外的功能。這些操作系統(tǒng)可以被嵌入到操作系統(tǒng)中。這些操作系統(tǒng)中的任何可以不被用來執(zhí)行操作系統(tǒng)下層捕獲代理104和已觸發(fā)事件應(yīng)對(duì)程序108。進(jìn)一步,這些操作系統(tǒng)中的任何可以不訪問受捕獲代理104和已觸發(fā)事件應(yīng)對(duì)程序108保護(hù)的資源106。[0096]系統(tǒng)100可以包括一個(gè)或多個(gè)操作系統(tǒng)下層捕獲代理104和一個(gè)或多個(gè)已觸發(fā)事件應(yīng)對(duì)程序108的任何組合??梢栽趯?duì)下面各圖中的捕獲代理、事件應(yīng)對(duì)程序和安全代理的描述中找到操作系統(tǒng)下層捕獲代理104和已觸發(fā)事件應(yīng)對(duì)程序108的描述。[0097]資源106可以包括電子設(shè)備的任何合適的資源。例如,資源106可以包括寄存器、存儲(chǔ)器、控制器、或I/o設(shè)備。例如,可以在下面的圖2的系統(tǒng)資源214、如圖4中所示出的諸如顯示器430和存儲(chǔ)432之類的組件或圖7的系統(tǒng)資源724的描述中找到資源106的示例實(shí)施例的描述。[0098]安全規(guī)則114可以包括任何合適的規(guī)則、邏輯、命令、指令、標(biāo)志或用于向0/S下層捕獲代理104告知要捕獲什么動(dòng)作或用于告知已觸發(fā)事件應(yīng)對(duì)程序108基于已捕獲動(dòng)作應(yīng)對(duì)事件的其他機(jī)制。已觸發(fā)事件應(yīng)對(duì)程序108可以被配置為向0/S下層捕獲代理提供一個(gè)或多個(gè)安全規(guī)則114。例如,可以在下面的圖2的安全規(guī)則222、圖4的安全規(guī)則422、434、436、438、圖5的安全規(guī)則518、或圖7的安全規(guī)則707、723的描述中找到安全規(guī)則114中的一些或全部的示例實(shí)施例的描述。[0099]可以以任何合適的方式實(shí)現(xiàn)諸如系統(tǒng)100的應(yīng)用110、驅(qū)動(dòng)程序111和操作系統(tǒng)112之類的內(nèi)核模式和用戶模式實(shí)體。例如,可以在下面的圖2的應(yīng)用210、驅(qū)動(dòng)程序211和操作系統(tǒng)212;圖4的應(yīng)用410、驅(qū)動(dòng)程序411和操作系統(tǒng)412;以及圖7的應(yīng)用709、驅(qū)動(dòng)程序711和操作系統(tǒng)713的描述中找到系統(tǒng)100的應(yīng)用110、驅(qū)動(dòng)程序111和操作系統(tǒng)112的示例實(shí)施例的描述。[0100]可以以任何合適的方式實(shí)現(xiàn)電子設(shè)備103,例如計(jì)算機(jī)、個(gè)人數(shù)字助理、電話、移動(dòng)設(shè)備、服務(wù)器或可配置為解釋和/或執(zhí)行程序指令和/或進(jìn)程數(shù)據(jù)的任何其他設(shè)備。例如,可以在圖2的電子設(shè)備204、圖4的電子設(shè)備404或圖7的電子設(shè)備701的討論中找到電子設(shè)備103的示例實(shí)施例的描述。[0101]可以在用于在低于電子設(shè)備103的操作系統(tǒng)的級(jí)別捕獲對(duì)資源的嘗試訪問的任何合適的系統(tǒng)中實(shí)現(xiàn)系統(tǒng)100。也可以在用于通過查詢安全規(guī)則以便判斷嘗試訪問是否惡意來應(yīng)對(duì)嘗試訪問的任何合適裝置中實(shí)現(xiàn)系統(tǒng)100。例如,系統(tǒng)100可以由下面的圖2-圖8中所描述的系統(tǒng)和方法200、300、400、500、600、700和800實(shí)現(xiàn)。[0102]圖2是用于保護(hù)電子設(shè)備免遭惡意軟件的基于虛擬機(jī)監(jiān)視器和基于安全規(guī)則的可配置安全解決方案的系統(tǒng)200的示例實(shí)施例。系統(tǒng)200可以是系統(tǒng)100的示例實(shí)施例,實(shí)現(xiàn)虛擬機(jī)監(jiān)視器中的系統(tǒng)100的某些元素。系統(tǒng)200可以包括受可配置安全解決方案保護(hù)免遭惡意軟件的電子設(shè)備204。系統(tǒng)200的可配置安全解決方案可以包括在所有操作系統(tǒng)下層運(yùn)行的安全代理、安全虛擬機(jī)監(jiān)視器、基于云的安全代理和0/S內(nèi)部行為的安全代理。0/S下層安全代理和安全虛擬機(jī)監(jiān)視器可以被配置為守護(hù)對(duì)電子設(shè)備204的系統(tǒng)資源(包括由0/S內(nèi)部行為安全代理使用的資源)的訪問。0/S下層安全代理可以在安全虛擬機(jī)監(jiān)視器中運(yùn)行。基于云的安全代理可以被配置為向0/S下層安全代理和0/S內(nèi)部行為安全代理提供惡意軟件檢測(cè)信息,并從安全虛擬機(jī)監(jiān)視器和0/S內(nèi)部行為安全代理接收關(guān)于可能與惡意軟件相關(guān)聯(lián)的可疑行為的信息。0/S內(nèi)部行為安全代理可以被配置為掃描電子設(shè)備204以便得到在電子設(shè)備上操作的惡意軟件的痕跡。系統(tǒng)200可以包括一個(gè)或多個(gè)0/S下層安全代理,該一個(gè)或多個(gè)0/S下層安全代理被配置為捕獲對(duì)電子設(shè)備204的資源的訪問的嘗試使用、產(chǎn)生對(duì)應(yīng)于該嘗試的已觸發(fā)事件、查閱關(guān)于已觸發(fā)事件的安全規(guī)則并且如果有必要?jiǎng)t采取關(guān)于該嘗試的矯正動(dòng)作。[0103]在一個(gè)實(shí)施例中,系統(tǒng)200可以包括通信上耦合到一個(gè)或多個(gè)0/S內(nèi)部安全代理218和安全虛擬機(jī)監(jiān)視器(“SVMM”)安全代理217的保護(hù)服務(wù)器202。SVMM安全代理217可以駐留在SVMM216中。SVMM216可以在電子設(shè)備204上駐留并操作。0/S內(nèi)部安全代理218和SVMM安全代理217可以通信上耦合。保護(hù)服務(wù)器202、0/S內(nèi)部安全代理218、SVMM安全代理217和SVMM216可以被配置為保護(hù)電子設(shè)備204免遭惡意軟件的感染。[0104]SVMM安全代理217可以是圖1的已觸發(fā)事件應(yīng)對(duì)程序108的示例實(shí)施例。SVMM216可以是圖1的Ο/s下層捕獲代理104的示例實(shí)施例。[0105]電子設(shè)備204可以包括被耦合到處理器206的存儲(chǔ)器208。電子設(shè)備204可以包括出于任何合適的目的在電子設(shè)備上執(zhí)行的一個(gè)或多個(gè)應(yīng)用210或驅(qū)動(dòng)程序211。電子設(shè)備204可以包括操作系統(tǒng)212。操作系統(tǒng)212可以被配置為向應(yīng)用210或驅(qū)動(dòng)程序211提供對(duì)電子設(shè)備204的系統(tǒng)資源214的訪問。SVMM216可以被配置為截取操作系統(tǒng)212對(duì)系統(tǒng)資源214的這樣的調(diào)用。SVMM216和SVMM安全代理217可以在低于操作系統(tǒng)212的級(jí)別操作。例如,SVMM216和SVMM安全代理217可以直接在處理器206上以諸如“I環(huán)”之類的特權(quán)模式操作。[0106]處理器206可以包括例如微處理器、微控制器、數(shù)字信號(hào)處理器(DSP)、專用集成電路(ASIC)或被配置為解釋和/或執(zhí)行程序指令和/或進(jìn)程數(shù)據(jù)的任何其他數(shù)字電路或模擬電路。在一些實(shí)施例中,處理器206可以解釋和/或執(zhí)行被存儲(chǔ)在存儲(chǔ)器208中的程序指令和/或進(jìn)程數(shù)據(jù)。存儲(chǔ)器208可以部分地或整體地被配置為應(yīng)用存儲(chǔ)器、系統(tǒng)存儲(chǔ)器或兩者。存儲(chǔ)器208可以包括被配置為持有和/或容納一個(gè)或多個(gè)存儲(chǔ)器模塊的任何系統(tǒng)、設(shè)備或裝置;例如,存儲(chǔ)器208可以包括只讀存儲(chǔ)器、隨機(jī)存取存儲(chǔ)器、固態(tài)存儲(chǔ)器、或基于盤的存儲(chǔ)器。每一存儲(chǔ)器模塊可以包括被配置為保留程序指令和/或數(shù)據(jù)一段時(shí)間的任何系統(tǒng)、設(shè)備或裝置(例如,計(jì)算機(jī)可讀的非暫態(tài)介質(zhì))。[0107]保護(hù)服務(wù)器202可以在網(wǎng)絡(luò)244上操作。在網(wǎng)絡(luò)244上操作的保護(hù)服務(wù)器202可以實(shí)現(xiàn)云計(jì)算方案。保護(hù)服務(wù)器202可以被配置為與電子設(shè)備204的元素通信以便更新惡意軟件檢測(cè)規(guī)則和信息。保護(hù)服務(wù)器202可以被配置為接收關(guān)于起源于電子設(shè)備204的可疑活動(dòng)的信息并判斷這樣的可疑活動(dòng)是否惡意軟件感染的指示。操作系統(tǒng)212可以包括一個(gè)或多個(gè)0/S內(nèi)部安全代理218。0/S內(nèi)部安全代理218可以被配置為從保護(hù)服務(wù)器202接收監(jiān)視和檢測(cè)規(guī)則,例如0/S內(nèi)部安全規(guī)則220。0/S內(nèi)部安全代理218可以被配置為使用保護(hù)服務(wù)器202所接收的0/S內(nèi)部安全規(guī)則220來監(jiān)視和防止電子設(shè)備204上的可疑活動(dòng)。0/S內(nèi)部安全代理218可以被配置為向保護(hù)服務(wù)器202報(bào)告所檢測(cè)到的可疑活動(dòng)。0/S內(nèi)部安全代理218可以被配置為阻止惡意軟件操作并向保護(hù)服務(wù)器202報(bào)告這樣的阻止。如果多于一個(gè)的0/S內(nèi)部安全代理218存在于系統(tǒng)200中,則每一0/S內(nèi)部安全代理218可以被配置為執(zhí)行捕獲確證或與0/S內(nèi)部安全代理218相關(guān)聯(lián)的其他任務(wù)的經(jīng)指派部分。這樣的部分可以由操作系統(tǒng)下層安全代理界定。例如,一個(gè)0/S內(nèi)部安全代理218可以確證或調(diào)查MOV指令,同時(shí)另一0/S內(nèi)部安全代理218可以確證或調(diào)查JMP指令。0/S內(nèi)部安全代理218可以被配置為確定存儲(chǔ)器中特定頁面的生命周期。例如,0/S內(nèi)部安全代理218可以知道通常由操作系統(tǒng)212用來分配存儲(chǔ)器的頁面的進(jìn)程和步驟。類似地,0/S內(nèi)部安全代理218可以知道通常由操作系統(tǒng)212用來把應(yīng)用的映像加載到其加載器中的進(jìn)程和步驟。這樣的進(jìn)程可以遵循靜態(tài)的操作模式。因而,0/S內(nèi)部安全代理218可以被配置為跟蹤操作系統(tǒng)212的操作以便判斷對(duì)于給定動(dòng)作標(biāo)準(zhǔn)過程是否得到遵循。0/S內(nèi)部安全代理218可以與SVMM安全代理217通信以便判斷SVMM安全代理217所捕獲的操作是否產(chǎn)生0/S內(nèi)部安全代理218所觀察到的相應(yīng)預(yù)期動(dòng)作。矛盾可以指示惡意軟件已經(jīng)嘗試執(zhí)行在操作系統(tǒng)212的正常操作之外的系統(tǒng)功能。因而,例如0/S內(nèi)部安全代理218和SVMM安全代理217可以判斷可疑的頁面是直接由惡意軟件加載到存儲(chǔ)器中還是由操作系統(tǒng)加載器加載。這樣的行為可以引起0/S內(nèi)部安全代理218或SVMM安全代理217向保護(hù)服務(wù)器202報(bào)告信息,采用更主動(dòng)的捕獲和檢查,或采取任何其他矯正措施。[0108]在一個(gè)實(shí)施例中,0/S內(nèi)部安全代理219可以被配置為通過把自身嵌入在操作系統(tǒng)212內(nèi)來提供上下文信息。例如,0/S內(nèi)部安全代理219可以被配置為把自身或子部件寄存為驅(qū)動(dòng)程序過濾器,并把自身附接到主驅(qū)動(dòng)程序,以判斷驅(qū)動(dòng)程序看到或看不到什么。通過作為對(duì)NDIS.SYS的過濾器而附接,例如,Ο/S內(nèi)部安全代理219可以被配置為報(bào)告操作系統(tǒng)212驅(qū)動(dòng)程序所看見的文件I/O操作。[0109]在另一實(shí)施例中,0/S內(nèi)部安全代理219可以被配置為向SVMM安全代理216或其他Ο/s下層安全代理提供從操作系統(tǒng)219內(nèi)觀察到的這樣的信息,以供與在操作系統(tǒng)下觀察到的信息進(jìn)行比較。在兩組信息之間的矛盾可以指示嘗試隱藏自身的惡意軟件的存在。例如,0/S內(nèi)部安全代理219可以鉤住或過濾NDIS.SYS,并監(jiān)視對(duì)特定文件的文件寫入。SVMM安全代理216可以監(jiān)視輸入和輸出命令。如果SVMM安全代理216基于由0/S內(nèi)部安全代理219看見的函數(shù)調(diào)用列表確定比應(yīng)該已經(jīng)看見的更多的寫入,那么,惡意軟件可能在由操作系統(tǒng)212提供的函數(shù)外暗中寫入到磁盤。[0110]可以以用于通信的任何合適的網(wǎng)絡(luò)實(shí)現(xiàn)網(wǎng)絡(luò)244,這樣的網(wǎng)絡(luò)諸如:因特網(wǎng)、內(nèi)聯(lián)網(wǎng)、廣域網(wǎng)、局域網(wǎng)、回程網(wǎng)(back-haul-network)、對(duì)等網(wǎng)或其任何組合。保護(hù)服務(wù)器202可以使用從在各種電子設(shè)備204上運(yùn)行的各種安全代理218提交的報(bào)告通過應(yīng)用流行程度和口碑分析邏輯來進(jìn)一步檢測(cè)惡意軟件。例如,可以把在電子設(shè)備204上所標(biāo)識(shí)的可疑行為綜合到規(guī)則中,供保護(hù)服務(wù)器202主動(dòng)保護(hù)其他電子設(shè)備204。例如,基于可疑驅(qū)動(dòng)程序已被報(bào)告的次數(shù),可以確定這樣的規(guī)則。例如,具有窄的或緩慢的分布模式的未知驅(qū)動(dòng)程序可能與惡意軟件相關(guān)聯(lián)。另一方面,具有寬的和快速的分布的未知驅(qū)動(dòng)程序可能與流行的和廣泛可獲得的應(yīng)用的補(bǔ)丁相關(guān)聯(lián)。在另一示例中,這樣的檢測(cè)到的驅(qū)動(dòng)程序可能已經(jīng)被在另一電子設(shè)備上運(yùn)行的安全軟件判斷為已經(jīng)訪問宿主惡意軟件已知的網(wǎng)站。這樣的驅(qū)動(dòng)程序可以被判斷為與惡意軟件相關(guān)聯(lián)。[0111]SVMM216可以實(shí)現(xiàn)系統(tǒng)200的安全虛擬機(jī)監(jiān)視函數(shù)中的一些或全部。SVMM216可以被配置為截取在電子設(shè)備上運(yùn)行的一個(gè)或多個(gè)操作系統(tǒng)對(duì)諸如寄存器、存儲(chǔ)器或I/o設(shè)備之類的系統(tǒng)資源的訪問??梢允褂肧VMM216或被配置為根據(jù)本公開內(nèi)容的教導(dǎo)保護(hù)電子設(shè)備204的任何其他虛擬機(jī)監(jiān)視器來實(shí)現(xiàn)系統(tǒng)200的安全虛擬機(jī)監(jiān)視函數(shù)。SVMM216可以被配置為控制和過濾在操作系統(tǒng)212代表自身或代表在操作系統(tǒng)212上運(yùn)行的應(yīng)用210嘗試訪問系統(tǒng)資源214的同時(shí)由操作系統(tǒng)212采取的動(dòng)作。SVMM216可以在電子設(shè)備204上的操作系統(tǒng)212下運(yùn)行且可以具有對(duì)操作系統(tǒng)212和應(yīng)用210或驅(qū)動(dòng)程序211可用的一些或全部處理器資源的控制權(quán)。應(yīng)用210可以包括適合在電子設(shè)備204上運(yùn)行的任何應(yīng)用。驅(qū)動(dòng)程序211可以包括適合在電子設(shè)備204上運(yùn)行的任何驅(qū)動(dòng)程序??捎糜谟蒘VMM216控制的處理器資源可以包括被指派為用于虛擬化的那些資源。在一個(gè)實(shí)施例中,SVMM216可以被配置為虛擬化系統(tǒng)資源214以供由操作系統(tǒng)212、應(yīng)用210或驅(qū)動(dòng)程序211訪問。僅作為示例,這樣的系統(tǒng)資源214可以包括輸入-輸出設(shè)備226、系統(tǒng)存儲(chǔ)器228或處理器資源230。僅作為示例,處理器資源230可以包括常規(guī)寄存器232、調(diào)試寄存器234、存儲(chǔ)器分段236、存儲(chǔ)器分頁238、中斷240或標(biāo)志242。I/O設(shè)備226可以包括對(duì)諸如鍵盤、顯示器、鼠標(biāo)或網(wǎng)卡之類的此類設(shè)備的訪問。[0112]SVMM216可以被配置為捕獲起源于操作系統(tǒng)212以便訪問系統(tǒng)資源214的操作的執(zhí)行。SVMM216可以包括被配置為捕獲對(duì)系統(tǒng)資源214的特定的嘗試訪問的控制結(jié)構(gòu)??梢允褂萌魏魏线m的控制結(jié)構(gòu)。在一個(gè)實(shí)施例中,這樣的控制結(jié)構(gòu)可以包括虛擬機(jī)控制結(jié)構(gòu)(“VMCS”)221。SVMM216可以被配置為通過操縱在VMCS221內(nèi)的標(biāo)志捕獲這樣的執(zhí)行。SVMM216可以被配置為捕獲涉及對(duì)系統(tǒng)資源214的訪問的操作系統(tǒng)212、應(yīng)用210或驅(qū)動(dòng)程序211的任何合適的操作。這樣的所捕獲的操作可以包括,例如:讀取、寫入和執(zhí)行系統(tǒng)存儲(chǔ)器228中的存儲(chǔ)器的特定頁面;從處理器寄存器230加載值和向其中存儲(chǔ)值;或從I/O設(shè)備226讀取和向其寫入。任何這樣的操作可以引起虛擬機(jī)退出(“VMExit”),這可以由SVMM216捕獲。SVMM216可以被配置為捕獲中斷240的產(chǎn)生,中斷240可以由處理器208產(chǎn)生或由操作系統(tǒng)212的元素發(fā)起。SVMM216可以被配置為通過捕獲IN(輸入)和OUT(輸出)指令來捕獲從I/O設(shè)備226嘗試讀取和向其寫入。SVMM可以被配置為通過捕獲對(duì)例如虛擬化技術(shù)直接I/O(VirtualizationTechnologyDirectedI/O,“VTd”)的機(jī)制的訪問來捕獲這樣的指令。VTd可以根據(jù)處理器208允許I/O設(shè)備虛擬化。通過訪問VTd設(shè)施,SVMM安全代理217可以被配置為確定由VTd連接的設(shè)備、確定來自操作系統(tǒng)212的元信息、I/O設(shè)備上的端口或其他合適的信息。SVMM安全代理217可以被配置為控制或捕獲這樣的虛擬化設(shè)備訪問的操作。例如,SVMM安全代理217可以被配置為確定包含給予可編程I/O端口的I/O指派的I/O權(quán)限映射。SVMM安全代理217可以被配置為捕獲可能由惡意軟件做出的對(duì)這樣的權(quán)限映射的訪問,或使用這樣的權(quán)限映射來判斷操作系統(tǒng)212上的實(shí)體和I/O設(shè)備的請(qǐng)求的關(guān)系。[0113]在一個(gè)實(shí)施例中,SVMM安全代理217可以在SVMM216中操作。在另一實(shí)施例中,SVMM安全代理217可以在SVMM216外操作,但可以通信上耦合到SVMM216。在這樣的實(shí)施例中,SVMM安全代理217可以在低于諸如操作系統(tǒng)212之類的電子設(shè)備204的操作系統(tǒng)的級(jí)別下操作。SVMM安全代理217可以在與SVMM216相同的級(jí)別和/或相同的優(yōu)先級(jí)操作。SVMM安全代理217可以被配置為應(yīng)對(duì)由SVMM216觸發(fā)或捕獲的事件。SVMM安全代理217可以被配置為在低于操作系統(tǒng)212的級(jí)別下訪問存儲(chǔ)器228或盤的內(nèi)容,以便檢查內(nèi)容免受內(nèi)核級(jí)別rootkit的干擾。此外,SVMM安全代理217的一些操作可以由SVMM216實(shí)現(xiàn),且SVMM216的一些操作可以由SVMM安全代理217實(shí)現(xiàn)。[0114]在關(guān)于什么動(dòng)作將引起捕獲或觸發(fā)的方面,SVMM安全代理217可以被配置為設(shè)定SVMM216的操作。在一個(gè)實(shí)施例中,SVMM216可以被配置為把已捕獲動(dòng)作的檢測(cè)傳輸給SVMM安全代理217。SVMM安全代理217可以被配置為查閱安全規(guī)則222以便判斷該已捕獲動(dòng)作是否指示惡意軟件或惡意活動(dòng),并且基于安全規(guī)則222可以把關(guān)于采取什么隨后動(dòng)作的指示提供給SVMM216ο這樣的隨后動(dòng)作可以包括允許已嘗試的動(dòng)作、不允許已嘗試的動(dòng)作或采取其他矯正步驟。[0115]可以通過由0/S內(nèi)部安全代理218收集的信息來協(xié)調(diào)SVMM216和SVMM安全代理217捕獲對(duì)系統(tǒng)資源214的已嘗試的訪問和執(zhí)行的操作。0/S內(nèi)部安全代理218可以被配置為把上下文提供給SVMM216和SVMM安全代理217的捕獲和應(yīng)對(duì)操作。例如,特定的操作系統(tǒng)數(shù)據(jù)結(jié)構(gòu)正常情況下只由特定的應(yīng)用或服務(wù)寫入。0/S內(nèi)部安全代理218可以確定什么應(yīng)用或進(jìn)程當(dāng)前在操作系統(tǒng)212上可見地運(yùn)行并把該信息傳輸給SVMM安全代理217。如果特定的應(yīng)用或服務(wù)不被列出為可見地運(yùn)行,那么,對(duì)數(shù)據(jù)結(jié)構(gòu)的嘗試寫入可能來自未經(jīng)授權(quán)的應(yīng)用或進(jìn)程。[0116]0/S內(nèi)部安全代理218可以被配置為經(jīng)由超級(jí)調(diào)用與SVMM216和/或SVMM安全代理217通信。超級(jí)調(diào)用可以被實(shí)現(xiàn)為帶有定義可以使用的可用請(qǐng)求的描述符表以及關(guān)聯(lián)的輸入和輸出參數(shù)。這樣的描述符表可以定義可能用于Ο/s內(nèi)部安全代理218與SVMM216和/或SVMM安全代理217通信的一個(gè)或多個(gè)請(qǐng)求。這樣的描述符表也可以定義這樣的請(qǐng)求的輸入和輸出參數(shù)可以位于存儲(chǔ)器中的何處。[0117]0/S內(nèi)部安全代理218、SVMM安全代理217和保護(hù)服務(wù)器202可以被配置為相互認(rèn)證。安全代理212、SVMM安全代理217和保護(hù)服務(wù)器202中的每一個(gè)可以被配置為不繼續(xù)相互通信,除非各實(shí)體中的每一個(gè)都經(jīng)過認(rèn)證。SVMM216可以被配置為把0/S內(nèi)部安全代理218映像定位在存儲(chǔ)器206中,并使用密碼簽名算法來驗(yàn)證存儲(chǔ)器206中的0/S內(nèi)部安全代理218映像。在保護(hù)服務(wù)器202、0/S內(nèi)部安全代理218和SVMM安全代理217之間的認(rèn)證可以使用任何合適的方法,包括密碼散列和/或簽名算法。在一個(gè)實(shí)施例中,這樣的認(rèn)證可以涉及私有密鑰的交換。0/S內(nèi)部安全代理218可以被配置為從保護(hù)服務(wù)器202接收密鑰以便驗(yàn)證SVMM安全代理217的實(shí)例。[0118]0/S內(nèi)部安全代理218可以具有關(guān)于操作系統(tǒng)212的操作的上下文信息。0/S內(nèi)部安全代理218可以被配置為與SVMM安全代理217通信以提供這樣的上下文信息。SVMM安全代理217可以指示SVMM216例如如何定義存儲(chǔ)器的某些頁面或捕獲哪些寄存器。[0119]SVMM216可以被配置為捕獲由SVMM安全代理217界定的對(duì)系統(tǒng)資源214的訪問嘗試。例如,為了捕獲存儲(chǔ)器訪問,SVMM216可以被配置為捕獲諸如讀、寫或執(zhí)行之類的操作。為了捕獲對(duì)處理器寄存器230的訪問,SVMM216可以被指示為捕獲包括加載、存儲(chǔ)或讀取寄存器值的操作。為了捕獲I/O操作,I/O設(shè)備226、SVMM216可以被指示捕獲諸如對(duì)鍵盤、鼠標(biāo)或其他外圍設(shè)備的輸入或輸出之類的操作。與操作系統(tǒng)內(nèi)部安全代理聯(lián)合,下面各圖中的SVMM安全代理217和/或其他操作系統(tǒng)下層安全代理可以被配置為對(duì)于I/O操作確定目標(biāo)I/O設(shè)備226的身份、要在I/O設(shè)備226上執(zhí)行的目標(biāo)操作和要傳輸?shù)臄?shù)據(jù)。[0120]SVMM安全代理217可以被配置為確定上下文信息,例如操作系統(tǒng)212的什么實(shí)體已經(jīng)嘗試訪問電子設(shè)備204的資源,或者資源可以屬于操作系統(tǒng)212的什么實(shí)體。SVMM安全代理217可以被配置為通過任何合適的方法做出這樣的判定。在一個(gè)實(shí)施例中,SVMM安全代理217可以被配置為從操作系統(tǒng)內(nèi)部安全代理218訪問這樣的判定的上下文信息。在另一實(shí)施例中,SVMM安全代理217可以被配置為直接地或間接地訪問操作系統(tǒng)212的調(diào)用棧區(qū)和/或處理器208的執(zhí)行棧區(qū),以判斷由操作系統(tǒng)212的不同進(jìn)程或應(yīng)用的調(diào)用次序。執(zhí)打指令指針可以指向引起觸發(fā)器的指令,冋時(shí)執(zhí)彳丁找區(qū)指針和執(zhí)彳丁基址指針可以指向找區(qū)幀。通過棧區(qū)穿行執(zhí)行基址指針,可以標(biāo)識(shí)先前的函數(shù)調(diào)用,為即將到來的操作提供上下文。這樣的棧區(qū)可以指示已嘗試的操作以及源存儲(chǔ)器位置。在又一實(shí)施例中,SVMM安全代理217可以被配置為結(jié)合安全規(guī)則222使用存儲(chǔ)器映射來判斷嘗試是否惡意或指示惡意軟件。例如,給定已嘗試的訪問的存儲(chǔ)器位置,這樣的存儲(chǔ)器映射可以指示做出對(duì)資源的嘗試訪問的實(shí)體。例如,在虛擬存儲(chǔ)器頁面標(biāo)識(shí)符和/或物理存儲(chǔ)器地址中,可以定義這樣的存儲(chǔ)器映射。在另一示例中,這樣的存儲(chǔ)器映射可以指示對(duì)應(yīng)于該嘗試的目標(biāo)的存儲(chǔ)器位置的實(shí)體。使用存儲(chǔ)器映射,SVMM安全代理217可以被配置為確定已嘗試的訪問的源和目標(biāo)的身份或其實(shí)體所有者。在下面各圖中,結(jié)合操作系統(tǒng)內(nèi)部安全代理,通過監(jiān)視系統(tǒng)的執(zhí)行,可以部分地由SVMM安全代理217或其他0/S下層安全代理創(chuàng)建存儲(chǔ)器映射。結(jié)合操作系統(tǒng)內(nèi)部安全代理,下面各圖中的SVMM安全代理217和/或其他操作系統(tǒng)下層安全代理可以為給定的存儲(chǔ)器頁面或物理地址判斷這樣的位置是否屬于特定的代碼部分或數(shù)據(jù)部分;它屬于哪些模塊、進(jìn)程、應(yīng)用、映像或其他實(shí)體;或者它是否與用戶模式或內(nèi)核模式條目相關(guān)聯(lián)。結(jié)合操作系統(tǒng)內(nèi)部安全代理,下面各圖中的SVMM安全代理217和/或其他操作系統(tǒng)下層安全代理可以為虛擬存儲(chǔ)器和物理存儲(chǔ)器的映射確定指示在電子設(shè)備204上運(yùn)行的各種實(shí)體的標(biāo)識(shí)、位置和權(quán)限的元數(shù)據(jù)。類似地,下面各圖中的SVMM安全代理217和/或其他操作系統(tǒng)下層安全代理可以使用大容量存儲(chǔ)設(shè)備中的扇區(qū)的映射來判斷這樣的實(shí)體的映像在大容量存儲(chǔ)設(shè)備中的位置。結(jié)合操作系統(tǒng)內(nèi)部安全代理,下面各圖中的SVMM安全代理217和/或其他操作系統(tǒng)下層安全代理可以為給定的實(shí)體確定它們可以駐留在上面的扇區(qū)、文件、目錄和卷。[0121]SVMM安全代理217可以被配置為分配存儲(chǔ)器,例如0/S內(nèi)部安全代理218、SVMM安全代理217和SVMM216的操作所要求的系統(tǒng)存儲(chǔ)器228。SVMM安全代理217可以被配置為請(qǐng)求SVMM216確保這樣的已分配存儲(chǔ)器免遭未經(jīng)授權(quán)的讀和寫操作。SVMM216可以被配置為在建立了存儲(chǔ)器的保護(hù)之后初始化已分配存儲(chǔ)器,以便消除惡意軟件在由0/S內(nèi)部安全代理218分配存儲(chǔ)器和由SVMM216建立保護(hù)的時(shí)間之間添加惡意代碼的機(jī)會(huì)。[0122]SVMM安全代理217可以被配置為與保護(hù)服務(wù)器202通信以便安全地接收SVMM安全規(guī)則222。SVMM安全規(guī)則222可以包括指令、邏輯、規(guī)則、共享庫、函數(shù)、模塊或用于指示SVMM216采用什么安全政策的任何其他合適的機(jī)制。SVMM安全代理217可以被配置為向保護(hù)服務(wù)器202傳輸關(guān)于來自電子設(shè)備204的可疑活動(dòng)和已檢測(cè)的惡意軟件的信息。[0123]0/S內(nèi)部安全代理218可以被配置為與保護(hù)服務(wù)器202通信以便接收0/S內(nèi)部安全規(guī)則220。0/S內(nèi)部安全規(guī)則220可以包括指令、邏輯、規(guī)則、共享庫、函數(shù)、模塊或供0/S內(nèi)部安全代理218檢測(cè)電子設(shè)備204上的惡意軟件的任何其他合適的機(jī)制。0/S內(nèi)部安全代理218可以被配置為向保護(hù)服務(wù)器202傳輸關(guān)于電子設(shè)備204上的可疑活動(dòng)和已檢測(cè)惡意軟件的信息。[0124]0/S內(nèi)部安全規(guī)則220和SVMM安全規(guī)則222均可以包括用于保護(hù)電子設(shè)備204免受惡意軟件感染且用于檢測(cè)可能包括惡意軟件的可疑活動(dòng)的保護(hù)規(guī)則。Ο/s內(nèi)部安全代理安全規(guī)則可以包含可由Ο/s內(nèi)部安全代理218執(zhí)行且在0/S內(nèi)部安全代理218內(nèi)的規(guī)則。SVMM安全規(guī)則222可以包含可由SVMM216和/或SVMM安全代理217執(zhí)行且在SVMM216和/或SVMM安全代理217內(nèi)的規(guī)則。[0125]SVMM安全規(guī)則222可以被配置為向SVMM安全代理217提供帶有如何觀察和檢測(cè)電子設(shè)備204的惡意軟件感染的定義的信息。例如,SVMM安全規(guī)則222可以包括來自諸如應(yīng)用210或驅(qū)動(dòng)程序211之類的實(shí)體的什么類型的函數(shù)調(diào)用或行為的分類,SVMM安全代理217可以監(jiān)視這些函數(shù)調(diào)用或行為以便得到惡意軟件的指示。作為另一示例,SVMM安全規(guī)則222可以包括SVMM安全代理217如何處理這樣的已觸發(fā)函數(shù)調(diào)用的定義,包括使用什么參數(shù)、如何從這樣的調(diào)用提取值或者如何確證這樣的調(diào)用的操作。此外,SVMM安全規(guī)則222可以包括用于SVMM內(nèi)部安全代理217的關(guān)于如何監(jiān)視諸如應(yīng)用210或驅(qū)動(dòng)程序211之類的電子設(shè)備的實(shí)體的行為的信息,以及這樣的行為的檢測(cè)規(guī)則的例外。作為又一示例,SVMM安全規(guī)則222可以包括用于SVMM安全代理217的關(guān)于如何防止和修復(fù)通過這樣的行為的檢測(cè)規(guī)則檢測(cè)到的惡意行為的信息。SVMM安全規(guī)則222可以包括SVMM安全代理217應(yīng)監(jiān)視、收集什么數(shù)據(jù)并將其發(fā)送到保護(hù)服務(wù)器202的細(xì)節(jié)。[0126]類似地,0/S內(nèi)部安全規(guī)則220可以被配置為向0/S內(nèi)部安全代理218提供帶有如何觀察和檢測(cè)電子設(shè)備204的惡意軟件感染的定義以及如何與SVMM安全代理217協(xié)調(diào)這樣的活動(dòng)的信息。[0127]SVMM安全規(guī)則222也可以包括關(guān)于SVMM216將捕獲的什么動(dòng)作的規(guī)則。SVMM安全代理217可以被配置為把這樣的規(guī)則應(yīng)用到SVMM216。例如,SVMM安全代理217可以被配置為轉(zhuǎn)換要被捕獲到存儲(chǔ)器的可識(shí)別的虛擬或物理頁面中的函數(shù)的地址、創(chuàng)建SVMM216捕獲這樣的頁面的執(zhí)行的請(qǐng)求以及隨后在捕獲該執(zhí)行之后調(diào)用安全代理217。SVMM安全代理217可以被配置為通過其與SVMM216的接口接收SVMM安全規(guī)則222。這樣的接口可以包括基于超級(jí)調(diào)用的接口。SVMM安全代理217可以被配置為通過相同的基于超級(jí)調(diào)用的接口把任何得到的檢測(cè)或報(bào)告推送給SVMM216。[0128]在一個(gè)實(shí)施例中,SVMM216可以被配置為無需查詢SVMM安全代理217就處理已觸發(fā)動(dòng)作。在這樣的實(shí)施例中,SVMM216可以被配置為安裝在SVMM216內(nèi)處理的附加觸發(fā)器,該觸發(fā)器可以不被傳送給SVMM安全代理217。這樣的附加觸發(fā)器可以由SVMM安全規(guī)則222界定。在一個(gè)實(shí)施例中,SVMM安全規(guī)則222可以定義用于SVMM216的存儲(chǔ)器頁面掃描規(guī)貝U。這樣的規(guī)則可以包括哪些是惡意的且不應(yīng)允許駐留在存儲(chǔ)器中的實(shí)體或修正的列表。這樣的規(guī)則也可以包括白名單,被配置為包括專門允許存在于系統(tǒng)存儲(chǔ)器228內(nèi)的頁面的列表。在另一實(shí)施例中,SVMM安全規(guī)則222可以定義SVMM216存儲(chǔ)器頁面訪問規(guī)則。這樣的規(guī)則可以包括允許什么代碼頁面或相反地禁止訪問給定代碼或數(shù)據(jù)頁面的定義。因此,SVMM安全規(guī)則222可以被配置為指示SVMM216按照存儲(chǔ)器掃描器動(dòng)作,和/或控制對(duì)存儲(chǔ)器頁面的訪問。[0129]SVMM216可以被配置為通過阻止對(duì)系統(tǒng)資源214中它們各自的代碼和數(shù)據(jù)頁面的未經(jīng)授權(quán)的讀訪問和寫訪問來保護(hù)SVMM安全代理217、SVMM216和0/S內(nèi)部安全代理218。例如,如果應(yīng)用210或驅(qū)動(dòng)程序211做出對(duì)系統(tǒng)存儲(chǔ)器228、處理器寄存器230或I/O設(shè)備226中的一部分的、將引起影響SVMM安全代理217、SVMM216和0/S內(nèi)部安全代理218的完整性或操作的請(qǐng)求,那么,SVMM216可以被配置為截取這樣的嘗試請(qǐng)求,且隨后重新路由該請(qǐng)求、拒絕它或采取其他適當(dāng)?shù)膭?dòng)作。在另一示例中,SVMM216可以被配置為授權(quán)對(duì)系統(tǒng)存儲(chǔ)器228、處理器寄存器230或I/O設(shè)備226的一部分的讀取訪問,這些讀取訪問影響SVMM安全代理217、SVMM216和用于諸如SVMM安全代理217本身之類的存儲(chǔ)器安全軟件應(yīng)用或其他相應(yīng)的或附屬的程序的0/S內(nèi)部安全代理218。這樣的授權(quán)可以在SVMM安全規(guī)則222內(nèi)定義,SVMM安全規(guī)則222可以定義SVMM216如何應(yīng)對(duì)對(duì)諸如系統(tǒng)存儲(chǔ)器228之類的系統(tǒng)資源214的訪問。在一個(gè)實(shí)施例中,SVMM安全規(guī)則222可以包括可信安全程序的白名單,該白名單可以包括SVMM安全代理217。[0130]為了與保護(hù)服務(wù)器202通信,SVMM216可以包括受保護(hù)網(wǎng)絡(luò)接口224。受保護(hù)網(wǎng)絡(luò)接口224可以被配置為提供在諸如保護(hù)服務(wù)器202之類的網(wǎng)絡(luò)服務(wù)器和諸如SVMM216或SVMM安全代理217之類的電子設(shè)備204的元素之間的安全訪問。SVMM216可以包括可以實(shí)現(xiàn)受保護(hù)網(wǎng)絡(luò)接口224的邏輯TCP/IP驅(qū)動(dòng)程序或其他通信接口。保護(hù)服務(wù)器202可以被配置為經(jīng)由受保護(hù)網(wǎng)絡(luò)接口224通信以便指示SVMM216或SVMM安全代理217更新自身,并且提供諸如SVMM安全規(guī)則222或0/S內(nèi)部安全規(guī)則220之類的保護(hù)規(guī)則。保護(hù)服務(wù)器202可以被配置為遞送用于特定電子設(shè)備204或特定SVMM216的自定義規(guī)則。這樣的定制可以包括電子設(shè)備204上已經(jīng)報(bào)告的惡意活動(dòng)的類型以及在電子設(shè)備204內(nèi)的諸如抗病毒程序、防火墻或其他保護(hù)機(jī)制之類的其他保護(hù)機(jī)制。在一個(gè)實(shí)施例中,保護(hù)服務(wù)器202可以由電子設(shè)備204的管理員例如在本地網(wǎng)絡(luò)上操作。在這樣的情況中,管理員可以由從保護(hù)服務(wù)器202接收到的規(guī)則實(shí)現(xiàn)的、用于應(yīng)對(duì)可疑行為的設(shè)置全局或個(gè)性化政策。SVMM216可以包括告知SVMM216或SVMM安全代理217如何通過經(jīng)由保護(hù)服務(wù)器202安全遞送的新映像來更新自身的更新引擎。[0131]0/S內(nèi)部安全規(guī)則220和SVMM安全規(guī)則222均可以被配置為請(qǐng)求把電子設(shè)備204上的特定的所觀察到的動(dòng)作或操作或者各類所觀察到的動(dòng)作或操作傳送給保護(hù)服務(wù)器202。因此,保護(hù)服務(wù)器可以在允許動(dòng)作在電子設(shè)備204上進(jìn)行之前檢查和驗(yàn)證觀察結(jié)果。保護(hù)服務(wù)器202可以被配置為接受這樣的動(dòng)作以便同步地或異步地檢查。在一個(gè)實(shí)施例中,0/S內(nèi)部安全代理218可以被配置為把有問題的活動(dòng)、代碼或數(shù)據(jù)的片段或動(dòng)作傳送給SVMM216以供由保護(hù)服務(wù)器202驗(yàn)證。例如,0/S內(nèi)部安全代理218可以通過檢測(cè)在存儲(chǔ)器內(nèi)加載的未簽名驅(qū)動(dòng)程序來檢測(cè)可疑的惡意軟件實(shí)例。SVMM216可以從0/S內(nèi)部安全代理218接收關(guān)于可疑軟件的信息,且可以把它提供給保護(hù)服務(wù)器202。[0132]SVMM安全規(guī)則222可以被配置為允許或拒絕對(duì)電子設(shè)備的任何合適的系統(tǒng)資源的訪問。可用于被監(jiān)視的這樣的資源可以取決于由處理器206公開的資源。例如,在一個(gè)實(shí)施例中,SVMM安全規(guī)則222可以被配置為允許SVMM216限定對(duì)系統(tǒng)存儲(chǔ)器228、1/0設(shè)備226和中斷140的訪問。這樣的限制可以防止對(duì)諸如鍵盤、顯示器或可移動(dòng)盤之類的I/O設(shè)備的未經(jīng)授權(quán)的訪問。在另一實(shí)施例中,SVMM安全規(guī)則222可以被配置為允許SVMM216限定對(duì)中斷描述符表?xiàng)l目的訪問,包括諸如中斷240之類的在處理器寄存器中的條目。在又一實(shí)施例中,SVMM安全規(guī)則222可以被配置為允許SVMM216限定對(duì)擴(kuò)展頁面表(“EPT”)或應(yīng)對(duì)虛擬存儲(chǔ)器(從客戶操作系統(tǒng)的角度來看是真實(shí)存儲(chǔ)器)到宿主物理存儲(chǔ)器的映射任何其他機(jī)制的訪問。[0133]如果除了處理器208之外電子設(shè)備204還包含支持虛擬化的一個(gè)或多個(gè)處理器,則SVMM216或SVMM216的另一實(shí)例可以被配置為截取對(duì)訪問這樣的其他處理器的虛擬化資源的嘗試。如果電子設(shè)備204包含例如包含處理器208的四核處理器,則四核處理器的資源可受SVMM216保護(hù)。如果一個(gè)或多個(gè)其他處理器不支持虛擬化,則SVMM216不可以保護(hù)對(duì)它們的資源的訪問。如果一個(gè)或多個(gè)其他處理器支持與處理器208不同的虛擬化技術(shù),則SVMM216可以被配置為保護(hù)對(duì)它們的資源的訪問,但是以不同于保護(hù)處理器208的方式,這是由于虛擬化資源的方式不同。[0134]在操作中,保護(hù)服務(wù)器可以在網(wǎng)絡(luò)244上運(yùn)行。通過掃描電子設(shè)備204以便發(fā)現(xiàn)惡意軟件,觀察諸如電子設(shè)備204上的應(yīng)用210和驅(qū)動(dòng)程序211之類的實(shí)體的行為以便發(fā)現(xiàn)可疑行為,并通過修復(fù)所找到的任何這樣的感染,0/S內(nèi)部安全代理218可以在電子設(shè)備204上運(yùn)行以便保護(hù)電子設(shè)備204免受惡意軟件感染。0/S內(nèi)部安全代理218可以運(yùn)行在與操作系統(tǒng)212相同的優(yōu)先級(jí)或級(jí)別,且可以運(yùn)行在操作系統(tǒng)212中。SVMM216可以在電子設(shè)備204上操作以便通過捕獲對(duì)電子設(shè)備204的系統(tǒng)資源的已嘗試的訪問來保護(hù)電子設(shè)備204免受惡意軟件感染。SVMM安全代理217可以運(yùn)行在電子設(shè)備204或另一合適的電子設(shè)備上,以便設(shè)置SVMM216的捕獲操作并應(yīng)對(duì)所捕獲的對(duì)系統(tǒng)資源的嘗試訪問中的一些或全部。SVMM216和SVMM安全代理217可以運(yùn)行在低于具有優(yōu)先級(jí)“I環(huán)”的操作系統(tǒng)212之下。SVMM安全代理217可以在SVMM216上運(yùn)行。[0135]保護(hù)服務(wù)器202可以把諸如SVMM安全規(guī)則222和0/S內(nèi)部安全規(guī)則220之類的安全規(guī)則發(fā)送到電子設(shè)備204。這樣的規(guī)則可以由SVMM安全代理217接收,這可以把0/S內(nèi)部安全規(guī)則220提供給SVMM216。這樣的規(guī)則可以由Ο/S內(nèi)部安全代理218接收。[0136]保護(hù)服務(wù)器202、安全代理218和SVMM安全代理217均可以相互認(rèn)證。SVMM安全代理217可以在存儲(chǔ)器中定位安全代理218的映像,并使用密碼簽名算法來驗(yàn)證駐留在存儲(chǔ)器中的安全代理218的映像。保護(hù)服務(wù)器202和SVMM安全代理217可以使用密碼散列和簽名算法以便正確的相互標(biāo)識(shí)來相互認(rèn)證。SVMM安全代理217和保護(hù)服務(wù)器202也可以交換私有密鑰以便認(rèn)證相互的身份。安全代理218可以從保護(hù)服務(wù)器202接收密鑰以便驗(yàn)證SVMM安全代理217的實(shí)例??梢圆煌耆⒃诎踩?18、SVMM安全代理217和SVMM安全代理202之間的通信,除非代理中的每一個(gè)都相互認(rèn)證。類似地,如果SVMM安全代理217和SVMM216作為分離的實(shí)體而運(yùn)行,則它們可以相互驗(yàn)證和認(rèn)證。[0137]SVMM216和SVMM安全代理217可以在電子設(shè)備204的操作系統(tǒng)212和所有操作系統(tǒng)下運(yùn)行。SVMM216可以監(jiān)視操作系統(tǒng)212、安全代理218、應(yīng)用210和驅(qū)動(dòng)程序211對(duì)包括I/O設(shè)備226、系統(tǒng)存儲(chǔ)器228和處理器寄存器230在內(nèi)的系統(tǒng)資源214的訪問。SVMM216可以捕獲操作系統(tǒng)212、安全代理218、應(yīng)用210、驅(qū)動(dòng)程序211或電子設(shè)備204的任何其他實(shí)體所請(qǐng)求的關(guān)鍵操作的執(zhí)行。SVMM216可以通過操縱在VMCS221中的標(biāo)志來捕獲這樣的執(zhí)行。當(dāng)VMCS221截取對(duì)受保護(hù)的資源的請(qǐng)求時(shí),操作可以被移交給SVMM216以供進(jìn)一步操作、診斷和修復(fù)。在一個(gè)實(shí)施例中,操作可以隨后由SVMM安全代理217操作。在另一實(shí)施例中,已捕獲操作的應(yīng)對(duì)可以由SVMM216本身實(shí)施。SVMM216可以捕獲電子設(shè)備204的任何必要操作以提供針對(duì)惡意軟件的保護(hù)。這樣的操作可以包括但不限于:系統(tǒng)存儲(chǔ)器228中特定的代碼或數(shù)據(jù)頁面的讀取、寫入和執(zhí)行;從系統(tǒng)寄存器和處理器寄存器230加載和存儲(chǔ)值;或者從I/O設(shè)備226讀取或向其寫入。將由SVMM216捕獲的特定的操作可以由SVMM安全規(guī)則222定義。[0138]保護(hù)服務(wù)器202可以與SVMM安全代理217或0/S內(nèi)部安全代理218通信以便向每一個(gè)提供安全規(guī)則。在一個(gè)實(shí)施例中,保護(hù)服務(wù)器202可以把SVMM安全規(guī)則222遞送給SVMM安全代理217。在另一實(shí)施例中,保護(hù)服務(wù)器202可以把0/S內(nèi)部安全規(guī)則220遞送給0/S內(nèi)部安全代理218。在又一實(shí)施例中,保護(hù)服務(wù)器202可以把0/S內(nèi)部安全規(guī)則220遞送給SVMM安全代理217,SVMM安全代理217然后可以把規(guī)則提供給0/S內(nèi)部安全代理218。[0139]應(yīng)用210、驅(qū)動(dòng)程序211或操作電子設(shè)備204的其他實(shí)體可以被0/S內(nèi)部安全代理218觀察到。0/S內(nèi)部安全代理218可以使用0/S內(nèi)部安全規(guī)則220來觀察這樣的處理實(shí)體的行為以便判斷它們的行為是否構(gòu)成了指示惡意軟件的可能感染的可疑行為。一旦這樣檢測(cè)到可疑活動(dòng),0/S內(nèi)部安全代理218可以把可疑信息提供給保護(hù)服務(wù)器202以供進(jìn)一步分析和指示。0/S內(nèi)部安全規(guī)則220可以向0/S內(nèi)部安全代理218指出,這樣的行為是可疑的,并且指出矯正動(dòng)作。例如,應(yīng)用210可以與宿主惡意軟件已知的網(wǎng)絡(luò)目的地通信。0/S內(nèi)部安全代理218可以注意到應(yīng)用210的活動(dòng),且隨后阻止應(yīng)用210對(duì)網(wǎng)絡(luò)目的地的網(wǎng)絡(luò)訪問。0/S內(nèi)部安全代理218也可以掃描電子設(shè)備204以便發(fā)現(xiàn)惡意軟件。例如,0/S內(nèi)部安全代理218可以檢查存儲(chǔ)器206或系統(tǒng)存儲(chǔ)器228的內(nèi)容,以便得到對(duì)應(yīng)于惡意軟件的簽名的模式。這樣的檢查可以揭示,例如,應(yīng)用210包含對(duì)應(yīng)于惡意軟件的已知片段的一塊代碼。然后,0/S內(nèi)部安全代理218可以通過修復(fù)應(yīng)用210、移除應(yīng)用210或采取任何其他合適的動(dòng)作來從電子設(shè)備204清除惡意軟件的感染。0/S內(nèi)部安全代理218可以就任何已檢測(cè)可疑行為或惡意軟件的其他指示與保護(hù)服務(wù)器202通信,且可以從保護(hù)服務(wù)器202接收關(guān)于如何處理這樣的惡意軟件的指示。[0140]在一個(gè)實(shí)施例中,SVMM安全代理217可以被配置為基于做出已嘗試的操作的實(shí)體的起源評(píng)估已捕獲操作。例如,如果驅(qū)動(dòng)程序是從未知域下載的,或具有來自未知擔(dān)保人的證書,那么,該驅(qū)動(dòng)程序隨后操作的能力受到限制。例如,可以對(duì)其狀態(tài)未知的驅(qū)動(dòng)程序否決把自身附接到另一驅(qū)動(dòng)程序的能力。如果驅(qū)動(dòng)程序是從宿主惡意軟件已知的域下載的,或者包含欺詐憑證,那么,可以甚至不準(zhǔn)許加載該驅(qū)動(dòng)程序。類似地,如果已知驅(qū)動(dòng)程序是來自特定的域或由特定的作者創(chuàng)建,那么,SVMM安全代理217可以被配置為識(shí)別電子設(shè)備204中被授權(quán)為更新驅(qū)動(dòng)程序的服務(wù),并限制把驅(qū)動(dòng)程序?qū)懭牖虼嫒〉侥切┓?wù)的能力。例如,來自公司X的內(nèi)核驅(qū)動(dòng)程序可以僅被寫如到駐留在電子設(shè)備204上的公司X的更新服務(wù)軟件。SVMM安全代理217可以被配置為確證更新服務(wù)的操作和完整性。在另一實(shí)施例中,SVMM安全代理217可以被配置為基于嘗試的目標(biāo)評(píng)估已捕獲操作。例如,對(duì)于內(nèi)核驅(qū)動(dòng)程序可以捕獲來自服務(wù)的更新軟件的嘗試,但不適用于應(yīng)用軟件。[0141]一旦實(shí)體已經(jīng)被判斷是可疑的,或嘗試被判斷為指示惡意軟件,則可以鏈接引起嘗試的該進(jìn)程和容納該進(jìn)程的存儲(chǔ)器。訪問存儲(chǔ)器的相同的部分的其他進(jìn)程可以類似地被判斷為惡意軟件??梢源鎯?chǔ)訪問資源的已捕獲嘗試,且可以根據(jù)原始事件評(píng)估訪問受保護(hù)的資源的隨后嘗試。例如,惡意操作可以要求把代碼寫入到數(shù)據(jù)片段然后執(zhí)行代碼。因而,SVMM安全代理217可以捕獲對(duì)該數(shù)據(jù)片段的原始寫訪問,允許寫入,但是記錄該寫訪問的源。隨后,SVMM安全代理217可以捕獲執(zhí)行數(shù)據(jù)片段的隨后嘗試,并根據(jù)先前捕獲的操作、嘗試這種操作的實(shí)體或其他合適的取證信息評(píng)估該嘗試的惡意狀態(tài)。[0142]SVMM安全代理217可以就SVMM216要通過諸如VMCS221之類的控制結(jié)構(gòu)捕獲哪些系統(tǒng)資源214的問題指示SVMM216。然后,SVMM216可以捕獲起源于電子設(shè)備204的諸如操作系統(tǒng)212、應(yīng)用210或驅(qū)動(dòng)程序211之類的實(shí)體的對(duì)系統(tǒng)資源214的訪問請(qǐng)求。例如,如果做出請(qǐng)求讀取、寫入或執(zhí)行系統(tǒng)存儲(chǔ)器228的部分,則SVMM216可以通過在VMCS221中設(shè)定用于系統(tǒng)存儲(chǔ)器的已指派部分的標(biāo)志來截取這樣的請(qǐng)求。在另一示例中,可以由VMCS221截取對(duì)I/O設(shè)備226做出的訪問請(qǐng)求,例如輸入或輸出操作。在又一示例,諸如加載或存儲(chǔ)命令之類的進(jìn)程寄存器230中的請(qǐng)求可以由VMCS221捕獲。任何這樣的捕獲都可以導(dǎo)致向SVMM216通知已嘗試訪問。一旦SVMM216已經(jīng)捕獲對(duì)系統(tǒng)資源214的已嘗試的操作,SVMM216就可以把這樣的已捕獲執(zhí)行傳輸給SVMM安全代理217。[0143]0/S內(nèi)部安全代理218和SVMM安全代理217可以通信以便確定在操作系統(tǒng)212內(nèi)實(shí)施的操作的上下文。例如,來自操作系統(tǒng)212對(duì)電子設(shè)備204的特定資源的已捕獲系統(tǒng)調(diào)用可以源自存儲(chǔ)器的特定部分。SVMM安全代理217可以與0/S內(nèi)部安全代理218通信,以判斷什么應(yīng)用、進(jìn)程或其他實(shí)體駐留在存儲(chǔ)器的該特定部分內(nèi)。[0144]然后,基于SVMM安全規(guī)則222和來自0/S內(nèi)部安全代理218的已捕獲操作和/或上下文信息,SVMM安全代理217可以判斷這樣的訪問是否構(gòu)成可疑動(dòng)作,例如指示惡意軟件的感染的那些動(dòng)作。例如,未經(jīng)授權(quán)的應(yīng)用嘗試改變受保護(hù)存儲(chǔ)器空間的系統(tǒng)存儲(chǔ)器228可能是可疑活動(dòng),且因而由SVMM216檢測(cè)到的這樣的嘗試改變可以由SVMM安全代理217解釋為惡意軟件的操作。這樣的活動(dòng)可以被報(bào)告給保護(hù)服務(wù)器202以得到進(jìn)一步指示,或者可以由0/S內(nèi)部安全規(guī)則220指示動(dòng)作。這樣的檢測(cè)的結(jié)果可以是阻止對(duì)系統(tǒng)存儲(chǔ)器228的嘗試改變,或觸發(fā)對(duì)產(chǎn)生該嘗試改變的電子設(shè)備204的實(shí)體的附加清除操作。[0145]SVMM216可以監(jiān)視對(duì)系統(tǒng)資源214的附加調(diào)用以便保護(hù)SVMM216、SVMM安全代理217和/或0/S內(nèi)部安全代理218的完整性。SVMM216可以實(shí)施由SVMM安全規(guī)則222定義的掃描操作,以便掃描系統(tǒng)存儲(chǔ)器228的各部分,判斷這樣的存儲(chǔ)器的各部分是否已經(jīng)被惡意軟件修改。SVMM216可以利用簽名、散列或指示已知存儲(chǔ)器的給定模式是不安全的還是安全的其他規(guī)則。[0146]例如,SVMM216可以通過阻止對(duì)對(duì)應(yīng)于系統(tǒng)存儲(chǔ)器228中的0/S內(nèi)部安全代理218的代碼和數(shù)據(jù)頁面的未經(jīng)授權(quán)的讀取和寫入訪問來保護(hù)Ο/s內(nèi)部安全代理218。一些惡意軟件可能通過對(duì)與系統(tǒng)存儲(chǔ)器228相關(guān)聯(lián)的系統(tǒng)資源214做出存儲(chǔ)器修改或其他修改來嘗試攻擊0/S內(nèi)部安全代理218。SVMM216可以讀取SVMM安全規(guī)則222中所包含的準(zhǔn)許其變更代碼或數(shù)據(jù)或?qū)?yīng)于0/S內(nèi)部安全代理218的其他系統(tǒng)資源214的已授權(quán)應(yīng)用和電子設(shè)備204的其他實(shí)體的白名單。如果修改源自未被包含在白名單內(nèi)的實(shí)體,那么,SVMM216可以確定這樣的修改與惡意軟件相關(guān)聯(lián)。對(duì)對(duì)應(yīng)于0/S內(nèi)部安全代理218的系統(tǒng)資源214的未經(jīng)授權(quán)的訪問可以由SVMM以任何合適的方式應(yīng)對(duì),這些方式包括阻止訪問、創(chuàng)建蜜罐進(jìn)程、向保護(hù)服務(wù)器202報(bào)告違規(guī)或任何其他合適的補(bǔ)救。[0147]SVMM216也可以捕獲對(duì)屬于電子設(shè)備204的其他實(shí)體的系統(tǒng)資源214的訪問。例如,系統(tǒng)存儲(chǔ)器228中的目標(biāo)存儲(chǔ)器頁面可以包含屬于操作系統(tǒng)212的內(nèi)核操作的一部分的樣本代碼或數(shù)據(jù)。SVMM216和SVMM安全規(guī)則222可以把對(duì)這樣的目標(biāo)頁面的訪問限制為僅經(jīng)過授權(quán)的代碼段。因此,如果系統(tǒng)存儲(chǔ)器228中的代碼頁面嘗試讀取或變更目標(biāo)存儲(chǔ)器頁面,且該代碼頁面屬于電子設(shè)備204的未經(jīng)授權(quán)實(shí)體,則這樣的訪問可以受到SVMM216阻止。因而,SVMM216可以用于控制對(duì)系統(tǒng)存儲(chǔ)器228中的存儲(chǔ)器頁面的訪問。[0148]SVMM安全代理217可能能夠通過聯(lián)系保護(hù)服務(wù)器202以便得到經(jīng)更新的規(guī)則來更新SVMM安全規(guī)則222或0/S內(nèi)部安全規(guī)則220。保護(hù)服務(wù)器202可以基于所觀察到的特定惡意軟件、管理員設(shè)置或電子設(shè)備204的其他特性配置要遞送給SVMM安全代理217的規(guī)貝U。SVMM安全代理217可以根據(jù)用戶的要求、周期性地或根據(jù)重大事件的發(fā)生(例如遇到可以鏈接到惡意軟件的新的可疑活動(dòng))更新電子設(shè)備204的規(guī)則。[0149]SVMM安全代理217可以在對(duì)應(yīng)于復(fù)合條件的VMCS中設(shè)置標(biāo)志。可以跨越不同類型的資源捕獲這樣的標(biāo)志。例如,VMCS可以被配置為捕獲把某些值寫入到存儲(chǔ)器中的頁面并隨后把該頁面移動(dòng)到I/O設(shè)備的緩存的組合。[0150]系統(tǒng)200可以包含優(yōu)于反惡意軟件系統(tǒng)和軟件的其他實(shí)現(xiàn)的一個(gè)或多個(gè)優(yōu)點(diǎn)。例如,一些反惡意軟件解決方案可以鉤取操作系統(tǒng)的各種部分以便捕獲和評(píng)估應(yīng)用的低級(jí)操作。然而,這些解決方案自身可以在操作系統(tǒng)中操作或者在兩個(gè)客戶操作系統(tǒng)的情況中是在另一操作系統(tǒng)中操作。通過在操作系統(tǒng)的約束內(nèi)操作,即使是以內(nèi)核級(jí)的優(yōu)先級(jí)操作,反惡意軟件解決方案可能容易受到來自也運(yùn)行在相同的操作系統(tǒng)上且也許運(yùn)行在相同的優(yōu)先級(jí)的惡意軟件的惡意軟件攻擊的感染。如果在操作系統(tǒng)的級(jí)別實(shí)施對(duì)某些事件的捕獲或觸發(fā),則這樣的捕獲或觸發(fā)可能被運(yùn)行在與操作系統(tǒng)相同的或較低的優(yōu)先級(jí)的惡意軟件釣魚、鉤取、逆向工程、危害或以另外方式挫敗。例如,在操作系統(tǒng)上運(yùn)行的檢測(cè)和移除操作系統(tǒng)中的惡意掛鉤的反惡意軟件解決方案可以被在相同的優(yōu)先級(jí)運(yùn)行的惡意軟件觀察到。在另一示例中,作為過濾驅(qū)動(dòng)程序寄存以便檢測(cè)某些例程的操作的反惡意軟件解決方案可以被在驅(qū)動(dòng)程序棧區(qū)上比反惡意軟件解決方案較低處寄存惡意過濾驅(qū)動(dòng)程序的惡意軟件挫敗。類似地,如果某些已捕獲或已觸發(fā)事件的應(yīng)對(duì)發(fā)生在操作系統(tǒng)的級(jí)別,則惡意軟件可以影響這樣的應(yīng)對(duì)。例如,惡意軟件可以撤銷反惡意軟件解決方案的修正,或甚至禁用反惡意軟件解決方案的操作。[0151]在另一示例中,管理程序可以工作為虛擬化對(duì)諸如系統(tǒng)存儲(chǔ)器228之類的系統(tǒng)資源的訪問,但可能不會(huì)有條件地保護(hù)對(duì)系統(tǒng)資源的訪問,且因而充當(dāng)安全管理程序。這樣的管理程序可以不擁有對(duì)諸如安全規(guī)則222中的行為規(guī)則之類的反惡意軟件規(guī)則的訪問權(quán),以便標(biāo)識(shí)惡意活動(dòng)、實(shí)體或?qū)ο到y(tǒng)資源的惡意的已嘗試訪問。這樣的管理程序可以在操作系統(tǒng)自身內(nèi)運(yùn)行,這可能易于遭受在與操作系統(tǒng)相同的優(yōu)先級(jí)水平運(yùn)行的惡意軟件。這樣的管理程序可以不是以“O環(huán)特權(quán)模式”運(yùn)行,這是因?yàn)檫@樣的模式可以要求管理程序截取太多對(duì)系統(tǒng)資源的嘗試訪問。可以給管理程序安排虛擬化客戶操作系統(tǒng)的所有方面的任務(wù),且這樣的虛擬化的需求可能太過昂貴而不能同時(shí)地訪問安全規(guī)則以便檢查惡意行為。[0152]圖3是用于基于虛擬機(jī)監(jiān)視器的保護(hù)電子設(shè)備免遭惡意軟件的方法300的示例實(shí)施例。在步驟305,可以認(rèn)證0/S下層安全代理、0/S內(nèi)部安全代理、保護(hù)服務(wù)器和虛擬機(jī)監(jiān)視器的身份和安全??梢酝ㄟ^任何合適的方法完成這樣的認(rèn)證,包括通過定位和檢驗(yàn)位于存儲(chǔ)器中的每一個(gè)的映像,密碼散列,或密鑰。直到步驟305完成之前,可以停止其他步驟的操作。[0153]在步驟310,可以訪問保護(hù)服務(wù)器以判斷安全規(guī)則。這樣的安全規(guī)則可以被用來在步驟315-380中做出判定。在步驟315,可以指示虛擬機(jī)監(jiān)視器捕獲對(duì)系統(tǒng)資源的訪問。這樣的訪問可以源自在電子設(shè)備上運(yùn)行的應(yīng)用、驅(qū)動(dòng)程序或操作系統(tǒng)??梢跃鸵O(jiān)視的電子設(shè)備的什么系統(tǒng)資源指示虛擬機(jī)監(jiān)視器。也可以就要捕獲的對(duì)所監(jiān)視的系統(tǒng)資源的什么操作指示虛擬機(jī)監(jiān)視器。例如,可以捕獲對(duì)系統(tǒng)存儲(chǔ)器的讀、寫或執(zhí)行操作。在另一示例中,可以捕獲對(duì)寄存器的加載或存儲(chǔ)操作。在又一示例中,可以捕獲對(duì)I/O設(shè)備的輸入或輸出動(dòng)作。[0154]在步驟320,可以在諸如虛擬機(jī)控制結(jié)構(gòu)之類的控制結(jié)構(gòu)中設(shè)置對(duì)應(yīng)于要捕獲的這樣的操作的標(biāo)志。這樣的已捕獲操作可以產(chǎn)生VM退出,其中,在訪問已標(biāo)記資源時(shí)創(chuàng)建已觸發(fā)事件。在步驟325,當(dāng)系統(tǒng)存儲(chǔ)器被分配給虛擬機(jī)監(jiān)視器、0/S內(nèi)部安全代理和0/S下層安全代理時(shí),可以保護(hù)這樣的存儲(chǔ)器免遭未經(jīng)授權(quán)的讀和寫操作。[0155]電子設(shè)備可以操作且通過在步驟330-340中捕獲對(duì)系統(tǒng)資源的訪問、在步驟345-355中掃描存儲(chǔ)器以便發(fā)現(xiàn)惡意軟件的存在以及在步驟360-365中掃描存儲(chǔ)器以便發(fā)現(xiàn)已嘗試存儲(chǔ)器修改中的一種或多種來得到保護(hù)。捕獲對(duì)系統(tǒng)資源的訪問、掃描存儲(chǔ)器以便發(fā)現(xiàn)惡意軟件的存在以及掃描存儲(chǔ)器以便發(fā)現(xiàn)已嘗試存儲(chǔ)器修改中的每一種可以并行實(shí)施。進(jìn)一步,根據(jù)保護(hù)電子設(shè)備的操作的要求,可以重復(fù)這些中的每一種。[0156]在步驟330,可以捕獲對(duì)諸如系統(tǒng)存儲(chǔ)器、寄存器、或I/O設(shè)備之類的系統(tǒng)資源的訪問??梢允褂卯a(chǎn)生VM退出的VMCS標(biāo)志來捕獲訪問??梢栽诘陀谠陔娮釉O(shè)備上運(yùn)行的操作系統(tǒng)的級(jí)別實(shí)施這樣的捕獲。在步驟335,可以分析訪問以便判斷請(qǐng)求實(shí)體是否具有訪問所請(qǐng)求的資源的權(quán)限??梢栽L問與已嘗試訪問相關(guān)聯(lián)的上下文信息以便做出這樣的判斷??梢栽L問安全規(guī)則以便做出這樣的判斷??梢耘袛辔唇?jīng)授權(quán)的訪問是可疑的??梢栽诘陀谠陔娮釉O(shè)備上運(yùn)行的操作系統(tǒng)的級(jí)別做出這樣的應(yīng)對(duì)和判定。如果訪問是可疑的,那么,在步驟340,可以阻止對(duì)系統(tǒng)資源的可疑的已嘗試訪問??梢园堰@樣的嘗試報(bào)告給保護(hù)服務(wù)器。如果訪問不是可疑的,那么,在步驟370可以允許訪問。[0157]在步驟345,可以掃描電子設(shè)備的存儲(chǔ)器頁面以便發(fā)現(xiàn)惡意軟件的存在。盡管掃描電子設(shè)備的存儲(chǔ)器,但可以使用白名單來判斷是否已知反映駐留在電子設(shè)備上的實(shí)體的存儲(chǔ)器模式是安全的。如果遇到已知是安全的存儲(chǔ)器模式,那么,在步驟370,可以允許存儲(chǔ)器繼續(xù)擁有對(duì)電子設(shè)備的訪問權(quán),且可以保持。盡管掃描電子設(shè)備的存儲(chǔ)器,但可以使用黑名單來判斷是否已知存儲(chǔ)器模式包括惡意軟件或與惡意軟件相關(guān)聯(lián)??梢酝ㄟ^訪問安全規(guī)則來訪問白名單和黑名單。在步驟350,如果找到了已知與惡意軟件相關(guān)聯(lián)的存儲(chǔ)器模式,那么,在步驟375可以通過修復(fù)、移除或廢止拒絕該存儲(chǔ)器模式訪問電子設(shè)備。[0158]在步驟355,可以掃描存儲(chǔ)器以便判斷是否已經(jīng)或者正在嘗試修改存儲(chǔ)器。可以在低于電子設(shè)備中的操作系統(tǒng)的級(jí)別進(jìn)行這樣的掃描。這樣的存儲(chǔ)器可以包括內(nèi)核存儲(chǔ)器、系統(tǒng)數(shù)據(jù)結(jié)構(gòu)或可以被惡意軟件修改的電子設(shè)備的存儲(chǔ)器的任何其他部分。例如,可以修改在電子設(shè)備上運(yùn)行的活動(dòng)線程的列表以便隱藏惡意進(jìn)程的存在。如果檢測(cè)到修改,那么,在步驟365可以判斷這樣的修改是否得到許可。這樣的修改是否得到許可可以由安全規(guī)則定義。例如,可以保護(hù)反惡意軟件進(jìn)程的代碼或數(shù)據(jù)頁面免遭任何其他進(jìn)程的修改或訪問。如果存儲(chǔ)器修改被視為經(jīng)過授權(quán),那么,在步驟370,可以允許修改。如果判斷存儲(chǔ)器修改未經(jīng)授權(quán)且不被允許,那么,在步驟375,可以拒絕修改。[0159]在步驟370,如果允許訪問或修改,那么,可以存儲(chǔ)訪問或修改以供稍后引用。對(duì)惡意軟件的一些檢測(cè)可以利用關(guān)于過往訪問或修改的信息來判斷這樣的過往訪問和目前所檢測(cè)的訪問一起是否包括對(duì)資源的惡意訪問。[0160]在步驟375,如果拒絕修改、訪問或其他操作,那么,在步驟380可以向保護(hù)服務(wù)器報(bào)告這樣的事件。這樣的報(bào)告可以包括關(guān)于任何關(guān)聯(lián)的惡意軟件或可疑行為的信息。[0161]根據(jù)保護(hù)電子設(shè)備的需要,可以連續(xù)地、周期性地或根據(jù)需求重復(fù)方法300的各步驟。[0162]圖4是用于保護(hù)電子設(shè)備404免遭惡意軟件的基于固件的和基于安全規(guī)則的系統(tǒng)400的示例實(shí)施例。系統(tǒng)400可以是系統(tǒng)100的示例實(shí)施例,其中,以固件實(shí)現(xiàn)系統(tǒng)100的某些元素??梢栽诘陀陔娮釉O(shè)備404的操作系統(tǒng)的級(jí)別實(shí)施捕獲系統(tǒng)400的操作。系統(tǒng)400可以包括被配置為捕獲用于使用或訪問電子設(shè)備404的資源的、諸如I/O命令之類的請(qǐng)求的一個(gè)或多個(gè)0/S下層安全代理。這樣的0/S下層安全代理可以被配置為管理在設(shè)備之間或者與電子設(shè)備404的主處理器的輸入和輸出數(shù)據(jù)的交換。可以在電子設(shè)備404的諸如設(shè)備控制器之類的組件的固件中或在電子設(shè)備404自身的固件中實(shí)現(xiàn)這樣的0/S下層安全代理。這樣的固件可以駐留在非易失性存儲(chǔ)器中。電子設(shè)備404的這樣的資源可以包括圖1的系統(tǒng)資源106或其各種可能的實(shí)施例,或者是被耦合到系統(tǒng)400中的設(shè)備或在其中實(shí)現(xiàn)的資源。系統(tǒng)400可以包括一個(gè)或多個(gè)0/S下層安全代理,0/S下層安全代理被配置為捕獲對(duì)電子設(shè)備404的資源的訪問的嘗試使用、產(chǎn)生對(duì)應(yīng)于嘗試的已觸發(fā)事件、查閱關(guān)于已觸發(fā)事件的安全規(guī)則以及如果必要的話采取關(guān)于嘗試的矯正動(dòng)作。[0163]在一個(gè)實(shí)施例中,可以僅在電子設(shè)備404的組件的固件中實(shí)現(xiàn)系統(tǒng)400的0/S下層安全代理,如下面以及在圖5的討論中所描述的。在另一實(shí)施例中,可以在諸如主PC固件428之類的電子設(shè)備404自身的固件中實(shí)現(xiàn)系統(tǒng)400的0/S下層安全代理。在這樣的實(shí)施例中,可以在電子設(shè)備404的主板上實(shí)現(xiàn)主PC固件428。在又一實(shí)施例中,也可以在0/S下層代理450中實(shí)現(xiàn)系統(tǒng)400的Ο/S下層安全代理。Ο/S下層代理450可以在低于電子設(shè)備404的諸如操作系統(tǒng)412之類的操作系統(tǒng)的級(jí)別以任何合適的方式實(shí)現(xiàn)以便提供對(duì)資源的訪問的觸發(fā)或應(yīng)對(duì)這樣的觸發(fā)。例如,Ο/S下層代理450可以是圖2的SVMM216或SVMM安全代理217的實(shí)施例。Ο/S下層代理450可以包括安全規(guī)則422。[0164]電子設(shè)備404可以包括用于實(shí)施來自電子設(shè)備404的輸入和輸出操作的一個(gè)或多個(gè)組件。電子設(shè)備404可以包括任何合適的數(shù)量的這樣的組件和任何合適的類型的組件。這樣的組件可以由設(shè)備實(shí)現(xiàn),且它們自己的處理器、存儲(chǔ)器、和軟件嵌入到固件中。這樣的組件的示例實(shí)施例可以是圖5的I/O設(shè)備502。[0165]電子設(shè)備404可以包括,例如,顯不器424和存儲(chǔ)426。每一個(gè)這樣的組件424、426可以包括固件430、432。固件430、432均可以實(shí)現(xiàn)圖5的固件504。如上所述,每一個(gè)這樣的組件424、426可以包括基于固件的安全代理,例如固件安全代理440、442。固件安全代理440,442均可以部分地或完全地實(shí)現(xiàn)圖5的固件安全代理516。在一個(gè)實(shí)施例中,固件安全代理440、442中的每一個(gè)可以在它們各自的固件430、432中實(shí)現(xiàn)。在另一實(shí)施例中,固件安全代理440、442中的每一個(gè)可以在它們各自的組件424、426中的每一個(gè)中的固件430、432外實(shí)現(xiàn)。這樣的設(shè)備固件安全代理440、442中的每一個(gè)可以通信上耦合到各自的一組安全規(guī)則434、436。每一這樣的安全規(guī)則434、436可以實(shí)現(xiàn)圖5的安全規(guī)則518。[0166]電子設(shè)備404可以包括固件。在一個(gè)實(shí)施例中,電子設(shè)備404可以包括主PC固件428。主PC固件428可以由基本輸入/輸出系統(tǒng)(“BIOS”)實(shí)現(xiàn)。在一個(gè)實(shí)施例中,主PC固件428可以被配置成計(jì)算機(jī)的BIOS。在這樣的情況中,主PC固件428可以被配置為初始化計(jì)算機(jī)的處理器406的操作。主PC固件428可以被配置為允許主處理器406與諸如顯示器424和存儲(chǔ)426之類的I/O設(shè)備通信。在這樣的實(shí)施例中,計(jì)算機(jī)也可以包含可編程I/O控制器,可編程I/O控制器可以由固件或BIOS編程,且與諸如424和存儲(chǔ)426之類的I/O設(shè)備的固件通信。[0167]主PC固件428可以包括0/S下層安全代理。在一個(gè)實(shí)施例中,主PC固件428可以包括PC固件安全代理444。PC固件安全代理444可以被配置為截取對(duì)系統(tǒng)資源414的請(qǐng)求。為了完成這樣的功能,PC固件安全代理444可以完全地或部分地實(shí)現(xiàn)圖2的SVMM安全代理217或SVMM216、和/或圖5的固件安全代理516的功能。PC固件安全代理444可以實(shí)現(xiàn)圖2的SVMM安全代理217或SVMM216的功能以便完成對(duì)系統(tǒng)資源414的訪問的0/S下層觸發(fā)和應(yīng)對(duì)、0/S下層代理和諸如0/S內(nèi)部安全代理418之類的0/S內(nèi)部安全代理的驗(yàn)證和確證和諸如安全規(guī)則420、422之類的安全規(guī)則的分發(fā)。PC固件安全代理444可以實(shí)現(xiàn)圖5的固件安全代理516的功能以便完成固件中的0/S下層觸發(fā)和應(yīng)對(duì)、安全規(guī)則的更新并且評(píng)估被發(fā)送給電子設(shè)備404的各部分的IN和OUT命令。[0168]電子設(shè)備404可以包括安全規(guī)則438。安全規(guī)則438可以是圖1的安全規(guī)則114的示例實(shí)施例。在一個(gè)實(shí)施例中,安全規(guī)則438可以駐留在主PC固件428中。在另一實(shí)施例中,安全規(guī)則438可以駐留在主PC固件428外,且PC固件安全代理444可以被耦合到安全規(guī)則438。[0169]系統(tǒng)400的安全代理可以被配置為一起工作以便防止惡意軟件及其惡意操作??梢圆东@對(duì)資源的嘗試訪問,且隨后的事件被觸發(fā),以便在諸如顯示器424或存儲(chǔ)426之類的設(shè)備中或在主PC固件428中的固件安全代理中應(yīng)對(duì)。這樣的設(shè)備或固件中的固件安全代理可以被配置為應(yīng)對(duì)已觸發(fā)事件或把已觸發(fā)事件傳送到另一安全代理以供應(yīng)對(duì)。由于有限的執(zhí)行和更新能力,一些固件安全代理可以被限制為應(yīng)對(duì)它們自己的已觸發(fā)事件,且因而把這樣的已觸發(fā)事件傳送給其他安全代理是有益的。固件安全代理可以向其傳送事件的安全代理可以包括,例如,諸如Ο/S內(nèi)部安全代理418之類的Ο/S內(nèi)部安全代理、諸如Ο/S下層安全代理450之類的Ο/S下層安全代理或諸如PC固件安全代理444之類的另一固件安全代理。這些其他安全代理可以被配置為接收已觸發(fā)事件、查閱安全規(guī)則、上下文信息或權(quán)限,并把要實(shí)現(xiàn)的所得到的動(dòng)作發(fā)送回來。[0170]因此,盡管圖4闡釋用于基于固件的安全代理實(shí)施0/S下層觸發(fā)和應(yīng)對(duì)的示例數(shù)量的元素,但在各種實(shí)施例中可以使用更多或更少的元素。在使用更多或更少的元素時(shí),每一元素和系統(tǒng)400的功能性可以據(jù)此改變。在一個(gè)實(shí)施例中,低于操作系統(tǒng)412的級(jí)別的系統(tǒng)400的安全代理可以限于一個(gè)或多個(gè)0/S內(nèi)部安全代理418和固件安全代理440、442。在這樣的示例中,固件安全代理440、442可以依賴于保護(hù)服務(wù)器402以便更新到安全規(guī)則434,4360固件安全代理440、442可以依賴于0/S內(nèi)部安全代理418以便更新或應(yīng)對(duì)已觸發(fā)事件,但是0/S內(nèi)部安全代理418的操作是較不安全的,除非0/S下層安全代理確證0/S內(nèi)部安全代理。固件安全代理440、442可以基于在安裝、生產(chǎn)或配置建立的固件安全規(guī)則434提供觸發(fā)。這樣的安全規(guī)則可以是相對(duì)靜態(tài)的。在這樣的情況中,借助于少量分析,固件安全代理440、442可以被配置為提供相對(duì)基本的事件觸發(fā)。這樣的固件安全代理440、442卻是有用的,這是由于在電子設(shè)備404的操作系統(tǒng)下面完成這樣的觸發(fā),因而較好檢測(cè)一些惡意的或可疑的操作。[0171]在另一實(shí)施例中,系統(tǒng)400的安全代理可以包括PC固件安全代理444或0/S下層代理450中的任一種,但不是兩者。在這樣的情況中,PC固件安全代理444的功能性可以由0/S下層代理450實(shí)現(xiàn),且反之亦然。PC固件代理444或0/S下層代理450中的任一種可以被耦合到保護(hù)服務(wù)器402并被配置為獲得諸如安全規(guī)則420、422、438、434、436之類的信息,并與系統(tǒng)400中的其他安全代理共享這樣的信息。出于通信、更新或存儲(chǔ)成本的目的,這樣的安全規(guī)則可以適應(yīng)每一各自的安全代理。PC固件代理444或0/S下層代理450中的任一種可以被配置為從諸如固件安全代理440、442之類的其他安全代理接收已觸發(fā)事件、應(yīng)用安全規(guī)則和其他信息,并采取矯正動(dòng)作,例如把所得到的事件發(fā)送給固件安全代理440、442,或者把信息發(fā)送給保護(hù)服務(wù)器402。PC固件代理444或0/S下層代理450中的任一種可以被配置為捕獲對(duì)系統(tǒng)資源414的嘗試訪問。PC固件代理444或0/S下層代理450中的任一種可以被配置為與0/S內(nèi)部安全代理418通信以判斷已觸發(fā)事件的上下文。如果多于一個(gè)的0/S內(nèi)部安全代理418出現(xiàn)在系統(tǒng)400中,則每一0/S內(nèi)部安全代理418可以被配置為執(zhí)行捕獲、確證或與0/S內(nèi)部安全代理418相關(guān)聯(lián)的其他任務(wù)的經(jīng)指派部分。這樣的部分可以由操作系統(tǒng)下層安全代理定義。例如,一個(gè)0/S內(nèi)部安全代理418可以確證或調(diào)查MOV指令,同時(shí)另一0/S內(nèi)部安全代理418可以確證或調(diào)查JMP指令。[0172]在又一實(shí)施例中,系統(tǒng)400的安全代理可以包括PC固件安全代理444和0/S下層代理450兩者。然而,在這樣的實(shí)施例中,PC固件安全代理444的功能性中的一些或全部可以由0/S下層代理450實(shí)現(xiàn),且反之亦然。在PC固件安全代理444和0/S下層代理450之間的任務(wù)劃分可以考慮多種因素。例如,諸如PC固件安全代理444之類的在固件內(nèi)的安全代理的操作另一Ο/s下層代理450的操作更加安全。然而,更新安全規(guī)則和Ο/S下層代理450的軟件可以比在PC固件安全代理444中更加簡單和快捷。[0173]在再一個(gè)實(shí)施例中,一個(gè)或多個(gè)固件安全代理440、442可以駐留在獨(dú)立于PC固件安全代理444或操作系統(tǒng)下層代理422的系統(tǒng)400上。在這樣的示例中,固件安全代理440,442可以確證操作系統(tǒng)內(nèi)部安全代理418的實(shí)例。[0174]固件安全代理440、442、444中的每一個(gè)可以被配置為駐留在固件邏輯內(nèi),足以能夠監(jiān)視和控制固件邏輯以便發(fā)現(xiàn)外部通信。固件安全代理440、442、444因而可以被配置為捕獲特定信息和/或與特定的其他實(shí)體通信特定信息。固件安全代理440、442、444可以被配置為確定所接收到的操作請(qǐng)求以及要發(fā)送或接收的數(shù)據(jù)。此外,固件安全代理440、442、444可以被配置為控制要發(fā)送或接收的數(shù)據(jù),且可以被配置為引起對(duì)數(shù)據(jù)的附加操作,例如加密、壓縮、在數(shù)據(jù)中嵌入水印或解碼數(shù)據(jù)中的水印。與固件安全代理440、442、444通信的系統(tǒng)400的其他安全代理可以被配置為在要由固件安全代理440、442、444捕獲的數(shù)據(jù)中嵌入水印,或解碼由固件安全代理440、442、444放置到數(shù)據(jù)中的水印。[0175]可以例如通過可編程的輸入-輸出中斷或可編程的輸入-輸出寄存器來實(shí)施與固件安全代理440、442或PC固件安全代理444的通信。這樣的中斷或寄存器可以由固件安全代理440、442、444駐留在其中的固件或設(shè)備的生產(chǎn)商定義和提供。[0176]系統(tǒng)400的0/S下層安全代理中的一個(gè)或多個(gè)可以被配置為充當(dāng)主安全代理以便協(xié)調(diào)電子設(shè)備404的基于固件的安全代理的反惡意軟件活動(dòng)。在一個(gè)實(shí)施例中,PC固件安全代理444可以被配置成主系統(tǒng)400的安全代理。在另一實(shí)施例中,0/S下層代理450可以被配置為充當(dāng)主安全代理。安全代理可以被配置為應(yīng)對(duì)來自固件安全代理440、442的已觸發(fā)事件。主安全代理可以被配置為確證固件安全代理440、442諸如0/S內(nèi)部安全代理418等的其他安全代理的操作以及。主安全代理可以被配置為向其他安全代理通知安全代理中的一個(gè)是否已經(jīng)注意到可疑行為或已檢測(cè)的惡意軟件、系統(tǒng)400是否受到惡意軟件攻擊或者系統(tǒng)400的管理員是否已經(jīng)改變影響安全的偏好或設(shè)置。主安全代理可以與系統(tǒng)400的其他安全代理共享關(guān)于攻擊的信息。[0177]通過在低于系統(tǒng)400的操作系統(tǒng)的級(jí)別捕獲對(duì)系統(tǒng)400的資源的訪問和/或應(yīng)對(duì)所得到的已觸發(fā)事件,系統(tǒng)400可以提供針對(duì)惡意軟件的增強(qiáng)安全。固件中的安全代理的操作可以減少惡意軟件影響安全代理的操作的機(jī)會(huì)。在固件中或者在設(shè)備級(jí)別捕獲操作可以減少惡意軟件欺騙或釣魚系統(tǒng)400的元素以便偽裝其操作的能力。例如,無論惡意軟件危害操作系統(tǒng)412的什么部分,不可以對(duì)設(shè)備自身隱瞞對(duì)組件424、426的請(qǐng)求。[0178]圖5是用于保護(hù)電子設(shè)備免遭惡意軟件的基于固件的解決方案的示例實(shí)施例的更詳盡的視圖。諸如I/o設(shè)備502之類的設(shè)備可以被配置為接收和捕獲對(duì)使用或訪問設(shè)備的資源的請(qǐng)求。在一個(gè)實(shí)施例中,I/O設(shè)備502可以被配置為處理這樣的已捕獲請(qǐng)求來判斷該請(qǐng)求是否指示惡意軟件的存在。在另一實(shí)施例中,I/O設(shè)備502可以被配置為把這樣的已捕獲請(qǐng)求作為已觸發(fā)事件傳送給I/O設(shè)備駐留其中的系統(tǒng)的另一部分。系統(tǒng)的這樣的另一部分可以包括0/S下層安全代理。I/O設(shè)備502可以包括被耦合到存儲(chǔ)器508的固件504和處理器506,其中,固件504可以包括駐留在存儲(chǔ)器508以供由處理器506執(zhí)行的指令。[0179]I/O設(shè)備502可以包括電子設(shè)備的用于控制對(duì)電子設(shè)備的資源的訪問的任何合適的部分。在一個(gè)實(shí)施例中,I/o設(shè)備502可以實(shí)現(xiàn)電子設(shè)備的外圍設(shè)備的一些或全部。I/O設(shè)備502可以例如由顯示控制卡、計(jì)算機(jī)總線控制器、高速緩存設(shè)備、I/O控制器設(shè)備、盤控制器、存儲(chǔ)器設(shè)備、網(wǎng)絡(luò)控制器、主板、或鍵盤控制器實(shí)現(xiàn)。I/O設(shè)備502可以駐留在電子設(shè)備中。在一個(gè)實(shí)施例中,I/O設(shè)備502可以被耦合到物理組件。僅僅作為示例,這樣的物理組件可以包括顯示器、計(jì)算機(jī)總線、存儲(chǔ)器、I/O控制器、盤、網(wǎng)卡或鍵盤。在另一實(shí)施例中,I/O設(shè)備502可以與所耦合的物理組件分離地駐留。例如,鍵盤控制器可以通過串行接口與鍵盤耦合。在這樣的實(shí)施例中,I/O設(shè)備502可以駐留在電子設(shè)備中,同時(shí)這樣的物理組件可以通信上耦合到電子設(shè)備但駐留在電子設(shè)備外。[0180]固件504可以被配置為控制I/O設(shè)備502的操作。固件504可以包括被配置為捕獲對(duì)資源的請(qǐng)求的Ο/s下層安全代理516,在低于I/O設(shè)備502或I/O設(shè)備502駐留在其中的系統(tǒng)中的操作系統(tǒng)的級(jí)別下操作。0/S下層安全代理516可以被配置為應(yīng)對(duì)從已捕獲請(qǐng)求得到的事件以判斷是否允許、拒絕或以另外方式應(yīng)對(duì)請(qǐng)求,以便保護(hù)I/O設(shè)備502或I/O設(shè)備502駐留在其中的系統(tǒng)免遭惡意軟件。在一個(gè)實(shí)施例中,固件504可以包括固件安全代理516。固件安全代理516可以合并圖2的SVMM216或SVMM安全代理217的功能性中的一些或全部,但是在固件504中實(shí)現(xiàn)。在這樣的情況中,SVMM216或SVMM安全代理217的諸如捕獲對(duì)資源的訪問和/或應(yīng)對(duì)已捕獲請(qǐng)求等的功能性可以由固件安全代理516實(shí)施。在一個(gè)實(shí)施例中,固件安全代理516可以被配置為駐留在固件504中。[0181]固件504可以包括I/O命令510、數(shù)據(jù)傳送引擎12和編程邏輯514。I/O命令510可以包括用于向設(shè)備發(fā)送信息或從其接收信息的指令。這樣的命令可以包括IN或OUT命令的變體。I/O命令510的執(zhí)行可以操作為執(zhí)行所期望的設(shè)備動(dòng)作。由設(shè)備接收到的請(qǐng)求可以被轉(zhuǎn)換成I/O命令。根據(jù)對(duì)資源的特定請(qǐng)求的捕獲或觸發(fā)可以通過根據(jù)關(guān)聯(lián)的I/O命令510的捕獲或觸發(fā)來完成。數(shù)據(jù)傳送引擎512可以被配置為應(yīng)對(duì)把請(qǐng)求傳輸?shù)皆O(shè)備和隨后的響應(yīng)。數(shù)據(jù)傳送引擎512可以被耦合到處理器506和在I/O總線上的可編程I/O控制器,在I/O總線上交換I/O命令510和數(shù)據(jù)??删幊踢壿?14可以被配置為提供指令以供固件504操作I/O命令510和數(shù)據(jù)傳送引擎512。編程邏輯514可以被加載到諸如處理器506之類的處理器中。[0182]固件安全代理516可以被配置為修改編程邏輯514的操作以便檢測(cè)已嘗試惡意操作。固件安全代理516也可以被配置為監(jiān)視把請(qǐng)求傳輸?shù)皆O(shè)備以便通過數(shù)據(jù)傳送引擎512截取對(duì)I/O設(shè)備502的請(qǐng)求并判斷這樣的請(qǐng)求是否惡意的。固件安全代理516可以包括控制結(jié)構(gòu),在控制結(jié)構(gòu)中,可以把標(biāo)志設(shè)置為對(duì)應(yīng)于要捕獲的操作。在一個(gè)實(shí)施例中,可以在結(jié)構(gòu)中根據(jù)要捕獲的命令的存儲(chǔ)器地址設(shè)置標(biāo)志。固件安全代理516可以被配置為設(shè)置用于截取對(duì)I/O設(shè)備502的請(qǐng)求的標(biāo)志。這樣的標(biāo)志可以對(duì)應(yīng)于,例如,I/O命令510的特定命令或這樣的特定命令與特定參數(shù)的組合。這樣的標(biāo)志可以被配置為截取特定的請(qǐng)求或請(qǐng)求類別。一旦觸發(fā)對(duì)應(yīng)于已捕獲的I/O命令510的已嘗試操作的特定標(biāo)志,固件安全代理516可以被配置為處理事件并采取所得到的動(dòng)作,通過數(shù)據(jù)傳送引擎512把所得到的信息傳送給另一安全代理,或通過數(shù)據(jù)傳送引擎512傳送已觸發(fā)事件。[0183]I/O設(shè)備502也可以包括安全規(guī)則518。安全規(guī)則518可以實(shí)現(xiàn)圖2的安全規(guī)則222中的一些或全部。安全規(guī)則518可以在存儲(chǔ)器508中實(shí)現(xiàn)。在一個(gè)實(shí)施例中,安全規(guī)則518可以駐留在固件504外。在另一實(shí)施例中,安全規(guī)則518可以駐留在固件504中。固件安全代理516可以通信上耦合到安全規(guī)則518并被配置為訪問安全規(guī)則518,以判斷在固件504中設(shè)置什么標(biāo)志以便捕獲對(duì)I/O設(shè)備502做出以便訪問其資源的特定請(qǐng)求或請(qǐng)求類另O。例如,固件安全代理516可以被配置為訪問安全規(guī)則518以便判斷已觸發(fā)事件是惡意的還是非惡意的。在一個(gè)實(shí)施例中,安全規(guī)則518可以包含供固件安全代理516處理已觸發(fā)事件的指令。固件安全代理可以被配置為使用這樣的指令來判斷是否允許或拒絕請(qǐng)求,或者采取另一矯正動(dòng)作。在另一實(shí)施例中,固件安全代理516可以被配置為使用這樣的指令來判斷是否向另一安全代理報(bào)告該請(qǐng)求。這樣的矯正動(dòng)作也可以包括等待來自其他安全代理的可以包含關(guān)于是否允許或拒絕請(qǐng)求的指令的響應(yīng)。[0184]在一些實(shí)施例中,固件安全代理516可以駐留在固件504中,這可以使得相對(duì)難以更新固件安全代理516。另外,惡意軟件攻擊的不斷改變的本質(zhì)要求反惡意軟件解決方案是靈活的。因此,固件安全代理516可以使用用于接收信息的任何合適的機(jī)制,以便確定捕獲對(duì)I/O設(shè)備的什么請(qǐng)求,以及采取什么隨后動(dòng)作。[0185]在一個(gè)這樣的實(shí)施例中,這樣的機(jī)制可以包括如上所述的訪問安全規(guī)則518。固件安全代理516可以被配置為從其他安全代理或保護(hù)服務(wù)器接收新的和經(jīng)更新的安全規(guī)則518。為了實(shí)現(xiàn)靈活性,固件安全代理516可以被配置為把安全規(guī)則518存儲(chǔ)在與固件分離的存儲(chǔ)器508中,例如如果把這樣的規(guī)則存儲(chǔ)在固件504中將使得難以更新安全規(guī)則518。[0186]在另一個(gè)這樣的實(shí)施例中,固件安全代理516可以被配置為依據(jù)固件的更新或閃現(xiàn)(flash)來更新安全規(guī)則518。在這樣的實(shí)施例中,更新要捕獲的請(qǐng)求的靈活性可能受到限制。因此,安全規(guī)則518可以針對(duì)非常特定的受保護(hù)資源。例如,盤設(shè)備的安全規(guī)則518可以包括捕獲對(duì)設(shè)備的引導(dǎo)扇區(qū)的所有寫請(qǐng)求的指令。在一些情況中,在與其他安全代理的通信廉價(jià)的場(chǎng)合,安全規(guī)則518可以包括捕獲各種各樣的請(qǐng)求的指令,其中可以把處理大部分卸載給其他安全代理。[0187]在又一這樣的實(shí)施例中,固件安全代理516可以被配置為從其他安全代理接收指令。在一種情況中,這樣的指令可以采取固件504或固件安全代理516的函數(shù)調(diào)用的參數(shù)的形式。例如,另一安全代理可以調(diào)用固件安全代理516的被命名為“UpdateRule(trigger,action)(更新規(guī)則(觸發(fā),動(dòng)作))”的函數(shù),其中,在trigger(觸發(fā))中詳述要捕獲的請(qǐng)求,且在action中詳述要采取的隨后動(dòng)作。固件安全代理516因而可以通過接收關(guān)于對(duì)安全規(guī)則的更新的指令來更新安全規(guī)則518。在另一情況中,另一安全代理可以把安全規(guī)則518的更新寫到設(shè)備502的已保留存儲(chǔ)器空間,該存儲(chǔ)器空間隨后可以被固件安全代理516訪問。從其他安全代理接收到的指令也可以指示固件安全代理516使用一組特定的安全規(guī)則518。例如,在時(shí)序要求嚴(yán)格(time-critical)的操作期間,固件安全代理516可以被這樣的指令配置為使用最小的一組核心安全規(guī)則518。如果I/O設(shè)備502是盤設(shè)備,這樣的最小的一組核心規(guī)則可以包括捕獲對(duì)盤的引導(dǎo)扇區(qū)的訪問的指令。在另一示例中,如果目前不實(shí)施時(shí)序要求嚴(yán)格的操作,則固件安全代理516可以被這樣的指令配置為采用來自安全規(guī)則518的規(guī)則以便捕獲廣泛得多的訪問嘗試并把相應(yīng)的事件發(fā)送給其他安全代理以供應(yīng)對(duì)。[0188]固件安全代理516可以被配置為控制I/O命令510、掃描接收到的或要發(fā)送的內(nèi)容或數(shù)據(jù)并對(duì)命令和內(nèi)容應(yīng)用訪問控制。固件安全代理516可以被實(shí)現(xiàn)為現(xiàn)有的設(shè)備固件的擴(kuò)展。[0189]固件安全代理516的實(shí)現(xiàn)可以取決于設(shè)備502的類型。例如,顯示設(shè)備和盤設(shè)備可以因不同種類的內(nèi)容或已嘗試的命令而觸發(fā)。各種設(shè)備中的固件安全代理516的創(chuàng)建可以適應(yīng)與設(shè)備的特定種類的接口。例如,如果設(shè)備502被配置為通過串行高級(jí)技術(shù)附件(“SATA”)總線通信,則類似于通過SATA總線通信的其他設(shè)備,它可以配備有固件安全代理516。固件安全代理516可以被定制為支持設(shè)備502的體系結(jié)構(gòu)、支持設(shè)備502的外部總線I/O或設(shè)備502的其他接口。[0190]固件安全代理516可以被配置為通過截取特定的讀命令和寫命令來捕獲對(duì)設(shè)備502中的資源的嘗試訪問,這可構(gòu)成對(duì)資源的請(qǐng)求的一部分??梢越厝 ⒃u(píng)估和基于諸如安全規(guī)則518中的一個(gè)之類的規(guī)則阻止或允許讀或?qū)懨?。用于固件安全代?16的安全規(guī)則518可以包括用于檢測(cè)惡意軟件的跡象的任何合適的規(guī)則。這樣的讀命令和寫命令可以例如是對(duì)驅(qū)動(dòng)程序的函數(shù)調(diào)用或中斷的結(jié)果。[0191]例如,安全規(guī)則518可以包括供固件安全代理516掃描要被寫到設(shè)備的數(shù)據(jù)的規(guī)貝U??梢栽u(píng)估數(shù)據(jù)的內(nèi)容或數(shù)據(jù)的散列以便判斷該數(shù)據(jù)是否對(duì)應(yīng)于惡意軟件數(shù)據(jù)或代碼。這樣的評(píng)估可以通過把內(nèi)容和白名單或黑名單中的數(shù)據(jù)或簽名來進(jìn)行。接連的寫入可能必須被一起評(píng)估以適當(dāng)?shù)卦u(píng)估要寫入的數(shù)據(jù)或內(nèi)容的完整范圍,以便正確地把內(nèi)容或數(shù)據(jù)標(biāo)識(shí)為惡意軟件或不是惡意軟件。例如,可以在對(duì)設(shè)備502的重復(fù)接連調(diào)用中寫入文件。要寫入的數(shù)據(jù)可以排隊(duì),以使得可以評(píng)估對(duì)寫命令的內(nèi)容的適當(dāng)掃描。[0192]在另一示例中,安全規(guī)則518可以包括供固件安全代理516掃描設(shè)備中的現(xiàn)有數(shù)據(jù)的規(guī)則。設(shè)備502可以包含從系統(tǒng)外例如在網(wǎng)卡中接收到的內(nèi)容。當(dāng)駐留在設(shè)備502中時(shí),可以掃描所接收的信息的內(nèi)容以便發(fā)現(xiàn)惡意軟件的跡象。固件安全代理516可以通過把內(nèi)容與白名單或黑名單中的數(shù)據(jù)或簽名進(jìn)行比較來做出評(píng)估。[0193]在又一示例中,安全規(guī)則518可以包括供固件安全代理516基于時(shí)間或權(quán)限評(píng)估命令的規(guī)則。在不應(yīng)實(shí)施合法活動(dòng)的時(shí)間期間,可以保護(hù)諸如網(wǎng)絡(luò)設(shè)備或盤之類的設(shè)備502免遭讀取或?qū)懭?。例如,某些惡意軟件可以在引?dǎo)期間攻擊盤驅(qū)動(dòng)程序。因而,固件安全代理516可以在引導(dǎo)盤的時(shí)間期間防止對(duì)設(shè)備的任何寫入。類似地,可以由設(shè)備502駐留在其中的系統(tǒng)的管理員設(shè)置關(guān)于何時(shí)或如何使用設(shè)備或系統(tǒng)的權(quán)限。例如,設(shè)備502駐留在其中的系統(tǒng)的管理員可以把設(shè)備設(shè)置為在營業(yè)時(shí)間之外不可用。系統(tǒng)上的網(wǎng)絡(luò)設(shè)備沒有合法目的在營業(yè)時(shí)間之外傳輸活動(dòng),且因而基于安全規(guī)則518中的權(quán)限,對(duì)網(wǎng)絡(luò)設(shè)備的讀取和寫入可受到固件安全代理516阻止。這樣的使用可以阻止,例如,設(shè)備的實(shí)際用戶的蓄意活動(dòng)或惡意軟件使用網(wǎng)絡(luò)設(shè)備來實(shí)施拒絕服務(wù)攻擊的蓄意活動(dòng)。[0194]在再一個(gè)示例中,安全規(guī)則518可以包括供固件安全代理516基于與I/O命令一起使用的參數(shù)評(píng)估命令的規(guī)則。這樣的參數(shù)可以包括,例如,寫命令將寫入的地址。安全規(guī)貝IJ518可以包括指示盤設(shè)備的特定部分是只讀的規(guī)則。因而,固件安全代理516可以檢查與把數(shù)據(jù)寫到盤的OUT命令相關(guān)聯(lián)的參數(shù)以判斷數(shù)據(jù)將被寫入的地址,并且如果所嘗試的寫是針對(duì)受到安全規(guī)則518中的規(guī)則的寫保護(hù)的盤的部分則阻止該命令。固件安全代理516可以與諸如發(fā)起調(diào)用的內(nèi)容或?qū)嶓w之類的其他基礎(chǔ)結(jié)合考慮這樣的參數(shù)。例如,掃描要寫入的數(shù)據(jù)的內(nèi)容是昂貴的,且因此安全規(guī)則518可以把固件安全代理516配置為僅當(dāng)數(shù)據(jù)被寫入到某些地址范圍時(shí)掃描要寫入的數(shù)據(jù)。在另一示例中,諸如安全規(guī)則518之類的安全規(guī)則可以僅允許某些調(diào)用實(shí)體向盤設(shè)備的某些部分寫入或從其讀取。因而,固件安全代理516可以捕獲所嘗試的寫或讀且在可以安全地判斷調(diào)用實(shí)體的身份之前不允許該嘗試??梢酝ㄟ^評(píng)估被用來調(diào)用設(shè)備函數(shù)的參數(shù)中的信息做出這樣的判斷,這是由于一些這樣的函數(shù)可以標(biāo)識(shí)調(diào)用的設(shè)備驅(qū)動(dòng)程序或應(yīng)用。在這樣的情況中,固件安全代理516可以采取任何適當(dāng)?shù)牟襟E來判斷調(diào)用的有效性。在一個(gè)實(shí)施例中,固件安全代理516可以查閱安全規(guī)則518中的白名單或黑名單以便判斷調(diào)用實(shí)體是否被授權(quán)為做出這樣的調(diào)用。在另一實(shí)施例中,固件安全代理516可以與包含設(shè)備502的系統(tǒng)中的其他安全代理通信以便判斷調(diào)用應(yīng)用或設(shè)備驅(qū)動(dòng)程序是否有效。這樣的其他安全代理已經(jīng)確證調(diào)用應(yīng)用或設(shè)備驅(qū)動(dòng)程序的操作,或者可以與已經(jīng)驗(yàn)證這樣的操作的Ο/S內(nèi)部安全代理通信。在又一示例中,對(duì)諸如設(shè)備502之類的設(shè)備的現(xiàn)有驅(qū)動(dòng)程序調(diào)用可以不標(biāo)識(shí)調(diào)用實(shí)體。因此,沒有可用的參數(shù)。在這樣的示例中,固件安全代理516可以被配置為傳送已觸發(fā)事件或以另外方式查閱系統(tǒng)中的其他安全代理,以判斷產(chǎn)生已嘗試訪問的調(diào)用的上下文。這樣的其他安全代理可以為調(diào)用提供合適的上下文,以判斷是否經(jīng)授權(quán)的實(shí)體做出該嘗試。[0195]在進(jìn)一步的示例中,安全規(guī)則518可以包括供固件安全代理516基于來自設(shè)備502駐留在其中的環(huán)境的信息來評(píng)估命令的規(guī)則。系統(tǒng)中的其他安全代理可能已經(jīng)檢測(cè)到難以移除的惡意軟件感染,或者可能要求來自管理員的直接干預(yù)以便清除。系統(tǒng)中的其他安全代理可以具有觀察到的可疑行為,且還沒有完全分析行為的本質(zhì)。在這樣的情況中,固件安全代理516可以從其他安全代理接收這樣的現(xiàn)有威脅的通知。取決于感染的類型,安全規(guī)則518因而可以規(guī)定固件安全代理516的預(yù)防性動(dòng)作。例如,鍵盤設(shè)備中的固件安全代理516可以接收到已經(jīng)檢測(cè)到已知用于鍵盤記錄的特定類型的惡意軟件的跡象但還不能移除的通知。安全規(guī)則518因而可以規(guī)定固件安全代理516不允許來自鍵盤設(shè)備的所有讀和寫以便防止利用鍵盤傳輸?shù)男畔⒌奈:?。[0196]固件安全代理516可以以不同的方式保護(hù)不同類型的設(shè)備的I/O。例如,取決于惡意軟件威脅,顯示設(shè)備的固件安全代理516可以關(guān)閉顯示器的各部分。固件安全代理516可以阻止引起在屏幕上產(chǎn)生水印的某些圖案的顯示。固件安全代理516可以捕獲特定圖案的嘗試顯示。固件安全代理516可以截取從設(shè)備嘗試讀取信息以便防止抓屏。[0197]在另一示例中,與系統(tǒng)的剩余部分通信,用于鍵盤設(shè)備的固件安全代理516可以可選地編碼或解碼其結(jié)果。這樣的加密可以由固件安全代理516在出現(xiàn)了諸如鍵盤記錄器之類的惡意軟件威脅的通知時(shí)設(shè)定。[0198]在又一示例中,用于網(wǎng)絡(luò)設(shè)備的固件安全代理516可以基于源因特網(wǎng)協(xié)議(“IP”)地址、源端口號(hào)、要發(fā)送或接收的數(shù)據(jù)、目的地IP地址或目的地端口號(hào)來捕獲。一旦捕獲到使用網(wǎng)絡(luò)設(shè)備的這樣的嘗試,固件安全代理516可以掃描要發(fā)送或接收的分組的數(shù)據(jù)凈荷以便發(fā)現(xiàn)惡意軟件的跡象。在一個(gè)實(shí)施例中,這樣的數(shù)據(jù)凈荷可以被發(fā)送給另一安全代理或保護(hù)服務(wù)器,其中,可以掃描內(nèi)容以便發(fā)現(xiàn)惡意軟件的跡象。數(shù)據(jù)凈荷的內(nèi)容可以經(jīng)過加密,以使得分組嗅探器不能成功地截取內(nèi)容??梢圆东@到由于和不安全的網(wǎng)絡(luò)目的地的通信相關(guān)聯(lián)的安全風(fēng)險(xiǎn)引起的對(duì)網(wǎng)絡(luò)設(shè)備的嘗試操作,其中,與惡意目的地的網(wǎng)絡(luò)通信可以危害設(shè)備502駐留在其中的系統(tǒng)的安全。由于諸如銀行業(yè)務(wù)網(wǎng)站之類的特定數(shù)據(jù)集的敏感本質(zhì),可以捕獲已嘗試的操作。在這樣的情況中,當(dāng)從這樣的網(wǎng)站接收數(shù)據(jù)時(shí),可以由固件安全代理516在傳送到另一安全代理或調(diào)用實(shí)體之前加密數(shù)據(jù)。這樣的加密可以防止分組嗅探器或設(shè)備502的系統(tǒng)中的過濾器成功地截取信息。[0199]要截取的特定的I/O命令510可以取決于特定的設(shè)備和該設(shè)備的操作。因而,設(shè)備502的生產(chǎn)商可以決定如何配置用于特定設(shè)備502的固件安全代理516的操作。設(shè)備502的生產(chǎn)商可以決定向其他安全代理公開多少設(shè)備502的功能性。例如,設(shè)備502可以被配置為在把已觸發(fā)事件交接給其他安全代理之前要求確證這樣的安全代理。[0200]在操作中,一個(gè)或多個(gè)0/S下層安全代理可以是在系統(tǒng)400的固件或系統(tǒng)400的組件的固件中運(yùn)行。固件安全代理440可以在顯示器424中操作,固件安全代理442可以在存儲(chǔ)426中操作,且PC固件安全代理444可以在主PC固件408中操作。0/S下層代理450和0/S內(nèi)部代理412可以在系統(tǒng)400中操作。每一安全代理可以與系統(tǒng)400中的一個(gè)或多個(gè)其他安全代理通信。每一這樣的安全代理可以在接受通信之前確證另一安全代理的實(shí)例。在確證安全代理之后,保護(hù)服務(wù)器402可以與安全代理中的一個(gè)或多個(gè)通信。[0201]PC固件安全代理444或0/S下層代理可以被指派為主安全代理。主安全代理可以與保護(hù)服務(wù)器402通信以判斷安全規(guī)則。主安全代理可以把安全規(guī)則本地存儲(chǔ)到主安全代理。主安全代理可以把安全規(guī)則分發(fā)給每一安全代理,其中,可以把安全規(guī)則本地存儲(chǔ)到安全代理??梢詾樵O(shè)備的類型、構(gòu)造或模型定制安全規(guī)則,以便減少一大組安全規(guī)則的代價(jià)。[0202]在接收諸如規(guī)則434之類的安全規(guī)則時(shí),諸如顯示器424之類的設(shè)備可以在設(shè)備固件430內(nèi)的控制結(jié)構(gòu)中設(shè)置對(duì)應(yīng)于要捕獲的設(shè)備的操作的標(biāo)志。類似的任務(wù)可以由存儲(chǔ)426執(zhí)行。[0203]應(yīng)用410或驅(qū)動(dòng)程序411可以試圖訪問諸如顯示器424或存儲(chǔ)426之類的設(shè)備。應(yīng)用或驅(qū)動(dòng)程序411可以通過調(diào)用操作系統(tǒng)412的內(nèi)核來做出這樣的嘗試,操作系統(tǒng)412的內(nèi)核又可以調(diào)用操作系統(tǒng)設(shè)備驅(qū)動(dòng)程序,操作系統(tǒng)設(shè)備驅(qū)動(dòng)程序又可以向組件424、426發(fā)送請(qǐng)求。[0204]請(qǐng)求可以到達(dá)諸如存儲(chǔ)426之類的設(shè)備。在設(shè)備上運(yùn)行的固件安全代理442可以通過監(jiān)視具有控制結(jié)構(gòu)的存儲(chǔ)426的數(shù)據(jù)傳送引擎412過濾這樣的請(qǐng)求。請(qǐng)求可以采取對(duì)存儲(chǔ)426可用的I/O命令510的形式。如果請(qǐng)求匹配已經(jīng)由固件安全代理442設(shè)置的任何標(biāo)志,則可以捕獲該請(qǐng)求,且可以觸發(fā)所得到的事件。固件安全代理442可以查閱安全規(guī)則436以判斷如何應(yīng)對(duì)已觸發(fā)事件。[0205]在一個(gè)實(shí)施例中,已觸發(fā)事件可以由固件安全代理442應(yīng)對(duì),且基于諸如關(guān)聯(lián)的數(shù)據(jù)、命令、上下文信息、時(shí)間或環(huán)境信息之類的可用信息,可以采取矯正動(dòng)作。這樣的矯正動(dòng)作可以包括允許或拒絕請(qǐng)求、移除惡意代碼或數(shù)據(jù)或加密要傳輸?shù)臄?shù)據(jù)。其他矯正動(dòng)作可以包括向保護(hù)服務(wù)器402發(fā)送關(guān)于已捕獲事件的要傳送的信息。固件安全代理442可以告知其他安全代理關(guān)于已捕獲事件的狀態(tài),以使得其他這樣的代理也可以在查詢它們各自的安全規(guī)則之后采取矯正動(dòng)作。例如,如果固件安全代理442檢測(cè)到未知來源的惡意軟件攻擊,則固件安全代理440可以封鎖對(duì)顯示器424的附加訪問。[0206]在另一實(shí)施例中,已觸發(fā)事件可以被傳遞給諸如0/S內(nèi)部安全代理418、PC固件安全代理444或0/S下層代理450之類的另一安全代理以供應(yīng)對(duì)。接收安全代理,例如PC固件安全代理444,可以通過查詢安全規(guī)則438來應(yīng)對(duì)已觸發(fā)事件?;谥T如數(shù)據(jù)、命令、上下文信息、時(shí)間或環(huán)境信息之類的可用信息,PC固件安全代理444可以允許或拒絕由已觸發(fā)事件表示的請(qǐng)求。PC固件安全代理444可以與0/S內(nèi)部安全代理418通信以判斷關(guān)于對(duì)資源的嘗試訪問的上下文信息。PC固件安全代理444可以與保護(hù)服務(wù)器402通信以便得到關(guān)于如何應(yīng)對(duì)已觸發(fā)事件的附加信息。PC固件安全代理444可以把用于所得到的動(dòng)作的指令發(fā)送回到來源固件安全代理442。PC固件安全代理444可以把關(guān)于已觸發(fā)事件信息發(fā)送給保護(hù)服務(wù)器402以便分析或記錄??梢栽谖粗延|發(fā)事件的惡意本質(zhì)時(shí)實(shí)施這樣的分析或記錄。PC固件安全代理444可以通知系統(tǒng)400的安全代理已經(jīng)檢測(cè)到特定種類的惡意軟件、已經(jīng)檢測(cè)到一種可疑活動(dòng)或者系統(tǒng)400受到惡意軟件攻擊。[0207]在從PC固件安全代理444接收到信息時(shí),固件安全代理440可以采取矯正動(dòng)作。這樣的動(dòng)作可以包括允許或拒絕已嘗試訪問、加密要傳輸?shù)臄?shù)據(jù)或移除惡意代碼或數(shù)據(jù)。[0208]圖6是用于保護(hù)電子設(shè)備免遭惡意軟件的基于固件的可配置保護(hù)的方法600的示例實(shí)施例。在步驟605,可以認(rèn)證0/S下層安全代理、0/S內(nèi)部安全代理、保護(hù)服務(wù)器和固件安全代理的身份和安全??梢酝ㄟ^通過任何合適的方法來完成這樣的認(rèn)證,包括通過定位和檢驗(yàn)位于存儲(chǔ)器中的每一個(gè)的映像、密碼散列或密鑰。直到步驟605完成,可以停止其他步驟的操作。[0209]在步驟610,可以訪問保護(hù)服務(wù)器以判斷安全規(guī)則。這樣的安全規(guī)則可以被用來在下列的步驟中做出判定。在步驟615,可以指示固件安全代理捕獲對(duì)系統(tǒng)資源的訪問。這樣的訪問可以源自在電子設(shè)備上運(yùn)行的應(yīng)用、驅(qū)動(dòng)程序或操作系統(tǒng)??梢灾甘竟碳踩硪O(jiān)視電子設(shè)備的什么系統(tǒng)資源。也可以指示固件安全代理要捕獲所監(jiān)視的系統(tǒng)資源上的什么操作。例如,可以標(biāo)識(shí)要捕獲對(duì)固件安全代理在其上運(yùn)行的設(shè)備的讀命令和寫命令。在步驟620,可以在控制結(jié)構(gòu)中設(shè)置對(duì)應(yīng)于要捕獲的這樣的操作的標(biāo)志。這樣的已捕獲操作可以產(chǎn)生已觸發(fā)事件。[0210]電子設(shè)備在步驟630-675可以操作并通過一次或多次捕獲對(duì)系統(tǒng)資源的訪問受到保護(hù),或在步驟680-685掃描數(shù)據(jù)以便發(fā)現(xiàn)惡意軟件的存在。每一次捕獲對(duì)系統(tǒng)資源的訪問和掃描數(shù)據(jù)以便發(fā)現(xiàn)惡意軟件的存在可以被并行實(shí)施。進(jìn)一步,根據(jù)保護(hù)電子設(shè)備的操作的需要,這些中的每一個(gè)都可以重復(fù)。[0211]在步驟630,可以捕獲對(duì)諸如系統(tǒng)存儲(chǔ)器、寄存器或I/O設(shè)備之類的系統(tǒng)資源的訪問??梢栽诘陀谠陔娮釉O(shè)備上運(yùn)行的操作系統(tǒng)的級(jí)別實(shí)施這樣的捕獲??梢栽诠碳?nèi)實(shí)施這樣的捕獲。在步驟632,可以產(chǎn)生與已捕獲的嘗試相關(guān)聯(lián)的所得到的已觸發(fā)事件以及任何關(guān)聯(lián)信息。在步驟635,可以判斷已觸發(fā)事件目前是否應(yīng)當(dāng)被應(yīng)對(duì)或者被傳送給另一安全代理以供應(yīng)對(duì)。可以通過訪問一個(gè)或多個(gè)安全規(guī)則來做出這樣的判斷。如果已觸發(fā)事件目前應(yīng)當(dāng)被應(yīng)對(duì),那么,在步驟640可以訪問安全規(guī)則以基于已捕獲事件和諸如關(guān)聯(lián)數(shù)據(jù)、命令、上下文信息、時(shí)間或環(huán)境信息之類的其他信息判斷采取什么動(dòng)作。例如,可以掃描要寫或讀的數(shù)據(jù)以便發(fā)現(xiàn)敏感內(nèi)容或惡意內(nèi)容;可以標(biāo)識(shí)調(diào)用實(shí)體以便查看實(shí)體是否具有權(quán)限;可以檢查被用來調(diào)用命令的參數(shù);或者可以引用來自其他安全代理的關(guān)于系統(tǒng)中的惡意軟件的警報(bào)。[0212]在步驟642,可以判斷已嘗試訪問是可疑的還是不可疑的。如果訪問安全規(guī)則和與已嘗試訪問相關(guān)聯(lián)的信息的組合產(chǎn)生已嘗試訪問是不可疑的判斷,那么,在步驟645可以允許嘗試。如果判斷這樣的嘗試是可疑的,那么,在步驟647可以采取矯正動(dòng)作。這樣的矯正動(dòng)作可以包括從數(shù)據(jù)移除惡意內(nèi)容、告知保護(hù)服務(wù)器或其他安全代理關(guān)于惡意嘗試的存在、不允許已嘗試訪問或加密要傳輸?shù)臄?shù)據(jù)。如果嘗試是不可疑的,那么,在步驟650可以允許已觸發(fā)事件。[0213]在步驟655,如果判斷另一安全代理要應(yīng)對(duì)已觸發(fā)事件,則把已觸發(fā)事件傳送給另一安全代理以供應(yīng)對(duì)。在步驟670,可以接收到來自安全代理的指示應(yīng)采取適當(dāng)動(dòng)作的響應(yīng)。在步驟675,可以采取這樣的動(dòng)作,例如矯正動(dòng)作或允許已觸發(fā)事件的操作。[0214]在步驟680,可以掃描設(shè)備存儲(chǔ)器以便發(fā)現(xiàn)惡意軟件的存在。這樣的存儲(chǔ)器可以包含從諸如另一網(wǎng)卡或先前執(zhí)行的文件讀取的結(jié)果之類的另一實(shí)體到達(dá)的內(nèi)容。如果已知存儲(chǔ)器的內(nèi)容是是惡意的、可疑的或未知的,那么,在步驟685,可以移除存儲(chǔ)器的內(nèi)容。[0215]在步驟690,如果拒絕了已嘗試訪問,或如果找到了可疑的內(nèi)容,那么,可以把這樣的事件報(bào)告給另一安全代理或保護(hù)服務(wù)器。這樣的報(bào)告可以包括關(guān)于任何關(guān)聯(lián)的惡意軟件或可疑行為的信息。[0216]根據(jù)保護(hù)電子設(shè)備的需要,可以連續(xù)地、周期性地或根據(jù)需求重復(fù)方法600的各步驟。[0217]圖7是用于保護(hù)電子設(shè)備204免遭惡意軟件的基于微代碼的系統(tǒng)700的示例實(shí)施例。系統(tǒng)700可以是系統(tǒng)100的示例實(shí)施例,以微代碼實(shí)現(xiàn)系統(tǒng)100的某些元素??梢栽陔娮釉O(shè)備701的操作系統(tǒng)下面實(shí)施系統(tǒng)700的捕獲操作。系統(tǒng)700可以包括被配置為捕獲對(duì)電子設(shè)備204的資源的訪問的已嘗試使用、產(chǎn)生對(duì)應(yīng)于嘗試的已觸發(fā)事件、查閱關(guān)于已觸發(fā)事件的安全規(guī)則并且如果必要的話采取關(guān)于嘗試的矯正動(dòng)作的一個(gè)或多個(gè)0/S下層安全代理。這樣的0/S下層安全代理可以被配置為截取從電子設(shè)備701的資源產(chǎn)生的信息、產(chǎn)生對(duì)應(yīng)于該產(chǎn)生的已觸發(fā)事件、查閱關(guān)于已觸發(fā)事件的安全規(guī)則并且如果必要的話采取關(guān)于嘗試的矯正動(dòng)作??梢栽谙到y(tǒng)700的處理器中完全地或部分地實(shí)現(xiàn)這樣的0/S下層安全代理中的一個(gè)或多個(gè)??梢栽谶@樣的處理器的微代碼(“μC”)中完全地或部分地實(shí)現(xiàn)0/S下層安全代理。可以受到系統(tǒng)700保護(hù)的電子設(shè)備701的系統(tǒng)資源724可以包括,例如,類似于圖2的系統(tǒng)資源224的資源、物理存儲(chǔ)器714、處理器標(biāo)志716、異常718、寄存器720或中斷722。[0218]系統(tǒng)700可以包括基于微代碼的0/S下層安全代理,例如微代碼安全代理708。微代碼安全代理708可以駐留在諸如處理器704之類的處理器的微代碼708內(nèi)。在一個(gè)實(shí)施例中,微代碼安全代理708可以被配置為捕獲由諸如應(yīng)用710、驅(qū)動(dòng)程序711或操作系統(tǒng)713之類的系統(tǒng)700的各部分做出的對(duì)系統(tǒng)資源724的嘗試訪問。微代碼安全代理708可以被配置為基于這樣的對(duì)系統(tǒng)資源724的嘗試訪問創(chuàng)建已觸發(fā)事件。例如,操作系統(tǒng)713可以通過嘗試執(zhí)行物理存儲(chǔ)器714中的地址中的代碼片段來嘗試起動(dòng)程序。在另一示例中,操作系統(tǒng)713可以嘗試讀或?qū)懳锢泶鎯?chǔ)器714中的地址。盡管示出了物理存儲(chǔ)器714,但微代碼安全代理可以被配置為捕獲對(duì)訪問虛擬存儲(chǔ)器的嘗試。在另一實(shí)施例中,微代碼安全代理708可以被配置為捕獲來自處理器702的諸如微代碼模塊710之類的其他部分的嘗試傳輸信息。微代碼模塊710可以包括被配置為實(shí)施處理器702的操作以便執(zhí)行指令的處理器702的其他部分。這樣的嘗試傳輸信息可以包括來自系統(tǒng)資源724的操作的結(jié)果。例如,在代碼處理期間,除以零的操作可以由微代碼模塊710截取且可以嘗試產(chǎn)生和傳輸異常718。[0219]微代碼706可以包括硬件級(jí)別的指令用于執(zhí)行從諸如操作系統(tǒng)713之類的系統(tǒng)700的元素接收到的更高級(jí)別的指令。微代碼706可以把這樣的更高級(jí)別的指令轉(zhuǎn)換成電路級(jí)別的指令以便由處理器702執(zhí)行。微代碼706可專用于電子電路或由處理器702實(shí)現(xiàn)的處理器的類型。在創(chuàng)建處理器702時(shí),微代碼706可以配置有微代碼706的特定內(nèi)容。更新或重新編程處理器702上的微代碼706的能力可能受到限制。微代碼706可以駐留在內(nèi)部處理器存儲(chǔ)器704中。內(nèi)部處理器存儲(chǔ)器704可以是與諸如存儲(chǔ)器703之類的系統(tǒng)700的系統(tǒng)存儲(chǔ)器分離的高速存儲(chǔ)器。在一個(gè)實(shí)施例中,內(nèi)部處理器存儲(chǔ)器704可以是只讀存儲(chǔ)器。在另一實(shí)施例中,微代碼706可以駐留在內(nèi)部處理器存儲(chǔ)器704中包含的可編程邏輯陣列中。在又一實(shí)施例中,內(nèi)部處理器存儲(chǔ)器704可以包括或被實(shí)現(xiàn)為存儲(chǔ)器存儲(chǔ)或控制存儲(chǔ)。在這樣的實(shí)施例中,內(nèi)部處理器存儲(chǔ)器704可以部分或完全由靜態(tài)隨機(jī)存取存儲(chǔ)器或閃速存儲(chǔ)器實(shí)現(xiàn)。在這樣的實(shí)施例中,微代碼706可以被配置為作為處理器702的初始化的一部分從諸如存儲(chǔ)器703之類的某些其他存儲(chǔ)介質(zhì)加載到存儲(chǔ)器存儲(chǔ),且可以被配置為通過寫到存儲(chǔ)器存儲(chǔ)的數(shù)據(jù)被更新、被重新安裝或接收諸如安全規(guī)則或機(jī)器指令之類的新信息。[0220]微代碼安全代理708可以被配置為訪問安全規(guī)則707以判斷要捕獲什么操作、命令、通信或其他動(dòng)作。安全規(guī)則707可以駐留在微代碼706,或處理器702或系統(tǒng)700的另一合適的部分內(nèi)。安全規(guī)則707可以由來自諸如做出對(duì)微代碼安全代理708的調(diào)用并通過參數(shù)傳送信息的其他安全代理之類的在處理器702外的實(shí)體的函數(shù)調(diào)用實(shí)現(xiàn)。微代碼安全代理708可以通信上耦合到安全規(guī)則707。在一個(gè)示例中,安全規(guī)則707可以具有這樣的邏輯:[0221]-如果地址(X)由虛擬存儲(chǔ)器范圍(X1—>X2)或物理存儲(chǔ)器范圍(Y1—>Y2)中的代碼執(zhí)行,那么向Ο/s下層代理產(chǎn)生已觸發(fā)事件以供應(yīng)對(duì);[0222]-如果地址(X)由物理存儲(chǔ)器范圍(Ζ1-->Ζ2)中的代碼執(zhí)行,那么,跳過指令;[0223]-如果Α、Β和C;那么,存儲(chǔ)器范圍(Υ1—>Υ2)可以訪問存儲(chǔ)器范圍(X1—>X2);以及[0224]-僅來自存儲(chǔ)器范圍(Y1->Y2)和(Τ1-Χ2)的代碼可以寫到(Ζ1—>Ζ2)。[0225]微代碼706可以包括理解已經(jīng)接收到的指令的上下文的狀態(tài)機(jī)。執(zhí)行某些安全規(guī)則707(例如在相互的上下文內(nèi)評(píng)估接連操作的安全規(guī)則)需要這樣的信息。這樣的信息可以隨已觸發(fā)事件一起傳送。[0226]也可以在0/S下層代理712中實(shí)現(xiàn)系統(tǒng)700的0/S下層安全代理中的一個(gè)或多個(gè)。Ο/s下層代理712可以以任何合適的方式實(shí)現(xiàn)以便在低于諸如操作系統(tǒng)713之類的電子設(shè)備701的操作系統(tǒng)的級(jí)別提供對(duì)資源的訪問的觸發(fā)或這樣的觸發(fā)的應(yīng)對(duì)。0/S下層代理712可以實(shí)現(xiàn)圖2的SVMM216或SVMM安全代理217;圖4的固件安全代理440、442或PC固件安全代理444;或圖5的固件安全代理516的功能性中的一些或全部。0/S下層代理712可以通信上耦合到安全規(guī)則723。[0227]在一個(gè)實(shí)施例中,系統(tǒng)700的0/S下層安全代理中的一個(gè)或多個(gè),例如0/S下層代理712,可以被配置為應(yīng)對(duì)由諸如微代碼安全代理708之類的基于微代碼的安全代理產(chǎn)生的已觸發(fā)事件。0/S下層代理712可以被配置為也以與圖1-2和4-5中的0/S下層代理相似的方式捕獲對(duì)資源的訪問或應(yīng)對(duì)已觸發(fā)事件。0/S下層代理712和微代碼安全代理708可以通信上耦合。微代碼安全代理708可以被配置為把已觸發(fā)事件發(fā)送給0/S下層代理712。0/S下層代理712可以通信上耦合到諸如0/S內(nèi)部安全代理719之類的其他安全代理,且可以通信上耦合到保護(hù)服務(wù)器202。0/S下層代理712可以被配置為從諸如0/S內(nèi)部安全代理719之類的其他安全代理接收上下文信息。這樣的信息可以提供關(guān)于產(chǎn)生對(duì)系統(tǒng)資源724的嘗試訪問的實(shí)體的信息。如果多于一個(gè)的Ο/S內(nèi)部安全代理719出現(xiàn)在系統(tǒng)700中,則每一Ο/S內(nèi)部安全代理719可以被配置為執(zhí)行捕獲、確證或與Ο/S內(nèi)部安全代理719相關(guān)聯(lián)的其他任務(wù)的已指派部分。這樣的部分可以由操作系統(tǒng)下層安全代理定義。例如,一個(gè)Ο/S內(nèi)部安全代理719可以確證或調(diào)查MOV指令,同時(shí)另一0/S內(nèi)部安全代理719可以確證或調(diào)查JMP指令。[0228]0/S下層代理712也可以被配置為從保護(hù)服務(wù)器202接收安全規(guī)則或準(zhǔn)實(shí)時(shí)信息。此外,0/S下層代理712可以被配置為查閱諸如安全規(guī)則723之類的安全規(guī)則、任何從諸如0/S內(nèi)部安全代理719之類的其他安全代理或保護(hù)服務(wù)器202接收的上下文信息,以便判斷如何應(yīng)對(duì)從微代碼安全代理708接收的已觸發(fā)事件。[0229]在特定的實(shí)施例中,0/S下層代理712可以包含理解系統(tǒng)700中遇到的操作的上下文的行為狀態(tài)機(jī)。然后,Ο/s下層代理712可以被配置為基于上下文判斷要由微代碼安全代理708執(zhí)行的適當(dāng)?shù)膭?dòng)作。這樣的動(dòng)作可以包括在安全規(guī)則的要求的推動(dòng)下的矯正動(dòng)作、允許操作、拒絕操作或采取其他步驟。微代碼安全代理708可以被配置為采取從0/S下層代理712接收的這樣的動(dòng)作。[0230]0/S下層代理712可以是也被配置為確定由諸如0/S內(nèi)部安全代理719之類的另一安全代理執(zhí)行的適當(dāng)?shù)膭?dòng)作。例如,如果來自微代碼安全代理708的已觸發(fā)事件指示特定的種類的惡意軟件威脅,或?qū)﹄娮釉O(shè)備701的內(nèi)核或用戶模式的特定部分的威脅,則0/S下層代理712可以被配置為指示0/S內(nèi)部安全代理719采取矯正動(dòng)作。因而,0/S下層代理712可以控制0/S內(nèi)部安全代理719。[0231]0/S下層代理712可以被配置為確證微代碼安全代理708的實(shí)例,且反之亦然。0/S下層代理712可以被配置為與微代碼安全代理708通信以便共享或設(shè)置要在安全規(guī)則707中實(shí)現(xiàn)的諸如來自安全規(guī)則723的那些之類的安全規(guī)則,關(guān)于系統(tǒng)700、管理員或環(huán)境設(shè)置和偏好的狀態(tài)信息,或供微代碼安全代理708捕獲操作、產(chǎn)生觸發(fā)以及應(yīng)對(duì)這樣的觸發(fā)或把它們發(fā)送給其他安全代理的其他合適的信息。[0232]0/S下層代理712可以被配置為通過任何合適的機(jī)制把這樣的信息傳輸給微代碼安全代理708。0/S下層代理712可以調(diào)用處理器702、微代碼706或微代碼安全代理708的函數(shù),并把信息作為參數(shù)傳送給函數(shù)。這樣的函數(shù)可以被專門創(chuàng)建為把這樣的改變傳送給微代碼安全代理708。例如,為了禁止來自另一物理存儲(chǔ)器范圍“B”的存儲(chǔ)器的任何實(shí)體操作對(duì)物理存儲(chǔ)器范圍“A”的訪問,可以使用諸如“Bar_Memory(A,B)(禁止_存儲(chǔ)器(A,B))”之類的函數(shù)。作為這一函數(shù)被調(diào)用的結(jié)果,微代碼安全代理708可以被配置為設(shè)置在微代碼706內(nèi)的參數(shù)。調(diào)用這樣的微代碼指令可以享有特權(quán),以使得微代碼安全代理708可以被配置為在代表0/S下層代理712調(diào)用這樣的微代碼指令之前確證0/S下層代理712。在另一示例中,0/S下層代理712或微代碼安全代理708可以通過把數(shù)據(jù)寫到存儲(chǔ)器存儲(chǔ)、控制存儲(chǔ)或處理器702或微代碼706的其他可寫入部分來傳輸這樣的信息。[0233]處理器702可能具有有限資源供微代碼安全代理708完全地實(shí)現(xiàn)所有必要的捕獲和應(yīng)對(duì)以便保護(hù)系統(tǒng)700免遭惡意軟件。在一個(gè)實(shí)施例中,微代碼安全代理708可以被配置為僅實(shí)現(xiàn)要由處理器702實(shí)施的動(dòng)作的捕獲,且可以把與這樣的捕獲相關(guān)聯(lián)的觸發(fā)卸載給系統(tǒng)700的其他安全代理或組件以供隨后應(yīng)對(duì)。微代碼安全代理708可以采取隨后的動(dòng)作,例如允許或不允許請(qǐng)求或通信,或可以采取其他動(dòng)作,例如報(bào)告信息。在另一實(shí)施例中,微代碼安全代理708可以被配置為實(shí)現(xiàn)已觸發(fā)事件的少部分的應(yīng)對(duì)。用于這樣的應(yīng)對(duì)的合適的已觸發(fā)事件可以包括不要求顯著的上下文信息的那些。例如微代碼安全代理708可以通過安全規(guī)則707接收特定的范圍的存儲(chǔ)器地址免遭所有讀和寫的信息,除非Ο/S下層代理712的實(shí)例已經(jīng)得到確證??梢詫?shí)現(xiàn)這樣的安全規(guī)則,因?yàn)閮?nèi)容是非常敏感的,且沒有0/S下層代理712的操作幫助,就不能識(shí)別訪問存儲(chǔ)器內(nèi)容的實(shí)體的身份。因而,在確證0/S下層代理的實(shí)例和操作之后,微代碼安全代理708可以設(shè)置指示這樣的確證的位。如果對(duì)存儲(chǔ)器的嘗試訪問被觸發(fā),且仍然未設(shè)置該位,那么,微代碼安全代理708可以被配置為不允許該存儲(chǔ)器范圍的內(nèi)容的讀、寫或執(zhí)行。如果已經(jīng)設(shè)置該位,那么,微代碼安全代理708可以被配置為隨后捕獲對(duì)存儲(chǔ)器范圍的嘗試訪問,產(chǎn)生要發(fā)送給0/S下層代理712的已觸發(fā)事件,0/S下層代理712將根據(jù)上下文信息和其他設(shè)置評(píng)估是否允許該調(diào)用實(shí)體訪問存儲(chǔ)器范圍。然后,0/S下層代理712可以把也許指示是允許還是拒絕訪問的所得到的動(dòng)作發(fā)送回到微代碼安全代理708。[0234]已觸發(fā)事件可以包括可以用來標(biāo)識(shí)已嘗試動(dòng)作的源、方法或目的地的任何合適的信息。已觸發(fā)事件可以被微代碼安全代理708或0/S下層安全代理712用來應(yīng)用安全規(guī)貝U。已觸發(fā)事件可以由微代碼安全代理708產(chǎn)生。例如,已觸發(fā)事件可以精確地詳述訪問什么資源、調(diào)用什么指令、使用什么指令操作數(shù)、嘗試或指令來自什么存儲(chǔ)器地址(即源存儲(chǔ)器)、要把操作的結(jié)果存儲(chǔ)到什么存儲(chǔ)器中(即目標(biāo)存儲(chǔ)器)或什么存儲(chǔ)器將受到影響,或引起已嘗試動(dòng)作的源、方法或目的地的標(biāo)識(shí)的任何其他信息。微代碼安全代理708也可以被配置為包括關(guān)于處理器702的信息,例如活動(dòng)、睡眠、空閑、停機(jī)和重啟的處理器狀態(tài);處理器間通信;以及功率消耗。[0235]諸如0/S下層代理712之類的另一安全代理可以被配置為在已觸發(fā)事件中把這樣的信息用來在應(yīng)用安全規(guī)則722時(shí)判斷事件的范圍。0/S下層代理712可以具有對(duì)附加線索的訪問權(quán),這些附加線索例如關(guān)于在操作系統(tǒng)713中操作的實(shí)體的信息、保護(hù)服務(wù)器202中的新信息、其他安全代理檢測(cè)到的惡意軟件或其他威脅、管理員設(shè)置等等。例如,假定已捕獲請(qǐng)求起源于物理存儲(chǔ)器中的特定地址,則0/S下層代理712可以確定與該特定地址相關(guān)聯(lián)的線程、進(jìn)程或應(yīng)用。然后,0/S下層代理712可以被配置為判斷這樣的實(shí)體是否經(jīng)過授權(quán)來采取所考慮的動(dòng)作。0/S下層代理712可以被配置為確定實(shí)體的身份。0/S下層代理712可以被配置為把實(shí)體分類為已知是安全的(例如,通過查詢白名單)、已知是惡意的(例如,通過觀察行為或查詢已知的惡意軟件的黑名單)或未知。0/S下層代理712可以被配置為把關(guān)于未知實(shí)體和惡意實(shí)體的信息報(bào)告給保護(hù)服務(wù)器202。[0236]出于捕獲目的,微代碼安全代理708可以擁有對(duì)某些處理器702資源和其他安全代理不可用的其他系統(tǒng)資源724的訪問權(quán)。在一個(gè)實(shí)施例中,在微代碼706內(nèi)微代碼安全代理708的實(shí)現(xiàn)可以避免通過把這樣的資源的公開限制為在處理器外的調(diào)用實(shí)體來創(chuàng)建的限制。例如,虛擬機(jī)監(jiān)視器可以被限制為捕獲對(duì)已經(jīng)由處理器702出于虛擬化目的而公開的資源的操作。把捕獲對(duì)存儲(chǔ)器所嘗試的讀、寫或執(zhí)行的能力作為進(jìn)一步的示例?;谔摂M機(jī)監(jiān)視器安全代理可以僅擁有對(duì)可用于虛擬化的存儲(chǔ)器的訪問權(quán),并且,因而,可以僅可以跟蹤對(duì)存儲(chǔ)器頁面的已嘗試的讀、寫或執(zhí)行嘗試。相反,微代碼安全代理708可以截取和應(yīng)對(duì)對(duì)特定的物理存儲(chǔ)器地址的讀、寫或執(zhí)行請(qǐng)求,并基于安全規(guī)則707評(píng)估該請(qǐng)求。在提供系統(tǒng)700中的安全解決方案時(shí),較小的粒度可以提供較大的靈活性。對(duì)在帶有特定的物理存儲(chǔ)器地址的上下文中使用什么指令的指令級(jí)別的知曉告知系統(tǒng)700,哪一實(shí)體調(diào)用什么資源,且不僅僅是訪問了存儲(chǔ)器頁面。這靈活性可以是非常有價(jià)值的。例如,微代碼安全代理708可以監(jiān)視兩個(gè)鄰近的存儲(chǔ)器地址以便發(fā)現(xiàn)讀、寫或執(zhí)行嘗試,但基于訪問了兩個(gè)存儲(chǔ)器地址中的哪一個(gè)可以由安全規(guī)則707指示為采取完全地不同的動(dòng)作。由于僅對(duì)對(duì)其作出嘗試的存儲(chǔ)器頁面的觀察,可能無法應(yīng)用規(guī)則中的這樣的區(qū)分。在另一示例中,管理程序用于監(jiān)視和設(shè)置調(diào)試寄存器的其他方法不具有被用來訪問調(diào)試寄存器的指令的上下文,系統(tǒng)700也是如此。另外,用于設(shè)置或觀察這樣的調(diào)試寄存器的一些其他實(shí)體不在低于操作系統(tǒng)的級(jí)別運(yùn)行,這使得它們更可能是惡意軟件。最終,用于設(shè)置或觀察這樣的調(diào)試寄存器一些其他實(shí)體并不針對(duì)安全,且不能夠訪問安全規(guī)則、評(píng)估訪問和采取矯正動(dòng)作。[0237]要由微代碼安全代理708采取的矯正動(dòng)作可以包括由安全規(guī)則707確定的或者從0/S下層代理712接收到的任何合適的動(dòng)作??梢栽试S或拒絕的命令或指令??梢栽试S或抑制從微代碼模塊710產(chǎn)生的信息??梢孕薷娜魏芜@樣的命令、指令或信息。[0238]微代碼安全代理708可以被配置為捕獲中斷的產(chǎn)生??梢酝ㄟ^捕獲例如“INT”指令的執(zhí)行以及后面跟隨讀取與中斷相關(guān)聯(lián)的宿主信息已知的相關(guān)寄存器來捕獲中斷。例如,可以讀取通用寄存器以便知曉中斷的代碼標(biāo)識(shí)符以及被用來調(diào)用它的參數(shù)。例如,中斷13可以是盤中斷,且一組已知的寄存器可以把中斷標(biāo)識(shí)為讀或?qū)?,以及?shù)據(jù)的相關(guān)的扇區(qū)和位置。[0239]微代碼安全代理708可以被配置為捕獲被寫到處理器702的輸入和輸出端口的值。微代碼安全代理708可以被配置為捕獲被寫到處理器702的輸入和輸出設(shè)備的值。微代碼安全代理708可以被配置為捕獲用于做出這樣的寫或讀的指令。[0240]微代碼安全代理708也可以被配置為捕獲處理器702的算術(shù)邏輯單元(“ALU”)的特定操作??梢圆东@對(duì)應(yīng)于受保護(hù)的散列算法的步驟的處理器上的系列操作以判斷對(duì)函數(shù)的未經(jīng)授權(quán)的訪問。一些算術(shù)操作被惡意軟件用來偽裝自身或使得自身變形。某些算術(shù)指令、按位指令或MOV指令都是可以引起存儲(chǔ)器頁面或地址范圍的內(nèi)容改變的指令。通過捕獲這樣的指令,可以記錄對(duì)代碼部分或數(shù)據(jù)部分的改變。如果隨后的分析顯示代碼部分或數(shù)據(jù)部分被修改為自修改惡意軟件的一部分,那么,已捕獲和已記錄的指令可以被用來跟蹤惡意軟件所使用的加密算法。例如,可以判斷,惡意軟件使用帶有特定密鑰的XOR函數(shù)來使得自己變形。這樣的信息可以產(chǎn)生用于檢測(cè)自修改惡意軟件的較好安全規(guī)則。進(jìn)一步,通過保持存儲(chǔ)器修改的跟蹤,可以通過反轉(zhuǎn)指令的應(yīng)用來是實(shí)現(xiàn)修復(fù)邏輯。[0241]另外,微代碼安全代理708可以被配置為實(shí)施數(shù)字權(quán)限管理操作。例如,微代碼安全代理708可以被配置為指示要求運(yùn)行特定的程序的授權(quán)的接收安全規(guī)則707。該特定程序可以位于存儲(chǔ)器中的特定地址。這樣的授權(quán)可以采取微代碼安全代理708從0/S下層安全代理712接收例如授權(quán)碼、密鑰或字節(jié)的形式。這樣的授權(quán)可以通過微代碼安全代理708捕獲對(duì)存儲(chǔ)器的已嘗試訪問或程序指令的加載來完成,并把已觸發(fā)事件發(fā)送給0/S下層安全代理712,0/S下層安全代理712又可以擁有對(duì)授權(quán)碼、密鑰或字節(jié)的訪問權(quán)。0/S下層安全代理712可以把決定返回給微代碼安全代理712。因而,基于授權(quán)碼可以允許或不允許程序的操作。[0242]此外,微代碼安全代理708可以被配置為基于存儲(chǔ)器散列或校驗(yàn)和停止存儲(chǔ)器中的特定代碼的執(zhí)行。這樣的散列或校驗(yàn)和可以由安全規(guī)則707指示為是惡意的。當(dāng)從存儲(chǔ)器加載代碼時(shí),微代碼安全代理708可以實(shí)施內(nèi)容的散列或校驗(yàn)和,把它與已知的惡意代碼的那些進(jìn)行比較,且然后,拒絕對(duì)加載的嘗試并加載修復(fù)函數(shù)以便消除違規(guī)代碼。[0243]0/S下層代理712可以被配置為告知包括微代碼安全代理706的系統(tǒng)700的其他安全代理,它已經(jīng)判斷系統(tǒng)700已經(jīng)感染了惡意軟件、遇到可疑行為或以另外方式被危害。在這樣的情況中,微代碼安全代理706可以被配置為禁用處理器702的各部分的操作。微代碼安全代理706可以被配置為通過捕獲和拒絕對(duì)特定的系統(tǒng)資源724的請(qǐng)求或來自微代碼模塊710的已產(chǎn)生通信來禁止這樣的操作。可以禁用處理器702的各部分是因?yàn)樗鼈兪敲舾械幕蛘呖赡鼙粣阂廛浖E用。[0244]微代碼安全代理706可以被配置為保護(hù)存儲(chǔ)器地址或存儲(chǔ)器地址的范圍免遭嘗試加載、讀、寫或執(zhí)行嘗試。這樣的存儲(chǔ)器可以包括敏感數(shù)據(jù),或者可以是受限的、敏感的或受保護(hù)的函數(shù)的初始化點(diǎn)。在不存在訪問軟件是安全的或者是中性的驗(yàn)證的場(chǎng)合,微代碼安全代理706可以防止訪問這樣的存儲(chǔ)器。在這樣的情況中,諸如0/S下層代理712之類的安全代理可以把特定的存儲(chǔ)器地址標(biāo)識(shí)為受保護(hù),也許是因?yàn)檫@樣的存儲(chǔ)器地址可以對(duì)應(yīng)于示例敏感信息或受保護(hù)例程。0/S下層代理712可以給微代碼安全代理708發(fā)送諸如安全規(guī)則707之類的關(guān)于保護(hù)哪些地址的信息。微代碼安全代理708可以捕獲對(duì)這樣的存儲(chǔ)器地址的已嘗試的加載、執(zhí)行、讀取或?qū)?,并把相?yīng)的已觸發(fā)事件發(fā)送給0/S下層代理712。0/S下層代理712可以根據(jù)安全規(guī)則723、來自保護(hù)服務(wù)器202的信息、白名單或任何其他合適的信息源判斷調(diào)用軟件是安全的還是中性的。0/S下層代理712可以把要實(shí)現(xiàn)的動(dòng)作返回給微代碼安全代理708。微代碼安全代理706可以被配置為保護(hù)虛擬存儲(chǔ)器中的頁面或范圍和/或物理存儲(chǔ)器中的地址或范圍。微代碼安全代理706可以被配置為把虛擬存儲(chǔ)器頁面、位置、或地址轉(zhuǎn)換成物理存儲(chǔ)器位置或地址。因而,給定要捕獲的虛擬存儲(chǔ)器位置,或從其中發(fā)起嘗試的虛擬存儲(chǔ)器位置,微代碼安全代理706可以被配置為確定相應(yīng)的物理存儲(chǔ)器位置,或反之亦然。[0245]此外,微代碼安全代理708可以被配置為保護(hù)對(duì)敏感代碼的訪問。在一個(gè)實(shí)施例中,微代碼安全代理708可以被配置為通過監(jiān)視對(duì)特定地址的訪問以上面所描述的方式保護(hù)對(duì)敏感代碼的訪問,其中,當(dāng)代碼被存儲(chǔ)在存儲(chǔ)器中時(shí),該地址表示代碼的開始。在另一實(shí)施例中,微代碼安全代理708可以被配置為監(jiān)視“JMP”或相似的分支指令的執(zhí)行,分支指令將把處理器304的操作移動(dòng)到敏感數(shù)據(jù)或代碼的中間。在這樣的情況中,微代碼安全代理708可以被配置為捕獲“JMP”指令的執(zhí)行以及與敏感內(nèi)容范圍的組合。微代碼安全代理708可以被配置為分析“JMP”指令源于何處。微代碼安全代理708可以被配置為產(chǎn)生對(duì)應(yīng)于已捕獲的“JMP”的嘗試執(zhí)行的已觸發(fā)事件,該已觸發(fā)事件可由0/S下層代理712來應(yīng)對(duì)。0/S下層代理712可以被配置為考慮“JMP”指令源于何處,且“JMP”指令所起源的這樣的存儲(chǔ)器是否得到授權(quán)來訪問所考慮的存儲(chǔ)器。[0246]微代碼安全代理708自身或其中的捕獲功能性也可以被配置為由系統(tǒng)700的其他部分允許或禁用。如果捕獲和應(yīng)對(duì)事件是昂貴的,因而可能地?fù)p害系統(tǒng)性能,則這樣的能力是有用的。這樣的允許和禁用可以是基于特別敏感的程序或數(shù)據(jù)的使用、惡意軟件威脅的檢測(cè)、管理偏好或任何其他合適的原因。在一個(gè)實(shí)施例中,微代碼安全代理706可以被配置為從0/S下層代理712接收MSAOn信號(hào)、VMXOn信號(hào)或其他指令以便開始安全處理和捕獲。微代碼安全代理708可以接收MSAOfT信號(hào)、“VMWriteVMXOff"信號(hào)或其他指令來停止安全處理和捕獲。在開始或停止安全處理和捕獲之前,微代碼安全代理708可以確證做出請(qǐng)求的安全代理的身份和實(shí)例。[0247]此外,微代碼安全代理708可以被配置為截取在處理器702和電子設(shè)備701的其他處理器之間的處理器間消息和命令。這樣的處理器間命令可以由適當(dāng)?shù)奈⒋a模塊710接收或由訪問特定的系統(tǒng)資源724的電子設(shè)備701的實(shí)體嘗試。在一個(gè)實(shí)施例中,處理器間命令可以被訪問處理器702的軟件從操作系統(tǒng)713通過機(jī)器狀態(tài)寄存器發(fā)送。惡意軟件可能試圖發(fā)送這樣的消息,例如,以便關(guān)閉處理器或把它們置于睡眠模式。微代碼安全代理708可以被配置為捕獲對(duì)例如對(duì)應(yīng)于處理器間命令的MSR寄存器的嘗試寫入。已捕獲命令的已觸發(fā)事件可以被發(fā)送到0/S下層代理712以供應(yīng)對(duì)以便驗(yàn)證嘗試的源。[0248]微代碼安全代理708可以被配置為截取來自處理器的諸如軟件中斷722之類的消息的產(chǎn)生和通信。微代碼安全代理708可以被配置為控制中斷的執(zhí)行以使得它們僅被經(jīng)授權(quán)軟件訪問。例如,將不被允許沒有已知身份(例如通過散列、驅(qū)動(dòng)程序在存儲(chǔ)器中的源等等確定)或具有惡意身份的驅(qū)動(dòng)程序執(zhí)行軟件中斷。微代碼安全代理708可以捕獲對(duì)中斷的訪問并把已觸發(fā)事件傳送給0/S下層代理712以供應(yīng)對(duì)。[0249]在另一示例中,微代碼安全代理708可以被配置為捕獲處理器702產(chǎn)生異常718。異常可以包括例如除以零操作、頁面故障和調(diào)試信號(hào)。對(duì)包含這些的存儲(chǔ)器地址的讀訪問可以被微代碼安全代理708捕獲并由0/S下層代理712應(yīng)對(duì)。[0250]微代碼安全代理708可以被配置為保護(hù)處理器702的各種數(shù)據(jù)結(jié)構(gòu)。例如,惡意軟件可以攻擊中斷描述符表(“IDT”)。在一個(gè)實(shí)施例中,微代碼安全代理708可以捕獲對(duì)包含IDT自身的存儲(chǔ)器位置的寫訪問嘗試。在另一實(shí)施例中,微代碼安全代理708可以保護(hù)諸如“LOADIDT(加載IDT)”和“ST0REIDT(存儲(chǔ)IDT)”之類的用于改變IDT的函數(shù)被存儲(chǔ)在其中的存儲(chǔ)器位置。在另一示例中,微代碼安全代理708可以被配置為保護(hù)EFLABS或類似的數(shù)據(jù)結(jié)構(gòu),或與中斷應(yīng)對(duì)程序相關(guān)聯(lián)的標(biāo)志。惡意軟件可以通過由未經(jīng)授權(quán)的源更改這樣的資源來嘗試破壞中斷應(yīng)對(duì)程序的操作。[0251]盡管微代碼安全代理708可能專用于特定類型的處理器的特定實(shí)例,這是由于不同的電路布置可能需要不同的微代碼指令,但一組安全規(guī)則707可能對(duì)使用給定的指令集的所有處理器來說是有效的。這是可能的,因?yàn)槲⒋a安全代理708可以捕獲某些指令,這些指令在實(shí)現(xiàn)相同指令集的不同處理器之間將不改變,但是電路可以改變且可關(guān)聯(lián)資源取決于電路。例如,主臺(tái)式中央處理單元(“CPU”)和嵌入式系統(tǒng)CPU兩者都可以是來自相同生產(chǎn)商的ISA處理器,且因而安全規(guī)則707可以至少部分地在兩種類型的處理器之間共享。相反,圖形處理器上的圖形處理單元或具有不同的指令集的車載嵌入式處理器不可以共享安全規(guī)則707。[0252]在操作中,微代碼安全代理708可以在電子設(shè)備701的處理器702中運(yùn)行,且0/S下層代理712可以在低于電子設(shè)備104的操作系統(tǒng)的級(jí)別運(yùn)行。微代碼安全代理708和0/S下層代理712可以相互認(rèn)證。微代碼安全代理708可以發(fā)起對(duì)系統(tǒng)資源724的訪問的捕獲以及由微代碼模塊710產(chǎn)生的輸出或通信。因此可以根據(jù)來自0/S下層代理712的需求、根據(jù)安全規(guī)則707或在處理器702啟動(dòng)時(shí)發(fā)起微代碼安全代理708。0/S下層代理712可以因?yàn)樵谙到y(tǒng)700中的事件、管理員或系統(tǒng)設(shè)置或因?yàn)橐延|發(fā)的安全規(guī)則723而把安全允許請(qǐng)求發(fā)送給微代碼安全代理708。例如,因?yàn)橐獔?zhí)行特定的程序、要訪問敏感數(shù)據(jù)或在系統(tǒng)700中的其他地方已檢測(cè)到惡意軟件威脅,可以產(chǎn)生這樣的請(qǐng)求。Ο/S內(nèi)部安全代理719和/或Ο/S系統(tǒng)下層代理712可以向微代碼安全代理708認(rèn)證自身。為了認(rèn)證自身,0/S內(nèi)部安全代理719和/或0/S系統(tǒng)下層代理可以調(diào)用由處理器702提供的特權(quán)指令來發(fā)起認(rèn)證進(jìn)程。該調(diào)用可以引起微代碼安全代理708借助于簽名或散列測(cè)量和認(rèn)證例如0/S內(nèi)部安全代理719和/或0/S系統(tǒng)下層代理712。[0253]微代碼安全代理708可以從0/S下層代理712接收安全規(guī)則707??梢酝ㄟ^函數(shù)調(diào)用或通過寫入到諸如存儲(chǔ)器存儲(chǔ)之類的共享存儲(chǔ)器來更新微代碼安全代理708。微代碼安全代理708可以基于安全規(guī)則707把標(biāo)志應(yīng)用到被配置為捕獲特定的指令、這樣的指令的操作數(shù)、目標(biāo)地址、源地址或其任何組合的微代碼706的控制結(jié)構(gòu)。微代碼安全代理708可以捕獲諸如操作系統(tǒng)713、應(yīng)用710、或驅(qū)動(dòng)程序711之類的在處理器上運(yùn)行的實(shí)體對(duì)系統(tǒng)資源的嘗試訪問。微代碼安全代理708的操作對(duì)這樣的實(shí)體來說可以是透明的。微代碼安全代理708可以捕獲諸如來自其他微代碼模塊710的實(shí)例的輸出之類的信息的產(chǎn)生。這樣的微代碼模塊710可以包括被配置為給處理器702執(zhí)行各種任務(wù)的微代碼的其他部分。例如,微代碼模塊710中的一些可以檢測(cè)何時(shí)產(chǎn)生處理器異?;蛑袛?、如何路由輸入和輸出數(shù)據(jù)或執(zhí)行操作。微代碼安全代理708的操作對(duì)這樣的模塊來說可以是透明的。微代碼安全代理708可以使用狀態(tài)機(jī)來執(zhí)行基于所觀察到的先前事件預(yù)測(cè)的某種捕獲。[0254]在捕獲對(duì)資源的訪問或信息的產(chǎn)生時(shí),微代碼安全代理708可以創(chuàng)建與捕獲相關(guān)聯(lián)的已觸發(fā)事件。這樣的已觸發(fā)事件可以包含關(guān)于捕獲的信息,包括諸如所捕獲的指令、所使用的參數(shù)、發(fā)起的存儲(chǔ)器位置和目標(biāo)存儲(chǔ)器位置之類的上下文信息。[0255]在一個(gè)實(shí)施例中,微代碼安全代理708可以應(yīng)對(duì)已觸發(fā)事件。在另一實(shí)施例中,微代碼安全代理708可以把已觸發(fā)事件傳送給0/S下層代理712或另一安全代理以供應(yīng)對(duì)。微代碼安全代理708可以查閱安全規(guī)則707以便判斷是否以及如何應(yīng)對(duì)已觸發(fā)事件,或把已觸發(fā)事件傳送給0/S下層代理712。微代碼安全代理708可以等待來自0/S下層代理712的應(yīng)答,或者如果安全規(guī)則707不要求后續(xù)措施則可以允許已捕獲動(dòng)作。微代碼安全代理708可以基于安全規(guī)則707采取矯正動(dòng)作,例如允許或拒絕指令,或替換要執(zhí)行的值或參數(shù)。[0256]0/S下層代理712可以從微代碼安全代理708接收已觸發(fā)事件。0/S下層代理712可以查閱諸如安全規(guī)則723之類的安全規(guī)則以基于已觸發(fā)事件判斷要采取的適當(dāng)動(dòng)作。0/S下層代理712可以使用來自微代碼安全代理708的已觸發(fā)事件信息、來自0/S內(nèi)部安全代理719的上下文信息、來自保護(hù)服務(wù)器202的信息、來自其他安全代理的判定、管理員設(shè)置、時(shí)間或其他信息來判斷應(yīng)采取的適當(dāng)?shù)膭?dòng)作。0/S下層代理712可以把要采取的動(dòng)作發(fā)送給0/S內(nèi)部安全代理719和/或微代碼安全代理708。0/S下層代理712可以把關(guān)于已觸發(fā)事件的信息和所得到的動(dòng)作發(fā)送給保護(hù)服務(wù)器202。[0257]微代碼安全代理708可以從諸如0/S下層代理712之類的另一安全代理接收要采取的動(dòng)作。微代碼安全代理708可以執(zhí)行所接收的動(dòng)作,例如允許或拒絕指令,或替換要執(zhí)行的值或參數(shù)。[0258]圖8是用于基于微代碼的個(gè)性化的和可配置的保護(hù)電子設(shè)備免遭惡意軟件的方法800的示例實(shí)施例。在步驟805,可以確證微代碼安全代理的實(shí)例。在步驟810,可以確證另一安全代理的實(shí)例。這樣的安全代理可以包括0/S下層安全代理。在步驟815,可以獲得、發(fā)送或接收用于在處理器內(nèi)的微代碼級(jí)別捕獲的一個(gè)或多個(gè)安全規(guī)則。可以通過例如函數(shù)調(diào)用或通過把參數(shù)寫到共享存儲(chǔ)器空間來傳輸這樣的安全規(guī)則。在步驟820,可以發(fā)起在微代碼級(jí)別的資源安全捕獲。在一個(gè)實(shí)施例中,這樣的發(fā)起可以源自接收到開始安全捕獲的信號(hào)。在這樣的實(shí)施例中,可以接收到信號(hào),這是因?yàn)橐呀?jīng)檢測(cè)到對(duì)系統(tǒng)的惡意攻擊,或因?yàn)槊舾袛?shù)據(jù)可能出現(xiàn)在系統(tǒng)中。在另一實(shí)施例中,這樣的發(fā)起可以起因于咨詢安全規(guī)貝U。在又一實(shí)施例中,這樣的發(fā)起可以起因于處理器的啟動(dòng)。[0259]在步驟825,可以在微代碼中設(shè)置對(duì)應(yīng)于要捕獲的操作的標(biāo)志。這樣的標(biāo)志可以對(duì)應(yīng)于特定的指令、這樣的指令的操作數(shù)、目標(biāo)地址,源地址,或其任何組合。這樣的標(biāo)志可以由所接收到的安全規(guī)則定義。在步驟830,可以接收到要執(zhí)行的指令并與捕獲標(biāo)志比較。在步驟835,可以接收到所產(chǎn)生的且要從微代碼發(fā)送的信息并與捕獲標(biāo)志比較??梢酝ㄟ^狀態(tài)機(jī)步驟830和835,其中,可以重復(fù)各步驟,且可以記錄來自各步驟的多次迭代的結(jié)果并與標(biāo)志或安全規(guī)則比較。[0260]在步驟840,可以判斷是否已經(jīng)捕獲到指令或信息。如果沒有捕獲到任何事物,則該方法可以返回到在步驟830和835監(jiān)視指令和所產(chǎn)生的信息。如果捕獲到某種事件,那么,在步驟845可以創(chuàng)建與捕獲相關(guān)聯(lián)的已觸發(fā)事件。這樣的已觸發(fā)事件可以包含關(guān)于捕獲的信息,包括諸如所捕獲的指令、所使用的參數(shù)、發(fā)起的存儲(chǔ)器位置和目標(biāo)存儲(chǔ)器位置之類的上下文信息。[0261]在步驟850,可以判斷是否在微代碼內(nèi)應(yīng)對(duì)已觸發(fā)事件或者在微代碼外的安全代理是否應(yīng)該應(yīng)對(duì)已觸發(fā)事件。如果要在微代碼內(nèi)應(yīng)對(duì)已觸發(fā)事件,那么,在步驟855可以采取已觸發(fā)事件的適當(dāng)動(dòng)作。這樣的動(dòng)作可以通過查詢安全規(guī)則來定義。這樣的動(dòng)作可以包括允許要執(zhí)行的指令或要發(fā)送的信息、拒絕指令或通信、替換存儲(chǔ)器中的值或參數(shù)中的值或所要求的任何其他矯正動(dòng)作。然后,在步驟830和835,方法800可以繼續(xù)安全監(jiān)視。[0262]如果要在微代碼外應(yīng)對(duì)已觸發(fā)事件,那么,在步驟860可以把已觸發(fā)事件發(fā)送給安全代理以供應(yīng)對(duì)已觸發(fā)事件。在步驟865,可以收集與已觸發(fā)事件相關(guān)的附加信息。這樣的信息可以包括設(shè)置、偏好、上下文信息或惡意軟件狀態(tài)。在步驟870可以使用這樣的信息來把安全規(guī)則應(yīng)用到已觸發(fā)事件。這樣的應(yīng)用可以產(chǎn)生相對(duì)于已觸發(fā)事件要采取的一連串動(dòng)作。在步驟875,可以指定這樣的一連串動(dòng)作并將其傳遞給可以實(shí)現(xiàn)指定動(dòng)作的各種安全代理。這樣的動(dòng)作可以包括矯正動(dòng)作、允許操作或通信發(fā)生、向保護(hù)服務(wù)器報(bào)告事件或任何其他合適的結(jié)果。在步驟880,可以采取在步驟875指定的動(dòng)作。然后,方法800可以在步驟830和835繼續(xù)安全監(jiān)視。[0263]圖9是用于調(diào)節(jié)對(duì)電子設(shè)備901上的安全敏感的處理器資源的軟件訪問的系統(tǒng)900的示例實(shí)施例。系統(tǒng)900可以包括0/S下層捕獲代理920和已觸發(fā)事件應(yīng)對(duì)程序922,已觸發(fā)事件應(yīng)對(duì)程序922被配置為在電子設(shè)備901上操作,以便檢測(cè)來自在諸如操作系統(tǒng)913之類的電子設(shè)備901的操作系統(tǒng)中運(yùn)行的基于軟件實(shí)體的對(duì)訪問處理器資源924的惡意嘗試。此外,0/S下層捕獲代理920和已觸發(fā)事件應(yīng)對(duì)程序922可以被配置為使用一個(gè)或多個(gè)安全規(guī)則908來判斷捕獲什么已嘗試操作或信息的產(chǎn)生以及如何應(yīng)對(duì)對(duì)應(yīng)于已捕獲操作或信息所創(chuàng)建的已觸發(fā)事件。0/S下層捕獲代理920和已觸發(fā)事件應(yīng)對(duì)程序922可以被配置為允許、拒絕或?yàn)橐延|發(fā)事件采取其他矯正動(dòng)作。[0264]電子設(shè)備901可以全部地或部分地由圖1的電子設(shè)備103、圖2的電子設(shè)備204、圖4的電子設(shè)備404、圖7的電子設(shè)備701和/或其任何組合來實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。電子設(shè)備901可以包括被耦合到存儲(chǔ)器903的一個(gè)或多個(gè)處理器902。處理器902可以全部地或部分地由圖2的處理器208、圖4的處理器408、圖7的處理器702或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。存儲(chǔ)器903可以全部地或部分地由圖2的存儲(chǔ)器206、圖4的存儲(chǔ)器406、圖7的存儲(chǔ)器703和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。電子設(shè)備901可以包括操作系統(tǒng)913,操作系統(tǒng)913可以包括被耦合到一個(gè)或多個(gè)安全規(guī)則921的Ο/S內(nèi)部安全代理919。操作系統(tǒng)913可以全部地或部分地由圖1的操作系統(tǒng)112、圖2的操作系統(tǒng)212、圖4的操作系統(tǒng)412、圖7的操作系統(tǒng)713和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。Ο/S內(nèi)部安全代理919可以全部地或部分地由圖1的Ο/S內(nèi)部安全代理218、圖4的Ο/S內(nèi)部安全代理418和/或圖7的0/S內(nèi)部安全代理719或其任何合適的組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。[0265]0/S下層捕獲代理920可以由圖1的0/S下層捕獲代理104、圖2的SVMM216、圖4的固件安全代理440、442或PC固件安全代理444、圖5的固件安全代理516、圖7的微代碼安全代理708和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。已觸發(fā)事件應(yīng)對(duì)程序922可以由圖1的已觸發(fā)事件應(yīng)對(duì)程序108、圖2的SVMM安全代理217、圖4的0/S下層代理450、圖7的0/S下層代理712和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。在各種實(shí)施例中,0/S下層捕獲代理920的功能性中的一些可以由已觸發(fā)事件應(yīng)對(duì)程序922完成,或者已觸發(fā)事件應(yīng)對(duì)程序922的功能性中的一些可以由0/S下層捕獲代理920完成。此外,可以在相同的軟件模塊中實(shí)現(xiàn)0/S下層捕獲代理920和已觸發(fā)事件應(yīng)對(duì)程序922。[0266]安全規(guī)則908可以由圖1的安全規(guī)則114、圖2的安全規(guī)則222、圖4的安全規(guī)則434、436、438、圖5的安全規(guī)則518、圖7的安全規(guī)則707、723和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。安全規(guī)則921可以由圖2的安全規(guī)則220、圖4的安全規(guī)則420、圖7的安全規(guī)則721和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。[0267]0/S下層捕獲代理920可以被配置為截取對(duì)諸如處理器資源924之類的任何合適的資源的訪問或來自諸如處理器資源924之類的任何合適的資源的信息。例如,處理器資源924可以由圖1的資源106、圖2的系統(tǒng)資源214、圖4的諸如顯示器424和存儲(chǔ)426之類的組件的部分或圖7的系統(tǒng)資源實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。處理器資源924可以包括諸如處理器902之類的處理器可用的資源,以便允許處理器加載和執(zhí)行指令。這樣的資源可以包括,例如,數(shù)據(jù)寄存器928、控制寄存器930、高速緩存934、處理器標(biāo)志936、處理器核心938、處理器異常940或處理器中斷942。對(duì)這樣的資源的已嘗試訪問可以包括諸如帶有操作數(shù)的匯編語言指令之類的指令。捕獲對(duì)其可用的處理器資源924可以取決于由處理器902公開的資源。例如,如果在虛擬機(jī)監(jiān)視器中實(shí)現(xiàn)0/S下層捕獲代理920,則可用于供0/S下層捕獲代理920捕獲的處理器資源924可以限于由處理器902出于虛擬化的目的公開的處理器資源924。在這樣的情況中,處理器902可以包括用于處理器資源924中的一些的虛擬化擴(kuò)展。在另一示例中,如果在微代碼安全代理中實(shí)現(xiàn)0/S下層捕獲代理920,那么,處理器902已經(jīng)使得處理器902的幾乎所有資源都可用于捕獲。[0268]0/S下層捕獲代理920可以包括處理器資源控制結(jié)構(gòu)(“PRCS”)926??梢砸杂涗洝?shù)據(jù)結(jié)構(gòu)、表或任何其他合適的結(jié)構(gòu)實(shí)現(xiàn)PRCS926。PRCS926可以包含指定應(yīng)捕獲處理器資源924的哪些指令、信息或已嘗試訪問的信息。Ο/S下層捕獲代理920或已觸發(fā)事件應(yīng)對(duì)程序922可以被配置為在PRCS926中設(shè)置對(duì)應(yīng)于要捕獲的敏感的操作、信息或資源的標(biāo)志。0/S下層捕獲代理920或已觸發(fā)事件應(yīng)對(duì)程序922可以被配置為根據(jù)被包含在安全規(guī)則908內(nèi)的信息在PRCS926中設(shè)置這樣的標(biāo)志。[0269]圖10是PRCS1000的示例實(shí)施例。PRCS1000可以是圖9的PRCS926的示例實(shí)施例。PRCS1000可以包括要捕獲的各種處理器資源的條目1014的表。每一條目可以具有標(biāo)識(shí)資源和可以產(chǎn)生已觸發(fā)事件的條件的一個(gè)或多個(gè)字段1004、1006、1008、1010、1012。例如,PRCS1000可以具有用于觸發(fā)標(biāo)志1002、資源的標(biāo)識(shí)符1004、與資源相關(guān)聯(lián)的類型1006、觸發(fā)器類型1008、關(guān)于何時(shí)觸發(fā)事件的何時(shí)觸發(fā)條件1010和其中觸發(fā)事件的執(zhí)行階段1012的字段。PRCS1000的實(shí)現(xiàn)可以取決于其資源被標(biāo)識(shí)的處理器的本質(zhì),包括體系結(jié)構(gòu)(例如工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)“ISA”)或由處理器902公開的資源。[0270]觸發(fā)標(biāo)志1002可以包括關(guān)聯(lián)條目1014的捕獲和觸發(fā)開啟還是關(guān)閉的指示。這樣的標(biāo)志可以允許把捕獲條件作為條目1014加載到PRCS1000中但更保持蟄伏。因而,PRCS1000可以加載有安全規(guī)則的實(shí)施例而不主動(dòng)地強(qiáng)加它們。觸發(fā)標(biāo)志1002可以被配置為由諸如圖9的0/S下層捕獲代理920之類的實(shí)體設(shè)置。這樣的操作可以允許使用PRCS1000的反惡意軟件系統(tǒng)相比于將要求每次允許或禁用對(duì)特定資源或條件的捕獲時(shí)增殖和減少PRCS1000的系統(tǒng)操作得快得多。開啟和關(guān)閉條目1014的能力可以允許反惡意軟件系統(tǒng)有選擇地捕獲某些操作。如果特定的捕獲操作在時(shí)間或執(zhí)行方面是昂貴的,則這樣的選擇性是有益的,且因而僅在檢測(cè)到特定的條件時(shí)允許條目1014。例如,如果系統(tǒng)正常地多次與到特定的寄存器,可以關(guān)閉對(duì)該寄存器的訪問的捕獲,直到反惡意軟件系統(tǒng)的另一部分檢測(cè)到指示可能的惡意軟件感染的可疑行為。在這樣的情況中,對(duì)應(yīng)于寫寄存器的條目1014的觸發(fā)標(biāo)志1002可以被設(shè)置為“0N”以便捕捉攻擊資源的任何附加惡意嘗試。[0271]資源標(biāo)識(shí)符1004可以包括要捕獲的處理器的特定資源的標(biāo)識(shí)。例如,標(biāo)識(shí)符1004可以顯示,資源是寄存器,例如特定的數(shù)據(jù)寄存器、諸如EAX之類的地址寄存器、棧區(qū)寄存器、控制寄存器、矢量寄存器、諸如ESP之類的棧區(qū)指針、指令寄存器、程序計(jì)數(shù)器、指令寄存器、程序狀態(tài)字、常量寄存器、浮點(diǎn)寄存器、或條件寄存器。作為其他示例,標(biāo)識(shí)符1004可以標(biāo)識(shí),資源是指令,例如“JMP”、“JZ”(如果條件等于零則跳轉(zhuǎn))、“JNZ”(如果條件不于零則跳轉(zhuǎn))、“M0V”(移動(dòng)值)或“SysEnter”(快速調(diào)用O環(huán)過程)。作為又一示例,標(biāo)識(shí)符1004可以標(biāo)識(shí),資源是類似于以下的其他資源中的一種:諸如轉(zhuǎn)換后備緩沖器之類的高速緩存;諸如時(shí)間戳計(jì)數(shù)器之類的計(jì)數(shù)器;諸如系統(tǒng)的處理器O、處理器1...處理器N之類的邏輯核心;或諸如“DIV/0”之類的處理器異?;蛑T如處理器間中斷之類的中斷或其他全局變量。資源標(biāo)識(shí)符1004可以被轉(zhuǎn)換成指令的地址、寄存器或由資源標(biāo)識(shí)符1004表示的其他資源的表示。資源類型1006可以包括條目1014包括的資源的類或類型的標(biāo)識(shí)。PRCS1000的一些條目可以適用于特定類型的所有資源。[0272]觸發(fā)器類型1008可以包括所得到的已觸發(fā)事件的應(yīng)對(duì)是同步還是異步的標(biāo)識(shí)。同步觸發(fā)可以引起已捕獲資源的執(zhí)行或通信停機(jī),直到例如判斷該嘗試是否指示惡意軟件。異步觸發(fā)可以允許已捕獲資源的執(zhí)行或通信繼續(xù),同時(shí)例如記錄觸發(fā)器以供將來評(píng)估。在一個(gè)實(shí)施例中,異步觸發(fā)的對(duì)資源的已嘗試訪問可以被用來構(gòu)建較大系列動(dòng)作的評(píng)估,且在可以做出判斷之前這樣的系列動(dòng)作的適當(dāng)評(píng)估可以要求多個(gè)數(shù)據(jù)點(diǎn)。例如,無論指令指針寄存器的特定讀取自身可能不是惡意的,但是所返回的信息的隨后使用可能是惡意的。因而,狀態(tài)機(jī)可以被用來首先異步捕獲指令指針寄存器的讀取,但是然后同步地捕獲其在另一指令中的使用。[0273]何時(shí)觸發(fā)條件1010可以包括邏輯規(guī)則或條件,在這些規(guī)則和條件下將基于對(duì)資源的訪問產(chǎn)生已觸發(fā)事件。例如,在寫入或讀取資源時(shí)將為寄存器產(chǎn)生已觸發(fā)事件。在執(zhí)行諸如“JMP”之類的指令時(shí)將為指令產(chǎn)生已觸發(fā)事件。在高速緩存失效時(shí),可以為諸如轉(zhuǎn)換后備緩沖器之類的高速緩存產(chǎn)生已觸發(fā)事件。取決于處理器的狀態(tài),例如在核心是空閑的時(shí),可以為處理器核心產(chǎn)生已觸發(fā)事件。在設(shè)置或?qū)懭霕?biāo)志或異常時(shí),可以觸發(fā)處理器異?;蛱幚砥鳂?biāo)志。何時(shí)觸發(fā)條件1010可以包括組合邏輯條件,例如對(duì)單個(gè)資源的多個(gè)條件(例如值范圍)、對(duì)多個(gè)資源的條件(因而在多個(gè)條目1014中連結(jié))或兩者的組合。[0274]何時(shí)觸發(fā)條件1010可以包含根據(jù)要捕獲的資源的類型的條件。例如,在它被寫入、用特定的值寫入或讀取時(shí),可以觸發(fā)寄存器。在另一示例中,在它被寫入、用特定的值寫入或讀取時(shí),可以類似地觸發(fā)高速緩存或指針。在又一示例中,在核心是空閑的時(shí),可以觸發(fā)處理核心。在再一個(gè)示例中,在發(fā)送中斷之前(在對(duì)中斷表的全局空間的嘗試訪問時(shí))或在發(fā)送中斷之后(在寫中斷表之后),可以觸發(fā)處理器間中斷,例如被用來命令處理器核心停機(jī)、睡眠或激活的處理器間中斷。[0275]觸發(fā)器1012的執(zhí)行階段可以包括在指令執(zhí)行的哪一階段中將捕獲已嘗試訪問且產(chǎn)生已觸發(fā)事件的指示。觸發(fā)器1012的執(zhí)行階段與何時(shí)觸發(fā)條件1010組合用作對(duì)捕獲給定資源的附加要求。為了捕獲給定條目,在關(guān)聯(lián)指令到達(dá)觸發(fā)器1012的執(zhí)行階段中指定的執(zhí)行階段時(shí),可以評(píng)估何時(shí)觸發(fā)條件1010。觸發(fā)器1012的執(zhí)行階段可以包括例如對(duì)應(yīng)于處理器的五個(gè)指令執(zhí)行階段或步驟的條目。在一個(gè)實(shí)施例中,五個(gè)這樣的指令執(zhí)行階段可以包括I)提取指令,2)解碼指令,3)執(zhí)行,4)訪問存儲(chǔ)器位置以便得到結(jié)果,以及5)把返回值寫回到存儲(chǔ)器、寄存器或另一位置。在這樣的實(shí)施例中,觸發(fā)器1012的執(zhí)行階段可以包括在五階段中的任何階段之前或之后觸發(fā)的能力。這提供總共六個(gè)不同的示例觸發(fā)選項(xiàng)一在提取之前、在解碼之后(且因而在執(zhí)行之前)、在執(zhí)行之后(且因而在訪問存儲(chǔ)器位置之前)、在訪問存儲(chǔ)器位置之后(且因而在寫返回值之前)以及在寫返回值之后?;趫?zhí)行階段捕獲的能力可以提供其他反惡意軟件系統(tǒng)不可獲得的顯著靈活性。例如,執(zhí)行特定指令的結(jié)果預(yù)先未知,且因而反惡意軟件系統(tǒng)可以把觸發(fā)器1012的執(zhí)行階段的值設(shè)置為在訪問存儲(chǔ)器位置以便得到結(jié)果之后,但在把返回值寫回到寄存器之前,如該指令所命令的。這可以允許反惡意軟件系統(tǒng)評(píng)估操作結(jié)果而無需允許寫入它。如果該結(jié)果指示惡意操作,那么,可以把啞元值而不是從第四執(zhí)行階段返回的值寫回到寄存器?;谝褔L試執(zhí)行,可以把關(guān)于已嘗試執(zhí)行的信息提供給已觸發(fā)事件的應(yīng)對(duì)程序,以便幫助判斷該嘗試是否惡意的。[0276]PRCS1000的每一資源1004可以具有多個(gè)條目對(duì)應(yīng)于對(duì)資源1004與另一1004的訪問的組合。這樣的訪問組合可以包括要捕獲的兩個(gè)步驟或更多進(jìn)程。例如,條目1014可以包括用于以下的分離的條目:a)對(duì)對(duì)應(yīng)于中斷描述符表(“IDT”)的存儲(chǔ)器位置的訪問與對(duì)控制寄存器的訪問的組合,以及b)對(duì)對(duì)應(yīng)于中斷描述符表的存儲(chǔ)器位置的訪問與對(duì)通用寄存器的訪問的組合。此外,在圖9中,這樣的分離的條目可以由系統(tǒng)900的分離部分應(yīng)對(duì)。例如,特定的0/S內(nèi)部捕獲代理919可以應(yīng)對(duì)收集已捕獲IDT的上下文信息——通用寄存器訪問,同時(shí)其他0/S內(nèi)部捕獲代理919可以應(yīng)對(duì)收集已捕獲IDT的上下文信息——控制寄存器訪問。[0277]返回到圖9,0/S下層捕獲代理920可以被配置為在PRCS926中設(shè)置標(biāo)志或添加條目。0/S下層捕獲代理920可以被配置為訪問諸如安全規(guī)則908之類的一個(gè)或多個(gè)安全規(guī)則以判斷這樣的標(biāo)志或條目。在一個(gè)實(shí)施例中,0/S下層捕獲代理920可以被配置為從已觸發(fā)事件應(yīng)對(duì)程序922接收設(shè)置這樣的標(biāo)志或條目的指令,已觸發(fā)事件應(yīng)對(duì)程序922可以在查詢安全規(guī)則908或保護(hù)服務(wù)器202之后調(diào)用0/S下層捕獲代理920??梢杂商幚砥?02和/或0/S下層捕獲代理920提供用于設(shè)置標(biāo)志或向PRCS926添加條目的一組特定的特權(quán)例程。[0278]如果電子設(shè)備901包括多于一個(gè)的處理器,則每一個(gè)這樣的處理器可以具有相應(yīng)的PRCS926。在一個(gè)實(shí)施例中,系統(tǒng)900可以包括用于每一個(gè)這樣的PRCS926的0/S下層捕獲代理920。在另一實(shí)施例中,0/S下層捕獲代理920可以被配置為捕獲在每一個(gè)這樣的PRCS926中表示的資源。[0279]如果系統(tǒng)900支持虛擬化,那么,PRCS926自身可以被虛擬化。虛擬化PRCS926的內(nèi)容可以限于被相應(yīng)的處理器902虛擬化的那些資源。這樣的被虛擬化PRCS926可以被包括在虛擬機(jī)監(jiān)視器中。在這樣的情況中,0/S下層捕獲代理920或已觸發(fā)事件應(yīng)對(duì)程序922可以被配置為在這樣的虛擬機(jī)監(jiān)視器中控制PRCS926。在另一實(shí)施例中,0/S下層捕獲代理920可以被配置為捕獲在每一個(gè)這樣的PRCS926中表示的資源。此外,以每PRCS或每虛擬化處理器為基礎(chǔ),可以在每一個(gè)這樣的虛擬化PRCS926中創(chuàng)建條目1014,且可以在每一個(gè)這樣的虛擬化PRCS926中設(shè)置觸發(fā)標(biāo)志1002。[0280]0/S下層捕獲代理920可以被配置為把從已捕獲嘗試或通信得到的已觸發(fā)事件發(fā)送給已觸發(fā)事件應(yīng)對(duì)程序922。已觸發(fā)事件應(yīng)對(duì)程序922可以被配置為基于已觸發(fā)事件的信息和一個(gè)或多個(gè)安全規(guī)則908執(zhí)行任何合適的隨后動(dòng)作。例如,已觸發(fā)事件應(yīng)對(duì)程序922可以被配置為允許已嘗試指令的執(zhí)行,但是要求在執(zhí)行之后通知結(jié)果。在另一示例中,已觸發(fā)事件應(yīng)對(duì)程序922可以被配置為完全跳過命令的執(zhí)行或通信。如果沒有要求返回值,則可以應(yīng)用這樣的示例。在又一示例中,例如通過使用“JMP”指令來把執(zhí)行發(fā)送給修復(fù)例程的地址,可以把執(zhí)行傳遞到新的位置。[0281]在操作中,0/S下層捕獲代理920和已觸發(fā)事件應(yīng)對(duì)程序922可以在電子設(shè)備901上操作。Ο/s下層捕獲代理920可以在低于電子設(shè)備901的操作系統(tǒng)的級(jí)別操作。此外,已觸發(fā)事件應(yīng)對(duì)程序922也可以在低于電子設(shè)備901的操作系統(tǒng)的級(jí)別操作。已觸發(fā)事件應(yīng)對(duì)程序922可以查閱安全規(guī)則908或保護(hù)服務(wù)器202以判斷在PRCS926中設(shè)置什么標(biāo)志1002或條目1014。已觸發(fā)事件應(yīng)對(duì)程序922可以向0/S下層捕獲代理920指示在PRCS926中設(shè)置什么標(biāo)志1002或條目1014。取決于檢測(cè)到的各種條件,例如正在使用的應(yīng)用910、所檢測(cè)的惡意軟件的其他指示、先前已觸發(fā)事件或電子設(shè)備901的管理員設(shè)置,0/S下層捕獲代理920和已觸發(fā)事件應(yīng)對(duì)程序922可以在電子設(shè)備901操作期間動(dòng)態(tài)地改變觸發(fā)標(biāo)志1002或在PRCS926中添加新的條目1014。作為這樣的動(dòng)態(tài)改變的基礎(chǔ)的信息可以來自,例如,0/S下層捕獲代理920或0/S內(nèi)部代理919??梢愿鶕?jù)資源1004或資源類型1006標(biāo)識(shí)PRCS926中的條目1014。觸發(fā)器類型1008可以被設(shè)置為把隨后的已捕獲事件配置成同步的或異步的。何時(shí)觸發(fā)條件1010可以被設(shè)置為配置在什么環(huán)境下已截取的請(qǐng)求將產(chǎn)生已觸發(fā)事件,如同觸發(fā)器1012的執(zhí)行階段那樣。[0282]取決于系統(tǒng)900遇到的各種條件,可以動(dòng)態(tài)地允許或禁用PRCS926中的條目。例如,0/S下層捕獲代理920可以禁用昂貴的捕獲操作,這是因?yàn)橹钡揭延|發(fā)事件應(yīng)對(duì)程序922接收到電子設(shè)備901受到惡意軟件攻擊的指示的這樣的時(shí)間之前,所捕獲的已嘗試訪問頻繁地發(fā)生,帶有許多假陽性。然后,0/S下層捕獲代理920可以允許捕獲操作。在一個(gè)實(shí)施例中,在這樣的條件下可以允許一個(gè)或多個(gè)處理器資源924上的廣泛捕獲以便防止未知的惡意軟件動(dòng)作進(jìn)一步危害電子設(shè)備901。這樣的廣泛捕獲可以擴(kuò)展到本質(zhì)上關(guān)閉處理器、虛擬化處理器、線程、進(jìn)程或應(yīng)用的整個(gè)執(zhí)行環(huán)境。[0283]對(duì)處理器資源924的請(qǐng)求可以起因于處于系統(tǒng)900的操作系統(tǒng)的級(jí)別的實(shí)體,例如起因于應(yīng)用910、驅(qū)動(dòng)程序911或操作系統(tǒng)913。請(qǐng)求可以被傳送給處理器資源924但被0/S下層捕獲代理920截取。此外,通過各種處理器資源924可以從處理器產(chǎn)生信息或通信。信息或通信可以由0/S下層捕獲代理920截取。[0284]如果信息或通信匹配PRCS926中的條目1014的任何何時(shí)觸發(fā)1010字段,則0/S下層捕獲代理920可以使用PRCS926來捕獲對(duì)資源的訪問,且隨后,產(chǎn)生已觸發(fā)事件。被設(shè)置為“0N”的觸發(fā)標(biāo)志1002已經(jīng)允許的條目1014可以被匹配為已嘗試訪問或信息或通信??梢园岩L問的資源與資源字段1004和/或資源類型字段1006進(jìn)行比較。如果要訪問的資源匹配這樣的字段,那么,可以評(píng)估何時(shí)觸發(fā)條件1010。如果何時(shí)觸發(fā)條件1010匹配系統(tǒng)信息或關(guān)于該請(qǐng)求的信息,那么,PRCS926可以產(chǎn)生已觸發(fā)事件。觸發(fā)器1012的執(zhí)行階段可以被用來判斷在何時(shí)產(chǎn)生已觸發(fā)事件。例如,可以在在指令提取之前、在指令提取之后、在執(zhí)行之后、在訪問存儲(chǔ)器以供隨后寫入、或在訪問諸如寄存器之類的另一資源以供寫回之后創(chuàng)建已觸發(fā)事件。此外,可以為已嘗試通信或諸如處理器間中斷之類的信息的產(chǎn)生而產(chǎn)生已觸發(fā)事件,類似于在中斷被發(fā)送或被寫到中斷表之前或之后的“Interrupt_Sleep(中斷_睡眠)”。取決于觸發(fā)器類型1008,所產(chǎn)生的已觸發(fā)事件可以是同步的或異步的。如果產(chǎn)生了同步的已觸發(fā)事件,則0/S下層捕獲代理920可以停止對(duì)資源的已嘗試訪問或通信的產(chǎn)生的執(zhí)行,等待事件的應(yīng)對(duì)。如果產(chǎn)生了異步的已觸發(fā)事件,則0/S下層捕獲代理920可以允許對(duì)資源的已嘗試訪問或通信的產(chǎn)生的執(zhí)行。0/S下層捕獲代理920可以把關(guān)于嘗試的附加上下文信息添加到已觸發(fā)事件,例如該嘗試從其中起源的存儲(chǔ)器地址、把結(jié)果寫到何處或任何其他合適的信息。[0285]出于決定已觸發(fā)事件是否可疑的目的,0/S下層捕獲代理920可以包括與已觸發(fā)事件相關(guān)的信息。例如,0/S下層捕獲代理920可以確定諸如判斷存儲(chǔ)器的什么部分做出已嘗試訪問之類的信息??梢杂梢延|發(fā)事件應(yīng)對(duì)程序922把該存儲(chǔ)器部分與在電子設(shè)備903上運(yùn)行的已知的進(jìn)程、應(yīng)用或程序進(jìn)行相關(guān)。如果已嘗試訪問起因于未知的或未經(jīng)授權(quán)的進(jìn)程、應(yīng)用或程序,那么,該嘗試可能是可疑的。已觸發(fā)事件應(yīng)對(duì)程序922可以使用來自0/S內(nèi)部安全代理919的信息來判斷這樣的相關(guān)。在另一示例中,0/S下層捕獲代理920可以提供關(guān)于先前已觸發(fā)事件的信息,例如狀態(tài)機(jī)中所記錄的那些。與目前的已觸發(fā)事件相關(guān)的這樣的先前已觸發(fā)事件可以提供關(guān)于該嘗試是否可疑的上下文信息。[0286]0/S下層捕獲代理920可以把已觸發(fā)事件傳送給已觸發(fā)事件應(yīng)對(duì)程序922,已觸發(fā)事件應(yīng)對(duì)程序922可以通過根據(jù)安全規(guī)則908評(píng)估已觸發(fā)事件中的信息和/或來自0/S內(nèi)部代理919的上下文信息來應(yīng)對(duì)該事件??梢耘袛嗨玫降倪m當(dāng)?shù)膭?dòng)作并將其發(fā)送回到0/S下層捕獲代理920以便應(yīng)用到已捕獲嘗試。這樣的動(dòng)作可以包括允許嘗試、拒絕指令執(zhí)行或代入不同的數(shù)據(jù)或指令以便規(guī)避惡意軟件的操作。[0287]0/S下層捕獲代理920可以存儲(chǔ)已觸發(fā)事件以供在捕獲將來的嘗試訪問時(shí)隨后引用。例如,惡意操作可能要求要由處理器資源924執(zhí)行多個(gè)指令。因而,這樣的惡意行為的每一步驟可以被反映在PRCS926中的分離的條目1014中。0/S下層捕獲代理920可以捕獲惡意操作的第一步驟,該第一步驟自身可以不是惡意的但僅在與隨后的步驟組合時(shí)是惡意的。在這樣的情況中,可以把這樣的步驟的條目1014設(shè)置為異步觸發(fā),這是由于該條件僅僅被記錄到狀態(tài)機(jī)中以使得0/S下層捕獲代理920或PRCS926可以知曉先前所應(yīng)對(duì)的嘗試。惡意操作的第二步驟的捕獲可以具有如同何時(shí)觸發(fā)條件1010的對(duì)第一步驟的捕獲。[0288]圖11是用于調(diào)節(jié)對(duì)電子設(shè)備上的安全敏感的處理器資源的軟件訪問的方法1100的示例實(shí)施例。在步驟1105,可以訪問安全規(guī)則以在步驟1110判斷要保護(hù)什么處理器資源或處理器通信。在低于電子設(shè)備中的操作系統(tǒng)的級(jí)別操作的捕獲代理可以判斷要捕獲什么資源和通信。這樣的捕獲代理可以在例如虛擬機(jī)監(jiān)視器、固件或處理器的微代碼中操作。[0289]在步驟1115,可以把對(duì)應(yīng)于要捕獲的資源或通信的條目寫到處理器資源控制結(jié)構(gòu),處理器資源控制結(jié)構(gòu)可以被配置為在指定條件下捕獲對(duì)已指派資源或通信的操作、訪問或其他使用。PRCS中的條目可以寫上資源的標(biāo)識(shí)、資源類型、將觸發(fā)事件的條件、觸發(fā)器將是異步還是同步以及已嘗試訪問或通信應(yīng)在什么執(zhí)行階段(如果有的話)產(chǎn)生已觸發(fā)事件。在步驟1120,PRCS中的條目也可以寫上觸發(fā)器或允許標(biāo)志,其指示條目是否被激活以供是否捕獲。如果不設(shè)置觸發(fā)標(biāo)志,那么,該條目可以蟄伏且不被用來捕獲對(duì)資源的已嘗試訪問。[0290]在步驟1125,可以監(jiān)視對(duì)資源的訪問或通信的產(chǎn)生。這樣的監(jiān)視可以通過PRCS發(fā)送。電子設(shè)備中的實(shí)體可以試圖嘗試產(chǎn)生處理器通信或嘗試訪問處理器資源。對(duì)訪問資源的這樣的嘗試可以起源于電子設(shè)備的操作系統(tǒng)的級(jí)別。如果指令、命令或?qū)υL問資源的其他嘗試匹配PRCS中的條目的資源標(biāo)識(shí)符,其中該條目已經(jīng)被激活,那么,可以捕獲該嘗試。類似地,如果產(chǎn)生了匹配PRCS中的條目的資源標(biāo)識(shí)符的處理器通信,其中該條目已經(jīng)被激活,那么,可以捕獲該嘗試。在一個(gè)實(shí)施例中,如果滿足指定何時(shí)觸發(fā)的附加準(zhǔn)則,則可以捕獲對(duì)訪問資源的嘗試或通信的產(chǎn)生。例如,在曾經(jīng)寫入控制寄存器時(shí)可以捕獲對(duì)控制寄存器的嘗試寫入。在另一示例中,在控制寄存器寫有特定的值時(shí)可以捕獲對(duì)控制寄存器的嘗試與入。[0291]在步驟1130,可以判斷是否捕獲了已嘗試訪問或通信。如果沒有捕獲到嘗試,那么,在步驟1140可以判斷是否需要調(diào)整PRCS中的條目。這樣的調(diào)整可以包括允許或禁用這樣的條目、添加新的條目或調(diào)整準(zhǔn)則或條目的設(shè)置。然后,方法1100可以返回到步驟1125。這樣的調(diào)整可以是基于例如電子設(shè)備中所檢測(cè)到的新的惡意軟件、時(shí)間的流逝、先前已捕獲嘗試或管理員的設(shè)置。[0292]在步驟1145,如果已經(jīng)捕獲到嘗試,則可以判斷所得到的已觸發(fā)事件應(yīng)該是同步的還是異步的。如果觸發(fā)器類型是不同步的,那么,方法1100可以返回到步驟1125,與進(jìn)行到步驟1150并行發(fā)生。如果觸發(fā)器類型是同步的,那么,在步驟1150可以存儲(chǔ)關(guān)于已捕獲嘗試的信息。這樣的信息可以例如被狀態(tài)機(jī)用于將來判斷已捕獲嘗試是否應(yīng)該產(chǎn)生已觸發(fā)事件。在步驟1155,可以判斷是否滿足觸發(fā)器的所有條件。這樣的條件可以要求例如把某些值寫入到資源,或請(qǐng)求起源于(或不起源于)存儲(chǔ)器中的特定位置。此外,這樣的條件可以要求先前捕獲了其他嘗試??梢栽L問關(guān)于這樣的嘗試的信息并將其存儲(chǔ)在狀態(tài)機(jī)中。如果沒有滿足觸發(fā)的所有條件,那么,方法1100可以返回到步驟1125。[0293]如果滿足了觸發(fā)的所有條件,那么,在步驟1155可以判斷在哪一特定執(zhí)行階段(如果有的話)應(yīng)產(chǎn)生已觸發(fā)事件。這樣的階段可以包括,例如,在提取嘗試中的指令之前、在提取指令之后、在執(zhí)行指令之后、在訪問存儲(chǔ)器以便讀取結(jié)構(gòu)之后或在寫回值之后。此夕卜,這樣的階段可以包括在執(zhí)行處理器間中斷之前或之后。一旦完成了所指派的執(zhí)行階段,則在步驟1165可以產(chǎn)生該嘗試的已觸發(fā)事件。在步驟1170,在已觸發(fā)事件中可包括諸如該嘗試的源地址或目的地地址之類的上下文信息或所涉及的資源,以便在步驟1175傳遞給應(yīng)對(duì)程序。[0294]在步驟1180,可以查詢安全規(guī)則,以便在步驟1185判斷已觸發(fā)事件是否可疑的、不為管理員設(shè)置所準(zhǔn)許、或指示惡意軟件。諸如已觸發(fā)事件的上下文信息之類的上下文信息、電子設(shè)備的操作系統(tǒng)中的其他事件或管理員設(shè)置可以被用來評(píng)估安全規(guī)則對(duì)已觸發(fā)事件的應(yīng)用。如果已觸發(fā)事件是不可疑的,那么,在步驟1187可以通知捕獲代理,且方法1100可以返回到步驟1125。如果已觸發(fā)事件是可疑的,那么,在步驟1190所得到的矯正動(dòng)作可以被發(fā)送給捕獲代理。這樣的矯正動(dòng)作可以取決于對(duì)訪問資源或產(chǎn)生處理器通信的特定嘗試。例如,惡意指令可以欺騙要讀或?qū)懙闹担蚩梢园烟D(zhuǎn)指令定向到修復(fù)例程。在步驟1195,可以應(yīng)用矯正動(dòng)作。方法1100可以返回到步驟1125。[0295]圖12是使用電子設(shè)備1201上的操作系統(tǒng)下層捕獲來調(diào)節(jié)軟件訪問以便保護(hù)存儲(chǔ)器的系統(tǒng)1200的示例實(shí)施例。系統(tǒng)1200可以包括0/S下層安全代理1220,0/S下層安全代理1220被配置為在電子設(shè)備1201上操作以便檢測(cè)對(duì)訪問存儲(chǔ)器的惡意嘗試,該惡意嘗試來自在電子設(shè)備1201的諸如操作系統(tǒng)1213之類的操作系統(tǒng)中運(yùn)行的基于軟件的實(shí)體。此外,0/S下層安全代理1220可以被配置為使用一個(gè)或多個(gè)安全規(guī)則1208和存儲(chǔ)器映射1206來判斷捕獲對(duì)存儲(chǔ)器的什么已嘗試訪問以及如何應(yīng)對(duì)對(duì)應(yīng)于已捕獲操作而創(chuàng)建的已觸發(fā)事件。0/S下層安全代理1220可以被配置為允許已觸發(fā)事件、拒絕已觸發(fā)事件或?yàn)橐延|發(fā)事件采取其他矯正動(dòng)作。[0296]電子設(shè)備1201可以全部地或部分地由圖1的電子設(shè)備103、圖2的電子設(shè)備204、圖4的電子設(shè)備404、圖7的電子設(shè)備701、圖9的電子設(shè)備901和/或其任何組合實(shí)現(xiàn),或者配置為實(shí)現(xiàn)它們的功能性。電子設(shè)備1201可以包括被耦合到諸如物理存儲(chǔ)器1203之類的存儲(chǔ)器的一個(gè)或多個(gè)處理器1202。處理器1202可以全部地或部分地由圖2的處理器208、圖4的處理器408、圖7的處理器702、圖9的處理器902或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。物理存儲(chǔ)器1203可以全部地或部分地由圖2的存儲(chǔ)器206、圖4的存儲(chǔ)器406、圖7的存儲(chǔ)器703、圖9的存儲(chǔ)器903和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。電子設(shè)備1201可以包括操作系統(tǒng)1213,操作系統(tǒng)1213可以包括被耦合到一個(gè)或多個(gè)安全規(guī)則1221的0/S內(nèi)部安全代理1219。操作系統(tǒng)1213可以全部地或部分地由圖1的操作系統(tǒng)112、圖2的操作系統(tǒng)212、圖4的操作系統(tǒng)412、圖7的操作系統(tǒng)713、圖9的操作系統(tǒng)913和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。0/S內(nèi)部安全代理1219可以全部地或部分地由圖1的0/S內(nèi)部安全代理218、圖4的0/S內(nèi)部安全代理418、和/或圖7的0/S內(nèi)部安全代理719、圖9的安全規(guī)則908或其任何合適的組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。[0297]0/S下層安全代理1220可以由圖1的0/S下層捕獲代理104或已觸發(fā)事件應(yīng)對(duì)程序108、圖2的SVMM216或SVMM安全代理217、圖4的固件安全代理440、442、0/S下層代理450或PC固件安全代理444、圖5的固件安全代理516、或圖7的微代碼安全代理708或0/S下層代理712、圖9的0/S下層捕獲代理920或已觸發(fā)事件應(yīng)對(duì)程序922和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。[0298]安全規(guī)則1208可以由圖1的安全規(guī)則114、圖2的安全規(guī)則222、圖4的安全規(guī)則434、436、438、圖5的安全規(guī)則518、圖7的安全規(guī)則707、723、圖9的安全規(guī)則908和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。安全規(guī)則1221可以由圖2的安全規(guī)則220、圖4的安全規(guī)則420、圖7的安全規(guī)則721、圖9的安全規(guī)則921和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。[0299]0/S下層安全1220可以被配置為截取對(duì)電子設(shè)備1201的存儲(chǔ)器的訪問。這樣的存儲(chǔ)器可以包括,例如,對(duì)物理存儲(chǔ)器1203的地址的已嘗試訪問或?qū)μ摂M存儲(chǔ)器1204的頁面的已嘗試訪問。這樣的嘗試訪問可以起源于操作系統(tǒng)1213或利用操作系統(tǒng)1213來在電子設(shè)備1201上運(yùn)行的實(shí)體,例如應(yīng)用1210或驅(qū)動(dòng)程序1211。[0300]在一個(gè)實(shí)施例中,受0/S下層安全1220保護(hù)的存儲(chǔ)器可以包括虛擬存儲(chǔ)器1204。虛擬存儲(chǔ)器1204可以包括諸如操作系統(tǒng)1213、應(yīng)用1210或驅(qū)動(dòng)程序1211之類的實(shí)體可用的存儲(chǔ)器,已經(jīng)從物理存儲(chǔ)器和/或存儲(chǔ)提取出該存儲(chǔ)器。虛擬存儲(chǔ)器1204可以是對(duì)諸如操作系統(tǒng)1213、應(yīng)用1210或驅(qū)動(dòng)程序1211之類的實(shí)體來說作為連續(xù)的一塊存儲(chǔ)器而出現(xiàn),盡管所使用的實(shí)際空間可以跨越諸如物理存儲(chǔ)器1203之類的實(shí)際物理存儲(chǔ)器而分離地散布和/或在諸如盤的存儲(chǔ)中。虛擬存儲(chǔ)器1204可以根據(jù)處理器1202的擴(kuò)展來虛擬化。虛擬存儲(chǔ)器1204的地址空間可以被分割成存儲(chǔ)器頁面。存儲(chǔ)器頁面可以是每一相等的大小,例如四千字節(jié)。電子設(shè)備1201可以被配置為使用頁面表來把虛擬存儲(chǔ)器1204的虛擬地址轉(zhuǎn)換成諸如物理存儲(chǔ)器1203之類的存儲(chǔ)器的物理地址或存儲(chǔ)的地址。電子設(shè)備1201可以包括存儲(chǔ)器管理單元1214(“MMU”),存儲(chǔ)器管理單元1214被配置為把虛擬存儲(chǔ)器1204的虛擬地址轉(zhuǎn)換成諸如物理存儲(chǔ)器1203之類的存儲(chǔ)器的物理地址和/或存儲(chǔ)的地址。可以索引虛擬存儲(chǔ)器1204的頁面。對(duì)虛擬存儲(chǔ)器1204頁面的已嘗試訪問可以包括頁面的已嘗試的讀、寫或執(zhí)行,且0/S下層安全代理1220可以被配置為捕獲該嘗試。在一個(gè)實(shí)施例中,虛擬存儲(chǔ)器1204的頁面可以對(duì)應(yīng)于物理存儲(chǔ)器地址或存儲(chǔ)的地址。在另一實(shí)施例中,每一虛擬存儲(chǔ)器1204的頁面可以對(duì)應(yīng)于物理存儲(chǔ)器地址。在又一實(shí)施例中,包含諸如操作系統(tǒng)1213的特定部分之類的某些內(nèi)容頁面可以被固定且在電子設(shè)備1201的操作期間可以不改變。[0301]在另一實(shí)施例中,受0/S下層安全代理1220保護(hù)的存儲(chǔ)器可以包括物理存儲(chǔ)器1203??梢酝ㄟ^物理存儲(chǔ)器的地址訪問物理存儲(chǔ)器1203,如標(biāo)記(A)、(B)、(C)、(D)、(E)、(F)、(G)、(H)、(I)、(J)和(K)中所示出的,物理存儲(chǔ)器的地址指示物理存儲(chǔ)器1203中的特定地址,該地址可以是包含已定義元素的存儲(chǔ)器范圍的基地址??梢酝ㄟ^對(duì)特定的存儲(chǔ)器地址的已嘗試的讀、寫或執(zhí)行來訪問物理存儲(chǔ)器1203,且0/S下層安全代理1220可以被配置為捕獲該嘗試。例如,已嘗試的寫可以采取指令“MOVAddrl,Value(移動(dòng)地址1,值)”的形式,其中,由變量“Value(值)”表示的值被寫到由“Addrl(地址I)”表示的特定存儲(chǔ)器地址??梢允褂脤懙轿锢泶鎯?chǔ)器1203地址的任何指令。已嘗試的讀可以采取諸如“MOVValue,Addrl(移動(dòng)值,地址I)”之類的指令的形式,其中,由“Addrl”表示的特定存儲(chǔ)器地址讀取由變量“Value(值)”表示的值??梢允褂脧奈锢泶鎯?chǔ)器1203地址讀取的任何指令。已嘗試執(zhí)行可以采取用物理存儲(chǔ)器1203地址加載例如諸如“EIP”之類的指令指針寄存器的指令的形式,例如“MOVEIP,Addrl(移動(dòng)EIP,地址I)”。這樣的指令可以被配置為執(zhí)行在由“Addrl”表示的地址開始的代碼??梢允褂糜糜趫?zhí)行存儲(chǔ)器中的地址的任何指令。[0302]0/S下層安全代理1220可以被配置為截取對(duì)虛擬存儲(chǔ)器1204的已嘗試訪問。此夕卜,Ο/s下層安全代理1220可以是被配置為截取對(duì)物理存儲(chǔ)器1203的已嘗試訪問。在一個(gè)實(shí)施例中,可以不截取對(duì)虛擬存儲(chǔ)器1204的請(qǐng)求,但截取在MMU已經(jīng)把虛擬存儲(chǔ)器1204頁面轉(zhuǎn)換成物理存儲(chǔ)器1203地址之后的對(duì)物理存儲(chǔ)器1203的隨后的相應(yīng)嘗試訪問,0/S下層安全代理1220可以被配置為截取對(duì)物理存儲(chǔ)器的已嘗試訪問。在另一實(shí)施例中,可以直接做出對(duì)物理存儲(chǔ)器1203的已嘗試訪問而不需要通過虛擬存儲(chǔ)器1204轉(zhuǎn)換,且0/S下層安全代理1220可以被配置為截取該已嘗試訪問。在再一個(gè)實(shí)施例中,可以截取對(duì)虛擬存儲(chǔ)器1204做出的已嘗試訪問,但0/S下層安全代理1220可以不被配置為截取對(duì)物理存儲(chǔ)器1203地址的隨后訪問。[0303]0/S下層安全代理1220可以通信上耦合到0/S內(nèi)部安全代理1219。0/S下層安全代理1220可以被配置為從0/S內(nèi)部安全代理1219接收關(guān)于對(duì)電子設(shè)備1201的存儲(chǔ)器的已嘗試訪問的上下文信息。由0/S內(nèi)部安全代理1219提供的上下文信息可以包括已經(jīng)嘗試對(duì)電子設(shè)備1201的存儲(chǔ)器的特定訪問的實(shí)體的身份。[0304]0/S下層安全代理1220可以通信上耦合到或包括存儲(chǔ)器映射1206??梢砸晕募?、記錄、數(shù)據(jù)結(jié)構(gòu)或其他合適的實(shí)體實(shí)現(xiàn)存儲(chǔ)器映射1206。存儲(chǔ)器映射1206可以包括關(guān)于電子設(shè)備1201的各種實(shí)體在存儲(chǔ)器中的位置的信息。例如,如果進(jìn)程被加載到電子設(shè)備1201的存儲(chǔ)器中以供執(zhí)行,則存儲(chǔ)器映射1206可以包括關(guān)于虛擬存儲(chǔ)器1204中的哪些存儲(chǔ)器頁面或物理存儲(chǔ)器1203中的哪些地址范圍包含該進(jìn)程的信息。取決于電子設(shè)備1201中的存儲(chǔ)器的虛擬化的實(shí)現(xiàn),該進(jìn)程的所有內(nèi)容可以或者不可以被加載到物理存儲(chǔ)器1203中,這是因?yàn)橐恍﹥?nèi)容可以被加載到諸如盤之類的存儲(chǔ)中。對(duì)于要訪問的這樣的內(nèi)容,它們可以被加載到物理存儲(chǔ)器1203中。在這樣的情況中,存儲(chǔ)器映射1206可以包含關(guān)于內(nèi)容被存儲(chǔ)在其中的地址的信息,無論是在物理存儲(chǔ)器1203中還是在諸如盤之類的存儲(chǔ)中。0/S下層安全代理1220可以被配置為使用存儲(chǔ)器映射1206來判斷虛擬存儲(chǔ)器1204頁面或物理存儲(chǔ)器1203地址中的任何給定內(nèi)容的身份或所有者。例如通過剖析操作系統(tǒng)1213的操作,且然后判斷各種敏感的組件位于存儲(chǔ)器中的何處,0/S下層安全代理1220可以構(gòu)建存儲(chǔ)器映射1206。當(dāng)做出對(duì)訪問存儲(chǔ)器的嘗試時(shí)——例如加載操作系統(tǒng)1213內(nèi)核,或執(zhí)行內(nèi)核模式指令一0/S下層安全代理1220可以被配置為與0/S內(nèi)部安全代理1219通信以便判斷加載或執(zhí)行操作系統(tǒng)1213的什么部分。在另一示例中,0/S下層安全代理1220可以被配置為判斷這樣的虛擬存儲(chǔ)器1204頁面的存儲(chǔ)器范圍的內(nèi)容的散列或數(shù)字簽名??梢园焉⒘谢驍?shù)字簽名與安全規(guī)則1208中所包含的或從保護(hù)服務(wù)器202獲得的已知值進(jìn)行比較。已知的值可以是先前的表征的結(jié)果,其中例如已經(jīng)標(biāo)識(shí)操作系統(tǒng)1213的各部分。要映射的元素可以由安全規(guī)則1208確定。0/S下層安全代理1220可以被配置為在把元素從電子設(shè)備1201中的存儲(chǔ)器的一個(gè)位置復(fù)制到另一位置時(shí)跟蹤元素在存儲(chǔ)器映射1206中的移動(dòng)。[0305]圖13是存儲(chǔ)器映射的示例實(shí)施例的闡釋。在一個(gè)實(shí)施例中,虛擬存儲(chǔ)器映射1302可以包括要通過它們?cè)谔摂M存儲(chǔ)器中的位置跟蹤的元素的映射。在另一實(shí)施例中,物理存儲(chǔ)器映射1304可以包括要通過它們?cè)谖锢泶鎯?chǔ)器中的位置跟蹤的元素的映射。在各種實(shí)施例中,虛擬存儲(chǔ)器映射1302和物理存儲(chǔ)器映射1304可以被映射到一起,以使得可以在兩種映射中跟蹤元素。[0306]虛擬存儲(chǔ)器映射1302可以反映十個(gè)不同的虛擬存儲(chǔ)器頁面。虛擬存儲(chǔ)器映射1302可以闡釋,例如,可以在存儲(chǔ)器頁面I和存儲(chǔ)器頁面2中找到這樣的頁面目錄中的內(nèi)核操作系統(tǒng)數(shù)據(jù)結(jié)構(gòu)。在另一示例中,可以在存儲(chǔ)器頁面4-6中找到被稱為“Fnl”的特定的進(jìn)程、函數(shù)或例程的元素。在又一示例中,可以在頁面8中找到用于系統(tǒng)服務(wù)分派表(“SSDT”)的權(quán)限的數(shù)據(jù)結(jié)構(gòu)。在再一個(gè)示例中,可以在存儲(chǔ)器頁面8和存儲(chǔ)器頁面9中找到被稱為“Fn2”的特定的進(jìn)程、函數(shù)或例程的元素。[0307]物理存儲(chǔ)器映射1304可以用物理存儲(chǔ)器反映元素的位置。物理存儲(chǔ)器中的元素的各部分可以跨越存儲(chǔ)器散布在不鄰近的片段或塊中。此外,物理存儲(chǔ)器中的元素的各部分可以跨越存儲(chǔ)器以任意的次序散布。每一片段的大小在大小方面可以改變。片段可以在偏移基地址的地址處開始。圖13中示出的示例基地址是00x000,在地址FFxFFF終止。表示物理存儲(chǔ)器的各種片段的開始的地址被表示為(A)-(O)。對(duì)于被包含在物理存儲(chǔ)器的多個(gè)片段內(nèi)的元素,可以注意元素的次序。在物理存儲(chǔ)器中,元素的多個(gè)片段可以由指針鏈接在一起,其中元素的一個(gè)片段的結(jié)束可以指向元素的下一片段。[0308]例如,F(xiàn)nl可以被映射到在(A)和(B)、(J)和(K)以及(M)和(N)之間的片段。在另一示例中,SSDT權(quán)限可以被映射到在(G)和(H)之間的片段。在又一示例中,頁面目錄數(shù)據(jù)結(jié)構(gòu)可以被映射到在(O)和FFxFFF、(F)和(G)以及(I)和(J)之間的片段。在再一個(gè)示例中,F(xiàn)n2可以被映射到在(H)和(I)以及(B)和(C)之間的片段。[0309]返回到圖12,0/S下層安全代理1220可以被配置為查閱安全規(guī)則1208以判斷要保護(hù)存儲(chǔ)器的什么部分以及如何保護(hù)它們。例如,安全規(guī)則1208可以被配置為指示頁面目錄數(shù)據(jù)結(jié)構(gòu)僅可以由電子設(shè)備1201的某些經(jīng)授權(quán)實(shí)體寫入。因而,可以捕獲對(duì)寫入頁面目錄數(shù)據(jù)結(jié)構(gòu)的嘗試,且可以檢查嘗試寫入的元素可以以便判斷它們是安全的、未知的還是已知是不安全的。0/S下層安全代理1220可以被配置為查閱存儲(chǔ)器映射1206以判斷頁面目錄數(shù)據(jù)結(jié)構(gòu)位于存儲(chǔ)器中何處。如果例如完全地或部分地在虛擬機(jī)監(jiān)視器中實(shí)現(xiàn)0/S下層安全代理1220,則0/S下層安全代理1220可以被配置為在控制結(jié)構(gòu)中設(shè)置標(biāo)志以便捕獲對(duì)虛擬存儲(chǔ)器1204的存儲(chǔ)器頁面I和/或2的任何嘗試寫入。在另一示例中,如果完全地或部分地以微代碼實(shí)現(xiàn)0/S下層安全代理1220,則0/S下層安全代理1220可以被配置為在控制結(jié)構(gòu)中設(shè)置標(biāo)志以便捕獲對(duì)在物理存儲(chǔ)器1203的地址(O)和FFxFFF、(F)和(G)和(I)和(J)之間的地址范圍內(nèi)的存儲(chǔ)器地址的任何嘗試寫入。[0310]在另一示例中,安全規(guī)則1208可以被配置為指示Fnl僅可以由電子設(shè)備的某些經(jīng)授權(quán)實(shí)體調(diào)用。因而,可以捕獲對(duì)執(zhí)行Fnl的嘗試,且可以檢查調(diào)用Fnl元素以便判斷它們是安全的、未知的還是已知為不安全的。0/S下層安全代理1220可以被配置為查閱存儲(chǔ)器映射1206以判斷Fnl駐留在存儲(chǔ)器中何處。如果例如完全地或部分地在虛擬機(jī)監(jiān)視器中實(shí)現(xiàn)0/S下層安全代理1220,則0/S下層安全代理1220可以被配置為在控制結(jié)構(gòu)中設(shè)置標(biāo)志以便捕獲對(duì)虛擬存儲(chǔ)器1204的存儲(chǔ)器頁面4、5和/或6的已嘗試執(zhí)行。在另一示例中,如果完全地或部分地以微代碼實(shí)現(xiàn)Ο/s下層安全代理1220,則Ο/S下層安全代理1220可以被配置為在控制結(jié)構(gòu)中設(shè)置標(biāo)志以便捕獲對(duì)物理存儲(chǔ)器1203的存儲(chǔ)器地址(A)的任何已嘗試執(zhí)行。在其中可以分離地執(zhí)行Fnl的不同部分的一些情況中,Ο/S下層安全代理1220可以被配置為捕獲對(duì)在物理存儲(chǔ)器1203的(A)和(B)、(M)和(N)、地址(O)和FFxFFF、(F)和(G)、(J)和(K)或(I)和(J)之間的范圍內(nèi)的任何存儲(chǔ)器地址的任何已嘗試執(zhí)行。[0311]在一個(gè)實(shí)施例中,0/S下層安全代理1220可以被配置為查閱0/S內(nèi)部安全代理1219以判斷什么實(shí)體已經(jīng)做出對(duì)寫入存儲(chǔ)器的調(diào)用,然后這被用來判斷實(shí)體是否得到授權(quán)來做出寫入。在另一實(shí)施例中,0/S下層安全代理1220可以是被配置為判斷請(qǐng)求來自其中的虛擬存儲(chǔ)器1204的存儲(chǔ)器頁面并查閱存儲(chǔ)器映射1206以便判斷這樣的存儲(chǔ)器頁面是否與其中映射的任何元素相關(guān)聯(lián)。在又一實(shí)施例中,0/S下層安全代理1220可以被配置為確定請(qǐng)求元素的存儲(chǔ)器頁面的散列或簽名并將其與已知實(shí)體的散列和簽名進(jìn)行比較。[0312]如果0/S下層安全代理1220完全地或部分地由微代碼實(shí)現(xiàn),則0/S下層安全代理1220可以被配置為判斷嘗試寫入的指令的地址。在一個(gè)實(shí)施例中,0/S下層安全代理1220可以被配置為通過檢查指令指針以判斷在物理存儲(chǔ)器1203中的何處做出該指令來做出這樣的判斷。在另一實(shí)施例中,通過訪問存儲(chǔ)器映射1206,0/S下層安全代理1220可以被配置為從與地址相關(guān)聯(lián)的存儲(chǔ)器映射1206確定元素。在又一實(shí)施例中,0/S下層安全代理1220可以被配置為確定請(qǐng)求元素的散列或簽名并將其與已知實(shí)體的散列和簽名比較。[0313]一旦已經(jīng)捕獲對(duì)存儲(chǔ)器的已嘗試訪問,則0/S下層安全代理1220可以被配置為訪問安全規(guī)則1208以基于已標(biāo)識(shí)的請(qǐng)求實(shí)體判斷如何應(yīng)對(duì)已捕獲嘗試。安全規(guī)則1208可以定義,例如,僅操作系統(tǒng)1213的某些指定的內(nèi)核部分可以調(diào)用和執(zhí)行Fnl,或者僅已知為安全的且在白名單上的實(shí)體可以寫入SSDT的權(quán)限。然后,0/S下層安全代理1220可以被配置為采取任何適當(dāng)?shù)膭?dòng)作,例如允許請(qǐng)求進(jìn)行、拒絕請(qǐng)求、欺騙響應(yīng)或所寫的值或執(zhí)行矯正的進(jìn)程。[0314]在操作中,0/S下層安全代理1220可以在低于諸如操作系統(tǒng)1213之類的電子設(shè)備1201的操作系統(tǒng)的級(jí)別運(yùn)行。0/S下層安全代理1220可以訪問安全規(guī)則1208以判斷保護(hù)電子設(shè)備1201的什么存儲(chǔ)器資源。0/S下層安全代理1220可以確定、開發(fā)和/或增殖存儲(chǔ)器映射1206的內(nèi)容,為了這樣做,0/S下層安全代理1220可以訪問安全規(guī)則1208、保護(hù)服務(wù)器202或任何其他合適的信息源以便在存儲(chǔ)器映射1206中增殖信息。0/S下層安全代理1220可以截取來自諸如操作系統(tǒng)1213、應(yīng)用1210或驅(qū)動(dòng)程序1211之類的處于操作系統(tǒng)級(jí)別的實(shí)體的對(duì)物理存儲(chǔ)器1203或虛擬存儲(chǔ)器1204的請(qǐng)求,以便在存儲(chǔ)器映射1206中映射存儲(chǔ)器的所有權(quán)和內(nèi)容。0/S下層安全代理1220可以訪問0/S內(nèi)部安全代理1219以判斷什么實(shí)體被加載到存儲(chǔ)器中以使得可以增殖存儲(chǔ)器映射1206。存儲(chǔ)器映射1206可以包含用于物理存儲(chǔ)器1203、虛擬存儲(chǔ)器1204和/或在兩者之間的映射的存儲(chǔ)器映射。[0315]0/S下層安全代理1220可以查閱安全規(guī)則1208以判斷保護(hù)虛擬存儲(chǔ)器1204和/或物理存儲(chǔ)器1203的什么部分。安全規(guī)則1208可以指定,在動(dòng)態(tài)的基礎(chǔ)上保護(hù)存儲(chǔ)器的一些部分,其中,可以由0/S下層安全代理1220取決于各種考慮允許或禁用對(duì)存儲(chǔ)器的保護(hù)。這樣的考慮可以包括,例如,管理員設(shè)置、惡意行為或可疑行為的檢測(cè)、時(shí)間、先前所檢測(cè)的對(duì)存儲(chǔ)器的訪問或任何其他合適的準(zhǔn)則。如果保護(hù)電子設(shè)備1201的存儲(chǔ)器在計(jì)算資源方面是昂貴的,這樣的動(dòng)態(tài)允許和禁用可以允許0/S下層安全代理1220更好地保護(hù)電子設(shè)備1201的存儲(chǔ)器的關(guān)鍵部分,同時(shí)減少對(duì)電子設(shè)備1201執(zhí)行其他任務(wù)的能力的副作用。例如,存儲(chǔ)器包含操作系統(tǒng)1213的內(nèi)核代碼的內(nèi)容可以總是受到Ο/S下層安全代理1220的保護(hù),同時(shí)包含第三方應(yīng)用1210的代碼的內(nèi)容的存儲(chǔ)器可以僅在其他指示惡意軟件存在或可以影響第三方應(yīng)用1210時(shí)受到保護(hù)。[0316]0/S下層安全代理1220可以在控制結(jié)構(gòu)中設(shè)置標(biāo)志以便捕獲對(duì)物理存儲(chǔ)器1203和/或虛擬存儲(chǔ)器1204的已嘗試訪問。在一個(gè)實(shí)施例中,當(dāng)從操作系統(tǒng)1213中的實(shí)體做出對(duì)被指派為要捕獲的虛擬存儲(chǔ)器1204中的存儲(chǔ)器頁面的請(qǐng)求時(shí),0/S下層安全代理1220可以截取所嘗試的請(qǐng)求。在另一實(shí)施例中,當(dāng)做出對(duì)虛擬存儲(chǔ)器1204中的存儲(chǔ)器頁面的請(qǐng)求時(shí),0/S下層安全代理可以允許由MMU1214把請(qǐng)求轉(zhuǎn)換成對(duì)物理存儲(chǔ)器1203中的地址的請(qǐng)求,在此0/S下層安全代理可以截取所嘗試的請(qǐng)求。在又一實(shí)施例中,當(dāng)直接地做出對(duì)物理存儲(chǔ)器1203中的地址的、來自操作系統(tǒng)1213中的實(shí)體的請(qǐng)求時(shí),0/S下層安全代理1220可以截取所嘗試的請(qǐng)求。[0317]一旦已經(jīng)截取了請(qǐng)求,0/S下層安全代理1220就可以使用任何合適的機(jī)制來評(píng)估所截取的對(duì)存儲(chǔ)器的請(qǐng)求。安全規(guī)則1208可以被用來判斷該嘗試是否可疑,指示惡意軟件對(duì)使用電子設(shè)備1201的資源的惡意嘗試。安全規(guī)則1208可以包括以下考慮:例如,是否嘗試讀、寫或執(zhí)行;什么實(shí)體做出嘗試;所訪問的存儲(chǔ)器地址或頁面;相同的請(qǐng)求者的先前的嘗試或動(dòng)作;電子設(shè)備1201的管理員的安全設(shè)置,例如基于電子設(shè)備1201的用戶或多或少帶有限制性的規(guī)則;或由存儲(chǔ)器位置和/或數(shù)字簽名或散列確定或根據(jù)相關(guān)的頁面或存儲(chǔ)器地址的請(qǐng)求者的身份。[0318]例如,對(duì)虛擬存儲(chǔ)器1204的頁面2中的或物理存儲(chǔ)器1203的地址(J)處的頁面目錄數(shù)據(jù)結(jié)構(gòu)嘗試寫入可以由Ο/s下層安全代理1220截取。如果寫入是來自未知的進(jìn)程的存儲(chǔ)器的部分,則0/S下層安全代理1220可以判斷該寫入是可疑的。然而,如果該嘗試寫入是來自操作系統(tǒng)1213內(nèi)核的已知的經(jīng)驗(yàn)證部分,那么,可以判斷該嘗試不是可疑的。同樣地,可以截取對(duì)在虛擬存儲(chǔ)器1204的頁面8或在物理存儲(chǔ)器1203的地址(H)處的Fn2的已嘗試執(zhí)行。如果該已嘗試執(zhí)行是從用戶輸入做出的,那么,可以判斷該執(zhí)行不是可疑的。如果已嘗試執(zhí)行是從另一程序的存儲(chǔ)器做出的,且該程序不在經(jīng)核準(zhǔn)列表上,那么,可以判斷該嘗試是可疑的或惡意的。[0319]在另一示例中,如果Fnl是出于互操作性的目的通常向其他應(yīng)用公開其高速緩存的web瀏覽器,則0/S下層安全代理1220可以允許Fnl的存儲(chǔ)器頁面或存儲(chǔ)器地址的指定部分由其他應(yīng)用讀取。然而,如果Fnl包含應(yīng)保持私有的元數(shù)據(jù)或其他信息,那么,0/S下層安全代理1220可以保護(hù)Fnl的存儲(chǔ)器頁面或存儲(chǔ)器地址的那些部分免遭來自不同于Fnl自身的任何進(jìn)程的讀取。[0320]一旦已經(jīng)判斷程序是可疑的、惡意的或以另外方式指示惡意軟件,那么,0/S下層安全代理1220可以采取任何合適的矯正動(dòng)作。0/S下層安全代理1220可以,例如,拒絕對(duì)虛擬存儲(chǔ)器1204的存儲(chǔ)器頁面2或物理存儲(chǔ)器1203的地址(J)的寫請(qǐng)求,但仍返回該值被寫入的所得到的指示??梢员O(jiān)視產(chǎn)生該請(qǐng)求的進(jìn)程以便發(fā)現(xiàn)對(duì)訪問電子設(shè)備1201的資源的附加嘗試,可以停止該進(jìn)程,或者可以從電子設(shè)備1201清除該進(jìn)程。在另一示例中,對(duì)虛擬存儲(chǔ)器1204的頁面8或物理存儲(chǔ)器1203的地址(H)的已嘗試執(zhí)行可以改為涉及蜜罐(honeypot)進(jìn)程或清除進(jìn)程的執(zhí)行。[0321]受0/S下層安全代理1220保護(hù)的存儲(chǔ)器的內(nèi)容可以包括可能受到惡意軟件攻擊的數(shù)據(jù)、代碼或任何其他有用的系統(tǒng)資源。Ο/s下層安全代理1220可以保護(hù)存儲(chǔ)器的內(nèi)容免遭惡意軟件,該惡意軟件嘗試?yán)缱x、寫或鉤住顯示在電子設(shè)備1201上運(yùn)行的進(jìn)程的機(jī)制、把其代碼注射到被加載在存儲(chǔ)器中的應(yīng)用的部分、或改變虛擬存儲(chǔ)器1204的映射表的權(quán)限和訪問標(biāo)志。通過在低于操作系統(tǒng)1213的級(jí)別操作,0/S下層安全代理1220可以避免在操作系統(tǒng)1213中以內(nèi)核模式級(jí)別運(yùn)行的惡意軟件。0/S下層安全代理1220可以完成零日檢測(cè),這是由于在一些情況中不需要請(qǐng)求實(shí)體的身份先前已經(jīng)被判斷為是惡意的知識(shí)——實(shí)體是未知的這一事實(shí)可以被用來拒絕對(duì)電子設(shè)備1201的存儲(chǔ)器的一些部分的訪問。如果操作系統(tǒng)1213或在操作系統(tǒng)1213中運(yùn)行的反病毒或反惡意軟件措施被完全危害,則可以完全鎖定存儲(chǔ)器,使之免遭在操作系統(tǒng)的級(jí)別運(yùn)行的實(shí)體。[0322]0/S下層安全代理1220的一個(gè)應(yīng)用可以是甚至在嘗試對(duì)特定內(nèi)容讀、寫或執(zhí)行之前就通過檢測(cè)對(duì)特定存儲(chǔ)器頁面的權(quán)限的改變來檢測(cè)對(duì)虛擬存儲(chǔ)器1204的內(nèi)容的已嘗試訪問。MMU1214所使用的存儲(chǔ)器表可以駐留在存儲(chǔ)器中、在虛擬存儲(chǔ)器1204的頁面自身中和/或在物理存儲(chǔ)器1203的地址中。對(duì)改變存儲(chǔ)器表的值例如把進(jìn)程的代碼部分的權(quán)限從“讀”改變?yōu)椤皩憽钡膰L試,本身可以被0/S下層安全代理1220捕獲。存儲(chǔ)器虛擬存儲(chǔ)器1204的頁面或物理存儲(chǔ)器1203的地址可以受0/S下層安全代理1220保護(hù),且對(duì)于把新值寫到這樣的位置的權(quán)限的已捕獲嘗試,0/S下層安全代理1220可以判斷是否允許該嘗試的請(qǐng)求者做出這樣的改變。例如,如果改變進(jìn)程的代碼部分的權(quán)限的請(qǐng)求起因于不同的進(jìn)程,則可以拒絕對(duì)權(quán)限的嘗試改變。[0323]圖14是使用對(duì)電子設(shè)備的已嘗試訪問的操作系統(tǒng)下層捕獲來保護(hù)存儲(chǔ)器的方法1400的示例實(shí)施例。在步驟1405,可以映射電子設(shè)備的虛擬存儲(chǔ)器或物理存儲(chǔ)器以便確定存儲(chǔ)器的內(nèi)容的身份或所有者。為了映射存儲(chǔ)器,例如,可以訪問保護(hù)服務(wù)器;可以跟蹤存儲(chǔ)器的讀、寫和執(zhí)行;和/或掃描存儲(chǔ)器的內(nèi)容并為該內(nèi)容產(chǎn)生和簽名。[0324]在步驟1410,可以訪問安全規(guī)則以便在步驟1415確定要保護(hù)的物理存儲(chǔ)器的地址或虛擬存儲(chǔ)器的頁面。要保護(hù)的存儲(chǔ)器可以取決于,例如,安全規(guī)則,電子設(shè)備的用戶,諸如惡意軟件的指示、對(duì)訪問受保護(hù)存儲(chǔ)器的先前嘗試之類的在電子設(shè)備中其他觀察到的行為,或管理員設(shè)置。要保護(hù)的存儲(chǔ)器可以動(dòng)態(tài)地改變,這是由于電子設(shè)備的操作條件可以改變。安全規(guī)則可以指定要保護(hù)的電子設(shè)備的實(shí)體,且可以通過訪問存儲(chǔ)器映射來確定該實(shí)體在物理或虛擬存儲(chǔ)器中的位置。[0325]在步驟1420,可以根據(jù)安全規(guī)則要求在控制結(jié)構(gòu)中設(shè)置標(biāo)志以便捕獲對(duì)存儲(chǔ)器的已嘗試訪問。可以為虛擬存儲(chǔ)器的頁面和/或物理存儲(chǔ)器的地址設(shè)置這樣的標(biāo)志。標(biāo)志可以包含要保護(hù)的存儲(chǔ)器的指示以及要標(biāo)識(shí)的訪問方法的種類(例如一讀、寫或執(zhí)行)。在步驟1425,可以監(jiān)視對(duì)受保護(hù)存儲(chǔ)器的訪問以便查看是否已經(jīng)對(duì)已指派的地址或頁面做出對(duì)所指派的類型的已嘗試訪問。在步驟1430,可以判斷是否已經(jīng)捕獲對(duì)訪問存儲(chǔ)器的嘗試。如果不是,那么,在步驟1435可以判斷要保護(hù)的存儲(chǔ)器的標(biāo)志是否要求改變。如果是,那么,方法1400可以返回到步驟1410以便訪問安全規(guī)則以更新用戶保護(hù)對(duì)存儲(chǔ)器的訪問的標(biāo)志。如果不是,那么,方法1400可以返回到步驟1425以便監(jiān)視對(duì)受保護(hù)存儲(chǔ)器的已嘗試訪問。[0326]如果已經(jīng)捕獲對(duì)訪問存儲(chǔ)器的嘗試,那么,在步驟1440開始,可以評(píng)估已捕獲嘗試。為了評(píng)估該嘗試,可以查詢存儲(chǔ)器映射以判斷從何處做出請(qǐng)求,并標(biāo)識(shí)請(qǐng)求者。可以確定和評(píng)估要寫的數(shù)據(jù)的值以便發(fā)現(xiàn)它們的內(nèi)容??梢钥紤]嘗試的本質(zhì)一讀、寫或執(zhí)行。可以與安全規(guī)則聯(lián)合使用這些示例考慮,以便在步驟1445判斷已嘗試訪問是否指示惡意軟件。如果已嘗試訪問指示惡意軟件,那么,在步驟1450,可以采取矯正動(dòng)作。這樣的矯正動(dòng)作可以包括拒絕所請(qǐng)求的訪問、返回經(jīng)欺騙的值或發(fā)起蜜罐進(jìn)程或矯正進(jìn)程。如果已嘗試訪問不指示惡意軟件,那么,在步驟1455可以允許該請(qǐng)求。方法1400可以根據(jù)繼續(xù)保護(hù)電子設(shè)備的存儲(chǔ)器的要求返回到步驟1425。[0327]圖15是用于保護(hù)電子設(shè)備1504的操作系統(tǒng)1512內(nèi)核的系統(tǒng)的示例實(shí)施例。系統(tǒng)1500可以包括0/S下層安全代理1516,0/S下層安全代理1516被配置為在電子設(shè)備1504上操作,以便防備惡意軟件對(duì)訪問操作系統(tǒng)1512的組件(例如,函數(shù)、數(shù)據(jù)和/或其他組件)以及與操作系統(tǒng)相關(guān)聯(lián)的可信驅(qū)動(dòng)程序的嘗試。此外,0/S下層安全代理1516可以被配置為使用一個(gè)或多個(gè)安全規(guī)則1522來判斷捕獲什么嘗試操作以及如何響應(yīng)這樣的已捕獲操作。0/S下層安全代理1516可以被配置為對(duì)已捕獲操作允許、拒絕或采取其他矯正動(dòng)作。[0328]如圖15中所示出,電子設(shè)備1504可以包括被耦合到存儲(chǔ)器1508的處理器1506、一個(gè)或多個(gè)應(yīng)用1510、一個(gè)或多個(gè)驅(qū)動(dòng)程序1511、操作系統(tǒng)1512、0/S下層安全代理1516和安全規(guī)則1522。電子設(shè)備1504可以全部地或部分地由圖1的電子設(shè)備103、圖2的電子設(shè)備204、圖4的電子設(shè)備404、圖7的電子設(shè)備701、圖9的電子設(shè)備901、圖1201的電子設(shè)備和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。處理器1506可以被全部地或部分地由圖2的處理器208、圖4的處理器408、圖7的處理器702、圖9的處理器902、圖12的處理器1202和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。存儲(chǔ)器1508可以全部地或部分地由圖2的存儲(chǔ)器206、圖4的存儲(chǔ)器406、圖7的存儲(chǔ)器703、圖9的存儲(chǔ)器903、物理存儲(chǔ)器1203或圖12的虛擬存儲(chǔ)器和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。應(yīng)用1510可以全部地或部分地由圖1的應(yīng)用110、圖2的應(yīng)用210、圖4的應(yīng)用410、圖7的應(yīng)用709、圖9的應(yīng)用910、圖12的應(yīng)用1210和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。驅(qū)動(dòng)程序1511可以全部地或部分地由圖1的驅(qū)動(dòng)程序111、圖2的驅(qū)動(dòng)程序211、圖4的驅(qū)動(dòng)程序411、圖7的驅(qū)動(dòng)程序711、圖9的驅(qū)動(dòng)程序911、圖12的驅(qū)動(dòng)程序1211和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。操作系統(tǒng)1512可以全部地或部分地由圖1的操作系統(tǒng)112、圖2的操作系統(tǒng)212、圖4的操作系統(tǒng)412、圖7的操作系統(tǒng)713、圖9的操作系統(tǒng)913、圖12的操作系統(tǒng)1213和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。0/S下層安全代理1516可以全部地或部分地由圖1的0/S下層捕獲代理104、圖2的SVMM安全代理217或SVMM216、圖4的固件安全代理440、442,PC固件安全代理444或0/S系統(tǒng)下層代理450、圖5的固件安全代理516、圖7的微代碼安全代理708、圖9的0/S下層捕獲代理920、圖12的0/S下層安全代理1220和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。[0329]如圖15中所示出,0/S下層安全代理1516可以包括安全規(guī)則1522。安全規(guī)則1522可以由圖1的安全規(guī)則114、圖2的安全規(guī)則222、圖4的安全規(guī)則434、436、438、圖5的安全規(guī)則518、或圖7的安全規(guī)則707、723、圖9的安全規(guī)則908、圖12的安全規(guī)則1208和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。可以以任何合適的方式(例如,由電子設(shè)備1504的用戶設(shè)置的政策、包括電子設(shè)備1504的企業(yè)的管理員設(shè)置的政策、0/S下層安全代理1516的創(chuàng)建者設(shè)置的政策等等)建立安全規(guī)則1522。在一些實(shí)施例中,Ο/S下層安全代理1516可以從保護(hù)服務(wù)器202經(jīng)由網(wǎng)絡(luò)244請(qǐng)求和/或接收對(duì)安全規(guī)則1522的更新或修改(例如,由于對(duì)惡意軟件定義的更新)。[0330]如圖15中所示出,安全規(guī)則1522可以包括訪問映射1562和政策1564。訪問映射1562可以包括陳述操作系統(tǒng)1512的各種個(gè)體組件(例如,函數(shù),數(shù)據(jù)和/或其他組件)和驅(qū)動(dòng)程序1511的一個(gè)或多個(gè)可信訪問以及關(guān)于一個(gè)或多個(gè)可信訪問的上下文信息的日志、列表、映射或其他數(shù)據(jù)結(jié)構(gòu)。圖16是訪問映射1562的示例實(shí)施例。在某些實(shí)施例中,可以通過仿真另一電子設(shè)備(例如,圖18的電子設(shè)備1800)上充分地免遭惡意軟件的操作系統(tǒng)(例如,圖18的操作系統(tǒng)1812)及其充分地免遭惡意軟件的可信驅(qū)動(dòng)程序(例如,可信驅(qū)動(dòng)程序1811)的執(zhí)行來創(chuàng)建訪問映射1562。下面相對(duì)于圖18和19進(jìn)一步詳述根據(jù)這樣的實(shí)施例的訪問映射1562的創(chuàng)建。如圖16中所示出,訪問映射1562可以包括一個(gè)或多個(gè)函數(shù)訪問子映射1602、一個(gè)或多個(gè)數(shù)據(jù)訪問子映射1604和/或一個(gè)或多個(gè)棧區(qū)訪問映射1606。[0331]對(duì)于操作系統(tǒng)1512或可信驅(qū)動(dòng)程序1511的特定函數(shù),函數(shù)訪問子映射1602可以定義其他可信函數(shù)對(duì)特定函數(shù)的可信訪問。函數(shù)訪問子映射1602也可以包括與對(duì)函數(shù)的這樣的可信訪問相關(guān)聯(lián)的上下文信息,在一些實(shí)施例中,這樣的上下文信息包括特定驅(qū)動(dòng)程序內(nèi)可信訪問的調(diào)用函數(shù)位于其中的代碼段(例如,如由存儲(chǔ)器位置所標(biāo)識(shí)的)。[0332]對(duì)于操作系統(tǒng)1512或驅(qū)動(dòng)程序1511的特定數(shù)據(jù)項(xiàng),數(shù)據(jù)訪問子映射1604可以定義可信函數(shù)對(duì)特定數(shù)據(jù)的可信訪問。數(shù)據(jù)訪問子映射1604也可以包括與對(duì)數(shù)據(jù)項(xiàng)的這樣的可信訪問相關(guān)聯(lián)的上下文信息,在一些實(shí)施例中,這樣的上下文信息包括與可信函數(shù)相關(guān)聯(lián)的特定存儲(chǔ)器位置,在其中可信函數(shù)位于特定的驅(qū)動(dòng)程序內(nèi)和/或可信訪問是讀訪問還是寫訪問的代碼段(例如,如由存儲(chǔ)器位置所標(biāo)識(shí)的)。[0333]棧區(qū)訪問子映射1606可以定義描述在多個(gè)函數(shù)當(dāng)中的經(jīng)準(zhǔn)許的調(diào)用關(guān)系的函數(shù)棧區(qū)。在棧區(qū)訪問子映射1606中,棧區(qū)中的每一特定函數(shù)訪問在函數(shù)棧區(qū)中出現(xiàn)在它下面的函數(shù)是受到信任的。棧區(qū)訪問子映射1606可以包括與函數(shù)訪問子映射1602的上下文信息類似的上下文信息。棧區(qū)訪問子映射1606可以示出,例如,特定的函數(shù)F2可以調(diào)用函數(shù)F3,且函數(shù)F3可以調(diào)用F4,而F4調(diào)用F3以及F3調(diào)用F2不是可信的函數(shù)調(diào)用路徑。[0334]在訪問映射1562中陳述的各種函數(shù)、數(shù)據(jù)、代碼段、驅(qū)動(dòng)程序和其他實(shí)體的身份可以由在存儲(chǔ)器中特定的函數(shù)、數(shù)據(jù)、代碼部分、驅(qū)動(dòng)程序或?qū)嶓w被存儲(chǔ)在其中的存儲(chǔ)器位置(例如,物理存儲(chǔ)器地址或虛擬存儲(chǔ)器地址)來定義。圖17是進(jìn)一步闡釋在圖16的示例訪問映射1562中所定義的函數(shù)和數(shù)據(jù)當(dāng)中的相互關(guān)系的虛擬存儲(chǔ)器1700的示例實(shí)施例。如圖17中所敘述的,存儲(chǔ)器1700可以包括分別位于存儲(chǔ)器地址1701、1706、1710和1714的驅(qū)動(dòng)程序Yl、Y2、Y3和Y4。驅(qū)動(dòng)程序Yl可以包括在地址1702處的代碼部分Xl內(nèi)的地址1703處的函數(shù)F1。驅(qū)動(dòng)程序Yl也可以包括在地址1704處的數(shù)據(jù)部分Dl內(nèi)的數(shù)據(jù)指針1705。驅(qū)動(dòng)程序Y2可以包括在地址1707處的代碼部分X2內(nèi)的地址1708處的函數(shù)F2。驅(qū)動(dòng)程序Y3可以包括在地址1711處的代碼部分X3內(nèi)的地址1712處的函數(shù)F3。驅(qū)動(dòng)程序Y4可以包括在地址1715處的代碼部分X3內(nèi)的地址1716處的函數(shù)F4。函數(shù)F2的存儲(chǔ)器地址Z2可以駐留在存儲(chǔ)器位置1709。函數(shù)F3的存儲(chǔ)器地址Z3可以駐留在存儲(chǔ)器位置1713。函數(shù)F4的存儲(chǔ)器地址Z4可以駐留在存儲(chǔ)器位置1717。圖17中各種箭頭描繪在圖16的訪問映射1562陳述的函數(shù)和數(shù)據(jù)當(dāng)中的可信訪問。例如,函數(shù)訪問子映射1602可信訪問由以下箭頭敘述:指示在地址1708處的函數(shù)F2和地址1703處的函數(shù)Fl之間的可信執(zhí)行調(diào)用的箭頭、指示在地址1712處的函數(shù)F3和地址1703處的函數(shù)Fl之間的可信執(zhí)行調(diào)用的箭頭、以及指示在地址1716處的函數(shù)F4和地址1703處的函數(shù)Fl之間的可信執(zhí)行調(diào)用的箭頭。[0335]返回到圖15,政策1564可以包括陳述要應(yīng)用的政策以便定義要由0/S下層安全代理1516捕獲的事件和/或已捕獲事件的應(yīng)對(duì)的日志、列表或其他數(shù)據(jù)結(jié)構(gòu)。在特定的實(shí)施例中,政策可以規(guī)定,響應(yīng)于驅(qū)動(dòng)程序函數(shù)對(duì)操作系統(tǒng)1512或可信驅(qū)動(dòng)程序1511的存儲(chǔ)器存儲(chǔ)組件的一部分的已嘗試訪問(例如,讀、寫、執(zhí)行、函數(shù)調(diào)用,如果訪問映射1562中的條目指示這樣的驅(qū)動(dòng)程序函數(shù)擁有對(duì)這樣的組件的訪問權(quán)(包括,在一些實(shí)施例中,指示驅(qū)動(dòng)程序函數(shù)出現(xiàn)在驅(qū)動(dòng)程序的特定代碼部分中,如訪問映射1562中所定義的),則0/S下層安全代理1516可以允許這樣的嘗試訪問。在相同的或替代的實(shí)施例中,政策可以規(guī)定,響應(yīng)于驅(qū)動(dòng)程序函數(shù)對(duì)操作系統(tǒng)1512或可信驅(qū)動(dòng)程序1511的存儲(chǔ)器存儲(chǔ)組件的一部分的已嘗試訪問(例如,讀、寫、執(zhí)行、函數(shù)調(diào)用),如果訪問映射1562中沒有條目指示這樣的驅(qū)動(dòng)程序函數(shù)擁有對(duì)這樣的組件的訪問權(quán)(包括,在一些實(shí)施例中,指示驅(qū)動(dòng)程序函數(shù)出現(xiàn)在驅(qū)動(dòng)程序的特定代碼部分中,如訪問映射1562中所定義的),則0/S下層安全代理1516可以拒絕這樣的嘗試訪問。在這些和其他實(shí)施例中,政策可以規(guī)定,對(duì)于未知的驅(qū)動(dòng)程序函數(shù)對(duì)操作系統(tǒng)1512或可信驅(qū)動(dòng)程序1511的組件的已嘗試訪問,可以允許某些已嘗試訪問,且拒絕其他已嘗試訪問,和/或關(guān)于這樣的訪問的信息可以作為取證跡象而被傳輸?shù)奖Wo(hù)服務(wù)器202,以供進(jìn)一步分析。[0336]在操作中,0/S下層安全代理1516可以根據(jù)在本公開內(nèi)容中陳述的任何捕獲技術(shù)捕獲對(duì)操作系統(tǒng)1512和驅(qū)動(dòng)程序1511的組件的已嘗試訪問。在一些實(shí)施例中,0/S下層安全代理1516可以根據(jù)安全規(guī)則1522捕獲事件。響應(yīng)于捕獲對(duì)操作系統(tǒng)1512和驅(qū)動(dòng)程序1511的組件的已嘗試訪問,0/S下層安全代理1516可以把與已嘗試訪問相關(guān)聯(lián)的上下文信息與訪問映射1562進(jìn)行比較,以判斷該已嘗試訪問是否可信。如果已嘗試訪問是可信的(例如,如果已嘗試訪問在訪問映射1562中具有相應(yīng)的條目),則0/S下層安全代理1516可以允許訪問。如果已嘗試訪問是不可信的(例如,如果已嘗試訪問在訪問映射1562中不具有相應(yīng)的條目),0/S下層安全代理1516可以發(fā)起矯正動(dòng)作。矯正動(dòng)作可以包括拒絕已嘗試訪問、查詢政策1564以便判斷允許還是拒絕訪問、和/或把關(guān)于這樣的訪問取證數(shù)據(jù)(例如,上下文信息)報(bào)告給保護(hù)服務(wù)器202以供進(jìn)一步處理。因此,0/S下層安全代理1516連同訪問映射1562和政策1564,可以防備對(duì)操作系統(tǒng)1512和驅(qū)動(dòng)程序1511的組件的惡意攻擊。[0337]在一些實(shí)施例中,政策1564可以規(guī)定,由0/S下層安全代理1516響應(yīng)于非可信嘗試訪問而發(fā)起的矯正動(dòng)作可以取決于是潛在地非惡意的實(shí)體還是潛在地惡意的實(shí)體實(shí)施已嘗試訪問。潛在地惡意的實(shí)體可以是0/S下層安全代理1516未知(例如,不出現(xiàn)在白名單或黑名單中的任何中)的、發(fā)起非可信已嘗試訪問(例如,在訪問映射1562中不具有相應(yīng)的條目)的以及表現(xiàn)出指示潛在的惡意軟件的存在行為(例如,嘗試訪問電子設(shè)備1504的敏感資源,嘗試訪問子函數(shù)而沒有使用操作系統(tǒng)1512提供的函數(shù)路線等等)的應(yīng)用、驅(qū)動(dòng)程序或其他實(shí)體。潛在地非惡意的實(shí)體可以是不以另外方式被認(rèn)為是潛在地惡意的實(shí)體的任何實(shí)體。在潛在地非惡意的實(shí)體情況中,政策1564可以允許某些已嘗試訪問而拒絕其他。例如,對(duì)于潛在地非惡意的實(shí)體,可以允許網(wǎng)絡(luò)調(diào)用和文件系統(tǒng)調(diào)用,而可以拒絕對(duì)修改內(nèi)部網(wǎng)絡(luò)分派例程指針、修改內(nèi)部網(wǎng)絡(luò)驅(qū)動(dòng)程序接口規(guī)范(NDIS)指針、或?qū)懭氲絻?nèi)核代碼部分、數(shù)據(jù)部分或系統(tǒng)服務(wù)分派表(SSDT)的已嘗試訪問。另一方面,對(duì)于潛在地惡意的實(shí)體,可以拒絕所有嘗試訪問。[0338]在其他實(shí)施例中,政策1564可以規(guī)定,可以允許未知實(shí)體(例如,不出現(xiàn)在白名單或黑名單中的實(shí)體)有限制地執(zhí)行一次已嘗試訪問,在此之后可以把關(guān)于訪問的信息傳輸給保護(hù)服務(wù)器202且進(jìn)一步評(píng)估以判斷任何進(jìn)一步的矯正動(dòng)作。[0339]圖18是用于產(chǎn)生訪問映射1562的系統(tǒng)1800的示例實(shí)施例。系統(tǒng)1800可以包括0/S下層安全代理1816,0/S下層安全代理1816被配置為在電子設(shè)備1804上操作以便基于所觀察到的操作系統(tǒng)1812和可信驅(qū)動(dòng)程序1811的行為在訪問映射1562中產(chǎn)生條目。如圖18中所示出的,電子設(shè)備1804可以包括處理器1806、存儲(chǔ)器1808、驅(qū)動(dòng)程序1811、操作系統(tǒng)1812和0/S下層安全代理1816。電子設(shè)備1804可以全部地或部分地由圖1的電子設(shè)備103、圖2的電子設(shè)備204、圖4的電子設(shè)備404、圖7的電子設(shè)備701、圖9的電子設(shè)備901、圖1201的電子設(shè)備和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。[0340]處理器1806可以包括,例如微處理器、微控制器、數(shù)字信號(hào)處理器(DSP)、專用集成電路(ASIC)或被配置為解釋和/或執(zhí)行程序指令和/或進(jìn)程數(shù)據(jù)的任何其他數(shù)字或模擬電路。在一些實(shí)施例中,處理器1806可以解釋和/或執(zhí)行被存儲(chǔ)在存儲(chǔ)器1808中的程序指令和/或處理數(shù)據(jù)。存儲(chǔ)器1808可以部分地或整體地被配置為應(yīng)用存儲(chǔ)器、系統(tǒng)存儲(chǔ)器或兩者。存儲(chǔ)器1808可以包括被配置為持有和/或容納一個(gè)或多個(gè)存儲(chǔ)器模塊的任何系統(tǒng)、設(shè)備或裝置;例如,存儲(chǔ)器1808可以包括只讀存儲(chǔ)器、隨機(jī)存取存儲(chǔ)器、固態(tài)存儲(chǔ)器、或基于盤的存儲(chǔ)器。每一存儲(chǔ)器模塊可以包括被配置為在一段時(shí)間內(nèi)保留程序指令和/或數(shù)據(jù)的任何系統(tǒng)、設(shè)備或裝置(例如,計(jì)算機(jī)可讀的非暫態(tài)介質(zhì))。[0341]0/S下層安全代理1816可以全部地或部分地由圖1的0/S下層捕獲代理104、圖2的SVMM安全代理217或SVMM216、圖4的固件安全代理440、442、PC固件安全代理444、或0/S系統(tǒng)下層代理450、圖5的固件安全代理516、圖7的微代碼安全代理708、圖9的0/S下層捕獲代理920、圖12的0/S下層安全代理1220、圖15的0/S下層安全代理1516和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。[0342]操作系統(tǒng)1812可以全部地或部分地由圖1的操作系統(tǒng)112、圖2的操作系統(tǒng)212、圖4的操作系統(tǒng)412、圖7的操作系統(tǒng)713、圖9的操作系統(tǒng)913、圖12的操作系統(tǒng)1213、圖15的操作系統(tǒng)1512和/或任何組合實(shí)現(xiàn),或者被配置為它們的實(shí)現(xiàn)功能性??尚膨?qū)動(dòng)程序1811可以全部地或部分地由圖1的驅(qū)動(dòng)程序111、圖2的驅(qū)動(dòng)程序211、圖4的驅(qū)動(dòng)程序411、圖7的驅(qū)動(dòng)程序711、圖9的驅(qū)動(dòng)程序911、圖12的驅(qū)動(dòng)程序1211、圖15的驅(qū)動(dòng)程序1511和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。然而,結(jié)合在電子設(shè)備1804中的使用,操作系統(tǒng)1812可以免遭惡意軟件且可信驅(qū)動(dòng)程序1811可以僅包括已知是非惡意的且免遭惡意軟件的那些驅(qū)動(dòng)程序。例如,可以對(duì)電子設(shè)備1804多加小心,以便確保操作1812和可信驅(qū)動(dòng)程序1811不包括惡意實(shí)體。作為特定的示例,操作系統(tǒng)1812和可信驅(qū)動(dòng)程序1811可以被安裝在電子設(shè)備1804的空的或新近格式化的計(jì)算機(jī)可讀介質(zhì)上,且可以小心保證沒有不同于0/S下層安全代理1816的其他實(shí)體被安裝在電子設(shè)備1804。[0343]在操作中,0/S下層安全代理1816可以根據(jù)在本公開內(nèi)容中陳述的任何捕獲技術(shù)捕獲對(duì)操作系統(tǒng)1812和可信驅(qū)動(dòng)程序1811的組件的已嘗試訪問。響應(yīng)于捕獲對(duì)系統(tǒng)1812和可信驅(qū)動(dòng)程序1811的組件的訪問,Ο/S下層安全代理1816可以確定與訪問相關(guān)聯(lián)的上下文信息并存儲(chǔ)訪問的記錄和上下文信息(例如,作為函數(shù)訪問子映射1602、數(shù)據(jù)訪問子映射1604、函數(shù)棧區(qū)訪問子映射1606或其他合適的方式的一部分)。因而,充分地免遭惡意軟件的電子設(shè)備1804的執(zhí)行和在操作系統(tǒng)1812及其可信驅(qū)動(dòng)程序1811當(dāng)中的可信信賴可以由Ο/S下層安全代理1816觀察到,以產(chǎn)生訪問映射1562的條目,其中,每一條目定義對(duì)操作系統(tǒng)1812或可信驅(qū)動(dòng)程序1811的組件的可信訪問。因?yàn)榛谝阎浞值孛庠鈵阂廛浖膶?shí)體的仿真執(zhí)行產(chǎn)生訪問映射1562的條目,訪問映射1562可以包括操作系統(tǒng)1812及其可信驅(qū)動(dòng)程序1811的標(biāo)準(zhǔn)預(yù)期行為的表示,而沒有附加實(shí)體。因而,訪問映射1562可以僅包括擁有對(duì)操作系統(tǒng)1812及其可信驅(qū)動(dòng)程序1811的組件的合法、非惡意的訪問權(quán)的條目。[0344]因此,一旦電子設(shè)備1804的0/S下層安全代理1816產(chǎn)生訪問映射1562,就可以使得訪問映射1562對(duì)0/S下層安全代理1516可用(例如,通過經(jīng)由網(wǎng)絡(luò)244訪問訪問映射1562,通過把訪問映射下載到電子設(shè)備1504,通過經(jīng)由計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)傳遞到電子設(shè)備1504等等),其中如上所述,0/S下層安全代理1516可以捕獲對(duì)操作系統(tǒng)1512和/或驅(qū)動(dòng)程序1511的組件的已嘗試訪問,以判斷已嘗試訪問中哪些是可信的或非可信的,并基于這樣的判斷采取進(jìn)一步的動(dòng)作。結(jié)果,0/S下層安全代理可以保護(hù)操作系統(tǒng)1512和可信驅(qū)動(dòng)程序1511免遭惡意訪問。[0345]圖19是用于保護(hù)電子設(shè)備的操作系統(tǒng)內(nèi)核的方法1900的示例實(shí)施例。在方法1900,在其上安裝有充分地免遭惡意軟件的操作系統(tǒng)和關(guān)聯(lián)可信驅(qū)動(dòng)程序的第一電子設(shè)備上執(zhí)行的第一0/S下層安全代理可以被用來創(chuàng)建訪問映射(例如參見步驟1905-1910)。另外,在第二電子設(shè)備上執(zhí)行的第二0/S下層安全代理可以通過引用訪問映射來保護(hù)被安裝在第二電子設(shè)備上的第二操作系統(tǒng)及其相關(guān)的驅(qū)動(dòng)程序的組件(例如參見步驟1915-1930)。[0346]在步驟1905,在其上安裝有充分地免遭惡意軟件的操作系統(tǒng)和關(guān)聯(lián)可信驅(qū)動(dòng)程序的第一電子設(shè)備上運(yùn)行的第一0/S下層安全代理可以捕獲對(duì)操作系統(tǒng)和/或可信驅(qū)動(dòng)程序的組件(例如,函數(shù)和數(shù)據(jù))的訪問。在步驟1910,第一0/S下層安全代理可以把關(guān)于訪問的信息(包括與訪問相關(guān)聯(lián)的上下文信息)記錄到訪問映射。相對(duì)于另一調(diào)用函數(shù)對(duì)函數(shù)的訪問,這樣的上下文信息可以包括其中可信訪問的調(diào)用函數(shù)位于特定的驅(qū)動(dòng)程序內(nèi)的代碼段(例如,由存儲(chǔ)器位置所標(biāo)識(shí)的)。相對(duì)于調(diào)用函數(shù)對(duì)數(shù)據(jù)項(xiàng)的訪問,這樣的上下文信息可以包括與可信函數(shù)相關(guān)聯(lián)的特定存儲(chǔ)器寄存器、其中可信函數(shù)位于特定的驅(qū)動(dòng)程序內(nèi)和/或可信訪問是讀訪問還是寫訪問的代碼段。[0347]在步驟1915,在第二電子設(shè)備上執(zhí)行的第二0/S下層安全代理可以捕獲對(duì)在第二電子設(shè)備上執(zhí)行的操作系統(tǒng)和/或驅(qū)動(dòng)程序的組件的已嘗試訪問。在步驟1920,響應(yīng)于捕獲對(duì)組件的已嘗試訪問,第二0/S下層安全代理可以把與已嘗試訪問相關(guān)聯(lián)的上下文信息與訪問映射進(jìn)行比較,以判斷已嘗試訪問是否可信。如果已嘗試訪問在訪問映射中具有相應(yīng)的條目,則已嘗試訪問可以是可信的。如果已嘗試訪問是可信的,則法1900可以進(jìn)行到步驟1925。如果已嘗試訪問是不可信的,則法1900可以進(jìn)行到步驟1930。[0348]在步驟1925,響應(yīng)于判斷已嘗試訪問是可信的,第二0/S下層安全代理可以允許已嘗試訪問。在完成步驟1925之后,方法1900可以再次進(jìn)行到步驟1915。[0349]在步驟1930,響應(yīng)于判斷已嘗試訪問是不可信的,第二0/S下層安全代理可以發(fā)起矯正動(dòng)作。矯正動(dòng)作可以包括拒絕已嘗試訪問、查詢政策以便判斷允許還是拒絕訪問和/或把關(guān)于這樣的訪問的取證數(shù)據(jù)(forensicdata)(例如,上下文信息)報(bào)告給保護(hù)服務(wù)器以供進(jìn)一步處理。在完成步驟1925之后,方法1900可以再次進(jìn)行到步驟1915。[0350]圖20是提供操作系統(tǒng)執(zhí)行環(huán)境以便安全地執(zhí)行操作系統(tǒng)的、被配置為保護(hù)電子設(shè)備2001免遭惡意軟件的系統(tǒng)2000的示例實(shí)施例。來自圖20的元素可以與圖21和圖22中它們的同名配對(duì)物相同。系統(tǒng)2000可以包括被配置為提供操作系統(tǒng)執(zhí)行環(huán)境2008(“OSEE”)的受保護(hù)起動(dòng)的起動(dòng)模塊2020。起動(dòng)模塊2020可以被配置為通過確保諸如操作系統(tǒng)(“0/S”)下層安全代理2004、操作系統(tǒng)2012和0/S內(nèi)部安全代理2016之類的0SEE2008的組件在起動(dòng)之前不受惡意軟件禁用來提供0SEE2008的受保護(hù)起動(dòng)。在起動(dòng)模塊2020成功地提供0SEE2008的安全起動(dòng)之后,0SEE2008的諸如0/S下層安全代理2004和0/S內(nèi)部安全代理2016之類的組件,可以協(xié)作以便防止惡意軟件感染電子設(shè)備2001的諸如起動(dòng)模塊2020之類的組件。[0351]電子設(shè)備2001可以包括被配置為提供0SEE2008的受保護(hù)起動(dòng)的起動(dòng)模塊2020。0SEE2008可以包括0/S下層安全代理2004和0/S內(nèi)部安全代理2016以提供用于執(zhí)行一個(gè)或多個(gè)操作系統(tǒng)2012的安全環(huán)境。電子設(shè)備2001也可以通信上耦合到保護(hù)服務(wù)器2022,以便輔助提供用于執(zhí)行一個(gè)或多個(gè)操作系統(tǒng)2012的安全環(huán)境。保護(hù)服務(wù)器2022可以包括備份存儲(chǔ)設(shè)備2024。電子設(shè)備2001可以全部地或部分地由圖1的電子設(shè)備103、圖2的電子設(shè)備104、圖4的電子設(shè)備404、圖7的電子設(shè)備701和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。電子設(shè)備2001可以包括資源2026,例如一個(gè)或更多處理器2002、存儲(chǔ)器2003或存儲(chǔ)設(shè)備2006。處理器2002可以全部地或部分地由圖2的處理器208、圖4的處理器406、圖7的處理器702和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。存儲(chǔ)器2003可以全部地或部分地由圖2的存儲(chǔ)器207、圖4的存儲(chǔ)器408、圖7的存儲(chǔ)器703和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。操作系統(tǒng)2012可以由圖1的操作系統(tǒng)112、圖2的操作系統(tǒng)212、圖4的操作系統(tǒng)412、圖7的操作系統(tǒng)713和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性??梢栽趫D22的0/S內(nèi)部安全代理2206的討論中找到0/S內(nèi)部安全代理2016的示例實(shí)施例的描述??梢栽趫D22的0/S下層安全代理2208的討論中找到0/S下層安全代理2004的示例實(shí)施例的描述。[0352]存儲(chǔ)設(shè)備2006可以由圖1的資源106、圖2的系統(tǒng)資源214、圖4的存儲(chǔ)426、圖5的I/o設(shè)備502和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。存儲(chǔ)設(shè)備2006可以包括用于存儲(chǔ)數(shù)據(jù)或其他信息的任何合適的資源。例如,存儲(chǔ)設(shè)備2006可以包括但不限于直接訪問存儲(chǔ)設(shè)備(例如,硬盤驅(qū)動(dòng)器或軟盤)、連續(xù)訪問存儲(chǔ)設(shè)備(例如,磁帶磁盤驅(qū)動(dòng)器)、緊致盤、⑶-ROM、DVD、隨機(jī)存取存儲(chǔ)器(RAM)和/或閃速存儲(chǔ)器(例如,基于閃存的固態(tài)驅(qū)動(dòng)器)。存儲(chǔ)設(shè)備2006可以被分割成一個(gè)或多個(gè)扇區(qū),每一扇區(qū)能夠存儲(chǔ)固定量的數(shù)據(jù)。例如,存儲(chǔ)設(shè)備2006可以被分割成每個(gè)512字節(jié)的扇區(qū),但可以使用任何合適的扇區(qū)大小。在各種實(shí)施例中,存儲(chǔ)設(shè)備2006可以被定位為遠(yuǎn)離電子設(shè)備2001,例如在保護(hù)服務(wù)器2022上。在其他實(shí)施例中,存儲(chǔ)設(shè)備2006可以是電子設(shè)備2001的本地資源2026。[0353]備份存儲(chǔ)設(shè)備2024可以包括用于存儲(chǔ)數(shù)據(jù)或其他信息的任何合適的資源。例如,備份存儲(chǔ)設(shè)備2024可以由存儲(chǔ)設(shè)備2006實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它的功能性。備份存儲(chǔ)設(shè)備2024可以由電子設(shè)備2001的諸如存儲(chǔ)設(shè)備2006之類的本地存儲(chǔ)設(shè)備實(shí)現(xiàn)。在其他實(shí)施例中,備份存儲(chǔ)設(shè)備2024可以由位于網(wǎng)絡(luò)上的遠(yuǎn)程存儲(chǔ)設(shè)備實(shí)現(xiàn),例如在保護(hù)服務(wù)器2022上。如果備份存儲(chǔ)設(shè)備2024位于網(wǎng)絡(luò)上,則Ο/S下層安全代理2004可以使用網(wǎng)絡(luò)連接來訪問備份存儲(chǔ)設(shè)備2024??梢栽诘陀诓僮飨到y(tǒng)2012的優(yōu)先級(jí)水平實(shí)現(xiàn)網(wǎng)絡(luò)連接以便避免使用操作系統(tǒng)內(nèi)核的網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)程序,網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)程序可能感染惡意軟件??梢允褂弥鲃?dòng)管理技術(shù)(AMT)來實(shí)現(xiàn)網(wǎng)絡(luò)連接,主動(dòng)管理技術(shù)可以允許通過直接地訪問電子設(shè)備2001的網(wǎng)卡使用HTTPS、iSCS1、NFS或CIFS客戶機(jī)來訪問備份存儲(chǔ)設(shè)備2024。在這樣的實(shí)施例中,盡管訪問備份存儲(chǔ)設(shè)備2024要求有網(wǎng)絡(luò)連接,但備份存儲(chǔ)設(shè)備2024可以與在電子設(shè)備2001的操作系統(tǒng)2012上執(zhí)行的任何惡意軟件隔離。[0354]保護(hù)服務(wù)器2022可以被定位為遠(yuǎn)離電子設(shè)備2001且可以被配置為與電子設(shè)備2001的諸如起動(dòng)模塊2020、0/S下層安全代理2004和0/S內(nèi)部安全代理2001之類的組件通信,以提供安全規(guī)則2018或發(fā)送和接收其他信息。例如,保護(hù)服務(wù)器2022可以接收關(guān)于對(duì)訪問資源2026的可疑嘗試的信息且可以存儲(chǔ)這種信息以供隨后分析。保護(hù)服務(wù)器2022可以由圖1的保護(hù)服務(wù)器102、圖2的保護(hù)服務(wù)器202和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。[0355]安全規(guī)則2018可以包括任何合適的規(guī)則、邏輯、命令、指令、標(biāo)志或用于指定要求捕獲的事件和每一事件的適當(dāng)響應(yīng)的其他機(jī)制。安全規(guī)則2018可以由圖1的安全規(guī)則114、圖2的安全規(guī)則220、222、圖4的安全規(guī)則420、422、434、436、438、圖5的安全規(guī)則518、圖7的安全規(guī)則707、721、723和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。[0356]起動(dòng)模塊2020可以被配置為通過確保0SEE2008的諸如0/S下層安全代理2004、操作系統(tǒng)2012和0/S內(nèi)部安全代理2016之類的組件在起動(dòng)之前不被惡意軟件禁用來提供0SEE2008的受保護(hù)起動(dòng)。起動(dòng)模塊2020可以通過檢驗(yàn)與0/S下層安全代理2004、操作系統(tǒng)2012和0/S內(nèi)部安全代理2016相關(guān)聯(lián)的一個(gè)或多個(gè)受保護(hù)文件的完整性來估定0/S下層安全代理2004、操作系統(tǒng)2012和0/S內(nèi)部安全代理2016是否被惡意軟件禁用。如果起動(dòng)模塊2020在任何受保護(hù)文件中檢測(cè)到惡意軟件,則起動(dòng)模塊2020可以被配置為從備份副本還原受保護(hù)文件。在起動(dòng)模塊2020驗(yàn)證0SEE2008的組件不被惡意軟件禁用或起動(dòng)模塊2020成功地恢復(fù)被惡意軟件禁用的0SEE2008的任何組件之后,起動(dòng)模塊2020可以起動(dòng)0SEE2008。在起動(dòng)0SEE2008時(shí),起動(dòng)模塊2020可以在起動(dòng)諸如操作系統(tǒng)2012之類的0SEE2008的其他組件之前起動(dòng)0/S下層安全代理2004。[0357]在起動(dòng)模塊2020成功地提供0SEE2008的安全起動(dòng)之后,諸如0/S下層安全代理2004和0/S內(nèi)部安全代理2016之類的0SEE2008的組件可以協(xié)作以便防止惡意軟件感染電子設(shè)備2001的資源2026。例如,0/S下層安全代理2004和/或0/S內(nèi)部安全代理2016可以被配置為截取對(duì)訪問存儲(chǔ)設(shè)備2026上的各種受保護(hù)文件的嘗試,如安全規(guī)則2018所指定的。受保護(hù)文件可以包括與起動(dòng)模塊2020、0/S下層安全代理2004、或0/S內(nèi)部安全代理2016、或操作系統(tǒng)2012的核心文件相關(guān)聯(lián)的文件。保護(hù)這些文件免遭惡意軟件可以幫助確保這些組件所采用的防護(hù)設(shè)施不被惡意軟件破壞。例如,通過在操作系統(tǒng)2012執(zhí)行的同時(shí)保護(hù)起動(dòng)模塊2020免遭惡意軟件,電子設(shè)備2001的下次啟動(dòng)起動(dòng)模塊2020將免遭惡意軟件。以這種方式,在電子設(shè)備2001被引導(dǎo)時(shí)可以由起動(dòng)模塊2020檢查諸如0/S下層安全代理2004、0/S內(nèi)部安全代理2016和操作系統(tǒng)2012之類的0SEE2008的組件以便發(fā)現(xiàn)惡意軟件,且在操作系統(tǒng)2012執(zhí)行的同時(shí)可以由0SEE2008的組件保護(hù)起動(dòng)模塊2020免遭惡意軟件。[0358]圖21是用于提供受保護(hù)操作系統(tǒng)執(zhí)行環(huán)境的系統(tǒng)中的起動(dòng)模塊2102的示例實(shí)施例。來自圖21的元素可以與圖20和圖22中它們的同名配對(duì)物相同。例如,可以使用起動(dòng)模塊2102來實(shí)現(xiàn)來自圖20的系統(tǒng)的起動(dòng)模塊2020或來自圖22的系統(tǒng)的起動(dòng)模塊2226的功能性。起動(dòng)模塊2102可以被配置為通過安全地起動(dòng)0/S下層安全代理2128、操作系統(tǒng)2124和0/S內(nèi)部安全代理2126提供受保護(hù)操作系統(tǒng)執(zhí)行環(huán)境2122。[0359]起動(dòng)模塊2102可以包括引導(dǎo)代理2104、受保護(hù)起動(dòng)代理2110和恢復(fù)代理2112。引導(dǎo)代理2104可以被配置為確保,在電子設(shè)備2101啟動(dòng)時(shí),在操作系統(tǒng)2124和任何其他軟件(例如,惡意軟件)之前引導(dǎo)受保護(hù)起動(dòng)代理2110。受保護(hù)起動(dòng)代理2110可以被配置為安全地起動(dòng)0SEE2122。0SEE2122可以是用于安全地執(zhí)行操作系統(tǒng)2124的執(zhí)行環(huán)境。通過利用安全規(guī)則2116來判斷0/S下層安全代理2128、操作系統(tǒng)2124和/或0/S內(nèi)部安全代理2126是否已經(jīng)感染了惡意軟件,受保護(hù)起動(dòng)代理2110可以提供0SEE2122的受保護(hù)起動(dòng)。例如,通過掃描存儲(chǔ)設(shè)備2114上每一組件的盤映像以便發(fā)現(xiàn)已知的模式的惡意軟件、通過比較每一組件的盤映像的密碼散列值、和/或通過使用檢測(cè)惡意軟件的任何其他合適的方法,受保護(hù)起動(dòng)代理2110可以檢查0SEE2122的組件以便發(fā)現(xiàn)惡意軟件。如果受保護(hù)起動(dòng)代理2110檢測(cè)到惡意軟件感染,則可以利用恢復(fù)代理2112來從惡意軟件感染恢復(fù)。如果受保護(hù)起動(dòng)代理2110沒有檢測(cè)到惡意軟件感染,或者如果恢復(fù)代理2112完成了成功恢復(fù),則受保護(hù)起動(dòng)代理2110可以被配置為起動(dòng)0/S下層安全代理2128、操作系統(tǒng)2124和/或0/S內(nèi)部安全代理2126。0/S下層安全代理2128可以由圖22的0/S下層安全代理2208實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它的功能性。0/S內(nèi)部安全代理2126可以由圖22的0/S內(nèi)部安全代理2206實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它的功能性。操作系統(tǒng)2124可以由圖20的操作系統(tǒng)2012實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它的功能性。存儲(chǔ)設(shè)備2114可以由圖20的存儲(chǔ)設(shè)備2006實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它的功能性。安全規(guī)則2116可以由圖20的安全規(guī)則2018實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它的功能性。[0360]引導(dǎo)代理2104可以包括主引導(dǎo)記錄(“MBR”)管理器2106和引導(dǎo)程序加載器2108,且可以被配置為確保在電子設(shè)備2101啟動(dòng)時(shí),在操作系統(tǒng)2124和諸如惡意軟件之類的任何其他軟件之前引導(dǎo)受保護(hù)起動(dòng)代理2110。MBR管理器2106可以被配置為用引導(dǎo)程序加載器2108替換存儲(chǔ)設(shè)備2114上的現(xiàn)有MBR2130。MBR2130可以位于存儲(chǔ)設(shè)備的第一扇區(qū)(即,扇區(qū)0),且可以負(fù)責(zé)在電子設(shè)備2101啟動(dòng)時(shí)引導(dǎo)操作系統(tǒng)2124或其他軟件。通過用引導(dǎo)程序加載器2108替換MBR2130,引導(dǎo)程序加載器2108可以變成新的MBR2130。將不執(zhí)行原始MBR2130,且因此,將不引導(dǎo)與原始MBR2130相關(guān)聯(lián)的操作系統(tǒng)2124或其他軟件。相反,在電子設(shè)備2101啟動(dòng)時(shí),由于引導(dǎo)程序加載器2108已經(jīng)變成了新的MBR2130,將執(zhí)行引導(dǎo)程序加載器2108。引導(dǎo)程序加載器2108可以被配置為引導(dǎo)受保護(hù)起動(dòng)代理2110,受保護(hù)起動(dòng)代理2110負(fù)責(zé)起動(dòng)0SEE2122。以這種方式,可以在操作系統(tǒng)2124和/或任何其他軟件之前弓I導(dǎo)受保護(hù)起動(dòng)代理2110,允許受保護(hù)起動(dòng)代理2110在加載0/S下層安全代理2128、0/S內(nèi)部安全代理2126和/或操作系統(tǒng)2124之前檢查惡意軟件。[0361]受保護(hù)起動(dòng)代理2110可以被配置為起動(dòng)0SEE2122。0SEE2122可以被配置成用于安全地執(zhí)行操作系統(tǒng)2124的執(zhí)行環(huán)境,且可以包括0/S下層安全代理2128、操作系統(tǒng)2124和/或Ο/S內(nèi)部安全代理2126。受保護(hù)起動(dòng)代理2110可以由能夠提供盤I/O功能性、網(wǎng)絡(luò)I/O功能性、和基本控制臺(tái)I/O功能性的瘦嵌入式操作系統(tǒng)實(shí)現(xiàn)。在另一實(shí)施例中,受保護(hù)起動(dòng)代理2110可以由Ο/S下層安全代理2128實(shí)現(xiàn)。受保護(hù)起動(dòng)代理2110可以被配置為檢測(cè)Ο/S下層安全代理2128、操作系統(tǒng)2124和/或Ο/S內(nèi)部安全代理2126是否已經(jīng)感染了惡意軟件。為了檢測(cè)惡意軟件感染,受保護(hù)起動(dòng)代理2110可以使用密碼散列算法來驗(yàn)證與Ο/S下層安全代理2128、操作系統(tǒng)2124和/或Ο/S內(nèi)部安全代理2126相關(guān)聯(lián)的各種受保護(hù)文件2120的完整性。受保護(hù)文件可以包括,例如,MBR2130、操作系統(tǒng)2124的核心文件和Ο/S下層安全代理2128和/或Ο/S內(nèi)部安全代理2126的可執(zhí)行映像。為了驗(yàn)證受保護(hù)文件2120的完整性,受保護(hù)起動(dòng)代理2110可以使用散列算法來計(jì)算受保護(hù)文件2120的散列值。然后,可以把所計(jì)算散列值與先前產(chǎn)生的受保護(hù)文件2120的散列值進(jìn)行比較。如果散列值不同,那么,受保護(hù)文件2120可能已經(jīng)被惡意軟件修改或變更。在各種實(shí)施例中,安全代理2110可以利用盤映射位圖(“DMB”)2118來驗(yàn)證受保護(hù)文件2120的完整性。盤映射位圖2118可以指定每一受保護(hù)文件2120在存儲(chǔ)設(shè)備2114上的位置,且也可以提供先前產(chǎn)生的每一受保護(hù)文件2120的散列值。可以在來自圖23的盤映射位圖2301的討論中找到盤映射位圖2118的示例實(shí)施例的描述。受保護(hù)起動(dòng)代理2110可以查閱盤映射位圖2118,以便標(biāo)識(shí)受保護(hù)文件2120在存儲(chǔ)設(shè)備2114上的位置、計(jì)算受保護(hù)文件2120的散列值并將所計(jì)算的散列值與由盤映射位圖2118提供的先前所產(chǎn)生的散列值進(jìn)行比較。如果受保護(hù)文件2120的散列值不匹配,則受保護(hù)文件2120可能已經(jīng)被惡意軟件變更或修改。受保護(hù)起動(dòng)代理2110可以起動(dòng)恢復(fù)代理2112以便從潛在的惡意軟件感染恢復(fù)。如果沒有檢測(cè)到潛在的惡意軟件感染,或者如果由恢復(fù)代理2112成功地恢復(fù)所有潛在被感染的文件,則受保護(hù)起動(dòng)代理2110可以進(jìn)行到加載Ο/S下層安全代理2128、操作系統(tǒng)2124和Ο/S內(nèi)部安全代理2126。安全起動(dòng)代理2110可以被配置為在起動(dòng)OSEE2122之后終止。[0362]恢復(fù)代理2112可以被配置為從與0/S下層安全代理2128、操作系統(tǒng)2124和/或0/S內(nèi)部安全代理2126相關(guān)聯(lián)的一個(gè)或多個(gè)受保護(hù)文件2120的惡意軟件感染恢復(fù)。為了從惡意軟件感染恢復(fù),恢復(fù)代理2112可以被配置為從備份存儲(chǔ)設(shè)備檢索備份文件并用相應(yīng)的備份文件替換受感染的受保護(hù)文件2120。備份文件可以本地存儲(chǔ)在電子設(shè)備2101上,例如在存儲(chǔ)設(shè)備2114上。備份文件也可以是被存儲(chǔ)在遠(yuǎn)離電子設(shè)備2101的位置。例如,備份文件可以存儲(chǔ)在網(wǎng)絡(luò)上,例如在來自圖20的保護(hù)服務(wù)器2022的備份存儲(chǔ)設(shè)備2024上??梢跃S護(hù)備份文件的元數(shù)據(jù),且其可以包括修訂版本號(hào)以及創(chuàng)建備份文件的日期和時(shí)間。在把備份文件用于恢復(fù)受保護(hù)文件2120之前,恢復(fù)代理2112可以被配置為驗(yàn)證備份文件的完整性以便確保備份文件沒有感染惡意軟件?;謴?fù)代理2112可以以與受保護(hù)起動(dòng)代理2110驗(yàn)證受保護(hù)文件2120的完整性類似的方式驗(yàn)證備份文件的完整性。例如,恢復(fù)代理2112可以計(jì)算備份文件的散列值且可以把所計(jì)算的散列值與來自盤映射位圖2118的備份文件的相應(yīng)散列值進(jìn)行比較。如果散列值的比較指示備份文件可能感染了惡意軟件,則不可以使用該備份文件和/或可以使用較舊的備份文件。恢復(fù)代理2112可以被配置為向受保護(hù)起動(dòng)代理2110告知成功恢復(fù),以便允許受保護(hù)起動(dòng)代理2110進(jìn)行起動(dòng)0/S下層安全代理2128、操作系統(tǒng)2124、和0/S內(nèi)部安全代理2126。[0363]圖22是用于安全地執(zhí)行操作系統(tǒng)的操作系統(tǒng)執(zhí)行環(huán)境(“0SEE”)2202的示例實(shí)施例。來自圖22的元素可以與圖20和圖21中它們的同名配對(duì)物相同。例如,可以使用0SEE2202來實(shí)現(xiàn)來自圖20的0SEE2008或來自圖21的OSEE2122的功能性。0SEE2202可以被配置成用于安全地執(zhí)行操作系統(tǒng)2204的執(zhí)行環(huán)境,且可以包括操作系統(tǒng)2204、Ο/S下層安全代理2208、Ο/S內(nèi)部安全代理2206和/或盤安全代理2214。0SEE2202可以由起動(dòng)模塊2226安全地起動(dòng)。此后,諸如Ο/S下層安全代理2208、0/S內(nèi)部安全代理2206和盤安全代理2214之類的0SEE2202的組件可以協(xié)作以便防止惡意軟件禁用電子設(shè)備2201的組件。例如,0SEE2202的組件可以協(xié)作以便保護(hù)起動(dòng)模塊2226免遭惡意軟件。以這種方式保護(hù)起動(dòng)模塊2226可以幫助確保在電子設(shè)備2201的下次初始化中,不會(huì)破壞起動(dòng)模塊2226所使用的防護(hù)設(shè)施以便允許起動(dòng)感染惡意軟件的操作系統(tǒng)2204、0/S下層安全代理2208和/或Ο/S內(nèi)部安全代理2206。[0364]0SEE2202可以包括0/S下層安全代理2208、操作系統(tǒng)2204、0/S內(nèi)部安全代理2206和/或盤安全代理2214。0SEE2202可以由起動(dòng)模塊2226安全地起動(dòng)。在起動(dòng)模塊2226成功地提供0SEE2202的安全起動(dòng)之后,諸如0/S下層安全代理2208、0/S內(nèi)部安全代理2206和盤安全代理2214之類的0SEE2202的組件可以協(xié)作以便防止惡意軟件禁用諸如起動(dòng)模塊2226之類的電子設(shè)備2201的組件。[0365]0/S下層安全代理2208可以包括0/S下層捕獲代理2210和已觸發(fā)事件應(yīng)對(duì)程序2212。0/S下層捕獲代理2210可以由圖1的0/S下層捕獲代理104、圖2的SVMM216、圖4的固件安全代理440、442或PC固件安全代理444、圖5的固件安全代理516、圖7的微代碼安全代理708和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。已觸發(fā)事件應(yīng)對(duì)程序2010可以由圖1的已觸發(fā)事件應(yīng)對(duì)程序108、圖2的SVMM安全代理217、圖4的0/S下層代理450、圖7的0/S下層代理712和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。在各種實(shí)施例中,0/S下層捕獲代理2210的功能性中的一些可以由已觸發(fā)事件應(yīng)對(duì)程序2212實(shí)現(xiàn),或已觸發(fā)事件應(yīng)對(duì)程序2212的功能性中的一些可以由0/S下層捕獲代理2210實(shí)現(xiàn)。在一個(gè)實(shí)施例中,已觸發(fā)事件應(yīng)對(duì)程序2212可以與0/S下層安全代理2208相同的優(yōu)先級(jí)水平操作。在另一實(shí)施例中,已觸發(fā)事件應(yīng)對(duì)程序2212可以被實(shí)現(xiàn)為0/S內(nèi)部安全代理2206的部分,且可以在操作系統(tǒng)2204的優(yōu)先級(jí)水平操作或者在高于操作系統(tǒng)2204的優(yōu)先級(jí)水平操作。在再一個(gè)實(shí)施例中,已觸發(fā)事件應(yīng)對(duì)程序2212可以由兩個(gè)或更多個(gè)已觸發(fā)事件應(yīng)對(duì)程序?qū)崿F(xiàn),其中,至少一個(gè)已觸發(fā)事件應(yīng)對(duì)程序在與0/S下層安全代理2208相同的優(yōu)先級(jí)水平操作,且至少一個(gè)已觸發(fā)事件應(yīng)對(duì)程序在操作系統(tǒng)2204的優(yōu)先級(jí)水平操作或在高于操作系統(tǒng)2204的優(yōu)先級(jí)水平操作。[0366]0/S下層安全代理2208可以被配置為使用0/S下層捕獲代理2210來截取對(duì)訪問諸如存儲(chǔ)設(shè)備2218之類的電子設(shè)備2201的資源的請(qǐng)求。在截取對(duì)訪問存儲(chǔ)設(shè)備2218的請(qǐng)求時(shí),0/S下層捕獲代理2210可以被配置為創(chuàng)建與已捕獲訪問嘗試相關(guān)聯(lián)的已觸發(fā)事件,且可以被配置為把已觸發(fā)事件發(fā)送給已觸發(fā)事件應(yīng)對(duì)程序2212以判斷相對(duì)于該事件采取的適當(dāng)動(dòng)作。已觸發(fā)事件可以包括諸如與請(qǐng)求相關(guān)聯(lián)的存儲(chǔ)設(shè)備2218的區(qū)域(例如,扇區(qū)和/或文件)、請(qǐng)求實(shí)體和所請(qǐng)求的訪問的類型之類的信息。請(qǐng)求實(shí)體是負(fù)責(zé)發(fā)起請(qǐng)求的實(shí)體,例如操作系統(tǒng)2204、驅(qū)動(dòng)程序2228或應(yīng)用2230。所請(qǐng)求的訪問的類型可以包括對(duì)讀、寫或執(zhí)行來自存儲(chǔ)設(shè)備2218的代碼的請(qǐng)求。[0367]已觸發(fā)事件應(yīng)對(duì)程序2212可以被配置為接收和處理來自0/S下層捕獲代理2210的已觸發(fā)事件。已觸發(fā)事件可以包含關(guān)于已經(jīng)被0/S下層捕獲代理2210捕獲的、對(duì)訪問存儲(chǔ)設(shè)備2218的請(qǐng)求的信息。已觸發(fā)事件應(yīng)對(duì)程序2212可以被配置為結(jié)合與已觸發(fā)事件相關(guān)聯(lián)的上下文信息利用一個(gè)或多個(gè)安全規(guī)則2216來標(biāo)識(shí)對(duì)訪問存儲(chǔ)設(shè)備2218的受保護(hù)區(qū)域的嘗試,并且判斷適當(dāng)?shù)捻憫?yīng)。在標(biāo)識(shí)對(duì)訪問諸如受保護(hù)的扇區(qū)和/或文件之類的受保護(hù)區(qū)域的嘗試之后,已觸發(fā)事件應(yīng)對(duì)程序2212可以被配置為查閱安全規(guī)則2216以便判斷對(duì)訪問受保護(hù)區(qū)域的嘗試是否得到授權(quán)。已觸發(fā)事件應(yīng)對(duì)程序2212還可以被配置為向0/S下層安全代理2208提供適當(dāng)動(dòng)作的判斷。例如,已觸發(fā)事件應(yīng)對(duì)程序2212可以告知0/S下層安全代理2208應(yīng)當(dāng)允許還是拒絕已觸發(fā)事件,或者是否應(yīng)當(dāng)采取其他矯正動(dòng)作。[0368]0/S內(nèi)部安全代理2206可以全部地或部分地由圖1的0/S內(nèi)部安全代理218、圖4的0/S內(nèi)部安全代理418、圖7的0/S內(nèi)部安全代理719和/或其任何合適的組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。0/S內(nèi)部安全代理2206可以在操作系統(tǒng)2204的優(yōu)先級(jí)水平執(zhí)行或在高于操作系統(tǒng)2204的優(yōu)先級(jí)水平執(zhí)行,且可以被配置為查閱一個(gè)或多個(gè)安全規(guī)則2216以便保護(hù)電子設(shè)備2201免遭惡意軟件。例如,安全規(guī)則2216可以要求0/S內(nèi)部安全代理2206截取對(duì)訪問存儲(chǔ)設(shè)備2218上的某些受保護(hù)文件2222的嘗試。安全規(guī)則2216還可以指定對(duì)訪問受保護(hù)文件2222的特定嘗試是否得到授權(quán)。然而,因?yàn)?/S內(nèi)部安全代理2206在操作系統(tǒng)2204的優(yōu)先級(jí)水平執(zhí)行或在高于操作系統(tǒng)2204的優(yōu)先級(jí)水平執(zhí)行,0/S內(nèi)部安全代理2206自身可能感染了在操作系統(tǒng)2204上執(zhí)行的惡意軟件,且0/S內(nèi)部安全2206的防護(hù)設(shè)施可能被規(guī)避了。為了幫助防止這種可能性,0/S下層安全代理2208可以被配置為保護(hù)0/S內(nèi)部安全代理2206免遭惡意軟件。[0369]盤安全代理2214可以包括DMB產(chǎn)生器2232和盤保護(hù)器2234,且可以被用來保護(hù)諸如起動(dòng)模塊2226和0SEE2202的組件之類的電子設(shè)備2201的組件免遭惡意軟件。盤安全代理2214可以以任何合適的方式實(shí)現(xiàn)。在一個(gè)實(shí)施例中,盤安全代理2214可以被實(shí)現(xiàn)為0/S下層安全代理2208的部分和/或可以在與0/S下層安全代理2208相同的優(yōu)先級(jí)水平執(zhí)行。在另一實(shí)施例中,盤安全代理2214可以被實(shí)現(xiàn)為0/S內(nèi)部安全代理2206的部分和/或可以是在操作系統(tǒng)2204的優(yōu)先級(jí)水平操作或在高于操作系統(tǒng)2204的優(yōu)先級(jí)水平操作。在再一個(gè)實(shí)施例中,盤安全代理2214可以由兩個(gè)或更多個(gè)盤安全代理實(shí)現(xiàn),其中,至少一個(gè)盤安全代理在與0/S下層安全代理2208相同的優(yōu)先級(jí)水平操作,且至少一個(gè)盤安全代理在操作系統(tǒng)2204的優(yōu)先級(jí)水平操作或在高于操作系統(tǒng)2204的優(yōu)先級(jí)水平操作。[0370]盤保護(hù)器2234可以被配置為通過截取對(duì)訪問與這些組件相關(guān)聯(lián)的各種受保護(hù)文件2222的未經(jīng)授權(quán)的嘗試來保護(hù)起動(dòng)模塊2226和0SEE2202的組件免遭惡意軟件。受保護(hù)文件2222可以包括核心操作系統(tǒng)文件(例如,操作系統(tǒng)內(nèi)核文件)、核心安全代理文件(例如,0/S下層安全代理2208和0/S內(nèi)部安全代理2206的可執(zhí)行映像)和/或這些文件的備份副本。通過截取對(duì)訪問其中存儲(chǔ)有受保護(hù)文件2222的存儲(chǔ)設(shè)備2218的扇區(qū)的未經(jīng)授權(quán)的嘗試,盤保護(hù)器2234可以防止對(duì)受保護(hù)文件2222的未經(jīng)授權(quán)的訪問。在一些實(shí)施例中,盤保護(hù)器2234可以使用盤映射位圖2220來標(biāo)識(shí)受保護(hù)文件2222以及其中存儲(chǔ)有受保護(hù)文件2222的存儲(chǔ)設(shè)備2218上的扇區(qū)??梢栽趫D23的盤映射位圖2301的討論中找到盤映射位圖2220的示例實(shí)施例的描述。盤映射位圖2220可以包含與各種受保護(hù)文件相關(guān)聯(lián)的信息,例如,包括其中存儲(chǔ)有每一受保護(hù)文件的存儲(chǔ)設(shè)備的扇區(qū)或多個(gè)扇區(qū)。盤保護(hù)器2234可以查閱盤映射位圖2220以便標(biāo)識(shí)其中存儲(chǔ)有受保護(hù)文件2222的存儲(chǔ)設(shè)備2218的扇區(qū)。然后,盤保護(hù)器2234可以截取對(duì)訪問與受保護(hù)文件2222相關(guān)聯(lián)的扇區(qū)的嘗試,且可以查閱安全規(guī)則2216以便判斷該嘗試是否得到授權(quán)。例如,安全規(guī)則2216可以指定,除非該請(qǐng)求是來自操作系統(tǒng)2204,否則應(yīng)當(dāng)拒絕對(duì)寫入核心操作系統(tǒng)文件的請(qǐng)求。[0371]在一些實(shí)施例中,盤保護(hù)器2234的功能性可以由0/S下層安全代理2208的組件實(shí)現(xiàn)。通過把盤保護(hù)器2234實(shí)現(xiàn)為0/S下層安全代理2208的組件,盤保護(hù)器2234可以在低于操作系統(tǒng)2204的級(jí)別執(zhí)行,且可以避免煩擾操作系統(tǒng)2204的大多數(shù)惡意軟件。例如,可以由0/S下層捕獲代理2210和已觸發(fā)事件應(yīng)對(duì)程序2212實(shí)現(xiàn)盤保護(hù)器2234的功能性。0/S下層捕獲代理2210可以被配置為查閱盤映射位圖2220以便標(biāo)識(shí)要求保護(hù)的存儲(chǔ)設(shè)備2218的扇區(qū)。0/S下層捕獲代理可以還被配置為捕獲對(duì)訪問存儲(chǔ)設(shè)備2218的已標(biāo)識(shí)扇區(qū)的嘗試,且可以利用安全規(guī)則2216來判斷該嘗試是否得到授權(quán)。以這種方式,可以保護(hù)由盤映射位圖2220標(biāo)識(shí)的受保護(hù)文件2222免遭未經(jīng)授權(quán)的訪問。[0372]在其他實(shí)施例中,盤保護(hù)器2234的功能性可以被實(shí)現(xiàn)為0/S內(nèi)部安全代理2206的組件。例如,0/S內(nèi)部安全代理2206可以包括盤過濾驅(qū)動(dòng)程序以便實(shí)現(xiàn)盤保護(hù)器1133的功能性。過濾驅(qū)動(dòng)程序可以是驅(qū)動(dòng)程序2228,驅(qū)動(dòng)程序2228可被插入到用于操作系統(tǒng)2204的特定設(shè)備的現(xiàn)有驅(qū)動(dòng)程序棧區(qū),且可以被用來補(bǔ)充先前存在的驅(qū)動(dòng)程序功能性。例如,盤過濾驅(qū)動(dòng)程序可以被插入到用于盤(例如,存儲(chǔ)設(shè)備2218)的現(xiàn)有驅(qū)動(dòng)程序棧區(qū),且可以補(bǔ)充先前存在的盤驅(qū)動(dòng)程序的功能性。通過查詢盤映射位圖2220以便標(biāo)識(shí)要求保護(hù)的存儲(chǔ)設(shè)備2218的扇區(qū),盤過濾驅(qū)動(dòng)程序可以實(shí)現(xiàn)盤保護(hù)器1133的功能性。然后,盤過濾驅(qū)動(dòng)程序可以截取對(duì)訪問存儲(chǔ)設(shè)備2218的受保護(hù)扇區(qū)的嘗試,且可以利用安全規(guī)則2216來判斷該嘗試是否得到授權(quán)。以這種方式,將保護(hù)由盤映射位圖2220標(biāo)識(shí)的受保護(hù)文件2222免遭未經(jīng)授權(quán)的訪問。然而,因?yàn)楸P過濾驅(qū)動(dòng)程序在操作系統(tǒng)2204的優(yōu)先級(jí)水平執(zhí)行或者在高于操作系統(tǒng)2204的優(yōu)先級(jí)水平執(zhí)行,盤過濾驅(qū)動(dòng)程序可能自身感染了在操作系統(tǒng)2204上執(zhí)行的惡意軟件,且盤過濾驅(qū)動(dòng)程序的防護(hù)設(shè)施可能被規(guī)避了。因此,在一些實(shí)施例中,盤保護(hù)器2234的功能性可以由0/S下層安全代理2208和0/S內(nèi)部安全代理2206兩者實(shí)現(xiàn)。例如,如上所述,0/S內(nèi)部安全代理2206可以被配置為使用盤過濾驅(qū)動(dòng)程序來截取對(duì)訪問存儲(chǔ)設(shè)備2218的未經(jīng)授權(quán)的嘗試,且0/S下層安全代理2208可以被實(shí)現(xiàn)為防止對(duì)修改存儲(chǔ)器中或存儲(chǔ)設(shè)備2218上的盤過濾驅(qū)動(dòng)程序映像的未經(jīng)授權(quán)的嘗試,由此保護(hù)盤過濾驅(qū)動(dòng)程序免遭在與操作系統(tǒng)2204相同的優(yōu)先級(jí)水平運(yùn)行的惡意軟件的破壞。[0373]盤保護(hù)器2234還可以被配置為在關(guān)閉電子設(shè)備2201之前驗(yàn)證MBR的完整性。例如,在啟動(dòng)電子設(shè)備2201的關(guān)閉時(shí),盤保護(hù)器2234可以被配置為計(jì)算MBR2224的散列值。然后,盤保護(hù)器2234可以查閱盤映射位圖2220以便獲得先前所產(chǎn)生的MBR2224的散列值且可以將所計(jì)算的散列值與先前所產(chǎn)生的散列值進(jìn)行比較。如果散列值不同,那么,MBR2224可能已經(jīng)被惡意軟件變更,且盤保護(hù)器2234可以被配置為用備份副本替換MBR2224。以這種方式,在下次啟動(dòng)電子設(shè)備2201時(shí),將不引導(dǎo)感染惡意軟件的MBR2224。[0374]DMB產(chǎn)生器2232可以被配置為產(chǎn)生和更新盤映射位圖2220。例如,DMB產(chǎn)生器2232可以被配置為確定其中存儲(chǔ)每一受保護(hù)文件2222的存儲(chǔ)設(shè)備2218上的扇區(qū),且可以進(jìn)一步被配置為產(chǎn)生每一受保護(hù)文件2222的散列值。DMB產(chǎn)生器2232可以把每一受保護(hù)文件2222的相應(yīng)扇區(qū)和散列值存儲(chǔ)在盤映射位圖2220中。DMB產(chǎn)生器2220可以以任何合適的方式實(shí)現(xiàn)。例如,DMB產(chǎn)生器2220的功能性可以被實(shí)現(xiàn)為0/S下層安全代理2208或0/S內(nèi)部安全代理2206的部分,或DMB產(chǎn)生器2220的功能性可以由0/S下層安全代理2208和Ο/S內(nèi)部安全代理2206兩者實(shí)現(xiàn)。[0375]在一個(gè)實(shí)施例中,DMB產(chǎn)生器2232可以通過截取對(duì)訪問受保護(hù)文件2222的請(qǐng)求產(chǎn)生盤映射位圖2220。例如,0/S內(nèi)部安全代理2206可以包括文件系統(tǒng)過濾驅(qū)動(dòng)程序,該文件系統(tǒng)過濾驅(qū)動(dòng)程序被配置為截取對(duì)訪問受保護(hù)文件2222的請(qǐng)求。文件系統(tǒng)過濾驅(qū)動(dòng)程序截取針對(duì)文件系統(tǒng)或另一文件系統(tǒng)過濾驅(qū)動(dòng)程序的請(qǐng)求。通過在請(qǐng)求到達(dá)其預(yù)期目標(biāo)之前截取該請(qǐng)求,過濾驅(qū)動(dòng)程序可以擴(kuò)展或替換請(qǐng)求的原始目標(biāo)提供的功能性。來自0/S內(nèi)部安全代理2206的文件系統(tǒng)過濾驅(qū)動(dòng)程序可以截取涉及受保護(hù)文件2222的文件I/O請(qǐng)求。然后,過濾驅(qū)動(dòng)程序可以查詢文件系統(tǒng)以便獲得其中存儲(chǔ)有受保護(hù)文件2222的內(nèi)容的存儲(chǔ)設(shè)備2218上的扇區(qū)。然后,過濾驅(qū)動(dòng)程序可以訪問文件系統(tǒng)的主格式表(MFT)以判斷受保護(hù)文件2222的盤扇區(qū)布局。可以更新盤映射位圖2220以便指定其中存儲(chǔ)有受保護(hù)文件2222的所標(biāo)識(shí)的扇區(qū)。如果沒有為受保護(hù)文件2222產(chǎn)生散列值,則可以產(chǎn)生散列值,且可以更新盤映射位圖2220以便包括新散列值。如果受保護(hù)文件2222被更新,則也可以產(chǎn)生新散列值并將其存儲(chǔ)在盤映射位圖2220中。例如,如果文件系統(tǒng)過濾驅(qū)動(dòng)程序截取對(duì)寫入受保護(hù)文件2222的請(qǐng)求,則需要使用受保護(hù)文件2222的經(jīng)修改內(nèi)容來產(chǎn)生新的散列值。[0376]圖23是在用于提供受保護(hù)操作系統(tǒng)執(zhí)行環(huán)境的系統(tǒng)或方法中使用的盤映射位圖2301的示例實(shí)施例。例如,盤映射位圖2301可以被用來實(shí)現(xiàn)圖21的盤映射位圖2118、圖22的盤映射位圖2220或圖26的盤映射位圖2628的功能性。盤映射位圖2301可以是文件且可以包含與各種受保護(hù)的文件2302相關(guān)聯(lián)的信息。例如,盤映射位圖2301可以標(biāo)識(shí)其中存儲(chǔ)有每一受保護(hù)文件2302的存儲(chǔ)設(shè)備的扇區(qū)2304,且可以包括每一受保護(hù)文件2302的散列值2306。盤映射位圖2301可以被用來驗(yàn)證各種受保護(hù)文件2302的完整性。例如,圖21的受保護(hù)起動(dòng)代理2110和/或恢復(fù)代理2112可以使用來自盤映射位圖2301的信息驗(yàn)證受保護(hù)文件2302的完整性。例如,可以由來自圖22的DMB產(chǎn)生器2232產(chǎn)生盤映射位圖2301。[0377]盤映射位圖2301可以被存儲(chǔ)在存儲(chǔ)設(shè)備上的已指派扇區(qū)。已指派扇區(qū)可以駐留在被用來實(shí)現(xiàn)操作系統(tǒng)的文件系統(tǒng)的存儲(chǔ)設(shè)備的相同部分??梢园岩阎概缮葏^(qū)標(biāo)志為被占據(jù)以便防止各扇區(qū)被操作系統(tǒng)使用。也可以把存儲(chǔ)設(shè)備進(jìn)行分區(qū),以便允許把盤映射位圖2301存儲(chǔ)在與操作系統(tǒng)不同的分區(qū)的已指派扇區(qū)。盤映射位圖2301也可以是被存儲(chǔ)在位于網(wǎng)絡(luò)上的遠(yuǎn)程存儲(chǔ)設(shè)備。例如,盤映射位圖2301可以被存儲(chǔ)在諸如來自圖20的保護(hù)服務(wù)器2022或來自圖26的保護(hù)服務(wù)器2602之類的保護(hù)服務(wù)器上。[0378]盤映射位圖2301可以標(biāo)識(shí)每一受保護(hù)文件2302、其中存儲(chǔ)有受保護(hù)文件2302的存儲(chǔ)設(shè)備的扇區(qū)或多個(gè)扇區(qū)2304和受保護(hù)文件2302的散列值2306。由盤映射位圖2301標(biāo)識(shí)的受保護(hù)文件2302可以包括核心安全代理文件2308、核心操作系統(tǒng)文件2310和備份文件2312。核心安全代理文件2308可以包括MBR和可執(zhí)行的0/S下層安全代理和0/S內(nèi)部安全代理。核心操作系統(tǒng)文件2310可以包括操作系統(tǒng)內(nèi)核文件和其他操作系統(tǒng)文件。例如,如果操作系統(tǒng)是微軟Windows?的變種,則核心操作系統(tǒng)文件2310可以包括ntoskrnl.exe、hal.sys>win32k.sys>ntfs.sys、disk.sys和/或tcpip.sys。核心操作系統(tǒng)文件2310可以取決于特定的操作系統(tǒng)而改變。備份文件2312可以包括每一核心安全代理文件2308和每一核心操作系統(tǒng)文件2310的備份副本。在各種實(shí)施例中,備份文件2312可以不被存儲(chǔ)在與核心安全代理文件2308和核心操作系統(tǒng)文件2310相同的存儲(chǔ)設(shè)備上。在這樣的實(shí)施例中,盤映射位圖2301也可以標(biāo)識(shí)其中存儲(chǔ)有備份文件2312的特定存儲(chǔ)設(shè)備。替代地,分離的盤映射位圖2301可以被用來存儲(chǔ)與備份文件2312相關(guān)聯(lián)的信息,例如扇區(qū)2304和散列值2306。[0379]對(duì)于每一受保護(hù)文件2302,盤映射位圖2301可以存儲(chǔ)使用密碼散列算法產(chǎn)生的散列值2306。散列算法可以包括可以接收作為輸入的數(shù)據(jù)塊且可以產(chǎn)生作為輸出的位串或散列值的算法。不同數(shù)據(jù)集的散列值通常是不同的。把每一受保護(hù)文件2302的內(nèi)容用作對(duì)散列算法的輸入,產(chǎn)生每一受保護(hù)文件2302的散列值2306??梢允褂萌魏魏线m的密碼散列算法,例如,包括安全散列算法2(“SHA-2”)或消息摘要算法5(“MD5”)。[0380]盤映射位圖2301可以例如由圖21的受保護(hù)起動(dòng)代理2110和/或恢復(fù)代理2112、或來自圖22的0/S下層安全代理2208、0/S內(nèi)部安全代理2206和/或盤安全代理2214、圖26的0/S下層安全2616和/或0/S內(nèi)部安全代理2618用來檢測(cè)受保護(hù)文件2301的潛在惡意軟件感染。為了檢測(cè)受保護(hù)文件2302的潛在惡意軟件感染,可以使用散列算法用來驗(yàn)證受保護(hù)文件2302的完整性。可以查詢盤映射位圖2304以便標(biāo)識(shí)其中存儲(chǔ)有受保護(hù)文件2302的存儲(chǔ)設(shè)備上的扇區(qū)2304,且然后可以從存儲(chǔ)設(shè)備的適當(dāng)扇區(qū)2304檢索受保護(hù)文件的內(nèi)容。然后,可以使用諸如SHA-2或MD5之類的所選擇的散列算法來使用受保護(hù)文件2302的內(nèi)容產(chǎn)生散列值,且可以把所產(chǎn)生的散列值與來自盤映射位圖2301的相應(yīng)散列值2306進(jìn)行比較。如果散列值不同,那么,受保護(hù)文件2302可能已經(jīng)被惡意軟件修改或變更。[0381]可以以任何合適的方式產(chǎn)生盤映射位圖2301。在一個(gè)實(shí)施例中,可以通過截取對(duì)訪問受保護(hù)文件2302的請(qǐng)求、獲得與受保護(hù)文件2302相關(guān)聯(lián)的信息以及用關(guān)于受保護(hù)文件信息更新盤映射位圖2301來產(chǎn)生盤映射位圖2301。在一些實(shí)施例中,可以由諸如例如來自圖26的0/S下層安全代理2616之類的在比操作系統(tǒng)較低的優(yōu)先級(jí)環(huán)執(zhí)行的軟件截取請(qǐng)求。在其他實(shí)施例中,可以由諸如例如來自圖26的0/S內(nèi)部安全代理2618之類的在與操作系統(tǒng)相同的優(yōu)先級(jí)環(huán)執(zhí)行的軟件截取請(qǐng)求。例如,來自圖26的0/S內(nèi)部安全代理2618可以包括文件系統(tǒng)過濾驅(qū)動(dòng)程序。文件系統(tǒng)過濾驅(qū)動(dòng)程序可以截取涉及受保護(hù)文件2302的文件I/O請(qǐng)求。然后,過濾驅(qū)動(dòng)程序可以查詢文件系統(tǒng)以便獲得其中存儲(chǔ)有受保護(hù)文件2302的內(nèi)容的存儲(chǔ)設(shè)備上的扇區(qū)2304。然后,過濾驅(qū)動(dòng)程序可以訪問文件系統(tǒng)的主文件表(MFT)以判斷受保護(hù)文件2302的盤扇區(qū)布局??梢愿卤P映射位圖2301以便指定其中存儲(chǔ)有受保護(hù)文件2302的已標(biāo)識(shí)扇區(qū)2304。如果文件系統(tǒng)過濾驅(qū)動(dòng)程序截取對(duì)寫入受保護(hù)文件2302的請(qǐng)求,則可以使用受保護(hù)文件2302的經(jīng)更新內(nèi)容來產(chǎn)生新的散列值,且可以更新盤映射位圖2301以便存儲(chǔ)新的散列值。[0382]圖24是用于起動(dòng)受保護(hù)操作系統(tǒng)執(zhí)行環(huán)境的方法的示例實(shí)施例。在步驟2410,可以用被配置為引導(dǎo)受保護(hù)起動(dòng)環(huán)境的替代MBR來替換存儲(chǔ)設(shè)備的現(xiàn)有MBR。MBR可以位于存儲(chǔ)設(shè)備的第一扇區(qū)(即,扇區(qū)O)且可以在電子設(shè)備的啟動(dòng)時(shí)就執(zhí)行。以這種方式,在啟動(dòng)電子設(shè)備時(shí),可以不執(zhí)行原始MBR,且因此,可以不加載與原始MBR相關(guān)聯(lián)的操作系統(tǒng)或其他軟件。相反,可以執(zhí)行替代MBR且其可以加載受保護(hù)起動(dòng)環(huán)境。在步驟2420,可以啟動(dòng)電子設(shè)備,且因此可以執(zhí)行來自步驟2410的替代MBR。替代MBR可以進(jìn)行到加載受保護(hù)起動(dòng)環(huán)境。[0383]在步驟2430,可以獲得安全規(guī)則。安全規(guī)則可以被本地存儲(chǔ)在存儲(chǔ)設(shè)備上,或者可以遠(yuǎn)程存儲(chǔ)例如在保護(hù)服務(wù)器上。這樣的安全規(guī)則可以被用來在步驟2440-2480做出判定。在步驟2440,可以判斷是否已經(jīng)創(chuàng)建了各種受保護(hù)文件的備份副本??梢栽诎踩?guī)則中指定要求備份的受保護(hù)文件。備份文件可以包括例如替代MBR、與受保護(hù)起動(dòng)環(huán)境相關(guān)聯(lián)的文件、與一個(gè)或多個(gè)安全代理相關(guān)聯(lián)的文件和核心操作系統(tǒng)文件。如果還沒有創(chuàng)建備份副本,那么,在步驟2450創(chuàng)建備份副本。備份副本可以被本地存儲(chǔ)在存儲(chǔ)設(shè)備上,或者可以遠(yuǎn)程存儲(chǔ)例如在保護(hù)服務(wù)器上。[0384]在步驟2460可以判斷安全代理或操作系統(tǒng)是否感染了惡意軟件。安全代理可以包括Ο/s下層安全代理和/或和Ο/S內(nèi)部安全代理。在一個(gè)實(shí)施例中,可以通過檢驗(yàn)與安全代理和操作系統(tǒng)相關(guān)聯(lián)的各種受保護(hù)文件的完整性來檢查安全代理和操作系統(tǒng)以便發(fā)現(xiàn)惡意軟件。散列算法可以被用來驗(yàn)證受保護(hù)文件的完整性。例如,可以使用受保護(hù)文件的內(nèi)容來計(jì)算每一受保護(hù)文件的散列值,且可以把所計(jì)算的散列值與先前所產(chǎn)生的受保護(hù)文件的散列值進(jìn)行比較。如果受保護(hù)文件的散列值不同,那么,受保護(hù)文件可能已經(jīng)被惡意軟件修改。在一些實(shí)施例中,盤映射位圖可以標(biāo)識(shí)存儲(chǔ)設(shè)備上的其中存儲(chǔ)有每一受保護(hù)文件的扇區(qū),且也可以包括先前所產(chǎn)生的每一受保護(hù)文件的散列值。在這樣的實(shí)施例中,可以查詢盤映射位圖以判斷其中存儲(chǔ)有受保護(hù)文件的內(nèi)容的扇區(qū),并且可以使用受保護(hù)文件的內(nèi)容來計(jì)算散列值。也可以查詢盤映射位圖以檢索先前所產(chǎn)生的受保護(hù)文件的散列值以使得可以把先前所產(chǎn)生的散列值與所計(jì)算的散列值進(jìn)行比較。如果受保護(hù)文件的散列值不同,那么,可以假定是惡意軟件感染,且在步驟2470,可以從潛在的惡意軟件感染恢復(fù)受保護(hù)文件。如果受保護(hù)文件的散列值匹配,那么,受保護(hù)文件沒有受到變更,且因此沒有感染惡意軟件。在這種情況中,該方法可以進(jìn)行到步驟2480,步驟2480中可以加載安全代理和操作系統(tǒng)。[0385]在步驟2470,可以對(duì)潛在的惡意軟件感染執(zhí)行恢復(fù)。通過檢索已經(jīng)受到感染的每一受保護(hù)文件的備份副本并用相應(yīng)的備份副本替換潛在地受感染的受保護(hù)文件,執(zhí)行恢復(fù)。備份副本可以位于本地存儲(chǔ)設(shè)備上或可以遠(yuǎn)程位于例如保護(hù)服務(wù)器上。在使用備份副本來替換潛在地受感染的受保護(hù)文件之前,也可以驗(yàn)證備份文件的完整性以便確保備份文件它們自身沒有感染惡意軟件。[0386]在已經(jīng)使用相應(yīng)的備份副本來恢復(fù)受保護(hù)文件之后,在步驟2480,可以加載安全代理和操作系統(tǒng)。安全代理可以包括ο/s下層安全代理和/或ο/s內(nèi)部安全代理。ο/s下層安全代理可以在低于操作系統(tǒng)的優(yōu)先級(jí)水平執(zhí)行,且ο/s內(nèi)部安全代理可以執(zhí)行在操作系統(tǒng)的優(yōu)先級(jí)水平執(zhí)行或在高于操作系統(tǒng)的優(yōu)先級(jí)水平執(zhí)行。ο/s下層安全代理和ο/s內(nèi)部安全代理可以協(xié)作以便保護(hù)電子設(shè)備免遭惡意軟件。例如,ο/s下層安全代理和/或0/S內(nèi)部安全代理可以保護(hù)諸如存儲(chǔ)設(shè)備之類的電子設(shè)備的資源免遭未經(jīng)授權(quán)的訪問。在一些實(shí)施例中,可以給可以負(fù)責(zé)提供Ο/s下層安全代理、ο/s內(nèi)部安全代理和/或操作系統(tǒng)的安全起動(dòng)的電子設(shè)備的組件提供保護(hù)。例如,Ο/s下層安全代理和/或ο/s內(nèi)部安全代理可以保護(hù)負(fù)責(zé)執(zhí)行步驟2410-2470的那些組件。以這種方式,在下一次啟動(dòng)電子設(shè)備時(shí),在步驟2420加載的受保護(hù)起動(dòng)環(huán)境可以不受惡意軟件禁用。[0387]根據(jù)保護(hù)存儲(chǔ)設(shè)備的需要,可以連續(xù)地、周期性地、根據(jù)需求或在事件觸發(fā)時(shí)重復(fù)來自圖24的方法的步驟,事件的觸發(fā)可以包括惡意軟件和/或其他可疑行為的檢測(cè)。[0388]圖25是提供用于安全地執(zhí)行操作系統(tǒng)的操作系統(tǒng)執(zhí)行環(huán)境的方法2500的示例實(shí)施例。在步驟2505,可以認(rèn)證0/S下層安全代理、0/S內(nèi)部安全代理和保護(hù)服務(wù)器的身份和安全??梢允褂萌魏魏线m的方法執(zhí)行這樣的認(rèn)證,包括通過使用密碼散列和/或使用密鑰來定位和檢驗(yàn)每一組件的存儲(chǔ)器中的映像。直到完成步驟2505,可以停止其他步驟的操作。在步驟2510,可以獲得安全規(guī)則。安全規(guī)則可以被Ο/S下層安全代理和/或Ο/S內(nèi)部安全代理本地存儲(chǔ)在存儲(chǔ)設(shè)備上,或者可以遠(yuǎn)程存儲(chǔ)在例如保護(hù)服務(wù)器上。這樣的安全規(guī)則可以被用來在步驟2515-1475做出判定。[0389]在步驟2515,可以截取訪問受保護(hù)文件的嘗試。所截取的嘗試可以在操作系統(tǒng)級(jí)別發(fā)生或者在高于操作系統(tǒng)級(jí)別發(fā)生,例如由0/S內(nèi)部安全代理進(jìn)行,或者它可以在低于操作系統(tǒng)的級(jí)別發(fā)生,例如由Ο/s下層安全代理進(jìn)行。受保護(hù)文件可以包括MBR、與一個(gè)或多個(gè)安全代理相關(guān)聯(lián)的文件、用來起動(dòng)一個(gè)或多個(gè)安全代理(例如,來自圖21的加載模塊2102)的文件和核心操作系統(tǒng)文件。可以由安全規(guī)則指定受保護(hù)文件。在步驟2520,可以判斷是否需要把受保護(hù)文件的條目添加到盤映射位圖。盤映射位圖可以被實(shí)現(xiàn)為文件或其他數(shù)據(jù)結(jié)構(gòu),且可以存儲(chǔ)關(guān)于受保護(hù)文件的某些信息,例如每一受保護(hù)文件位于其中的存儲(chǔ)設(shè)備上的扇區(qū)和與每一受保護(hù)文件相關(guān)聯(lián)的散列值。如果盤映射位圖不包含在步驟2515正在被訪問的受保護(hù)文件的這種信息,可以把受保護(hù)文件的條目添加到盤映射位圖。例如,盤映射位圖可以不指定其中存儲(chǔ)有受保護(hù)文件的扇區(qū),或者可以不指定受保護(hù)文件的散列值。如果盤映射位圖丟失了這種信息,那么,在步驟2525可以更新盤映射位圖以便包括這信息。為了更新盤映射位圖,可以標(biāo)識(shí)存儲(chǔ)受保護(hù)文件的內(nèi)容的扇區(qū),并且可以使用受保護(hù)文件的內(nèi)容來產(chǎn)生散列值。確定其中存儲(chǔ)有受保護(hù)文件的存儲(chǔ)設(shè)備上的扇區(qū)可以涉及查詢文件系統(tǒng)和訪問主格式表(MFT)以判斷受保護(hù)文件的扇區(qū)布局。然后,可以從存儲(chǔ)設(shè)備的適當(dāng)扇區(qū)檢索受保護(hù)文件的內(nèi)容,且然后可以把受保護(hù)文件的內(nèi)容用作密碼散列算法的輸入來計(jì)算散列值。然后,可以把受保護(hù)文件的相應(yīng)扇區(qū)和所計(jì)算散列值存儲(chǔ)在盤映射位圖中。[0390]在步驟2530,可以判斷對(duì)受保護(hù)文件的訪問是否得到授權(quán)。這種判斷可以在操作系統(tǒng)級(jí)別發(fā)生或者在高于操作系統(tǒng)級(jí)別發(fā)生,例如由Ο/s內(nèi)部安全代理進(jìn)行,或者它可以在低于操作系統(tǒng)的級(jí)別發(fā)生,例如由Ο/s下層安全代理進(jìn)行??梢越Y(jié)合安全規(guī)則分析與訪問受保護(hù)文件的嘗試請(qǐng)求相關(guān)聯(lián)的上下文信息,以便判斷是否可以授權(quán)請(qǐng)求實(shí)體訪問受保護(hù)文件。例如,安全規(guī)則可以指定可以或不可以授權(quán)操作系統(tǒng)、特定應(yīng)用和/或特定設(shè)備驅(qū)動(dòng)程序訪問受保護(hù)文件。安全規(guī)則也可以指定可以得到授權(quán)訪問受保護(hù)文件的請(qǐng)求實(shí)體的訪問權(quán)限,例如讀、寫或執(zhí)行。如果對(duì)受保護(hù)文件的訪問沒有得到授權(quán),那么,在步驟2555,可以拒絕訪問。如果對(duì)受保護(hù)文件的訪問得到授權(quán),那么,在步驟2535,可以判斷受保護(hù)文件是否已更新。如果受保護(hù)文件已更新,那么,在步驟2540,也可以更新盤映射位圖。例如,如果對(duì)受保護(hù)文件更新引起被用來存儲(chǔ)文件的存儲(chǔ)設(shè)備上的扇區(qū)的改變,可以更新盤映射位圖以便標(biāo)識(shí)用來存儲(chǔ)受保護(hù)文件的適當(dāng)扇區(qū)。另外,可以產(chǎn)生受保護(hù)文件的新散列值并將其存儲(chǔ)在盤映射位圖中。在步驟2545,也可以更新受保護(hù)文件的備份副本以便反映對(duì)受保護(hù)文件的近來更新。[0391]如果對(duì)受保護(hù)文件的訪問得到授權(quán),那么,在步驟2550,可以允許對(duì)受保護(hù)文件的訪問。如果對(duì)受保護(hù)文件的訪問沒有得到授權(quán),那么,在步驟2555,可以拒絕訪問,并且在步驟2560,可以把關(guān)于該訪問嘗試的任何可疑信息報(bào)告給保護(hù)服務(wù)器。[0392]在步驟2565,可以判斷是否檢測(cè)到電子設(shè)備的關(guān)機(jī)。如果沒有檢測(cè)到關(guān)機(jī),那么,該方法可以在步驟2515再次繼續(xù),以便繼續(xù)截取對(duì)訪問受保護(hù)文件的嘗試。如果檢測(cè)到關(guān)機(jī),那么,在步驟2570可以驗(yàn)證MBR的完整性,以便確保在電子設(shè)備下次啟動(dòng)不引導(dǎo)感染惡意軟件的MBR??梢酝ㄟ^使用MBR的內(nèi)容計(jì)算散列值并把所計(jì)算的散列值與來自盤映射位圖的先前所產(chǎn)生的散列值進(jìn)行比較來驗(yàn)證MBR的完整性。如果散列不同,則MBR已經(jīng)被變更,且可以用備份副本替換。在驗(yàn)證了MBR的完整性之后,在步驟2575,可以關(guān)閉電子設(shè)備。[0393]根據(jù)保護(hù)存儲(chǔ)設(shè)備的要求,可以連續(xù)地、周期性地、根據(jù)需求或在事件觸發(fā)時(shí)重復(fù)來自圖25的方法的步驟。[0394]圖26是用于保護(hù)存儲(chǔ)設(shè)備2606免遭未經(jīng)授權(quán)的訪問的系統(tǒng)900的示例實(shí)施例。系統(tǒng)900可以包括通信上耦合到已觸發(fā)事件應(yīng)對(duì)程序2608的操作系統(tǒng)(“0/S”)下層安全代理2616。0/S下層安全代理2616可以包括被配置為捕獲對(duì)訪問電子設(shè)備2601的存儲(chǔ)設(shè)備2606的嘗試的0/S下層捕獲代理2604。0/S下層捕獲代理2604可以被配置為創(chuàng)建與已捕獲的訪問請(qǐng)求相關(guān)聯(lián)的已觸發(fā)事件并把已觸發(fā)事件發(fā)送給已觸發(fā)事件應(yīng)對(duì)程序2608。已觸發(fā)事件應(yīng)對(duì)程序2608可以被配置為查閱一個(gè)或多個(gè)安全規(guī)則2614或保護(hù)服務(wù)器2602以判斷如何應(yīng)對(duì)已觸發(fā)事件。已觸發(fā)事件應(yīng)對(duì)程序2608也可以被配置為評(píng)估已觸發(fā)事件的傾向是惡意軟件或破壞存儲(chǔ)設(shè)備2606的惡意嘗試的指示。此外,已觸發(fā)事件應(yīng)對(duì)程序2608可以被配置為向0/S下層捕獲代理2604提供應(yīng)當(dāng)允許還是拒絕已觸發(fā)事件的判斷,或者可以被配置為產(chǎn)生另一矯正動(dòng)作。0/S下層安全代理2616可以通信上耦合到在操作系統(tǒng)2612中運(yùn)行的0/S內(nèi)部安全代理2618。系統(tǒng)900可以被配置為使用備份存儲(chǔ)設(shè)備2620還原存儲(chǔ)設(shè)備2606上的數(shù)據(jù)。[0395]電子設(shè)備2601可以全部地或部分地由圖1的電子設(shè)備103、圖2的電子設(shè)備104、圖4的電子設(shè)備404和/或圖7的電子設(shè)備701或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。電子設(shè)備2601可以包括被耦合到存儲(chǔ)器2603的一個(gè)或多個(gè)處理器2602。處理器2602可以全部地或部分地由圖2的處理器208、圖4的處理器406和/或圖7的處理器702或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。存儲(chǔ)器2603可以全部地或部分地由圖2的存儲(chǔ)器207、圖4的存儲(chǔ)器408和/或圖7的存儲(chǔ)器703或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。電子設(shè)備2601可以包括操作系統(tǒng)2612,操作系統(tǒng)2612可以包括0/S內(nèi)部安全代理2618。操作系統(tǒng)2612可以全部地或部分地由圖1的操作系統(tǒng)112、圖2的操作系統(tǒng)212、圖4的操作系統(tǒng)412和/或圖7的操作系統(tǒng)713或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。0/S內(nèi)部安全代理2618可以全部地或部分地由圖1的0/S內(nèi)部安全代理218、圖4的0/S內(nèi)部安全代理418和/或圖7的0/S內(nèi)部安全代理719或其任何合適的組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。[0396]存儲(chǔ)設(shè)備2606可以由圖1的資源106、圖2的系統(tǒng)資源214、圖4的存儲(chǔ)426、或圖5的I/O設(shè)備502實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。存儲(chǔ)設(shè)備2606可以包括用于存儲(chǔ)數(shù)據(jù)或其他信息的任何合適的資源。例如,存儲(chǔ)設(shè)備2606可以包括但不限于直接訪問存儲(chǔ)設(shè)備(例如,硬盤驅(qū)動(dòng)器或軟盤)、連續(xù)訪問存儲(chǔ)設(shè)備(例如,磁帶磁盤驅(qū)動(dòng)器)、緊致盤、⑶-ROM、DVD、隨機(jī)存取存儲(chǔ)器(RAM)盤和/或閃速存儲(chǔ)器(例如,基于閃存的固態(tài)驅(qū)動(dòng)器)。存儲(chǔ)設(shè)備2606可以包括大容量存儲(chǔ)設(shè)備。不考慮與系統(tǒng)總線的連接類型或接口方法,存儲(chǔ)設(shè)備2606可以包括被連接到電子設(shè)備2601的存儲(chǔ)設(shè)備,系統(tǒng)總線可以包括但不限于PC1、串行ATA、USB或火線。存儲(chǔ)設(shè)備2606可以包括永久的塊設(shè)備。存儲(chǔ)設(shè)備2606可以被分割成一個(gè)或多個(gè)扇區(qū)924,每一扇區(qū)能夠存儲(chǔ)固定量的數(shù)據(jù)。例如,存儲(chǔ)設(shè)備2606可以被分割成每個(gè)512字節(jié)的扇區(qū),但可以使用任何合適的扇區(qū)大小。存儲(chǔ)設(shè)備2606上的扇區(qū)924可以是靜態(tài)的或動(dòng)態(tài)的。靜態(tài)扇區(qū)的位置固定,而動(dòng)態(tài)扇區(qū)不固定。例如,主引導(dǎo)記錄2626(MBR)是靜態(tài)的且位于扇區(qū)0,即存儲(chǔ)設(shè)備2606上的第一扇區(qū)。要求保護(hù)的動(dòng)態(tài)扇區(qū)包括存儲(chǔ)主文件表(即,包含與存儲(chǔ)在文件系統(tǒng)上的所有文件相關(guān)聯(lián)的元數(shù)據(jù)的文件)、操作系統(tǒng)內(nèi)核文件、設(shè)備驅(qū)動(dòng)程序和諸如Ο/S下層安全代理2616或Ο/S內(nèi)部安全代理2618之類的反惡意軟件應(yīng)用的扇區(qū)。因?yàn)閯?dòng)態(tài)扇區(qū)不固定,必須把存儲(chǔ)在動(dòng)態(tài)扇區(qū)上的文件從它們?cè)谖募到y(tǒng)上的概念存在映射到來自文件的數(shù)據(jù)駐留在其中的存儲(chǔ)設(shè)備2606的物理扇區(qū)。[0397]0/S下層安全代理2616可以由圖1的0/S下層捕獲代理104、圖2的SVMM216、圖4的固件安全代理440、442或PC固件安全代理444、圖5的固件安全代理516或圖7的微代碼安全代理708實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。在借助于圖4的固件安全代理440或442或圖5的固件安全代理516的功能性來實(shí)現(xiàn)0/S下層安全代理2616的實(shí)施例中,可以在存儲(chǔ)設(shè)備2606的固件中實(shí)現(xiàn)0/S下層安全代理2616。已觸發(fā)事件應(yīng)對(duì)程序2608可以由圖1的已觸發(fā)事件應(yīng)對(duì)程序108、圖2的SVMM安全代理217、圖4的0/S下層代理450或圖7的0/S下層代理712實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。在借助于圖4的固件安全代理440或442或圖5的固件安全代理516的功能性來實(shí)現(xiàn)已觸發(fā)事件應(yīng)對(duì)程序2608的實(shí)施例中,可以在存儲(chǔ)設(shè)備2606的固件中實(shí)現(xiàn)已觸發(fā)事件應(yīng)對(duì)程序2608。在各種實(shí)施例中,0/S下層安全代理2616的功能性中的一些可以由已觸發(fā)事件應(yīng)對(duì)程序2608實(shí)現(xiàn),或已觸發(fā)事件應(yīng)對(duì)程序2608的功能性中的一些可以由0/S下層安全代理2616實(shí)現(xiàn)。此外,0/S下層安全代理2616和已觸發(fā)事件應(yīng)對(duì)程序2608可以在相同的軟件模塊中實(shí)現(xiàn)。[0398]可以在比電子設(shè)備2601的操作系統(tǒng)2612較低的功能的級(jí)別實(shí)現(xiàn)0/S下層安全代理2616。例如,0/S下層安全代理2616可以截取操作系統(tǒng)2612、驅(qū)動(dòng)程序2611或應(yīng)用2610對(duì)存儲(chǔ)設(shè)備2606的已嘗試訪問。0/S下層安全代理2616可以在電子設(shè)備2601的處理器上運(yùn)行而無需使用操作系統(tǒng)。在一個(gè)實(shí)施例中,0/S下層安全代理2616可以在裸機(jī)環(huán)境或執(zhí)行級(jí)別上操作。另外,0/S下層安全代理2616可以在比電子設(shè)備2601的所有操作系統(tǒng)2612更高的優(yōu)先級(jí)環(huán)上執(zhí)行,如由電子設(shè)備2601的處理器所定義的。例如,在其中較低的數(shù)字表示較高的優(yōu)先級(jí)的使用保護(hù)環(huán)的分級(jí)保護(hù)域模型的上下文中,操作系統(tǒng)2612可以是在“O環(huán)”操作而0/S下層安全代理2616可以“I環(huán)”操作。驅(qū)動(dòng)程序2611和應(yīng)用2610可以在“O環(huán)”或“3環(huán)”操作。電子設(shè)備2601的操作系統(tǒng)可以在O環(huán)運(yùn)行。[0399]通過在“I環(huán)”運(yùn)行,0/S下層安全代理2616可以避免煩擾諸如操作系統(tǒng)2612之類的操作系統(tǒng)的大多數(shù)惡意軟件。Ο/s下層安全代理2616可以對(duì)在O環(huán)或更高運(yùn)行的實(shí)體透明地操作。因而,可以由操作系統(tǒng)2612或另一實(shí)體以相同的方式請(qǐng)求訪問存儲(chǔ)設(shè)備2606的嘗試,而不考慮是否存在0/S下層安全代理2616。在強(qiáng)加訪問存儲(chǔ)設(shè)備2606的請(qǐng)求時(shí),0/S下層安全代理2616可以允許請(qǐng)求、拒絕請(qǐng)求、破壞存儲(chǔ)設(shè)備2606上的數(shù)據(jù)、破壞存儲(chǔ)設(shè)備2606的介質(zhì)表面、加密存儲(chǔ)設(shè)備2606上的數(shù)據(jù)或采取其他矯正動(dòng)作。為了拒絕請(qǐng)求,0/S下層安全代理2616可以簡單地防止請(qǐng)求到達(dá)存儲(chǔ)設(shè)備2606或處理器2602,或者可以向該請(qǐng)求提供經(jīng)欺騙的或啞元應(yīng)答以便使得操作系統(tǒng)2612相信該動(dòng)作已經(jīng)發(fā)生。為了允許請(qǐng)求,0/S下層安全代理2616可以簡單地把請(qǐng)求傳送給存儲(chǔ)設(shè)備2606或處理器2602。為了破壞數(shù)據(jù),0/S下層安全代理2616可以被配置為重寫或以另外方式移除存儲(chǔ)設(shè)備2606上的數(shù)據(jù)。為了破壞存儲(chǔ)設(shè)備2606的介質(zhì)表面,Ο/S下層安全代理2616可以執(zhí)行動(dòng)作以便把存儲(chǔ)設(shè)備2606呈現(xiàn)為不可操作為讀或?qū)憯?shù)據(jù)。為了加密存儲(chǔ)設(shè)備2606上的數(shù)據(jù),0/S下層安全代理2616可以使用任何合適的加密算法來加密存儲(chǔ)設(shè)備2606上的數(shù)據(jù)并用經(jīng)加密的數(shù)據(jù)替換存儲(chǔ)設(shè)備2606上的未經(jīng)加密的數(shù)據(jù)。[0400]0/S下層安全代理2616可以包括被配置為捕獲對(duì)訪問存儲(chǔ)設(shè)備2606的請(qǐng)求的0/S下層捕獲代理2604??梢杂刹僮飨到y(tǒng)2612、驅(qū)動(dòng)程序2611或應(yīng)用2610發(fā)起對(duì)訪問存儲(chǔ)設(shè)備2606的請(qǐng)求。0/S下層捕獲代理2604可以被配置為標(biāo)識(shí)負(fù)責(zé)發(fā)起請(qǐng)求的請(qǐng)求實(shí)體。0/S下層捕獲代理2604還可以被配置為創(chuàng)建與已捕獲訪問嘗試相關(guān)聯(lián)的已觸發(fā)事件并把已觸發(fā)事件發(fā)送給已觸發(fā)事件應(yīng)對(duì)程序2608以便判斷相對(duì)于該事件要采取的適當(dāng)動(dòng)作。已觸發(fā)事件可以包括諸如與請(qǐng)求相關(guān)聯(lián)的存儲(chǔ)設(shè)備2606的區(qū)域(例如,扇區(qū)和/或文件)、請(qǐng)求實(shí)體和所請(qǐng)求的訪問的類型之類的信息。與請(qǐng)求相關(guān)聯(lián)的存儲(chǔ)設(shè)備2606的區(qū)域可以是存儲(chǔ)設(shè)備2606的一個(gè)或多個(gè)扇區(qū),或者可以是被存儲(chǔ)在存儲(chǔ)設(shè)備2606上的文件。請(qǐng)求實(shí)體可以是操作系統(tǒng)2612、驅(qū)動(dòng)程序2611或應(yīng)用2610。例如,如果應(yīng)用2610或驅(qū)動(dòng)程序2611請(qǐng)求訪問存儲(chǔ)設(shè)備2606,則已觸發(fā)事件可以指示請(qǐng)求訪問的特定的應(yīng)用2610或驅(qū)動(dòng)程序2611。如果請(qǐng)求是來自操作系統(tǒng)2612而非特定的應(yīng)用2610或驅(qū)動(dòng)程序2611,則已觸發(fā)事件可以指示該請(qǐng)求是來自操作系統(tǒng)2612。所請(qǐng)求的訪問的類型可以包括從存儲(chǔ)設(shè)備2606讀取、向存儲(chǔ)設(shè)備2606寫入或執(zhí)行存儲(chǔ)設(shè)備2606上的代碼的請(qǐng)求。[0401]在一個(gè)實(shí)施例中,0/S下層捕獲代理2604可以被配置為僅在檢測(cè)到諸如對(duì)系統(tǒng)的攻擊、惡意軟件感染或任何其他潛在的安全威脅之類的事件之后捕獲對(duì)訪問存儲(chǔ)設(shè)備2606的請(qǐng)求。在這樣的實(shí)施例中,保存系統(tǒng)100的資源直到已經(jīng)檢測(cè)到潛在的安全威脅。在另一實(shí)施例中,0/S下層捕獲代理2604可以被配置為在所有時(shí)刻捕獲對(duì)訪問存儲(chǔ)設(shè)備2606的請(qǐng)求,而不考慮是否已經(jīng)檢測(cè)到潛在的安全威脅。[0402]在另一實(shí)施例中,0/S下層安全代理2616可以被配置為通過捕獲對(duì)用于文件輸入和輸出的驅(qū)動(dòng)程序或系統(tǒng)函數(shù)的調(diào)用的執(zhí)行來捕獲對(duì)存儲(chǔ)設(shè)備2606的已嘗試訪問。這樣的調(diào)用的捕獲可以虛擬存儲(chǔ)器頁面級(jí)別完成,其中,可以由0/S下層安全代理2616標(biāo)識(shí)和保護(hù)包含這樣的驅(qū)動(dòng)程序或系統(tǒng)函數(shù)的存儲(chǔ)器頁面。在這樣的情況中,0/S下層安全代理2616可以部分地或完全地例如由虛擬機(jī)監(jiān)視器或在微代碼中實(shí)現(xiàn)。這樣的調(diào)用的捕獲可以在物理存儲(chǔ)器地址級(jí)別完成,其中,可以由0/S下層安全代理2616標(biāo)識(shí)和保護(hù)這樣的驅(qū)動(dòng)程序或系統(tǒng)函數(shù)的代碼段的存儲(chǔ)器地址。在這樣的情況中,0/S下層安全代理2616可以完全地或部分地例如以微代碼實(shí)現(xiàn)。惡意軟件可以直接調(diào)用這樣的函數(shù),在這種情況中,0/S下層安全代理2616可以確定這樣的函數(shù)的調(diào)用者,以便標(biāo)識(shí)該調(diào)用者是否擁有訪問存儲(chǔ)設(shè)備2606的特定部分的權(quán)限。通過例如調(diào)用未經(jīng)建檔的文件函數(shù)的子函數(shù)或者直接地分支到函數(shù)的代碼部分而根本無需調(diào)用函數(shù),惡意軟件可以間接地調(diào)用這樣的函數(shù)。這樣的嘗試可以被用來隱藏調(diào)用者的身份或以另外方式模糊惡意軟件對(duì)文件I/O的使用。在這樣的情況中,通過捕獲子函數(shù)的執(zhí)行或通過捕獲通向文件I/O函數(shù)的代碼部分的JMP或分支指令,0/S下層安全代理2616可以捕獲已嘗試文件I/O。這樣的行為本身是可疑的,因此即使調(diào)用者是未知的,0/S下層安全代理2616也可以被配置為判斷這樣的已嘗試訪問的宿主是可疑的且該嘗試可以指示惡意軟件。[0403]在又一實(shí)施例中,0/S下層安全代理2616可以被配置為通過捕獲為訪問盤而產(chǎn)生的中斷來捕獲對(duì)存儲(chǔ)設(shè)備2606的已嘗試訪問。這樣的中斷可以由正常的文件I/O函數(shù)調(diào)用,或者可以由避免使用函數(shù)并嘗試直接寫入到存儲(chǔ)設(shè)備2606惡意軟件產(chǎn)生。Ο/S下層安全代理2616可以被配置為確定中斷的源、標(biāo)識(shí)中斷的本質(zhì)、標(biāo)識(shí)任何上下文信息或參數(shù)、標(biāo)識(shí)中斷的目標(biāo)、并判斷該嘗試是否可疑。例如,該嘗試是否可疑的判定可以包括調(diào)用者的身份,或者動(dòng)作自身是可疑的。例如,惡意軟件可以執(zhí)行一系列指令,其中,可以把要寫的扇區(qū)的計(jì)數(shù)(例如“MOVal,count(移動(dòng)al,計(jì)數(shù))”)、要寫的磁道的標(biāo)識(shí)(例如“MOVch,track(移動(dòng)ch,磁道)”)、要寫的扇區(qū)的標(biāo)識(shí)(例如“MOVcldectoK移動(dòng)Cl,扇區(qū))”),要寫的首部的標(biāo)識(shí)(例如“MOVdh,head(移動(dòng)dh,首部)”),要寫的卷的標(biāo)識(shí)(例如“MOVdl,drive(移動(dòng)dl,驅(qū)動(dòng)程序)”)、要執(zhí)行的文件的類型的標(biāo)識(shí)(例如“MOVah,03h”)以及要寫到文件的數(shù)據(jù)的存儲(chǔ)器位置(例如“MOVbx,buf”)移動(dòng)到通用寄存器。把這樣的信息指派給特定的通用寄存器可以是用于加載用于隨后的文件I/O中斷的信息的已知方法??梢杂谩癕OV(移動(dòng))”指令做出這些指派。隨后,可以執(zhí)行產(chǎn)生中斷13的指令,例如“INT13h”。0/S下層安全代理2616可以被配置為捕獲命令并檢查關(guān)聯(lián)寄存器的內(nèi)容以判斷已嘗試文件I/O的本質(zhì)以及存儲(chǔ)設(shè)備2606的所針對(duì)的部分。Ο/S下層安全代理2616可以被配置為查閱安全規(guī)則以便判斷這樣的操作的調(diào)用者是否擁有寫入到存儲(chǔ)設(shè)備2606的指定部分的權(quán)限。Ο/S下層安全代理2616可以被配置為檢查執(zhí)行歷史以便判斷這樣的命令序列是否起因于經(jīng)授權(quán)文件I/O驅(qū)動(dòng)程序,或者它們是否由未知的或惡意進(jìn)程直接執(zhí)行。在這樣的情況中,基于這樣的行為,即使先前不已知調(diào)用者的狀態(tài)是惡意的,也可以判斷調(diào)用者是惡意的。最終,即使做出標(biāo)準(zhǔn)文件I/O驅(qū)動(dòng)程序調(diào)用以便執(zhí)行中斷,也可以標(biāo)識(shí)驅(qū)動(dòng)程序的調(diào)用者,且Ο/S下層安全代理2616可以被配置為判斷調(diào)用者是否擁有訪問所考慮的存儲(chǔ)設(shè)備2606的部分的權(quán)限。[0404]0/S下層安全代理2616可以包括映射代理2622。映射代理2622可以被配置為把文件從其在文件系統(tǒng)上的概念存在映射到該文件存儲(chǔ)在其中的存儲(chǔ)設(shè)備2606的扇區(qū)924。在一個(gè)實(shí)施例中,映射代理2622可以在與0/S下層安全代理2616相同的優(yōu)先級(jí)環(huán)操作。在另一實(shí)施例中,映射代理2622可以被實(shí)現(xiàn)為0/S內(nèi)部安全代理2618的部分且可以在與操作系統(tǒng)2612、驅(qū)動(dòng)程序2611或應(yīng)用2610相同的優(yōu)先級(jí)環(huán)是操作。在再一個(gè)實(shí)施例中,映射代理2622可以由兩個(gè)或更多個(gè)映射代理實(shí)現(xiàn),其中,至少一個(gè)映射代理在與0/S下層安全代理2616相同的優(yōu)先級(jí)環(huán)操作,且至少一個(gè)映射代理在操作系統(tǒng)2612、驅(qū)動(dòng)程序2611或應(yīng)用2610的優(yōu)先級(jí)環(huán)操作。映射代理2622可以接收對(duì)映射來自0/S下層捕獲代理2604或已觸發(fā)事件應(yīng)對(duì)程序2608的文件的請(qǐng)求,且可以響應(yīng)通過提供該文件存儲(chǔ)在其中的存儲(chǔ)設(shè)備2606上的扇區(qū)。這樣的實(shí)施例可以允許0/S下層捕獲代理2604和/或已觸發(fā)事件應(yīng)對(duì)程序2608標(biāo)識(shí)對(duì)訪問不總是被存儲(chǔ)在存儲(chǔ)設(shè)備2606的相同扇區(qū)上的動(dòng)態(tài)定位的文件或數(shù)據(jù)的請(qǐng)求。例如,主文件表、操作系統(tǒng)內(nèi)核文件、設(shè)備驅(qū)動(dòng)程序和反惡意軟件軟件的位置可以不總是在存儲(chǔ)設(shè)備2606的相同扇區(qū)924上,且映射代理2622可以被用來標(biāo)識(shí)這些文件存儲(chǔ)在其中的扇區(qū)。在一些實(shí)施例中,映射代理2622可以查詢文件系統(tǒng)以判斷受保護(hù)文件存儲(chǔ)在其中的扇區(qū)。映射代理2622也可以使用盤映射位圖2628來標(biāo)識(shí)受保護(hù)文件存儲(chǔ)在其中的存儲(chǔ)設(shè)備2606上的扇區(qū)924。盤映射位圖2628可以由圖23的盤映射位圖2301實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它的功能性。盤映射位圖2628可以包含與各種受保護(hù)文件相關(guān)聯(lián)的信息,例如,包括其中每一受保護(hù)文件存儲(chǔ)在其中的存儲(chǔ)設(shè)備的扇區(qū)或多個(gè)扇區(qū)。如果受保護(hù)文件經(jīng)過更新,則也可以更新來自盤映射位圖2628的信息。以這種方式,在映射代理2622接收對(duì)把受保護(hù)文件從其在文件系統(tǒng)上的概念存在映射到該文件駐留在其中的存儲(chǔ)設(shè)備2606的扇區(qū)924的請(qǐng)求時(shí),映射代理2622可以查閱盤映射位圖2628以便標(biāo)識(shí)對(duì)應(yīng)于受保護(hù)文件的扇區(qū)924。[0405]已觸發(fā)事件應(yīng)對(duì)程序2608可以由通信上耦合到一起的一個(gè)或多個(gè)事件應(yīng)對(duì)程序或安全代理實(shí)現(xiàn)??梢栽谙嗤陌踩碇袑?shí)現(xiàn)已觸發(fā)事件應(yīng)對(duì)程序2608和0/S下層捕獲代理2604。在一個(gè)實(shí)施例中,已觸發(fā)事件應(yīng)對(duì)程序2608可以在與0/S下層捕獲代理2604相同的優(yōu)先級(jí)環(huán)操作。在另一實(shí)施例中,已觸發(fā)事件應(yīng)對(duì)程序2608可以被實(shí)現(xiàn)為0/S內(nèi)部安全代理2618的部分且可以在與操作系統(tǒng)2612、驅(qū)動(dòng)程序2611或應(yīng)用2610相同的優(yōu)先級(jí)環(huán)操作。在再一個(gè)實(shí)施例中,已觸發(fā)事件應(yīng)對(duì)程序2608可以由兩個(gè)或更多個(gè)已觸發(fā)事件應(yīng)對(duì)程序?qū)崿F(xiàn),其中,至少一個(gè)已觸發(fā)事件應(yīng)對(duì)程序在與0/S下層安全代理2616相同的優(yōu)先級(jí)環(huán)操作,且至少一個(gè)已觸發(fā)事件應(yīng)對(duì)程序操作系統(tǒng)2612、驅(qū)動(dòng)程序2611或應(yīng)用2610的優(yōu)先級(jí)環(huán)操作。通過在0/S下層捕獲代理2604的優(yōu)先級(jí)環(huán)運(yùn)行,已觸發(fā)事件應(yīng)對(duì)程序2608可以類似地避免“O環(huán)”或“3環(huán)”惡意軟件感染該代理自身的問題。然而,“O環(huán)”或“3環(huán)”與操作系統(tǒng)2612、驅(qū)動(dòng)程序2611或應(yīng)用2610—起運(yùn)行的已觸發(fā)事件應(yīng)對(duì)程序2608可以提供從“I環(huán)”代理的角度來看不可用的關(guān)于對(duì)存儲(chǔ)設(shè)備2606的已嘗試訪問的上下文信息。[0406]已觸發(fā)事件應(yīng)對(duì)程序2608可以被配置為接收和處理來自0/S下層捕獲代理2604的已觸發(fā)事件。已觸發(fā)事件應(yīng)對(duì)程序2608也可以被配置為把安全規(guī)則2614提供給0/S下層安全代理2616和/或0/S下層捕獲代理2604。已觸發(fā)事件可以包含關(guān)于已經(jīng)被0/S下層捕獲代理2604捕獲的、對(duì)訪問存儲(chǔ)設(shè)備2606的請(qǐng)求的信息。已觸發(fā)事件應(yīng)對(duì)程序2608可以被配置為結(jié)合與已觸發(fā)事件相關(guān)聯(lián)的上下文信息利用一個(gè)或多個(gè)安全規(guī)則2614或保護(hù)服務(wù)器2602來標(biāo)識(shí)對(duì)存儲(chǔ)設(shè)備2606的訪問受保護(hù)區(qū)域嘗試并判斷適當(dāng)?shù)捻憫?yīng)。例如,已觸發(fā)事件應(yīng)對(duì)程序2608可以使用安全規(guī)則2614來標(biāo)識(shí)對(duì)訪問諸如受保護(hù)的扇區(qū)和/或文件之類的存儲(chǔ)設(shè)備2606的受保護(hù)區(qū)域的嘗試。已觸發(fā)事件應(yīng)對(duì)程序2608可以使用映射代理2622來幫助標(biāo)識(shí)對(duì)訪問受保護(hù)文件的請(qǐng)求。例如,已觸發(fā)事件應(yīng)對(duì)程序2608可以向映射代理2622發(fā)送對(duì)把受保護(hù)文件映射到存儲(chǔ)設(shè)備2606上的相應(yīng)扇區(qū)的請(qǐng)求。映射代理2622可以用對(duì)應(yīng)于受保護(hù)文件的扇區(qū)響應(yīng)。已觸發(fā)事件應(yīng)對(duì)程序2608可以通過標(biāo)識(shí)對(duì)對(duì)應(yīng)于文件的訪問扇區(qū)的嘗試來標(biāo)識(shí)對(duì)訪問受保護(hù)文件的嘗試。在標(biāo)識(shí)對(duì)訪問諸如受保護(hù)的扇區(qū)和/或文件之類的受保護(hù)區(qū)域的嘗試之后,已觸發(fā)事件應(yīng)對(duì)程序2608可以被配置為查閱安全規(guī)則2614以便判斷對(duì)訪問受保護(hù)區(qū)域的嘗試是否得到授權(quán)。已觸發(fā)事件應(yīng)對(duì)程序2608還可以被配置為向0/S下層安全代理2616提供適當(dāng)動(dòng)作的判斷。例如,已觸發(fā)事件應(yīng)對(duì)程序2608可以告知0/S下層安全代理2616應(yīng)當(dāng)允許還是拒絕已觸發(fā)事件,是否應(yīng)當(dāng)破壞特定的數(shù)據(jù)或介質(zhì)表面,或者是否應(yīng)當(dāng)加密數(shù)據(jù)。[0407]單獨(dú)地或與諸如已觸發(fā)事件應(yīng)對(duì)程序2608或0/S內(nèi)部安全代理2618之類的組件結(jié)合,Ο/s下層安全代理2616可以被配置為確定訪問存儲(chǔ)設(shè)備2606的典型、可信的方法。例如,通常通過文件I/O驅(qū)動(dòng)程序的調(diào)用做出對(duì)扇區(qū)存儲(chǔ)設(shè)備2620的寫或讀。因而,可以由檢查被用來做出嘗試過程或函數(shù)的0/S下層安全代理2616評(píng)估對(duì)寫入受保護(hù)扇區(qū)的已捕獲嘗試??梢杂^察和評(píng)估訪問扇區(qū)時(shí)對(duì)預(yù)期行為的背離,以便指示惡意軟件。如果例如0/S下層安全代理2616判斷,通過直接調(diào)用中斷13而不使用正常的文件I/O函數(shù)或驅(qū)動(dòng)程序來做出對(duì)受保護(hù)扇區(qū)的嘗試寫入,那么,這樣的嘗試寫入是可疑的。[0408]備份存儲(chǔ)設(shè)備2620可以被用來備份和還原存儲(chǔ)設(shè)備2606上的數(shù)據(jù)。例如,0/S下層安全代理2616和/或0/S內(nèi)部安全代理2618可以被配置為備份來自存儲(chǔ)設(shè)備2606的數(shù)據(jù)并在各種環(huán)境下還原數(shù)據(jù)。安全規(guī)則2614可以指定經(jīng)授權(quán)為要備份的存儲(chǔ)設(shè)備2606的特定扇區(qū)924。當(dāng)來自存儲(chǔ)設(shè)備2606的數(shù)據(jù)要求還原時(shí),可以使用來自備份存儲(chǔ)設(shè)備2620的相應(yīng)扇區(qū)的數(shù)據(jù)來寫存儲(chǔ)設(shè)備2606的適當(dāng)扇區(qū)。如果必要,在還原過程期間期間可以使用對(duì)存儲(chǔ)設(shè)備2606的多次寫入。在一些實(shí)施例中,如果判斷數(shù)據(jù)損壞或以另外方式感染了惡意軟件,則可以恢復(fù)來自存儲(chǔ)設(shè)備2606的數(shù)據(jù)??梢酝ㄟ^掃描存儲(chǔ)設(shè)備2606的扇區(qū)以便檢測(cè)惡意軟件的存在來執(zhí)行這種判斷。在掃描存儲(chǔ)設(shè)備2606的扇區(qū)的同時(shí),可以使用黑名單來標(biāo)識(shí)已知包括惡意軟件或與惡意軟件相關(guān)聯(lián)的數(shù)據(jù)的模式。黑名單可以由安全規(guī)則2614定義。如果找到了已知與惡意軟件相關(guān)聯(lián)的數(shù)據(jù)的模式,那么,從備份存儲(chǔ)設(shè)備2620恢復(fù)受感染扇區(qū)。在一些實(shí)施例中,盤映射位圖2628可以被用來判斷各種受保護(hù)文件是否感染了惡意軟件。例如,在圖23的盤映射位圖2301的討論中可以找到盤映射位圖2628的示例實(shí)施例的描述。盤映射位圖2628可以指定存儲(chǔ)設(shè)備2606上受保護(hù)文件的位置且也可以提供先前所產(chǎn)生的受保護(hù)文件的散列值??梢圆樵儽P映射位圖2628以便標(biāo)識(shí)受保護(hù)文件的位置,可以使用受保護(hù)文件的內(nèi)容來計(jì)算的散列,并且可以把所計(jì)算的散列與來自盤映射位圖2628的先前所產(chǎn)生的散列值進(jìn)行比較。如果散列值不匹配,則受保護(hù)文件可能已經(jīng)被惡意軟件變更,且從恢復(fù)備份存儲(chǔ)設(shè)備2620文件。在一些實(shí)施例中,在被用來還原存儲(chǔ)設(shè)備2606上的數(shù)據(jù)之前也檢查備份存儲(chǔ)設(shè)備2620以便發(fā)現(xiàn)惡意軟件。如果備份存儲(chǔ)設(shè)備2620被感染,則不可以使用來自備份存儲(chǔ)設(shè)備2620的備份數(shù)據(jù)和/或可以使用較舊的備份可以被使用,或者可以拒絕對(duì)訪問存儲(chǔ)設(shè)備2606的請(qǐng)求。[0409]可以由0/S下層安全代理2616把來自備份存儲(chǔ)設(shè)備2620的數(shù)據(jù)寫到存儲(chǔ)設(shè)備2606,以便避免使用可能感染了惡意軟件的操作系統(tǒng)2612的文件系統(tǒng)機(jī)制。然而,可以使用任何其他安全進(jìn)程來用來自備份存儲(chǔ)設(shè)備2620的數(shù)據(jù)把數(shù)據(jù)還原到存儲(chǔ)設(shè)備2606。可以維護(hù)每一備份的元數(shù)據(jù),且其可以包括修訂版本號(hào)、創(chuàng)建備份的日期和時(shí)間以及與該備份相關(guān)聯(lián)的應(yīng)用2610或其他實(shí)體。備份存儲(chǔ)設(shè)備2620可以被定位為遠(yuǎn)離存儲(chǔ)設(shè)備2606,例如在網(wǎng)絡(luò)上。例如,備份存儲(chǔ)設(shè)備2620可以與保護(hù)服務(wù)器2602相關(guān)聯(lián)。如果備份存儲(chǔ)設(shè)備2620位于網(wǎng)絡(luò)上,則0/S下層安全代理2616可以使用帶外網(wǎng)絡(luò)連接來訪問備份存儲(chǔ)設(shè)備2620,以便避免使用可能感染了惡意軟件的操作系統(tǒng)內(nèi)核網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)程序。在一個(gè)實(shí)施例中,可以使用主動(dòng)管理技術(shù)(AMT)來實(shí)現(xiàn)這種帶外網(wǎng)絡(luò)連接,主動(dòng)管理技術(shù)可以允許通過直接地訪問電子設(shè)備2601的網(wǎng)卡使用HTTPS、iSCS1、NFS或CIFS客戶機(jī)來訪問備份存儲(chǔ)設(shè)備22620。[0410]保護(hù)服務(wù)器2602可以在網(wǎng)絡(luò)上操作且可以實(shí)現(xiàn)云計(jì)算方案。保護(hù)服務(wù)器2602可以被配置為存儲(chǔ)安全規(guī)則2614并與諸如0/S下層安全代理2616、0/S內(nèi)部安全代理2618和/或已觸發(fā)事件應(yīng)對(duì)程序2608之類的系統(tǒng)900的元素通信,以提供安全規(guī)則2614和其他信息。保護(hù)服務(wù)器2602可以包括備份存儲(chǔ)設(shè)備2620。備份存儲(chǔ)設(shè)備2620可以用于存儲(chǔ)安全規(guī)則2614和/或備份來自存儲(chǔ)設(shè)備2606的數(shù)據(jù)。[0411]安全規(guī)則2614可以由圖1的安全規(guī)則114、圖2的安全規(guī)則220、222、圖4的安全規(guī)則420、422、434、436、438、圖5的安全規(guī)則518或圖7的安全規(guī)則707、721、723實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。可以在下面的圖27的討論中找到安全規(guī)則2614的示例實(shí)施例的描述。[0412]圖27是與用于保護(hù)存儲(chǔ)設(shè)備免遭未經(jīng)授權(quán)的訪問的系統(tǒng)或方法一起使用的安全規(guī)則的示例實(shí)施例。安全規(guī)則2700可以包括用于指定要求捕獲的事件和每一事件的適當(dāng)響應(yīng)的任何合適的規(guī)則、邏輯、命令、指令、標(biāo)志或其他機(jī)制。例如,安全規(guī)則2700可以由來自圖26的0/S下層安全代理2616、0/S內(nèi)部安全代理2618和/或已觸發(fā)事件應(yīng)對(duì)程序2608用來標(biāo)識(shí)要求捕獲的事件并判斷每一事件的適當(dāng)響應(yīng)。安全規(guī)則2700可以要求捕獲對(duì)訪問存儲(chǔ)設(shè)備的所有請(qǐng)求,或者可以僅要求捕獲特定類型的請(qǐng)求,例如讀、寫和/或執(zhí)行請(qǐng)求。安全規(guī)則2700還可以包括指定存儲(chǔ)設(shè)備的受保護(hù)區(qū)域2702的規(guī)則,受保護(hù)區(qū)域2702例如要求保護(hù)的存儲(chǔ)設(shè)備的特定扇區(qū)或存儲(chǔ)設(shè)備上的文件。對(duì)于每一受保護(hù)區(qū)域2702,安全規(guī)則2700可以指定諸如操作系統(tǒng)、應(yīng)用或驅(qū)動(dòng)程序之類的可以授權(quán)或者不可以授權(quán)訪問每一受保護(hù)區(qū)域2702的請(qǐng)求實(shí)體2704。安全規(guī)則2700也可以指定經(jīng)授權(quán)為訪問受保護(hù)區(qū)域2702的每一實(shí)體2704對(duì)受保護(hù)區(qū)域2702的訪問權(quán)限2706,例如讀2706a、寫2706b或執(zhí)行2706c。[0413]某些安全規(guī)則2700可以是應(yīng)用無關(guān)的或應(yīng)用專用的。應(yīng)用無關(guān)的規(guī)則不考慮請(qǐng)求訪問存儲(chǔ)設(shè)備的受保護(hù)區(qū)域2702的應(yīng)用就適用。應(yīng)用專用的規(guī)則可以取決于發(fā)起請(qǐng)求的應(yīng)用而授權(quán)或禁止對(duì)受保護(hù)區(qū)域2702的訪問。規(guī)則2710a是指定應(yīng)當(dāng)拒絕任何實(shí)體寫入主引導(dǎo)記錄的請(qǐng)求的應(yīng)用無關(guān)的規(guī)則的示例。規(guī)則2710b是允許安全代理寫入存儲(chǔ)設(shè)備上其自己的映像同時(shí)禁止任何其他實(shí)體寫入存儲(chǔ)設(shè)備上的安全代理映像的應(yīng)用專用的規(guī)則的示例。規(guī)則2710c和27IOd也是應(yīng)用專用的規(guī)則的示例。規(guī)則2710c指定任何實(shí)體不可以寫入因特網(wǎng)瀏覽器應(yīng)用的代碼頁面。規(guī)則2710d指定如果請(qǐng)求是來自因特網(wǎng)瀏覽器應(yīng)用則可以允許寫入因特網(wǎng)瀏覽器應(yīng)用的數(shù)據(jù)頁面的請(qǐng)求,而將會(huì)拒絕來自任何其他實(shí)體的寫入因特網(wǎng)瀏覽器應(yīng)用的數(shù)據(jù)頁面的請(qǐng)求。[0414]安全規(guī)則2700可以由應(yīng)用或操作系統(tǒng)定義為允許應(yīng)用和操作系統(tǒng)指定諸如數(shù)據(jù)或代碼頁面之類的它們各自的信息的必要保護(hù)。安全規(guī)則2700也可以由管理員設(shè)置,且可以被遠(yuǎn)程存儲(chǔ),例如存儲(chǔ)在來自圖26的保護(hù)服務(wù)器2602上??梢詮倪h(yuǎn)程位置檢索和/或更新安全規(guī)則2700。[0415]在一些實(shí)施例中,在允許訪問存儲(chǔ)設(shè)備之前,安全規(guī)則2700可以要求到諸如來自圖26的保護(hù)服務(wù)器2602之類的保護(hù)服務(wù)器的網(wǎng)絡(luò)連接。如果到保護(hù)服務(wù)器的連接不可用,則安全規(guī)則2700可以禁止訪問存儲(chǔ)設(shè)備且可以破壞存儲(chǔ)設(shè)備的數(shù)據(jù)或介質(zhì)表面。例如,安全規(guī)則2700可以指定,如果諸如來自圖26的0/S下層安全代理2616之類的安全代理不能夠連接到保護(hù)服務(wù)器且已經(jīng)持續(xù)指定的天數(shù),則安全代理可以假設(shè)存儲(chǔ)設(shè)備的安全已經(jīng)受到危害。在這樣的實(shí)施例中,即使存儲(chǔ)設(shè)備上的數(shù)據(jù)物理上已經(jīng)受到危害,也保護(hù)存儲(chǔ)設(shè)備上的數(shù)據(jù)。[0416]圖28是用于保護(hù)電子設(shè)備的存儲(chǔ)設(shè)備免遭未經(jīng)授權(quán)的訪問的方法的示例實(shí)施例。在步驟2805,可以認(rèn)證0/S下層安全代理、0/S內(nèi)部安全代理、已觸發(fā)事件應(yīng)對(duì)程序和保護(hù)服務(wù)器的身份和安全。可以使用任何合適的方法執(zhí)行這樣的認(rèn)證,包括通過定位和檢驗(yàn)每一組件的存儲(chǔ)器中的映像、密碼散列或密鑰。直到完成了步驟2805之前,在某些實(shí)施例中可以停止其他步驟的操作。[0417]在步驟2810,獲得安全規(guī)則。安全規(guī)則可以由0/S下層安全代理、0/S內(nèi)部安全代理或已觸發(fā)事件應(yīng)對(duì)程序本地存儲(chǔ),或者安全規(guī)則可以遠(yuǎn)程存儲(chǔ),例如在保護(hù)服務(wù)器上。這樣的安全規(guī)則可以被用來在步驟2815-2860做出判定。在步驟2815,判斷是否已經(jīng)檢測(cè)到安全威脅。例如,0/S下層安全代理和/或0/S內(nèi)部安全代理可以標(biāo)識(shí)電子設(shè)備上的惡意軟件,或者可以標(biāo)識(shí)惡意軟件感染電子設(shè)備的嘗試。如果還沒有檢測(cè)到安全威脅,那么,可以不采取動(dòng)作。如果已經(jīng)檢測(cè)到安全威脅,那么,在步驟2820,指示0/S下層安全代理捕獲對(duì)存儲(chǔ)設(shè)備的訪問。在一些實(shí)施例中,指示0/S下層安全代理在認(rèn)證進(jìn)程之后捕獲對(duì)存儲(chǔ)設(shè)備的訪問,而不考慮是否檢測(cè)到安全威脅。[0418]在步驟2825,捕獲到對(duì)訪問存儲(chǔ)設(shè)備的請(qǐng)求。可以由在比電子設(shè)備上運(yùn)行的操作系統(tǒng)較低的優(yōu)先級(jí)環(huán)執(zhí)行的軟件實(shí)施這樣的捕獲。例如,0/S下層安全代理可以執(zhí)行捕獲功能性。在步驟2830,判斷與已捕獲請(qǐng)求相關(guān)聯(lián)的存儲(chǔ)設(shè)備的扇區(qū)是否已經(jīng)感染了惡意軟件??梢酝ㄟ^掃描存儲(chǔ)設(shè)備的扇區(qū)以便檢測(cè)惡意軟件的存在來執(zhí)行這種判斷。在掃描存儲(chǔ)設(shè)備的扇區(qū)的同時(shí),可以使用黑名單來標(biāo)識(shí)已知包括惡意軟件或與惡意軟件相關(guān)聯(lián)的數(shù)據(jù)的模式。如果找到了數(shù)據(jù)已知與惡意軟件相關(guān)聯(lián)的數(shù)據(jù)的模式,那么,在步驟2835從備份存儲(chǔ)設(shè)備恢復(fù)受感染扇區(qū)。在一些實(shí)施例中,在使用備份存儲(chǔ)設(shè)備來還原存儲(chǔ)設(shè)備之前也掃描備份存儲(chǔ)設(shè)備以便發(fā)現(xiàn)惡意軟件。如果備份存儲(chǔ)設(shè)備受感染,則可以不適用該備份和/或可以使用較舊的備份,或者可以拒絕對(duì)訪問存儲(chǔ)設(shè)備的請(qǐng)求。[0419]在步驟2840,判斷是否已經(jīng)請(qǐng)求了訪問存儲(chǔ)設(shè)備的受保護(hù)扇區(qū)。受保護(hù)扇區(qū)由安全規(guī)則定義。安全規(guī)則可以要求保護(hù)特定扇區(qū),或者可以要求保護(hù)動(dòng)態(tài)定位的特定的文件和/或數(shù)據(jù)。例如,安全規(guī)則可以要求保護(hù)主引導(dǎo)記錄,主引導(dǎo)記錄是靜態(tài)的且位于存儲(chǔ)設(shè)備的第一扇區(qū)(扇區(qū)O)。作為另一示例,安全規(guī)則也可以要求保護(hù)主文件表、操作系統(tǒng)內(nèi)核文件、設(shè)備驅(qū)動(dòng)程序或反惡意軟件軟件。這些文件可以具有動(dòng)態(tài)的位置且不總被存儲(chǔ)在相同的扇區(qū)上。如果動(dòng)態(tài)存儲(chǔ)的文件或數(shù)據(jù)需要保護(hù),則把文件或數(shù)據(jù)從其在文件系統(tǒng)上的概念存在轉(zhuǎn)換到的文件或數(shù)據(jù)駐留在其中的存儲(chǔ)設(shè)備的實(shí)際扇區(qū)。如果對(duì)訪問存儲(chǔ)設(shè)備的請(qǐng)求不涉及受保護(hù)扇區(qū),那么,在步驟2850,允許對(duì)訪問存儲(chǔ)設(shè)備的請(qǐng)求。如果對(duì)訪問存儲(chǔ)設(shè)備的請(qǐng)求涉及受保護(hù)扇區(qū),那么,在步驟2845判斷對(duì)受保護(hù)扇區(qū)的訪問是否得到授權(quán)??梢越Y(jié)合安全規(guī)則分析與對(duì)訪問存儲(chǔ)設(shè)備的嘗試請(qǐng)求相關(guān)聯(lián)的上下文信息,以便判斷是否授權(quán)該請(qǐng)求實(shí)體訪問受保護(hù)扇區(qū)。例如,安全規(guī)則可以指定,可以或不可以授權(quán)操作系統(tǒng)、特定的應(yīng)用或特定的設(shè)備驅(qū)動(dòng)程序訪問受保護(hù)扇區(qū)。安全規(guī)則也可以為經(jīng)授權(quán)訪問受保護(hù)扇區(qū)的請(qǐng)求實(shí)體指定諸如讀、寫或執(zhí)行之類的訪問權(quán)限。[0420]如果對(duì)受保護(hù)扇區(qū)的訪問得到授權(quán),那么,在步驟2850,允許對(duì)訪問存儲(chǔ)設(shè)備的請(qǐng)求。如果訪問受保護(hù)扇區(qū)未被授權(quán),那么,在步驟2855,拒絕對(duì)訪問存儲(chǔ)設(shè)備的請(qǐng)求。在一些實(shí)施例中,可以采取其他矯正動(dòng)作。例如,可以破壞或加密存儲(chǔ)設(shè)備上的數(shù)據(jù),或者可以破壞存儲(chǔ)設(shè)備的介質(zhì)表面。如果對(duì)訪問存儲(chǔ)設(shè)備的請(qǐng)求沒有得到授權(quán),則在步驟2860把對(duì)訪問存儲(chǔ)設(shè)備的嘗試報(bào)告給保護(hù)服務(wù)器。這樣的報(bào)告可以包括關(guān)于任何關(guān)聯(lián)的惡意軟件或可疑行為的信息。[0421]根據(jù)保護(hù)存儲(chǔ)設(shè)備的要求,可以連續(xù)地、周期性地、根據(jù)需求或在事件觸發(fā)時(shí)重復(fù)來自圖28的方法的步驟。[0422]圖29是用于保護(hù)在應(yīng)用和輸入/輸出設(shè)備之間的寫訪問的輸入/輸出路徑的系統(tǒng)2900的示例實(shí)施例。系統(tǒng)2900可以包括電子設(shè)備2904,要保護(hù)電子設(shè)備2904免遭對(duì)電子設(shè)備2904的應(yīng)用輸入/輸出(I/O)路徑的惡意軟件攻擊。電子設(shè)備2904可以包括操作系統(tǒng)下層安全代理2916、1/0設(shè)備2926、應(yīng)用2910、操作系統(tǒng)2912和驅(qū)動(dòng)程序2911。電子設(shè)備2904可以全部地或部分地由圖1的電子設(shè)備103、圖2的電子設(shè)備204、圖4的電子設(shè)備401、圖7的電子設(shè)備701和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。[0423]0/S下層安全代理2916可以全部地或部分地由圖1的0/S下層捕獲代理104、圖2的SVMM安全代理217或SVMM216、圖4的固件安全代理440、442、PC固件安全代理444或0/S系統(tǒng)下層代理450、圖5的固件安全代理516、圖7的微代碼安全代理708和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。0/S下層安全代理2916可以被配置為保護(hù)電子設(shè)備2904的應(yīng)用I/O路徑免遭惡意軟件。I/O設(shè)備2926可以全部地或部分地由圖2的設(shè)備226、圖4的顯示器424或存儲(chǔ)426、圖5輸入-輸出設(shè)備502和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。應(yīng)用2910可以全部地或部分地由圖1的應(yīng)用110、圖2的應(yīng)用210、圖4的應(yīng)用410、圖7的應(yīng)用709和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。驅(qū)動(dòng)程序2911可以全部地或部分地由圖1的驅(qū)動(dòng)程序111、圖2的驅(qū)動(dòng)程序211、圖4的驅(qū)動(dòng)程序411、圖7的驅(qū)動(dòng)程序711和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。操作系統(tǒng)2912可以全部地或部分地由圖1的操作系統(tǒng)112、圖2的操作系統(tǒng)212、圖4的操作系統(tǒng)412、圖7的操作系統(tǒng)713和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。[0424]如圖29中的箭頭所示出的,且如結(jié)合下面的圖30所描述的,0/S下層安全代理2916可以捕獲經(jīng)由應(yīng)用I/O路徑的數(shù)據(jù)傳送。一旦捕獲,0/S下層安全代理2916可以截取結(jié)合I/O寫訪問要從應(yīng)用2910遞送到I/O設(shè)備2926的內(nèi)容。0/S下層安全代理2916可以修改所截取的I/O內(nèi)容并通過正常的I/O路徑(例如,經(jīng)由操作系統(tǒng)3112和驅(qū)動(dòng)程序3111)傳送經(jīng)修改內(nèi)容。這樣的經(jīng)修改內(nèi)容可以包括“經(jīng)欺騙的”或“啞元”內(nèi)容,以使得能夠截取I/O路徑數(shù)據(jù)的任何惡意軟件將截取啞元數(shù)據(jù)而不是實(shí)際的用戶數(shù)據(jù)。當(dāng)經(jīng)修改的I/O內(nèi)容到達(dá)I/O設(shè)備2926的設(shè)備驅(qū)動(dòng)程序時(shí),0/S下層安全代理2916可以截取經(jīng)修改的I/O內(nèi)容,并用原始內(nèi)容來替換它,因而保護(hù)I/O傳送免遭惡意軟件攻擊。另外,基于規(guī)則(例如,安全規(guī)則114、220、222、438、434、436、518、707、721和/或723),0/S下層安全代理2916可以檢測(cè)在正常的I/O路徑上傳送的經(jīng)修改內(nèi)容是否受到類似惡意軟件的行為(例如,指示經(jīng)修改內(nèi)容被嗅探、被鉤住和/或以另外方式受到攻擊的行為)影響,并且如果檢測(cè)到類似惡意軟件的行為就采取矯正動(dòng)作。在一些實(shí)施例中,0/S下層安全代理2916可以把關(guān)于發(fā)生類似惡意軟件的行為的信息傳輸給保護(hù)服務(wù)器202。例如,0/S下層安全代理2916可以把取證信息傳輸給保護(hù)服務(wù)器202,取證信息可以輔助保護(hù)服務(wù)器202標(biāo)識(shí)引起類似惡意軟件的行為的惡意軟件和/或防止進(jìn)一步感染電子設(shè)備2904和/或其他電子設(shè)備。這樣的取證信息可以包括但不限于在其中發(fā)生該行為的電子設(shè)備的身份、標(biāo)識(shí)類似惡意軟件的行為的0/S下層安全代理、其中發(fā)生類似惡意軟件的行為的設(shè)備2926和/或應(yīng)用I/O路徑、被0/S下層安全代理放置到I/O路徑的經(jīng)修改內(nèi)容和/或已截取的經(jīng)修改數(shù)據(jù)(指示潛在惡意軟件對(duì)經(jīng)修改數(shù)據(jù)做出的修改)。[0425]盡管在應(yīng)用2910和輸入/輸出設(shè)備2926之間的路徑被示出為帶有一定數(shù)量的元素,但這樣的路徑可以包括實(shí)現(xiàn)在應(yīng)用2910和輸入/輸出設(shè)備2926之間的輸入或輸出路徑所需要的多個(gè)組件。例如,操作系統(tǒng)2912和驅(qū)動(dòng)程序111可以包括多個(gè)子組件以便在應(yīng)用2910和輸入/輸出設(shè)備2926之間傳送信息。操作系統(tǒng)2912和驅(qū)動(dòng)程序111和它們的子組件可以被配置為使用系統(tǒng)定義的函數(shù)或驅(qū)動(dòng)程序定義的函數(shù)來相互調(diào)用。Ο/S下層安全代理2916可以被配置為捕獲沿著在應(yīng)用2910和輸入/輸出設(shè)備2926之間的輸入/輸出路徑的任何這樣的通信或操作。例如,在Windows?環(huán)境中,為了把映像放置在設(shè)備2926中,應(yīng)用2910可以被配置為使用BitBlt函數(shù)來調(diào)用gdi32.dll,gdi32.dll可以被配置為使用Nt⑶IBitBlt函數(shù)來調(diào)用ndtll.dll,ndtll.dll可以被配置為使用Nt⑶IBitBlt函數(shù)來調(diào)用win32k.sys,win32k.sys可以被配置為調(diào)用圖形I/O驅(qū)動(dòng)程序,I/O驅(qū)動(dòng)程序可以處理到由設(shè)備2926實(shí)現(xiàn)的顯示器的輸入和輸出。Ο/S下層安全代理2916可以被配置為捕獲任何這樣的函數(shù)調(diào)用的執(zhí)行,例如通過捕獲包含這樣的函數(shù)的代碼段的存儲(chǔ)器位置的執(zhí)行。存儲(chǔ)器位置可以包括,例如,虛擬存儲(chǔ)器頁面或物理存儲(chǔ)器的地址范圍。[0426]0/S下層安全代理2916可以被配置為判斷用于沿著在應(yīng)用2910和設(shè)備2926之間的路徑傳輸命令或信息的這樣的函數(shù)的調(diào)用者,并判斷它們是否已經(jīng)被經(jīng)授權(quán)實(shí)體執(zhí)行。例如,驅(qū)動(dòng)程序2911函數(shù)可以被惡意進(jìn)程直接地調(diào)用,而不是使用由系統(tǒng)提供的方法(例如操作系統(tǒng)2912中的函數(shù))來訪問2911的函數(shù)。0/S下層安全代理2916可以被配置為捕獲驅(qū)動(dòng)程序2911的函數(shù)的執(zhí)行,并基于該訪問起源于其中的存儲(chǔ)器地址判斷,例如,應(yīng)用2910被驅(qū)動(dòng)程序2911直接地調(diào)用,并且該調(diào)用不起源于在操作系統(tǒng)2912內(nèi)的經(jīng)授權(quán)實(shí)體。這樣的訪問可能已經(jīng)完成,以便避免在操作系統(tǒng)2912內(nèi)的安全設(shè)置。0/S下層安全代理2916可以被配置判斷這樣的訪問指示惡意軟件,并拒絕已嘗試訪問。[0427]此外,0/S下層安全代理2916可以被配置為通過捕獲對(duì)對(duì)應(yīng)于輸入和輸出緩沖器的存儲(chǔ)器位置的嘗試讀或?qū)懶畔聿东@在應(yīng)用2910和設(shè)備2926之間的信息通信。例如,操作系統(tǒng)2912可以把信息寫到I/O緩沖器并調(diào)用驅(qū)動(dòng)程序2911的函數(shù)來檢索在緩沖器內(nèi)要發(fā)送給設(shè)備2926信息。由于信息大小,可以使用這樣的緩沖器,而不是直接作為參數(shù)傳送信息。因而,0/S下層安全代理2916可以被配置為捕獲例如對(duì)虛擬存儲(chǔ)器頁面或I/O緩沖器的物理地址范圍的讀或?qū)懺L問。0/S下層安全代理2916可以被配置為判斷訪問I/O緩沖器的實(shí)體的身份,以便判斷該實(shí)體是否得到授權(quán)讀或?qū)慖/O緩沖器。例如,0/S下層安全代理2916可以被配置為捕獲對(duì)鍵盤數(shù)據(jù)緩沖器的已嘗試訪問。如果應(yīng)用2910嘗試直接(即在通過操作系統(tǒng)2912的正常調(diào)用鏈的范圍之外)從緩沖器讀信息,則0/S下層安全代理2916可以被配置為拒絕訪問,這是由于對(duì)緩沖器中的鍵盤數(shù)據(jù)的已嘗試直接訪問指示諸如鍵盤記錄器之類的惡意軟件。在另一示例中,可以保護(hù)顯示器數(shù)據(jù)的緩沖器免遭訪問以便防止抓屏惡意軟件。在又一示例中,可以保護(hù)網(wǎng)絡(luò)輸出的緩沖器免遭訪問以便防止拒絕服務(wù)攻擊產(chǎn)生或分組修改。[0428]因而,在一些實(shí)施例中,0/S下層安全代理2916可以被配置為阻止對(duì)沒有已知得到授權(quán)讀或?qū)懢彌_器的訪問I/o緩沖器的實(shí)體的所有訪問。在這樣的實(shí)施例中,可以阻止其惡意軟件狀態(tài)是未知的應(yīng)用2910或其他實(shí)體,即使先前通過掃描實(shí)體以便發(fā)現(xiàn)惡意簽名沒有把該實(shí)體標(biāo)識(shí)為惡意軟件。在其他實(shí)施例中,0/S下層安全代理2916可以被配置為使得對(duì)緩沖器的訪問僅限于在已知的調(diào)用鏈內(nèi)直接在該緩沖器的下面或上面的驅(qū)動(dòng)程序、接口、應(yīng)用或其他實(shí)體。類似地,0/S下層安全代理2916可以被配置為使得對(duì)驅(qū)動(dòng)程序2911或操作系統(tǒng)2912的函數(shù)的訪問僅限于僅在已知的調(diào)用鏈內(nèi)直接在該緩沖器的下面或上面的驅(qū)動(dòng)程序、接口、應(yīng)用或其他實(shí)體。通過觀察已知安全系統(tǒng)的典型操作以便理解、概況分析(profiIe)和測(cè)試什么實(shí)體沿著在應(yīng)用2910和設(shè)備2926之間的路徑相互調(diào)用,可以定義這樣的已知的調(diào)用鏈??梢栽讦?S下層安全代理2916可訪問的安全規(guī)則中實(shí)現(xiàn)這樣的已知安全操作的表征??梢跃芙^在這樣的已知鏈路外對(duì)諸如驅(qū)動(dòng)程序2911或操作系統(tǒng)2912之類的驅(qū)動(dòng)程序的組件的任何調(diào)用或?qū)/O緩沖器的調(diào)用。[0429]0/S下層安全代理2916可以捕獲在應(yīng)用2910和設(shè)備2926之間的路徑內(nèi)的調(diào)用、讀取要傳送的數(shù)據(jù)、加密數(shù)據(jù)、把數(shù)據(jù)重新插入到路徑并允許操作進(jìn)行。在一個(gè)實(shí)施例中,設(shè)備2926可以包含被配置為解密這樣的數(shù)據(jù)的固件安全代理。這樣的固件安全代理和0/S下層安全代理2916可以通信上耦合以便協(xié)調(diào)這樣的加密,和/或均可以具有協(xié)調(diào)這樣的加密的相似安全規(guī)則。相反地,0/S下層安全代理2916可以被配置為捕獲在路徑內(nèi)的調(diào)用、解密來自設(shè)備的數(shù)據(jù)、把數(shù)據(jù)重新插入到路徑并允許操作進(jìn)行。在另一實(shí)施例中,0/S下層安全代理2916可以被配置為捕獲進(jìn)一步在路徑下面和上面的調(diào)用、讀取要傳送的數(shù)據(jù)、解密數(shù)據(jù)、把數(shù)據(jù)重新插入到路徑并允許操作進(jìn)行。[0430]此外,0/S下層安全代理2916可以被配置為檢查要沿著在應(yīng)用2910和設(shè)備2926之間的路徑傳送的數(shù)據(jù)并掃描數(shù)據(jù)以便發(fā)現(xiàn)惡意軟件的指示。0/S下層安全代理2916可以被配置為控制在路徑內(nèi)的實(shí)體之間傳送的數(shù)據(jù)或替換作為參數(shù)而傳送的數(shù)據(jù)(例如啞元數(shù)據(jù))。[0431]圖30是用于保護(hù)在應(yīng)用和輸入/輸出設(shè)備之間的寫訪問的輸入/輸出路徑的方法3000的示例實(shí)施例。在步驟3002,0/S下層安全代理可以判斷應(yīng)用I/O路徑是否易受惡意軟件攻擊的攻擊。因?yàn)樵诖斯_的用于保護(hù)應(yīng)用I/O路徑的系統(tǒng)和方法可以消耗顯著的處理器、存儲(chǔ)器和/或其他資源,期望僅在應(yīng)用I/O路徑特別易受惡意軟件攻擊感染時(shí)采用這樣的系統(tǒng)和方法。在應(yīng)用或操作系統(tǒng)正在執(zhí)行其中可以傳輸潛在敏感信息的I/O操作時(shí),應(yīng)用I/O路徑可以易受惡意軟件攻擊的攻擊的。例如,如果應(yīng)用正在訪問銀行業(yè)務(wù)或其他金融網(wǎng)站,這可能在應(yīng)用I/O路徑上暴露敏感信息,例如財(cái)務(wù)數(shù)據(jù)、企業(yè)人事數(shù)據(jù)、賬戶號(hào)、用戶名、密碼、社會(huì)保障號(hào)和/或電子設(shè)備的用戶的其他標(biāo)識(shí)數(shù)據(jù),則0/S下層安全代理可以判斷應(yīng)用I/o路徑易受惡意軟件攻擊的攻擊。[0432]在步驟3003,如果判斷應(yīng)用I/O路徑易受攻擊,則方法3000可以進(jìn)行到步驟3005。否則,方法3000可以返回到步驟3002,且可以不采取應(yīng)用I/O路徑保護(hù),直到判斷應(yīng)用I/O路徑易受攻擊的時(shí)刻。[0433]在步驟3005,0/S下層安全代理可以捕獲來自應(yīng)用的對(duì)設(shè)備(例如,顯示器、盤驅(qū)動(dòng)器、鍵盤等等)的I/o寫訪問。例如,如果I/O寫訪問包括在Windows操作系統(tǒng)中把數(shù)據(jù)從應(yīng)用傳送到顯示設(shè)備,則0/S下層安全代理可以捕獲應(yīng)用對(duì)位塊傳送操作(例如,BitBlt)的調(diào)用或?qū)︼@示器I/O函數(shù)的庫(例如,gdi32.dll,ntdll.dll等等)的調(diào)用的執(zhí)行。I/O寫或讀訪問可以包括一系列或一連串的、對(duì)驅(qū)動(dòng)程序和驅(qū)動(dòng)程序的函數(shù)并且在驅(qū)動(dòng)程序和驅(qū)動(dòng)程序的函數(shù)之間的調(diào)用,以便到達(dá)最終設(shè)備。例如,在Windows?中,應(yīng)用可以使用BitBlt函數(shù)來調(diào)用gdi32.dll,gdi32.dll可以使用NtGDIBitBlt函數(shù)來調(diào)用ntdll.dll,ntdll.dll可以使用NtGDIBitBlt來調(diào)用win32k.sys,win32k.sys可以調(diào)用圖形I/O驅(qū)動(dòng)程序,圖形I/O驅(qū)動(dòng)程序可以訪問顯示設(shè)備。[0434]在步驟3010,0/S下層安全代理可以截取I/O操作的內(nèi)容(例如,在顯示設(shè)備上顯示的圖像、寫到盤驅(qū)動(dòng)器的數(shù)據(jù)等等)。[0435]在步驟3015,0/S下層安全代理可以修改I/O內(nèi)容。例如,可以用“經(jīng)欺騙的”或“啞元”內(nèi)容來修改內(nèi)容,以使得嘗試攻擊應(yīng)用I/o路徑的惡意軟件僅可以訪問經(jīng)修改內(nèi)容而不是構(gòu)成原始內(nèi)容的敏感信息。ο/s下層安全代理可以以任何合適的方式修改I/O內(nèi)容。例如,為了替換要顯示給顯示設(shè)備的圖像,可以把經(jīng)修改內(nèi)容代替原始內(nèi)容作為參數(shù)傳送給位塊傳送操作。在特定的示例中,ο/s下層安全代理可以用預(yù)先確定的啞元內(nèi)容替換敏感的文件或電子郵件的文本內(nèi)容。[0436]在步驟3020,0/S下層安全代理可以通過應(yīng)用I/O路徑傳送用于正常操作的經(jīng)修改內(nèi)容,包括該應(yīng)用在其上執(zhí)行的操作系統(tǒng)的操作,以及在操作系統(tǒng)和設(shè)備之間的驅(qū)動(dòng)程序。在這一步驟期間,影響應(yīng)用I/o路徑惡意軟件會(huì)嘗試?yán)肐/O內(nèi)容。然而,所利用的任何數(shù)據(jù)可以是由ο/s下層安全代理插入的經(jīng)修改的啞元內(nèi)容,因而保護(hù)原始內(nèi)容免遭利用。[0437]在步驟3025,0/S下層安全代理可以在經(jīng)修改內(nèi)容到達(dá)I/O設(shè)備(例如,在設(shè)備的通信端口或具有I/o設(shè)備的電子設(shè)備處)時(shí)截取經(jīng)修改內(nèi)容。在步驟3030,0/S下層安全代理可以用原始內(nèi)容替換經(jīng)修改內(nèi)容。例如,如果I/O寫訪問包括在Windows操作系統(tǒng)中把數(shù)據(jù)從應(yīng)用傳送到顯示設(shè)備,則可以通過鉤住具有顯示設(shè)備的電子設(shè)備的I/O端口、圖形I/O驅(qū)動(dòng)程序的存儲(chǔ)器掛鉤或通過鉤住或觸發(fā)來自圖形I/O驅(qū)動(dòng)程序的顯示命令的執(zhí)行來實(shí)現(xiàn)替換映像。因此,可以在應(yīng)用和設(shè)備之間帶外傳輸原始內(nèi)容,保持受到保護(hù)免遭嘗試在傳統(tǒng)應(yīng)用I/O路徑中利用該內(nèi)容的惡意軟件。[0438]在步驟3035,0/S下層安全代理可以判斷經(jīng)修改內(nèi)容是否受到類似惡意軟件的行為影響。例如,基于規(guī)則(例如,安全規(guī)則114、220、222、438、434、436、518、707、721和/或723),0/S下層安全代理可以判斷已截取的經(jīng)修改內(nèi)容是否具有指示其受到惡意軟件影響的特性(例如,當(dāng)已修改數(shù)據(jù)自身在應(yīng)用I/O路徑中被修改時(shí),如果已修改數(shù)據(jù)通過應(yīng)用I/O路徑)。另外,如果0/S下層安全代理判斷經(jīng)修改內(nèi)容受類似惡意軟件的行為影響,則0/S下層安全代理可以采取矯正動(dòng)作(例如,移除、隔離和/或以另外方式使惡意軟件失效的動(dòng)作)。另外,在一些實(shí)施例中,0/S下層安全代理可以把關(guān)于發(fā)生類似惡意軟件的行為的信息(例如,取證信息)傳輸給保護(hù)服務(wù)器。[0439]圖31是用于保護(hù)在應(yīng)用和輸入/輸出設(shè)備之間的讀訪問的輸入/輸出路徑的系統(tǒng)3100的示例實(shí)施例。系統(tǒng)3100可以包括電子設(shè)備3104,要保護(hù)電子設(shè)備3104免遭對(duì)電子設(shè)備2104的應(yīng)用輸入/輸出(I/O)路徑的惡意軟件攻擊。電子設(shè)備3104可以包括操作系統(tǒng)下層安全代理3116、I/O設(shè)備3126、應(yīng)用3110、操作系統(tǒng)3112和驅(qū)動(dòng)程序3111。系統(tǒng)3100可以包括電子設(shè)備3104,要保護(hù)電子設(shè)備3104免遭對(duì)電子設(shè)備2104的應(yīng)用輸入/輸出(I/O)路徑的惡意軟件攻擊。電子設(shè)備3104可以包括操作系統(tǒng)下層安全代理3116、I/O設(shè)備3126、應(yīng)用3110、操作系統(tǒng)3112和驅(qū)動(dòng)程序3111。電子設(shè)備3104可以全部地或部分地由圖1的電子設(shè)備103、圖2的電子設(shè)備204、圖4的電子設(shè)備401、圖7的電子設(shè)備701、圖29的電子設(shè)備2904和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。[0440]0/S下層安全代理3116可以全部地或部分地由圖1的0/S下層捕獲代理104、圖2的SVMM安全代理217或SVMM216、圖4的固件安全代理440、442、PC固件安全代理444或0/S系統(tǒng)下層代理450、圖5的固件安全代理516、圖7的微代碼安全代理708、圖29的0/S下層安全代理2916和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。Ο/S下層安全代理3116可以被配置為保護(hù)電子設(shè)備3104的應(yīng)用I/O路徑免遭惡意軟件。I/O設(shè)備3126可以全部地或部分地由圖2的設(shè)備226、圖4的顯示器424或存儲(chǔ)426、圖5的輸入-輸出設(shè)備502、圖29的I/O設(shè)備2926和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。應(yīng)用3110可以全部地或部分地由圖1的應(yīng)用110、圖2的應(yīng)用210、圖4的應(yīng)用410、圖7的應(yīng)用709、圖29的應(yīng)用2910和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。驅(qū)動(dòng)程序3111可以全部地或部分地由圖1的驅(qū)動(dòng)程序111、圖2的驅(qū)動(dòng)程序211、圖4的驅(qū)動(dòng)程序411、圖7的驅(qū)動(dòng)程序711、圖29的驅(qū)動(dòng)程序2911和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。操作系統(tǒng)3112可以全部地或部分地由圖1的操作系統(tǒng)112、圖2的操作系統(tǒng)212、圖4的操作系統(tǒng)412、圖7的操作系統(tǒng)713、圖29的操作系統(tǒng)2912和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。[0441]0/S下層安全代理3116可以被配置為保護(hù)電子設(shè)備3104的應(yīng)用I/O路徑免遭惡意軟件。如圖31中的箭頭所示出的,以及如結(jié)合下面的圖32所描述的,0/S下層安全代理3116可以經(jīng)由應(yīng)用I/O路徑捕獲數(shù)據(jù)的傳送。一旦捕獲,0/S下層安全代理3116可以截取結(jié)合I/O讀訪問要從I/O設(shè)備3126遞送到應(yīng)用3110的內(nèi)容。0/S下層安全代理3116可以修改已截取的I/O內(nèi)容并通過正常的I/O路徑傳送經(jīng)修改內(nèi)容(例如,經(jīng)由操作系統(tǒng)3112和驅(qū)動(dòng)程序3111)。這樣的經(jīng)修改內(nèi)容可以包括“經(jīng)欺騙的”或“啞元”內(nèi)容,以使得能夠截取I/O路徑數(shù)據(jù)的任何惡意軟件將截取啞元數(shù)據(jù)而不是實(shí)際的用戶數(shù)據(jù)。當(dāng)經(jīng)修改的I/O內(nèi)容到達(dá)I/O設(shè)備3126的設(shè)備驅(qū)動(dòng)程序時(shí),0/S下層安全代理3116可以截取經(jīng)修改的I/O內(nèi)容,并用原始內(nèi)容來替換它,因而保護(hù)I/O傳送免遭惡意軟件攻擊。另外,基于規(guī)則(例如、安全規(guī)則114、220、222、438、434、436、518、707、721和/或723),0/S下層安全代理3116可以檢測(cè)在正常的I/O路徑上傳送的經(jīng)修改內(nèi)容是否受到類似惡意軟件的行為(例如,指示經(jīng)修改內(nèi)容被嗅探、被鉤住和/或以另外方式受到攻擊的行為)影響,并且如果檢測(cè)到類似惡意軟件的行為就采取矯正動(dòng)作。在一些實(shí)施例中,0/S下層安全代理3116把關(guān)于發(fā)生類似惡意軟件的行為的信息傳輸給保護(hù)服務(wù)器202。例如,0/S下層安全代理3116可以把取證信息傳輸給保護(hù)服務(wù)器202,取證信息可以輔助保護(hù)服務(wù)器202標(biāo)識(shí)引起類似惡意軟件的行為的惡意軟件和/或防止進(jìn)一步感染電子設(shè)備3104和/或其他電子設(shè)備。這樣的取證信息可以包括但不限于在其中發(fā)生該行為的電子設(shè)備的身份、標(biāo)識(shí)類似惡意軟件的行為的0/S下層安全代理、其中發(fā)生類似惡意軟件的行為的設(shè)備3126和/或應(yīng)用I/O路徑、被0/S下層安全代理放置到I/O路徑的經(jīng)修改內(nèi)容和/或已截取的經(jīng)修改數(shù)據(jù)(指示潛在惡意軟件對(duì)經(jīng)修改數(shù)據(jù)做出的修改)。[0442]圖32是用于保護(hù)在應(yīng)用和輸入/輸出設(shè)備之間的讀訪問的輸入/輸出路徑的方法3200的示例實(shí)施例。在步驟3202,0/S下層安全代理可以判斷應(yīng)用I/O路徑是否易受惡意軟件攻擊的攻擊。步驟3202可以類似于方法3000的步驟3002。在步驟3203,如果判斷應(yīng)用I/O路徑易受攻擊,則方法3200可以進(jìn)行到步驟3205。否則,方法3200可以返回到步驟3202,且可以不采取應(yīng)用I/O路徑保護(hù),直到判斷應(yīng)用I/O路徑易受攻擊的時(shí)刻。步驟3203可以類似于方法3000的步驟3003。[0443]在步驟3205,0/S下層安全代理可以捕獲來自設(shè)備的對(duì)應(yīng)用(例如,顯示器、盤驅(qū)動(dòng)器、鍵盤等等)的I/o讀訪問。在步驟3210,0/S下層安全代理可以截取I/O操作的內(nèi)容(例如,從鍵盤接收到的擊鍵、要從盤驅(qū)動(dòng)器讀取的數(shù)據(jù)等等)。[0444]在步驟3215,0/S下層安全代理可以修改I/O內(nèi)容。例如,用“經(jīng)欺騙的”或“啞元”內(nèi)容來修改內(nèi)容,以使得嘗試攻擊應(yīng)用I/o路徑的惡意軟件僅可以訪問經(jīng)修改內(nèi)容而不是構(gòu)成原始內(nèi)容的敏感信息。Ο/s下層安全代理可以以任何合適的方式修改I/O內(nèi)容。[0445]在步驟3220,0/S下層安全代理可以通過應(yīng)用I/O路徑傳送用于正常操作的經(jīng)修改內(nèi)容,包括該應(yīng)用在其上執(zhí)行的操作系統(tǒng)的操作,以及在操作系統(tǒng)和設(shè)備之間的驅(qū)動(dòng)程序。在這一步驟期間,影響應(yīng)用I/o路徑惡意軟件會(huì)嘗試?yán)肐/O內(nèi)容。然而,所利用的任何數(shù)據(jù)可以是由ο/s下層安全代理插入的經(jīng)修改的啞元內(nèi)容,因而保護(hù)原始內(nèi)容免遭利用。[0446]在步驟3225,0/S下層安全代理可以在經(jīng)修改內(nèi)容到達(dá)應(yīng)用時(shí)截取經(jīng)修改內(nèi)容。在步驟3230,0/S下層安全代理可以用原始內(nèi)容替換經(jīng)修改內(nèi)容。因此,可以在應(yīng)用和設(shè)備之間帶外傳輸原始內(nèi)容,保持受到保護(hù)免遭嘗試在傳統(tǒng)應(yīng)用I/O路徑中利用該內(nèi)容的惡意軟件。[0447]在步驟3235,0/S下層安全代理可以判斷經(jīng)修改內(nèi)容是否受到類似惡意軟件的行為影響(例如,當(dāng)已修改數(shù)據(jù)自身在應(yīng)用I/o路徑中被修改時(shí),如果已修改數(shù)據(jù)通過應(yīng)用I/O路徑)。例如,基于規(guī)則(例如、安全規(guī)則114、220、222、438、434、436、518、707、721和/或723),0/S下層安全代理可以判斷已截取的經(jīng)修改內(nèi)容是否具有指示其受到惡意軟件影響的特性。另外,如果0/S下層安全代理判斷經(jīng)修改內(nèi)容受類似惡意軟件的行為影響,0/S下層安全代理可以采取矯正動(dòng)作(例如,例如,移除、隔離和/或以另外方式使惡意軟件失效的動(dòng)作)。另外,在一些實(shí)施例中,0/S下層安全代理可以把關(guān)于發(fā)生類似惡意軟件的行為的信息(例如,取證信息)傳輸給保護(hù)服務(wù)器。[0448]另外,在一些實(shí)施例中,在應(yīng)用I/O路徑上傳送的啞元數(shù)據(jù)(例如,在方法3000的步驟3015和3020和/或方法3200的步驟3215和3220中)可以被用來跟蹤電子設(shè)備2904和/或電子設(shè)備3104上惡意軟件的存在。例如,當(dāng)在第一設(shè)備的應(yīng)用在網(wǎng)絡(luò)(例如,由第二電子設(shè)備主控的銀行業(yè)務(wù)或其他金融網(wǎng)站)上把敏感信息傳輸給第二電子設(shè)備,0/S下層安全代理可以把啞元信息插入到I/O路徑中,該啞元信息可以欺騙對(duì)第二電子設(shè)備的訪問(例如,可以把“假的”用戶名和密碼提供給銀行業(yè)務(wù)網(wǎng)站的啞元信息)。第二電子設(shè)備可以包括其自己的安全代理,使得在以這種方式欺騙第二設(shè)備時(shí),第二電子設(shè)備的安全代理可以被配置為跟蹤在訪問期間采取的動(dòng)作(例如,在欺騙訪問期間在銀行業(yè)務(wù)網(wǎng)站采取的動(dòng)作,例如改變概況信息或其他動(dòng)作),以判斷是否已經(jīng)發(fā)生了類似惡意軟件的行為。如果第二電子設(shè)備處的安全代理判斷已經(jīng)發(fā)生了類似惡意軟件的行為,那么,第二電子設(shè)備可以采取矯正動(dòng)作。例如,第二電子設(shè)備處的安全代理可以傳輸適當(dāng)?shù)南?例如,傳輸?shù)酵ㄐ派像詈系降诙娮釉O(shè)備的保護(hù)服務(wù)器102)以便指示類似惡意軟件的行為的存在。這樣的消息可以包括取證跡象,取證跡象包括,例如,類似惡意軟件的行為和/或第一電子設(shè)備的身份(例如,因特網(wǎng)協(xié)議地址或其他標(biāo)識(shí)信息)的描述。[0449]圖33是用于檢測(cè)和修復(fù)電子設(shè)備3304上的隱藏進(jìn)程的系統(tǒng)3300的示例實(shí)施例。0/S內(nèi)部安全代理3318和/或0/S下層安全代理3316可以在電子設(shè)備3304上操作以便檢測(cè)和修復(fù)惡意感染,例如被配置為隱藏電子設(shè)備3304上正在運(yùn)行的進(jìn)程的操作惡意軟件。電子設(shè)備3304可以包括被耦合到存儲(chǔ)器3308的處理器3306、操作系統(tǒng)3312和一個(gè)或多個(gè)進(jìn)程3373。電子設(shè)備3304可以全部地或部分地由圖1的電子設(shè)備103、圖2的電子設(shè)備204、圖4的電子設(shè)備404、圖7的電子設(shè)備701和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。處理器3306可以全部地或部分地由圖2的處理器208、圖4的處理器408、圖7的處理器702和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。存儲(chǔ)器3308可以全部地或部分地由圖2的存儲(chǔ)器206、圖4的存儲(chǔ)器406、圖7的存儲(chǔ)器703和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。操作系統(tǒng)3312可以全部地或部分地由圖1的操作系統(tǒng)112、圖2的操作系統(tǒng)212、圖4的操作系統(tǒng)412、圖7的操作系統(tǒng)713和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。Ο/S內(nèi)部安全代理3318可以全部地或部分地由圖2的Ο/S內(nèi)部安全代理218、圖4的Ο/S內(nèi)部安全代理418、圖7的Ο/S內(nèi)部安全代理719和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。Ο/S下層安全代理3316可以全部地或部分地由圖1的Ο/S下層捕獲代理104、圖2的SVMM安全代理217或SVMM216、圖4的固件安全代理440、442、PC固件安全代理444或Ο/S系統(tǒng)下層代理450、圖5的固件安全代理516、圖7的微代碼安全代理708和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。[0450]進(jìn)程3373可以被配置為在電子設(shè)備3304上操作。在電子設(shè)備3304上操作的一個(gè)或多個(gè)進(jìn)程3373可以是與惡意軟件相關(guān)聯(lián)的惡意進(jìn)程。電子設(shè)備3304上的惡意軟件可以操作為掩飾一個(gè)或多個(gè)惡意進(jìn)程3373的存在,以便避免反惡意軟件軟件的檢測(cè)。例如,操作系統(tǒng)3312可以包括操作系統(tǒng)內(nèi)核存儲(chǔ)器3380。操作系統(tǒng)內(nèi)核存儲(chǔ)器3380可以包括用于跟蹤電子設(shè)備3304上的進(jìn)程的執(zhí)行的一個(gè)或多個(gè)機(jī)制。在一個(gè)示例中,這樣的機(jī)制可以包括活動(dòng)進(jìn)程列表3384。活動(dòng)進(jìn)程列表3384可以以數(shù)據(jù)結(jié)構(gòu)、記錄、文件或用于跟蹤在電子設(shè)備3304上操作的進(jìn)程的任何其他合適的方法實(shí)現(xiàn)。例如,如果進(jìn)程3373b是與惡意軟件相關(guān)聯(lián)的惡意進(jìn)程,則電子設(shè)備3304上的惡意軟件可以修改活動(dòng)進(jìn)程列表3384以便移除對(duì)進(jìn)程3373b的引用。因而,在判斷哪些進(jìn)程在電子設(shè)備上3304活動(dòng)運(yùn)行且應(yīng)檢查以便發(fā)現(xiàn)惡意軟件時(shí),在電子設(shè)備3304上運(yùn)行的安全軟件不把進(jìn)程3373b識(shí)別為活動(dòng)進(jìn)程以供檢查。[0451]操作系統(tǒng)3312可以包括就緒隊(duì)列3322。就緒隊(duì)列3322可以包括一個(gè)或多個(gè)合適的數(shù)據(jù)結(jié)構(gòu)(例如,數(shù)組、表、列表等等)陳述在電子設(shè)備3304上操作的活動(dòng)線程?;顒?dòng)進(jìn)程3373可以包括一個(gè)或多個(gè)個(gè)體線程。線程可以被認(rèn)為是在活動(dòng)進(jìn)程3373內(nèi)的、可以與從活動(dòng)進(jìn)程3373的其他線程分離地獨(dú)立調(diào)度以便由電子設(shè)備3304執(zhí)行的處理單元(例如,一個(gè)或多個(gè)指令)。作為Windows?操作系統(tǒng)中的就緒隊(duì)列3322的說明性示例,就緒隊(duì)列3322可以由被稱為KiDispatcherReadyListHead變量實(shí)現(xiàn)。就緒隊(duì)列3322也可以包括關(guān)于活動(dòng)線程的各種元數(shù)據(jù),例如,包括該線程的進(jìn)程的標(biāo)識(shí)符,這樣的進(jìn)程的映像名稱、開始地址、用戶模式地址、設(shè)備對(duì)象和/或其他合適的信息。在Windows?操作系統(tǒng)中,這樣的活動(dòng)進(jìn)程信息可以被包括在與該線程相關(guān)聯(lián)的執(zhí)行線程(“ETHREAD”)數(shù)據(jù)結(jié)構(gòu)中。[0452]在系統(tǒng)3300的操作期間,0/S內(nèi)部安全代理3318和/或0/S下層安全代理3316可以引起安全設(shè)備驅(qū)動(dòng)程序3370在操作系統(tǒng)3312上執(zhí)行。安全設(shè)備驅(qū)動(dòng)程序3370可以以驅(qū)動(dòng)程序、模塊、可執(zhí)行程序、DLL或用于提供內(nèi)核模式設(shè)備驅(qū)動(dòng)程序服務(wù)的任何其他合適的機(jī)制實(shí)現(xiàn)。安全設(shè)備驅(qū)動(dòng)程序3370可以被配置為調(diào)用操作系統(tǒng)3312的各種部分來列舉在電子設(shè)備3304上運(yùn)行的進(jìn)程。例如,安全設(shè)備驅(qū)動(dòng)程序3370可以被配置為檢查內(nèi)核存儲(chǔ)器3380或活動(dòng)進(jìn)程列表3384。安全設(shè)備驅(qū)動(dòng)程序3370可以被配置為傳輸安全設(shè)備驅(qū)動(dòng)程序3370可以檢測(cè)的活動(dòng)進(jìn)程的第一列表3373(例如,活動(dòng)進(jìn)程列表3384)。安全設(shè)備驅(qū)動(dòng)程序3370可以被配置為把活動(dòng)進(jìn)程列表3384傳輸給Ο/S內(nèi)部安全代理3318和/或Ο/S下層安全代理3316。在一個(gè)實(shí)施例中,安全設(shè)備驅(qū)動(dòng)程序3370可以被配置為經(jīng)由超級(jí)調(diào)用把與給定的已檢測(cè)進(jìn)程相關(guān)聯(lián)的執(zhí)行進(jìn)程(“EPROCESS”)結(jié)構(gòu)傳送給Ο/S下層安全代理3316。因?yàn)榘踩O(shè)備驅(qū)動(dòng)程序3370在與操作系統(tǒng)相同的特權(quán)的執(zhí)行環(huán)或比操作系統(tǒng)較少特權(quán)的執(zhí)行環(huán)運(yùn)行,由安全設(shè)備驅(qū)動(dòng)程序3370列舉的活動(dòng)進(jìn)程可以限于出現(xiàn)在活動(dòng)進(jìn)程列表3384上的那些活動(dòng)進(jìn)程,這意味著已經(jīng)修改活動(dòng)進(jìn)程列表3384以便移除對(duì)它們自身的引用的惡意進(jìn)程不會(huì)被安全設(shè)備驅(qū)動(dòng)程序3370列舉。在Windows?操作系統(tǒng)中,安全設(shè)備驅(qū)動(dòng)程序3370可以被配置為使用函數(shù)ZwQuerySystemlnformation來從操作系統(tǒng)請(qǐng)求進(jìn)程列表,標(biāo)識(shí)要判斷的SystemProcessInformation。0/S下層安全代理3316可以被配置為也使用這樣的函數(shù),且在執(zhí)行這樣的動(dòng)作時(shí)更加安全。安全設(shè)備驅(qū)動(dòng)程序3370可以把所列舉的進(jìn)程放置在活動(dòng)進(jìn)程的第一列表3385。在某些實(shí)施例中,第一列表3385可以基本上等效于活動(dòng)進(jìn)程列表3384。在其他實(shí)施例中,可以不創(chuàng)建分離的第一列表3385,且安全設(shè)備驅(qū)動(dòng)程序3370可以改為使用活動(dòng)進(jìn)程列表3384代替這樣的第一列表3385。[0453]相反,0/S內(nèi)部安全代理3318和/或0/S下層安全代理3316可以在與操作系統(tǒng)3312相同特權(quán)的執(zhí)行環(huán)或比操作系統(tǒng)3312更多特權(quán)的執(zhí)行環(huán)運(yùn)行,且因此,可以列舉在電子設(shè)備3304上執(zhí)行的個(gè)體線程。至少基于這樣的已列舉線程,0/S內(nèi)部安全代理3318和/或0/S下層安全代理3316可以確定在電子設(shè)備3304上執(zhí)行的所有活動(dòng)進(jìn)程3373,包括已經(jīng)從活動(dòng)進(jìn)程列表3384移除對(duì)它們自身的引用的惡意進(jìn)程。例如,在某些實(shí)施例中,0/S內(nèi)部安全代理3318和/或0/S下層安全代理3316可以掃描就緒隊(duì)列3322并列舉就緒隊(duì)列3322中的所有線程,把線程放置在列表中。對(duì)于每一線程,0/S內(nèi)部安全代理3318和/或0/S下層安全代理3316可以定位持有該線程的進(jìn)程和關(guān)于這樣的進(jìn)程的其他信息(例如,通過引用元數(shù)據(jù),例如與該線程相關(guān)聯(lián)的ETHREAD信息),因而允許0/S內(nèi)部安全代理3318列舉活動(dòng)進(jìn)程3373的第二列表3386,包括已經(jīng)從活動(dòng)進(jìn)程列表3384移除對(duì)它們自身的引用的惡意進(jìn)程。[0454]為了進(jìn)一步闡釋特定的實(shí)施例,與線程相關(guān)聯(lián)的ETHREAD數(shù)據(jù)結(jié)構(gòu)可以包括多個(gè)兀數(shù)據(jù)字段,包括ThreadsProcess字段、StartAddress字段、DeviceToVerify字段、Win32StartAddress字段和ThreadListEntry字段。通過分析ThreadsProcess字段,0/S內(nèi)部安全代理3318和/或0/S下層安全代理3316可以標(biāo)識(shí)持有線程的進(jìn)程,從中可以確定該進(jìn)程的進(jìn)程標(biāo)識(shí)符和映像名稱。從StartAddress和Win32StartAddress,0/S內(nèi)部安全代理3318和/或0/S下層安全代理3316可以標(biāo)識(shí)存儲(chǔ)器中的哪些代碼正在執(zhí)行進(jìn)程,因而允許如果發(fā)現(xiàn)持有該線程的進(jìn)程是可疑的則進(jìn)一步標(biāo)識(shí)可疑驅(qū)動(dòng)程序、應(yīng)用和/或其他程序?;贒eviceToVerify,0/S內(nèi)部安全代理3318和/或0/S下層安全代理3316可以判斷設(shè)備對(duì)象是否與線程相關(guān)聯(lián),且因而,如果持有該線程的進(jìn)程被發(fā)現(xiàn)是可疑的則標(biāo)識(shí)驅(qū)動(dòng)程序?qū)ο蠛蛺阂廛浖?qū)動(dòng)程序。ThreadListEntry可以輔助在相同的進(jìn)程內(nèi)列舉線程。[0455]然后,0/S內(nèi)部安全代理3318可以比較活動(dòng)進(jìn)程3373的第一列表3385和活動(dòng)進(jìn)程3373的第二列表3386,并把出現(xiàn)在第二列表3386中且不出現(xiàn)在第一列表3385的活動(dòng)進(jìn)程3373標(biāo)識(shí)標(biāo)識(shí)為可疑進(jìn)程。這樣可疑進(jìn)程的跡象可以是對(duì)在電子設(shè)備3304上運(yùn)行的防病毒或反惡意軟件軟件以及操作系統(tǒng)3312隱藏的惡意軟件的跡象。[0456]在其他實(shí)施例中,至少基于已標(biāo)識(shí)線程,0/S下層安全代理3316可以掃描就緒隊(duì)列3322以便列舉線程并列舉活動(dòng)進(jìn)程3373的第二列表3386(例如,通過引用元數(shù)據(jù),例如與線程相關(guān)聯(lián)的ETHREAD信息)。在這樣的實(shí)施例中,0/S下層安全代理3316可以從0/S內(nèi)部安全代理3318接收由安全設(shè)備驅(qū)動(dòng)程序3370產(chǎn)生的活動(dòng)進(jìn)程的第一列表3385,或者可以通過直接從存儲(chǔ)器讀取訪問活動(dòng)進(jìn)程3373的第一列表3385。然后,0/S下層安全代理3316可以比較活動(dòng)進(jìn)程3373的第一列表3385和活動(dòng)進(jìn)程3373的第二列表3386,并把出現(xiàn)在第二列表3386中且不出現(xiàn)在第一列表3385中的活動(dòng)進(jìn)程3373標(biāo)識(shí)可疑進(jìn)程。這樣可疑進(jìn)程可以對(duì)在電子設(shè)備3304上運(yùn)行的防病毒或反惡意軟件軟件以及操作系統(tǒng)3312隱藏。這樣可疑進(jìn)程的跡象可以是對(duì)在電子設(shè)備3304上運(yùn)行的防病毒或反惡意軟件軟件以及操作系統(tǒng)3312隱藏的惡意軟件的跡象。[0457]如果0/S內(nèi)部安全代理3318和/或0/S下層安全代理3316判斷存在在電子設(shè)備3304上運(yùn)行的隱藏進(jìn)程的跡象,0/S內(nèi)部安全代理3318和/或0/S下層安全代理3316可以被配置為掃描操作系統(tǒng)3312、操作系統(tǒng)內(nèi)核存儲(chǔ)器3380或電子設(shè)備3304的其他元素,以便判斷是否已經(jīng)做出與這樣的進(jìn)程相關(guān)的任何修改。例如,0/S內(nèi)部安全代理3318和/或0/S下層安全代理3316可以被配置為掃描以便發(fā)現(xiàn)已知由惡意軟件實(shí)施的任何存儲(chǔ)器修改。在一些實(shí)施例中,0/S內(nèi)部安全代理3318或0/S下層安全代理3316可以被配置為掃描操作系統(tǒng)代碼部分3382以及活動(dòng)進(jìn)程列表3384。在這些和其他實(shí)施例中,0/S內(nèi)部安全代理3318和/或0/S下層安全代理3316可以利用與可疑進(jìn)程相關(guān)聯(lián)的線程的線程元數(shù)據(jù)(例如,ETHREAD信息)來確定要掃描以便發(fā)現(xiàn)修改的電子設(shè)備3304的元素和/或其部分。[0458]如果找到了惡意修改,則0/S內(nèi)部安全代理3318或0/S下層安全代理3316可以采取矯正動(dòng)作。例如,0/S內(nèi)部安全代理3318或0/S下層安全代理3316可以被配置為修復(fù)操作系統(tǒng)內(nèi)核存儲(chǔ)器3380中找到的任何惡意修改。作為另一示例,0/S內(nèi)部安全代理3318或0/S下層安全代理3316可以被配置為移除通過其對(duì)操作系統(tǒng)內(nèi)核存儲(chǔ)器380中的存儲(chǔ)器修改的觀察所判斷的任何檢測(cè)到的rootkit感染。作為進(jìn)一步的示例,0/S內(nèi)部安全代理3318或0/S下層安全代理3316可以被配置為修復(fù)對(duì)任何內(nèi)部數(shù)據(jù)結(jié)構(gòu)或代碼段的任何感染。在這些和其他實(shí)施例中,0/S內(nèi)部安全代理3318和/或0/S下層安全代理3316可以利用與可疑進(jìn)程相關(guān)聯(lián)的線程的線程元數(shù)據(jù)(例如,ETHREAD信息)來判斷要采取的矯正動(dòng)作(例如,這樣的元數(shù)據(jù)可以標(biāo)識(shí)惡意軟件進(jìn)程的具體存儲(chǔ)器位置、負(fù)責(zé)可疑行為的驅(qū)動(dòng)程序等等)。0/S內(nèi)部安全代理3318或0/S下層安全代理3316可以被配置為對(duì)在由安全設(shè)備驅(qū)動(dòng)程序3370確定的進(jìn)程的第一列表3385和從就緒隊(duì)列3322中出現(xiàn)的線程元數(shù)據(jù)的分析確定的進(jìn)程的第二列表3386之間出現(xiàn)的每一矛盾重復(fù)掃描過程以便發(fā)現(xiàn)隱藏進(jìn)程的修改。[0459]圖34是用于檢測(cè)和修復(fù)電子設(shè)備上的隱藏進(jìn)程的方法的示例實(shí)施例。在步驟3405,一個(gè)或多個(gè)安全代理(例如,0/S內(nèi)部安全代理3318和/或0/S下層安全代理3316)可以引起安全設(shè)備驅(qū)動(dòng)程序在電子設(shè)備的操作系統(tǒng)上執(zhí)行。在步驟3410,安全設(shè)備驅(qū)動(dòng)程序可以經(jīng)由對(duì)電子設(shè)備的操作系統(tǒng)的標(biāo)準(zhǔn)系統(tǒng)調(diào)用列舉在電子設(shè)備上運(yùn)行的活動(dòng)進(jìn)程。安全設(shè)備驅(qū)動(dòng)程序可以把所列舉的進(jìn)程放置在活動(dòng)進(jìn)程的第一列表。因?yàn)榘踩O(shè)備驅(qū)動(dòng)程序可以在與操作系統(tǒng)相同特權(quán)的執(zhí)行環(huán)運(yùn)行或在比操作系統(tǒng)較少特權(quán)的執(zhí)行環(huán)運(yùn)行,安全設(shè)備驅(qū)動(dòng)程序所列舉的活動(dòng)進(jìn)程可以限于出現(xiàn)在操作系統(tǒng)的活動(dòng)進(jìn)程列表上的那些活動(dòng)進(jìn)程,這意味著已經(jīng)修改活動(dòng)進(jìn)程列表以便移除對(duì)它們自身的引用的惡意進(jìn)程不會(huì)被安全設(shè)備驅(qū)動(dòng)程序列舉。[0460]在步驟3415,一個(gè)或多個(gè)安全代理可以掃描線程就緒隊(duì)列,且至少基于這樣的掃描,列舉在電子設(shè)備上執(zhí)行的個(gè)體線程并把它們放置字在線程列表中。在步驟3420,至少基于與該線程相關(guān)聯(lián)的元數(shù)據(jù)(例如,與線程相關(guān)聯(lián)的ETHREAD信息或陳述持有線程的進(jìn)程的其他元數(shù)據(jù)),一個(gè)或多個(gè)安全代理可以定位持有線程的進(jìn)程并產(chǎn)生活動(dòng)進(jìn)程的第二列表。第二列表可以包括已經(jīng)從活動(dòng)進(jìn)程列表移除對(duì)它們自身的引用的惡意進(jìn)程。[0461]在步驟3425,一個(gè)或多個(gè)安全代理可以比較活動(dòng)進(jìn)程的第一列表和活動(dòng)進(jìn)程的第二列表。在步驟3430,一個(gè)或多個(gè)安全代理可以把出現(xiàn)在第二列表且不出現(xiàn)在第一列表的活動(dòng)進(jìn)程標(biāo)識(shí)為可疑進(jìn)程。這樣可疑進(jìn)程的跡象的可以是對(duì)在電子設(shè)備上運(yùn)行的防病毒或反惡意軟件軟件和/或在電子設(shè)備上執(zhí)行的操作系統(tǒng)隱藏的惡意軟件的跡象。[0462]在步驟3435,如果一個(gè)或多個(gè)安全代理判斷存在在電子設(shè)備上運(yùn)行的隱藏進(jìn)程的跡象,一個(gè)或多個(gè)安全代理可以判斷是否已經(jīng)由可疑進(jìn)程做出對(duì)電子設(shè)備的部分的修改。為了判斷是否已經(jīng)做出修改,一個(gè)或多個(gè)安全代理可以掃描操作系統(tǒng)和/或操作系統(tǒng)內(nèi)核存儲(chǔ)器,以便判斷是否已經(jīng)做出與這樣的進(jìn)程相關(guān)的任何修改。例如,一個(gè)或多個(gè)安全代理可以掃描以便發(fā)現(xiàn)由惡意軟件實(shí)施的任何存儲(chǔ)器修改,和/或可以掃描操作系統(tǒng)內(nèi)核存儲(chǔ)器的操作系統(tǒng)代碼部分和/或活動(dòng)進(jìn)程列表。[0463]在步驟3440,如果已經(jīng)找到修改,則一個(gè)或多個(gè)安全代理可以采取矯正動(dòng)作。例如,一個(gè)或多個(gè)安全代理可以修復(fù)在操作系統(tǒng)內(nèi)核存儲(chǔ)器中找到的任何惡意修改。作為另一示例,一個(gè)或多個(gè)安全代理可以移除通過其對(duì)操作系統(tǒng)內(nèi)核存儲(chǔ)器中的存儲(chǔ)器修改的觀察確定的任何檢測(cè)到的rootkit感染。作為進(jìn)一步的示例,一個(gè)或多個(gè)安全代理可以修復(fù)對(duì)任何內(nèi)部數(shù)據(jù)結(jié)構(gòu)或代碼段的任何感染??梢詫?duì)每一已標(biāo)識(shí)的可疑進(jìn)程重復(fù)的方法3400的各部分。因此,一個(gè)或多個(gè)安全代理可以對(duì)在由安全設(shè)備驅(qū)動(dòng)程序3370確定的進(jìn)程的第一列表3385和從就緒隊(duì)列3322中出現(xiàn)的線程元數(shù)據(jù)的分析確定的進(jìn)程的第二列表3386之間出現(xiàn)的每一矛盾重復(fù)掃描過程以便發(fā)現(xiàn)隱藏進(jìn)程的修改。[0464]有利地,以上所描述的方法和系統(tǒng)可以提供對(duì)rootkit和/或其他惡意軟件的標(biāo)識(shí),而不要求對(duì)操作系統(tǒng)內(nèi)核的任何函數(shù)的掛鉤或捕獲。[0465]圖35是用于檢測(cè)和修復(fù)電子設(shè)備3504上的隱藏進(jìn)程的系統(tǒng)3500的示例實(shí)施例。0/S下層安全代理3516、安全設(shè)備驅(qū)動(dòng)程序3570和安全動(dòng)態(tài)鏈接庫(DLL)3572可以在電子設(shè)備3504上操作以便檢測(cè)和修復(fù)惡意感染,例如被配置為隱藏在電子設(shè)備3504上正在運(yùn)行的進(jìn)程的操作的惡意軟件。電子設(shè)備3504可以包括被耦合到存儲(chǔ)器3508的處理器3506、操作系統(tǒng)3512、安全DLL3572、0/S下層安全代理3516、虛擬機(jī)控制結(jié)構(gòu)3552(“VMCS”)一個(gè)或多個(gè)進(jìn)程3573(例如,進(jìn)程3573a、3573b和3573c)、與這樣的進(jìn)程相關(guān)聯(lián)的地址空間3587(例如,地址空間3587a、3587b和3587c)和一個(gè)或多個(gè)系統(tǒng)資源,例如類似于CR3控制寄存器3560的控制寄存器。處理器寄存器3530可以包括諸如例如CR3寄存器3560或任何其他寄存器3568的此類寄存器。盡管作為處理器寄存器3530的示例給出CR3,但可以使用任何合適的控制寄存器。CR3寄存器3560可以是被配置為控制或改變電子設(shè)備3504上的CPU的一般行為的處理器寄存器。CR3寄存器3560可以被配置為允許諸如在電子設(shè)備3504上運(yùn)行的處理器3506之類的處理器把虛擬存儲(chǔ)器地址轉(zhuǎn)換成物理存儲(chǔ)器地址。CR3寄存器3560可以被配置為定位用于當(dāng)前所請(qǐng)求的任務(wù)的頁面目錄和頁面表,當(dāng)前所請(qǐng)求的任務(wù)例如駐留在棧區(qū)中且被選擇為供Ο/S調(diào)度程序操作的任務(wù)。可以以任何合適的虛擬定址控制寄存器實(shí)現(xiàn)CR3寄存器3560。根據(jù)電子設(shè)備3504的特定的設(shè)計(jì)或?qū)崿F(xiàn),其他寄存器268可以出現(xiàn)在處理器寄存器3530。處理器寄存器3530可以與處理器3506或電子設(shè)備3504的另一處理器相關(guān)聯(lián)。[0466]電子設(shè)備3504可以全部地或部分地由圖1的電子設(shè)備103、圖2的電子設(shè)備204、圖4的電子設(shè)備404、圖7的電子設(shè)備701、圖33d的電子設(shè)備3304和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。處理器3506可以全部地或部分地由圖2的處理器208、圖4的處理器408、圖7的處理器702、圖33的處理器3306和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。存儲(chǔ)器3508可以全部地或部分地由圖2的存儲(chǔ)器206、圖4的存儲(chǔ)器406、圖7的存儲(chǔ)器703、圖33的存儲(chǔ)器3308和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。操作系統(tǒng)3512可以全部地或部分地由圖1的操作系統(tǒng)112、圖2的操作系統(tǒng)212、圖4的操作系統(tǒng)412、圖7的操作系統(tǒng)713、圖33的操作系統(tǒng)3312和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。0/S下層安全代理3516可以全部地或部分地由圖1的0/S下層捕獲代理104、圖2的SVMM安全代理217或SVMM216、圖4的固件安全代理440、442、PC固件安全代理444或0/S系統(tǒng)下層代理450、圖5的固件安全代理516、圖7的微代碼安全代理708、圖33的0/S下層安全代理3316和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。[0467]電子設(shè)備3504可以包括虛擬機(jī)控制結(jié)構(gòu)1152。在一個(gè)實(shí)施例中,虛擬機(jī)控制結(jié)構(gòu)1152可以駐留在0/S下層安全代理3516中。在另一實(shí)施例中,虛擬機(jī)控制結(jié)構(gòu)1152可以通信上耦合到0/S下層安全代理3516。在這樣的實(shí)施例中,虛擬機(jī)控制結(jié)構(gòu)1152的功能性中的一些或全部可以由0/S下層安全代理3516實(shí)現(xiàn)。此外,在這樣的實(shí)施例中,0/S下層安全代理3516的功能性中的一些或全部可以由虛擬機(jī)控制結(jié)構(gòu)1152實(shí)現(xiàn)。虛擬機(jī)控制結(jié)構(gòu)1152可以完全地或部分地由圖1的0/S下層捕獲代理104、圖2的VMCS、圖4的固件安全代理440、442或PC固件安全代理444、圖5的固件安全代理516、或圖7的微代碼安全代理706實(shí)現(xiàn)。虛擬機(jī)控制結(jié)構(gòu)1152可以在數(shù)據(jù)結(jié)構(gòu)、記錄、文件、模塊或用于捕獲對(duì)諸如處理器寄存器3530或其他資源之類的資源的請(qǐng)求的任何其他合適的實(shí)體實(shí)現(xiàn)。在一個(gè)實(shí)施例中,例如其中系統(tǒng)3500可以完全地或部分地由圖2的系統(tǒng)200實(shí)現(xiàn)的實(shí)施例,虛擬機(jī)控制結(jié)構(gòu)1152和0/S下層安全代理3516可以被配置為虛擬化對(duì)諸如處理器寄存器3530或任何其他合適的系統(tǒng)資源之類的電子設(shè)備3504的系統(tǒng)資源的訪問。[0468]虛擬機(jī)控制結(jié)構(gòu)1152可以包括用于捕獲操作系統(tǒng)3512對(duì)諸如處理器寄存器3530之類的系統(tǒng)資源所請(qǐng)求的操作的一個(gè)或多個(gè)標(biāo)志1154。標(biāo)志1154可以包括捕獲的標(biāo)志,例如,進(jìn)程上下文切換標(biāo)志3556和/或讀函數(shù)標(biāo)志3558。標(biāo)志1154可以包括適用于捕獲對(duì)諸如處理器寄存器3530之類的系統(tǒng)資源的訪問的任何標(biāo)志。0/S下層安全代理3516可以被配置為設(shè)置虛擬機(jī)控制結(jié)構(gòu)1152的哪些標(biāo)志1154將被用來捕獲對(duì)系統(tǒng)資源的訪問??梢员惶摂M機(jī)控制結(jié)構(gòu)1152和0/S下層安全代理3516捕獲和/或守護(hù)的系統(tǒng)資源可以包括但不限于處理器寄存器3530。[0469]進(jìn)程3573可以被配置為在電子設(shè)備3504上操作。電子設(shè)備3504上的一個(gè)或多個(gè)進(jìn)程3573操作可以是與惡意軟件相關(guān)聯(lián)的惡意進(jìn)程。電子設(shè)備3504上的惡意軟件可以操作為掩飾進(jìn)程3573的一個(gè)或多個(gè)惡意進(jìn)程的存在以便避免被反惡意軟件軟件檢測(cè)。例如,操作系統(tǒng)3512可以包括操作系統(tǒng)內(nèi)核存儲(chǔ)器3580。操作系統(tǒng)內(nèi)核存儲(chǔ)器3580可以包括用于跟蹤電子設(shè)備3504上的進(jìn)程的執(zhí)行的一個(gè)或多個(gè)機(jī)制。在一個(gè)示例中,這樣的機(jī)制可以包括活動(dòng)進(jìn)程列表3584?;顒?dòng)進(jìn)程列表3584可以以數(shù)據(jù)結(jié)構(gòu)、記錄、文件或用于跟蹤在電子設(shè)備3504上操作的進(jìn)程的任何其他合適的方法實(shí)現(xiàn)。例如,如果進(jìn)程3573b是與惡意軟件相關(guān)聯(lián)的惡意進(jìn)程,則電子設(shè)備3504上的惡意軟件可以修改活動(dòng)進(jìn)程列表3584以便移除對(duì)進(jìn)程3573b的引用。因而,在判斷哪些進(jìn)程在電子設(shè)備上3504活動(dòng)運(yùn)行且應(yīng)檢查以便發(fā)現(xiàn)惡意軟件時(shí),在電子設(shè)備3504上運(yùn)行的安全軟件將不把進(jìn)程3573b識(shí)別為活動(dòng)進(jìn)程以供檢查。[0470]進(jìn)程3573或在電子設(shè)備3504上操作的其他實(shí)體,在使用虛擬存儲(chǔ)器時(shí),作為正常操作的一部分,可以要求使用與進(jìn)程3573中的一個(gè)相關(guān)聯(lián)的進(jìn)程上下文切換。為了促進(jìn)虛擬存儲(chǔ)器的使用,操作系統(tǒng)3512可以被配置為實(shí)施進(jìn)程上下文切換、讀取或附接到給定進(jìn)程。這樣的動(dòng)作可以要求操作系統(tǒng)3512嘗試訪問系統(tǒng)資源,包括諸如CR3寄存器3560之類的控制寄存器。操作系統(tǒng)3512可以產(chǎn)生以命令“movevalue,CR3(移動(dòng)值,CR3)”的形式的對(duì)CR3寄存器3560的讀取。操作系統(tǒng)3512可以被配置為以命令“moveCR3,value(移動(dòng)CR3,值)”的形式嘗試改變CR3寄存器3560的值。[0471]虛擬機(jī)控制結(jié)構(gòu)1152可以被配置為截取操作系統(tǒng)3512對(duì)訪問包括寄存器3530的電子設(shè)備3504的系統(tǒng)資源的嘗試。虛擬機(jī)控制結(jié)構(gòu)1152可以被配置為嘗試捕獲操作系統(tǒng)3512訪問電子設(shè)備3504的系統(tǒng)資源的某些嘗試命令。虛擬機(jī)控制結(jié)構(gòu)1152可以被配置為使用標(biāo)志來截取操作系統(tǒng)3512的命令。在一個(gè)實(shí)施例中,虛擬機(jī)控制結(jié)構(gòu)1152可以包括標(biāo)志3556-3558以便截取進(jìn)程上下文切換和對(duì)CR3寄存器3560的讀命令。0/S下層安全代理3516可以被配置為在虛擬機(jī)控制結(jié)構(gòu)1152中設(shè)置這樣的標(biāo)志3556-3558。虛擬機(jī)控制結(jié)構(gòu)1152可以被配置為產(chǎn)生VM退出,這是對(duì)諸如與CR3寄存器3560相關(guān)聯(lián)的讀取或進(jìn)程上下文切換命令之類的已標(biāo)記操作的截取所產(chǎn)生的事件。在一個(gè)實(shí)施例中,虛擬機(jī)控制結(jié)構(gòu)1152可以被配置為為對(duì)與虛擬存儲(chǔ)器相關(guān)聯(lián)的控制寄存器的任何已嘗試訪問產(chǎn)生VM退出。每當(dāng)在電子設(shè)備3504上運(yùn)行的進(jìn)程3573中的一個(gè)嘗試實(shí)施進(jìn)程上下文切換,或讀取與進(jìn)程相關(guān)聯(lián)的進(jìn)程空間,虛擬機(jī)控制結(jié)構(gòu)1152可以被配置為產(chǎn)生VM退出并把關(guān)于所嘗試的命令信息傳遞給0/S下層安全代理3516。為了闡釋,0/S下層安全代理3516可以被配置為把對(duì)CR3寄存器3560(或另一寄存器3568)的所有這樣的動(dòng)作記錄在寄存器改變3576中。寄存器改變3576可以以文件、結(jié)構(gòu)、數(shù)據(jù)結(jié)構(gòu)、記錄或用于把改變的歷史存儲(chǔ)到CR3寄存器3560或另一寄存器3568的任何其他合適的機(jī)制實(shí)現(xiàn)。通過記錄對(duì)CR3寄存器3560的所有訪問,0/S下層安全代理3516因而可以擁有已經(jīng)在電子設(shè)備3504中嘗試進(jìn)程上下文切換的所有進(jìn)程3573的記錄。作為寄存器改變3576的這樣的改變記錄可以被配置為充當(dāng)在電子設(shè)備3504上運(yùn)行的進(jìn)程的記錄。0/S下層安全代理3516可以被配置為從寄存器改變3576列表確定正在運(yùn)行的進(jìn)程3586,包括在電子設(shè)備3504上運(yùn)行的所有進(jìn)程。[0472]通過截取對(duì)CR3寄存器的訪問,0/S下層安全代理3516可以通過拒絕在進(jìn)出執(zhí)行時(shí)交換進(jìn)程的能力來凍結(jié)執(zhí)行。通過凍結(jié)執(zhí)行,0/S下層安全代理3516可以被配置為收集正在運(yùn)行的進(jìn)程的列表而無需進(jìn)入與惡意軟件的競態(tài)條件,惡意軟件可以工作為避免或破壞矯正措施或檢測(cè)措施。[0473]替代地,0/S下層安全代理3516可以被配置為通過監(jiān)視用于上下文交換的操作系統(tǒng)函數(shù)(例如,Windows?函數(shù)SwapContext)確定運(yùn)行進(jìn)程3586的列表。對(duì)操作系統(tǒng)上下文交換函數(shù)的監(jiān)視可以經(jīng)由與函數(shù)調(diào)用的代碼段相關(guān)聯(lián)的存儲(chǔ)器的處理器級(jí)別監(jiān)視或通過觀察指向這樣的代碼段執(zhí)行指令指針(“EIP”)執(zhí)行。例如,可以在安全規(guī)則中映射和描述SwapContext駐留在其中的物理存儲(chǔ)器位置或虛擬存儲(chǔ)器位置。SwapContext駐留在其中的物理地址或虛擬存儲(chǔ)器地址的標(biāo)志可以被設(shè)置為以使得可以捕獲對(duì)存儲(chǔ)器的任何已嘗試執(zhí)行。例如,如果Ο/S下層安全代理3516完全地或部分地由圖2的SVMM安全代理217實(shí)現(xiàn),那么,Ο/S下層安全代理3516可以設(shè)置VMCSl152以便捕獲對(duì)SwapContext駐留在其中的虛擬存儲(chǔ)器頁面的已嘗試執(zhí)行。在另一示例中,如果Ο/S下層安全代理3516完全地或部分地由圖7的微代碼安全代理708實(shí)現(xiàn),那么,Ο/S下層安全代理3516可以設(shè)置VMCS1152以便捕獲對(duì)開始SwapContext函數(shù)的代碼部分的物理存儲(chǔ)器地址的已嘗試執(zhí)行。[0474]操作系統(tǒng)3512可以包括安全設(shè)備驅(qū)動(dòng)程序3570。安全設(shè)備驅(qū)動(dòng)程序3570可以以驅(qū)動(dòng)程序、模塊、可執(zhí)行程序、DLL或用于提供內(nèi)核模式設(shè)備驅(qū)動(dòng)程序服務(wù)的任何其他合適的機(jī)制實(shí)現(xiàn)。安全設(shè)備驅(qū)動(dòng)程序3570可以被配置為調(diào)用操作系統(tǒng)3512的各種部分以便列舉在電子設(shè)備3504上運(yùn)行的運(yùn)行進(jìn)程。例如,安全設(shè)備驅(qū)動(dòng)程序3570可以被配置為檢查內(nèi)核存儲(chǔ)器3580或活動(dòng)進(jìn)程列表3584。安全設(shè)備驅(qū)動(dòng)程序3570可以被配置為傳輸安全設(shè)備驅(qū)動(dòng)程序3570可以檢測(cè)的運(yùn)行進(jìn)程列表3580。安全設(shè)備驅(qū)動(dòng)程序3570可以被配置為把運(yùn)行進(jìn)程列表3580傳輸給0/S下層安全代理3516。在一個(gè)實(shí)施例中,安全設(shè)備驅(qū)動(dòng)程序3570可以被配置為經(jīng)由超級(jí)調(diào)用把與給定的已檢測(cè)進(jìn)程相關(guān)聯(lián)的EPROCESS結(jié)構(gòu)傳送給0/S下層安全代理3516。一旦接收到安全設(shè)備驅(qū)動(dòng)程序3570所檢測(cè)的活動(dòng)進(jìn)程的EPROCESS結(jié)構(gòu),0/S下層安全代理3516可以被配置為計(jì)算與從安全設(shè)備驅(qū)動(dòng)程序3570接收到的每一個(gè)這樣的EPROCESS結(jié)構(gòu)相關(guān)聯(lián)的CR3寄存器3560值(或其他寄存器3568值)。0/S下層安全代理3516可以被配置為把從安全設(shè)備驅(qū)動(dòng)程序3570接收到的運(yùn)行進(jìn)程列表3580與0/S下層安全代理3516從寄存器改變3576確定的運(yùn)行進(jìn)程列表3586進(jìn)行比較。0/S下層安全代理3516可以被配置為判斷,相比于0/S下層安全代理3516已經(jīng)編譯的寄存器改變3576,是否丟失了從來自安全設(shè)備驅(qū)動(dòng)程序3570的運(yùn)行進(jìn)程列表3580導(dǎo)出的任何CR3值。這樣的矛盾可以指示隱藏進(jìn)程。這樣的進(jìn)程可以對(duì)安全設(shè)備驅(qū)動(dòng)程序3570、在電子設(shè)備3504上運(yùn)行的任何防病毒或反惡意軟件軟件以及操作系統(tǒng)3512隱藏。然而,這樣的進(jìn)程的跡象對(duì)0/S下層安全代理3516來說是可見的,這是因?yàn)檫@樣的隱藏進(jìn)程嘗試?yán)邕M(jìn)程上下文切換或進(jìn)程地址空間的讀取。隱藏進(jìn)程的這樣的跡象可以是經(jīng)由內(nèi)核根設(shè)備驅(qū)動(dòng)程序的內(nèi)核模式感染的跡象,因?yàn)閮?nèi)核模式安全設(shè)備驅(qū)動(dòng)程序3570不能檢測(cè)隱藏進(jìn)程。[0475]0/S下層安全代理3516可以判斷,丟失的進(jìn)程不是隱藏進(jìn)程,而是在編譯列表編譯的時(shí)間之間的正常執(zhí)行過程中被刪除的進(jìn)程。為了幫助防止把這樣的線程錯(cuò)誤標(biāo)識(shí)為隱藏進(jìn)程,0/S下層安全代理3516可以被配置為監(jiān)視用于創(chuàng)建和刪除進(jìn)程的函數(shù)的執(zhí)行。這樣的函數(shù)可以包括例如pspProcessCreate或pspTerminateProcess。0/S下層安全代理3516可以被配置為做出其列舉動(dòng)作和觀察創(chuàng)建或刪除函數(shù)的時(shí)間戳記錄,以使得如果進(jìn)程丟失,則可以判斷在進(jìn)程被標(biāo)識(shí)為丟失之前是否用刪除函數(shù)刪除了該進(jìn)程。[0476]如果0/S下層安全代理3516判斷存在在電子設(shè)備3504上運(yùn)行的隱藏進(jìn)程的跡象,則Ο/s下層安全代理3516可以被配置為掃描操作系統(tǒng)3512和操作系統(tǒng)內(nèi)核存儲(chǔ)器3580,以便判斷是否已經(jīng)做出與這樣的進(jìn)程相關(guān)的任何修改。0/S下層安全代理3516可以被配置為掃描以便發(fā)現(xiàn)已知由惡意軟件實(shí)施的任何存儲(chǔ)器修改。在一些實(shí)施例中,0/S下層安全代理3516可以被配置為掃描操作系統(tǒng)代碼部分3582以及活動(dòng)進(jìn)程列表3584。0/S下層安全代理3516可以被配置為修復(fù)在操作系統(tǒng)內(nèi)核存儲(chǔ)器3580中找到的任何惡意修改。0/S下層安全代理3516可以被配置為移除移除通過其對(duì)操作系統(tǒng)內(nèi)核存儲(chǔ)器3580中的存儲(chǔ)器修改的觀察確定的任何檢測(cè)到的rootkit感染。0/S下層安全代理3516可以被配置為修復(fù)對(duì)任何內(nèi)部數(shù)據(jù)結(jié)構(gòu)或代碼段的任何感染。0/S下層安全代理3516可以被配置為對(duì)在由0/S下層安全代理3516和安全設(shè)備驅(qū)動(dòng)程序3570確定的進(jìn)程之間出現(xiàn)的每一矛盾重復(fù)掃描過程以便發(fā)現(xiàn)隱藏進(jìn)程的存儲(chǔ)器修改。安全設(shè)備驅(qū)動(dòng)程序3570可以被配置為從0/S下層安全代理3516接收最終的進(jìn)程列表,例如運(yùn)行進(jìn)程列表3586。安全設(shè)備驅(qū)動(dòng)程序3570可以被配置為通過對(duì)0/S下層安全代理3516的超級(jí)調(diào)用訪問運(yùn)行進(jìn)程列表3586。[0477]安全DLL3572可以被配置為在電子設(shè)備3504上操作。安全DLL3572可以以動(dòng)態(tài)鏈接庫(DLL)、共享庫、可執(zhí)行程序或用于如下所示執(zhí)行其函數(shù)的任何其他合適的機(jī)制實(shí)現(xiàn)。安全設(shè)備驅(qū)動(dòng)程序3570可以被配置為把安全DLL3572或?qū)Π踩獶LL3572的引用注入到在電子設(shè)備3504上運(yùn)行的每一進(jìn)程的地址空間,例如進(jìn)程地址空間3587。進(jìn)程地址空間3587中的每一個(gè)因而可以包含指向安全DLL3572的指針。安全DLL3572可以被配置為列舉在電子設(shè)備3504上運(yùn)行的所有用戶模式進(jìn)程。安全DLL3572可以被配置為使用任何合適的技術(shù)來列舉用戶模式進(jìn)程。例如,安全DLL3572可以被配置為使用Windows?操作系統(tǒng)中的NtQuerySystemlnformation函數(shù),并使用ProcessFirst和ProcessNext函數(shù)導(dǎo)航進(jìn)程。這樣的函數(shù)也可以由0/S下層安全代理執(zhí)行。安全DLL3572可以被配置為把其結(jié)果編譯到運(yùn)行進(jìn)程列表3588中。安全DLL3572可以被配置為把運(yùn)行進(jìn)程列表3588發(fā)送給安全設(shè)備驅(qū)動(dòng)程序3570。安全DLL3572可以被配置為經(jīng)由受保護(hù)輸入和輸出調(diào)用發(fā)送這樣的運(yùn)行進(jìn)程列表3588。安全設(shè)備驅(qū)動(dòng)程序3570可以被配置為把所接收的運(yùn)行進(jìn)程列表3588與它從0/S下層安全代理3516接收運(yùn)行進(jìn)程列表3586的列表進(jìn)行比較。安全設(shè)備驅(qū)動(dòng)程序3570可以被配置為判斷這樣的進(jìn)程列表中的任何差異可以包括用戶模式rootkit攻擊。安全設(shè)備驅(qū)動(dòng)程序3570或安全DLL3572可以被配置為檢查與進(jìn)程地址空間3587相關(guān)聯(lián)的存儲(chǔ)器中的進(jìn)程代碼和數(shù)據(jù)部分,以便判斷是否已經(jīng)做出任何存儲(chǔ)器修改。安全設(shè)備驅(qū)動(dòng)程序3570可以被配置為修復(fù)在進(jìn)程地址空間3587中做出的任何存儲(chǔ)器修改。安全設(shè)備驅(qū)動(dòng)程序3570可以被配置為對(duì)在來自安全DLL3572的運(yùn)行進(jìn)程列表3588和來自0/S下層安全代理3516的運(yùn)行進(jìn)程列表3586之間出現(xiàn)的每一矛盾重復(fù)掃描進(jìn)程地址空間3587、檢測(cè)存儲(chǔ)器修改、和修復(fù)這樣的存儲(chǔ)器修改的過程。[0478]在操作中,進(jìn)程3573可以在電子設(shè)備3504上操作。進(jìn)程3573中的一個(gè)或多個(gè)可以被隱藏。例如,進(jìn)程3573b可以與惡意軟件相關(guān)聯(lián),且可以對(duì)在電子設(shè)備3504上運(yùn)行的防病毒或反惡意軟件軟件隱藏以便掩飾其惡意操作。進(jìn)程3573可以通過操作系統(tǒng)3512訪問電子設(shè)備3504的系統(tǒng)資源。為了訪問存儲(chǔ)器的不同部分,或?yàn)榱擞商幚砥?508執(zhí)行,進(jìn)程3573可以要求訪問電子設(shè)備3504的控制寄存器。這樣的訪問可以包括引起進(jìn)程上下文切換或進(jìn)程地址空間的讀取。這樣的要求可以由操作系統(tǒng)3512應(yīng)對(duì),其中,操作系統(tǒng)3512訪問諸如CR3寄存器3560之類的寄存器。虛擬機(jī)控制結(jié)構(gòu)1152可以截取這樣的請(qǐng)求并為該請(qǐng)求產(chǎn)生VM退出。虛擬機(jī)控制結(jié)構(gòu)1152可以把與這樣的嘗試相關(guān)聯(lián)的信息提供給0/S下層安全代理3516。Ο/S下層安全代理3516可以設(shè)置標(biāo)志,例如在虛擬機(jī)控制結(jié)構(gòu)1152上捕獲指令“moveCR3,value”3556或“movevalue,CR3”3558的那些標(biāo)志。0/S下層安全代理3516可以記錄對(duì)CR3寄存器3560和寄存器改變3576的所有嘗試讀取或改變。[0479]為了判斷在電子設(shè)備3504上運(yùn)行的一個(gè)或多個(gè)進(jìn)程3573是否被隱藏,安全設(shè)備驅(qū)動(dòng)程序3570可以從操作系統(tǒng)3512判斷什么內(nèi)核模式進(jìn)程正在操作系統(tǒng)3512上運(yùn)行。安全設(shè)備驅(qū)動(dòng)程序3570可以掃描諸如活動(dòng)進(jìn)程列表3584之類的操作系統(tǒng)內(nèi)核存儲(chǔ)器3580的部分來確定這樣的進(jìn)程。安全設(shè)備驅(qū)動(dòng)程序3570因而可以具有運(yùn)行進(jìn)程列表3580的列表,該列表可以檢測(cè)電子設(shè)備3504的內(nèi)核模式中的操作。安全設(shè)備驅(qū)動(dòng)程序3570可以把運(yùn)行進(jìn)程列表3580發(fā)送給0/S下層安全代理3516。通過經(jīng)由超級(jí)調(diào)用把運(yùn)行進(jìn)程列表3580所檢測(cè)的每一進(jìn)程的EPROCESS結(jié)構(gòu)傳送給0/S下層安全代理3516,安全設(shè)備驅(qū)動(dòng)程序3570可以把運(yùn)行進(jìn)程列表3580發(fā)送給0/S下層安全代理3516。0/S下層安全代理3516可以計(jì)算在運(yùn)行進(jìn)程列表3580內(nèi)包含的每一這樣的EPROCESS的CR3值。0/S然后,下層安全代理3516可以把運(yùn)行進(jìn)程列表3580中的起因于安全設(shè)備驅(qū)動(dòng)程序3570的CR3值與它在電子設(shè)備3504的操作期間編譯的寄存器改變3576進(jìn)行比較。在運(yùn)行進(jìn)程列表3580和寄存器改變3576之間任何矛盾可以是在電子設(shè)備3504上隱藏了進(jìn)程3573中的一個(gè)或多個(gè)的結(jié)果。[0480]如果0/S下層安全代理3516判斷存在在電子設(shè)備3504上運(yùn)行的隱藏進(jìn)程的跡象,則0/S下層安全代理3516可以掃描操作系統(tǒng)3512和操作系統(tǒng)內(nèi)核存儲(chǔ)器3580,以便判斷是否已經(jīng)做出與這樣的進(jìn)程相關(guān)的任何修改。0/S下層安全代理3516可以掃描以便發(fā)現(xiàn)已知由惡意軟件實(shí)施的任何存儲(chǔ)器修改。在一個(gè)實(shí)施例中,0/S下層安全代理3516可以掃描操作系統(tǒng)代碼部分3582以及活動(dòng)進(jìn)程列表3584以便發(fā)現(xiàn)存儲(chǔ)器修改。0/S下層安全代理3516可以修復(fù)在操作系統(tǒng)內(nèi)核存儲(chǔ)器3580中找到的任何惡意修改。0/S下層安全代理3516可以移除通過其對(duì)操作系統(tǒng)內(nèi)核存儲(chǔ)器3580中的存儲(chǔ)器修改的觀察所確定的任何檢測(cè)到的rootkit感染,或修復(fù)對(duì)任何內(nèi)部數(shù)據(jù)結(jié)構(gòu)或代碼段的任何感染。0/S下層安全代理3516可以被配置為對(duì)在由0/S下層安全代理3516和安全設(shè)備驅(qū)動(dòng)程序3570確定的進(jìn)程之間出現(xiàn)的每一矛盾重復(fù)掃描過程,以便發(fā)現(xiàn)隱藏進(jìn)程的存儲(chǔ)器修改。0/S下層安全代理3516可以產(chǎn)生諸如運(yùn)行進(jìn)程列表3586之類的最終進(jìn)程列表并把這樣的列表發(fā)送給安全設(shè)備驅(qū)動(dòng)程序3570。[0481]安全設(shè)備驅(qū)動(dòng)程序3570可以把安全DLL3572或?qū)Π踩獶LL3572的引用注入到在電子設(shè)備3504上運(yùn)行的每一進(jìn)程的地址空間,例如運(yùn)行進(jìn)程列表3586。進(jìn)程地址空間3587中的每一個(gè)因而可以包含指向安全DLL3572的指針。安全DLL3572可以列舉在電子設(shè)備3504上運(yùn)行的所有用戶模式進(jìn)程。安全DLL3572可以把其結(jié)果編譯到運(yùn)行進(jìn)程列表3588并把運(yùn)行進(jìn)程列表3588發(fā)送到安全設(shè)備驅(qū)動(dòng)程序3570。[0482]安全設(shè)備驅(qū)動(dòng)程序3570可以把所接收的運(yùn)行進(jìn)程列表3588與從0/S下層安全代理3516接收到的運(yùn)行進(jìn)程列表3586的列表進(jìn)行比較。安全設(shè)備驅(qū)動(dòng)程序3570可以判斷,這樣的進(jìn)程列表中的任何差異可以指示惡意軟件感染,例如用戶模式rootkit攻擊。安全設(shè)備驅(qū)動(dòng)程序3570可以檢查與進(jìn)程地址空間3587相關(guān)聯(lián)的存儲(chǔ)器中的進(jìn)程代碼和數(shù)據(jù)部分,以便判斷是否已經(jīng)做出任何存儲(chǔ)器修改,并做出任何必要的修復(fù)。安全設(shè)備驅(qū)動(dòng)程序3570可以對(duì)在來自安全DLL3572的運(yùn)行進(jìn)程列表3588和來自Ο/S下層安全代理3516的運(yùn)行進(jìn)程列表3586之間出現(xiàn)的每一矛盾重復(fù)掃描進(jìn)程地址空間3587、檢測(cè)存儲(chǔ)器修改和修復(fù)這樣的存儲(chǔ)器修改的過程。[0483]圖36是用于檢測(cè)和修復(fù)電子設(shè)備上的隱藏進(jìn)程的方法3600的示例實(shí)施例。[0484]在步驟3605,可以截取和記錄對(duì)控制寄存器的已嘗試訪問。這樣的控制寄存器可以是CR3控制寄存器。可以通過捕獲VM退出來截取這樣的嘗試訪問??梢酝ㄟ^在虛擬機(jī)控制結(jié)構(gòu)中設(shè)置標(biāo)志來實(shí)現(xiàn)這樣的截取??梢灾貜?fù)步驟3605,以便在步驟3610構(gòu)建0/S級(jí)別下層的進(jìn)程列表,該列表可以包括給定時(shí)間周期內(nèi)訪問控制寄存器的所有進(jìn)程的記錄。在使用虛擬存儲(chǔ)器的系統(tǒng)中,可以訪問控制寄存器以便切換和訪問這樣的虛擬存儲(chǔ)器??梢越柚?/S下層安全代理的輔助來實(shí)現(xiàn)步驟3605-3610。在方法3600的操作期間根據(jù)需要,可以周期性地或按需重復(fù)步驟3605-3610,以便為方法3600中要做出的各種比較提供經(jīng)更新的基準(zhǔn)。[0485]在步驟3615,可以從操作系統(tǒng)的內(nèi)核模式的角度確定在電子設(shè)備的操作系統(tǒng)上運(yùn)行的進(jìn)程??梢酝ㄟ^使用操作系統(tǒng)的內(nèi)核模式的列舉函數(shù)來確定這樣的進(jìn)程。例如,可以訪問操作系統(tǒng)的活動(dòng)進(jìn)程列表以確定運(yùn)行進(jìn)程。在步驟3620,這樣的進(jìn)程可以被用來構(gòu)建0/S級(jí)別的進(jìn)程列表。在步驟3625,可以計(jì)算來自0/S級(jí)別的進(jìn)程列表中的每一進(jìn)程的EPROCESS結(jié)構(gòu)的控制寄存器值。這樣的寄存器值可以允許在0/S級(jí)別的進(jìn)程列表中交叉引用該進(jìn)程。[0486]在步驟3630,可以比較0/S級(jí)別下層的進(jìn)程列表和0/S級(jí)別的進(jìn)程列表,以便判斷是否存在任何矛盾。如果存在在中Ο/s級(jí)別的進(jìn)程列表丟失但在ο/s級(jí)別下層的進(jìn)程列表中存在的任何進(jìn)程,則在步驟3635,可以判斷這樣的進(jìn)程被隱藏且因而是惡意的。[0487]在步驟3640,可以掃描操作系統(tǒng)和系統(tǒng)存儲(chǔ)器以便發(fā)現(xiàn)與隱藏進(jìn)程相關(guān)聯(lián)的存儲(chǔ)器修改。在一個(gè)實(shí)施例中,可以掃描這樣的資源以便發(fā)現(xiàn)進(jìn)程列舉相關(guān)的變更。例如,可以掃描操作系統(tǒng)代碼段和/或操作系統(tǒng)活動(dòng)進(jìn)程列表。在步驟3645,可以修復(fù)任何檢測(cè)到的存儲(chǔ)器修改。在步驟3650,可以對(duì)所有隱藏進(jìn)程重復(fù)步驟3605-3645,直到在0/S級(jí)別下層的進(jìn)程列表和0/S級(jí)別的進(jìn)程列表的元素之間不存在矛盾。[0488]圖37是用于檢測(cè)和修復(fù)電子設(shè)備上的隱藏進(jìn)程的方法3700的示例實(shí)施例。方法3700與方法3600的不同之處在于,方法3600涉及包括內(nèi)核模式進(jìn)程和用戶模式進(jìn)程兩者的列表的創(chuàng)建和比較,而方法3700涉及內(nèi)核模式進(jìn)程列表和用戶模式處理器列表的單獨(dú)的創(chuàng)建和比較。通過比較進(jìn)程在一個(gè)列表中存在且在另一個(gè)中不存在,可以確定惡意軟件進(jìn)程的性質(zhì),例如惡意軟件是用戶模式rootkit還是內(nèi)核模式rootkit。而且,rootkit可能已經(jīng)感染一個(gè)或許多進(jìn)程。[0489]在步驟3705,可以截取和訪問對(duì)控制寄存器的已嘗試訪問。這樣的控制寄存器可以是CR3控制寄存器。可以通過捕獲VM退出來截取這樣的已嘗試訪問??梢酝ㄟ^在虛擬機(jī)控制結(jié)構(gòu)中設(shè)置標(biāo)志來實(shí)現(xiàn)這樣的截取。可以重復(fù)步驟3705,以便在步驟3710構(gòu)建0/S級(jí)別下層的進(jìn)程列表該列表可以包括給定時(shí)間周期內(nèi)訪問控制寄存器的所有進(jìn)程的記錄。在使用虛擬存儲(chǔ)器的系統(tǒng)中,可以訪問控制寄存器以便切換和訪問這樣的虛擬存儲(chǔ)器??梢越柚?/S下層安全代理的輔助來實(shí)現(xiàn)步驟3705-3710。在方法3700的操作期間根據(jù)需要,可以周期性地或按需重復(fù)步驟3705-3710,以便為方法3700中要做出的各種比較提供經(jīng)更新的基準(zhǔn)。[0490]在步驟3715,可以從操作系統(tǒng)的內(nèi)核模式的角度確定在電子設(shè)備的操作系統(tǒng)的內(nèi)核模式中運(yùn)行的進(jìn)程??梢酝ㄟ^使用操作系統(tǒng)的內(nèi)核模式的列舉函數(shù)來確定這樣的進(jìn)程。例如,可以訪問操作系統(tǒng)的活動(dòng)進(jìn)程列表以判斷在內(nèi)核模式中運(yùn)行的進(jìn)程。在步驟3720,這樣的進(jìn)程可以被用來構(gòu)建0/S級(jí)別的進(jìn)程列表。在步驟3725,可以計(jì)算來自0/S級(jí)別的進(jìn)程列表中的每一進(jìn)程的EPROCESS結(jié)構(gòu)的控制寄存器值。這樣的寄存器值可以允許在0/S級(jí)別的進(jìn)程列表中交叉引用該進(jìn)程。[0491]在步驟3730,可以把0/S級(jí)別下層的和0/S級(jí)別的進(jìn)程列表進(jìn)行比較,以判斷是否存在任何矛盾。如果存在在ο/s級(jí)別的進(jìn)程列表丟失但出現(xiàn)在ο/s級(jí)別下層的進(jìn)程列表中的任何進(jìn)程,則在步驟3735可以判斷這樣的進(jìn)程可以被隱藏的且因而是惡意的,可能采取內(nèi)核模式rootkit的形式。在一個(gè)實(shí)施例中,替代地,可以判斷,在0/S級(jí)別的進(jìn)程列表中丟失的進(jìn)程事實(shí)上是用戶模式進(jìn)程。在這樣的實(shí)施例中,步驟3715可能尚未列舉電子設(shè)備的用戶模式進(jìn)程。[0492]在步驟3740,可以掃描操作系統(tǒng)和系統(tǒng)存儲(chǔ)器以便發(fā)現(xiàn)與隱藏進(jìn)程相關(guān)聯(lián)的存儲(chǔ)器修改。在一個(gè)實(shí)施例中,可以掃描這樣的資源以便發(fā)現(xiàn)進(jìn)程列舉相關(guān)的變更。例如,可以掃描操作系統(tǒng)代碼段和/或操作系統(tǒng)活動(dòng)進(jìn)程列表。在步驟3745,可以修復(fù)任何檢測(cè)到的存儲(chǔ)器修改。在步驟3750,可以對(duì)所有隱藏的內(nèi)核模式進(jìn)程重復(fù)步驟3735-3745,直到在0/S級(jí)別下層的進(jìn)程列表和0/S級(jí)別的進(jìn)程列表的內(nèi)核模式元素之間不存在矛盾。[0493]在步驟3755,可以確定和列舉電子設(shè)備的用戶模式進(jìn)程??梢酝ㄟ^把共享庫注入到每一運(yùn)行進(jìn)程的地址空間中來實(shí)現(xiàn)步驟3755。共享庫可以調(diào)用操作系統(tǒng)的用戶模式進(jìn)程列舉函數(shù)。在步驟3760,可以利用步驟3755的結(jié)果來創(chuàng)建用戶級(jí)別進(jìn)程列表。在步驟3765,可以判斷在0/S級(jí)別下層的進(jìn)程列表和用戶級(jí)別進(jìn)程列表之間的矛盾。不出現(xiàn)在用戶級(jí)別進(jìn)程列表中且先前不出現(xiàn)在0/S級(jí)別的進(jìn)程列表中的任何進(jìn)程,可能是隱藏用戶模式進(jìn)程,且因而與惡意軟件相關(guān)聯(lián)的。在步驟3770,可以掃描用戶模式的應(yīng)用和進(jìn)程空間以便發(fā)現(xiàn)存儲(chǔ)器修改。可以檢查共享庫被注入到其中的地址空間的進(jìn)程代碼以便發(fā)現(xiàn)這樣的存儲(chǔ)器修改。在步驟3775可以掃描主控用戶模式進(jìn)程代碼以及數(shù)據(jù)部分的存儲(chǔ)器的部分。在步驟3780,可以修復(fù)任何檢測(cè)到的存儲(chǔ)器修改。在步驟3785,可以重復(fù)步驟3755-3780,直到在0/S級(jí)別下層的進(jìn)程列表和用戶級(jí)別進(jìn)程列表的用戶模式元素之間不存在矛盾。[0494]圖38是用于保護(hù)對(duì)在電子設(shè)備3801上執(zhí)行的操作系統(tǒng)3813的系統(tǒng)調(diào)用的訪問的系統(tǒng)3800的示例實(shí)施例。系統(tǒng)3800可以包括0/S下層捕獲代理3820和已觸發(fā)事件應(yīng)對(duì)程序3822,它們被配置為在電子設(shè)備3801上操作,以便檢測(cè)來自在諸如操作系統(tǒng)3813之類的電子設(shè)備3801的操作系統(tǒng)中運(yùn)行基于軟件的實(shí)體的對(duì)訪問系統(tǒng)調(diào)用和/或系統(tǒng)調(diào)用表的惡意嘗試。此外,0/S下層捕獲代理3820和已觸發(fā)事件應(yīng)對(duì)程序3822可以被配置為使用一個(gè)或多個(gè)安全規(guī)則3808來判斷何時(shí)捕獲對(duì)系統(tǒng)調(diào)用和/或系統(tǒng)調(diào)用表3804的訪問以及如何應(yīng)對(duì)與已捕獲操作相關(guān)聯(lián)的已觸發(fā)事件。0/S下層捕獲代理3820和已觸發(fā)事件應(yīng)對(duì)程序3822可以被配置為對(duì)已觸發(fā)事件進(jìn)行允許、拒絕,或采取其他矯正動(dòng)作。[0495]電子設(shè)備3801可以全部地或部分地由圖1的電子設(shè)備103、圖2的電子設(shè)備204、圖4的電子設(shè)備404、圖7的電子設(shè)備701、圖9的電子設(shè)備901、圖12的電子設(shè)備1201和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。電子設(shè)備3801可以包括被耦合到存儲(chǔ)器3803的一個(gè)或多個(gè)處理器3802。處理器3802可以全部地或部分地由圖2的處理器208、圖4的處理器408、圖7的處理器702、圖9的處理器902、圖12的處理器1202和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。存儲(chǔ)器3803可以全部地或部分地由圖2的存儲(chǔ)器206、圖4的存儲(chǔ)器406、圖7的存儲(chǔ)器703、圖9的存儲(chǔ)器903、圖12的存儲(chǔ)器1203和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。電子設(shè)備3801可以包括操作系統(tǒng)3813,操作系統(tǒng)3813可以包括系統(tǒng)調(diào)用表3804、虛擬存儲(chǔ)器頁面表3806和0/S內(nèi)部安全代理3819。操作系統(tǒng)3813可以全部地或部分地由圖1的操作系統(tǒng)112、圖2的操作系統(tǒng)212、圖4的操作系統(tǒng)412、圖7的操作系統(tǒng)713、圖9的操作系統(tǒng)913、圖12的操作系統(tǒng)1213、和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。0/S內(nèi)部安全代理3819可以全部地或部分地由圖1的0/S內(nèi)部安全代理218、圖4的0/S內(nèi)部安全代理418、圖7的0/S內(nèi)部安全代理719、圖9的0/S內(nèi)部安全代理919、圖12的0/S內(nèi)部安全代理1219和/或其任何合適的組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。安全規(guī)則3808可以是由圖1的安全規(guī)則114、圖2的安全規(guī)則220、222、圖4的安全規(guī)則420、434、436、438、圖5的安全規(guī)則518、圖7的安全規(guī)則707、721、723、圖9的安全規(guī)則908、921、圖12的安全規(guī)則1208、1221和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。保護(hù)服務(wù)器3818可以全部地或部分地由圖1的保護(hù)服務(wù)器102、圖2的保護(hù)服務(wù)器202和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。[0496]0/S下層捕獲代理3820可以由圖1的0/S下層捕獲代理104、圖2的SVMM216、圖4的固件安全代理440、442和/或PC固件安全代理444、圖5的固件安全代理516和/或圖7的微代碼安全代理708、圖9的0/S下層捕獲代理920、圖12的0/S下層安全代理1220和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。已觸發(fā)事件應(yīng)對(duì)程序3822可以由圖1的已觸發(fā)事件應(yīng)對(duì)程序108、圖2的SVMM安全代理217、圖4的0/S下層代理450、圖7的0/S下層代理712、圖9的已觸發(fā)事件應(yīng)對(duì)程序922和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。在各種實(shí)施例中,0/S下層捕獲代理3820的功能性中的一些可以由已觸發(fā)事件應(yīng)對(duì)程序3822實(shí)現(xiàn),和/或已觸發(fā)事件應(yīng)對(duì)程序3822的功能性中的一些可以由0/S下層捕獲代理3820實(shí)現(xiàn)。此外,0/S下層捕獲代理3820和已觸發(fā)事件應(yīng)對(duì)程序3822可以在相同的軟件模塊中實(shí)現(xiàn)。[0497]頁面表3806可以被實(shí)現(xiàn)為數(shù)據(jù)結(jié)構(gòu)且可以被用來實(shí)現(xiàn)操作系統(tǒng)3813的虛擬存儲(chǔ)器系統(tǒng)。虛擬存儲(chǔ)器系統(tǒng)是把對(duì)電子設(shè)備3801的存儲(chǔ)器3803的訪問虛擬化的存儲(chǔ)器管理系統(tǒng)。在虛擬存儲(chǔ)器系統(tǒng)中,給在操作系統(tǒng)3813上執(zhí)行的軟件進(jìn)程提供虛擬地址空間,進(jìn)程可以把該虛擬地址空間看作是連續(xù)的存儲(chǔ)器塊。實(shí)際上,虛擬地址空間可以跨越不同的物理存儲(chǔ)器區(qū)域而散布。在進(jìn)程請(qǐng)求訪問存儲(chǔ)器時(shí)時(shí),操作系統(tǒng)3813可以負(fù)責(zé)把進(jìn)程的虛擬地址映射成數(shù)據(jù)實(shí)際上存儲(chǔ)于其中的存儲(chǔ)器3803的物理地址。虛擬地址空間可以被分割成被稱為虛擬存儲(chǔ)器頁面的固定大小的連續(xù)的虛擬存儲(chǔ)器地址塊。頁面表3806可以被用來存儲(chǔ)從虛擬存儲(chǔ)器頁面到虛擬存儲(chǔ)器頁面存儲(chǔ)在其中的存儲(chǔ)器3803中其相應(yīng)的物理地址的映射。頁面表3806可以包括各種訪問權(quán)限,例如讀、寫和/或執(zhí)行,以便指定對(duì)給定虛擬存儲(chǔ)器頁面授權(quán)的訪問類型。在一些實(shí)施例中,0/S下層捕獲代理3820和/或已觸發(fā)事件應(yīng)對(duì)程序3822可以被配置為捕集任何已產(chǎn)生的異常或已嘗試的讀、寫或執(zhí)行操作并使用安全規(guī)則3808來判斷對(duì)訪問存儲(chǔ)器3803的未經(jīng)授權(quán)的請(qǐng)求是否指示惡意軟件。[0498]系統(tǒng)調(diào)用表3804可以是由操作系統(tǒng)3813用來實(shí)現(xiàn)系統(tǒng)調(diào)用的數(shù)據(jù)結(jié)構(gòu)。系統(tǒng)調(diào)用可以是由操作系統(tǒng)3813提供的例程和/或系統(tǒng)服務(wù)。系統(tǒng)調(diào)用表3804可以提供在應(yīng)用3810和操作系統(tǒng)3813之間的接口,允許應(yīng)用3810請(qǐng)求操作系統(tǒng)3813執(zhí)行未授權(quán)應(yīng)用3810執(zhí)行的操作。可以使用對(duì)系統(tǒng)調(diào)用表3804的索引標(biāo)識(shí)每一系統(tǒng)調(diào)用,系統(tǒng)調(diào)用表3804中,可以存儲(chǔ)特定的系統(tǒng)調(diào)用的條目。系統(tǒng)調(diào)用表3804中的每一條目可以存儲(chǔ)其中可以存儲(chǔ)對(duì)應(yīng)于特定的系統(tǒng)調(diào)用代碼的存儲(chǔ)器3803中的地址。這樣的條目可以被實(shí)現(xiàn)為指針??梢酝ㄟ^向操作系統(tǒng)3813告知適當(dāng)?shù)乃饕碗S后把控制權(quán)傳遞給操作系統(tǒng)3813來執(zhí)行系統(tǒng)調(diào)用。然后,操作系統(tǒng)3813可以查閱系統(tǒng)調(diào)用表3804以便標(biāo)識(shí)其中存儲(chǔ)對(duì)應(yīng)于特定的系統(tǒng)調(diào)用的代碼的存儲(chǔ)器3803中的位置。然后,操作系統(tǒng)3813可以執(zhí)行代碼并把控制權(quán)返回給負(fù)責(zé)請(qǐng)求系統(tǒng)調(diào)用的軟件組件。可以在來自下面的圖39的系統(tǒng)調(diào)用表3901的描述中找到系統(tǒng)調(diào)用表3804的例實(shí)施例的描述。[0499]0/S下層捕獲代理3820可以被配置為截取對(duì)與系統(tǒng)調(diào)用相關(guān)聯(lián)的諸如例如存儲(chǔ)器3803和/或處理器3802的任何合適的資源3816的訪問或來自與系統(tǒng)調(diào)用相關(guān)聯(lián)的任何合適的資源3816的信息。例如,資源3816可以由圖1的資源106、圖2的系統(tǒng)資源214、圖7的系統(tǒng)資源、圖9的處理器資源924、圖12的虛擬存儲(chǔ)器1204和/或物理存儲(chǔ)器1203和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。資源3816可以包括對(duì)諸如處理器3802之類的處理器可用以便允許處理器加載和執(zhí)行指令的資源。這樣的資源可以包括,例如,數(shù)據(jù)寄存器、控制寄存器、高速緩存、處理器標(biāo)志、處理器核心、處理器異常、和/或處理器中斷。資源3816也可以包括虛擬存儲(chǔ)器和/或物理存儲(chǔ)器3803。對(duì)這樣的資源的已嘗試訪問可以包括指令,例如帶有操作數(shù)的匯編語言指令,且可以通過捕獲指令的執(zhí)行來捕獲這樣的嘗試訪問。[0500]0/S下層捕獲代理3820可以被配置為截取對(duì)諸如存儲(chǔ)器3803和/或處理器3802的資源之類的任何合適的資源的訪問或來自任何合適的資源的信息。Ο/s下層捕獲代理3820可以包括可以被用來捕獲對(duì)訪問系統(tǒng)調(diào)用和/或系統(tǒng)調(diào)用表3804的嘗試的系統(tǒng)調(diào)用捕獲器3814。然后,系統(tǒng)調(diào)用捕獲器3814和/或已觸發(fā)事件應(yīng)對(duì)程序3822可以結(jié)合安全規(guī)則3808使用與已捕獲嘗試相關(guān)聯(lián)的上下文信息,以便判斷是否允許嘗試、拒絕嘗試和/或把嘗試報(bào)告給一個(gè)或多個(gè)用戶3812。上下文信息可以包括已捕獲訪問嘗試的請(qǐng)求實(shí)體、所討論的特定系統(tǒng)調(diào)用和/或所嘗試的特定類型的訪問(例如,執(zhí)行系統(tǒng)調(diào)用的嘗試或讀/寫系統(tǒng)調(diào)用表3804中的條目的嘗試)。[0501]系統(tǒng)調(diào)用捕獲器3814可以是0/S下層捕獲代理3820的模塊和/或組件,且可以被配置為以任何合適的方式捕獲對(duì)系統(tǒng)調(diào)用的訪問。例如,系統(tǒng)調(diào)用捕獲器3814可以被配置為捕獲諸如把控制權(quán)傳遞給操作系統(tǒng)3813以供執(zhí)行系統(tǒng)調(diào)用的指令之類的被用來實(shí)現(xiàn)系統(tǒng)調(diào)用的匯編語言指令的執(zhí)行。要捕獲的特定指令可以取決于電子設(shè)備3801的特定處理器3802和/或操作系統(tǒng)3813。作為示例,在使用在支持x86指令集體系結(jié)構(gòu)(“ISA”)的處理器3802上執(zhí)行的微軟Windows?執(zhí)行的變種時(shí),系統(tǒng)調(diào)用捕獲器3814可以捕獲對(duì)執(zhí)行‘SysEnter’和/或‘KiFastSysCall’指令的嘗試。這些指令用于把控制權(quán)傳遞給操作系統(tǒng)3813以便執(zhí)行系統(tǒng)調(diào)用。捕獲對(duì)執(zhí)行‘SysEnter’指令的嘗試可以僅捕獲來自在“3環(huán)”優(yōu)先級(jí)執(zhí)行的軟件的嘗試,而捕獲對(duì)執(zhí)行‘KiFastSysCall’指令的嘗試可以捕獲捕獲來自在“O環(huán)”或“3環(huán)”優(yōu)先級(jí)執(zhí)行的軟件的嘗試。在一些實(shí)施例中,可以通過捕獲對(duì)執(zhí)行對(duì)應(yīng)于特定指令存儲(chǔ)在其中的物理存儲(chǔ)器位置的虛擬存儲(chǔ)器頁面的嘗試來捕獲對(duì)執(zhí)行‘SysEnter’和/或‘KiFastSysCall’指令的嘗試。[0502]在另一實(shí)施例中,系統(tǒng)調(diào)用捕獲器3814可以被配置為捕獲對(duì)訪問系統(tǒng)調(diào)用表3804的嘗試。被用來捕獲對(duì)訪問系統(tǒng)調(diào)用表3804的嘗試的特定方法可以取決于電子設(shè)備3801的特定處理器3802和/或操作系統(tǒng)3813。在使用支持x86ISA的處理器3802時(shí),系統(tǒng)調(diào)用捕獲器3814可以通過捕獲對(duì)執(zhí)行MOV指令的某種嘗試來捕獲對(duì)讀或?qū)懴到y(tǒng)調(diào)用表3804的嘗試。例如,系統(tǒng)調(diào)用捕獲器3814可以通過捕獲指令“MOVsyscall_table_address,EAX”來捕獲對(duì)寫入系統(tǒng)調(diào)用表3804的嘗試。這一指令可以操作為把來自EAX寄存器的值入到在syscall_table_address所指定的存儲(chǔ)器地址處的系統(tǒng)調(diào)用表中的條目。通過捕獲對(duì)寫如系統(tǒng)調(diào)用表3804的嘗試,系統(tǒng)調(diào)用捕獲器3814可以防止惡意軟件用包含惡意代碼的存儲(chǔ)器地址蓋寫系統(tǒng)調(diào)用表3804中的條目。類似地,系統(tǒng)調(diào)用捕獲器3814可以捕獲對(duì)從系統(tǒng)調(diào)用表3804讀取的嘗試,通過捕獲指令“MOVEAX,syscall_table_address”。這一指令可以操作為從在syscall_table_address所指定的存儲(chǔ)器地址處的系統(tǒng)調(diào)用表3804中的條目讀取值。捕獲對(duì)讀取系統(tǒng)調(diào)用表3804中的條目的嘗試將有效地捕獲對(duì)執(zhí)行與系統(tǒng)調(diào)用表3804中的條目相關(guān)聯(lián)的系統(tǒng)調(diào)用的所有嘗試,這是由于必須讀取系統(tǒng)調(diào)用表3804才能允許操作系統(tǒng)3813標(biāo)識(shí)在對(duì)應(yīng)于系統(tǒng)調(diào)用的代碼存儲(chǔ)器中的位置。另外,捕獲對(duì)讀取系統(tǒng)調(diào)用表3804中的條目的嘗試將捕獲例如惡意軟件對(duì)讀取系統(tǒng)調(diào)用表3804的任何直接嘗試。在一些實(shí)施例中,捕獲對(duì)讀取系統(tǒng)調(diào)用表3804的所有嘗試。在一些實(shí)施例中,可以通過捕獲對(duì)訪問對(duì)應(yīng)于系統(tǒng)調(diào)用表3804存儲(chǔ)在其中的物理存儲(chǔ)器位置的虛擬存儲(chǔ)器頁面的嘗試來捕獲對(duì)訪問系統(tǒng)調(diào)用表3804的嘗試。[0503]在又一實(shí)施例中,通過捕獲對(duì)執(zhí)行在系統(tǒng)調(diào)用的代碼駐留在其中的存儲(chǔ)器位置處的代碼的嘗試,系統(tǒng)調(diào)用捕獲器3814可以被配置為捕獲對(duì)執(zhí)行系統(tǒng)調(diào)用的嘗試??梢圆樵兿到y(tǒng)調(diào)用表3804,以便標(biāo)識(shí)特定系統(tǒng)調(diào)用的代碼駐留在其中的存儲(chǔ)器位置。被用來捕獲對(duì)執(zhí)行系統(tǒng)調(diào)用的嘗試的特定方法可以取決于電子設(shè)備3801中的處理器3802的類型。在一個(gè)實(shí)施例中,可以使用基于例如指令指針(IP)寄存器的值的觸發(fā)器捕獲對(duì)執(zhí)行系統(tǒng)調(diào)用的嘗試。在一些實(shí)施例中,IP寄存器可以被稱為程序計(jì)數(shù)器(PC)寄存器。取決于具體的處理器,IP寄存器可以被用來存儲(chǔ)當(dāng)前正在執(zhí)行的指令的地址或的接下來要執(zhí)行的指令地址。在使用支持X86ISA的處理器3802時(shí),通過監(jiān)視IP寄存器的值以及在在IP寄存器的值包含系統(tǒng)調(diào)用的地址時(shí)捕獲執(zhí)行,系統(tǒng)調(diào)用捕獲器3814可以捕獲對(duì)執(zhí)行特定的系統(tǒng)調(diào)用的嘗試。在另一實(shí)施例中,通過捕獲對(duì)執(zhí)行對(duì)應(yīng)于系統(tǒng)調(diào)用的代碼存儲(chǔ)在其中的物理存儲(chǔ)器位置的虛擬存儲(chǔ)器頁面的嘗試,可以捕獲對(duì)執(zhí)行系統(tǒng)調(diào)用的嘗試??梢栽趯?duì)應(yīng)于要捕獲的特定的系統(tǒng)調(diào)用的索引處查詢系統(tǒng)調(diào)用表3804,以便標(biāo)識(shí)對(duì)應(yīng)于系統(tǒng)調(diào)用的代碼在存儲(chǔ)器中的位置。在一個(gè)實(shí)施例中,可以通過捕獲用于傳遞控制的指令(例如被定向到已知是在系統(tǒng)調(diào)用表3804內(nèi)的位置的“JMP”例程)來捕獲包含被鏈接到系統(tǒng)調(diào)用表3804的例程和函數(shù)的存儲(chǔ)器位置的執(zhí)行。[0504]用于捕獲對(duì)系統(tǒng)調(diào)用和系統(tǒng)調(diào)用表3804的訪問的上面的方法的具體實(shí)現(xiàn)可以取決于Ο/s下層捕獲代理3820和/或系統(tǒng)調(diào)用捕獲器3814的具體實(shí)現(xiàn)。例如,如果在虛擬機(jī)監(jiān)視器中實(shí)現(xiàn)0/S下層捕獲代理3820和/或系統(tǒng)調(diào)用捕獲器3814,則基于特定存儲(chǔ)器地址的任何捕獲(例如,基于對(duì)讀/寫系統(tǒng)調(diào)用表中的條目的捕獲和/或基于在包含系統(tǒng)調(diào)用的代碼的存儲(chǔ)器位置處執(zhí)行的捕獲)嘗試可以基于虛擬存儲(chǔ)器地址,這是由于可能還沒有把存儲(chǔ)器地址從虛擬存儲(chǔ)器地址轉(zhuǎn)換成物理存儲(chǔ)器地址。作為另一示例,如果在微代碼安全代理中實(shí)現(xiàn)Ο/s下層捕獲代理3820和/或系統(tǒng)調(diào)用捕獲器3814,則基于特定存儲(chǔ)器地址的任何捕獲可以基于物理存儲(chǔ)器地址,因?yàn)榭赡芤呀?jīng)在微代碼級(jí)別執(zhí)行從虛擬地址到物理地址的轉(zhuǎn)換。[0505]在捕獲嘗試期間,可以檢測(cè)做出對(duì)訪問系統(tǒng)調(diào)用表3804或與系統(tǒng)調(diào)用表3804相關(guān)聯(lián)的函數(shù)的嘗試的指令的存儲(chǔ)器位置??梢苑治鲈摯鎯?chǔ)器位置以便判斷做出嘗試的實(shí)體。[0506]在捕獲特定的嘗試之后,系統(tǒng)調(diào)用捕獲器3814可以創(chuàng)建與嘗試相關(guān)聯(lián)的已觸發(fā)事件并將其發(fā)送給已觸發(fā)事件應(yīng)對(duì)程序3822。然后,已觸發(fā)事件應(yīng)對(duì)程序可以結(jié)合安全規(guī)則3808使用與已捕獲事件相關(guān)聯(lián)的上下文信息來判斷是否允許該事件、拒絕該事件和/或把該事件報(bào)告給一個(gè)或多個(gè)用戶3812。上下文信息可以包括已捕獲事件的請(qǐng)求實(shí)體、所討論的特定系統(tǒng)調(diào)用和/或所請(qǐng)求的動(dòng)作(例如,對(duì)執(zhí)行系統(tǒng)調(diào)用的嘗試和/或?qū)ψx/寫系統(tǒng)調(diào)用表3804中的條目的嘗試)。例如,可以僅允許已知是安全的和免遭惡意軟件的某些實(shí)體寫入系統(tǒng)調(diào)用表3804?;趯?duì)寫入系統(tǒng)調(diào)用表3804的未經(jīng)授權(quán)的嘗試,可以判斷先前未知其惡意軟件狀態(tài)的實(shí)體是惡意軟件。在另一示例中,可以捕獲鏈接到系統(tǒng)調(diào)用表3804的函數(shù)的執(zhí)行,且僅當(dāng)做出對(duì)函數(shù)的調(diào)用的實(shí)體通過系統(tǒng)調(diào)用表3804做出這樣的嘗試時(shí)允許該執(zhí)行??梢跃芙^先前未知其惡意軟件狀態(tài)的實(shí)體對(duì)執(zhí)行這樣的函數(shù)的直接訪問的嘗試。另外,可以拒絕通過黑名單或其他判斷被判斷為惡意軟件的、嘗試訪問系統(tǒng)調(diào)用表3804或其相關(guān)的函數(shù)的實(shí)體的訪問,且可以采取其他合適的矯正動(dòng)作。[0507]用戶3812可以包括供與和對(duì)訪問系統(tǒng)調(diào)用表3804的已捕獲嘗試和/或?qū)?zhí)行系統(tǒng)調(diào)用的已捕獲嘗試相關(guān)聯(lián)的信息一起使用的任何實(shí)體。用戶3812可以包括電子設(shè)備3801的應(yīng)用3810和/或安全代理,和/或可以包括第三方應(yīng)用或其他軟件。例如,用戶3812可以包括在電子設(shè)備3801上執(zhí)行的安全軟件,例如0/S下層捕獲代理3820、已觸發(fā)事件應(yīng)對(duì)程序3822和/或0/S內(nèi)部安全代理3819,它們可以把與已捕獲嘗試相關(guān)聯(lián)的上下文信息用于檢測(cè)惡意軟件。在一些實(shí)施例中,每一用戶3812可以提供在與0/S下層捕獲代理3820相同的優(yōu)先級(jí)水平操作的其自己的安全代理,諸如例如固件安全代理。用戶3812也可以包括遠(yuǎn)程地執(zhí)行例如在保護(hù)服務(wù)器3818上執(zhí)行的安全軟件。作為另一示例,用戶3812可以包括特定資源的制造者,例如由電子設(shè)備3801使用的任何I/O設(shè)備。制造者可以對(duì)經(jīng)由對(duì)系統(tǒng)調(diào)用表的訪問和/或諸如與資源相關(guān)聯(lián)的系統(tǒng)調(diào)用之類的系統(tǒng)調(diào)用的執(zhí)行來危害資源的任何可疑嘗試感興趣。作為另一示例,用戶3812可以包括數(shù)字權(quán)限管理(“DRM”)系統(tǒng)的管理員。DRM系統(tǒng)可以限制和/或控制數(shù)字內(nèi)容的使用,且通常被用來保護(hù)受版權(quán)保護(hù)的數(shù)字內(nèi)容,例如視頻和/或音樂內(nèi)容。DRM系統(tǒng)的管理員可以對(duì)知道何時(shí)和如何訪問各種數(shù)字受保護(hù)文件感興趣,且可以通過跟蹤可以被用來訪問受保護(hù)文件的各種系統(tǒng)調(diào)用來實(shí)現(xiàn)這一點(diǎn)。可以給用戶3812提供應(yīng)用程序編程接口(“API”),以便允許用戶3812訪問與對(duì)執(zhí)行系統(tǒng)調(diào)用的已捕獲嘗試和/或?qū)υL問系統(tǒng)調(diào)用表3804的已捕獲嘗試相關(guān)聯(lián)的信息。[0508]圖39是供與保護(hù)對(duì)操作系統(tǒng)的系統(tǒng)調(diào)用的訪問的系統(tǒng)和/或方法一起使用的系統(tǒng)調(diào)用表3901的示例實(shí)施例。系統(tǒng)調(diào)用表3901可以被操作系統(tǒng)用來把地址3906存儲(chǔ)在每一系統(tǒng)調(diào)用3904的代碼所駐留的存儲(chǔ)器3908中。例如,可以使用系統(tǒng)調(diào)用表3901來實(shí)現(xiàn)圖38的系統(tǒng)調(diào)用表3804的功能性。系統(tǒng)調(diào)用表3901可以由表、記錄和/或其他合適的數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)。在帶有微軟Windows?操作系統(tǒng)的變種的實(shí)施例中,系統(tǒng)調(diào)用表3901可以由系統(tǒng)服務(wù)描述符表(“SSDT”)實(shí)現(xiàn)。系統(tǒng)調(diào)用3904可以是操作系統(tǒng)提供的例程和/或系統(tǒng)服務(wù)。典型的系統(tǒng)調(diào)用3904可以包括,例如,用于操作和/或執(zhí)行文件的打開、讀、寫、關(guān)閉和/或執(zhí)行、用于創(chuàng)建新的進(jìn)程的ntCreateProcess和/或用于加載新的驅(qū)動(dòng)程序的ntLoadDriver和ZwLoadDriver0[0509]系統(tǒng)調(diào)用3904可以提供在應(yīng)用和操作系統(tǒng)之間的接口,這允許應(yīng)用請(qǐng)求操作系統(tǒng)執(zhí)行未授權(quán)該應(yīng)用執(zhí)行的操作。例如,通常在“3環(huán)”優(yōu)先級(jí)執(zhí)行的應(yīng)用可能需要訪問盤上的文件但不擁有執(zhí)行盤I/O操作的權(quán)限。該應(yīng)用可以使用諸如讀或?qū)懳募到y(tǒng)調(diào)用之類的系統(tǒng)調(diào)用3904來把控制權(quán)傳遞給操作系統(tǒng),以便允許操作系統(tǒng)滿足來自該應(yīng)用的請(qǐng)求??梢栽凇癘環(huán)”優(yōu)先級(jí)執(zhí)行的操作系統(tǒng)可以提供與特定的系統(tǒng)調(diào)用3904相關(guān)聯(lián)的服務(wù),且然后可以把控制權(quán)傳遞回去給該應(yīng)用。例如,操作系統(tǒng)可以訪問系統(tǒng)調(diào)用表3901以便標(biāo)識(shí)標(biāo)識(shí)對(duì)應(yīng)于系統(tǒng)調(diào)用3904的代碼位于其中的存儲(chǔ)器地址3906。然后,操作系統(tǒng)可以執(zhí)行在存儲(chǔ)器3908中的指定地址3906處的代碼,且然后,可以把控制權(quán)傳遞回去給該應(yīng)用。以這種方式,該應(yīng)用可以利用通常僅對(duì)諸如操作系統(tǒng)之類的在“O環(huán)”優(yōu)先級(jí)執(zhí)行的軟件可用的某些服務(wù)。[0510]可以使用索引3902來把每一系統(tǒng)調(diào)用3904引用到其中存儲(chǔ)有系統(tǒng)調(diào)用3904的條目的系統(tǒng)調(diào)用表3901中。例如,系統(tǒng)調(diào)用表3901總共由N個(gè)條目,且使用在O到N-1范圍內(nèi)的索引3902來引用每一條目。通過向操作系統(tǒng)告知適當(dāng)?shù)乃饕?902并把控制權(quán)傳遞給操作系統(tǒng),可以執(zhí)行系統(tǒng)調(diào)用3904。在一些實(shí)施例中,軟件組件可以通過把索引放置到處理器的寄存器中來指定適當(dāng)?shù)乃饕?902,且然后可以執(zhí)行指令以便把控制權(quán)傳遞給操作系統(tǒng),以供執(zhí)行系統(tǒng)調(diào)用3904。例如,在一個(gè)實(shí)施例中,使用x86指令集體系結(jié)構(gòu)(“ISA”),可以使用下列指令來為應(yīng)用實(shí)現(xiàn)系統(tǒng)調(diào)用:[0511]“MOVEAX,index”[0512]“SysEnter”[0513]第一指令把“index(索引)”移動(dòng)到處理器的EAX寄存器中,其中'index'是對(duì)應(yīng)于特定的系統(tǒng)調(diào)用3904的條目駐留在其中的系統(tǒng)調(diào)用表3901中的索引3902的整數(shù)。然后,,SysEnter/指令把控制權(quán)傳遞給操作系統(tǒng),且操作系統(tǒng)可以訪問在EAX寄存器中所指定的索引3902處的系統(tǒng)調(diào)用表3901。系統(tǒng)調(diào)用表3901的特定索引3902處的條目可以指定存儲(chǔ)器地址3906,存儲(chǔ)器地址3906指向特定的系統(tǒng)調(diào)用3904的代碼駐留在其中的存儲(chǔ)器3908中的位置。然后,處理器可以執(zhí)行位于存儲(chǔ)器3908中的指定地址3906的代碼。系統(tǒng)調(diào)用3904可以由包括應(yīng)用、操作系統(tǒng)和/或驅(qū)動(dòng)程序的任何軟件組件執(zhí)行。作為X86ISA上的示例,操作系統(tǒng)和/或驅(qū)動(dòng)程序可以以類似于應(yīng)用的方式執(zhí)行系統(tǒng)調(diào)用3904,所不同的是使用'KiFastSysCair指令。[0514]可以向系統(tǒng)調(diào)用表3901添加和/或從中移除系統(tǒng)調(diào)用3904。例如,如果把新設(shè)備添加到電子設(shè)備,則需要操作系統(tǒng)加載新設(shè)備的設(shè)備驅(qū)動(dòng)程序,且需要把系統(tǒng)調(diào)用3904添加到系統(tǒng)調(diào)用表3901,以便允許應(yīng)用利用新設(shè)備的功能性??梢园研碌南到y(tǒng)調(diào)用的代碼加載到存儲(chǔ)器3908中,且可以把新的系統(tǒng)調(diào)用3904的條目添加到系統(tǒng)調(diào)用表3901的末尾,指定系統(tǒng)調(diào)用的代碼駐留在其中的存儲(chǔ)器3908中的地址3906。[0515]上面所描述的用于實(shí)現(xiàn)系統(tǒng)調(diào)用3904的實(shí)施例僅僅是多種可能的實(shí)施例中的一些。系統(tǒng)調(diào)用3904和/或系統(tǒng)調(diào)用表3901可以以任何合適的方式實(shí)現(xiàn)。系統(tǒng)調(diào)用3904和/或系統(tǒng)調(diào)用表3901的具體實(shí)現(xiàn)可以取決于電子設(shè)備的特定的處理器和/或操作系統(tǒng)。[0516]圖40是用于保護(hù)對(duì)在電子設(shè)備上執(zhí)行的操作系統(tǒng)的系統(tǒng)調(diào)用的訪問的方法4000的示例實(shí)施例。在步驟4005,可以認(rèn)證0/S下層安全代理、0/S內(nèi)部安全代理、已觸發(fā)事件應(yīng)對(duì)程序和保護(hù)服務(wù)器的身份和安全??梢允褂萌魏魏线m的方法來執(zhí)行這樣的認(rèn)證,包括通過定位和檢驗(yàn)每一組件的存儲(chǔ)器中的映像、使用密碼散列和/或使用密鑰。直到步驟4005完成之前,可以停止其他步驟的操作。在步驟4010獲得安全規(guī)則。安全規(guī)則可以由0/S下層安全代理、0/S內(nèi)部安全代理和/或已觸發(fā)事件應(yīng)對(duì)程序本地存儲(chǔ),和/或可以遠(yuǎn)程存儲(chǔ),例如在保護(hù)服務(wù)器上。這樣的安全規(guī)則可以被用來在步驟4015-4040做出判定。[0517]在步驟4015,可以截取對(duì)執(zhí)行系統(tǒng)調(diào)用和/或訪問系統(tǒng)調(diào)用表的嘗試。在一些實(shí)施例中,可以通過捕獲對(duì)執(zhí)行被用來實(shí)現(xiàn)系統(tǒng)調(diào)用的控制權(quán)傳遞指令的嘗試來截取對(duì)執(zhí)行系統(tǒng)調(diào)用的嘗試。例如,一些處理器和/或操作系統(tǒng)可以使用諸如SysEnter和/或KiFastSysCall指令之類的控制權(quán)傳遞指令來實(shí)現(xiàn)系統(tǒng)調(diào)用,并且,可以通過捕獲適當(dāng)?shù)目刂茩?quán)傳遞指令的執(zhí)行來截取對(duì)執(zhí)行系統(tǒng)調(diào)用的嘗試。也可以通過捕獲對(duì)執(zhí)行對(duì)應(yīng)于特定的控制權(quán)傳遞指令存儲(chǔ)在其中的物理存儲(chǔ)器位置的虛擬存儲(chǔ)器頁面的嘗試來截取對(duì)執(zhí)行系統(tǒng)調(diào)用的嘗試。在一些實(shí)施例中,可以通過捕獲對(duì)執(zhí)行包含系統(tǒng)調(diào)用的代碼的存儲(chǔ)器位置處的代碼的嘗試來截取對(duì)執(zhí)行系統(tǒng)調(diào)用的嘗試。在這樣的實(shí)施例中,捕獲可以基于IP寄存器的值。例如,可以查詢系統(tǒng)調(diào)用表或存儲(chǔ)器映射,以便標(biāo)識(shí)包含系統(tǒng)調(diào)用的代碼的存儲(chǔ)器位置,并且在IP寄存器包含特定的系統(tǒng)調(diào)用的存儲(chǔ)器位置的地址時(shí)可以發(fā)生捕獲。在其他實(shí)施例中,可以通過捕獲對(duì)執(zhí)行對(duì)應(yīng)于特定的系統(tǒng)調(diào)用的代碼存儲(chǔ)在其中的物理存儲(chǔ)器位置的虛擬存儲(chǔ)器頁面的嘗試,可以截取對(duì)執(zhí)行系統(tǒng)調(diào)用的嘗試。在一些實(shí)施例中,也可以截取對(duì)讀或?qū)懴到y(tǒng)調(diào)用表的嘗試。在這樣的實(shí)施例中,可以通過捕獲用來讀或?qū)懴到y(tǒng)調(diào)用表中的存儲(chǔ)器位置的指令的執(zhí)行來截取該嘗試。例如,在x86指令集體系結(jié)構(gòu)上,在使用MOV指令來讀或?qū)懴到y(tǒng)調(diào)用表中的位置時(shí),可以捕獲MOV指令。在一些實(shí)施例中,通過捕獲對(duì)訪問對(duì)應(yīng)于系統(tǒng)調(diào)用表存儲(chǔ)在其中的物理存儲(chǔ)器位置的虛擬存儲(chǔ)器頁面的嘗試,也可以截取對(duì)讀或?qū)懴到y(tǒng)調(diào)用表的嘗試。[0518]在步驟4020,標(biāo)識(shí)已嘗試訪問的源。例如,已嘗試訪問可以來自應(yīng)用,驅(qū)動(dòng)程序、0/S內(nèi)部安全代理、操作系統(tǒng)和/或其他軟件實(shí)體。在步驟4025,判斷該嘗試是否得到授權(quán)??梢越Y(jié)合與該嘗試相關(guān)聯(lián)的上下文信息使用安全規(guī)則來判斷可以還是不可以授權(quán)特定的嘗試。上下文信息可以包括已嘗試訪問的源和/或訪問的具體類型。例如,安全規(guī)則可以指定,僅操作系統(tǒng)可以寫入系統(tǒng)調(diào)用表。作為另一示例,安全規(guī)則可以指定,帶簽名的驅(qū)動(dòng)程序或與條目相關(guān)聯(lián)的其他軟件組件可以寫其自己的條目。如果嘗試得到授權(quán),那么,在步驟4030允許訪問。如果嘗試未得到授權(quán),那么,在步驟4035拒絕訪問。最終,在步驟4040,判斷是否應(yīng)當(dāng)把該嘗試報(bào)告給一個(gè)或多個(gè)用戶。是否應(yīng)當(dāng)報(bào)告嘗試可以取決于所討論的具體系統(tǒng)調(diào)用和與已嘗試訪問相關(guān)聯(lián)的上下文信息。安全規(guī)則可以指定何時(shí)應(yīng)把對(duì)執(zhí)行系統(tǒng)調(diào)用和/或訪問系統(tǒng)調(diào)用表的嘗試報(bào)告給一個(gè)或多個(gè)用戶。[0519]根據(jù)保護(hù)存儲(chǔ)設(shè)備的要求,可以連續(xù)地、周期性地、根據(jù)需求或在事件觸發(fā)時(shí)重復(fù)來自圖40的方法的步驟。[0520]圖41是用于調(diào)節(jié)和控制電子設(shè)備4104上的惡意的或潛在惡意的代碼的系統(tǒng)4100的示例實(shí)施例。例如,系統(tǒng)4100可以被用于調(diào)節(jié)和控制電子設(shè)備4104上的自修改代碼。系統(tǒng)4100可以包括被配置為在電子設(shè)備4104上操作以便防備惡意軟件自修改自身以便逃避檢測(cè)的嘗試的0/S下層安全代理4116。作為另一示例,系統(tǒng)4100可以被用于修改電子設(shè)備4104上的惡意代碼。系統(tǒng)4100可以包括0/S下層安全代理4116被配置為在電子設(shè)備4104上操作以便修改惡意代碼從而使得所檢測(cè)到的惡意軟件失效。作為進(jìn)一步的示例,系統(tǒng)4100可以被用于監(jiān)視和跟蹤線程以便標(biāo)識(shí)包括潛在惡意的代碼的線程族。系統(tǒng)4100可以包括0/S下層安全代理4116被配置為在電子設(shè)備4104上操作以便監(jiān)視和跟蹤在各線程當(dāng)中關(guān)系。[0521]此外,0/S下層安全代理4116可以被配置為使用一個(gè)或多個(gè)安全規(guī)則4122來判斷捕獲什么已嘗試操作以及如何響應(yīng)這樣的已捕獲操作。Ο/s下層安全代理4116可以被配置為允許已捕獲操作、拒絕已捕獲操作或?qū)σ巡东@操作采取其他矯正動(dòng)作。[0522]如圖4100中所示出,電子設(shè)備4104可以包括被耦合到存儲(chǔ)器的4108處理器4106、操作系統(tǒng)4112、0/S下層安全代理4116和安全規(guī)則4122。電子設(shè)備4104可以全部地或部分地由圖1的電子設(shè)備103、圖2的電子設(shè)備204、圖4的電子設(shè)備404、圖7的電子設(shè)備701、圖9的電子設(shè)備901、圖12的電子設(shè)備1201和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。處理器4106可以全部地或部分地由圖2的處理器208,圖4的處理器408,圖7的處理器702,圖9的處理器902,圖12的處理器1202和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。存儲(chǔ)器4108可以全部地或部分地由圖2的存儲(chǔ)器206、圖4的存儲(chǔ)器406、圖7的存儲(chǔ)器703、圖9的存儲(chǔ)器903、圖12的物理存儲(chǔ)器1203或虛擬存儲(chǔ)器和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。操作系統(tǒng)4112可以全部地或部分地由圖1的操作系統(tǒng)112、圖2的操作系統(tǒng)212、圖4的操作系統(tǒng)412、圖7的操作系統(tǒng)713、圖9的操作系統(tǒng)913、圖12的操作系統(tǒng)1213和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。0/S下層安全代理4116全部地或部分地由圖1的0/S下層捕獲代理104、圖2的SVMM安全代理217或SVMM216、圖4的固件安全代理440、442、PC固件安全代理444或0/S系統(tǒng)下層代理450、圖5的固件安全代理516、圖7的微代碼安全代理708、圖9的0/S下層捕獲代理920、圖12的0/S下層安全代理1220和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。安全規(guī)則4122可以由圖1的安全規(guī)則114、圖2的安全規(guī)則222、圖4的安全規(guī)則434、436、438、圖5的安全規(guī)則518、或圖7的安全規(guī)則707、723、圖9的安全規(guī)則908、圖12的安全規(guī)則1208和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性??梢砸匀魏魏线m的方式建立安全規(guī)則4122(例如,由電子設(shè)備4104的用戶設(shè)置的政策、由包括電子設(shè)備4104的企業(yè)的管理員設(shè)置的政策、由0/S下層安全代理4116的創(chuàng)建者設(shè)置的政策等等)。在一些實(shí)施例中,0/S下層安全代理4116可以經(jīng)由網(wǎng)絡(luò)244請(qǐng)求和/或接收來自保護(hù)服務(wù)器202的對(duì)安全規(guī)則4122的更新或修改(例如,由于對(duì)惡意軟件定義的更新)。[0523]操作系統(tǒng)4112可以包括0/S內(nèi)部安全代理4118。0/S內(nèi)部安全代理4118可以全部地或部分地由圖2的0/S內(nèi)部安全代理218、圖4的0/S內(nèi)部安全代理418、圖7的0/S內(nèi)部安全代理718、圖9的0/S內(nèi)部安全代理919、0/S內(nèi)部安全代理1219和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。[0524]如圖41中所示出,存儲(chǔ)器4108可以包括權(quán)限標(biāo)志4136和歷史4140。權(quán)限標(biāo)志4136可以維護(hù)標(biāo)志、變量或建立與被存儲(chǔ)在存儲(chǔ)器4108中的內(nèi)容相關(guān)的權(quán)限的其他數(shù)據(jù)。例如,權(quán)限標(biāo)志4136可以指示,對(duì)于存儲(chǔ)器4108的特定的位置(例如,頁面或地址),在電子設(shè)備4104上執(zhí)行的實(shí)體是否可以讀、寫和/或執(zhí)行被存儲(chǔ)在特定位置的內(nèi)容。在一些實(shí)施例中,可以在存儲(chǔ)器4108的頁面表?xiàng)l目(PTE)和/或頁面目錄條目(PDE)中實(shí)現(xiàn)權(quán)限標(biāo)志4136。權(quán)限標(biāo)志4136可以被存儲(chǔ)在特定存儲(chǔ)器位置(例如,頁面或地址范圍)。[0525]歷史4140可以包括日志、列表、高速緩存和/或用于記錄已捕獲的已嘗試訪問和與已捕獲的已嘗試訪問相關(guān)聯(lián)的信息(例如,已嘗試訪問的類型、與已捕獲已嘗試訪問相關(guān)聯(lián)的存儲(chǔ)器位置等等)的其他合適的數(shù)據(jù)結(jié)構(gòu)。為了防止惡意軟件嘗試經(jīng)由對(duì)歷史4140的嘗試惡意訪問規(guī)避0/S下層安全代理4116的有效性,可以根據(jù)在此描述為用于保護(hù)存儲(chǔ)器的一種或多種方法來保護(hù)歷史4140的內(nèi)容免遭已嘗試訪問。例如,0/S下層安全代理4116可以捕獲不同于0/S下層安全代理4116的實(shí)體對(duì)歷史4140駐留在其中的存儲(chǔ)器頁面或存儲(chǔ)器地址范圍的已嘗試訪問,并拒絕這樣的已捕獲的已嘗試訪問。[0526]如上所述,0/S下層安全代理4116可以基于安全規(guī)則4122檢測(cè)惡意代碼的存在。0/S下層安全代理4116可以經(jīng)由以上所描述的任何方法和/或以任何其他合適的方式檢測(cè)惡意代碼的存在。例如,0/S下層安全代理4116可以通過捕獲對(duì)存儲(chǔ)器4108或電子設(shè)備4104的其他資源的訪問檢測(cè)惡意代碼的存在。作為另一示例,0/S下層安全代理4116可以通過掃描存儲(chǔ)器4108的頁面和/或存儲(chǔ)4126以便發(fā)現(xiàn)惡意代碼來檢測(cè)惡意代碼的存在。作為進(jìn)一步的示例,0/S下層安全代理4116可以通過從0/S內(nèi)部安全代理4118接收0/S內(nèi)部安全代理4118已經(jīng)檢測(cè)到惡意代碼的存在的通信來檢測(cè)惡意代碼在存儲(chǔ)器中的存在。[0527]尤其,0/S下層安全代理4116可以基于安全規(guī)則4122捕獲對(duì)存儲(chǔ)器的一個(gè)或多個(gè)已嘗試訪問,這些已嘗試訪問可以單獨(dú)地或整體地指示自修改惡意軟件的存在。作為示例,對(duì)權(quán)限標(biāo)志4136中所陳述的存儲(chǔ)器位置的權(quán)限的改變(例如,從讀改變成讀/寫或從讀/寫改變成讀/寫/執(zhí)行)可以(例如,單獨(dú)地或與其他已嘗試存儲(chǔ)器訪問一起整體地)指示惡意軟件的存在。因此,0/S下層安全代理4116可以捕獲一就被檢測(cè)改變to權(quán)限標(biāo)志4136。例如,在一些實(shí)施例中,0/S下層安全代理4116可以根據(jù)安全規(guī)則4122捕獲對(duì)包括權(quán)限標(biāo)志4136的存儲(chǔ)器4106的位置(例如,頁面或地址)的已嘗試訪問。在相同的或替代的實(shí)施例中,0/S下層安全代理4116可以根據(jù)安全規(guī)則4122捕獲對(duì)包括操作系統(tǒng)4112的用于修改存儲(chǔ)器權(quán)限(例如,MiSetProtectionOnSection,AllocateVirtualMemoryO,MiProtectVirtualMemoryO和/或Windows?中的其他合適的函數(shù)調(diào)用)的調(diào)用和/或函數(shù)的存儲(chǔ)器4108的位置(例如,頁面或地址)的和/或包括操作系統(tǒng)4112的相應(yīng)權(quán)限標(biāo)志(例如,NTProtectVirtualMemory,ZwProtectVirtualMemory,ProtectVirtualMemory^P/或Windows?中的其他合適的標(biāo)志)的存儲(chǔ)器4108的位置(例如,頁面或地址)的已嘗試訪問。[0528]作為另一示例,把內(nèi)容從存儲(chǔ)器4106的一個(gè)位置復(fù)制到另一位置可以指示(例如,單獨(dú)地或與其他已嘗試存儲(chǔ)器訪問一起整體地)惡意軟件的存在。因此,Ο/s下層安全代理4116可以捕獲與在存儲(chǔ)器位置之間復(fù)制內(nèi)容相關(guān)聯(lián)的已嘗試訪問。例如,在一些實(shí)施例中,0/S下層安全代理4116可以根據(jù)安全規(guī)則4122捕獲用于把內(nèi)容從存儲(chǔ)器的一個(gè)位置復(fù)制到另一位置的處理器函數(shù)。在相同的或替代的實(shí)施例中,Ο/s下層安全代理4116可以根據(jù)安全規(guī)則4122捕獲對(duì)包括用于操作系統(tǒng)4112的復(fù)制數(shù)據(jù)的調(diào)用和/或函數(shù)例如Windows?中的MemUICopy函數(shù)的存儲(chǔ)器4108的位置(例如,頁面或地址)的已嘗試訪問。[0529]作為進(jìn)一步的示例,被存儲(chǔ)在存儲(chǔ)器4106中的內(nèi)容的修改或“就地寫入(writing-1n-place)”可以(例如,單獨(dú)地或與其他已嘗試存儲(chǔ)器訪問一起整體地)指示惡意軟件的存在。因此,0/S下層安全代理4116可以捕獲與存儲(chǔ)器4108中的內(nèi)容的就地寫入相關(guān)聯(lián)的已嘗試訪問。例如,在一些實(shí)施例中,0/S下層安全代理4116可以根據(jù)安全規(guī)則4122捕獲用于就地修改存儲(chǔ)器4108中的內(nèi)容的處理器函數(shù)。在相同的或替代的實(shí)施例中,0/S下層安全代理4116可以根據(jù)安全規(guī)則4122捕獲對(duì)包括操作系統(tǒng)4112的用于就地修改內(nèi)容的調(diào)用和/或函數(shù)的存儲(chǔ)器4108中的位置(例如,頁面或地址)的已嘗試訪問。[0530]作為進(jìn)一步的示例,被存儲(chǔ)在存儲(chǔ)器中的經(jīng)復(fù)制或經(jīng)修改內(nèi)容的執(zhí)行可以(例如,單獨(dú)地或與其他已嘗試存儲(chǔ)器訪問一起整體地)指示惡意軟件的存在。因此,ο/s下層安全代理4116可以捕獲與存儲(chǔ)器4108中的內(nèi)容的執(zhí)行相關(guān)聯(lián)的已嘗試訪問。例如,在一些實(shí)施例中,0/S下層安全代理4116可以根據(jù)安全規(guī)則4122捕獲用于執(zhí)行存儲(chǔ)器4108中的內(nèi)容的處理器函數(shù)。在相同的或替代的實(shí)施例中,0/S下層安全代理4116可以根據(jù)安全規(guī)則4122捕獲對(duì)包括用于執(zhí)行內(nèi)容的的操作系統(tǒng)4112的調(diào)用和/或函數(shù)的存儲(chǔ)器4108的位置(例如,頁面或地址)的已嘗試訪問。[0531]作為進(jìn)一步的示例,把內(nèi)容加載到存儲(chǔ)器中可以(例如,單獨(dú)地或與其他已嘗試存儲(chǔ)器訪問一起整體地)指示惡意軟件的存在。因此,Ο/s下層安全代理4116可以捕獲與把代碼加載到存儲(chǔ)器4108中相關(guān)聯(lián)的已嘗試訪問。例如,在一些實(shí)施例中,0/S下層安全代理4116可以根據(jù)安全規(guī)則4122捕獲用于把代碼加載到存儲(chǔ)器4108中的處理器函數(shù)或系統(tǒng)函數(shù)。0/S下層安全代理4116可以被配置為確定用于把代碼加載到存儲(chǔ)器4108中的安全的或規(guī)范的方法,例如操作系統(tǒng)加載器??梢詼y(cè)試或映射這樣的安全的或規(guī)范的方法,以使得操作系統(tǒng)4112所采用的邏輯或步驟可以是已知的。一旦捕獲對(duì)把代碼加載到存儲(chǔ)器4108中的嘗試,0/S下層安全代理4116可以判斷這樣的嘗試是否匹配用于加載代碼的已知方法。例如,如果該嘗試涉及把代碼加載到存儲(chǔ)器的已分配部分,并嘗試通過用直接寫存儲(chǔ)器回避操作系統(tǒng)加載器來這樣做,則可以判斷該嘗試是惡意的。[0532]如果包含代碼的頁面或存儲(chǔ)器范圍已經(jīng)被修改,則0/S下層安全代理4116可以被配置為跟蹤修改。如果允許繼續(xù)執(zhí)行,則可以跟蹤和記錄已修改代碼的隨后操作。然而,0/S下層安全代理4116可以給予這樣的代碼較少特權(quán),例如通過捕獲和拒絕這樣的經(jīng)修改代碼訪問屬于包含其他內(nèi)核模式實(shí)體或操作系統(tǒng)的存儲(chǔ)器的特權(quán)位置的嘗試。經(jīng)修改代碼的惡意軟件狀態(tài)可以是未知的,并且直到確實(shí)判斷它是安全的之前,0/S下層安全代理4116可以拒絕經(jīng)修改代碼訪問內(nèi)核函數(shù)或例程。[0533]0/S下層安全代理4116可以把關(guān)于一個(gè)或多個(gè)已捕獲的已嘗試訪問信息記錄在歷史4140中中。0/S下層安全代理4116可以不時(shí)地分析歷史4140以判斷是否已經(jīng)發(fā)生相對(duì)于特定存儲(chǔ)器位置的可疑行為。在其分析期間,0/S下層安全代理4116可以查閱規(guī)則4122以判斷歷史4140中實(shí)現(xiàn)的特定存儲(chǔ)器位置的行為是否指示可以證明自修改惡意軟件代碼的潛在存在的可疑行為。例如,如果對(duì)歷史4140的分析指示在第一存儲(chǔ)器位置處的內(nèi)容被復(fù)制到第二位置,在第二位置處被修改,且然后,已經(jīng)發(fā)生對(duì)第二位置的內(nèi)容的已嘗試執(zhí)行,則這樣的指示可以是自修改惡意軟件代碼的潛在存在的跡象。作為另一示例,如果對(duì)歷史4140的分析指示均具有在第三位置處的共同起源的、在第一存儲(chǔ)器位置和第二存儲(chǔ)器位置處的內(nèi)容都是已嘗試執(zhí)行的目標(biāo),則這樣的指示可以是自修改惡意軟件代碼的潛在存在的跡象。作為進(jìn)一步的示例,如果對(duì)歷史4140的分析指示在特定存儲(chǔ)器位置處的內(nèi)容具有在多個(gè)其他存儲(chǔ)器位置處的起源,則這樣的指示可以是自修改惡意軟件代碼的潛在存在的跡象。此外,歷史4140可以記錄在分層結(jié)構(gòu)中的級(jí)別和實(shí)體之間所做出的修改。[0534]如果在其他存儲(chǔ)器位置處的內(nèi)容是特定存儲(chǔ)器位置的內(nèi)容的經(jīng)復(fù)制或經(jīng)修改版本,則在此所使用的在特定存儲(chǔ)器位置處的內(nèi)容對(duì)于在另一位置處的內(nèi)容來說是“起源”,且包括其中在其他存儲(chǔ)器位置處的內(nèi)容除了在特定存儲(chǔ)器地址處的內(nèi)容之外的一個(gè)或多個(gè)中間起源的衍生物的情況。[0535]因?yàn)槿绻粦?yīng)用到每一存儲(chǔ)器位置則這樣的歷史4140的記錄可以消耗電子設(shè)備4104的處理資源的顯著部分,0/S下層安全代理4116可以僅在發(fā)生可以指示特定存儲(chǔ)器位置易受惡意軟件感染的已嘗試訪問時(shí)記錄特定存儲(chǔ)器位置的歷史4140。例如,0/S下層安全代理4116可以在捕獲對(duì)特定存儲(chǔ)器位置的權(quán)限(如權(quán)限標(biāo)志4136中所實(shí)現(xiàn)的)的修改時(shí)開始記錄特定存儲(chǔ)器位置的歷史4140。[0536]另外,因?yàn)槿绻粦?yīng)用到每一存儲(chǔ)器位置和/或已嘗試訪問則分析歷史4140以便判斷是否已經(jīng)發(fā)生可疑行為可以消耗電子設(shè)備4104的處理資源的顯著部分,0/S下層安全代理4116可以僅在發(fā)生與特定存儲(chǔ)器位置相關(guān)聯(lián)的特定的已捕獲的已嘗試訪問時(shí)分析相對(duì)于特定存儲(chǔ)器位置的歷史。例如,在一些實(shí)施例中,0/S下層安全代理4116可以在捕獲對(duì)特定存儲(chǔ)器位置處的內(nèi)容的已嘗試訪問時(shí)發(fā)起與特定存儲(chǔ)器位置相關(guān)聯(lián)的對(duì)歷史4140的分析。[0537]在某些實(shí)施例中,單個(gè)已捕獲的已嘗試訪問的發(fā)生可以指示可疑行為而無需對(duì)歷史4140的分析。例如,對(duì)權(quán)限標(biāo)志4136中所陳述的某些存儲(chǔ)器位置的權(quán)限的改變(例如,從讀到讀/寫或從讀/寫到讀/寫/執(zhí)行)可以指示惡意軟件的存在。例如,存儲(chǔ)操作系統(tǒng)內(nèi)核或安全應(yīng)用的存儲(chǔ)器位置的權(quán)限的改變可以指示證明潛在的惡意軟件的存在的可疑行為。[0538]如果0/S下層安全代理4116檢測(cè)到證明潛在的惡意軟件的存在的可疑行為(例如,基于單個(gè)已捕獲的已嘗試訪問或?qū)v史4140的分析),則0/S下層安全代理4116可以發(fā)起矯正動(dòng)作(例如,根據(jù)安全規(guī)則4122)。例如,在一些實(shí)施例中,0/S下層安全代理4116可以在檢測(cè)到可疑行為時(shí)把被存儲(chǔ)在與所檢測(cè)的可疑行為相關(guān)聯(lián)的特定存儲(chǔ)器位置內(nèi)容與已知的惡意軟件和/或已知的可信/可靠的進(jìn)程比較,以便判斷該內(nèi)容是不是惡意的??梢酝ㄟ^把內(nèi)容的散列、指紋或其他簽名與已知進(jìn)程的散列、指紋或其他簽名進(jìn)行比較來實(shí)現(xiàn)這樣的比較。[0539]替代地或另外,如果0/S下層安全代理4116檢測(cè)到證明潛在的惡意軟件的存在的可疑行為(例如,基于單個(gè)已捕獲的已嘗試訪問或?qū)v史4140的分析),0/S下層安全代理4116可以把與可疑行為相關(guān)聯(lián)的取證跡象(例如,存儲(chǔ)器位置的內(nèi)容、與存儲(chǔ)器位置相關(guān)聯(lián)的歷史4140等等)報(bào)告給保護(hù)服務(wù)器202以供進(jìn)一步分析。在一些實(shí)施例中,然后,保護(hù)服務(wù)器202可以產(chǎn)生與內(nèi)容相關(guān)聯(lián)的簽名(例如,散列或指紋)、產(chǎn)生與簽名相關(guān)聯(lián)的政策或黑名單條目并把這樣的信息傳輸給在其他電子設(shè)備上執(zhí)行的安全代理。在相同的或替代的實(shí)施例中,保護(hù)服務(wù)器202可以進(jìn)一步分析可疑行為(例如,連同從其他電子設(shè)備接收的取證跡象一起),以判斷該可疑行為是否實(shí)際上指示惡意軟件,且如果是,則把關(guān)于類似的行為是否是惡意軟件存在的跡象的指令(例如,以安全規(guī)則4122的形式)傳輸給電子設(shè)備。[0540]如果0/S下層安全代理4116判斷,與可疑行為相關(guān)聯(lián)的存儲(chǔ)器位置的內(nèi)容是惡意的(例如,通過把該內(nèi)容與已知進(jìn)程、從保護(hù)服務(wù)器202接收到的信息、對(duì)安全規(guī)則4122的弓丨用和/或其他判斷進(jìn)行比較),0/S下層安全代理4116可以采取進(jìn)一步的矯正動(dòng)作(例如,根據(jù)安全規(guī)則4122)。這樣的矯正動(dòng)作可以包括但不限于不允許執(zhí)行內(nèi)容、撤銷對(duì)內(nèi)容的改變(例如,如歷史4140中所陳述的內(nèi)容的修改和復(fù)制)、修復(fù)內(nèi)容、用無害內(nèi)容替換該內(nèi)容和/或禁用與該內(nèi)容相關(guān)聯(lián)的進(jìn)程。[0541]在以上所描述的各種實(shí)施例中,當(dāng)在存儲(chǔ)器4108的不同部分之間傳遞內(nèi)容時(shí),可以過渡地應(yīng)用被應(yīng)用到存儲(chǔ)器4108的特定部分的安全規(guī)則4122和保護(hù)。因而,例如,如果一組特定的安全規(guī)則4122應(yīng)用到存儲(chǔ)器4108的特定部分中的內(nèi)容,則在把這樣的內(nèi)容傳遞到存儲(chǔ)器4108的另一部分時(shí),0/S下層安全代理4116可以更新安全規(guī)則4122以便應(yīng)用到存儲(chǔ)器4108的目的地部分。[0542]如上所述,0/S下層安全代理4116可以基于安全規(guī)則4122檢測(cè)惡意代碼的存在。0/S下層安全代理4116可以經(jīng)由以上所描述的任何方法和/或以任何其他合適的方式檢測(cè)惡意代碼的存在。例如,0/S下層安全代理4116可以通過捕獲對(duì)存儲(chǔ)器4108或電子設(shè)備4104的其他資源的訪問來檢測(cè)惡意代碼的存在。作為另一示例,0/S下層安全代理4116可以通過掃描存儲(chǔ)器4108的頁面和/或存儲(chǔ)4126以便發(fā)現(xiàn)惡意代碼來檢測(cè)惡意代碼的存在。作為進(jìn)一步的示例,0/S下層安全代理4116可以通過從0/S內(nèi)部安全代理4118接收0/S內(nèi)部安全代理4118已經(jīng)檢測(cè)到惡意代碼的存在的通信來在存儲(chǔ)器中檢測(cè)惡意代碼的存在。[0543]響應(yīng)于檢測(cè)電子設(shè)備4104上的惡意代碼(無論這樣的代碼是自修改代碼還是其他惡意代碼),0/S下層安全代理4116可以采取矯正動(dòng)作,包括修改惡意代碼。在此使用的惡意代碼的“修改(modifying)”或“修改(modification)”可以包括但不限于如存儲(chǔ)器4108中所實(shí)現(xiàn)的惡意代碼的修改、如存儲(chǔ)4126中所實(shí)現(xiàn)的惡意代碼的修改和/或惡意代碼對(duì)存儲(chǔ)器4108和電子設(shè)備4104的其他資源的訪問的修改。惡意代碼的修改是有益的,這是因?yàn)榘◥阂獯a的存儲(chǔ)器4108的部分(例如,頁面)可以屬于惡意軟件或甚至是沒有意識(shí)到感染的程序。例如,這樣的惡意代碼可以被嵌入到字處理文檔、操作系統(tǒng)內(nèi)核的部分或惡意軟件自身中。[0544]在修改存儲(chǔ)器4108中包含的惡意代碼時(shí),0/S下層安全代理4116可以修改惡意代碼以使得包括惡意代碼的程序可以自我終止和/或把執(zhí)行傳遞給可以使惡意代碼失效(例如,通過擦除和與惡意代碼片段相關(guān)聯(lián)的線程或進(jìn)程相關(guān)聯(lián)的所有代碼和數(shù)據(jù))的可信代碼。例如,0/S下層安全代理4116可以把對(duì)操作系統(tǒng)4112的“exit(退出)”函數(shù)的調(diào)用插入到存儲(chǔ)器4108中的惡意代碼,以使得可以最終終止惡意代碼的執(zhí)行。作為另一示例,0/S下層安全代理4116可以把指令(例如,“JUMP(跳轉(zhuǎn))”指令)插入到存儲(chǔ)器4108中的惡意代碼,該指令可以把惡意代碼的執(zhí)行重定向到其中存儲(chǔ)有可以使惡意代碼失效(例如,通過擦除和與惡意代碼片段相關(guān)聯(lián)的線程或進(jìn)程相關(guān)聯(lián)的所有代碼和數(shù)據(jù))的代碼的已知、可信的部分的存儲(chǔ)器4108的另一部分。作為進(jìn)一步的示例,如果惡意代碼目前正在執(zhí)行,則Ο/s下層安全代理4116可以變更存儲(chǔ)器4108中的指令指針值,以便引起把執(zhí)行的控制權(quán)傳遞給可以使失效惡意代碼(例如,通過擦除和與惡意代碼片段相關(guān)聯(lián)的線程或進(jìn)程相關(guān)聯(lián)的所有代碼和數(shù)據(jù))的代碼的已知可信部分。[0545]在一些實(shí)例中,不期望簡單地終止由惡意代碼實(shí)現(xiàn)的惡意進(jìn)程。舉例來說,終止和刪除可以不適用于其中刪除或終止具有不期望的副作用的操作系統(tǒng)的已感染部分或其他以另外方式可信的應(yīng)用。因此,0/S下層安全代理4116可以修改惡意代碼以使得修復(fù)惡意代碼,允許已感染應(yīng)用如同感染沒有發(fā)生的那樣有效地執(zhí)行。例如,0/S下層安全代理4116可以用已知的或可信的代碼替換惡意代碼。作為特定的示例,如果操作系統(tǒng)的已知部分在特定存儲(chǔ)器頁面受到感染,則0/S下層安全代理4116可以用操作系統(tǒng)的這樣的部分的已知代碼重寫該特定存儲(chǔ)器頁面。在一個(gè)實(shí)施例中,0/S下層安全代理4116可以從保護(hù)服務(wù)器獲得替代頁面。可以按需產(chǎn)生這樣的替代頁面,或可以將其配置為替換操作系統(tǒng)組件、驅(qū)動(dòng)程序或其他模塊的已知部分。替代地,0/S下層安全代理4116可以修改存儲(chǔ)器4108中的指令指針,以使得在另一存儲(chǔ)器位置處的受感染代碼的經(jīng)恢復(fù)版本處繼續(xù)執(zhí)行。[0546]在修改存儲(chǔ)4126中包含的惡意代碼時(shí),0/S下層安全代理4116可以變更或刪除惡意代碼。例如,通過捕獲在存儲(chǔ)器4108和存儲(chǔ)4126之間且反之亦然的內(nèi)容傳遞,0/S下層安全代理4116可以收集關(guān)于被存儲(chǔ)在存儲(chǔ)器4108中的內(nèi)容與被存儲(chǔ)在存儲(chǔ)4126中的相應(yīng)內(nèi)容的關(guān)系的信息并將其存儲(chǔ)在日志、列表、高速緩存或其他數(shù)據(jù)結(jié)構(gòu)中。因此,如果0/S下層安全代理4116標(biāo)識(shí)存儲(chǔ)器4108中的惡意代碼,則它可以引用所收集的關(guān)于被存儲(chǔ)在存儲(chǔ)器4108中的內(nèi)容與被存儲(chǔ)在存儲(chǔ)4126中的相應(yīng)內(nèi)容的關(guān)系的信息并修改具有惡意代碼的、對(duì)應(yīng)于存儲(chǔ)器4108的位置的存儲(chǔ)4126的位置中的內(nèi)容。這樣的修改可以包括但不限于刪除存儲(chǔ)4126中的相應(yīng)內(nèi)容,或修改內(nèi)容以引起存儲(chǔ)4126和/或存儲(chǔ)器4108中的惡意代碼的自我終止或刪除。[0547]在修改惡意代碼對(duì)存儲(chǔ)器4108和電子設(shè)備4104的其他資源的訪問時(shí),0/S下層安全代理4116可以拒絕惡意代碼片段對(duì)存儲(chǔ)器4108或電子設(shè)備4104的其他資源的任何訪問。這樣拒絕存儲(chǔ)器4108和其他資源可以引起包括惡意代碼的進(jìn)程崩潰或以另外方式使其失效。例如,一旦已經(jīng)標(biāo)識(shí)惡意代碼,則0/S下層安全代理4116可以捕獲包括惡意代碼的進(jìn)程對(duì)存儲(chǔ)器4108或電子設(shè)備4104的資源的已嘗試訪問并拒絕這樣的訪問。[0548]根據(jù)以上所描述的修改技術(shù)中的一些,0/S下層安全代理4116可以在保證惡意代碼完好的同時(shí)使得惡意代碼失效。在這樣的場(chǎng)景中,Ο/s下層安全代理可以隔離惡意代碼并將其作為取證跡象傳遞給保護(hù)服務(wù)器202以供進(jìn)一步分析。然后,保護(hù)服務(wù)器202可以產(chǎn)生與惡意代碼相關(guān)聯(lián)的簽名(例如,散列或指紋)、產(chǎn)生與簽名相關(guān)聯(lián)的政策或黑名單條目并把這樣的信息傳輸給在其他電子設(shè)備上執(zhí)行的安全代理。[0549]在一些實(shí)施例中,存儲(chǔ)器4108的特定部分中存在的惡意代碼的標(biāo)識(shí)可以允許0/S下層安全代理4116標(biāo)識(shí)具有惡意代碼的存儲(chǔ)器4108的其他部分。例如,在檢測(cè)到表現(xiàn)出類似惡意軟件的行為的線程時(shí),0/S下層安全代理4116可以確定線程的執(zhí)行地址和/或惡意代碼在存儲(chǔ)器頁面內(nèi)的位置。在虛擬存儲(chǔ)器配置中,可以連續(xù)地列出應(yīng)用代碼,而在物理存儲(chǔ)器中,應(yīng)用代碼基本上不是連續(xù)的。因而,通過利用由操作系統(tǒng)維護(hù)的在存儲(chǔ)器4108中的物理存儲(chǔ)器地址和存儲(chǔ)4126中的虛擬存儲(chǔ)器地址之間的映射,0/S下層安全代理4116可以標(biāo)識(shí)與已標(biāo)識(shí)惡意代碼連續(xù)的、也可能包括惡意代碼的虛擬存儲(chǔ)器的部分,并把這樣的虛擬存儲(chǔ)器部分映射回到可能受感染的物理存儲(chǔ)器地址。因此,ο/s下層安全代理可以進(jìn)一步監(jiān)視在這樣的物理存儲(chǔ)器地址處的代碼的執(zhí)行以便發(fā)現(xiàn)惡意代碼的存在。[0550]另外,0/S下層安全代理4116也可以被配置為監(jiān)視與線程的執(zhí)行和/或線程對(duì)資源的使用相關(guān)的活動(dòng),并基于這樣的監(jiān)視確定在各種線程之間的關(guān)系。因此,當(dāng)特定線程被標(biāo)識(shí)為惡意時(shí),0/S下層安全代理4116可以確定與惡意線程相關(guān)線程(例如,起源線程、派生線程、同胞線程等等)并相對(duì)于除了惡意線程以外還有相關(guān)線程采取矯正動(dòng)作。[0551]為了執(zhí)行這樣的監(jiān)視和跟蹤,0/S下層安全代理4116可以監(jiān)視對(duì)存儲(chǔ)器4108、存儲(chǔ)4126、網(wǎng)絡(luò)244和/或電子設(shè)備4104的其他資源的訪問;監(jiān)視操作系統(tǒng)服務(wù)、與線程執(zhí)行和/或線程對(duì)資源的使用相關(guān)的調(diào)用和/或函數(shù);和/或使用在此描述的技術(shù)中的一種或多種來檢測(cè)可疑行為。例如,0/S下層安全代理4116可以實(shí)現(xiàn)圖12的0/S下層安全代理1216的功能性,以便捕獲(例如,基于安全規(guī)則4122)對(duì)讀、寫和/或執(zhí)行存儲(chǔ)器4108、存儲(chǔ)4126和/或電子設(shè)備4104的其他組件上的代碼的已嘗試訪問、對(duì)權(quán)限標(biāo)志4136的已嘗試改變和/或可以(例如,單獨(dú)地或與其他存儲(chǔ)器訪問一起整體地)指示可疑行為的其他已嘗試訪問,并把關(guān)于這樣的嘗試訪問信息記錄到歷史4140。[0552]作為進(jìn)一步的示例,0/S下層安全代理4116可以實(shí)現(xiàn)0/S下層安全代理712、微代碼安全代理708和/或0/S下層捕獲代理920的功能性,以便捕獲(例如,基于安全規(guī)則)已嘗試的操作系統(tǒng)服務(wù)、與線程執(zhí)行和/或線程對(duì)資源的使用相關(guān)的、可以證明可疑行為的調(diào)用和/或函數(shù),并把關(guān)于這樣的嘗試訪問的信息記錄到歷史4140。另外,在一些實(shí)施例中,0/S內(nèi)部安全代理4118可以被配置為捕獲可以證明可疑行為的線程執(zhí)行和/或線程對(duì)資源的使用的操作系統(tǒng)4112的用戶模式函數(shù)或內(nèi)核模式函數(shù),并把關(guān)于這樣的嘗試訪問的信息記錄到歷史4140和/或把這樣的信息傳輸給0/S下層安全代理4116。[0553]為了判斷各線程之間的關(guān)系,0/S下層安全代理4116可以從存儲(chǔ)器的角度監(jiān)視對(duì)操作系統(tǒng)的線程同步對(duì)象的已嘗試訪問。為了闡釋,初始線程可以產(chǎn)生第二線程,然后,第二線程開始操作(且變成該進(jìn)程的主線程),同時(shí)初始線程終止自身。作為另一闡釋,線程可以操作為通過進(jìn)程間通信(IPC)調(diào)用相互創(chuàng)建、終止或掛起。因而,線程可以跨越多個(gè)進(jìn)程,且一個(gè)進(jìn)程中的線程可以對(duì)其他進(jìn)程中的線程做出IPC調(diào)用,以便創(chuàng)建、終止或掛起。0/S內(nèi)部安全代理4118可以通過捕獲用于發(fā)起這樣的IPC調(diào)用的操作系統(tǒng)調(diào)用(例如,在Windows?實(shí)施例中,諸如NTCreateThreacUNTSuspendThread或NTTerminateThread之類的調(diào)用)來跟蹤IPC調(diào)用。[0554]然而,使用0/S內(nèi)部安全代理捕獲這樣的IPC調(diào)用可能被惡意軟件危害或規(guī)避。因此,0/S下層安全代理4118可以通過捕獲對(duì)與發(fā)起IPC調(diào)用相關(guān)聯(lián)的存儲(chǔ)器或處理器資源的已嘗試訪問來監(jiān)視這樣的嘗試訪問。例如,0/S下層安全代理4116可以實(shí)現(xiàn)圖9的0/S下層捕獲代理920的功能性,以便捕獲對(duì)與發(fā)起IPC調(diào)用相關(guān)聯(lián)的處理器資源的已嘗試訪問。作為另一示例,0/S下層安全代理4116實(shí)現(xiàn)圖12的0/S下層安全代理1220的功能性,以便捕獲對(duì)這樣的IPC調(diào)用的可執(zhí)行代碼存儲(chǔ)在其中的存儲(chǔ)器位置(例如,頁面或地址)的已嘗試訪問。在捕獲與IPC調(diào)用相關(guān)聯(lián)的事件時(shí),0/S下層安全代理4116可以把關(guān)于這樣的事件的信息(例如,線程標(biāo)識(shí)符)記錄到歷史940。[0555]為了標(biāo)識(shí)與IPC調(diào)用相關(guān)聯(lián)的線程,0/S下層安全代理4116可以訪問一個(gè)或多個(gè)處理器資源(例如,諸如在圖7中被標(biāo)識(shí)為系統(tǒng)資源724的那些)以便獲取關(guān)于特定線程的信息。例如,對(duì)與在Windows?操作系統(tǒng)中執(zhí)行的線程,處理器寄存器(例如,F(xiàn)S寄存器)可以指向每一處理器的存儲(chǔ)器中被稱為處理器控制塊(PCB)的結(jié)構(gòu)。PCB包括由線程調(diào)度程序用來管理處理器上的線程的信息,包括用于當(dāng)前在處理器上執(zhí)行的線程的ETHREAD數(shù)據(jù)結(jié)構(gòu)以及用于已調(diào)度線程的ETHREAD列表。與線程相關(guān)聯(lián)的ETHREAD數(shù)據(jù)結(jié)構(gòu)可以包括多個(gè)元數(shù)據(jù)字段,包括線程的標(biāo)識(shí)符。因此,在對(duì)Windows?應(yīng)用保護(hù)時(shí),Ο/S下層安全代理4116可以訪問處理器資源中的信息以判斷處理器的PCB的存儲(chǔ)器位置,然后,訪問PCB以便獲得特定線程的ETHREAD信息。[0556]基于被存儲(chǔ)在歷史4140中的關(guān)于IPC調(diào)用的信息,0/S下層安全代理4116可以分析歷史4140以判斷在各種線程當(dāng)中的關(guān)系。在其分析期間,0/S下層安全代理4116可以查閱規(guī)則4122以判斷歷史4140中陳述的線程行為是否指示在兩個(gè)或更多個(gè)線程當(dāng)中的關(guān)系。因此,如果判斷特定線程或其宿主應(yīng)用是惡意的,則0/S下層安全代理4116可以確定與特定線程相關(guān)的一個(gè)或多個(gè)線程并相對(duì)于這樣的相關(guān)線程采取矯正動(dòng)作。例如,矯正動(dòng)作可以包括0/S下層安全代理4116檢查、掃描和/或分析這樣的線程(例如,使用在本公開內(nèi)容中的其他地方描述的一種或多種技術(shù))以判斷這樣的相關(guān)線程是否包括惡意代碼。作為另一示例,如果判斷這樣的線程是惡意的,則矯正動(dòng)作可以包括0/S下層安全代理4116終止、刪除、修改或以另外方式中和這樣的一個(gè)或多個(gè)相關(guān)線程(例如,使用在本公開內(nèi)容中的其他地方描述的一種或多種技術(shù))。作為附加示例,矯正動(dòng)作可以包括0/S下層安全代理4116把與特定線程及其相關(guān)線程相關(guān)聯(lián)的取證跡象傳輸給保護(hù)服務(wù)器202以供進(jìn)一步分析。保護(hù)服務(wù)器202可以分析信息并把關(guān)于要采取的任何附加矯正動(dòng)作的指令(例如,以安全規(guī)則4122的形式)傳輸給電子設(shè)備4104。作為進(jìn)一步的示例,0/S下層安全代理4116可以嘗試修復(fù)包括惡意線程的存儲(chǔ)器的部分(例如,頁面、存儲(chǔ)器地址等等)。[0557]為了執(zhí)行這樣的修復(fù),0/S下層安全代理4116可以不時(shí)產(chǎn)生存儲(chǔ)器4106或其特定部分(例如,存儲(chǔ)操作系統(tǒng)、安全應(yīng)用或關(guān)鍵驅(qū)動(dòng)程序的存儲(chǔ)器的部分)的快照,并存儲(chǔ)這樣的快照(例如,存儲(chǔ)在歷史4140中)??煺湛梢耘c諸如日期和時(shí)間快照、與快照相關(guān)聯(lián)的實(shí)體(例如,操作系統(tǒng)、應(yīng)用或驅(qū)動(dòng)程序)、與存儲(chǔ)器頁面相關(guān)聯(lián)的線程標(biāo)識(shí)符、虛擬存儲(chǔ)器中存儲(chǔ)器的地址位置等等的上下文信息一起存儲(chǔ)。如果定位了惡意線程或線程族,則可以至少部分地基于與快照相關(guān)聯(lián)的上下文信息通過用適當(dāng)?shù)目煺仗鎿Q具有惡意線程的存儲(chǔ)器的部分來修復(fù)包括這樣的線程的存儲(chǔ)器的部分。在一些實(shí)施例中,0/S下層安全代理4116也可以(例如,在歷史4140中)記錄由可信實(shí)體在產(chǎn)生快照之后對(duì)快照的存儲(chǔ)器位置做出的改變,以使得響應(yīng)于檢測(cè)到惡意軟件對(duì)快照反轉(zhuǎn)將不撤銷合法改變。[0558]因?yàn)槿绻粦?yīng)用于所有線程則相關(guān)線程和線程的潛在惡意行為的這樣的監(jiān)視可以消耗電子設(shè)備的處理資源的顯著部分,0/S下層安全代理4116可以僅在發(fā)生可以指示特定存儲(chǔ)器位置易感染惡意軟件和/或特定存儲(chǔ)器存儲(chǔ)重要的或關(guān)鍵的代碼或數(shù)據(jù)(例如,操作系統(tǒng)或安全應(yīng)用)的已嘗試訪問時(shí)執(zhí)行這樣的監(jiān)視。例如,0/S下層安全代理4116可以在捕獲對(duì)特定存儲(chǔ)器位置的權(quán)限(如權(quán)限標(biāo)志4136中所實(shí)現(xiàn)的)的修改時(shí)開始對(duì)特定存儲(chǔ)器位置監(jiān)視線程行為和線程關(guān)系。[0559]圖42是用于調(diào)節(jié)和控制電子設(shè)備上的自修改代碼的方法4200的示例實(shí)施例。在步驟4205,0/S下層安全代理可以捕獲對(duì)存儲(chǔ)器的已嘗試訪問,其中,每一這樣的嘗試訪問可以單獨(dú)地或集體地指示自修改惡意軟件的存在。可以根據(jù)安全規(guī)則確定所捕獲的已嘗試訪問。潛在地指示惡意軟件的已嘗試訪問可以包括但不限于對(duì)存儲(chǔ)器權(quán)限的改變、把內(nèi)容從一個(gè)存儲(chǔ)器位置復(fù)制到另一存儲(chǔ)器位置、修改存儲(chǔ)器位置的內(nèi)容和執(zhí)行存儲(chǔ)器位置。[0560]在步驟4210,0/S下層安全代理可以把關(guān)于已捕獲的已嘗試訪問的信息記錄在歷史中(例如,已嘗試訪問的類型、與已捕獲的已嘗試訪問相關(guān)聯(lián)的存儲(chǔ)器位置等等)。因?yàn)槿绻粦?yīng)用到每一存儲(chǔ)器位置則對(duì)歷史的這樣的記錄可以消耗電子設(shè)備的處理資源的顯著部分,Ο/s下層安全代理可以在發(fā)生可以指示特定存儲(chǔ)器位置易感染惡意軟件(例如,基于建立用于發(fā)起特定存儲(chǔ)器地址的歷史的觸發(fā)事件的安全規(guī)則)的已嘗試存儲(chǔ)器訪問時(shí)發(fā)起特定存儲(chǔ)器位置的歷史記錄。例如,ο/s下層安全代理可以在捕獲對(duì)特定存儲(chǔ)器位置的權(quán)限(例如,如存儲(chǔ)器位置的權(quán)限標(biāo)志中所實(shí)現(xiàn)的)的修改時(shí)開始記錄特定存儲(chǔ)器位置的歷史。[0561]在步驟4215,0/S下層安全代理可以監(jiān)視(例如,根據(jù)安全規(guī)則)可以觸發(fā)對(duì)特定存儲(chǔ)器位置的歷史的分析的啟動(dòng)的已嘗試訪問。因?yàn)槿绻粦?yīng)用到每一存儲(chǔ)器位置和/或已嘗試訪問,則分析歷史以判斷是否已經(jīng)發(fā)生可疑行為可以消耗電子設(shè)備的處理資源的顯著部分,Ο/s下層安全代理可以在發(fā)生與特定存儲(chǔ)器位置相關(guān)聯(lián)的特定的已捕獲的已嘗試訪問對(duì)特定存儲(chǔ)器位置發(fā)起對(duì)歷史的分析(例如,在下面的步驟4220中)。例如,在一些實(shí)施例中,0/S下層安全代理可以在捕獲對(duì)特定存儲(chǔ)器位置處的內(nèi)容的已嘗試訪問時(shí)觸發(fā)對(duì)與特定存儲(chǔ)器位置相關(guān)聯(lián)的歷史的分析的啟動(dòng)。[0562]在步驟4220,0/S下層安全代理可以分析歷史,以便對(duì)特定存儲(chǔ)器位置判斷是否已經(jīng)發(fā)生可疑行為。在其分析期間,Ο/s下層安全代理可以查閱安全規(guī)則,以便判斷歷史中實(shí)現(xiàn)的特定存儲(chǔ)器位置的行為是否指示可以證明自修改惡意軟件代碼的潛在存在的可疑行為。例如,如果對(duì)歷史的分析指示在第一存儲(chǔ)器位置處的內(nèi)容被復(fù)制到第二位置、在第二位置處被修改且然后已經(jīng)發(fā)生對(duì)第二位置的內(nèi)容的已嘗試執(zhí)行,則這樣的指示可以是自修改惡意軟件代碼的潛在存在的跡象。作為另一示例,如果對(duì)歷史的分析指示具有在第三位置處的共同起源的、在第一存儲(chǔ)器位置和第二存儲(chǔ)器位置處的內(nèi)容都是已嘗試執(zhí)行的目標(biāo),則這樣的指示可以是自修改惡意軟件代碼的潛在存在的跡象。作為進(jìn)一步的示例,如果對(duì)歷史的分析指示在特定存儲(chǔ)器位置處的內(nèi)容具有在多個(gè)其他存儲(chǔ)器位置處的起源,則這樣的指示可以是自修改惡意軟件代碼的潛在存在的跡象。[0563]在步驟4225,0/S下層安全代理可以判斷是否已經(jīng)檢測(cè)到證明潛在惡意軟件的存在的可疑行為(例如,基于單個(gè)已捕獲的已嘗試訪問或?qū)v史的分析)。如果已經(jīng)檢測(cè)到可疑行為,則方法4200可以進(jìn)行到步驟4230。否則,方法4200可以再次進(jìn)行到步驟4205。在步驟4230,響應(yīng)于檢測(cè)到證明潛在的惡意軟件的存在的可疑行為(例如,基于單個(gè)已捕獲的已嘗試訪問或?qū)v史的分析),0/S下層安全代理可以發(fā)起矯正動(dòng)作(例如,根據(jù)安全規(guī)則4122)。例如,在一些實(shí)施例中,0/S下層安全代理可以在檢測(cè)到可疑行為時(shí)把在與所檢測(cè)的可疑行為相關(guān)聯(lián)的特定存儲(chǔ)器位置處存儲(chǔ)的內(nèi)容與已知的惡意軟件和/或已知的可信/可靠的進(jìn)程進(jìn)行比較,以判斷該內(nèi)容是不是惡意的??梢酝ㄟ^把內(nèi)容的散列、指紋或其他簽名與已知進(jìn)程的散列、指紋或其他簽名進(jìn)行比較來實(shí)現(xiàn)這樣的比較。作為另一示例,0/S下層安全代理可以在檢測(cè)到可疑行為時(shí)把與可疑行為相關(guān)聯(lián)的取證跡象(例如,存儲(chǔ)器位置的內(nèi)容、與存儲(chǔ)器位置相關(guān)聯(lián)的歷史等等)報(bào)告給保護(hù)服務(wù)器以供進(jìn)一步分析。[0564]在步驟4235,0/S下層安全代理可以判斷與可疑行為相關(guān)聯(lián)的存儲(chǔ)器位置的內(nèi)容是不是惡意的(例如,通過把該內(nèi)容與已知進(jìn)程、從保護(hù)服務(wù)器接收到的信息、對(duì)安全規(guī)則的引用和/或其他判斷進(jìn)行比較)。如果內(nèi)容是惡意的,則方法4200可以進(jìn)行到步驟4240。否則,方法4200可以再次進(jìn)行到步驟4205。在步驟4240,響應(yīng)于判斷內(nèi)容是惡意的,0/S下層安全代理可以采取進(jìn)一步矯正動(dòng)作(例如,根據(jù)安全規(guī)則)。這樣的矯正動(dòng)作可以包括但不限于不允許執(zhí)行內(nèi)容、撤銷對(duì)內(nèi)容的改變(例如,如歷史陳述的對(duì)內(nèi)容的修改和復(fù)制)、修復(fù)內(nèi)容、用無害內(nèi)容替換該內(nèi)容和/或禁用與該內(nèi)容相關(guān)聯(lián)的進(jìn)程。在完成步驟4240之后,方法4200可以再次進(jìn)行到步驟4205。[0565]圖43是用于修改電子設(shè)備上的惡意代碼的方法4305的示例實(shí)施例。在步驟4305,0/S下層安全代理可以檢測(cè)電子設(shè)備上惡意代碼的存在。例如,0/S下層安全代理可以通過捕獲對(duì)電子設(shè)備的存儲(chǔ)器或電子設(shè)備的其他資源的訪問來檢測(cè)惡意代碼的存在。作為另一示例,0/S下層安全代理可以通過掃描存儲(chǔ)器的頁面和/或電子設(shè)備的存儲(chǔ)以便發(fā)現(xiàn)惡意代碼來檢測(cè)惡意代碼的存在。作為進(jìn)一步的示例,0/S下層安全代理可以通過從檢測(cè)到惡意代碼的存在的0/S內(nèi)部安全代理接收通信來檢測(cè)存儲(chǔ)器中惡意代碼的存在。[0566]在步驟4310-4320,響應(yīng)于在電子設(shè)備上檢測(cè)到惡意代碼,0/S下層安全代理可以采取矯正動(dòng)作,包括修改惡意代碼。舉例來說,在步驟4310,0/S下層安全代理可以修改惡意代碼以使得包括惡意代碼的程序可以自我終止和/或把執(zhí)行傳遞給可以使惡意代碼失效(例如,通過擦除和與惡意代碼片段相關(guān)聯(lián)的線程或進(jìn)程相關(guān)聯(lián)的所有代碼和數(shù)據(jù))的可信代碼。例如,0/S下層安全代理可以把對(duì)操作系統(tǒng)的“exit”函數(shù)的調(diào)用插入到電子設(shè)備的存儲(chǔ)器中的惡意代碼,以使得可以最終終止惡意代碼的執(zhí)行。作為另一示例,0/S下層安全代理可以把指令(例如,“JUMP”指令)插入到電子設(shè)備的存儲(chǔ)器中的惡意代碼,該指令可以把惡意代碼的執(zhí)行重定向到其中存儲(chǔ)有可以使惡意代碼失效(例如,通過擦除和與惡意代碼片段相關(guān)聯(lián)的線程或進(jìn)程相關(guān)聯(lián)的所有代碼和數(shù)據(jù))的代碼的已知、可信的部分的存儲(chǔ)器4108的另一部分。作為進(jìn)一步的示例,如果惡意代碼目前正在執(zhí)行,則0/S下層安全代理可以變更存儲(chǔ)器中的指令指針值,以便引起把執(zhí)行的控制權(quán)傳遞給可以使失效惡意代碼(例如,通過擦除和與惡意代碼片段相關(guān)聯(lián)的線程或進(jìn)程相關(guān)聯(lián)的所有代碼和數(shù)據(jù))的代碼的已知可信部分。替代地,0/S下層安全代理可以修改惡意代碼以使得以使得修復(fù)惡意代碼,允許已感染應(yīng)用如同感染沒有發(fā)生的那樣有效地執(zhí)行。通過用已知的或可信的代碼替換惡意代碼或修改存儲(chǔ)器中的指令指針,以使得在另一存儲(chǔ)器位置處的受感染代碼的經(jīng)恢復(fù)版本處繼續(xù)執(zhí)行。[0567]在步驟4315,0/S下層安全代理可以修改存儲(chǔ)中包含的惡意代碼。例如,通過捕獲在電子設(shè)備的存儲(chǔ)器和存儲(chǔ)之間且反之亦然的內(nèi)容傳遞,0/S下層安全代理可以收集關(guān)于被存儲(chǔ)在存儲(chǔ)器中的內(nèi)容與被存儲(chǔ)在存儲(chǔ)中的相應(yīng)內(nèi)容的關(guān)系的信息并將其存儲(chǔ)在日志、列表、高速緩存或其他數(shù)據(jù)結(jié)構(gòu)中。因此,如果0/S下層安全代理標(biāo)識(shí)存儲(chǔ)器中的惡意代碼,則它可以引用所收集的關(guān)于被存儲(chǔ)在存儲(chǔ)器中的內(nèi)容與被存儲(chǔ)在存儲(chǔ)中的相應(yīng)內(nèi)容的關(guān)系的信息并修改具有惡意代碼的、對(duì)應(yīng)于存儲(chǔ)器的位置的存儲(chǔ)的位置中的內(nèi)容。這樣的修改可以包括但不限于刪除存儲(chǔ)中的相應(yīng)內(nèi)容,或修改內(nèi)容以引起存儲(chǔ)和/或存儲(chǔ)器中的惡意代碼的自我終止或刪除。[0568]在步驟4320,0/S下層安全代理可以修改惡意代碼對(duì)存儲(chǔ)器和電子設(shè)備的其他資源的訪問,例如,以便拒絕惡意代碼片段對(duì)電子設(shè)備的存儲(chǔ)器或其他資源的任何訪問。對(duì)存儲(chǔ)器和其他資源的這樣的拒絕可以引起包括惡意代碼的進(jìn)程崩潰或以另外方式使其失效。例如,一旦已經(jīng)標(biāo)識(shí)惡意代碼,則0/S下層安全代理可以捕獲包括惡意代碼的進(jìn)程對(duì)存儲(chǔ)器或電子設(shè)備的資源的已嘗試訪問并拒絕這樣的訪問。[0569]在步驟4325,0/S下層安全代理可以基于所檢測(cè)的惡意代碼的物理存儲(chǔ)器地址標(biāo)識(shí)潛在地具有惡意代碼的存儲(chǔ)器的其他部分。例如,在檢測(cè)到表現(xiàn)出類似惡意軟件的行為的線程時(shí),0/S下層安全代理可以確定線程的執(zhí)行地址和/或惡意代碼在存儲(chǔ)器頁面內(nèi)的位置。在虛擬存儲(chǔ)器配置中,可以連續(xù)地列出應(yīng)用代碼,而在物理存儲(chǔ)器中,應(yīng)用代碼基本上不是連續(xù)的。因而,通過利用由操作系統(tǒng)維護(hù)的在存儲(chǔ)器中的物理存儲(chǔ)器地址和存儲(chǔ)中的虛擬存儲(chǔ)器地址之間的映射,0/S下層安全代理可以標(biāo)識(shí)對(duì)應(yīng)于已標(biāo)識(shí)的惡意代碼、也可能包括惡意代碼的虛擬存儲(chǔ)器的部分,并把這樣的虛擬存儲(chǔ)器部分映射回到可能受感染的物理存儲(chǔ)器地址。因此,0/S下層安全代理可以進(jìn)一步監(jiān)視在這樣的物理存儲(chǔ)器地址處的代碼的執(zhí)行以便發(fā)現(xiàn)惡意代碼的存在。[0570]在步驟4330,0/S下層安全代理可以隔離惡意代碼并將其作為取證跡象傳遞給保護(hù)服務(wù)器以供進(jìn)一步分析。[0571]圖44是用于監(jiān)視和跟蹤電子設(shè)備上的相關(guān)線程的方法4400的示例實(shí)施例。在步驟4405,0/S下層安全代理可以捕獲對(duì)和與另一線程創(chuàng)建、掛起或終止一個(gè)線程相關(guān)聯(lián)的線程同步對(duì)象的函數(shù)調(diào)用相關(guān)聯(lián)的存儲(chǔ)器或處理器資源的已嘗試訪問。例如,0/S下層安全代理可以捕獲對(duì)與進(jìn)程間通信(IPC)調(diào)用相關(guān)聯(lián)的處理器資源的存儲(chǔ)器的已嘗試訪問。在步驟4410,0/S下層安全代理可以把與這樣的已捕獲的已嘗試訪問相關(guān)聯(lián)的信息(例如,線程標(biāo)識(shí)符)存儲(chǔ)到歷史。[0572]在步驟4415,0/S下層安全代理可以捕獲對(duì)存儲(chǔ)器或處理器資源的已嘗試訪問,其中,每一這樣的嘗試訪問可以單獨(dú)地或集體地指示惡意軟件的存在??梢愿鶕?jù)安全規(guī)則確定所捕獲的已嘗試訪問。潛在地指示惡意軟件的已嘗試訪問可以包括但不限于對(duì)存儲(chǔ)器權(quán)限的改變、把內(nèi)容從一個(gè)存儲(chǔ)器位置復(fù)制到另一存儲(chǔ)器位置、修改存儲(chǔ)器位置的內(nèi)容和執(zhí)行存儲(chǔ)器位置。在步驟4420,0/S下層安全代理可以把與這樣的已捕獲的已嘗試訪問相關(guān)聯(lián)的信息(例如,線程5標(biāo)識(shí)符)存儲(chǔ)到歷史。在步驟4410和4420,0/S下層安全代理可以訪問處理器資源中的信息以判斷線程元數(shù)據(jù)的存儲(chǔ)器位置,且基于線程元數(shù)據(jù),獲得特定線程的線程標(biāo)識(shí)符以便作為該信息的一部分存儲(chǔ)在歷史中。[0573]在步驟4425,0/S下層安全代理可以分析歷史(例如,根據(jù)安全規(guī)則)以判斷相對(duì)于特定線程是否已經(jīng)發(fā)生與惡意軟件感染一致的行為。在步驟4430,如果已經(jīng)發(fā)生與惡意軟件感染一致的行為,則0/S下層安全代理可以分析歷史,以便確定與已經(jīng)標(biāo)識(shí)了惡意軟件的特定線程相關(guān)的一個(gè)或多個(gè)線程。[0574]在步驟4435,0/S下層安全代理可以對(duì)特定線程和一個(gè)或多個(gè)相關(guān)線程采取矯正動(dòng)作。例如,矯正動(dòng)作可以包括0/S下層安全代理檢查、掃描、和/或分析這樣的線程以判斷這樣的相關(guān)線程是否包括惡意代碼。作為另一示例,矯正動(dòng)作可以包括如果判斷這樣的線程是惡意的則0/S下層安全代理終止、刪除、修改或以另外方式中和這樣的一個(gè)或多個(gè)相關(guān)線程。作為附加示例,矯正動(dòng)作可以包括0/S下層安全代理把與特定線程及其相關(guān)線程相關(guān)聯(lián)的取證跡象傳輸給保護(hù)服務(wù)器以供進(jìn)一步分析。[0575]圖45是用于保護(hù)電子設(shè)備4504的存儲(chǔ)器和存儲(chǔ)的系統(tǒng)4500的示例實(shí)施例。系統(tǒng)4500可以包括0/S下層安全代理4516,0/S下層安全代理4516被配置為在電子設(shè)備4504上操作以便防備對(duì)訪問電子設(shè)備4504的存儲(chǔ)器4508和存儲(chǔ)4526的惡意嘗試。此外,0/S下層安全代理4516可以被配置為使用一個(gè)或多個(gè)安全規(guī)則4522來判斷要捕獲什么已嘗試操作以及如何響應(yīng)這樣的已捕獲操作。0/S下層安全代理可以被配置為允許已捕獲操作、拒絕已捕獲操作或?qū)σ巡东@操作采取其他矯正動(dòng)作。[0576]如圖45中所示出,電子設(shè)備4504可以包括被耦合到存儲(chǔ)器4508的處理器4506、應(yīng)用4510、驅(qū)動(dòng)程序4511、操作5系統(tǒng)4512、操作系統(tǒng)下層安全代理4516、存儲(chǔ)4526和應(yīng)用資產(chǎn)4548。電子設(shè)備4504可以全部地或部分地由圖1的電子設(shè)備103、圖2的電子設(shè)備204、圖4的電子設(shè)備404、圖7的電子設(shè)備701、圖9的電子設(shè)備901、圖12的電子設(shè)備1201和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。處理器4506可以全部地或部分地由圖2的處理器208、圖4的處理器408、圖7的處理器702、圖9的處理器902、圖12的處理器1202和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。存儲(chǔ)器4508可以全部地或部分地由圖2的存儲(chǔ)器206、圖4的存儲(chǔ)器406、圖7的存儲(chǔ)器703、圖9的存儲(chǔ)器903、圖12的物理存儲(chǔ)器1203或虛擬存儲(chǔ)器和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。應(yīng)用4510可以全部地或部分地由圖1的應(yīng)用110、圖2的應(yīng)用210、圖4的應(yīng)用410、圖7的應(yīng)用709、圖9的應(yīng)用910、圖12的應(yīng)用1210和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。驅(qū)動(dòng)程序4511可以全部地或部分地由圖1的驅(qū)動(dòng)程序111、圖2的驅(qū)動(dòng)程序211、圖4的驅(qū)動(dòng)程序411、圖7的驅(qū)動(dòng)程序711、圖9的驅(qū)動(dòng)程序911、圖12的驅(qū)動(dòng)程序1211和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。操作系統(tǒng)4512可以全部地或部分地由圖1的操作系統(tǒng)112、圖2的操作系統(tǒng)212、圖4的操作系統(tǒng)412、圖7的操作系統(tǒng)713、圖9的操作系統(tǒng)913、圖12的操作系統(tǒng)1213和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。0/S下層安全代理4516可以全部地或部分地由圖1的0/S下層捕獲代理104、圖2的SVMM安全代理217或SVMM216、圖4的固件安全代理440、442、PC固件安全代理444或0/S系統(tǒng)下層代理450、圖5的固件安全代理516、圖7的微代碼安全代理708、圖9的0/S下層捕獲代理920、圖12的0/S下層安全代理1220和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。0/S內(nèi)部安全5代理4518可以全部地或部分地由0/S內(nèi)部安全代理218、圖4的0/S內(nèi)部安全代理418、圖7的0/S內(nèi)部安全代理718、圖9的0/S內(nèi)部安全代理919、0/S內(nèi)部安全代理1219和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。存儲(chǔ)4526可以全部地或部分地由圖4的存儲(chǔ)426實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它的功能性。[0577]安全規(guī)則4522可以由圖1的安全規(guī)則114、圖2的安全規(guī)則222、圖4的安全規(guī)則434、436、438、圖5的安全規(guī)則518、或圖7的安全規(guī)則707、723、圖9的安全規(guī)則908、圖12的安全規(guī)則1208和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性??梢砸匀魏魏线m的方式建立安全規(guī)則4122(例如,由電子設(shè)備4504的用戶設(shè)置的政策、由包括電子設(shè)備4504的企業(yè)的管理員設(shè)置的政策、由0/S下層安全代理4516的創(chuàng)建者設(shè)置的政策等等)。在一些實(shí)施例中,0/S下層安全代理4516可以經(jīng)由網(wǎng)絡(luò)244請(qǐng)求和/或接收來自保護(hù)服務(wù)器202的對(duì)安全規(guī)則4522的更新或修改(例如,例如,由于對(duì)惡意軟件定義的更新)。[0578]0/S下層安全代理4516可以包括存儲(chǔ)器跟蹤設(shè)施4542、存儲(chǔ)跟蹤設(shè)施4544和存儲(chǔ)器/存儲(chǔ)安全層4546。存儲(chǔ)器跟蹤設(shè)施4542可以與存儲(chǔ)器4508連接以便監(jiān)視對(duì)存儲(chǔ)器4508的訪問。例如,存儲(chǔ)器跟蹤設(shè)施4542可以全部地或部分地由圖1的0/S下層捕獲代理104、圖2的SVMM安全代理217或SVMM216、圖4的固件安全代理442、圖1的微代碼安全代理708、圖9的0/S下層安全代理920、和/或圖12的0/S下層安全代理1220實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性,以便在應(yīng)用4510、驅(qū)動(dòng)程序4511和/或操作系統(tǒng)4512對(duì)讀、寫或執(zhí)行存儲(chǔ)器4508中的特定頁面的已嘗試訪問(例如,如頁面表標(biāo)志和/或位標(biāo)志所指示的)發(fā)生時(shí)捕獲或觸發(fā)。作為另一示例,存儲(chǔ)器跟蹤設(shè)施4542可以全部地或部分地由0/S下層安全代理712和/或微代碼安全代理708實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性,以便在應(yīng)用4510、驅(qū)動(dòng)程序4511和/或操作系統(tǒng)4512對(duì)讀、寫或執(zhí)行存儲(chǔ)器4508中的特定地址的已嘗試訪問發(fā)生時(shí)捕獲或觸發(fā)。因此,存儲(chǔ)器跟蹤設(shè)施4542可以跟蹤內(nèi)容在存儲(chǔ)器4508中從一個(gè)位置到另一位置的移動(dòng)(例如,從一個(gè)頁面到另一頁面或從一個(gè)地址到另一地址)或在存儲(chǔ)器4508和存儲(chǔ)4526之間的移動(dòng)(例如,連同虛擬存儲(chǔ)器上下文交換或從存儲(chǔ)4526加載可執(zhí)行代碼)。另外,存儲(chǔ)器跟蹤設(shè)施4542可以把關(guān)于所跟蹤的移動(dòng)的信息存儲(chǔ)在日志、列表、高速緩存或存儲(chǔ)器跟蹤設(shè)施4542和/或存儲(chǔ)器/存儲(chǔ)安全層4546可訪問的其他合適的數(shù)據(jù)結(jié)構(gòu)。[0579]存儲(chǔ)跟蹤設(shè)施4544可以與存儲(chǔ)4526連接以便監(jiān)視內(nèi)容從存儲(chǔ)4526中的一個(gè)位置移動(dòng)到另一位置或在存儲(chǔ)器4508和存儲(chǔ)4526之間移動(dòng)。例如,存儲(chǔ)跟蹤設(shè)施4544可以全部地或部分地由圖1的0/S下層捕獲代理104、圖2的SVMM安全代理217或SVMM216、圖4的固件安全代理442、圖7的微代碼安全代理708、圖9的0/S下層安全代理920和/或圖12的0/S下層安全代理1220實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性,以便在應(yīng)用4510、驅(qū)動(dòng)程序4511和/或操作系統(tǒng)4512對(duì)讀、寫或執(zhí)行存儲(chǔ)4526中的特定扇區(qū)的已嘗試訪問發(fā)生時(shí)捕獲或觸發(fā)。作為另一示例,存儲(chǔ)跟蹤設(shè)施4544可以全部地或部分地由0/S下層安全代理712和/或微代碼安全代理708實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性,以便在應(yīng)用4510、驅(qū)動(dòng)程序4511和/或操作系統(tǒng)4512對(duì)讀、寫或執(zhí)行存儲(chǔ)4526中的特定地址的已嘗試訪問時(shí)捕獲或觸發(fā)。因此,存儲(chǔ)跟蹤設(shè)施4544可以跟蹤內(nèi)容從存儲(chǔ)4526中的一個(gè)位置移動(dòng)到另一位置(例如,從一個(gè)扇區(qū)移動(dòng)到另一扇區(qū)或從一個(gè)地址移動(dòng)到另一地址)或在存儲(chǔ)器4508和存儲(chǔ)4526之間移動(dòng)(例如,連同虛擬存儲(chǔ)器上下文交換或加載來自存儲(chǔ)4526的可執(zhí)行代碼一起)。[0580]在操作中,存儲(chǔ)器/存儲(chǔ)安全層4546可以接收安全規(guī)則4522并把安全規(guī)則4522傳輸給存儲(chǔ)器跟蹤設(shè)施4542和存儲(chǔ)跟蹤設(shè)施4544。因而,存儲(chǔ)器跟蹤設(shè)施4542和存儲(chǔ)跟蹤設(shè)施4544的監(jiān)視可以基于安全規(guī)則4522,安全規(guī)則4522可以指示監(jiān)視是否得到允許和/或標(biāo)識(shí)要監(jiān)視存儲(chǔ)器4508和/或存儲(chǔ)4526的哪些部分。[0581]存儲(chǔ)器跟蹤設(shè)施4542和存儲(chǔ)跟蹤設(shè)施4544可以向存儲(chǔ)器/存儲(chǔ)安全層4546通知存儲(chǔ)器4508和/或存儲(chǔ)4526的已嘗試訪問(例如,對(duì)在存儲(chǔ)器4508或存儲(chǔ)4526內(nèi)或在存儲(chǔ)器和存儲(chǔ)4526之間的內(nèi)容的嘗試移動(dòng))。存儲(chǔ)器/存儲(chǔ)安全層4546可以全部地或部分地由圖1的0/S下層捕獲代理104、圖2的SVMM安全代理217或SVMM216、圖4的固件安全代理440、442、PC固件安全代理444或0/S系統(tǒng)下層代理450、圖5的固件安全代理516、圖7的微代碼安全代理708、圖9的0/S下層捕獲代理920、圖12的0/S下層安全代理和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。存儲(chǔ)器/存儲(chǔ)安全層4546可以根據(jù)安全規(guī)則4522和/或應(yīng)用資產(chǎn)4548分析由存儲(chǔ)器跟蹤設(shè)施4542和/或存儲(chǔ)跟蹤設(shè)施4544報(bào)告的存儲(chǔ)器4508和/或存儲(chǔ)4526的已嘗試訪問,以便判斷這樣的嘗試訪問是否指示惡意軟件攻擊,如下面更詳細(xì)地描述的。在一些實(shí)施例中,存儲(chǔ)器/存儲(chǔ)安全層4546可以把如圖45的活動(dòng)4532和活動(dòng)4534所指示的、存儲(chǔ)器跟蹤設(shè)施4542和存儲(chǔ)跟蹤設(shè)施4544所報(bào)告的訪問的日志、列表或其他指示存儲(chǔ)到存儲(chǔ)器4508和/或存儲(chǔ)4526。因而,除了分析單個(gè)對(duì)存儲(chǔ)器4508和/或存儲(chǔ)4526的已嘗試訪問之外,存儲(chǔ)器/存儲(chǔ)安全層4546可以根據(jù)安全規(guī)則4522分析活動(dòng)4532和/或活動(dòng)4534中所包括的活動(dòng)的歷史,以便判斷該訪問的歷史行為是否指示惡意軟件的存在。[0582]在特定的實(shí)施例中,存儲(chǔ)器/存儲(chǔ)安全層4546可以全部地或部分地由圖2的SVMM216實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它的功能性,存儲(chǔ)器跟蹤設(shè)施4542可以全部地或部分地由圖7的微代碼安全代理708實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它的功能性,且存儲(chǔ)跟蹤設(shè)施4544可以全部地或部分地由圖4的固件安全代理442實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它的功能性。在這樣的實(shí)施例中,存儲(chǔ)器跟蹤設(shè)施4542可以捕獲特定存儲(chǔ)器訪問,且存儲(chǔ)跟蹤設(shè)施4544可以捕獲特定存儲(chǔ)訪問,且每一個(gè)都可以向存儲(chǔ)器/存儲(chǔ)安全層4546通知這樣的已捕獲事件。然后,存儲(chǔ)器/存儲(chǔ)安全層4546可以分析單個(gè)對(duì)存儲(chǔ)器和/或存儲(chǔ)的已嘗試訪問,和/或根據(jù)安全規(guī)則4522分析活動(dòng)的歷史,以便判斷訪問的歷史行為是否指示惡意軟件的存在。[0583]在另一特定的實(shí)施例中,存儲(chǔ)器/存儲(chǔ)安全層4546、存儲(chǔ)器跟蹤設(shè)施4542和存儲(chǔ)跟蹤設(shè)施4544中的每一個(gè)都可以全部地或部分地由圖2的單個(gè)SVMM216實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它的功能性。在這樣的實(shí)施例中,SVMM216可以捕獲特定存儲(chǔ)器訪問、捕獲特定的存儲(chǔ)訪問并分析對(duì)存儲(chǔ)器和/或存儲(chǔ)的個(gè)體已嘗試訪問,和/或根據(jù)安全規(guī)則4522分析活動(dòng)的歷史,以便判斷訪問的歷史行為是否指示惡意軟件的存在。[0584]應(yīng)用4510、驅(qū)動(dòng)程序4511、操作系統(tǒng)4512和/或另一實(shí)體的應(yīng)用資產(chǎn)4548可以表示指示這樣的實(shí)體及其組件如何駐留在存儲(chǔ)器4508和/或存儲(chǔ)4526內(nèi)的映射、表、列表和/或其他數(shù)據(jù)結(jié)構(gòu)。應(yīng)用資產(chǎn)4548可以標(biāo)識(shí)實(shí)體可以存儲(chǔ)到其中的存儲(chǔ)器4508和/或存儲(chǔ)4526的部分(例如,存儲(chǔ)器頁面、存儲(chǔ)器地址范圍、盤扇區(qū)、盤地址分級(jí)等等)。如上所述,基于應(yīng)用資產(chǎn)4548和/或安全規(guī)則4522,存儲(chǔ)器/存儲(chǔ)安全代理4516可以判斷來自存儲(chǔ)器跟蹤設(shè)施4542和/或存儲(chǔ)跟蹤設(shè)施4544的關(guān)于對(duì)存儲(chǔ)器4508和/或存儲(chǔ)4526的已嘗試訪問的通知是否指示惡意軟件攻擊。例如,在其中應(yīng)用4510是便攜式可執(zhí)行文件的實(shí)施例中,應(yīng)用資產(chǎn)4548可以標(biāo)識(shí)包括應(yīng)用4510的可執(zhí)行代碼的、存儲(chǔ)器4508和/或存儲(chǔ)4526中所存儲(chǔ)的應(yīng)用4510的部分,和/或標(biāo)識(shí)包括應(yīng)用4510的數(shù)據(jù)(包括應(yīng)用4510的組件存儲(chǔ)在其中的存儲(chǔ)器4508和/或存儲(chǔ)4526的位置)的、存儲(chǔ)器4508和/或存儲(chǔ)4526中所存儲(chǔ)的應(yīng)用4510的部分。安全規(guī)則4522可以規(guī)定,對(duì)于應(yīng)用4510的這樣的示例,起源于不同于應(yīng)用4510的程序的、對(duì)包括應(yīng)用4510的可執(zhí)行代碼的存儲(chǔ)器4508和/或存儲(chǔ)4526的部分的寫訪問指示惡意軟件攻擊。另外或替代地,安全規(guī)則4522可以規(guī)定,這樣的示例對(duì)于應(yīng)用4510的這樣的示例,起源于不同于應(yīng)用4510的程序的、對(duì)包括應(yīng)用4510的數(shù)據(jù)的存儲(chǔ)器4508和/或存儲(chǔ)4526的部分的讀或?qū)懺L問指示惡意軟件攻擊。[0585]作為另一示例,在其中應(yīng)用4510是字處理程序的實(shí)施例中,應(yīng)用資產(chǎn)4548可以標(biāo)識(shí)包括應(yīng)用4510的可執(zhí)行代碼的、存儲(chǔ)器4508和/或存儲(chǔ)4526中所存儲(chǔ)的應(yīng)用4510的部分、標(biāo)識(shí)存儲(chǔ)器4508和/或包括腳本、映像、格式化文本、筆記和應(yīng)用4510的其他數(shù)據(jù)(包括應(yīng)用4510的組件存儲(chǔ)在其中的存儲(chǔ)器4508和/或存儲(chǔ)4526的位置)的、存儲(chǔ)4526中所存儲(chǔ)的應(yīng)用4510的部分。安全規(guī)則4522可以規(guī)定,對(duì)于應(yīng)用4510的這樣的示例,可以允許對(duì)包括應(yīng)用4510的數(shù)據(jù)的存儲(chǔ)器4508和/或存儲(chǔ)4526的部分的讀或?qū)懺L問(例如,起源于操作系統(tǒng)、反惡意軟件應(yīng)用等等的訪問),并且不同于該組特定程序的程序的訪問可以指示惡意軟件攻擊。[0586]應(yīng)用資產(chǎn)4548可以由應(yīng)用4510、驅(qū)動(dòng)程序4511、操作系統(tǒng)4512和/或其他程序的創(chuàng)建者(例如,應(yīng)用銷售商、程序員或創(chuàng)建者)、電子設(shè)備4504的用戶、包括電子設(shè)備4504的企業(yè)的管理員、0/S下層安全代理4516的創(chuàng)建者和/或另一合適的個(gè)體創(chuàng)建或定義。在一些實(shí)施例中,對(duì)于程序,應(yīng)用資產(chǎn)4548可以包括在程序的存儲(chǔ)上結(jié)構(gòu)和程序的存儲(chǔ)器中結(jié)構(gòu)的之間的關(guān)系(例如,在存儲(chǔ)器4508和存儲(chǔ)4526的程序的組件之間的映射)。[0587]為了聚集應(yīng)用資產(chǎn)4548,0/S內(nèi)部安全代理4518和/或0/S下層安全代理4516可以使用任何數(shù)量的合適的技術(shù)。例如,0/S內(nèi)部安全代理4518和/或0/S下層安全代理4516可以收集可以與由操作系統(tǒng)4512結(jié)合虛擬存儲(chǔ)器操作產(chǎn)生的虛擬存儲(chǔ)器頁面交換相關(guān)聯(lián)的信息。例如,在Windows?中,0/S內(nèi)部安全代理4518可以訪問原型頁表項(xiàng)(PTE)并把這樣的信息傳輸給0/S下層安全代理4516。在其他實(shí)施例中,0/S下層安全代理4516可以在執(zhí)行訪問的任何時(shí)刻為存儲(chǔ)器4508中的頁面和/或盤上的扇區(qū)4526產(chǎn)生散列、指紋或其他唯一標(biāo)識(shí)符,并維護(hù)這樣的標(biāo)識(shí)符的高速緩存(例如,要存儲(chǔ)在存儲(chǔ)器4508和/或存儲(chǔ)4526中的這樣的高速緩存)。在這樣的場(chǎng)景中,0/S下層安全代理4516可以應(yīng)用簡單比較以判斷存儲(chǔ)4526的哪一扇區(qū)被加載到存儲(chǔ)器4508的哪一頁面,且反之亦然。這樣的映射可以允許安全代理4516和/或4518跟蹤存儲(chǔ)器4508和/或存儲(chǔ)4526中的實(shí)體的特定信息的位置。[0588]因?yàn)槿绻粦?yīng)用到對(duì)存儲(chǔ)器4508和存儲(chǔ)4526的所有訪問則存儲(chǔ)器/存儲(chǔ)安全層4546、存儲(chǔ)器跟蹤設(shè)施4542和/或存儲(chǔ)跟蹤設(shè)施4544所執(zhí)行的監(jiān)視和分析可以消耗電子設(shè)備的處理資源的顯著部分4504,可以僅在特定的已定義傾向中允許對(duì)存儲(chǔ)器4508和存儲(chǔ)4526的監(jiān)視和分析。例如,在一些實(shí)施例中,安全規(guī)則4522可以提供,存儲(chǔ)器跟蹤設(shè)施4542和/或存儲(chǔ)跟蹤設(shè)施4544僅監(jiān)視存儲(chǔ)器4508和/或存儲(chǔ)4526的特定部分(例如,包括操作系統(tǒng)或關(guān)鍵驅(qū)動(dòng)程序或應(yīng)用的那些部分)。作為另一示例,在相同的或替代的實(shí)施例中,安全規(guī)則4522可以提供,如果其他指示示出存儲(chǔ)器4508和/或存儲(chǔ)4526的特定部分中的程序是可疑的和/或其他指示示出惡意軟件攻擊已經(jīng)發(fā)生,則存儲(chǔ)器跟蹤設(shè)施4542和/或存儲(chǔ)跟蹤設(shè)施4544監(jiān)視該程序。作為進(jìn)一步的示例,如同虛擬存儲(chǔ)器上下文交換或加載來自存儲(chǔ)4526的可執(zhí)行代碼的情況一樣,存儲(chǔ)器跟蹤設(shè)施4542和/或存儲(chǔ)跟蹤設(shè)施4544可以除了在把內(nèi)容從存儲(chǔ)器4508加載到存儲(chǔ)4526或反之亦然時(shí)之外放棄存儲(chǔ)器捕獲和存儲(chǔ)捕獲。[0589]在操作中,如上所述,存儲(chǔ)器/存儲(chǔ)安全層4546可以通過根據(jù)安全規(guī)則4522和/或應(yīng)用資產(chǎn)4548分析所報(bào)告的對(duì)存儲(chǔ)器4508和/或存儲(chǔ)4526的訪問來保護(hù)存儲(chǔ)器4508和/或存儲(chǔ)4526。在接收對(duì)存儲(chǔ)器4508和/或5存儲(chǔ)4526的已嘗試訪問的通知之后,存儲(chǔ)器/存儲(chǔ)安全層4546可以確定請(qǐng)求已嘗試訪問的實(shí)體的身份(例如,操作系統(tǒng)451、驅(qū)動(dòng)程序4511或應(yīng)用4510)。例如,0/S內(nèi)部安全代理4518可以從操作系統(tǒng)4512收集與特定存儲(chǔ)器4508和/或存儲(chǔ)請(qǐng)求4526的請(qǐng)求實(shí)體相關(guān)的上下文信息,并把這樣的信息傳輸給存儲(chǔ)器/存儲(chǔ)安全層4546。另外,存儲(chǔ)器/存儲(chǔ)安全層4546可以驗(yàn)證請(qǐng)求實(shí)體的身份并判斷該實(shí)體是否已被惡意軟件危害(例如,通過把被存儲(chǔ)在存儲(chǔ)器中的實(shí)體的映射或散列與實(shí)體的已知預(yù)期映射或散列進(jìn)行比較,或掃描被存儲(chǔ)在存儲(chǔ)器中的實(shí)體以便發(fā)現(xiàn)惡意軟件的存在)。此外,存儲(chǔ)器/存儲(chǔ)安全層4546可以判斷實(shí)體是否得到授權(quán)做出請(qǐng)求(例如,基于安全規(guī)則4522和/或應(yīng)用資產(chǎn)4548判斷是否授權(quán)實(shí)體訪問存儲(chǔ)器4508或存儲(chǔ)4526的特定部分)。此外,存儲(chǔ)器/存儲(chǔ)安全層4546可以掃描與嘗試訪問相關(guān)的內(nèi)容(例如,正在被讀、寫或執(zhí)行的數(shù)據(jù)或可執(zhí)行代碼是)以便判斷該內(nèi)容是否包含惡意軟件。而且,存儲(chǔ)器/存儲(chǔ)安全層4546可以判斷對(duì)訪問歷史(例如,如活動(dòng)4532和/或活動(dòng)4534中所存儲(chǔ)的)的行為分析是否指示惡意軟件的存在(例如,未經(jīng)授權(quán)的實(shí)體對(duì)0/S4512的受保護(hù)部分的已嘗試訪問)。如果判斷已嘗試訪問是惡意軟件相關(guān)的,則存儲(chǔ)器/存儲(chǔ)安全層4546可以采取矯正動(dòng)作。矯正動(dòng)作可以包括阻止已嘗試訪問、終止請(qǐng)求實(shí)體、修復(fù)請(qǐng)求實(shí)體、把惡意軟件相關(guān)事件的發(fā)生傳輸給保護(hù)服務(wù)器202和/或任何其他合適的動(dòng)作。[0590]作為特定的示例,響應(yīng)于對(duì)存儲(chǔ)4526的特定扇區(qū)的請(qǐng)求(如由來自存儲(chǔ)跟蹤設(shè)施4544的通知所指示的),存儲(chǔ)器/存儲(chǔ)安全層4546可以至少基于安全規(guī)則4522判斷是否要訪問該特定扇區(qū)。另外,存儲(chǔ)器/存儲(chǔ)安全層4546可以掃描與嘗試訪問相關(guān)的內(nèi)容(例如,正在被讀、寫或執(zhí)行的數(shù)據(jù)或可執(zhí)行代碼)以便判斷該內(nèi)容是否免遭潛在的惡意軟件感染。判斷是否內(nèi)容。此外,存儲(chǔ)器/存儲(chǔ)安全層4546可以至少基于安全規(guī)則4522判斷是否授權(quán)請(qǐng)求已嘗試訪問的實(shí)體訪問特定的扇區(qū)。如果這樣的判斷指示已嘗試訪問不是惡意軟件相關(guān)的,則存儲(chǔ)器/存儲(chǔ)安全層4546可以批準(zhǔn)已嘗試訪問。[0591]作為另一特定的示例,響應(yīng)于對(duì)存儲(chǔ)器的特定頁面的請(qǐng)求(如來自存儲(chǔ)器跟蹤設(shè)施4542的通知所指示的),存儲(chǔ)器/存儲(chǔ)安全層4546可以掃描與已嘗試訪問相關(guān)的內(nèi)容(例如,結(jié)合已嘗試訪問(例如,正在被讀、寫或執(zhí)行的數(shù)據(jù)或可執(zhí)行代碼))以便判斷該內(nèi)容是否免遭潛在的惡意軟件感染。另外,存儲(chǔ)器/存儲(chǔ)安全層4546可以至少基于安全規(guī)則4522判斷是否授權(quán)請(qǐng)求已嘗試訪問的實(shí)體訪問特定頁面。此外,如果已嘗試訪問是從存儲(chǔ)4526到存儲(chǔ)器4508的傳遞,則存儲(chǔ)器/存儲(chǔ)安全層4546可以至少基于安全規(guī)則4522判斷要從中傳遞內(nèi)容的存儲(chǔ)4526的特定部分是否可信源。如果這樣的判斷指示已嘗試訪問不是惡意軟件相關(guān)的,則存儲(chǔ)器/存儲(chǔ)安全層4546可以批準(zhǔn)已嘗試訪問。[0592]另外,當(dāng)在存儲(chǔ)器4508和存儲(chǔ)4526之間、在存儲(chǔ)器4508的不同部分之間或者在存儲(chǔ)4526的不同部分之間傳遞內(nèi)容時(shí)可以過渡地應(yīng)用被應(yīng)用到存儲(chǔ)器4508或存儲(chǔ)4526的特定部分的安全規(guī)則4522和保護(hù)。因而,例如,如果一組特定的安全規(guī)則4522應(yīng)用到存儲(chǔ)器4508的特定部分中的內(nèi)容,則在把這樣的內(nèi)容傳遞到存儲(chǔ)器4508的另一部分或傳遞到存儲(chǔ)4526時(shí),存儲(chǔ)器/存儲(chǔ)安全層4546可以更新安全規(guī)則4522以便應(yīng)用到存儲(chǔ)器4508或存儲(chǔ)4526的目的地部分。[0593]圖46是用于保護(hù)電子設(shè)備的存儲(chǔ)器和存儲(chǔ)的方法4600的示例實(shí)施例。在步驟4605,存儲(chǔ)器/存儲(chǔ)安全層可以把安全規(guī)則傳輸給存儲(chǔ)器跟蹤設(shè)施和存儲(chǔ)跟蹤設(shè)施。因?yàn)樵诖斯_的用于保護(hù)存儲(chǔ)器和存儲(chǔ)免遭惡意軟件的系統(tǒng)和方法可以消耗顯著的處理器、存儲(chǔ)器和/或其他資源,期望僅在存儲(chǔ)器或存儲(chǔ)的特定位置尤其易受惡意軟件攻擊感染時(shí)采用這樣的系統(tǒng)和方法。例如,如果存儲(chǔ)器或存儲(chǔ)的部分包括操作系統(tǒng)或安全應(yīng)用的部分,或如果已經(jīng)在電子設(shè)備上看見或檢測(cè)到攻擊的先前指示,則存儲(chǔ)器或存儲(chǔ)的部分易受惡意軟件攻擊感染。[0594]在步驟4610,存儲(chǔ)器跟蹤設(shè)施和存儲(chǔ)跟蹤設(shè)施可以根據(jù)安全規(guī)則監(jiān)視訪問。為了監(jiān)視,存儲(chǔ)器跟蹤設(shè)施和存儲(chǔ)跟蹤設(shè)施可以在對(duì)從存儲(chǔ)器/存儲(chǔ)安全層接收的安全規(guī)則所標(biāo)識(shí)的存儲(chǔ)器或存儲(chǔ)的特定部分時(shí)的已嘗試訪問(例如,已嘗試的讀、寫或執(zhí)行)發(fā)生時(shí)捕獲或觸發(fā)。[0595]在步驟4615,存儲(chǔ)器跟蹤設(shè)施和/或存儲(chǔ)跟蹤設(shè)施可以把對(duì)存儲(chǔ)器和/或存儲(chǔ)的已嘗試訪問的通知傳輸給存儲(chǔ)器/存儲(chǔ)安全層。[0596]在步驟4620,存儲(chǔ)器/存儲(chǔ)安全層可以確定請(qǐng)求在存儲(chǔ)器/存儲(chǔ)安全層的通知中所標(biāo)識(shí)的已嘗試訪問的實(shí)體的身份(例如,操作系統(tǒng)、驅(qū)動(dòng)程序或應(yīng)用)。例如,與存儲(chǔ)器/存儲(chǔ)安全層通信的0/S內(nèi)部安全代理可以從操作系統(tǒng)收集與特定存儲(chǔ)器和/或存儲(chǔ)請(qǐng)求的請(qǐng)求實(shí)體相關(guān)的上下文信息,并將這樣的信息傳輸給存儲(chǔ)器/存儲(chǔ)安全層。[0597]在步驟4625,存儲(chǔ)器/存儲(chǔ)安全層可以驗(yàn)證請(qǐng)求實(shí)體的身份并判斷該實(shí)體是否已經(jīng)被惡意軟件危害。例如,存儲(chǔ)器/存儲(chǔ)安全層可以把存儲(chǔ)器中所存儲(chǔ)的實(shí)體的映射或散列與實(shí)體的已知預(yù)期映射或散列進(jìn)行比較。作為另一示例,存儲(chǔ)器/存儲(chǔ)安全層可以掃描存儲(chǔ)器中所存儲(chǔ)的實(shí)體以便發(fā)現(xiàn)惡意軟件的存在。[0598]在步驟4630,存儲(chǔ)器/存儲(chǔ)安全層可以判斷是否授權(quán)該實(shí)體做出請(qǐng)求。例如,存儲(chǔ)器/存儲(chǔ)安全層可以查閱安全規(guī)則和/或應(yīng)用資產(chǎn)以便判斷是否授權(quán)該實(shí)體訪問存儲(chǔ)器4508或存儲(chǔ)4526的特定部分。在步驟4635,存儲(chǔ)器/存儲(chǔ)安全層可以分析與已嘗試訪問相關(guān)聯(lián)的內(nèi)容(例如,正在被讀、寫或執(zhí)行的數(shù)據(jù)或可執(zhí)行代碼)。例如,存儲(chǔ)器/存儲(chǔ)安全層可以掃描與已嘗試訪問相關(guān)的內(nèi)容以便判斷該內(nèi)容是否包含惡意軟件。[0599]在步驟4640,存儲(chǔ)器/存儲(chǔ)安全層可以分析對(duì)存儲(chǔ)器和/或存儲(chǔ)的訪問的歷史。這樣的歷史可以在電子設(shè)備的存儲(chǔ)器和/或存儲(chǔ)中被存儲(chǔ)為日志或列表。這樣的分析可以包括對(duì)訪問存儲(chǔ)器和/或存儲(chǔ)的歷史的行為分析以判斷該歷史是否指示惡意軟件的存在。[0600]在步驟4645,存儲(chǔ)器/存儲(chǔ)安全層可以判斷(例如,基于步驟4620-4640中的一個(gè)或多個(gè)的分析和判斷)由存儲(chǔ)器跟蹤設(shè)施和/或存儲(chǔ)跟蹤設(shè)施報(bào)告的對(duì)存儲(chǔ)器和/或存儲(chǔ)的已嘗試訪問是否指示該已嘗試訪問受到惡意軟件影響。另外,如果存儲(chǔ)器/存儲(chǔ)安全層判斷經(jīng)修改內(nèi)容受到類似惡意軟件的行為影響,則存儲(chǔ)器/存儲(chǔ)安全層可以采取矯正動(dòng)作(例如,移除、隔離和/或以另外方式使惡意軟件失效的動(dòng)作)。另外,在一些實(shí)施例中,存儲(chǔ)器/存儲(chǔ)安全層可以把關(guān)于類似惡意軟件的行為的發(fā)生的信息(例如,取證信息)傳輸給保護(hù)服務(wù)器。[0601]在步驟4650,存儲(chǔ)器/存儲(chǔ)安全層可以把訪問的通知添加到被存儲(chǔ)在電子設(shè)備的存儲(chǔ)器和/或存儲(chǔ)上的訪問的日志或列表。為了執(zhí)行對(duì)訪問歷史的行為分析,存儲(chǔ)器/存儲(chǔ)安全層可以稍后訪問已存儲(chǔ)的日志或列表。在完成步驟4650之后,方法4600可以再次返回到步驟4605。[0602]圖47是用于保護(hù)對(duì)在電子設(shè)備4701上執(zhí)行的操作系統(tǒng)4713的對(duì)象的訪問的系統(tǒng)4700的示例實(shí)施例。系統(tǒng)4700可以包括0/S下層捕獲代理4720和已觸發(fā)事件應(yīng)對(duì)程序4722,0/S下層捕獲代理4720和已觸發(fā)事件應(yīng)對(duì)程序4722被配置為在電子設(shè)備4701上操作以便檢測(cè)在操作系統(tǒng)4713上執(zhí)行的基于軟件的實(shí)體訪問對(duì)象4706和/或?qū)ο蠊芾砥?704的惡意嘗試。此外,0/S下層捕獲代理4720和已觸發(fā)事件應(yīng)對(duì)程序4722可以被配置為使用一個(gè)或多個(gè)安全規(guī)則4708來判斷何時(shí)捕獲對(duì)對(duì)象4706和/或?qū)ο蠊芾砥?704的訪問以及如何應(yīng)對(duì)與已捕獲操作相關(guān)聯(lián)的已觸發(fā)事件。0/S下層捕獲代理4720和已觸發(fā)事件應(yīng)對(duì)程序4722可以被配置為允許已觸發(fā)事件、拒絕已觸發(fā)事件或?qū)σ延|發(fā)事件采取其他矯正動(dòng)作。[0603]電子設(shè)備4701可以全部地或部分地由圖1的電子設(shè)備103、圖2的電子設(shè)備204、圖4的電子設(shè)備404、圖7的電子設(shè)備701、圖9的電子設(shè)備901、圖12的電子設(shè)備1201和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。電子設(shè)備4701可以包括被耦合到存儲(chǔ)器4703的一個(gè)或多個(gè)處理器4702。處理器4702可以全部地或部分地由圖2的處理器208、圖4的處理器408、圖7的處理器702、圖9的處理器902、圖12的處理器1202和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。電子設(shè)備4701可以包括操作系統(tǒng)4713,操作系統(tǒng)4713可以包括0/S內(nèi)部安全代理4719和用于管理對(duì)象4706的對(duì)象管理器4704。操作系統(tǒng)4713可以全部地或部分地由圖1的操作系統(tǒng)112、圖2的操作系統(tǒng)212、圖4的操作系統(tǒng)412、圖7的操作系統(tǒng)713、圖9的操作系統(tǒng)913、圖12的操作系統(tǒng)1213和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。0/S內(nèi)部安全代理4719可以全部地或部分地由圖1的0/S內(nèi)部安全代理218、圖4的0/S內(nèi)部安全代理418、圖7的0/S內(nèi)部安全代理719、圖9的0/S內(nèi)部安全代理919、圖12的0/S內(nèi)部安全代理1219和/或其任何合適的組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。安全規(guī)則4708可以由圖1的安全規(guī)則114、圖2的安全規(guī)則220、222、圖4的安全規(guī)則420、434、436、438、圖5的安全規(guī)則518、圖7的安全規(guī)則707、721、723、圖9的安全規(guī)則908、921、圖12的安全規(guī)則1208、1221和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。保護(hù)服務(wù)器4714可以全部地或部分地由圖1的保護(hù)服務(wù)器102、圖2的保護(hù)服務(wù)器202和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。[0604]存儲(chǔ)器4703可以全部地或部分地由圖2的存儲(chǔ)器206、圖4的存儲(chǔ)器406、圖7的存儲(chǔ)器703、圖9的存儲(chǔ)器903、圖12的存儲(chǔ)器1203和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。存儲(chǔ)器4703可以使用被配置為虛擬化對(duì)存儲(chǔ)器4703的訪問的虛擬存儲(chǔ)器系統(tǒng)來實(shí)現(xiàn)。在虛擬存儲(chǔ)器系統(tǒng)中,可以給在操作系統(tǒng)4713上執(zhí)行的軟件進(jìn)程提供該進(jìn)程可以將其看作是連續(xù)的存儲(chǔ)器塊的虛擬地址空間。實(shí)際上,虛擬地址空間可以跨越物理存儲(chǔ)器的不同區(qū)域而散布。在進(jìn)程請(qǐng)求訪問存儲(chǔ)器時(shí),操作系統(tǒng)4713可以負(fù)責(zé)把進(jìn)程的虛擬存儲(chǔ)器地址映射到數(shù)據(jù)實(shí)際上存儲(chǔ)在其中的存儲(chǔ)器4703中的物理地址。虛擬地址空間可以被分割成被稱為虛擬存儲(chǔ)器頁面的固定大小的連續(xù)的虛擬存儲(chǔ)器地址塊。頁面表可以被用來存儲(chǔ)從虛擬存儲(chǔ)器頁面到虛擬存儲(chǔ)器頁面存儲(chǔ)在其中的存儲(chǔ)器4703中相應(yīng)的物理地址的映射。頁面表可以包括各種訪問權(quán)限,例如讀、寫和/或執(zhí)行,以便指定對(duì)給定虛擬存儲(chǔ)器頁面授權(quán)的訪問類型。在進(jìn)程嘗試以相關(guān)的虛擬存儲(chǔ)器頁面的訪問權(quán)限不授權(quán)的方式來訪問虛擬存儲(chǔ)器地址時(shí),可以拒絕該嘗試。[0605]0/S下層捕獲代理4720可以由圖1的0/S下層捕獲代理104、圖2的SVMM216、圖4的固件安全代理440、442和/或PC固件安全代理444、圖5的固件安全代理516和/或圖7的微代碼安全代理708、圖9的0/S下層捕獲代理920、圖12的0/S下層安全代理1220和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。已觸發(fā)事件應(yīng)對(duì)程序4722可以由圖1的已觸發(fā)事件應(yīng)對(duì)程序108、圖2的SVMM安全代理217、圖4的0/S下層代理450、圖7的0/S下層代理712、圖9的已觸發(fā)事件應(yīng)對(duì)程序922和/或其任何組合實(shí)現(xiàn),或者被配置為實(shí)現(xiàn)它們的功能性。在各種實(shí)施例中,0/S下層捕獲代理4720的功能性中的一些可以由已觸發(fā)事件應(yīng)對(duì)程序4722實(shí)現(xiàn),并且/或者已觸發(fā)事件應(yīng)對(duì)程序4722的功能性中的一些可以由0/S下層捕獲代理4720實(shí)現(xiàn)。此外,可以在相同的軟件模塊中實(shí)現(xiàn)0/S下層捕獲代理4720和已觸發(fā)事件應(yīng)對(duì)程序4722。[0606]使用對(duì)象4706來表示與操作系統(tǒng)4713相關(guān)聯(lián)的每一資源,可以把操作系統(tǒng)4713實(shí)現(xiàn)為對(duì)象面向環(huán)境。例如,操作系統(tǒng)4713可以具有對(duì)象,這些對(duì)象表示驅(qū)動(dòng)程序4711、應(yīng)用4710、進(jìn)程、存儲(chǔ)器4703、文件和/或文件夾、物理設(shè)備和/或由操作系統(tǒng)4713使用的任何其他資源。另外,在操作系統(tǒng)4713上執(zhí)行的每一應(yīng)用4710和/或其他軟件進(jìn)程執(zhí)行也可以使用對(duì)象4706來表示由特定的應(yīng)用4710或軟件進(jìn)程使用的資源。對(duì)象4706可以包括對(duì)象函數(shù)4730,對(duì)象函數(shù)4730對(duì)特定類型的對(duì)象4706來說是唯一的,且可以被用來操作特定對(duì)象4706的數(shù)據(jù)。對(duì)象4706可以由包括首部和主體的數(shù)據(jù)結(jié)構(gòu)來表示。對(duì)象4706的首部可以包括所有對(duì)象公用的管理字段。這些字段可以由對(duì)象管理器4704用來管理對(duì)象4706。對(duì)象4706的首部可以包括,例如,標(biāo)識(shí)對(duì)象4706的對(duì)象名稱和/或安全描述符指定與對(duì)象4706相關(guān)聯(lián)的訪問權(quán)限。對(duì)象4706的主體可以包含對(duì)特定類型的對(duì)象4706來說是唯一的對(duì)象專用數(shù)據(jù)字段。[0607]對(duì)象管理器4704可以被配置為在操作系統(tǒng)4713中執(zhí)行以便管理操作系統(tǒng)4713的對(duì)象4706。可以使用可以被用來管理對(duì)象4706各種對(duì)象管理器函數(shù)4726來實(shí)現(xiàn)對(duì)象管理器4704。例如,對(duì)象管理器函數(shù)4726可以包括函數(shù),這些函數(shù)被用來創(chuàng)建、刪除、修改數(shù)據(jù)和/或修改對(duì)象4706的設(shè)置。對(duì)象管理器函數(shù)4726可以使用一個(gè)或多個(gè)子函數(shù)4728來實(shí)現(xiàn)。微軟WindoWs?操作系統(tǒng)的對(duì)象管理器4704所使用的對(duì)象管理器函數(shù)4726的示例可見表1。[0608]【權(quán)利要求】1.一種用于保護(hù)電子設(shè)備的系統(tǒng),包括:存儲(chǔ)器;處理器;駐留在所述存儲(chǔ)器中以供由所述處理器執(zhí)行的一個(gè)或多個(gè)操作系統(tǒng);通信上耦合到所述操作系統(tǒng)的所述電子設(shè)備的資源;被配置為在所述電子設(shè)備上以低于訪問所述資源的所述電子設(shè)備的所有操作系統(tǒng)的級(jí)別執(zhí)行的虛擬機(jī)監(jiān)視器;以及被配置為在所述電子設(shè)備上以低于訪問所述資源的所述電子設(shè)備的所有操作系統(tǒng)的級(jí)別執(zhí)行的安全代理;其中,所述虛擬機(jī)監(jiān)視器被配置為:截取從高于所述虛擬機(jī)監(jiān)視器的級(jí)別做出的對(duì)所述資源的請(qǐng)求;以及向所述安全代理告知所述請(qǐng)求;以及其中,所述安全代理被配置為判斷所述請(qǐng)求是否指示惡意軟件。2.如權(quán)利要求1所述的系統(tǒng),其特征在于,如果所述請(qǐng)求指示惡意軟件,則所述安全代理被配置為拒絕所述請(qǐng)求。3.如權(quán)利要求1所述的系統(tǒng),進(jìn)一步包括被耦合到所述安全代理的服務(wù)器,所述服務(wù)器被配置為向所述安全代理提供安全規(guī)則,所述安全規(guī)則被用來判斷所述請(qǐng)求是否指示惡意軟件。4.如權(quán)利要求3所述的系統(tǒng),其特征在于,所述服務(wù)器被配置為:接收關(guān)于由所述虛擬機(jī)監(jiān)視器觀察到的所述電子設(shè)備上的行為且包括所述請(qǐng)求的信息;以及判斷所觀察到的行為是否指示惡意軟件。5.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述虛擬機(jī)監(jiān)視器和所述安全代理由相同的軟件模塊實(shí)現(xiàn)。6.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述虛擬機(jī)監(jiān)視器和所述安全代理在所述電子設(shè)備的裸機(jī)層內(nèi)操作。7.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述處理器包括用于所述資源的虛擬化擴(kuò)展。8.如權(quán)利要求7所述的系統(tǒng),其特征在于,所述虛擬機(jī)監(jiān)視器使用所述虛擬化擴(kuò)展來截取對(duì)所述資源的所述請(qǐng)求。9.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述資源包括所述處理器的寄存器。10.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述資源包括物理存儲(chǔ)器。11.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述資源包括虛擬存儲(chǔ)器。12.如權(quán)利要求11所述的系統(tǒng),其特征在于,所述安全代理被配置為從一個(gè)或多個(gè)安全規(guī)則判斷對(duì)虛擬存儲(chǔ)器的一個(gè)或多個(gè)頁面的嘗試訪問是否指示惡意軟件。13.如權(quán)利要求1所述的系統(tǒng),進(jìn)一步包括在所述操作系統(tǒng)中的一個(gè)或多個(gè)中運(yùn)行且通信上耦合到所述安全代理的操作系統(tǒng)安全代理,其中,所述安全代理被配置為提供關(guān)于做出對(duì)所述資源的所述請(qǐng)求的所述一個(gè)或多個(gè)操作系統(tǒng)中的一個(gè)或多個(gè)元素的安全信息。14.如權(quán)利要求13所述的系統(tǒng),其特征在于,所述安全代理被配置為確證所述操作系統(tǒng)安全代理。15.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述安全代理被配置為:掃描所述存儲(chǔ)器;以及判斷已知所述存儲(chǔ)器的任何內(nèi)容是惡意的還是安全的。16.一種用于保護(hù)電子設(shè)備的系統(tǒng),包括:存儲(chǔ)器;處理器;駐留在所述存儲(chǔ)器中以供由所述處理器執(zhí)行的一個(gè)或多個(gè)操作系統(tǒng);通信上耦合到所述操作系統(tǒng)的所述電子設(shè)備的資源;被配置為在所述電子設(shè)備上以高于訪問所述資源的所述電子設(shè)備的所有操作系統(tǒng)的優(yōu)先級(jí)執(zhí)行的虛擬機(jī)監(jiān)視器,這樣的優(yōu)先級(jí)由所述處理器定義;以及被配置為在所述電子設(shè)備上以高于訪問所述資源的所述電子設(shè)備的所有操作系統(tǒng)的優(yōu)先級(jí)執(zhí)行的安全代理,這樣的優(yōu)先級(jí)由所述處理器定義;其中,所述虛擬機(jī)監(jiān)視器被配置為:截取從具有少于所述虛擬機(jī)監(jiān)視器的優(yōu)先級(jí)的實(shí)體做出的對(duì)所述資源的請(qǐng)求;以及向所述安全代理告知所述請(qǐng)求;以及其中,所述安全代理被配置為判斷所述請(qǐng)求是否指示惡意軟件。17.一種用于保護(hù)電子設(shè)備的系統(tǒng),包括:存儲(chǔ)器;處理器;駐留在所述存儲(chǔ)器中以供由所述處理器執(zhí)行的一個(gè)或多個(gè)操作系統(tǒng);耦合到所述操作系統(tǒng)的所述電子設(shè)備的資源;被配置為在所述電子設(shè)備上在比訪問所述資源的所述電子設(shè)備的所有操作系統(tǒng)具有更多特權(quán)的執(zhí)行環(huán)上執(zhí)行的虛擬機(jī)監(jiān)視器;以及被配置為在所述電子設(shè)備上在比所述電子設(shè)備的所有操作系統(tǒng)具有更多特權(quán)的執(zhí)行環(huán)上執(zhí)行的安全代理;其特征在于,所述虛擬機(jī)監(jiān)視器被配置為:截取對(duì)所述資源的請(qǐng)求,從比所述虛擬機(jī)監(jiān)視器具有較少特權(quán)的執(zhí)行環(huán)做出所述請(qǐng)求;以及向所述安全代理告知所述請(qǐng)求;以及其中,所述安全代理被配置為判斷所述請(qǐng)求是否指示惡意軟件。18.如權(quán)利要求17所述的系統(tǒng),其特征在于,所述虛擬機(jī)監(jiān)視器在對(duì)應(yīng)于I環(huán)的所述系統(tǒng)的執(zhí)行環(huán)中執(zhí)行。19.一種用于保護(hù)電子設(shè)備的方法,包括在低于訪問資源的所述電子設(shè)備的所有操作系統(tǒng)的級(jí)別:截取從較高的級(jí)別做出的對(duì)所述電子設(shè)備的所述資源的請(qǐng)求,所述資源通信上耦合到所述操作系統(tǒng);以及判斷所述請(qǐng)求是否指示惡意軟件。20.如權(quán)利要求19所述的方法,進(jìn)一步包括如果所述請(qǐng)求指示惡意軟件,則拒絕所述請(qǐng)求。21.如權(quán)利要求19所述的方法,進(jìn)一步包括從服務(wù)器接收安全規(guī)則,所述安全規(guī)則被用來判斷所述請(qǐng)求是否指示惡意軟件。22.如權(quán)利要求21所述的方法,進(jìn)一步包括:發(fā)送關(guān)于在所述電子設(shè)備上觀察到的行為的信息;以及接收所述行為是否指示惡意軟件的判斷。23.如權(quán)利要求19所述的方法,其特征在于,在所述電子設(shè)備的裸機(jī)層內(nèi)實(shí)施截取所述請(qǐng)求并判斷所述請(qǐng)求是否指示惡意軟件。24.如權(quán)利要求19所述的方法,進(jìn)一步包括使用虛擬化擴(kuò)展來截取對(duì)所述資源的所述請(qǐng)求,所述虛擬化擴(kuò)展被包括在所述電子設(shè)備的處理器中且與所述資源相關(guān)聯(lián)。25.如權(quán)利要求19所述的方法,其特征在于,所述資源包括所述處理器的寄存器。26.如權(quán)利要求19所述的方法,其特征在于,所述資源包括物理存儲(chǔ)器。27.如權(quán)利要求19所述的方法,其特征在于,所述資源包括虛擬存儲(chǔ)器。28.如權(quán)利要求27所述的方法,進(jìn)一步包括從一個(gè)或多個(gè)安全規(guī)則判斷對(duì)虛擬存儲(chǔ)器的一個(gè)或多個(gè)頁面的嘗試訪問是否指示惡意軟件。29.如權(quán)利要求19所述的方法,進(jìn)一步包括接收關(guān)于所述電子設(shè)備的操作系統(tǒng)中的一個(gè)或多個(gè)元素的信息,所述元素做出對(duì)所述資源的所述請(qǐng)求。30.如權(quán)利要求29所述的方法,進(jìn)一步包括確證操作系統(tǒng)安全代理的安全,所述操作安全代理被配置為收集關(guān)于所述電子設(shè)備的操作系統(tǒng)中的一個(gè)或多個(gè)元素的信息。31.如權(quán)利要求19所述的方法,進(jìn)一步包括:掃描所述電子設(shè)備的存儲(chǔ)器;以及判斷已知所述存儲(chǔ)器的任何內(nèi)容是惡意的還是安全的。32.一種用于保護(hù)電子設(shè)備的方法,包括以比訪問資源的所述電子設(shè)備的所有操作系統(tǒng)較高的優(yōu)先級(jí),其中這樣的優(yōu)先級(jí)由所述電子設(shè)備的處理器定義:截取從具有較少的優(yōu)先級(jí)的實(shí)體做出的對(duì)所述資源的請(qǐng)求;以及判斷所述請(qǐng)求是否指示惡意軟件。33.一種用于保護(hù)電子設(shè)備的方法,包括在比訪問資源的所述電子設(shè)備的所有操作系統(tǒng)具有更多特權(quán)的執(zhí)行環(huán)上:截取對(duì)所述資源的請(qǐng)求,從具有較少特權(quán)的執(zhí)行環(huán)上做出所述請(qǐng)求;以及判斷所述請(qǐng)求是否指示惡意軟件。34.如權(quán)利要求33所述的方法,其特征在于,所述具有更多特權(quán)的執(zhí)行環(huán)對(duì)應(yīng)于I環(huán)。35.一種制品,包括:計(jì)算機(jī)可讀介質(zhì);以及在所述計(jì)算機(jī)可讀介質(zhì)上攜帶的計(jì)算機(jī)可執(zhí)行指令,所述指令可由處理器讀取,在被讀取和被執(zhí)行時(shí),所述指令用于引起所述處理器在低于訪問資源的電子設(shè)備的所有操作系統(tǒng)的級(jí)別:截取從較高的級(jí)別做出的對(duì)所述電子設(shè)備的所述資源的請(qǐng)求,所述資源通信上耦合到所述操作系統(tǒng);以及判斷所述請(qǐng)求是否指示惡意軟件。36.如權(quán)利要求35所述的制品,其特征在于,進(jìn)一步引起所述處理器:如果所述請(qǐng)求指示惡意軟件,則拒絕所述請(qǐng)求。37.如權(quán)利要求35所述的制品,其特征在于,進(jìn)一步引起所述處理器從服務(wù)器接收安全規(guī)則,所述安全規(guī)則被用來判斷所述請(qǐng)求是否指示惡意軟件。38.如權(quán)利要求37所述的制品,其特征在于,進(jìn)一步引起所述處理器:發(fā)送關(guān)于在所述電子設(shè)備上觀察到的行為的信息;以及接收所述行為是否指示惡意軟件的判斷。39.如權(quán)利要求35所述的制品,其特征在于,引起所述處理器截取所述請(qǐng)求并判斷所述請(qǐng)求是否指示在所述電子設(shè)備的裸機(jī)層內(nèi)的惡意軟件。40.如權(quán)利要求35所述的制品,進(jìn)一步包括引起所述處理器使用虛擬化擴(kuò)展來截取對(duì)所述資源的所述請(qǐng)求,所述虛擬化擴(kuò)展被包括在所述電子設(shè)備的處理器中且與所述資源相關(guān)聯(lián)。41.如權(quán)利要求35所述的制品,其特征在于,所述資源包括所述處理器的寄存器。42.如權(quán)利要求35所述的制品,其特征在于,所述資源包括物理存儲(chǔ)器。43.如權(quán)利要求35所述的制品,其特征在于,所述資源包括虛擬存儲(chǔ)器。44.如權(quán)利要求43所述的制品,其特征在于,進(jìn)一步引起所述處理器從一個(gè)或多個(gè)安全規(guī)則判斷對(duì)虛擬存儲(chǔ)器的一個(gè)或多個(gè)頁面的嘗試訪問是否指示惡意軟件。45.如權(quán)利要求35所述的制品`,其特征在于,進(jìn)一步引起所述處理器接收關(guān)于所述電子設(shè)備的操作系統(tǒng)中的一個(gè)或多個(gè)元素的信息,所述元素做出對(duì)所述資源的所述請(qǐng)求。46.如權(quán)利要求35所述的制品,其特征在于,進(jìn)一步引起所述處理器確證操作系統(tǒng)安全代理的安全,所述操作安全代理被配置為收集關(guān)于所述電子設(shè)備的操作系統(tǒng)中的一個(gè)或多個(gè)元素的信息。47.如權(quán)利要求35所述的制品,其特征在于,進(jìn)一步引起所述處理器:掃描所述電子設(shè)備的存儲(chǔ)器;以及判斷已知所述存儲(chǔ)器的任何內(nèi)容是惡意的還是安全的。48.一種制品,包括:計(jì)算機(jī)可讀介質(zhì);以及在所述計(jì)算機(jī)可讀介質(zhì)上攜帶的計(jì)算機(jī)可執(zhí)行指令,所述指令可由處理器讀取,在被讀取和被執(zhí)行時(shí),所述指令用于引起所述處理器在比訪問所述資源的所述電子設(shè)備的所有操作系統(tǒng)較高的優(yōu)先級(jí),其中所述優(yōu)先級(jí)由所述處理器定義:截取從具有較少的優(yōu)先級(jí)的實(shí)體做出的對(duì)所述資源的請(qǐng)求;以及判斷所述請(qǐng)求是否指示惡意軟件。49.一種制品,包括:計(jì)算機(jī)可讀介質(zhì);以及在所述計(jì)算機(jī)可讀介質(zhì)上攜帶的計(jì)算機(jī)可執(zhí)行指令,所述指令可由處理器讀取,在被讀取和被執(zhí)行時(shí),所述指令用于引起所述處理器在比訪問資源的所述電子設(shè)備的所有操作系統(tǒng)具有更多特權(quán)的執(zhí)行環(huán)上:截取對(duì)所述資源的請(qǐng)求,從具有較少特權(quán)的執(zhí)行環(huán)做出所述請(qǐng)求;以及判斷所述請(qǐng)求是否指示惡意軟件。50.一種用于保護(hù)電子設(shè)備的系統(tǒng),包括:非易失性存儲(chǔ)器;耦合到所述非易失性存儲(chǔ)器的處理器;所述電子設(shè)備的資源;駐留在所述非易失性存儲(chǔ)器中且由所述處理器執(zhí)行的固件,所述固件通信上耦合到電子設(shè)備的資源;以及駐留在所述固件中的固件安全代理,所述固件安全代理被配置為在低于訪問所述資源的所述電子設(shè)備的所有操作系統(tǒng)的級(jí)別:截取對(duì)所述資源的請(qǐng)求;以及判斷所述請(qǐng)求是否指示惡意軟件。51.如權(quán)利要求50所述的系統(tǒng),其特征在于,所述固件駐留在所述電子設(shè)備的外圍設(shè)備的控制器中。52.如權(quán)利要求50所述的系統(tǒng),其特征在于,所述資源包括所述電子設(shè)備的輸入/輸出組件。53.如權(quán)利要求50所述的系統(tǒng),其特征在于,所述資源包括鍵盤。54.如權(quán)利要求50所述的系統(tǒng),其特征在于,所述資源包括顯示設(shè)備。55.如權(quán)利要求50所述的系統(tǒng),其特征在于,所述資源包括盤。56.如權(quán)利要求50所述的系統(tǒng),其特征在于,所述請(qǐng)求包括輸入或輸出命令。57.如權(quán)利要求56所述的系統(tǒng),其特征在于,判斷所述請(qǐng)求是否指示惡意軟件包括評(píng)估所述輸入或輸出命令的值是否指示惡意軟件。58.如權(quán)利要求50所述的系統(tǒng),進(jìn)一步包括:包括所述存儲(chǔ)器和處理器的輸入和/或輸出(I/O)設(shè)備,所述I/O設(shè)備通信上耦合到所述電子設(shè)備的操作系統(tǒng);通信上耦合到所述固件安全代理的安全代理,其中:配置所述固件安全代理以便判斷所述請(qǐng)求是否指示惡意軟件包括配置所述固件安全代理以便向所述安全代理發(fā)送信息,所述信息包括所述請(qǐng)求;以及所述安全代理被配置為訪問一個(gè)或多個(gè)安全規(guī)則以便判斷所述信息是否指示惡意軟件。59.如權(quán)利要求58所述的系統(tǒng),其特征在于,所述安全代理在所述電子設(shè)備的裸機(jī)層內(nèi)操作。60.如權(quán)利要求58所述的系統(tǒng),進(jìn)一步包括在所述操作系統(tǒng)中運(yùn)行且通信上耦合到所述安全代理的操作系統(tǒng)安全代理,其中,所述安全代理被配置為向安全代理提供信息,所述信息涉及做出對(duì)所述資源的所述請(qǐng)求的所述操作系統(tǒng)中的一個(gè)或多個(gè)元素。61.如權(quán)利要求58所述的系統(tǒng),其特征在于,所述固件安全代理被配置為確證所述安全代理。62.如權(quán)利要求58所述的系統(tǒng),其特征在于,所述安全代理被配置為:在低于訪問所述資源的所述電子設(shè)備的所有操作系統(tǒng)的級(jí)別執(zhí)行;以及從高于所述安全代理的級(jí)別接收所述請(qǐng)求。63.如權(quán)利要求58所述的系統(tǒng),其特征在于,所述安全代理被配置為:在比訪問所述資源的所述電子設(shè)備的所有操作系統(tǒng)較高的優(yōu)先級(jí)執(zhí)行,這樣的優(yōu)先級(jí)由所述處理器定義;以及從具有比所述安全代理較少的優(yōu)先級(jí)的實(shí)體接收所述請(qǐng)求。64.如權(quán)利要求58所述的系統(tǒng),其特征在于,所述安全代理被配置為:在比訪問所述資源的所述電子設(shè)備的所有操作系統(tǒng)具有更多特權(quán)的執(zhí)行環(huán)上執(zhí)行;以及從比所述安全代理具有較少特權(quán)的執(zhí)行環(huán)接收所述請(qǐng)求。65.一種用于保護(hù)電子設(shè)備的方法,包括:在通信上耦合到資源的固件中,所述資源被耦合到所述電子設(shè)備且所述固件駐留在非易失性存儲(chǔ)器中,在低于訪問所述資源的所述電子設(shè)備的所有操作系統(tǒng)的級(jí)別截取對(duì)所述資源的請(qǐng)求;查詢一個(gè)或多個(gè)安全規(guī)則;以及基于所述一個(gè)或多個(gè)安全規(guī)則,判斷所述請(qǐng)求是否指示惡意軟件。66.如權(quán)利要求65所述的方法,其特征在于,判斷所述請(qǐng)求是否指示惡意軟件包括:向保護(hù)服務(wù)器發(fā)送關(guān)于所述請(qǐng)求的信息;以及從所述保護(hù)服務(wù)器接收關(guān)于所述請(qǐng)求的判斷。67.如權(quán)利要求65所述的方法,其特征在于,在駐留在所述電子設(shè)備的外圍設(shè)備的控制器中的固件中截取所述請(qǐng)求。68.如權(quán)利要求65所述的方法,其特征在于,所述資源包括所述電子設(shè)備的輸入/輸出組件。69.如權(quán)利要求65所述的方法,其特征在于,所述資源包括鍵盤。70.如權(quán)利要求65所述的方法,其特征在于,所述資源包括顯示設(shè)備。71.如權(quán)利要求65所述的方法,其特征在于,所述資源包括盤。72.如權(quán)利要求65所述的方法,其特征在于,所述請(qǐng)求包括輸入或輸出命令。73.如權(quán)利要求65所述的方法,進(jìn)一步包括與安全代理通信以便接收一個(gè)或多個(gè)安全規(guī)則。74.如權(quán)利要求73所述的方法,進(jìn)一步包括:在輸入和/或輸出(I/O)設(shè)備的固件中截取所述請(qǐng)求;其中,判斷所述請(qǐng)求是否指示惡意軟件包括:向所述安全代理發(fā)送信息,所述信息包括所述請(qǐng)求;以及從所述安全代理訪問一個(gè)或多個(gè)安全規(guī)則以便判斷所述請(qǐng)求是否指示惡意軟件。75.如權(quán)利要求73所述的方法,其特征在于,在所述電子設(shè)備的裸機(jī)層內(nèi)完成從所述安全代理訪問一個(gè)或多個(gè)安全規(guī)則。76.如權(quán)利要求73所述的方法,進(jìn)一步包括:與在所述電子設(shè)備的操作系統(tǒng)中運(yùn)行的操作系統(tǒng)安全代理進(jìn)行通信;以及接收關(guān)于做出對(duì)所述資源的所述請(qǐng)求的所述操作系統(tǒng)的一個(gè)或多個(gè)元素的信息。77.如權(quán)利要求73所述的方法,進(jìn)一步包括確證所述安全代理。78.如權(quán)利要求73所述的方法:其中,所述安全代理在低于所述電子設(shè)備的所有操作方法的級(jí)別操作;以及進(jìn)一步包括從高于所述安全代理的級(jí)別接收所述請(qǐng)求。79.如權(quán)利要求73所述的方法:其中,所述安全代理在比訪問所述資源的所述電子設(shè)備的所有操作系統(tǒng)較高的優(yōu)先級(jí)執(zhí)行,這樣的優(yōu)先級(jí)由所述處理器定義;以及進(jìn)一步包括從具有比所述安全代理較少的優(yōu)先級(jí)的實(shí)體接收所述請(qǐng)求。80.如權(quán)利要求73所述的方法:其中,所述安全代理在比訪問所述資源的所述電子設(shè)備的所有操作系統(tǒng)具有更多特權(quán)的執(zhí)行環(huán)上執(zhí)行;以及進(jìn)一步包括從比所述安全代理具有較少特權(quán)的執(zhí)行環(huán)接收所述請(qǐng)求。81.一種制品,包括:計(jì)算機(jī)可讀介質(zhì);以及在所述計(jì)算機(jī)可讀介質(zhì)上攜帶的計(jì)算機(jī)可執(zhí)行指令,所述指令可由處理器讀取,在被讀取和被執(zhí)行時(shí),所述指令用于引起所述處理器:在通信上耦合到資源的固件中,所述資源被耦合到所述電子設(shè)備且所述固件駐留在非易失性存儲(chǔ)器中,在低于訪問所述資源的所述電子設(shè)備的所有操作系統(tǒng)的級(jí)別截取對(duì)所述資源的請(qǐng)求;查閱一個(gè)或多個(gè)安全規(guī)則;以及基于所述一個(gè)或多個(gè)安全規(guī)則,判斷所述請(qǐng)求是否指示惡意軟件。82.如權(quán)利要求81所述的制品,其特征在于,進(jìn)一步引起所述處理器在駐留在所述電子設(shè)備的外圍設(shè)備的控制器中的固件中截取所述請(qǐng)求。83.如權(quán)利要求81所述的制品,其特征在于,所述資源包括所述電子設(shè)備的輸入/輸出組件。84.如權(quán)利要求81所述的制品,其特征在于,所述資源包括鍵盤。85.如權(quán)利要求81所述的制品,其特征在于,所述資源包括顯示設(shè)備。86.如權(quán)利要求81所述的制品,其特征在于,所述資源包括盤。87.如權(quán)利要求81所述的制品,其特征在于,所述請(qǐng)求包括輸入或輸出命令。88.如權(quán)利要求81所述的制品,進(jìn)一步包括引起所述處理器與安全代理通信以便接收一個(gè)或多個(gè)安全規(guī)則。89.如權(quán)利要求88所述的制品,進(jìn)一步包括引起所述處理器:在輸入和/或輸出(I/O)設(shè)備的固件中截取所述請(qǐng)求;其中,判斷所述請(qǐng)求是否指示惡意軟件包括引起所述處理器:向所述安全代理發(fā)送信息,所述信息包括所述請(qǐng)求;以及從所述安全代理訪問一個(gè)或多個(gè)安全規(guī)則以便判斷所述請(qǐng)求是否指示惡意軟件。90.如權(quán)利要求88所述的制品,其特征在于,在所述電子設(shè)備的裸機(jī)層內(nèi)完成從所述安全代理訪問一個(gè)或多個(gè)安全規(guī)則。91.如權(quán)利要求88所述的制品,其特征在于,進(jìn)一步引起所述處理器:與在所述電子設(shè)備的操作系統(tǒng)中運(yùn)行的操作系統(tǒng)安全代理進(jìn)行通信;以及接收關(guān)于做出對(duì)所述資源的所述請(qǐng)求的所述操作系統(tǒng)中的一個(gè)或多個(gè)元素的信息。92.如權(quán)利要求88所述的制品,其特征在于,進(jìn)一步引起所述處理器確證所述安全代理。93.如權(quán)利要求88所述的制品,其特征在于:所述安全代理被配置為在低于所述電子設(shè)備的所有操作項(xiàng)目的級(jí)別執(zhí)行;以及進(jìn)一步引起所述處理器從高于所述安全代理的級(jí)別接收所述請(qǐng)求。94.如權(quán)利要求88所述的制品,其特征在于:所述安全代理被配置為在比訪問所述資源的所述電子設(shè)備的所有操作系統(tǒng)較高的優(yōu)先級(jí)執(zhí)行,這樣的優(yōu)先級(jí)由所述處理器定義;以及進(jìn)一步引起所述處理器從具有比所述安全代理較少的優(yōu)先級(jí)的實(shí)體接收所述請(qǐng)求。95.如權(quán)利要求88所述的制品,其特征在于:所述安全代理被配置為在比訪問所述資源的所述電子設(shè)備的所有操作系統(tǒng)具有更多特權(quán)的執(zhí)行環(huán)上執(zhí)行;以及進(jìn)一步引起所述處理器從比所述安全代理具有較少特權(quán)的執(zhí)行環(huán)接收所述請(qǐng)求。96.—種用于保護(hù)電子設(shè)備的系統(tǒng),包括:包括微代碼的處理器;耦合到所述處理器的資源;由所述微代碼實(shí)現(xiàn)的微代碼安全代理,所述微代碼安全代理被配置為:`截取通信,所述通信包括所做出的對(duì)所述資源或從所述資源產(chǎn)生的信息的請(qǐng)求;以及判斷所述通信是否指示惡意軟件。97.如權(quán)利要求96所述的系統(tǒng),其特征在于,所述資源包括物理存儲(chǔ)器。98.如權(quán)利要求96所述的系統(tǒng),其特征在于,所述資源包括處理器標(biāo)志。99.如權(quán)利要求96所述的系統(tǒng),其特征在于,所述資源包括處理器異常。100.如權(quán)利要求96所述的系統(tǒng),其特征在于,所述資源包括寄存器。101.如權(quán)利要求96所述的系統(tǒng),其特征在于,所述資源包括處理器中斷。102.如權(quán)利要求96所述的系統(tǒng),其特征在于:所述通信包括處理器指令;以及判斷所述通信是否指示惡意軟件包括評(píng)估所述處理器指令是否指示惡意軟件。103.如權(quán)利要求102所述的系統(tǒng),其特征在于,判斷所述通信是否指示惡意軟件包括評(píng)估所述處理器指令的源地址是否指示惡意軟件。104.如權(quán)利要求102所述的系統(tǒng),其特征在于,判斷所述通信是否指示惡意軟件包括評(píng)估所述處理器指令的目標(biāo)地址是否指示惡意軟件。105.如權(quán)利要求102所述的系統(tǒng),其特征在于,判斷所述通信是否指示惡意軟件包括評(píng)估所述處理器指令的操作數(shù)是否指示惡意軟件。106.如權(quán)利要求96所述的系統(tǒng),進(jìn)一步包括:通信上耦合到所述微代碼安全代理的操作系統(tǒng)下層安全代理,其中:配置所述微代碼安全代理以便判斷所述通信是否指示惡意軟件包括:配置所述微代碼安全代理以便向所述安全代理發(fā)送信息,所述信息包括所述通信;以及所述操作系統(tǒng)下層安全代理被配置為訪問一個(gè)或多個(gè)安全規(guī)則以便判斷所述信息是否指不惡意軟件。107.如權(quán)利要求106所述的系統(tǒng),其特征在于,所述操作系統(tǒng)下層安全代理被配置為在所述電子設(shè)備的裸機(jī)層內(nèi)操作。108.如權(quán)利要求106所述的系統(tǒng),進(jìn)一步包括在所述系統(tǒng)的操作系統(tǒng)上運(yùn)行且通信上耦合到所述操作系統(tǒng)下層安全代理的操作系統(tǒng)安全代理,其中,所述操作系統(tǒng)安全代理被配置為給所述安全代理提供關(guān)于與所述通信相關(guān)聯(lián)的所述操作系統(tǒng)中的一個(gè)或多個(gè)元素的信息。109.如權(quán)利要求106所述的系統(tǒng),其特征在于,所述微代碼安全代理被配置為確證所述操作系統(tǒng)下層安全代理的安全。110.如權(quán)利要求106所述的系統(tǒng),其特征在于:所述操作系統(tǒng)下層安全代理被配置為在低于訪問所述資源的所述電子設(shè)備的所有操作系統(tǒng)的級(jí)別執(zhí)行;以及所述通信具有高于所述操作系統(tǒng)下層安全代理的級(jí)別的源或目的地。111.如權(quán)利要求106所述的系統(tǒng),其特征在于:所述操作系統(tǒng)下層安全代理在比訪問所述資源的所述電子設(shè)備的所有操作系統(tǒng)較高的優(yōu)先級(jí)執(zhí)行,這樣的優(yōu)先級(jí)由所述處理器定義;以及所述通信具有帶有比所述操作系統(tǒng)下層安全代理較少優(yōu)先級(jí)的實(shí)體的源或目的地。112.如權(quán)利要求106所述的系統(tǒng),其特征在于:所述操作系統(tǒng)下層安全代理在比訪問所述資源的所述電子設(shè)備的所有操作系統(tǒng)具有更多特權(quán)的執(zhí)行環(huán)上執(zhí)行;以及所述通信具有比所述操作系統(tǒng)下層安全代理具有較少特權(quán)的執(zhí)行環(huán)的源或目的地。113.一種用于保護(hù)電子設(shè)備的方法,包括:使用由處理器的微代碼實(shí)現(xiàn)的微代碼安全代理,截取包括對(duì)資源或從所述資源產(chǎn)生的信息做出的請(qǐng)求的通信,所述資源被耦合到所述處理器;查詢一個(gè)或多個(gè)安全規(guī)則;以及基于所述一個(gè)或多個(gè)安全規(guī)則,判斷所述通信是否指示惡意軟件。114.如權(quán)利要求113所述的方法,其特征在于,所述資源包括物理存儲(chǔ)器。115.如權(quán)利要求113所述的方法,其特征在于,所述資源包括處理器標(biāo)志。116.如權(quán)利要求113所述的方法,其特征在于,所述資源包括處理器異常。117.如權(quán)利要求113所述的方法,其特征在于,所述資源包括寄存器。118.如權(quán)利要求113所述的方法,其特征在于,所述資源包括處理器中斷。119.如權(quán)利要求113所述的方法,其特征在于:所述通信包括處理器指令;以及判斷所述通信是否指示惡意軟件包括評(píng)估所述處理器指令是否指示惡意軟件。120.如權(quán)利要求119所述的方法,其特征在于,判斷所述通信是否指示惡意軟件包括評(píng)估所述處理器指令的源地址是否指示惡意軟件。121.如權(quán)利要求119所述的方法,其特征在于,判斷所述通信是否指示惡意軟件包括評(píng)估所述處理器指令的目標(biāo)地址是否指示惡意軟件。122.如權(quán)利要求119所述的方法,其特征在于,判斷所述通信是否指示惡意軟件包括評(píng)估所述處理器指令的操作數(shù)是否指示惡意軟件。123.如權(quán)利要求119所述的方法,其特征在于,判斷所述通信是否指示惡意軟件包括向操作系統(tǒng)下層安全代理發(fā)送信息,所述信息包括所述通信,所述安全代理被配置為訪問一個(gè)或多個(gè)安全規(guī)則以便判斷所述信息是否指示惡意軟件。124.如權(quán)利要求123所述的方法,其特征在于,所述長角(longhorn)安全代理被配置為在所述電子設(shè)備的裸機(jī)層內(nèi)操作。125.如權(quán)利要求123所述的方法,進(jìn)一步包括:與在所述電子設(shè)備的操作系統(tǒng)中運(yùn)行的操作系統(tǒng)安全代理進(jìn)行通信;以及接收關(guān)于與和所述資源的通信相關(guān)聯(lián)的所述操作系統(tǒng)中的一個(gè)或多個(gè)元素的信息。126.如權(quán)利要求123所述的方法,進(jìn)一步包括確證所述操作系統(tǒng)下層安全代理的實(shí)例。127.如權(quán)利要求123所述的方法,其特征在于:所述操作系統(tǒng)下層安全代理被配置為在低于所述電子設(shè)備的所有操作方法的級(jí)別執(zhí)行;以及從高于所述操作系統(tǒng)下層安全代理的級(jí)別做出所述請(qǐng)求。128.如權(quán)利要求123所述的方法,其特征在于:所述操作系統(tǒng)下層安全代理被配置為在比訪問所述資源的所述電子設(shè)備的所有操作系統(tǒng)較高的優(yōu)先級(jí)執(zhí)行,這樣的優(yōu)先級(jí)由所述處理器定義;以及從具有比所述操作系統(tǒng)下層安全代理較少的優(yōu)先級(jí)的實(shí)體做出所述請(qǐng)求。129.如權(quán)利要求123所述的方法,其特征在于:所述操作系統(tǒng)下層安全代理被配置為在比訪問所述資源的所述電子設(shè)備的所有操作系統(tǒng)具有更多特權(quán)的執(zhí)行環(huán)上執(zhí)行;以及從比所述操作系統(tǒng)下層安全代理具有較少特權(quán)的執(zhí)行環(huán)做出所述請(qǐng)求。130.一種制品,包括:計(jì)算機(jī)可讀介質(zhì);以及以在所述計(jì)算機(jī)可讀介質(zhì)上攜帶的指令實(shí)現(xiàn)的計(jì)算機(jī)可執(zhí)行的微代碼,所述指令可由處理器讀取,在被讀取和被執(zhí)行時(shí),所述指令用于引起所述處理器:使用所述微代碼指令,截取通信,所述通信包括對(duì)資源或從所述資源產(chǎn)生的信息做出的請(qǐng)求,所述資源被耦合到所述處理器;查閱一個(gè)或多個(gè)安全規(guī)則;以及基于所述一個(gè)或多個(gè)安全規(guī)則,判斷所述通信是否指示惡意軟件。131.如權(quán)利要求130所述的制品,其特征在于,所述資源包括物理存儲(chǔ)器。132.如權(quán)利要求130所述的制品,其特征在于,所述資源包括處理器標(biāo)志。133.如權(quán)利要求130所述的制品,其特征在于,所述資源包括物理存儲(chǔ)器。134.如權(quán)利要求130所述的制品,其特征在于,所述資源包括處理器異常。135.如權(quán)利要求130所述的制品,其特征在于,所述資源包括寄存器。136.如權(quán)利要求130所述的制品,其特征在于,所述資源包括處理器中斷。137.如權(quán)利要求130所述的制品,其特征在于:所述通信包括處理器指令;以及判斷所述通信是否指示惡意軟件包括引起所述處理器評(píng)估所述處理器指令是否指示惡意軟件。138.如權(quán)利要求130所述的制品,其特征在于,判斷所述通信是否指示惡意軟件包括引起所述處理器評(píng)估所述處理器指令的源地址是否指示惡意軟件。139.如權(quán)利要求130所述的制品,其特征在于,判斷所述通信是否指示惡意軟件包括引起所述處理器評(píng)估所述處理器指令的目標(biāo)地址是否指示惡意軟件。140.如權(quán)利要求130所述的制品,其特征在于,判斷所述通信是否指示惡意軟件包括引起所述處理器評(píng)估所述處理器指令的操作數(shù)是否指示惡意軟件。141.如權(quán)利要求130所述的制品,其特征在于,判斷所述通信是否指示惡意軟件包括引起所述處理器向操作系統(tǒng)下層安全代理發(fā)送信息,所述信息包括所述通信,所述操作系統(tǒng)下層安全代理被配置為訪問一個(gè)或多個(gè)安全規(guī)則以便判斷所述信息是否指示惡意軟件。142.如權(quán)利要求141所述的制品,進(jìn)一步包括引起所述處理器確證所述操作系統(tǒng)下層安全代理的實(shí)例。143.如權(quán)利要求141所述的制品,其特征在于:所述操作系統(tǒng)下層安全代理被配置為在低于所述電子設(shè)備的所有操作方法的級(jí)別執(zhí)行;以及從高于所述操作系統(tǒng)下層安全代理的級(jí)別做出所述請(qǐng)求。144.如權(quán)利要求141所述的制品,其特征在于:所述操作系統(tǒng)下層安全代理被配置為在比訪問所述資源的所述電子設(shè)備的所有操作系統(tǒng)較高的優(yōu)先級(jí)執(zhí)行,這樣的優(yōu)先級(jí)由所述處理器定義;以及從具有比所述操作系統(tǒng)下層安全代理較少的優(yōu)先級(jí)的實(shí)體做出所述請(qǐng)求。145.如權(quán)利要求141所述的制品,其特征在于:所述操作系統(tǒng)下層安全代理被配置為在比訪問所述資源的所述電子設(shè)備的所有操作系統(tǒng)具有更多特權(quán)的執(zhí)行環(huán)上執(zhí)行;以及從比所述操作系統(tǒng)下層安全代理具有較少特權(quán)的執(zhí)行環(huán)做出所述請(qǐng)求?!疚臋n編號(hào)】G06F21/52GK103620613SQ201280016726【公開日】2014年3月5日申請(qǐng)日期:2012年3月27日優(yōu)先權(quán)日:2011年3月28日【發(fā)明者】A·S·薩蘭申請(qǐng)人:邁克菲股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1