本公開總地涉及計(jì)算平臺(tái),并且更具體地涉及計(jì)算平臺(tái)安全方法和裝置。
背景
計(jì)算平臺(tái)通常包括多于一個(gè)處理單元。例如,計(jì)算平臺(tái)可包括中央處理單元(CPU)和圖形處理單元(GPU)。GPU典型地與圖形驅(qū)動(dòng)器協(xié)作以生成將被傳遞到顯示設(shè)備(例如,監(jiān)視器或屏幕)的輸出(例如,圖像或一系列圖像)。
附圖說(shuō)明
圖1是根據(jù)本公開的教導(dǎo)構(gòu)建的示例計(jì)算平臺(tái)的圖示。
圖2是圖1的示例掃描管理器的示例實(shí)現(xiàn)的框圖。
圖3是圖1的示例通知模塊的示例實(shí)現(xiàn)的框圖。
圖4示出與圖1的示例網(wǎng)絡(luò)接口驅(qū)動(dòng)器相關(guān)聯(lián)的通道。
圖5是圖1的示例認(rèn)證模塊、圖1的示例應(yīng)用驅(qū)動(dòng)器、圖1的示例卸載進(jìn)程保護(hù)器和圖1的示例管理程序提供的示例保護(hù)的圖示。
圖6是圖1的示例認(rèn)證模塊的示例實(shí)現(xiàn)的框圖。
圖7是圖1的示例應(yīng)用驅(qū)動(dòng)器的示例實(shí)現(xiàn)的框圖。
圖8是圖1的示例卸載進(jìn)程保護(hù)器的示例實(shí)現(xiàn)的框圖。
圖9是圖1的示例掃描器的示例實(shí)現(xiàn)的框圖。
圖10是示出圖1和/或9的示例掃描器的示例操作的示圖。
圖11是表示可以被執(zhí)行以實(shí)現(xiàn)圖1和/或2的示例掃描管理器的示例機(jī)器可讀指令的流程圖。
圖12是表示可以被執(zhí)行以實(shí)現(xiàn)圖1和/或3的示例通知模塊的示例機(jī)器可讀指令的流程圖。
圖13是表示可以被執(zhí)行以實(shí)現(xiàn)圖1和/或4的示例網(wǎng)絡(luò)接口驅(qū)動(dòng)器的示例機(jī)器可讀指令的流程圖。
圖14是表示可以被執(zhí)行以實(shí)現(xiàn)圖1和/或6的示例認(rèn)證模塊的示例機(jī)器可讀指令的流程圖。
圖15是表示可以被執(zhí)行以實(shí)現(xiàn)圖1和/或7的示例應(yīng)用驅(qū)動(dòng)器的示例機(jī)器可讀指令的流程圖。
圖16是表示可以被執(zhí)行以實(shí)現(xiàn)圖1和/或8的示例卸載進(jìn)程保護(hù)器的示例機(jī)器可讀指令的流程圖。
圖17是表示可以被執(zhí)行以實(shí)現(xiàn)圖1和/或9的示例掃描器的示例機(jī)器可讀指令的流程圖。
圖18是示例處理系統(tǒng)通過(guò)執(zhí)行圖11的示例機(jī)器可讀指令實(shí)現(xiàn)圖1和/或2的示例掃描管理器、通過(guò)執(zhí)行圖12的示例機(jī)器可讀指令實(shí)現(xiàn)圖1和/或3的通知模塊、通過(guò)執(zhí)行圖13的示例機(jī)器可讀指令實(shí)現(xiàn)圖1和/或4的示例網(wǎng)絡(luò)接口驅(qū)動(dòng)器、通過(guò)執(zhí)行圖14的示例機(jī)器可讀指令實(shí)現(xiàn)圖1和/或6的示例認(rèn)證模塊、通過(guò)執(zhí)行圖15的示例機(jī)器可讀指令實(shí)現(xiàn)圖1和/或7的示例應(yīng)用驅(qū)動(dòng)器、通過(guò)執(zhí)行圖16的示例機(jī)器可讀指令實(shí)現(xiàn)圖1和/或8的示例卸載進(jìn)程保護(hù)器、和/或通過(guò)執(zhí)行圖17的示例機(jī)器可讀指令實(shí)現(xiàn)圖1和/或9的示例掃描器的框圖。
具體實(shí)施方式
本文中所公開的示例方法和裝置為計(jì)算平臺(tái)提供增強(qiáng)的保護(hù)。典型地,安全應(yīng)用(例如,惡意軟件檢測(cè)程序)配置和實(shí)現(xiàn)一個(gè)或多個(gè)安全任務(wù)以檢測(cè)和/或移除計(jì)算平臺(tái)上的一個(gè)或多個(gè)惡意元素(例如,惡意軟件、可疑通信、病毒等等)。在已知的系統(tǒng)中,由計(jì)算平臺(tái)的中央處理單元(CPU)執(zhí)行安全任務(wù)(例如,程序、應(yīng)用、進(jìn)程、功能、操作、工作負(fù)荷計(jì)算等等)。然而,用于安全任務(wù)(例如,與惡意軟件檢測(cè)相關(guān)聯(lián)的存儲(chǔ)器掃描)的CPU的利用通常消耗大量的CPU循環(huán),其可能負(fù)面地在例如用戶可見性能、電池壽命、吞吐量等等的方面影響計(jì)算平臺(tái)。一些計(jì)算平臺(tái)建立CPU循環(huán)和/或要求應(yīng)用在應(yīng)用可以在計(jì)算平臺(tái)上安裝和/或執(zhí)行之前滿足的功率約束或限制(例如,基準(zhǔn)測(cè)試)。因此,CPU利用的減少通常是有益的。
本文中所公開的示例通過(guò)將一個(gè)或多個(gè)計(jì)算任務(wù)(例如,安全任務(wù))卸載到圖形處理單元(GPU)來(lái)緩和、減輕和/或消除在CPU上執(zhí)行計(jì)算任務(wù)(例如,安全任務(wù)和/或其他類型的計(jì)算任務(wù))的負(fù)面影響。由示例公開的被卸載到GPU的計(jì)算任務(wù)不消耗CPU循環(huán),從而減少CPU的計(jì)算負(fù)擔(dān)和CPU消耗的功率的量。由于應(yīng)用消耗的CPU循環(huán)的數(shù)量和/或應(yīng)用消耗的與CPU相關(guān)的功率的量通常被用于測(cè)量應(yīng)用的性能,本文中所公開的示例尤其對(duì)于例如被要求滿足設(shè)置在CPU循環(huán)和/或功率消耗上的限定或限制(例如,基準(zhǔn)測(cè)試)的獨(dú)立軟件供應(yīng)商(ISV)和其他類型的開發(fā)者有吸引力。
此外,當(dāng)被卸載到GPU的任務(wù)是安全任務(wù)時(shí),本文中所公開的示例使得計(jì)算平臺(tái)對(duì)于諸如惡意軟件的安全威脅更激進(jìn)。即,本文中所公開的示例緩和、減輕和/或消除與對(duì)安全任務(wù)的CPU執(zhí)行相關(guān)聯(lián)的成本,并且因此實(shí)現(xiàn)對(duì)安全任務(wù)更頻繁的執(zhí)行。例如,在GPU而非CPU執(zhí)行存儲(chǔ)器掃描的情況下,本文中所公開的示例減少或消除與存儲(chǔ)器掃描相關(guān)聯(lián)的任意CPU消耗考慮。在只利用CPU用于安全任務(wù)的系統(tǒng)中,此類CPU消耗可能已經(jīng)阻止或延遲一次或多次存儲(chǔ)器掃描的迭代。因?yàn)閻阂廛浖强梢栽谌我鈺r(shí)刻發(fā)生的持續(xù)的威脅,此類阻止或延遲降低了計(jì)算平臺(tái)高效地防止其本身受惡意軟件影響的能力。相反,除了CPU之外或替代CPU,通過(guò)利用GPU用于安全任務(wù)執(zhí)行,本文中所公開的示例減少或消除對(duì)過(guò)多的CPU消耗的考慮,使得可以更激進(jìn)地(例如,更頻繁地、跨更多存儲(chǔ)器、搜索更多模式等等)執(zhí)行存儲(chǔ)器掃描和/或其他惡意軟件檢測(cè)技術(shù)。
此外,本文中所公開的示例認(rèn)識(shí)到,GPU通常比CPU更好地適于執(zhí)行某些安全任務(wù)。例如,惡意軟件檢測(cè)技術(shù)通常涉及處理對(duì)已知對(duì)應(yīng)于惡意代碼(例如,高級(jí)持續(xù)威脅(APT))的一個(gè)或多個(gè)模式的大部分存儲(chǔ)器搜索的掃描操作。將GPU設(shè)計(jì)為渲染和加速顯示信息,其涉及快速地訪問(wèn)和緩沖大部分存儲(chǔ)器。當(dāng)將GPU設(shè)計(jì)為快速和高效地處理此類掃描操作時(shí),GPU較慢和較低效地處理?xiàng)l件邏輯操作,尤其是相對(duì)于CPU。因此,相對(duì)于CPU很好地執(zhí)行的涉及決定和狀態(tài)評(píng)估(例如,數(shù)學(xué)操作)的條件計(jì)算任務(wù),惡意軟件檢測(cè)計(jì)算任務(wù)很好地適于在GPU上執(zhí)行。換言之,本文中所公開的示例認(rèn)識(shí)到涉及存儲(chǔ)器掃描(例如,模式檢測(cè))的計(jì)算任務(wù)對(duì)于卸載到GPU是好的候選對(duì)象,因?yàn)镚PU被設(shè)計(jì)為處理此類任務(wù)。此外,在許多系統(tǒng)中,GPU比CPU消耗更少的功率。因此,通過(guò)將處理沉重的任務(wù)(例如,存儲(chǔ)器掃描)卸載遠(yuǎn)離CPU并朝向GPU,改善了功率消耗性能。因此,除了減少或消除安全任務(wù)的CPU消耗,本文中所公開的示例提供更快、更高效和更少功率消耗的對(duì)安全任務(wù)的執(zhí)行。本文中所公開的示例提供的該增強(qiáng)進(jìn)一步使安全應(yīng)用能更激進(jìn)地(例如,更頻繁地、跨更多存儲(chǔ)器、搜索更多模式等等)執(zhí)行惡意軟件檢測(cè)操作,因?yàn)榭梢栽诟痰臅r(shí)間周期內(nèi)完成更多操作。
此外,本文中所公開的示例認(rèn)識(shí)到和面臨涉及將任務(wù)卸載到GPU的挑戰(zhàn)。例如,盡管對(duì)GPU的某些方面的訪問(wèn)有時(shí)受限制,本文中所公開的方法和裝置提供了監(jiān)視和傳遞關(guān)于被卸載到GPU的任務(wù)的狀態(tài)的信息的能力。具體而言,本文中所公開的示例包括將關(guān)于被卸載到GPU的任務(wù)(例如,被安全應(yīng)用卸載的安全任務(wù)和/或任何其他類型的任務(wù))的狀態(tài)信息提供給與被卸載的任務(wù)相關(guān)聯(lián)的組件的圖形驅(qū)動(dòng)器。例如,本文中所公開的圖形驅(qū)動(dòng)器確定被卸載到GPU的安全任務(wù)已經(jīng)開始執(zhí)行、已經(jīng)結(jié)合優(yōu)先級(jí)調(diào)度被延遲、已經(jīng)被先占、已經(jīng)完成,和/或獲得任意其他合適的類型的狀態(tài)指示。本文中所公開的示例使圖形驅(qū)動(dòng)器能通知與被跟蹤的被卸載的任務(wù)相關(guān)聯(lián)的組件確定的狀態(tài)。在本文中所公開的一些示例中,圖形驅(qū)動(dòng)器將狀態(tài)信息以安全方式提供給與被卸載的任務(wù)相關(guān)聯(lián)的組件。例如,本文中所公開的示例提供的對(duì)狀態(tài)信息的通知在特定的特權(quán)等級(jí)(例如,架構(gòu)中的環(huán)0)被傳遞到組件,以確保狀態(tài)信息不會(huì)被例如嘗試攔截狀態(tài)信息以對(duì)于計(jì)算平臺(tái)不利地使用的惡意軟件濫用。經(jīng)由本文中所公開的示例接收狀態(tài)信息的組件可以測(cè)量當(dāng)前任務(wù)的進(jìn)度、考慮待定任務(wù)的處理延遲、調(diào)節(jié)分配到當(dāng)前或未來(lái)任務(wù)的優(yōu)先級(jí)、和/或詳細(xì)檢查負(fù)責(zé)安全任務(wù)的延遲和/或先占的一個(gè)或多個(gè)組件。因此,本文中所公開的示例安全地為安全應(yīng)用(和/或?qū)⑷我忸愋偷娜蝿?wù)卸載到GPU的任意類型的應(yīng)用)提供有價(jià)值的信息以增強(qiáng)例如惡意軟件檢測(cè)技術(shù)以更好地保護(hù)計(jì)算平臺(tái)。
此外,盡管將任務(wù)卸載到GPU可能涉及對(duì)敏感數(shù)據(jù)的傳遞,本文中所公開的示例將保護(hù)提供給卸載進(jìn)程和/或已經(jīng)被卸載到GPU的任務(wù)。即,將計(jì)算任務(wù)卸載到硬件而不是CPU可能涉及風(fēng)險(xiǎn)。例如,在已知的系統(tǒng)中,GPU執(zhí)行的計(jì)算任務(wù)經(jīng)受與CPU執(zhí)行的計(jì)算任務(wù)不同的特權(quán)等級(jí)監(jiān)視。由此,本文中所公開的示例認(rèn)識(shí)到試圖保持不被檢測(cè)的惡意軟件可能利用已知系統(tǒng)的較不安全的GPU。在一些實(shí)例中,在被卸載的計(jì)算任務(wù)的偽裝下,惡意軟件(例如,在架構(gòu)中具有環(huán)-0許可的惡意代碼)可以破壞和/或修改與GPU相關(guān)聯(lián)的代碼和/或存儲(chǔ)器。該漏洞尤其關(guān)于想要利用GPU的安全應(yīng)用(例如,惡意軟件檢測(cè)器),因?yàn)閷?duì)于安全應(yīng)用,安全代碼本身的完整性是重要的。
為了維持該完整性,本文中所公開的示例為計(jì)算平臺(tái)提供增強(qiáng)的保護(hù),在該計(jì)算平臺(tái)中一個(gè)或多個(gè)計(jì)算任務(wù)被卸載到GPU。本文中所公開的示例利用保護(hù)機(jī)制強(qiáng)化控制GPU的圖形驅(qū)動(dòng)器以減少(如果未消除的話)被GPU執(zhí)行的惡意軟件的實(shí)例。在本文中所公開的一些示例中,圖形驅(qū)動(dòng)器要求嘗試將計(jì)算任務(wù)卸載到GPU的任意應(yīng)用驅(qū)動(dòng)器以與圖形驅(qū)動(dòng)器建立受信任通道。例如,本文中所公開的示例建立的受信任通道要求在可以由應(yīng)用將計(jì)算任務(wù)卸載到GPU之前圖形驅(qū)動(dòng)器和與應(yīng)用相關(guān)聯(lián)的驅(qū)動(dòng)器之間的相互認(rèn)證。在本文中所公開的示例提供的受信任通道就位的情況下,圖形驅(qū)動(dòng)器可以信任接收自相互認(rèn)證的應(yīng)用驅(qū)動(dòng)器的數(shù)據(jù),從而減少(如果未消除的話)結(jié)合卸載進(jìn)程將惡意代碼傳遞到GPU的圖形驅(qū)動(dòng)器的實(shí)例。
由于對(duì)被卸載到GPU的計(jì)算任務(wù)的附加或替代保護(hù),本文中所公開的示例包括被實(shí)現(xiàn)在操作系統(tǒng)(OS)和GPU之間的保護(hù)層。在本文中所公開的一些示例中,保護(hù)層由諸如例如在OS外部執(zhí)行的存儲(chǔ)器受保護(hù)的管理程序(例如,提供的受信任存儲(chǔ)器服務(wù)層(TMSL))的管理程序?qū)崿F(xiàn)。在本文中所公開的一些示例中,保護(hù)層在OS和GPU之間以確保惡意軟件不會(huì)破壞GPU執(zhí)行的計(jì)算任務(wù)。公開的示例的管理程序具有可能在計(jì)算平臺(tái)上的最高特權(quán)等級(jí)(例如,環(huán)-1特權(quán)),并且因此能夠監(jiān)視任意特權(quán)等級(jí)的應(yīng)用作出的存儲(chǔ)器訪問(wèn)嘗試。本文中所公開的示例經(jīng)由保護(hù)層創(chuàng)建存儲(chǔ)器的被隔離的(例如,對(duì)OS不可見的)區(qū)域,在其中執(zhí)行被卸載到GPU的計(jì)算任務(wù)。由此,將被卸載的計(jì)算任務(wù)與將由傳統(tǒng)GPU任務(wù)(例如,圖像渲染)利用的存儲(chǔ)器的其他無(wú)特權(quán)的區(qū)域隔離。
在本文中所公開的一些示例中,保護(hù)層的管理程序檢測(cè)對(duì)被隔離的存儲(chǔ)器的嘗試的訪問(wèn),并且向例如圖形驅(qū)動(dòng)器報(bào)告嘗試的訪問(wèn)。此類檢測(cè)可以對(duì)應(yīng)于嘗試訪問(wèn)被隔離的存儲(chǔ)器的惡意軟件。由此,本文中所公開的示例在攻擊的存儲(chǔ)器訪問(wèn)被準(zhǔn)許之前檢測(cè)惡意軟件攻擊GPU的嘗試,從而挫敗惡意軟件并且保護(hù)在與GPU相關(guān)聯(lián)的被隔離的存儲(chǔ)器中執(zhí)行的被卸載的計(jì)算任務(wù)。在本文中所公開的一些示例中,用于與本文中所公開的受信任通道相關(guān)聯(lián)的相互認(rèn)證的一個(gè)或多個(gè)密鑰被存儲(chǔ)在被隔離的存儲(chǔ)器中,使得對(duì)密鑰的訪問(wèn)被本文中所公開的示例保護(hù)層監(jiān)視。因此,本文中所公開的示例將多個(gè)保護(hù)增強(qiáng)提供給計(jì)算平臺(tái),在計(jì)算平臺(tái)中一個(gè)或多個(gè)計(jì)算任務(wù)被從CPU卸載到GPU上。
此外,本文中所公開的示例包括網(wǎng)絡(luò)通信技術(shù),其使計(jì)算平臺(tái)能更高效地和更快速地檢測(cè)、修復(fù)、和/或移除當(dāng)前感染計(jì)算平臺(tái)的惡意軟件。在一些已知的系統(tǒng)中,從多個(gè)端點(diǎn)設(shè)備(例如,計(jì)算平臺(tái))收集(例如,經(jīng)由網(wǎng)絡(luò))惡意軟件檢測(cè)信息以標(biāo)識(shí)在可能對(duì)應(yīng)于惡意軟件和/或邪惡網(wǎng)絡(luò)通信量的多個(gè)設(shè)備上看到的模式。此類數(shù)據(jù)聚集系統(tǒng)在標(biāo)識(shí)威脅和獲得對(duì)威脅的知曉中是有用的。為了進(jìn)一步利用跨多個(gè)設(shè)備收集的信息,本文中所公開的示例使從收集的信息獲得的知識(shí)能被實(shí)時(shí)地反饋回各個(gè)端點(diǎn)設(shè)備(例如,在受到計(jì)算和/或傳輸約束下盡可能快),使得各個(gè)端點(diǎn)設(shè)備可以利用收集的知識(shí)來(lái)檢測(cè)、修復(fù)、和/或移除對(duì)應(yīng)的惡意軟件。換言之,本文中所公開的示例利用網(wǎng)絡(luò)遙測(cè)以提供收集自一組設(shè)備的信息到各個(gè)端點(diǎn),從而使在各個(gè)端點(diǎn)的對(duì)收集的信息的利用能在惡意軟件可能是活動(dòng)的(例如,當(dāng)前感染和/或以其他方式作用于計(jì)算平臺(tái))的時(shí)刻更好地處理惡意軟件。
例如,根據(jù)本文中所公開的示例構(gòu)建的在第一計(jì)算平臺(tái)上執(zhí)行的惡意軟件檢測(cè)器經(jīng)由網(wǎng)絡(luò)接收來(lái)自第二計(jì)算平臺(tái)的涉及可能的惡意軟件模式的數(shù)據(jù)。根據(jù)本文中所公開的示例,第一計(jì)算平臺(tái)的惡意軟件檢測(cè)器將該數(shù)據(jù)用于對(duì)第一計(jì)算平臺(tái)的存儲(chǔ)器掃描(例如,在對(duì)應(yīng)的CPU和/或?qū)?yīng)的GPU上執(zhí)行)。在此類示例中,對(duì)在網(wǎng)絡(luò)上活動(dòng)的惡意軟件的檢測(cè)的知識(shí)(如第二計(jì)算平臺(tái)和/或被配置為接收來(lái)自第一和第二計(jì)算平臺(tái)的信息的聚集器所認(rèn)識(shí)的)與第一計(jì)算平臺(tái)共享以使當(dāng)惡意軟件是活動(dòng)的(例如,在第一計(jì)算平臺(tái)上執(zhí)行)時(shí)第一計(jì)算平臺(tái)能更高效地和快速地解決惡意軟件。盡管本文中所公開的一些示例涉及被卸載到GPU的安全任務(wù),可以結(jié)合由任意合適的組件(諸如例如,CPU)執(zhí)行的安全任務(wù)利用本文中所公開的示例網(wǎng)絡(luò)通信技術(shù)。
此外,本文中所公開的示例包括增強(qiáng)計(jì)算平臺(tái)例如搜索指示惡意軟件的模式的能力的存儲(chǔ)器掃描技術(shù)。具體而言,本文中所公開的示例提供執(zhí)行數(shù)據(jù)并行功能(例如,OpenCL內(nèi)核)的能力以結(jié)合例如惡意軟件檢測(cè)任務(wù)來(lái)搜索存儲(chǔ)器。如下文詳細(xì)地公開的,本文中所公開的示例將存儲(chǔ)器區(qū)域的固定尺寸的滑動(dòng)窗口映射到用戶模式客戶機(jī)的虛擬地址空間。本文中所公開的示例提供的滑動(dòng)窗口能夠包括源自多個(gè)進(jìn)程(例如,對(duì)應(yīng)于多個(gè)進(jìn)程的存儲(chǔ)器)的數(shù)據(jù)。由此,對(duì)應(yīng)的掃描(例如,用于指示惡意軟件的模式)可以并行地在對(duì)應(yīng)于多個(gè)進(jìn)程的存儲(chǔ)器上操作。這與已知的系統(tǒng)相反,在已知的系統(tǒng)中函數(shù)或進(jìn)程僅能訪問(wèn)該函數(shù)或進(jìn)程明確地映射(例如,經(jīng)由緩沖器)的存儲(chǔ)器。即,在已知的系統(tǒng)中,諸如OpenCL任務(wù)的功能已經(jīng)傾向于被本地地處理。相反,在高吞吐量由于存儲(chǔ)器掃描操作的并行化,本文中所公開的示例實(shí)現(xiàn)對(duì)存儲(chǔ)器系統(tǒng)范圍的分析。
圖1示出根據(jù)本公開的教導(dǎo)構(gòu)建的示例計(jì)算平臺(tái)100。圖1的示例計(jì)算平臺(tái)100包括操作系統(tǒng)(OS)102、具有圖形處理器單元(GPU)106和中央處理單元(CPU)108的計(jì)算復(fù)合體104、網(wǎng)絡(luò)接口110、存儲(chǔ)器112、安全應(yīng)用114、圖形驅(qū)動(dòng)器116、非安全應(yīng)用118、網(wǎng)絡(luò)接口驅(qū)動(dòng)器120、應(yīng)用驅(qū)動(dòng)器122和管理程序124。在圖1所示的示例中,計(jì)算平臺(tái)與服務(wù)器126通信(例如,經(jīng)由諸如因特網(wǎng)或私有網(wǎng)絡(luò)的網(wǎng)絡(luò))。在圖1所示的示例中,服務(wù)器126與示例安全應(yīng)用114相關(guān)聯(lián)。例如,示例服務(wù)器126將與指示惡意軟件的模式相關(guān)聯(lián)的更新傳遞到安全應(yīng)用114和/或?qū)⒁粋€(gè)或多個(gè)安全服務(wù)(例如,惡意軟件修復(fù)服務(wù))提供給安全應(yīng)用114。
在圖1所示的示例中,圖1的安全應(yīng)用114包括根據(jù)本公開的教導(dǎo)構(gòu)建的掃描管理器128。圖1的示例掃描管理器128促進(jìn)與安全應(yīng)用114相關(guān)聯(lián)的一個(gè)或多個(gè)安全任務(wù)以保護(hù)示例計(jì)算平臺(tái)100。結(jié)合圖2在下文中詳細(xì)地公開圖1的掃描管理器128的示例實(shí)現(xiàn)。如下文詳細(xì)地公開的,圖1的示例掃描管理器128利用計(jì)算平臺(tái)100的示例GPU 106以執(zhí)行一個(gè)或多個(gè)任務(wù),例如安全任務(wù)。在一些示例中,圖1的掃描管理器128將安全任務(wù)卸載到GPU 106而不是利用CPU 108來(lái)執(zhí)行安全任務(wù)。例如,圖1的掃描管理器128將用于找出惡意軟件的模式的對(duì)示例存儲(chǔ)器112的一個(gè)或多個(gè)部分的掃描卸載到GPU 106。如下文結(jié)合圖2詳細(xì)地描述的,相對(duì)于只利用CPU 108和使CPU 108負(fù)擔(dān)執(zhí)行安全任務(wù)的系統(tǒng),圖1的示例掃描管理器128提供的將安全任務(wù)卸載到GPU 106實(shí)現(xiàn)更高效的和更激進(jìn)的掃描(例如,更頻繁的掃描、在被測(cè)試的模式的數(shù)量方面更綜合的掃描、和/或在存儲(chǔ)器被掃描的量的方面更密集的掃描)。
在圖1所示的示例中,圖形驅(qū)動(dòng)器116包括根據(jù)本公開的教導(dǎo)構(gòu)建的通知模塊130。結(jié)合圖3在下文中詳細(xì)地公開圖1的通知模塊130的示例實(shí)現(xiàn)。如下文所公開的,除了促進(jìn)OS 102和GU 106的元件之間的交互,圖1的示例圖形驅(qū)動(dòng)器116利用示例通知模塊130來(lái)安全地為GPU 106的消費(fèi)者(例如,利用GPU 106來(lái)執(zhí)行操作的應(yīng)用和/或驅(qū)動(dòng)器)提供與被卸載到GPU 106的任務(wù)相關(guān)聯(lián)的狀態(tài)通知。例如,當(dāng)示例安全應(yīng)用114(例如,經(jīng)由掃描管理器128)將存儲(chǔ)器卸載到GPU 106時(shí),圖1的示例通知模塊130通知安全應(yīng)用114已經(jīng)啟動(dòng)了存儲(chǔ)器掃描、已經(jīng)完成了存儲(chǔ)器掃描、已經(jīng)先占了存儲(chǔ)器掃描、特定進(jìn)程已經(jīng)先占了存儲(chǔ)器掃描、先占了存儲(chǔ)器掃描的特定進(jìn)程的身份、和/或任意其他合適的狀態(tài)信息。附加地或替代地,當(dāng)非安全應(yīng)用118將非安全任務(wù)卸載到GPU 106時(shí),圖1的示例通知模塊130通知非安全應(yīng)用118已經(jīng)啟動(dòng)了存儲(chǔ)器掃描、已經(jīng)完成了存儲(chǔ)器掃描、已經(jīng)先占了存儲(chǔ)器掃描、特定進(jìn)程已經(jīng)先占了存儲(chǔ)器掃描、先占了存儲(chǔ)器掃描的特定進(jìn)程的身份、和/或任意其他合適的狀態(tài)信息。值得注意的是,圖1的示例通知模塊130以安全方式(例如,在僅受信任組件享有的特權(quán)等級(jí),例如英特爾架構(gòu)的環(huán)0)提供通知,使得通知的信息不會(huì)被例如惡意軟件惡意地使用。
如下文所詳細(xì)描述的,GPU 106的消費(fèi)者(例如,安全應(yīng)用114或非安全應(yīng)用118)可以以任意合適的方式(包括例如增強(qiáng)安全應(yīng)用114的惡意軟件檢測(cè)能力)利用示例通知模塊130提供的狀態(tài)信息。此外,圖1的示例通知模塊130使GPU 106的消費(fèi)者能將調(diào)度和/或優(yōu)先級(jí)分配提供給被卸載到GPU 106的任務(wù)。由此,圖1的示例通知模塊130使利用GPU 106的組件(例如,安全應(yīng)用114和/或非安全應(yīng)用118)能基于例如任務(wù)的重要性將優(yōu)先級(jí)等級(jí)分配到去往GPU 106或已經(jīng)被GPU 106執(zhí)行的任務(wù)。
在圖1所示的示例中,圖形驅(qū)動(dòng)器116包括根據(jù)本公開的教導(dǎo)構(gòu)建的認(rèn)證模塊132。圖1的示例認(rèn)證模塊132與根據(jù)本公開的教導(dǎo)構(gòu)建的示例應(yīng)用驅(qū)動(dòng)器122協(xié)作以保護(hù)將任務(wù)卸載到GPU(例如,如示例掃描管理器128所促進(jìn)的)。在圖1所示的示例中,應(yīng)用驅(qū)動(dòng)器122與示例安全應(yīng)用114相關(guān)聯(lián)。結(jié)合圖5在下文中詳細(xì)地公開圖1的認(rèn)證模塊132的示例實(shí)現(xiàn)。結(jié)合圖6在下文中詳細(xì)地公開圖1的應(yīng)用驅(qū)動(dòng)器122的示例實(shí)現(xiàn)。如下文所公開的,示例認(rèn)證模塊132和示例應(yīng)用驅(qū)動(dòng)器122建立相互認(rèn)證以確保將任務(wù)卸載到GPU 106的進(jìn)程并且對(duì)應(yīng)的數(shù)據(jù)被保護(hù)(例如,通過(guò)僅由受信任組件處理)。
在圖1所示的示例中,管理程序124包括根據(jù)本公開的教導(dǎo)構(gòu)建的卸載進(jìn)程保護(hù)器134。結(jié)合圖7在下文中詳細(xì)地公開圖1的卸載進(jìn)程保護(hù)器134的示例實(shí)現(xiàn)。如下文所公開的,圖1的示例卸載進(jìn)程保護(hù)器134利用管理程序124的特權(quán)等級(jí)以監(jiān)視組件處理卸載進(jìn)程和對(duì)應(yīng)的數(shù)據(jù)。例如,卸載進(jìn)程保護(hù)器134監(jiān)視專用于被卸載到GPU 106的任務(wù)的存儲(chǔ)器112的被隔離的片段136并且響應(yīng)于訪問(wèn)存儲(chǔ)器112的被隔離的片段136的嘗試來(lái)執(zhí)行一次或多次檢查或驗(yàn)證。
在圖1所示的示例中,根據(jù)本公開的教導(dǎo)構(gòu)建網(wǎng)絡(luò)接口驅(qū)動(dòng)器120。結(jié)合圖10在下文中公開網(wǎng)絡(luò)接口驅(qū)動(dòng)器120的示例實(shí)現(xiàn)。如下文所公開的,除了促進(jìn)計(jì)算平臺(tái)100的元件(例如,OS 102)之間的交互,圖1的示例網(wǎng)絡(luò)接口驅(qū)動(dòng)器120與示例網(wǎng)絡(luò)接口110協(xié)作以在網(wǎng)絡(luò)(例如,因特網(wǎng))上將涉及安全操作的信息發(fā)送到其他計(jì)算平臺(tái)(例如,端點(diǎn)設(shè)備和/或收集來(lái)自端點(diǎn)設(shè)備的信息的網(wǎng)絡(luò)節(jié)點(diǎn))和接收來(lái)自其他計(jì)算平臺(tái)的涉及安全操作的信息。為了增強(qiáng)與例如安全應(yīng)用114相關(guān)聯(lián)的安全操作,圖1的示例網(wǎng)絡(luò)接口驅(qū)動(dòng)器120接收來(lái)自其他計(jì)算平臺(tái)的關(guān)于在該其他計(jì)算平臺(tái)上檢測(cè)到的可能的惡意軟件的數(shù)據(jù)。例如,可以將在其他計(jì)算平臺(tái)中的一個(gè)或多個(gè)上檢測(cè)到的一個(gè)或多個(gè)模式實(shí)時(shí)(例如,沒(méi)有延遲或合理地盡可能的快)地傳遞到網(wǎng)絡(luò)接口110。圖1的示例網(wǎng)絡(luò)接口驅(qū)動(dòng)器120接收信息并且使信息實(shí)時(shí)(例如,沒(méi)有延遲或合理地盡可能的快)地可用于例如安全應(yīng)用114。由此,當(dāng)對(duì)應(yīng)的惡意軟件可能在網(wǎng)絡(luò)上是活動(dòng)的并且因此在示例計(jì)算平臺(tái)100上是活動(dòng)的時(shí),圖1的示例網(wǎng)絡(luò)接口驅(qū)動(dòng)器120接收指示惡意軟件的信息。因此,圖1的示例網(wǎng)絡(luò)接口驅(qū)動(dòng)器110增強(qiáng)和/或改善例如當(dāng)惡意軟件是活動(dòng)的和非混淆的(例如,未打包的或解密的)時(shí)圖1的安全應(yīng)用114檢測(cè)惡意軟件的能力。圖2的示例網(wǎng)絡(luò)接口驅(qū)動(dòng)器120促進(jìn)對(duì)與在任意合適的組件(例如GPU 106和/或CPU 108)上的正在被執(zhí)行的安全任務(wù)或?qū)⒁粓?zhí)行的安全任務(wù)相關(guān)聯(lián)的數(shù)據(jù)的交換。
在圖1所示的示例中,安全應(yīng)用114包括根據(jù)本公開的教導(dǎo)構(gòu)建的掃描器138。結(jié)合圖8在下文中詳細(xì)地公開圖1的掃描器138的示例實(shí)現(xiàn)。如下文中所公開的,圖1的示例掃描器138實(shí)現(xiàn)對(duì)跨對(duì)應(yīng)于多個(gè)進(jìn)程或功能的存儲(chǔ)器的區(qū)域的掃描操作的并行化,從而改善一個(gè)或多個(gè)掃描操作(例如,搜索存儲(chǔ)器中的指示惡意軟件的模式)的吞吐量。
圖2是圖1的示例安全應(yīng)用114的示例掃描管理器128的示例實(shí)現(xiàn)的框圖。圖1的示例安全應(yīng)用114承擔(dān)保護(hù)示例計(jì)算平臺(tái)100免受惡意軟件的影響的任務(wù),而示例掃描管理器128承擔(dān)管理實(shí)現(xiàn)該保護(hù)的存儲(chǔ)器掃描的任務(wù)。圖2的示例掃描管理器128將已經(jīng)被(例如,安全應(yīng)用114的開發(fā)者、與示例服務(wù)器126相關(guān)聯(lián)的實(shí)體和/或諸如圖4的外部計(jì)算平臺(tái)400的其他計(jì)算平臺(tái))標(biāo)識(shí)的多個(gè)指示惡意軟件的模式200維持為可能對(duì)應(yīng)于正在被惡意軟件感染的計(jì)算平臺(tái)100。圖2的示例指示惡意軟件的模式200對(duì)應(yīng)的示例惡意軟件包括混淆的(例如,加密的和/或打包的)文件、多態(tài)的惡意軟件、和/或非文件的惡意軟件(例如互聯(lián)網(wǎng)蠕蟲、瀏覽器利用、和/或利用反射DLL注入技術(shù)的惡意代碼)。在圖2所示的示例中,示例安全應(yīng)用114利用的指示惡意軟件的模式200(例如,經(jīng)由服務(wù)器126)被例如與安全應(yīng)用114相關(guān)聯(lián)的實(shí)體(例如,安全應(yīng)用114的開發(fā)者)填充。
圖2的示例掃描管理器128促進(jìn)或管理對(duì)計(jì)算平臺(tái)100的一個(gè)或多個(gè)元素(例如,存儲(chǔ)器112的一個(gè)或多個(gè)片段)的掃描(例如,搜索)用于指示惡意軟件的模式200以確定計(jì)算平臺(tái)100是否具有惡意軟件的問(wèn)題。在圖2所示的示例中,掃描管理器128包括卸載器202、掃描啟動(dòng)器204、觸發(fā)事件分析器206、掃描模式選擇器208、掃描目標(biāo)選擇器210和安全服務(wù)通信器212。圖2的示例卸載器202與圖1的示例圖形驅(qū)動(dòng)器116協(xié)作以將掃描中的一個(gè)或多個(gè)卸載到圖1的示例GPU 106。在圖2所示的示例中,卸載器202默認(rèn)將掃描卸載到GPU 106。附加地或替代地,圖2的示例卸載器202可以將掃描中的選擇性的一些和/或某些掃描的選擇性的方面卸載到GPU 106,同時(shí)使CPU 108承擔(dān)執(zhí)行掃描中的其他掃描和/或某些掃描的其他方面的任務(wù)。在一些示例中,圖2的卸載器202基于CPU 108的當(dāng)前工作負(fù)荷和/或GPU 106的當(dāng)前工作負(fù)荷選擇將掃描中的哪個(gè)或哪些卸載到GPU 108。附加地或替代地,圖2的示例卸載器202基于掃描的類型和/或尺寸選擇將掃描中的哪個(gè)或哪些卸載到GPU 108。附加地或替代地,(例如,由下文所描述的掃描啟動(dòng)器204、掃描模式選擇器208、和/或掃描目標(biāo)選擇器210)將掃描特定地設(shè)計(jì)或配置為用于在GPU 106或CPU 108上執(zhí)行。在此類示例中,卸載器202檢測(cè)在對(duì)應(yīng)的掃描上的此類配置設(shè)定,并且基于檢測(cè)到的設(shè)定指定掃描卸載到GPU 106或在CPU 108上執(zhí)行。圖2的示例卸載器202可以使對(duì)卸載到GPU 106的掃描的選擇基于附加的或替代的因素。如在下文中所描述的,圖2的示例卸載器202和對(duì)GPU 106對(duì)應(yīng)的利用為指示惡意軟件的模式200實(shí)現(xiàn)更激進(jìn)的掃描。例如,通過(guò)利用GPU 106,圖2的示例卸載器202實(shí)現(xiàn)掃描更頻繁、將被掃描的目標(biāo)更大、將被搜索的模式更多等等。
圖2的示例掃描啟動(dòng)器204確定何時(shí)將執(zhí)行掃描以及在確定的時(shí)刻啟動(dòng)掃描。在一些示例中,圖2的掃描啟動(dòng)器204將掃描的頻率和/或時(shí)間基于計(jì)算平臺(tái)100的當(dāng)前風(fēng)險(xiǎn)等級(jí)。在此類示例中,圖2的掃描啟動(dòng)器204根據(jù)例如一個(gè)或多個(gè)防火墻、網(wǎng)絡(luò)設(shè)備、事件聚集器(例如,McAfee的加入威脅情報(bào)(JTI))、一個(gè)或多個(gè)傳感器、和/或任意其他合適的系統(tǒng)監(jiān)視器提供的數(shù)據(jù)獲得和/或跟蹤計(jì)算平臺(tái)100的風(fēng)險(xiǎn)等級(jí)。當(dāng)計(jì)算平臺(tái)100的當(dāng)前風(fēng)險(xiǎn)等級(jí)高于閾值時(shí),圖2的示例掃描啟動(dòng)器204增加掃描的頻率。當(dāng)計(jì)算平臺(tái)的當(dāng)前風(fēng)險(xiǎn)等級(jí)低于閾值時(shí),圖2的示例掃描啟動(dòng)器204減少或維持掃描的頻率。在一些示例中,圖2的示例掃描啟動(dòng)器204考慮中間閾值。在一些示例中,如果在連續(xù)的掃描中未發(fā)現(xiàn)威脅,則圖2的掃描啟動(dòng)器204逐漸地降低掃描的頻率。附加地或替代地,圖2的示例掃描啟動(dòng)器204使掃描的頻率和/或時(shí)間基于CPU 108上的當(dāng)前負(fù)荷、GPU 108上的當(dāng)前負(fù)荷、和/或功率可用性。
附加地或替代地,圖2的示例掃描啟動(dòng)器204響應(yīng)于來(lái)自觸發(fā)事件分析器206的指令啟動(dòng)掃描。圖2的示例觸發(fā)事件分析器206監(jiān)視計(jì)算平臺(tái)100的方面和/或接收來(lái)自計(jì)算平臺(tái)100的組件的涉及例如導(dǎo)致?lián)鷳n的一個(gè)或多個(gè)狀況的數(shù)據(jù),并且因此保證掃描的啟動(dòng)。下文討論觸發(fā)示例安全應(yīng)用114的掃描的示例事件。
圖2的示例掃描模式選擇器208選擇指示惡意軟件的模式200中的一個(gè)或多個(gè)作為調(diào)度的掃描的主體。在一些示例中,圖2的掃描模式選擇器208基于例如掃描被調(diào)度給在計(jì)算平臺(tái)100上相對(duì)低的活動(dòng)的時(shí)刻來(lái)選擇所有指示惡意軟件的模式200。在一些示例中,圖2的掃描模式選擇器208為被調(diào)度的掃描選擇指示惡意軟件的模式200的隨機(jī)子集。在一些示例中,圖2的掃描模式選擇器208基于如示例觸發(fā)事件分析器206所檢測(cè)到的觸發(fā)了掃描的事件選擇指示惡意軟件的模式200的子集。在一些示例中,圖2的掃描模式選擇器208基于接收自圖1的示例網(wǎng)絡(luò)接口驅(qū)動(dòng)器120的信息選擇指示惡意軟件的模式200中的一個(gè)或多個(gè)。例如,如結(jié)合圖4在下文中詳細(xì)地公開的,網(wǎng)絡(luò)接口驅(qū)動(dòng)器120接收來(lái)自其他計(jì)算平臺(tái)(例如,圖4的外部計(jì)算平臺(tái)400)的數(shù)據(jù),該數(shù)據(jù)指示例如指示惡意軟件的模式200中的特定的一個(gè)當(dāng)前是活動(dòng)的、可能很快將是活動(dòng)的、和/或最近是活動(dòng)的。由此,圖2的示例掃描模式選擇器208可以根據(jù)經(jīng)由網(wǎng)絡(luò)接口驅(qū)動(dòng)器120接收的數(shù)據(jù)來(lái)選擇指示惡意軟件的模式200中的對(duì)應(yīng)的一個(gè)或多個(gè)。附加地或替代地,圖2的示例網(wǎng)絡(luò)接口驅(qū)動(dòng)器120接收來(lái)自一個(gè)或多個(gè)外部計(jì)算平臺(tái)(例如,圖4的外部計(jì)算平臺(tái)400)的指示惡意軟件的模式并且將接收的指示惡意軟件的模式提供給示例掃描模式選擇器208。在一些示例中,將經(jīng)由網(wǎng)絡(luò)接口驅(qū)動(dòng)器120接收的指示惡意軟件的模式添加到示例安全應(yīng)用114的示例指示惡意軟件的模式200。
圖2的示例掃描目標(biāo)選擇器210選擇將被掃描的一個(gè)或多個(gè)目標(biāo)(例如,用于被掃描模式選擇器208選擇的指示惡意軟件的模式200中的一個(gè)或多個(gè))。例如,掃描目標(biāo)選擇器210選擇存儲(chǔ)器112的一個(gè)或多個(gè)特定片段、其他存儲(chǔ)器的一個(gè)或多個(gè)片段、與一個(gè)或多個(gè)進(jìn)程相關(guān)聯(lián)的存儲(chǔ)器、與一個(gè)或多個(gè)線程相關(guān)聯(lián)的存儲(chǔ)器、與一個(gè)或多個(gè)程序相關(guān)聯(lián)的存儲(chǔ)器、專用于一個(gè)或多個(gè)特定模塊的存儲(chǔ)器范圍、專用于一個(gè)或多個(gè)代碼片段的存儲(chǔ)器范圍、專用于一個(gè)或多個(gè)數(shù)據(jù)片段的存儲(chǔ)器范圍、堆存儲(chǔ)器(heap memory)等等。在一些示例中,圖2的掃描目標(biāo)選擇器210根據(jù)例如一個(gè)或多個(gè)防火墻、網(wǎng)絡(luò)設(shè)備、事件聚集器(例如,McAfee的JTI)、一個(gè)或多個(gè)傳感器、和/或任意其他合適的系統(tǒng)監(jiān)視器提供的數(shù)據(jù)使對(duì)目標(biāo)存儲(chǔ)器的選擇基于計(jì)算平臺(tái)100的當(dāng)前風(fēng)險(xiǎn)等級(jí)。當(dāng)計(jì)算平臺(tái)100的當(dāng)前風(fēng)險(xiǎn)等級(jí)高于閾值時(shí),圖2的示例掃描目標(biāo)選擇器210增加將被掃描的存儲(chǔ)器的量。當(dāng)計(jì)算平臺(tái)的當(dāng)前風(fēng)險(xiǎn)等級(jí)低于閾值時(shí),圖2的示例掃描目標(biāo)選擇器210減少或維持將被掃描的存儲(chǔ)器的量。在一些示例中,圖2的示例掃描目標(biāo)選擇器210考慮中間閾值。在一些示例中,如果在連續(xù)的掃描中未發(fā)現(xiàn)威脅,則圖2的掃描目標(biāo)選擇器210逐漸地減少將被掃描的存儲(chǔ)器的量。附加地或替代地,圖2的示例掃描目標(biāo)選擇器210基于來(lái)自圖2的觸發(fā)事件分析器206的指令來(lái)選擇將被掃描的目標(biāo)存儲(chǔ)器。下文討論觸發(fā)示例安全應(yīng)用114的掃描的示例事件。附加地或替代地,圖2的示例掃描目標(biāo)選擇器210基于經(jīng)由示例網(wǎng)絡(luò)接口驅(qū)動(dòng)器120接收的來(lái)自外部計(jì)算平臺(tái)(例如,圖4的外部計(jì)算平臺(tái)400)的信息來(lái)選擇將被掃描的目標(biāo)存儲(chǔ)器。例如,結(jié)合圖4在下文中詳細(xì)地公開的,圖1的網(wǎng)絡(luò)接口驅(qū)動(dòng)器120接收來(lái)自其他計(jì)算平臺(tái)(例如,圖4的外部計(jì)算平臺(tái)400)的數(shù)據(jù),數(shù)據(jù)指示例如存儲(chǔ)器的特定片段或特定類型的存儲(chǔ)器尤其易受外部計(jì)算平臺(tái)上和/或網(wǎng)絡(luò)上的當(dāng)前正在被檢測(cè)的惡意軟件的攻擊。由此,圖2的示例掃描目標(biāo)選擇器210可以根據(jù)經(jīng)由網(wǎng)絡(luò)接口驅(qū)動(dòng)器120接收的數(shù)據(jù)來(lái)選擇將被掃描的目標(biāo)存儲(chǔ)器。
當(dāng)掃描已經(jīng)被配置時(shí)(例如,調(diào)度執(zhí)行、選擇將被搜索的掃描模式、和選擇目標(biāo)存儲(chǔ)器的時(shí)刻),示例卸載器202促進(jìn)將掃描任務(wù)卸載到示例GPU 106。作為響應(yīng),GPU 106執(zhí)行對(duì)應(yīng)于被配置的掃描的指令。圖2的示例卸載器202指示GPU 106(例如,經(jīng)由圖形驅(qū)動(dòng)器116)以將掃描的結(jié)果提供給安全應(yīng)用114。即,通知示例安全應(yīng)用114,掃描發(fā)現(xiàn)了指示惡意軟件的模式200中的一個(gè)或多個(gè),或未發(fā)現(xiàn)指示惡意軟件的模式200中的任意一個(gè)。如果在GPU 106執(zhí)行的掃描期間發(fā)現(xiàn)了指示惡意軟件的模式200中的一個(gè)或多個(gè),則示例安全應(yīng)用114采取任意合適的修復(fù)動(dòng)作。圖2的示例掃描管理器128包括安全服務(wù)通信器212以與配置為緩和、減輕和/或移除來(lái)自計(jì)算平臺(tái)100的惡意軟件的惡意軟件修復(fù)組件協(xié)作。
在圖2所示的示例中,安全服務(wù)通信器212將與惡意軟件檢測(cè)相關(guān)聯(lián)的數(shù)據(jù)傳遞到在示例計(jì)算平臺(tái)100上執(zhí)行的安全服務(wù)(例如,惡意軟件移除工具或程序),安全服務(wù)采取修復(fù)動(dòng)作。附加地或替代地,圖2的安全服務(wù)通信器212將與惡意軟件檢測(cè)相關(guān)聯(lián)的數(shù)據(jù)傳遞到在計(jì)算平臺(tái)100外部的設(shè)備(例如,服務(wù)器126)上執(zhí)行的外部安全服務(wù),外部安全服務(wù)采取修復(fù)動(dòng)作。附加地或替代地,圖2的安全服務(wù)通信器212將與惡意軟件檢測(cè)相關(guān)聯(lián)的數(shù)據(jù)傳遞到安全應(yīng)用114的另一組件,安全應(yīng)用114的另一組件采取修復(fù)動(dòng)作。
因此,圖2的示例掃描管理器128促進(jìn)對(duì)可能被卸載到圖1的GPU 106的一個(gè)或多個(gè)掃描的調(diào)度、啟動(dòng)和配置。如上文所公開的,對(duì)GPU 106的利用減少CPU 108上的負(fù)擔(dān)。此外,如上文所公開的,GPU 106通常比CPU 108更好地適于(例如,更快的)與安全應(yīng)用114相關(guān)聯(lián)的掃描的類型(例如,模式搜索掃描)。因此,圖2的示例卸載器202和對(duì)GPU 106對(duì)應(yīng)的利用使例如掃描啟動(dòng)器204相對(duì)于只能訪問(wèn)CPU 108的安全應(yīng)用114能更激進(jìn)地調(diào)度和/或啟動(dòng)一個(gè)或多個(gè)動(dòng)作(例如,存儲(chǔ)器掃描)。例如,盡管可以在任意時(shí)間執(zhí)行對(duì)存儲(chǔ)器的掃描,在運(yùn)行時(shí)間為指示惡意軟件的模式200掃描存儲(chǔ)器是檢測(cè)可能以其他方式躲避檢測(cè)的某些威脅的有效方法。例如,當(dāng)對(duì)應(yīng)的威脅是活動(dòng)的以及在惡意軟件代碼執(zhí)行之后,惡意軟件代碼和/或相關(guān)的偽像可以是未混淆的(例如,未打包的)。相反,當(dāng)對(duì)應(yīng)的威脅是不活動(dòng)的時(shí),惡意軟件可能是混淆的(例如,打包的或加密的),并且因此更難以檢測(cè)。因此,在當(dāng)某些惡意軟件是活動(dòng)的時(shí)的運(yùn)行時(shí)間掃描存儲(chǔ)器是有益的。然而,由于CPU性能影響上的限定,計(jì)算平臺(tái)100可能不允許在運(yùn)行時(shí)間經(jīng)由CPU 108執(zhí)行存儲(chǔ)器掃描。此類限定被圖2的示例卸載器202和對(duì)GPU 106對(duì)應(yīng)的利用避免,從而使圖2的示例掃描啟動(dòng)器204能在運(yùn)行時(shí)間調(diào)度和/或啟動(dòng)存儲(chǔ)器掃描(例如,在所有運(yùn)行時(shí)間或比其他方式所允許的更頻繁地)。
此外,圖2的示例卸載器202和對(duì)GPU 106對(duì)應(yīng)的利用使例如掃描模式選擇器208能更激進(jìn)地選擇用于在掃描期間搜索的模式。例如,圖2的掃描模式選擇器208能夠選擇更大數(shù)量的指示惡意軟件的模式200,安全應(yīng)用114可以保護(hù)計(jì)算平臺(tái)100免受該指示惡意軟件的模式200影響,因?yàn)槔鏕PU 106不受施加在CPU 108上的約束,并且因?yàn)镚PU 106比CPU 108更好地適于(例如,在掃描操作更快、更功率高效、并且更不可能被其他操作占據(jù))模式搜索操作。
此外,圖2的示例卸載器202和對(duì)GPU 106對(duì)應(yīng)的利用使例如掃描目標(biāo)選擇器201能更激進(jìn)地為指示惡意軟件的模式200選擇將被搜索的目標(biāo)。例如,圖2的掃描目標(biāo)選擇器210能夠?yàn)橹甘緪阂廛浖哪J?00選擇更寬和/或更大數(shù)量的將被掃描的存儲(chǔ)器地址范圍,因?yàn)槔鏕PU 106不受施加在CPU 108上的約束,并且因?yàn)镚PU 106比CPU 108更好地適于(例如,在掃描操作更快、更功率有效、并且更不可能被其他操作占據(jù))模式搜索操作。
此外,圖2的示例卸載器202和對(duì)GPU 106對(duì)應(yīng)的利用改善計(jì)算平臺(tái)114的功率消耗性能。例如,因?yàn)镚PU 106被設(shè)計(jì)為渲染和加速顯示信息,其涉及快速地訪問(wèn)和緩沖大部分存儲(chǔ)器,GPU 106更高效地執(zhí)行大存儲(chǔ)器操作。因此,經(jīng)由對(duì)為至少一個(gè)掃描操作代替CPU 108的GPU 106的利用降低與安全應(yīng)用114相關(guān)聯(lián)的掃描消耗的功率的量。
此外,圖2的示例卸載器202和對(duì)GPU 106對(duì)應(yīng)的利用增加安全應(yīng)用114可以響應(yīng)(例如,通過(guò)啟動(dòng)存儲(chǔ)器掃描)的事件的數(shù)量和/或類型。由此,圖2的示例觸發(fā)事件分析器206可以為可以被掃描啟動(dòng)器204使用以啟動(dòng)掃描的更大數(shù)量的事件監(jiān)視計(jì)算平臺(tái)100。例如,圖2的觸發(fā)事件分析器206響應(yīng)于在示例計(jì)算平臺(tái)100上的可疑網(wǎng)絡(luò)通信量觸發(fā)存儲(chǔ)器掃描??梢删W(wǎng)絡(luò)通信量的示例包括對(duì)大量不同的IP地址的快速請(qǐng)求、到未知或不受信任的目的地的通信量、和/或在IRC(互聯(lián)網(wǎng)中繼聊天)協(xié)議通信是不常用的或異常的環(huán)境中的IRC通信協(xié)議通信。在此類示例中,圖2的觸發(fā)事件分析器206通過(guò)觸發(fā)對(duì)發(fā)送進(jìn)程(例如,與對(duì)來(lái)自計(jì)算平臺(tái)100的可疑響應(yīng)的傳遞相關(guān)聯(lián)的應(yīng)用)和/或關(guān)鍵系統(tǒng)進(jìn)程的掃描響應(yīng)于可疑傳出網(wǎng)絡(luò)通信量。附加地或替代地,示例可疑網(wǎng)絡(luò)通信量包括接收來(lái)自未知或不受信任的源的數(shù)據(jù)。在此類示例中,圖2的觸發(fā)事件分析器206通過(guò)觸發(fā)對(duì)接收進(jìn)程(例如,與對(duì)可疑數(shù)據(jù)的接收相關(guān)聯(lián)的應(yīng)用)和/或關(guān)鍵系統(tǒng)進(jìn)程的掃描響應(yīng)于可疑傳入網(wǎng)絡(luò)通信量。
附加地或替代地,圖2的示例觸發(fā)事件分析器206響應(yīng)于某些網(wǎng)絡(luò)瀏覽器事件觸發(fā)存儲(chǔ)器掃描。將被圖2的示例觸發(fā)事件分析器206監(jiān)視的示例網(wǎng)絡(luò)瀏覽器事件包括對(duì)網(wǎng)絡(luò)瀏覽器渲染來(lái)自未知或不受信任的源的網(wǎng)頁(yè)的完成。將被圖2的示例觸發(fā)事件分析器206監(jiān)視的另一示例網(wǎng)絡(luò)瀏覽器事件包括瀏覽器助手對(duì)象(BHO)或插件被加載。在此類示例中,圖2的觸發(fā)事件分析器206通過(guò)觸發(fā)對(duì)網(wǎng)絡(luò)瀏覽器進(jìn)程的掃描響應(yīng)于瀏覽器活動(dòng)。
附加地或替代地,圖2的示例觸發(fā)事件分析器206響應(yīng)于被加載進(jìn)例如文檔閱讀器和/或編輯器的文檔觸發(fā)存儲(chǔ)器掃描。在一些示例中,特定考慮的文檔包括實(shí)例,在實(shí)例中實(shí)現(xiàn)諸如宏處理的活動(dòng)的內(nèi)容。在此類示例中,觸發(fā)事件分析器206通過(guò)觸發(fā)對(duì)與加載了文檔的主機(jī)進(jìn)程相關(guān)聯(lián)的存儲(chǔ)器的掃描響應(yīng)于文檔加載。
附加地或替代地,圖2的示例觸發(fā)事件分析器206響應(yīng)于腳本被執(zhí)行觸發(fā)存儲(chǔ)器掃描。在此類示例中,圖2的觸發(fā)事件分析器206通過(guò)觸發(fā)對(duì)擁有腳本的進(jìn)程和/或關(guān)鍵系統(tǒng)進(jìn)程的掃描響應(yīng)于腳本執(zhí)行。
附加地或替代地,圖2的示例觸發(fā)事件分析器206響應(yīng)于來(lái)自例如訪問(wèn)開啟文件監(jiān)視器的可疑文件訪問(wèn)嘗試觸發(fā)存儲(chǔ)器掃描。示例可疑文件訪問(wèn)嘗試包括訪問(wèn)安全應(yīng)用文件的嘗試。另一示例可疑文件訪問(wèn)事件是隱匿程序(rootkit),隱匿程序允許對(duì)應(yīng)的文件出現(xiàn)在直接的列表中,但拒絕用戶和/或安全軟件訪問(wèn)讀取那些文件。在此類示例中,圖2的觸發(fā)事件分析器206通過(guò)觸發(fā)對(duì)負(fù)責(zé)文件訪問(wèn)嘗試的進(jìn)程的掃描響應(yīng)于可疑文件訪問(wèn)事件。
附加地或替代地,圖2的示例觸發(fā)事件分析器206響應(yīng)于改變注冊(cè)表的可疑嘗試觸發(fā)存儲(chǔ)器掃描。示例改變注冊(cè)表的可疑嘗試包括改變安全應(yīng)用的注冊(cè)表值、虛擬化軟件的注冊(cè)表值、和/或隱匿程序的注冊(cè)表值的嘗試。在此類示例中,圖2的觸發(fā)事件分析器206通過(guò)觸發(fā)對(duì)與對(duì)應(yīng)的調(diào)用進(jìn)程相關(guān)聯(lián)的存儲(chǔ)器的掃描響應(yīng)于改變注冊(cè)表的可疑嘗試。
附加地或替代地,圖2的示例觸發(fā)事件分析器206響應(yīng)于改變關(guān)鍵的盤區(qū)域的可疑嘗試而觸發(fā)存儲(chǔ)器掃描。示例關(guān)鍵盤區(qū)域包括MBR(主引導(dǎo)記錄)、VBR(卷引導(dǎo)記錄)、或EFI(可擴(kuò)展固件接口)系統(tǒng)分區(qū)。在此類示例中,圖2的觸發(fā)事件分析器206通過(guò)觸發(fā)對(duì)與對(duì)應(yīng)的調(diào)用進(jìn)程相關(guān)聯(lián)的存儲(chǔ)器的掃描響應(yīng)于改變關(guān)鍵盤區(qū)域的可疑嘗試。
附加地或替代地,圖2的示例觸發(fā)事件分析器206響應(yīng)于外部安全應(yīng)用檢測(cè)到的安全事件而觸發(fā)存儲(chǔ)器掃描。示例外部檢測(cè)到的安全事件包括傳感器和/或監(jiān)視器(例如,McAffee的JTI)。在此類示例中,圖2的觸發(fā)事件分析器206通過(guò)觸發(fā)對(duì)對(duì)應(yīng)的存儲(chǔ)器的掃描、觸發(fā)完全系統(tǒng)掃描、和/或改變當(dāng)前或調(diào)度的掃描的激進(jìn)度來(lái)響應(yīng)于外部安全事件。
附加地或替代地,圖2的示例觸發(fā)事件分析器206響應(yīng)于建立譜系(genealogy)的進(jìn)程而觸發(fā)存儲(chǔ)器掃描。例如,網(wǎng)絡(luò)瀏覽器發(fā)起第一子進(jìn)程和第二隨后進(jìn)程使得圖2的觸發(fā)事件分析器206觸發(fā)對(duì)由于訪問(wèn)惡意網(wǎng)頁(yè)產(chǎn)生的遠(yuǎn)程代碼執(zhí)行利用的掃描。對(duì)網(wǎng)絡(luò)瀏覽器進(jìn)程本身的掃描可能導(dǎo)致對(duì)在存儲(chǔ)器中徘徊的利用代碼的標(biāo)識(shí),而利用可執(zhí)行文件怎樣被發(fā)起的知識(shí)對(duì)產(chǎn)生的進(jìn)程的掃描可以提供關(guān)于攻擊的附加情報(bào)。例如,用戶選擇的通過(guò)網(wǎng)絡(luò)瀏覽器運(yùn)行的應(yīng)用可以遵循特定進(jìn)程路徑命名慣例,而利用導(dǎo)致非預(yù)期的路徑。
附加地或替代地,圖2的示例觸發(fā)事件分析器206響應(yīng)于在進(jìn)程創(chuàng)建期間應(yīng)用參數(shù)被傳遞而觸發(fā)存儲(chǔ)器掃描。例如,典型地用于開發(fā)和測(cè)試的本機(jī)工具(例如,的bcdedit.exe)可以傳遞參數(shù)(例如,bcdedit.ext設(shè)定TESTSIGNIG ON)。在此類實(shí)例中,該布置可以被例如隱匿程序分發(fā)器濫用以繞過(guò)驅(qū)動(dòng)器簽名實(shí)施保護(hù)。由此,圖2的示例觸發(fā)事件分析器206響應(yīng)于檢測(cè)到此類事件觸發(fā)掃描。在一些示例中,如果頁(yè)面改變通知是可用的(例如,經(jīng)由架構(gòu)中的TMSL或EPT),可以將掃描限制到自從上一掃描以來(lái)已經(jīng)改變的存儲(chǔ)器頁(yè)面和/或包含自從上一掃描以來(lái)已經(jīng)被改變的頁(yè)面的進(jìn)程。
附加地或替代地,圖2的示例觸發(fā)事件分析器206響應(yīng)于可疑用戶動(dòng)作觸發(fā)存儲(chǔ)器掃描。示例可疑用戶動(dòng)作包括對(duì)來(lái)自因特網(wǎng)面向程序的應(yīng)用的手動(dòng)執(zhí)行,例如對(duì)電子郵件附件的執(zhí)行。另一示例可疑用戶動(dòng)作包括用戶跟隨電子郵件或即時(shí)消息中發(fā)送的超鏈接,其引向被分類為未知或未分類的網(wǎng)絡(luò)、或全新的站點(diǎn)。在此類示例中,圖2的觸發(fā)事件分析器206通過(guò)觸發(fā)對(duì)存儲(chǔ)器中的基于瀏覽器的利用的掃描來(lái)響應(yīng)于可疑用戶動(dòng)作。
如上文所公開的,圖2的示例掃描管理器128為示例計(jì)算平臺(tái)100提供多個(gè)益處。盡管在任意合適的場(chǎng)景實(shí)現(xiàn)這些益處,示例場(chǎng)景包括不具有被加載到計(jì)算平臺(tái)100上的可識(shí)別簽名的混淆的(例如,打包的)文件(例如,經(jīng)由電子郵件附件,由下載或其他機(jī)制驅(qū)動(dòng))。即,混淆的文件是非受信任的或“灰名單”文件。如果此類文件包括惡意軟件,由于文件是混淆的(和不能將文件拆包)和/或文件的多態(tài)性,惡意軟件可能不被檢測(cè)到。即,當(dāng)文件保持為混淆的時(shí),執(zhí)行的存儲(chǔ)器掃描可能不會(huì)導(dǎo)致惡意軟件檢測(cè)。因此,在具有零星的存儲(chǔ)器掃描的系統(tǒng)中,文件在大多數(shù)時(shí)間段可以被發(fā)起并且可以是活動(dòng)的。相反,當(dāng)文件是未打包的時(shí),示例掃描管理器128實(shí)現(xiàn)連續(xù)的和/或頻繁的將快速地檢測(cè)文件的存儲(chǔ)器掃描。例如,當(dāng)文件是未打包的時(shí),進(jìn)入計(jì)算平臺(tái)100的作為混淆的、不受信任的源的文件被指定(例如,由觸發(fā)事件分析器206)為立即(例如,沒(méi)有延遲或?qū)崟r(shí)地)被掃描的“灰名單”文件。
在其中實(shí)現(xiàn)圖2的示例掃描管理器128提供的益處的另一示例場(chǎng)景是非文件的惡意軟件被加載到計(jì)算平臺(tái)100上。在此類實(shí)例中,惡意軟件在計(jì)算平臺(tái)100上經(jīng)由瀏覽器利用(例如緩沖器溢出)變成活動(dòng)的。因?yàn)閻阂廛浖欠俏募模瑳](méi)有文件被寫入到盤,并且因此在已知的系統(tǒng)中未發(fā)生文件掃描。相反,由于例如能夠連續(xù)地監(jiān)視諸如操作系統(tǒng)服務(wù)的高風(fēng)險(xiǎn)進(jìn)程,圖2的實(shí)例掃描管理器128實(shí)現(xiàn)連續(xù)的和/或頻繁的將檢測(cè)利用的存儲(chǔ)器掃描。
在其中實(shí)現(xiàn)圖2的示例掃描管理器128提供的益處的另一示例場(chǎng)景是在沒(méi)有來(lái)自基于文件的掃描器的檢測(cè)的情況下,混淆的高級(jí)持續(xù)威脅(APT)或基于時(shí)間的惡意軟件被加載到計(jì)算平臺(tái)100的存儲(chǔ)器212中。APT可能不會(huì)立即將包括惡意軟件的有效載荷拆包或解密。在某個(gè)時(shí)間段或其他觸發(fā)之后,APT有效載荷被拆包或解密以用于執(zhí)行。因此,在具有零星的存儲(chǔ)器掃描的系統(tǒng)中,文件在大多數(shù)時(shí)間段可以被發(fā)起并且可以是活動(dòng)的。相反,當(dāng)文件是未打包的或被解密的時(shí),圖2的示例掃描管理器128實(shí)現(xiàn)連續(xù)的和/或頻繁的將快速地檢測(cè)APT的存儲(chǔ)器掃描。
在其中實(shí)現(xiàn)圖2的示例掃描管理器128提供的益處的另一示例場(chǎng)景是用戶將網(wǎng)絡(luò)瀏覽器導(dǎo)航到未知或不受信任的網(wǎng)站。因?yàn)閳D2的示例掃描管理器128實(shí)現(xiàn)連續(xù)的和/或頻繁的存儲(chǔ)器掃描和使諸如網(wǎng)絡(luò)瀏覽器的高風(fēng)險(xiǎn)進(jìn)程優(yōu)先,惡意網(wǎng)站立即被列入黑名單,并且瀏覽器立即被隔離和/或終止。
雖然圖2示出了實(shí)現(xiàn)圖1的掃描管理器128的示例方式,圖2所示的元件、進(jìn)程和/或設(shè)備中的一個(gè)或多個(gè)可以被組合、拆分、重新設(shè)置、省略、消除和/或以任何方式被實(shí)現(xiàn)。此外,圖2的示例卸載器202、示例掃描啟動(dòng)器204、示例觸發(fā)事件分析器206、示例掃描模式選擇器208、示例掃描目標(biāo)選擇器210、示例安全服務(wù)通信器212和/或更一般地示例掃描管理器128可以由硬件、軟件、固件和/或硬件、軟件和/或固件的任意組合實(shí)現(xiàn)。因此,例如,圖2的示例卸載器202、示例掃描啟動(dòng)器204、示例觸發(fā)事件分析器206、示例掃描模式選擇器208、示例掃描目標(biāo)選擇器210、示例安全服務(wù)通信器212和/或更一般地示例掃描管理器128中的任意一個(gè)可以由模擬或數(shù)字電路、邏輯電路、可編程處理器、專用集成電路(ASIC)、可編程邏輯器件(PLD)和/或現(xiàn)場(chǎng)可編程邏輯器件(FPLD)中的一個(gè)或多個(gè)實(shí)現(xiàn)。當(dāng)閱讀覆蓋純軟件和/或固件實(shí)現(xiàn)的本專利的裝置或系統(tǒng)權(quán)利要求中的任一個(gè)時(shí),圖2的示例卸載器202、示例掃描啟動(dòng)器204、示例觸發(fā)事件分析器206、示例掃描模式選擇器208、示例掃描目標(biāo)選擇器210、示例安全服務(wù)通信器212和/或更一般地示例掃描管理器128中的至少一個(gè)由此被明確地定義為包括存儲(chǔ)軟件和/或固件的有形的計(jì)算機(jī)可讀存儲(chǔ)設(shè)備或存儲(chǔ)盤(例如存儲(chǔ)器、數(shù)字多功能盤(DVD)、緊湊盤(CD)、藍(lán)光盤等等)。此外,圖1的示例掃描管理器128可以包括除圖2中所示的之外的一個(gè)或多個(gè)元件、進(jìn)程和/或設(shè)備或作為圖2中所示的替代的一個(gè)或多個(gè)元件、進(jìn)程和/或設(shè)備,并且/或者可以包括所有示出的元件、進(jìn)程和/或設(shè)備中的多于一個(gè)。
圖3是圖1的示例通知模塊130的示例實(shí)現(xiàn)的框圖。圖3的示例通知模塊130包括分派器300以接收來(lái)自GPU 106的消費(fèi)者的請(qǐng)求并且將接收的請(qǐng)求添加到例如多個(gè)請(qǐng)求隊(duì)列302中的合適的一個(gè)。例如,圖3的分派器300接收與GPU 106的本地操作(諸如例如來(lái)自涉及顯示此類數(shù)據(jù)的應(yīng)用(例如,圖1的非安全應(yīng)用118)的顯示渲染任務(wù))相關(guān)聯(lián)的請(qǐng)求。作為響應(yīng),圖3的示例分派器300將顯示渲染任務(wù)添加到圖3的示例請(qǐng)求隊(duì)列302中的對(duì)應(yīng)的一個(gè)(例如,專用于顯示渲染任務(wù)的隊(duì)列)。
此外,圖3的示例分派器300接收與GPU 106的非本地操作(諸如例如來(lái)自圖1和/或2的示例安全應(yīng)用114的涉及模式匹配掃描的安全任務(wù))相關(guān)聯(lián)的請(qǐng)求。作為響應(yīng),圖3的示例分派器300將安全任務(wù)添加到圖3的示例請(qǐng)求隊(duì)列302中的對(duì)應(yīng)的一個(gè)(例如,專用于安全任務(wù)的隊(duì)列)。盡管圖1的示例包括示例安全應(yīng)用114和非安全應(yīng)用118,任意合適數(shù)量的應(yīng)用和/或?qū)?yīng)的驅(qū)動(dòng)器或應(yīng)用和/或?qū)?yīng)的驅(qū)動(dòng)器的任意合適的組合可以經(jīng)由示例圖形驅(qū)動(dòng)器116與GPU 106交互。在圖3所示出的示例中,分派器300提取或以其他方式獲得與任務(wù)相關(guān)聯(lián)的情境數(shù)據(jù)(例如,進(jìn)程標(biāo)識(shí)符、線程標(biāo)識(shí)符等等),并且將情境數(shù)據(jù)與條目包括在請(qǐng)求隊(duì)列302中。此外,以任意合適的方式配置圖3的示例請(qǐng)求隊(duì)列302。例如,可以將不同類型的安全任務(wù)的每一個(gè)分配到請(qǐng)求隊(duì)列302中的專用請(qǐng)求隊(duì)列。
圖3的示例通知模塊130包括調(diào)度器304以調(diào)度將要在GPU 106上執(zhí)行的任務(wù)。圖3的示例調(diào)度器304實(shí)現(xiàn)調(diào)度邏輯以將請(qǐng)求隊(duì)列302的任務(wù)排序。結(jié)合示例調(diào)度器304的調(diào)度邏輯考慮的示例因素和/或條件包括隊(duì)列深度、分配到各個(gè)任務(wù)的優(yōu)先級(jí)等級(jí)、用于先占的時(shí)間片、和/或任意其他合適的因素。示例GPU 106按請(qǐng)求隊(duì)列302中的排序執(zhí)行任務(wù)。
此外,圖3的示例調(diào)度器304獲得在GPU 106上正在被執(zhí)行(例如,并行地)的任務(wù)的狀態(tài)。例如,圖3的調(diào)度器304確定特定的任務(wù)是否已經(jīng)被啟動(dòng)、已經(jīng)被先占、已經(jīng)被完成等等。在圖3所示的示例中,調(diào)度器304檢測(cè)到特定的任務(wù)的狀態(tài)已經(jīng)從一個(gè)狀態(tài)轉(zhuǎn)換到另一個(gè)狀態(tài)。此外,在GPU 106上的執(zhí)行已經(jīng)被先占以及GPU 106的情境需要被恢復(fù)到上一執(zhí)行的點(diǎn)的情況下,圖3的示例調(diào)度器304跟蹤GPU 106的情境信息。
在圖3所示的示例中,當(dāng)調(diào)度器304檢測(cè)到任務(wù)的特定狀態(tài)或任務(wù)已經(jīng)從一個(gè)狀態(tài)轉(zhuǎn)換到另一個(gè)狀態(tài),示例調(diào)度器304將指示檢測(cè)的數(shù)據(jù)傳遞到示例通知模塊130的通知器306。圖3的示例通知器306接收狀態(tài)信息并且將信息傳遞到例如此類信息的請(qǐng)求者。在圖3所示的示例中,通知器306接收來(lái)自例如GPU 106的消費(fèi)者308的通知的請(qǐng)求。然而,圖3的示例通知器306可以接收和處理來(lái)自任意合適的應(yīng)用或組件的請(qǐng)求。圖3的GPU消費(fèi)者308包括例如安全應(yīng)用114,安全應(yīng)用114請(qǐng)求關(guān)于被卸載到GPU 106的安全任務(wù)的狀態(tài)的通知。附加地或替代地,圖2的GPU消費(fèi)者308包括非安全應(yīng)用118,非安全應(yīng)用118請(qǐng)求關(guān)于被卸載到GPU 106的非安全任務(wù)的狀態(tài)的通知。圖3的示例GPU消費(fèi)者308包括任意合適的應(yīng)用、程序和/或組件。在一些示例中,接收自GPU消費(fèi)者308的請(qǐng)求包括特定狀態(tài)(例如,先占的、啟動(dòng)的、完成的等等)和/或期望回調(diào)的特定事件(例如,先占)。圖3的示例通知器306經(jīng)由例如通知請(qǐng)求的列表來(lái)跟蹤接收的請(qǐng)求。響應(yīng)于接收自調(diào)度器304的關(guān)于與正在被GPU 106執(zhí)行的任務(wù)相關(guān)聯(lián)的狀態(tài)和/或事件的信息,圖3的示例通知器306通過(guò)遵循每個(gè)請(qǐng)求的細(xì)節(jié)來(lái)滿足通知請(qǐng)求。在一些示例中,通知器306提取與任務(wù)和/或GPU 106相關(guān)聯(lián)的元數(shù)據(jù),并且將與任務(wù)和/或GPU 106相關(guān)聯(lián)的元數(shù)據(jù)包括在與被請(qǐng)求的組件的通信中。
圖3的示例通知器306提供的通知被安全地傳遞到GPU消費(fèi)者308中的對(duì)應(yīng)的一個(gè)(例如,安全應(yīng)用114)使得信息對(duì)于不受信任組件不可用。在圖3所示的示例中,通知器306在安全特權(quán)等級(jí)(例如,僅受信任組件享有的特權(quán)等級(jí),諸如英特爾架構(gòu)的環(huán)0,而不是不受信任組件不享有的環(huán)3)將通知和相關(guān)的數(shù)據(jù)傳遞到請(qǐng)求組件(例如,GPU消費(fèi)者308)。附加地或替代地,在可以將信息傳遞到請(qǐng)求組件之前,圖3的示例通知器306與請(qǐng)求組件(例如,GPU消費(fèi)者308)建立相互認(rèn)證??梢圆扇「郊拥幕蛱娲恼J(rèn)證措施。
如上所述,在一些實(shí)例中,圖1和/或2的示例安全應(yīng)用114是接收來(lái)自圖3的示例通知器306的狀態(tài)信息的組件。在一些示例中,安全應(yīng)用114使用接收的狀態(tài)信息來(lái)實(shí)現(xiàn)和/或觸發(fā)一個(gè)或多個(gè)安全動(dòng)作。例如,響應(yīng)于圖3的示例通知器306通知安全應(yīng)用114特定進(jìn)程先占了安全任務(wù),圖2的示例觸發(fā)事件分析器206觸發(fā)一個(gè)或多個(gè)安全動(dòng)作(諸如例如對(duì)與先占了安全任務(wù)的特定進(jìn)程相關(guān)聯(lián)的存儲(chǔ)器的掃描、完整存儲(chǔ)器掃描、特定進(jìn)程上的限定)。此外,不受信任進(jìn)程的連續(xù)的或重復(fù)的先占可以被視為敵意行為,并且示例安全應(yīng)用114觸發(fā)針對(duì)不受信任進(jìn)程的防御修復(fù)(例如,經(jīng)由示例安全服務(wù)通信器212)。在一些示例中,安全應(yīng)用114以附加的或替代的方式和/或?yàn)榱烁郊拥幕蛱娲哪康亩褂脠D3的示例通知器306提供的通知信息。例如,圖2的示例掃描啟動(dòng)器204可以使用狀態(tài)信息以測(cè)量正在GPU 106上執(zhí)行的安全任務(wù)的進(jìn)程和/或當(dāng)調(diào)度安全任務(wù)時(shí)可以考慮處理延遲。附加地或替代地,圖2的示例掃描目標(biāo)選擇器210可以使用先占了正在GPU 106上執(zhí)行的安全任務(wù)的進(jìn)程或線程的進(jìn)程標(biāo)識(shí)符(例如,如由示例通知器306所提供的)以為掃描選擇與進(jìn)程或線程相關(guān)聯(lián)的存儲(chǔ)器。
雖然圖3示出了實(shí)現(xiàn)圖1的通知模塊130的示例方式,圖3所示的元件、進(jìn)程和/或設(shè)備中的一個(gè)或多個(gè)可以被組合、拆分、重新設(shè)置、省略、消除和/或以任何方式被實(shí)現(xiàn)。此外,圖3的示例分派器300、示例調(diào)度器304、示例通知器306和/或更一般的示例通知模塊130可以由硬件、軟件、固件和/或硬件、軟件和/或固件的任意組合實(shí)現(xiàn)。因此,例如,圖3的示例分派器300、示例調(diào)度器304、示例通知器306和/或更一般的示例通知模塊130中的任意一個(gè)可以由模擬或數(shù)字電路、邏輯電路、可編程處理器、專用集成電路(ASIC)、可編程邏輯器件(PLD)和/或現(xiàn)場(chǎng)可編程邏輯器件(FPLD)中的一個(gè)或多個(gè)實(shí)現(xiàn)。當(dāng)閱讀覆蓋純軟件和/或固件實(shí)現(xiàn)的本專利的裝置或系統(tǒng)權(quán)利要求中的任一個(gè)時(shí),圖3的示例分派器300、示例調(diào)度器304、示例通知器306和/或更一般的示例通知模塊130中的至少一個(gè)由此被明確地定義為包括存儲(chǔ)軟件和/或固件的有形的計(jì)算機(jī)可讀存儲(chǔ)設(shè)備或存儲(chǔ)盤(例如存儲(chǔ)器、數(shù)字多功能盤(DVD)、緊湊盤(CD)、藍(lán)光盤等等)。此外,圖1的示例通知模塊130可以包括除圖3中所示的之外的一個(gè)或多個(gè)元件、進(jìn)程和/或設(shè)備或作為圖3中所示的替代的一個(gè)或多個(gè)元件、進(jìn)程和/或設(shè)備,并且/或者可以包括所有示出的元件、進(jìn)程和/或設(shè)備中的多于一個(gè)。
圖4是圖1的示例網(wǎng)絡(luò)接口驅(qū)動(dòng)器120的示例實(shí)現(xiàn)的框圖。圖4的示例網(wǎng)絡(luò)接口驅(qū)動(dòng)器120改善示例計(jì)算平臺(tái)100檢測(cè)和/或修復(fù)惡意軟件的能力。一些已知系統(tǒng)包括跨多個(gè)設(shè)備聚集數(shù)據(jù)以標(biāo)記異常的通信量,并且使用被標(biāo)記的通信量信息來(lái)阻止可疑網(wǎng)絡(luò)通信量的特定主機(jī)或源。然而,此類已知系統(tǒng)不會(huì)將威脅從主機(jī)或源移除,并且因此在主機(jī)或源上的惡意軟件繼續(xù)感染主機(jī)或源。即,即使此類系統(tǒng)的管理員將網(wǎng)絡(luò)配置為拒絕所有來(lái)自被感染的主機(jī)的外傳通信量,此類方法將不會(huì)停止惡意軟件執(zhí)行。此外,此類方法可能顯著地減少系統(tǒng)對(duì)于預(yù)期使用的生產(chǎn)值。此外,盡管管理員可以響應(yīng)于被標(biāo)記的主機(jī)啟動(dòng)主機(jī)上的掃描,對(duì)在已知系統(tǒng)中的掃描的啟動(dòng)不包括共享觸發(fā)了該標(biāo)記的特定模式或可疑通信量。即,已知系統(tǒng)啟動(dòng)的掃描可能使用與當(dāng)前被檢測(cè)的模式不同的檢測(cè)邏輯。此外,使用此類安全方式的便攜設(shè)備(例如,智能電話、平板、筆記本等等)上的惡意軟件可以簡(jiǎn)單地等待直到用戶連接到不同網(wǎng)絡(luò)以漏出數(shù)據(jù)或執(zhí)行惡意軟件的有效載荷。
圖4的示例網(wǎng)絡(luò)接口驅(qū)動(dòng)器120使計(jì)算平臺(tái)100和與計(jì)算平臺(tái)100相關(guān)聯(lián)的安全服務(wù)(例如,安全應(yīng)用114)能獲得來(lái)自外部計(jì)算平臺(tái)400的惡意軟件的知識(shí)以用于在示例計(jì)算平臺(tái)100上處理惡意軟件。此外,圖4的示例網(wǎng)絡(luò)接口驅(qū)動(dòng)器120將惡意軟件的知識(shí)傳遞到外部計(jì)算平臺(tái)以用于在外部計(jì)算平臺(tái)400上處理惡意軟件。因此,圖4的示例網(wǎng)絡(luò)接口驅(qū)動(dòng)器120和安裝在外部計(jì)算平臺(tái)400的單獨(dú)的一個(gè)外部計(jì)算平臺(tái)上的類似的組件實(shí)現(xiàn)共享可能在阻止惡意軟件影響計(jì)算平臺(tái)100、400中有用的涉及惡意軟件的信息。在示出的示例中,外部計(jì)算平臺(tái)400包括例如端點(diǎn)設(shè)備、服務(wù)器、網(wǎng)絡(luò)聚集器、和/或任意其他合適的計(jì)算平臺(tái)。
值得注意的是,圖4的示例網(wǎng)絡(luò)接口驅(qū)動(dòng)器120與外部計(jì)算平臺(tái)400實(shí)時(shí)地(例如,沒(méi)有延遲)共享信息,反之亦然。例如,當(dāng)示例外部計(jì)算平臺(tái)400中的一個(gè)檢測(cè)到可疑模式(和/或其他類型的惡意軟件指示)時(shí),圖4的示例網(wǎng)絡(luò)接口驅(qū)動(dòng)器120立即接收關(guān)于可疑模式的信息。為了將信息提供給外部計(jì)算平臺(tái)400,圖4的示例網(wǎng)絡(luò)接口驅(qū)動(dòng)器120包括實(shí)時(shí)報(bào)告器402。例如,當(dāng)示例安全應(yīng)用114檢測(cè)到惡意代碼時(shí),示例安全應(yīng)用114(例如,經(jīng)由安全服務(wù)通信器212)與示例實(shí)時(shí)報(bào)告器402協(xié)作以促進(jìn)將對(duì)應(yīng)信息傳遞到例如外部計(jì)算平臺(tái)400。在一些示例中,經(jīng)由圖4的實(shí)時(shí)報(bào)告器402傳遞的信息包括例如應(yīng)是對(duì)應(yīng)的掃描(例如,由示例外部計(jì)算平臺(tái)100進(jìn)行)的目標(biāo)的存儲(chǔ)器和/或進(jìn)程的類型的指令或指示。
此外,為了接收來(lái)自外部計(jì)算平臺(tái)400的信息,圖4的示例網(wǎng)絡(luò)接口驅(qū)動(dòng)器120包括實(shí)時(shí)接收器404。通過(guò)實(shí)時(shí)地(例如,沒(méi)有經(jīng)受例如傳輸和/或處理時(shí)間的延遲)發(fā)送和接收指示惡意軟件的信息,圖4的示例實(shí)時(shí)報(bào)告器402和/或圖4的示例實(shí)時(shí)報(bào)告器404增加例如圖1和/或2的安全應(yīng)用114檢測(cè)對(duì)應(yīng)的惡意軟件的能力。具體而言,在圖4的實(shí)時(shí)接收器404接收的指示惡意軟件的信息對(duì)應(yīng)于活動(dòng)的惡意軟件。換言之,因?yàn)閷?shí)時(shí)地在圖4的示例實(shí)時(shí)接收器404接收指示惡意軟件的信息,指示惡意軟件的信息可能對(duì)應(yīng)于正在網(wǎng)絡(luò)(包括示例計(jì)算平臺(tái)100)上執(zhí)行的惡意軟件。由此,對(duì)于接收的指示惡意軟件的信息的存儲(chǔ)器掃描更可能檢測(cè)到惡意軟件,因?yàn)閻阂廛浖腔顒?dòng)的,并且因此是未打包的和/或非混淆的。
在此類實(shí)例中,圖2的示例觸發(fā)事件分析器206可以觸發(fā)對(duì)例如存儲(chǔ)器112的一個(gè)或多個(gè)片段的立即掃描,并且圖2的示例掃描目標(biāo)選擇器210可以將接收的指示惡意軟件的信息用作存儲(chǔ)器掃描的目標(biāo)。附加地或替代地,圖2的示例掃描啟動(dòng)器204可以基于在圖4的示例實(shí)時(shí)接收器404接收的信息使存儲(chǔ)器掃描的啟動(dòng)優(yōu)先。附加地或替代地,圖1和/或2的示例安全應(yīng)用114可以利用在圖4的示例實(shí)時(shí)接收器404接收的信息以調(diào)整或改變調(diào)度的、待定的、和/或當(dāng)前的存儲(chǔ)器掃描。例如,圖2的示例掃描啟動(dòng)器204可以重新排定在調(diào)度之前執(zhí)行的一個(gè)或多個(gè)存儲(chǔ)器掃描的優(yōu)先級(jí)。
如上文所公開的,圖4的示例網(wǎng)絡(luò)接口驅(qū)動(dòng)器120為示例計(jì)算平臺(tái)100提供多個(gè)益處。盡管在任意合適的場(chǎng)景實(shí)現(xiàn)這些益處,示例場(chǎng)景包括被示例外部計(jì)算平臺(tái)400中的一個(gè)或多個(gè)和/或計(jì)算平臺(tái)100本身檢測(cè)到的網(wǎng)絡(luò)蠕蟲。例如,外部計(jì)算平臺(tái)400和/或計(jì)算平臺(tái)100可以包括經(jīng)由例如剖析外傳網(wǎng)絡(luò)通信量來(lái)檢測(cè)高容量IP掃描(例如,到順序的外部IP地址的多個(gè)快速請(qǐng)求)的網(wǎng)關(guān)或安全設(shè)備(例如,入侵預(yù)防系統(tǒng)(IPS)、防火墻、代理等等)。例如,所討論的IP地址可以與外部計(jì)算平臺(tái)400和/或計(jì)算平臺(tái)100中的對(duì)應(yīng)的一個(gè)不同(例如,在網(wǎng)絡(luò)和/或地域方面)。在此類實(shí)例中,與檢測(cè)到蠕蟲的計(jì)算平臺(tái)相關(guān)聯(lián)的圖4的示例實(shí)時(shí)報(bào)告器402使所討論的IP地址可用于其他計(jì)算平臺(tái)作為在各個(gè)機(jī)器上查找的特征。在一些示例中,此類場(chǎng)景涉及計(jì)算平臺(tái)100請(qǐng)求的被檢測(cè)為在外部計(jì)算平臺(tái)400中的一個(gè)或多個(gè)上可疑的IP地址,并且一個(gè)或多個(gè)外部計(jì)算平臺(tái)400將可疑IP地址特征饋送回計(jì)算平臺(tái)100以作為掃描的主體。
另一示例場(chǎng)景涉及對(duì)互聯(lián)網(wǎng)中繼聊天(IRC)僵尸的檢測(cè)。例如,網(wǎng)絡(luò)設(shè)備可以標(biāo)識(shí)IRC協(xié)議被用于以給定的用戶名來(lái)嘗試連接到遠(yuǎn)程服務(wù)器和通道。在一些實(shí)例中,此類檢測(cè)違反一條或多條規(guī)則。作為響應(yīng),與檢測(cè)到違反的計(jì)算平臺(tái)相關(guān)聯(lián)的圖4的實(shí)例實(shí)時(shí)報(bào)告器402將諸如用戶名和/或IP地址的對(duì)應(yīng)細(xì)節(jié)傳遞到其他計(jì)算平臺(tái),使得其他計(jì)算平臺(tái)可以查找按類似方式被使用的用戶名。
另一示例場(chǎng)景涉及對(duì)跨多個(gè)節(jié)點(diǎn)的外部HTTP用戶-代理的檢測(cè)。例如,當(dāng)發(fā)送HTTP請(qǐng)求時(shí),惡意軟件可以使用定制的用戶-代理。具有外來(lái)的用戶-代理的單獨(dú)的系統(tǒng)可能不會(huì)是對(duì)惡意軟件的掃描的原因。然而,對(duì)多個(gè)節(jié)點(diǎn)發(fā)送此類通信量的觀察可能超過(guò)掃描發(fā)生的閾值。在此類實(shí)例中,網(wǎng)絡(luò)安全設(shè)備可以標(biāo)識(shí)不同的網(wǎng)絡(luò)節(jié)點(diǎn)作出的相同但外來(lái)的HTTP請(qǐng)求。在此類實(shí)例中,與檢測(cè)到外部HTTP請(qǐng)求的計(jì)算平臺(tái)相關(guān)聯(lián)的圖4的示例實(shí)時(shí)報(bào)告器402可以將諸如用戶-代理字符串的部分的一個(gè)或多個(gè)細(xì)節(jié)傳遞到其他計(jì)算平臺(tái)??梢岳迷撔畔⒁愿玫貦z測(cè)在其他計(jì)算平臺(tái)上的對(duì)應(yīng)的惡意軟件。
因此,基于在例如圖4的實(shí)時(shí)接收器404接收的指示惡意軟件的信息的模式搜索可以包括為了相關(guān)的字符串(ANSI和/或統(tǒng)一碼)和/或字節(jié)模式而掃描存儲(chǔ)器。如果掃描返回匹配,可以通過(guò)將對(duì)應(yīng)的存儲(chǔ)器映射到冒犯性(offending)進(jìn)程來(lái)標(biāo)識(shí)冒犯性進(jìn)程或線程。結(jié)合圖2如上所述,示例安全服務(wù)通信器212接收存儲(chǔ)器掃描的結(jié)果,并且可以采取任意合適的補(bǔ)救動(dòng)作。附加地或替代地,圖4的示例實(shí)時(shí)接收器404接收的信息可以將與可疑網(wǎng)絡(luò)通信量相關(guān)聯(lián)的標(biāo)準(zhǔn)提供給例如跨圖1的示例網(wǎng)絡(luò)接口110掃描數(shù)據(jù)的網(wǎng)絡(luò)過(guò)濾器驅(qū)動(dòng)器。
雖然圖4示出了實(shí)現(xiàn)圖1的網(wǎng)絡(luò)接口驅(qū)動(dòng)器120的示例方式,圖4所示的元件、進(jìn)程和/或設(shè)備中的一個(gè)或多個(gè)可以被組合、拆分、重新設(shè)置、省略、消除和/或以任何方式被實(shí)現(xiàn)。此外,圖4的示例實(shí)時(shí)報(bào)告器402、示例實(shí)時(shí)接收器404和/或更一般的示例網(wǎng)絡(luò)接口驅(qū)動(dòng)器120可以由硬件、軟件、固件和/或硬件、軟件和/或固件的任意組合實(shí)現(xiàn)。因此,例如,圖4的示例實(shí)時(shí)報(bào)告器402、示例實(shí)時(shí)接收器404和/或更一般的示例網(wǎng)絡(luò)接口驅(qū)動(dòng)器120中的任意一個(gè)可以由模擬或數(shù)字電路、邏輯電路、可編程處理器、專用集成電路(ASIC)、可編程邏輯器件(PLD)和/或現(xiàn)場(chǎng)可編程邏輯器件(FPLD)中的一個(gè)或多個(gè)實(shí)現(xiàn)。當(dāng)閱讀覆蓋純軟件和/或固件實(shí)現(xiàn)的本專利的裝置或系統(tǒng)權(quán)利要求中的任一個(gè)時(shí),圖4的示例實(shí)時(shí)報(bào)告器402、示例實(shí)時(shí)接收器404和/或更一般的示例網(wǎng)絡(luò)接口驅(qū)動(dòng)器120中的至少一個(gè)由此被明確地定義為包括存儲(chǔ)軟件和/或固件的有形的計(jì)算機(jī)可讀存儲(chǔ)設(shè)備或存儲(chǔ)盤(例如存儲(chǔ)器、數(shù)字多功能盤(DVD)、緊湊盤(CD)、藍(lán)光盤等等)。此外,圖1的示例網(wǎng)絡(luò)接口驅(qū)動(dòng)器120可以包括除圖4中所示的之外的一個(gè)或多個(gè)元件、進(jìn)程和/或設(shè)備或作為圖4中所示的替代的一個(gè)或多個(gè)元件、進(jìn)程和/或設(shè)備,并且/或者可以包括所有示出的元件、進(jìn)程和/或設(shè)備中的多于一個(gè)。
圖5示出通過(guò)圖1的示例認(rèn)證模塊132、示例應(yīng)用驅(qū)動(dòng)器122、示例管理程序124和示例卸載進(jìn)程保護(hù)器134提供的示例保護(hù)。在圖5的示例中,圖形驅(qū)動(dòng)器116控制OS 102和GPU 106的組件之間的交互。例如,圖形驅(qū)動(dòng)器116控制可以包括利用GPU 106的顯示功能的非安全應(yīng)用118和GPU 106之間的交互。此外,示例圖形驅(qū)動(dòng)器116控制圖1和/或2的示例安全應(yīng)用114和GPU 106之間的交互。如上所述,示例安全應(yīng)用114經(jīng)由示例圖形驅(qū)動(dòng)器116將一個(gè)或多個(gè)任務(wù)(例如,諸如存儲(chǔ)器掃描的安全任務(wù))卸載到GPU 106。盡管圖5的示例包括安全應(yīng)用114和非安全應(yīng)用108,任意合適數(shù)量的應(yīng)用可以經(jīng)由示例圖形驅(qū)動(dòng)器116與GPU 106交互。此外,盡管以下描述安全應(yīng)用114和安全任務(wù)被安全應(yīng)用114卸載到GPU 106,任意合適類型的應(yīng)用可以利用示例認(rèn)證模塊132、示例應(yīng)用驅(qū)動(dòng)器122、示例管理程序124和/或示例卸載進(jìn)程保護(hù)器134提供的示例保護(hù)以安全地將一個(gè)或多個(gè)計(jì)算任務(wù)卸載到示例GPU 106。
在圖5的示例中,安全應(yīng)用114經(jīng)由示例應(yīng)用驅(qū)動(dòng)器122(和示例圖形驅(qū)動(dòng)器116)與GPU 106交互(例如,將數(shù)據(jù)傳遞到)。因此,圖1的示例安全應(yīng)用114將任務(wù)卸載到示例GPU 106,任務(wù)經(jīng)由示例圖形驅(qū)動(dòng)器116和示例應(yīng)用驅(qū)動(dòng)器122之間的通信被卸載。在已知系統(tǒng)中,未被監(jiān)視的到GPU的訪問(wèn)將應(yīng)用(例如,諸如惡意軟件的惡意代碼)提供給內(nèi)核等級(jí)代碼。在此類實(shí)例中,惡意軟件可以更容易地(例如,相對(duì)于包括CPU的特權(quán)環(huán)境)修改和/或破壞GPU 106正在執(zhí)行的代碼。與此類已知系統(tǒng)相反,示例認(rèn)證模塊132、示例應(yīng)用驅(qū)動(dòng)器122、示例管理程序124和/或示例卸載進(jìn)程保護(hù)器134提供安全卸載進(jìn)程并且保護(hù)被卸載的計(jì)算任務(wù)的執(zhí)行。具體而言,在示例圖形驅(qū)動(dòng)器116和示例應(yīng)用驅(qū)動(dòng)器122之間建立受信任通道500。在圖5的示例受信任通道500就位的情況下,認(rèn)證來(lái)自示例應(yīng)用驅(qū)動(dòng)器122在示例圖形驅(qū)動(dòng)器116接收的計(jì)算任務(wù)和/或其他類型的數(shù)據(jù)(例如,經(jīng)由相互認(rèn)證過(guò)程被驗(yàn)證為接收自受信任源)。換言之,經(jīng)由圖5的示例受信任通道500接收自示例應(yīng)用驅(qū)動(dòng)器122的計(jì)算任務(wù)和/或其他類型的數(shù)據(jù)被確認(rèn)為已經(jīng)源自受信任源(例如,示例安全應(yīng)用114),并且因此未對(duì)示例計(jì)算平臺(tái)100造成威脅。在圖形驅(qū)動(dòng)器116和示例應(yīng)用驅(qū)動(dòng)器122之間建立的圖5的示例受信任通道500提供從應(yīng)用驅(qū)動(dòng)器122到示例GPU 106的安全隧道502。由此,在示例應(yīng)用驅(qū)動(dòng)器122和示例圖形驅(qū)動(dòng)器116之間建立的圖5的示例受信任通道500確保惡意計(jì)算任務(wù)不被傳遞到以其他方式易受攻擊的GPU 106。結(jié)合圖6和7在下文中詳細(xì)公開圖5的示例受信任通道500和圖5的對(duì)應(yīng)的示例安全隧道502的示例實(shí)現(xiàn)。
在圖5所示的示例中,示例計(jì)算平臺(tái)100的管理程序124為將計(jì)算任務(wù)卸載504到示例GPU 106提供特權(quán)等級(jí)保護(hù)方案。在圖5所示的示例中,管理程序124補(bǔ)充提供安全隧道502的示例受信任通道500提供的保護(hù)。在一些示例中,未實(shí)現(xiàn)管理程序124,并且示例計(jì)算平臺(tái)100依賴于示例受信任通道500以確保卸載進(jìn)程的完整性。在一些示例中,在圖5的示例受信任通道500未就位的情況下實(shí)現(xiàn)圖1的管理程序124。例如,除了或代替經(jīng)由示例圖形驅(qū)動(dòng)器116提供的示例安全隧道502,管理程序124可以監(jiān)視在應(yīng)用驅(qū)動(dòng)器122和GPU 106以及被卸載的計(jì)算任務(wù)504之間直接地映射(例如,使用用于直接的I/O的英特爾虛擬化技術(shù)(VT-d))的通信路徑505。在一些此類實(shí)例中,與安全隧道502相關(guān)聯(lián)的圖形驅(qū)動(dòng)器116的組件中的至少一些未被利用于與直接通信路徑505結(jié)合。因此,可以單獨(dú)地和/或結(jié)合地使用圖5的示例管理程序124和示例受信任通道500以保護(hù)示例被卸載的計(jì)算任務(wù)504。
在圖5所示的示例中,管理程序124包括卸載進(jìn)程保護(hù)器134。在圖5所示的示例中,管理程序124和/或示例卸載進(jìn)程保護(hù)器134由存儲(chǔ)器受保護(hù)的管理程序(例如,提供的受信任存儲(chǔ)器服務(wù)層(TMSL))實(shí)現(xiàn)。因?yàn)閳D5的示例卸載進(jìn)程保護(hù)器134經(jīng)由管理程序124實(shí)現(xiàn),圖5的示例卸載進(jìn)程保護(hù)器134具有示例計(jì)算平臺(tái)100的最高特權(quán)等級(jí)(例如,環(huán)-1特權(quán)等級(jí))。具有最高特權(quán)等級(jí)使示例卸載進(jìn)程保護(hù)器134能監(jiān)視例如存儲(chǔ)器的被隔離的區(qū)域136。在示出的示例中,管理程序124創(chuàng)建存儲(chǔ)器的被隔離的(例如,對(duì)OS 102不可見的)區(qū)域136,并且指定存儲(chǔ)器的被隔離的區(qū)域136用于被卸載的計(jì)算任務(wù)504的執(zhí)行。由此,將被卸載的計(jì)算任務(wù)504與將由傳統(tǒng)GPU任務(wù)(例如,圖像渲染)利用的存儲(chǔ)器的其他無(wú)特權(quán)的區(qū)域隔離。因?yàn)槭纠遁d進(jìn)程保護(hù)器134監(jiān)視示例存儲(chǔ)器的被隔離的區(qū)域136,示例卸載進(jìn)程保護(hù)器134保護(hù)計(jì)算平臺(tái)100免受具有任意特權(quán)等級(jí)的代碼的嘗試的訪問(wèn)的影響。例如,在架構(gòu)中,圖5的示例卸載進(jìn)程保護(hù)器134可以通過(guò)具有環(huán)-0、環(huán)-1、環(huán)-2、和/或環(huán)-3特權(quán)等級(jí)的程序檢測(cè)對(duì)被隔離的存儲(chǔ)器136的嘗試的訪問(wèn)。因此,具有管理程序特權(quán)的示例卸載進(jìn)程保護(hù)器134甚至檢測(cè)到在環(huán)-0特權(quán)等級(jí)嘗試訪問(wèn)被隔離的存儲(chǔ)器136的程序。由此,示例卸載進(jìn)程保護(hù)器134用作被隔離的存儲(chǔ)器136的保衛(wèi)者。因?yàn)槟承阂廛浖谔貦?quán)等級(jí)架構(gòu)的環(huán)-0中執(zhí)行,所以具有管理程序特權(quán)的示例卸載進(jìn)程保護(hù)器134確保即使在環(huán)-0上操作的惡意軟件也不能訪問(wèn)被卸載的計(jì)算任務(wù)504。
在一些示例中,當(dāng)建立被隔離的存儲(chǔ)器136時(shí),管理程序124使用共享虛擬存儲(chǔ)器(SVM)配置被隔離的存儲(chǔ)器136。SVM是設(shè)計(jì)用于GPU 106直接地訪問(wèn)主機(jī)存儲(chǔ)器的并行頁(yè)表結(jié)構(gòu)。SVM為被卸載的計(jì)算任務(wù)提供附加的或替代的保護(hù)。例如,SVM提供可以限制GPU 106到存儲(chǔ)器的訪問(wèn)的訪問(wèn)控制屬性,特定地允許讀取存儲(chǔ)器頁(yè)但不允許寫入訪問(wèn)。在其中GPU 106為惡意軟件掃描的示出的示例中,不需要到主機(jī)存儲(chǔ)器的寫入訪問(wèn)。此外,SVM允許到存儲(chǔ)器的選擇性的訪問(wèn)。例如,當(dāng)使用SVM配置被隔離的存儲(chǔ)器136時(shí),示例管理程序124可以允許一些頁(yè)面對(duì)于GPU 106是不可訪問(wèn)的,諸如例如包括不應(yīng)被公開給任意第三方的秘密數(shù)據(jù)和/或關(guān)鍵材料的存儲(chǔ)器頁(yè)。此外,SVM允許對(duì)于例如訪客操作系統(tǒng)、被破壞的操作系統(tǒng)、惡意軟件、和/或其他設(shè)備可能是不可訪問(wèn)的特定存儲(chǔ)器被映射到GPU 106。特定存儲(chǔ)器可以包括GPU 106需要以執(zhí)行受保護(hù)的工作負(fù)荷(例如,被卸載的計(jì)算任務(wù))的代碼和/或數(shù)據(jù)。此外,SVM允許GPU 106映射所有主機(jī)存儲(chǔ)器。這允許在GPU 106中運(yùn)行的存儲(chǔ)器掃描器訪問(wèn)主機(jī)存儲(chǔ)器而不涉及例如CPU 108、虛擬機(jī)監(jiān)視器、和/或驅(qū)動(dòng)器按需重新映射或復(fù)制被緩沖的存儲(chǔ)器。這增加GPU 106執(zhí)行的掃描的自治,同時(shí)降低服務(wù)GPU 106消耗的CPU循環(huán)。對(duì)所有主機(jī)存儲(chǔ)器的訪問(wèn)使GPU 106能查詢跟蹤來(lái)自CPU 108的存儲(chǔ)器訪問(wèn)的駐留在存儲(chǔ)器中的其他結(jié)構(gòu)。例如,頁(yè)面丟失日志(PML)提供列表或存儲(chǔ)器中的最近被修改的頁(yè)面。存儲(chǔ)器掃描器將對(duì)這些頁(yè)面特別感興趣,因?yàn)檫@些頁(yè)面已經(jīng)改變并且應(yīng)該被重新掃描。未改變或最近已經(jīng)被訪問(wèn)的頁(yè)面可能不需要被重新掃描,因?yàn)樗鼈兾幢桓淖?。附加地或替代地,擴(kuò)展頁(yè)表和OS頁(yè)表包括可被用于確定最近被訪問(wèn)的存儲(chǔ)器的位(例如,訪問(wèn)/臟(Dirty)位)。附加地或替代地,可以標(biāo)識(shí)最近訪問(wèn)存儲(chǔ)器的設(shè)備。例如,與計(jì)算平臺(tái)100交互的其他設(shè)備的虛擬化表可以包括跟蹤設(shè)備是否嘗試了訪問(wèn)存儲(chǔ)器、讀取或?qū)懭朐L問(wèn)、以及哪個(gè)存儲(chǔ)器地址被尋址了的位。因此,通過(guò)利用SVM表結(jié)合GPU 106,圖1的示例管理程序124使GPU 106能適當(dāng)?shù)卦L問(wèn)存儲(chǔ)器(例如,用于只讀掃描操作)并且保護(hù)SVM表免于被改變(例如,被諸如惡意軟件、APT等等的惡意實(shí)體)。在一些示例中,管理程序124通過(guò)配置VT-d表以阻止其他設(shè)備對(duì)SVM表的訪問(wèn)以及通過(guò)配置擴(kuò)展頁(yè)表(EPT)以阻止訪客操作系統(tǒng)和它們可能包括的任意可能的惡意軟件對(duì)受保護(hù)的SVM表的訪問(wèn)來(lái)保護(hù)SVM表。在一些示例中,準(zhǔn)許GPU 106對(duì)受保護(hù)的SVM表的只讀訪問(wèn),使得GPU 106的硬件出于為惡意軟件掃描(或其他受保護(hù)的工作負(fù)荷操作)的目的正確地訪問(wèn)和/或映射主機(jī)存儲(chǔ)器。
示例卸載進(jìn)程保護(hù)器134向例如圖形驅(qū)動(dòng)器116和/或示例應(yīng)用驅(qū)動(dòng)器122報(bào)告對(duì)被隔離的存儲(chǔ)器136的嘗試的訪問(wèn)。在圖5所示的示例中,接收?qǐng)?bào)告的示例圖形驅(qū)動(dòng)器116和/或示例應(yīng)用驅(qū)動(dòng)器122確定是否應(yīng)該允許或拒絕嘗試的訪問(wèn)。在一些示例中,卸載進(jìn)程保護(hù)器134確定對(duì)被隔離的存儲(chǔ)器136的嘗試的訪問(wèn)是否與未經(jīng)授權(quán)的應(yīng)用或代碼相關(guān)聯(lián),并且如果是,拒絕對(duì)被隔離的存儲(chǔ)器136的訪問(wèn)。即,在一些示例中,卸載進(jìn)程保護(hù)器134處理對(duì)訪問(wèn)的拒絕,而在其他示例中,卸載進(jìn)程保護(hù)器134可以與示例圖形驅(qū)動(dòng)器116和/或示例應(yīng)用驅(qū)動(dòng)器122協(xié)作以拒絕對(duì)被隔離的存儲(chǔ)器136的訪問(wèn)。
因此,示例管理程序124和示例卸載進(jìn)程保護(hù)器134通過(guò)例如監(jiān)視對(duì)被隔離的存儲(chǔ)器136的訪問(wèn)(或嘗試的訪問(wèn))來(lái)保護(hù)被卸載的計(jì)算任務(wù)504。此外,通過(guò)建立和維持被隔離的存儲(chǔ)器136,示例管理程序124將存儲(chǔ)器的被隔離的區(qū)域136與對(duì)應(yīng)于由GPU 106執(zhí)行的未被卸載的計(jì)算任務(wù)的存儲(chǔ)器的其他區(qū)域506分開。未被卸載的計(jì)算任務(wù)由應(yīng)用而不是示例安全應(yīng)用114經(jīng)由示例圖形驅(qū)動(dòng)器116指示示例GPU 106的正常使用,例如程序希望在顯示設(shè)備上渲染信息。如文本中所公開的,示例安全應(yīng)用114經(jīng)由例如圖形驅(qū)動(dòng)器116和應(yīng)用驅(qū)動(dòng)器122之間的相互認(rèn)證被建立為GPU 106的有特權(quán)的、受信任的用戶(例如,以卸載以其他方式旨在用于CPU 108的安全相關(guān)的計(jì)算任務(wù))。然而,圖1的示例圖形驅(qū)動(dòng)器116保持負(fù)責(zé)促進(jìn)其他應(yīng)用對(duì)GPU 106的利用,其他應(yīng)用的一個(gè)示例由圖5中的非安全應(yīng)用118表示。圖5的非安全應(yīng)用118例如是顯示應(yīng)用。在圖5所示的示例中,非安全應(yīng)用118利用GPU 106用于圖像渲染任務(wù)而不是用于將旨在以其他方式在CPU 108上執(zhí)行的計(jì)算任務(wù)卸載到GPU 106。圖5的非安全應(yīng)用118是用于說(shuō)明目的,作為經(jīng)由未被卸載的計(jì)算任務(wù)利用GPU 106的示例類型的應(yīng)用。由于示例圖形驅(qū)動(dòng)器116出于卸載目的經(jīng)由安全隧道502促進(jìn)對(duì)GPU 106的利用,以及來(lái)自非安全應(yīng)用118的非安全路徑508,示例管理程序124將在其中執(zhí)行被卸載的計(jì)算任務(wù)504的被隔離的受保護(hù)的存儲(chǔ)器136與在其中執(zhí)行未被卸載的計(jì)算任務(wù)的不受保護(hù)的存儲(chǔ)器506(至少不被示例卸載進(jìn)程保護(hù)器134保護(hù),但可能被其他組件或軟件模塊保護(hù))隔離。
在示出的示例中,將存儲(chǔ)器的受保護(hù)的區(qū)域136與不受保護(hù)的存儲(chǔ)器506隔離由示例管理程序124對(duì)存儲(chǔ)器的一個(gè)或多個(gè)片段的虛擬化(例如,經(jīng)由TMSL虛擬化技術(shù))提供。因此,示例管理程序124通過(guò)對(duì)例如OS 102和與OS 102相關(guān)聯(lián)的其他軟件隱藏存儲(chǔ)器的被監(jiān)視的、被隔離的區(qū)域136來(lái)保護(hù)被卸載的計(jì)算任務(wù)504免受可能的惡意代碼影響。示例管理程序124通過(guò)例如不向OS 102和/或其他軟件暴露存儲(chǔ)器的被隔離的區(qū)域136的虛擬實(shí)例來(lái)隱藏存儲(chǔ)器的被隔離的區(qū)域136。此外,在一些示例中,用于建立圖5的示例受信任通道500的密鑰和/或其他類型的認(rèn)證信息被存儲(chǔ)在由示例管理程序124維持以及由示例卸載進(jìn)程保護(hù)器134監(jiān)視的示例存儲(chǔ)器的受保護(hù)的區(qū)域136。因此,圖形驅(qū)動(dòng)器116和應(yīng)用驅(qū)動(dòng)器122使用的用于相互認(rèn)證彼此的密鑰由示例管理程序124保護(hù)。
因此,在示例受信任通道500的保護(hù)下,示例安全應(yīng)用114將一個(gè)或多個(gè)計(jì)算任務(wù)安全地轉(zhuǎn)移到示例GPU 106以在圖1的示例管理程序124的保護(hù)下執(zhí)行。如上文所公開的,圖1的示例安全應(yīng)用114包括適于由示例GPU 106執(zhí)行的一個(gè)或多個(gè)惡意軟件檢測(cè)任務(wù)。例如,涉及掃描和轉(zhuǎn)移緩沖器和存儲(chǔ)器中的大量數(shù)據(jù)的GPU 106的圖形渲染硬件被裝備成處理為指示惡意軟件(例如,高級(jí)持續(xù)威脅(APT))的模式搜索計(jì)算平臺(tái)100的掃描操作。此外,示例安全應(yīng)用114提供的被設(shè)計(jì)為向計(jì)算平臺(tái)100提供連續(xù)安全的安全措施將以其他方式(如果未被卸載到GPU 106)消耗大量的CPU循環(huán)。因此,本文中所公開的圖5的受保護(hù)的對(duì)示例計(jì)算任務(wù)的卸載504提供在不消耗大量CPU循環(huán)的情況下(如果有的話)連續(xù)地為惡意軟件掃描計(jì)算平臺(tái)100的能力。在此類實(shí)例中,被卸載的計(jì)算任務(wù)1504經(jīng)由安全隧道502報(bào)告回示例安全應(yīng)用114。在圖5所示的示例中,可以由示例安全應(yīng)用114將報(bào)告的數(shù)據(jù)傳遞到服務(wù)器126和/或到示例計(jì)算平臺(tái)100的一個(gè)或多個(gè)組件。
此外,圖5的示例包括可以向例如安全應(yīng)用114提供附加的或替代的保護(hù)的安全容器510。例如,使用提供安全“飛地”的軟件防護(hù)擴(kuò)展實(shí)現(xiàn)圖5的安全容器510。在此類實(shí)例中,在示例安全容器510和GPU 106的圖形微控制器514之間建立安全通道512。在圖5所示的示例中,經(jīng)由安全容器510和微控制器514之間的密鑰交換和/或相互認(rèn)證建立安全通道512。在一些示例中,安全通道512進(jìn)一步被示例卸載進(jìn)程保護(hù)器134監(jiān)視。
圖6是圖1的示例圖形驅(qū)動(dòng)器116的示例認(rèn)證模塊132的示例實(shí)現(xiàn)的框圖。為了建立圖5的示例受信任通道500,圖6的示例認(rèn)證模塊132包括認(rèn)證器600。圖6的示例認(rèn)證器600實(shí)現(xiàn)涉及例如使公共的和/或私有的密鑰可用于示例圖形驅(qū)動(dòng)器116的任意合適的認(rèn)證技術(shù)。在圖6所示的示例中,被示例認(rèn)證器600利用的密鑰被存儲(chǔ)在示例被隔離的存儲(chǔ)器136中,如上所述,示例被隔離的存儲(chǔ)器136由示例卸載進(jìn)程保護(hù)器134保護(hù)(例如,監(jiān)視訪問(wèn))。作為示例受信任通道500的建立后面的相互認(rèn)證的一部分,圖6的示例認(rèn)證器600請(qǐng)求來(lái)自例如應(yīng)用驅(qū)動(dòng)器122和/或希望將一個(gè)或多個(gè)計(jì)算任務(wù)卸載到示例GPU 106的任意其他驅(qū)動(dòng)器的合適的密鑰。此外,因?yàn)閳D1的示例受信任通道500基于相互認(rèn)證,圖6的示例認(rèn)證器600響應(yīng)于其他驅(qū)動(dòng)器對(duì)合適的密鑰的需求。因?yàn)閿?shù)據(jù)在例如應(yīng)用驅(qū)動(dòng)器122和示例圖形驅(qū)動(dòng)器116之間交換,圖6的示例認(rèn)證器600檢查數(shù)據(jù)以確定數(shù)據(jù)是否例如經(jīng)過(guò)合適的密鑰簽名。如果圖6的示例認(rèn)證器600確定數(shù)據(jù)不能被認(rèn)證(例如,呈現(xiàn)錯(cuò)誤的密鑰),則示例圖形驅(qū)動(dòng)器116拒絕與對(duì)應(yīng)的應(yīng)用或程序通信。在圖6所示的示例中,示例認(rèn)證器600使用的密鑰被存儲(chǔ)在存儲(chǔ)器的被隔離的區(qū)域136中,并且因此被示例管理程序124監(jiān)視。
圖6的示例認(rèn)證模塊132包括策略定義器602以建立管理由圖1的示例卸載進(jìn)程保護(hù)器134提供的保護(hù)的一條或多條規(guī)則或定義。在圖6所示的示例中,策略定義器602定義存儲(chǔ)器的哪個(gè)或哪些部分(例如,地址)將被示例卸載進(jìn)程保護(hù)器134監(jiān)視。例如,圖6的策略定義器602將特定多個(gè)(例如,順序地址和/或虛擬地址塊或組)存儲(chǔ)器地址指定為示例被隔離的存儲(chǔ)器136。在圖6所示的示例中,策略定義器602定義被GPU 106暴露的哪個(gè)或哪些接口將被示例卸載進(jìn)程保護(hù)器134監(jiān)視。
例如,圖6的策略定義器602將在OS 102和GPU 106之間被圖2的示例圖形驅(qū)動(dòng)器116促進(jìn)的某個(gè)或某些接口指定為有特權(quán)的接口604。由此,圖6的示例有特權(quán)的接口604是對(duì)應(yīng)于圖5的示例被卸載的計(jì)算任務(wù)504的接口。在圖6所示的示例中,有特權(quán)的接口604被作為管理程序的能夠監(jiān)視有特權(quán)的接口604上的所有通信的示例卸載進(jìn)程保護(hù)器134監(jiān)視。如果卸載進(jìn)程保護(hù)器134確定有特權(quán)的接口604中的一個(gè)或多個(gè)正被惡意(例如,未被識(shí)別的和/或未被邀請(qǐng)的)應(yīng)用或程序使用,則示例卸載進(jìn)程保護(hù)器134發(fā)出警告,如結(jié)合圖8在下文中詳細(xì)描述的。即,圖6的示例策略定義器602定義卸載進(jìn)程保護(hù)器134怎樣響應(yīng)于對(duì)例如對(duì)被卸載的計(jì)算任務(wù)504的可能的攻擊的一個(gè)或多個(gè)檢測(cè)。此外,在圖6所示的示例中,策略定義器602負(fù)責(zé)在示例OS 102和示例GPU 106之間注入示例管理程序124。例如,圖6的策略定義器602在運(yùn)行時(shí)間生成示例管理程序124(和對(duì)應(yīng)的圖1的示例卸載進(jìn)程保護(hù)器134)的實(shí)例,使得例如卸載進(jìn)程保護(hù)器134的監(jiān)視功能在應(yīng)用驅(qū)動(dòng)器122和/或圖形驅(qū)動(dòng)器116的操作期間執(zhí)行。
盡管上文將示例策略定義器602描述為由示例圖形驅(qū)動(dòng)器116實(shí)現(xiàn),諸如示例應(yīng)用驅(qū)動(dòng)器122和/或示例管理程序124的附加的或替代的組件可以實(shí)現(xiàn)示例策略定義器602。
圖6的示例認(rèn)證模塊132包括一個(gè)或多個(gè)無(wú)特權(quán)的接口606,對(duì)應(yīng)于將GPU 106暴露給例如非安全應(yīng)用118和/或?qū)PU 106用于傳統(tǒng)地旨在用于GPU 106的任務(wù)(例如圖像渲染任務(wù))的其他應(yīng)用。在圖6所示的示例中,無(wú)特權(quán)的接口606對(duì)應(yīng)于圖5的非安全路徑508。在圖6所示的示例中,卸載進(jìn)程保護(hù)器134不監(jiān)視示例無(wú)特權(quán)的接口606。然而,圖形驅(qū)動(dòng)器116的替代示例可能不包括任何無(wú)特權(quán)的接口。即,示例卸載進(jìn)程保護(hù)器134可以監(jiān)視示例GPU 106的所有接口。
雖然圖6示出了實(shí)現(xiàn)圖1的認(rèn)證模塊132的示例方式,圖6所示的元件、進(jìn)程和/或設(shè)備中的一個(gè)或多個(gè)可以被組合、拆分、重新設(shè)置、省略、消除和/或以任何方式被實(shí)現(xiàn)。此外,圖6的示例認(rèn)證器600、示例策略定義器604、示例有特權(quán)的接口604、示例無(wú)特權(quán)的接口606和/或更一般的示例認(rèn)證模塊132可以由硬件、軟件、固件和/或硬件、軟件和/或固件的任意組合實(shí)現(xiàn)。因此,例如,圖6的示例認(rèn)證器600、示例策略定義器604、示例有特權(quán)的接口604、示例無(wú)特權(quán)的接口606和/或更一般的示例認(rèn)證模塊132中的任意一個(gè)可以由模擬或數(shù)字電路、邏輯電路、可編程處理器、專用集成電路(ASIC)、可編程邏輯器件(PLD)和/或現(xiàn)場(chǎng)可編程邏輯器件(FPLD)中的一個(gè)或多個(gè)實(shí)現(xiàn)。當(dāng)閱讀覆蓋純軟件和/或固件實(shí)現(xiàn)的本專利的裝置或系統(tǒng)權(quán)利要求中的任一個(gè)時(shí),圖6的示例認(rèn)證器600、示例策略定義器604、示例有特權(quán)的接口604、示例無(wú)特權(quán)的接口606和/或更一般的示例認(rèn)證模塊132中的至少一個(gè)由此被明確地定義為包括存儲(chǔ)軟件和/或固件的有形的計(jì)算機(jī)可讀存儲(chǔ)設(shè)備或存儲(chǔ)盤(例如存儲(chǔ)器、數(shù)字多功能盤(DVD)、緊湊盤(CD)、藍(lán)光盤等等)。此外,圖1的示例認(rèn)證模塊132可以包括除圖6中所示的之外的一個(gè)或多個(gè)元件、進(jìn)程和/或設(shè)備或作為圖6中所示的替代的一個(gè)或多個(gè)元件、進(jìn)程和/或設(shè)備,并且/或者可以包括所有示出的元件、進(jìn)程和/或設(shè)備中的多于一個(gè)。
圖7示出圖1的示例應(yīng)用驅(qū)動(dòng)器122的示例實(shí)現(xiàn)。圖7的示例應(yīng)用驅(qū)動(dòng)器122包括與圖6的示例圖形驅(qū)動(dòng)器116的示例認(rèn)證器600交互的認(rèn)證器700。圖7的示例認(rèn)證器700與圖6的示例認(rèn)證器600協(xié)作以相互認(rèn)證示例應(yīng)用驅(qū)動(dòng)器122和示例圖形驅(qū)動(dòng)器116。與圖6的示例認(rèn)證器600類似,圖7的示例認(rèn)證器700利用任意合適的認(rèn)證技術(shù)來(lái)發(fā)送認(rèn)證信息和要求認(rèn)證信息。在圖7所示的示例中,認(rèn)證器700利用一個(gè)或多個(gè)公共的和/或私有的密鑰來(lái)與示例圖形驅(qū)動(dòng)器116通信。在示出的示例中,被圖7的示例認(rèn)證器700利用的密鑰被存儲(chǔ)在被隔離的存儲(chǔ)器136中,并且因此對(duì)密鑰的訪問(wèn)由示例卸載進(jìn)程保護(hù)器134監(jiān)視。
圖7的示例應(yīng)用驅(qū)動(dòng)器122包括經(jīng)由示例圖形驅(qū)動(dòng)器116將圖5的示例被卸載的計(jì)算任務(wù)504從示例安全應(yīng)用114傳遞到示例GPU 106的卸載器702。在一些示例中,圖7的示例卸載器702與示例安全應(yīng)用114的圖2的示例卸載器202協(xié)作以促進(jìn)將安全任務(wù)卸載到GPU 106。在圖7所示的示例中,直到應(yīng)用驅(qū)動(dòng)器122已經(jīng)與示例圖形驅(qū)動(dòng)器116相互認(rèn)證,卸載器702才能將計(jì)算任務(wù)傳遞到示例圖形驅(qū)動(dòng)器116。當(dāng)建立了相互認(rèn)證時(shí),在將任意必需的認(rèn)證信息傳遞到圖形驅(qū)動(dòng)器116之前,示例卸載器702將任意必需的認(rèn)證信息結(jié)合到將被卸載的計(jì)算任務(wù)中。例如,在將會(huì)話密鑰傳遞到示例圖形驅(qū)動(dòng)器116之前,圖7的卸載器702將會(huì)話密鑰附加到計(jì)算任務(wù)數(shù)據(jù)。在一些示例中,圖7的卸載器702接收來(lái)自示例安全應(yīng)用114的關(guān)于哪些計(jì)算任務(wù)將被卸載的指令。附加地或替代地,示例卸載器702可以基于例如很好地適用于在圖1的示例GPU 106上執(zhí)行的計(jì)算任務(wù)的類型來(lái)確定哪個(gè)或哪些計(jì)算任務(wù)將被卸載。在一些示例中,經(jīng)由示例卸載器702將安全應(yīng)用114的每個(gè)計(jì)算任務(wù)卸載到GPU 106。
圖7的示例應(yīng)用驅(qū)動(dòng)器122包括接收例如由圖1的示例卸載進(jìn)程保護(hù)器134引起的警告的回調(diào)接收器704。如上所述,示例卸載進(jìn)程保護(hù)器134監(jiān)視例如在其中執(zhí)行示例被卸載的計(jì)算任務(wù)504的被隔離的存儲(chǔ)器136,并且當(dāng)例如惡意代碼嘗試訪問(wèn)存儲(chǔ)器的被監(jiān)視的區(qū)域時(shí)生成警告。在圖7所示的示例中,應(yīng)用驅(qū)動(dòng)器122的回調(diào)接收器704接收警告并且生成對(duì)檢測(cè)到的可能的攻擊的記錄。在示出的示例中,回調(diào)接收器704對(duì)接收的警告作出時(shí)間戳,并且記錄針對(duì)可能的攻擊的細(xì)節(jié)(例如,存儲(chǔ)器地址和/或標(biāo)識(shí)與所謂的攻擊者相關(guān)聯(lián)的數(shù)據(jù))的時(shí)間。在一些示例中,回調(diào)接收器704包括管理計(jì)算平臺(tái)100將對(duì)可能的攻擊怎樣作出響應(yīng)的多個(gè)響應(yīng)和定義。當(dāng)在示例應(yīng)用驅(qū)動(dòng)器122接收警告時(shí),示例回調(diào)接收器704查詢具有與警告相關(guān)聯(lián)的信息的查找表以標(biāo)識(shí)響應(yīng)。圖7的示例回調(diào)接收器704使用從查找表獲得的信息來(lái)指令圖1的示例卸載進(jìn)程保護(hù)器134,以例如停止對(duì)被卸載的計(jì)算任務(wù)504的執(zhí)行和/或?qū)?duì)被卸載的計(jì)算任務(wù)504的執(zhí)行移動(dòng)到示例CPU 108。附加地或替代地,圖7的示例回調(diào)接收器704可以將該警告通知給示例圖形驅(qū)動(dòng)器116,和/或指令示例圖形驅(qū)動(dòng)器116檢查該警告的代碼的完整性。
圖7的示例應(yīng)用驅(qū)動(dòng)器122包括服務(wù)器接口706以與例如圖1的服務(wù)器126通信。圖7的示例服務(wù)器接口706將例如示例回調(diào)接收器704記錄的攻擊信息傳遞到圖1的服務(wù)器126,服務(wù)器126經(jīng)由示例服務(wù)器接口706將更新提供給示例應(yīng)用驅(qū)動(dòng)器122。
雖然圖7示出了實(shí)現(xiàn)圖1的應(yīng)用驅(qū)動(dòng)器122的示例方式,圖7所示的元件、進(jìn)程和/或設(shè)備中的一個(gè)或多個(gè)可以被組合、拆分、重新設(shè)置、省略、消除和/或以任何方式被實(shí)現(xiàn)。此外,圖7的示例認(rèn)證器700、示例卸載器702、示例回調(diào)接收器704、示例服務(wù)器接口706和/或更一般的示例應(yīng)用驅(qū)動(dòng)器122可以由硬件、軟件、固件和/或硬件、軟件和/或固件的任意組合實(shí)現(xiàn)。因此,例如,圖7的示例認(rèn)證器700、示例卸載器702、示例回調(diào)接收器704、示例服務(wù)器接口706和/或更一般的示例應(yīng)用驅(qū)動(dòng)器122中的任意一個(gè)可以由模擬或數(shù)字電路、邏輯電路、可編程處理器、專用集成電路(ASIC)、可編程邏輯器件(PLD)和/或現(xiàn)場(chǎng)可編程邏輯器件(FPLD)中的一個(gè)或多個(gè)實(shí)現(xiàn)。當(dāng)閱讀覆蓋純軟件和/或固件實(shí)現(xiàn)的本專利的裝置或系統(tǒng)權(quán)利要求中的任一個(gè)時(shí),圖7的示例認(rèn)證器700、示例卸載器702、示例回調(diào)接收器704、示例服務(wù)器接口706和/或更一般的示例應(yīng)用驅(qū)動(dòng)器122中的至少一個(gè)由此被明確地定義為包括存儲(chǔ)軟件和/或固件的有形的計(jì)算機(jī)可讀存儲(chǔ)設(shè)備或存儲(chǔ)盤(例如存儲(chǔ)器、數(shù)字多功能盤(DVD)、緊湊盤(CD)、藍(lán)光盤等等)。此外,圖1的示例應(yīng)用驅(qū)動(dòng)器122可以包括除圖7中所示的之外的一個(gè)或多個(gè)元件、進(jìn)程和/或設(shè)備或作為圖2中所示的替代的一個(gè)或多個(gè)元件、進(jìn)程和/或設(shè)備,并且/或者可以包括所有示出的元件、進(jìn)程和/或設(shè)備中的多于一個(gè)。
圖8示出圖1的示例卸載進(jìn)程保護(hù)器134的示例實(shí)現(xiàn)。圖8的示例卸載進(jìn)程保護(hù)器134由管理程序?qū)崿F(xiàn)或被實(shí)現(xiàn)為管理程序,管理程序具有在圖1的示例計(jì)算平臺(tái)100上可能的最高特權(quán)。例如,當(dāng)計(jì)算平臺(tái)100采用架構(gòu)時(shí),圖8的示例卸載進(jìn)程保護(hù)器134具有環(huán)負(fù)1(環(huán)-1)特權(quán)等級(jí),并且因此能夠監(jiān)視例如任意特權(quán)等級(jí)的計(jì)算平臺(tái)100的硬件和/或軟件。如上所述,圖8的示例卸載進(jìn)程保護(hù)器134接收來(lái)自例如圖1的應(yīng)用驅(qū)動(dòng)器122的配置信息。配置信息的附加的或替代的源是可能的,諸如例如圖1和/或6的認(rèn)證模塊132。
在示出的示例中,圖8的卸載進(jìn)程保護(hù)器134包括解釋配置信息以知曉監(jiān)視存儲(chǔ)器的哪個(gè)或哪些區(qū)域的存儲(chǔ)器監(jiān)視器800。在圖8的示例中,存儲(chǔ)器監(jiān)視器800確定關(guān)于(例如,定義)示例存儲(chǔ)器的被隔離的區(qū)域136的地址范圍。圖8的示例存儲(chǔ)器監(jiān)視器800將存儲(chǔ)器的被隔離的區(qū)域136的實(shí)例標(biāo)識(shí)為被訪問(wèn)的,并且收集關(guān)于嘗試的訪問(wèn)的數(shù)據(jù)(例如,標(biāo)識(shí)符)。在圖8所示的示例中,存儲(chǔ)器監(jiān)視器800基于例如多個(gè)經(jīng)授權(quán)的用戶來(lái)確定未經(jīng)授權(quán)的訪問(wèn)是否已經(jīng)發(fā)生,多個(gè)經(jīng)授權(quán)的用戶由例如應(yīng)用驅(qū)動(dòng)器122和/或示例圖形驅(qū)動(dòng)器116提供。
圖8的示例卸載進(jìn)程保護(hù)器134包括報(bào)告器802以將關(guān)于未經(jīng)授權(quán)的對(duì)存儲(chǔ)器的被隔離的區(qū)域136的嘗試的訪問(wèn)的通知傳遞到例如應(yīng)用驅(qū)動(dòng)器122和/或示例圖形驅(qū)動(dòng)器116。如上所述,響應(yīng)于示例報(bào)告器802發(fā)送的通知,應(yīng)用驅(qū)動(dòng)器122和/或示例圖形驅(qū)動(dòng)器116指令圖8的示例卸載進(jìn)程保護(hù)器134關(guān)于對(duì)未經(jīng)授權(quán)的訪問(wèn)的響應(yīng)。圖8的示例卸載進(jìn)程保護(hù)器126包括規(guī)則實(shí)施器804以實(shí)現(xiàn)示例應(yīng)用驅(qū)動(dòng)器122和/或示例圖形驅(qū)動(dòng)器116選擇的響應(yīng)。例如,圖8的規(guī)則實(shí)施器804拒絕對(duì)未經(jīng)授權(quán)的請(qǐng)求的訪問(wèn)和/或停止對(duì)示例GPU 106中的被卸載的計(jì)算任務(wù)504的執(zhí)行。
雖然圖8示出了實(shí)現(xiàn)圖1的卸載進(jìn)程保護(hù)器134的示例方式,圖8所示的元件、進(jìn)程和/或設(shè)備中的一個(gè)或多個(gè)可以被組合、拆分、重新設(shè)置、省略、消除和/或以任何方式被實(shí)現(xiàn)。此外,圖8的示例存儲(chǔ)器監(jiān)視器800、示例報(bào)告器802、示例規(guī)則實(shí)施器804和/或更一般的示例卸載進(jìn)程保護(hù)器134可以由硬件、軟件、固件和/或硬件、軟件和/或固件的任意組合實(shí)現(xiàn)。因此,例如,圖8的示例存儲(chǔ)器監(jiān)視器800、示例報(bào)告器802、示例規(guī)則實(shí)施器804和/或更一般的示例卸載進(jìn)程保護(hù)器134中的任意一個(gè)可以由模擬或數(shù)字電路、邏輯電路、可編程處理器、專用集成電路(ASIC)、可編程邏輯器件(PLD)和/或現(xiàn)場(chǎng)可編程邏輯器件(FPLD)中的一個(gè)或多個(gè)實(shí)現(xiàn)。當(dāng)閱讀覆蓋純軟件和/或固件實(shí)現(xiàn)的本專利的裝置或系統(tǒng)權(quán)利要求中的任一個(gè)時(shí),圖8的示例存儲(chǔ)器監(jiān)視器800、示例報(bào)告器802、示例規(guī)則實(shí)施器804和/或更一般的示例卸載進(jìn)程保護(hù)器134中的至少一個(gè)由此被明確地定義為包括存儲(chǔ)軟件和/或固件的有形的計(jì)算機(jī)可讀存儲(chǔ)設(shè)備或存儲(chǔ)盤(例如存儲(chǔ)器、數(shù)字多功能盤(DVD)、緊湊盤(CD)、藍(lán)光盤等等)。此外,圖1的示例卸載進(jìn)程保護(hù)器134可以包括除圖8中所示的之外的一個(gè)或多個(gè)元件、進(jìn)程和/或設(shè)備或作為圖8中所示的替代的一個(gè)或多個(gè)元件、進(jìn)程和/或設(shè)備,并且/或者可以包括所有示出的元件、進(jìn)程和/或設(shè)備中的多于一個(gè)。
圖9是圖1的示例掃描器138的示例實(shí)現(xiàn)的框圖。圖1和/或9的示例掃描器138可以被例如安全應(yīng)用114利用(例如,調(diào)用)以掃描存儲(chǔ)器的一個(gè)或多個(gè)區(qū)域。在一些示例中,在示例安全應(yīng)用114的外部實(shí)現(xiàn)掃描器138,并且掃描器138對(duì)于與計(jì)算平臺(tái)100相關(guān)聯(lián)的任意其他合適的應(yīng)用是可訪問(wèn)的。在一些示例中,GPU 106執(zhí)行掃描器138的操作(例如,如圖2的示例卸載器202所卸載的)。
圖9的示例掃描器138包括用戶模式客戶機(jī)900和內(nèi)核模式的驅(qū)動(dòng)器902。圖9的示例用戶模式客戶機(jī)900與示例內(nèi)核模式的驅(qū)動(dòng)器902協(xié)作以實(shí)現(xiàn)用于并行地處理(例如,掃描)與不同進(jìn)程相關(guān)聯(lián)的存儲(chǔ)器的區(qū)域的滑動(dòng)窗口。在圖9的示例中,隨著滑動(dòng)窗口繼續(xù)穿過(guò)將被處理的存儲(chǔ)器,用戶模式客戶機(jī)900的映射器904將在滑動(dòng)窗口內(nèi)的存儲(chǔ)器的區(qū)域映射到與例如用戶模式客戶機(jī)900相關(guān)聯(lián)的虛擬地址空間906。圖10示出滑動(dòng)窗口1000和對(duì)應(yīng)于不同進(jìn)程的穿過(guò)存儲(chǔ)器的前進(jìn)1002的示例。隨著對(duì)應(yīng)于不同進(jìn)程(例如,圖10中的進(jìn)程A-E和內(nèi)核進(jìn)程)的相應(yīng)的存儲(chǔ)器穿過(guò)滑動(dòng)窗口100前進(jìn),映射器904將滑動(dòng)窗口1000內(nèi)的存儲(chǔ)器映射到虛擬地址空間906。值得注意的是,圖10的進(jìn)程中的多于一個(gè)進(jìn)程(例如,進(jìn)程D和內(nèi)核進(jìn)程)可以同時(shí)在滑動(dòng)窗口1000內(nèi)。由此,可以將對(duì)應(yīng)于圖10的進(jìn)程中的多于一個(gè)進(jìn)程的存儲(chǔ)器同時(shí)映射到虛擬地址空間906。在示出的示例中,跨圖10的進(jìn)程中的多個(gè)進(jìn)程的滑動(dòng)窗口1000中的重疊的量取決于滑動(dòng)窗口1000的尺寸。圖9的示例用戶模式客戶機(jī)900包括窗口尺寸定義器908以定義滑動(dòng)窗口的尺寸。在一些示例中,窗口尺寸定義器908為用戶提供選項(xiàng),并且包括用于滑動(dòng)窗口的默認(rèn)尺寸。
圖9的示例用戶模式客戶機(jī)900包括進(jìn)程選擇器910以實(shí)現(xiàn)對(duì)將由掃描器138處理(例如,掃描)的一個(gè)或多個(gè)進(jìn)程的選擇。圖9的示例進(jìn)程選擇器910通過(guò)例如提供程序標(biāo)識(shí)符(PID)和/或名稱(例如,通配符名稱)來(lái)指定監(jiān)視哪個(gè)或哪些進(jìn)程。例如,如果圖9的進(jìn)程選擇器910選擇為例如圖2的指示惡意軟件的模式200掃描圖10的進(jìn)程A,則進(jìn)程選擇器910可以提供與進(jìn)程A相關(guān)聯(lián)的PID。附加地或替代地,如果圖9的進(jìn)程選擇器910選擇圖10的內(nèi)核進(jìn)程,則進(jìn)程選擇器910可以提供與內(nèi)核相關(guān)聯(lián)的PID和/或名稱。在一些示例中,由圖2的掃描目標(biāo)選擇器210和/或圖4的實(shí)時(shí)接收器404提供對(duì)哪個(gè)進(jìn)程將被掃描的指定。
圖9的示例用戶模式客戶機(jī)900包括狀態(tài)選擇器912以實(shí)現(xiàn)對(duì)進(jìn)一步定義被選擇的進(jìn)程的哪些部分和/或方面將被監(jiān)視的一個(gè)或多個(gè)狀態(tài)的選擇。例如,圖9的狀態(tài)選擇器912實(shí)現(xiàn)對(duì)用于特定被選擇的進(jìn)程的地址范圍或模塊名稱的選擇,地址范圍或模塊名稱對(duì)應(yīng)于被選擇的進(jìn)程的特定方面。由此,圖9的示例進(jìn)程選擇器910和示例狀態(tài)選擇器912使用戶模式的客戶機(jī)900能監(jiān)視特定進(jìn)程的特定部分。
圖9的示例用戶模式的客戶機(jī)900包括工作負(fù)荷執(zhí)行器914以執(zhí)行與用戶模式的客戶機(jī)900相關(guān)聯(lián)的工作負(fù)荷。在圖9所示的示例中,將由工作負(fù)荷執(zhí)行器914執(zhí)行的工作負(fù)荷包括對(duì)被映射在虛擬地址空間906中的存儲(chǔ)器的掃描。圖9的示例工作負(fù)荷執(zhí)行器914執(zhí)行的掃描為諸如例如圖2的指示惡意軟件的模式200的模式搜索存儲(chǔ)器。在圖9所示的示例中,由GPU 106的硬件(例如經(jīng)由在GPU 106上運(yùn)行的OpenCL內(nèi)核)執(zhí)行與工作負(fù)荷執(zhí)行器914相關(guān)聯(lián)的操作。
圖9的示例內(nèi)核模式的驅(qū)動(dòng)器902將應(yīng)用編程接口(API)916暴露給示例用戶模式的客戶機(jī)900。在一些示例中,在將API 916暴露給用戶模式的客戶機(jī)900之前,內(nèi)核模式的驅(qū)動(dòng)器902要求用戶模式的客戶機(jī)900被認(rèn)證。圖9的示例API 916為用戶模式的客戶機(jī)900提供接口以配置示例滑動(dòng)窗口1000和滑動(dòng)窗口1000的特性。例如,圖9的API 916使窗口尺寸定義器908能將指示定義的窗口尺寸(例如,作為數(shù)個(gè)字節(jié))的數(shù)據(jù)傳遞到內(nèi)核模式的驅(qū)動(dòng)器902。作為響應(yīng),示例內(nèi)核模式的驅(qū)動(dòng)器902設(shè)定和維持滑動(dòng)窗口100的尺寸。此外,示例內(nèi)核模式的驅(qū)動(dòng)器902將指示滑動(dòng)窗口1000駐留的虛擬地址空間906中的位置的指針?lè)祷氐接脩裟J降目蛻魴C(jī)900。在示出的示例中,示例用戶模式的客戶機(jī)900的工作負(fù)荷執(zhí)行器914利用該指針來(lái)執(zhí)行在虛擬地址空間906中的合適的位置的數(shù)據(jù)上的工作負(fù)荷。此外,圖9的示例API 916使進(jìn)程選擇器910和狀態(tài)選擇器912能將指示將被監(jiān)視的被選擇的進(jìn)程和/或被選擇的進(jìn)程的方面(例如,圖10的進(jìn)程A-E和內(nèi)核進(jìn)程)的數(shù)據(jù)傳遞到內(nèi)核模式的驅(qū)動(dòng)器902。作為響應(yīng),示例內(nèi)核模式的驅(qū)動(dòng)器902利用存儲(chǔ)器區(qū)域跟蹤器918來(lái)跟蹤將被監(jiān)視的存儲(chǔ)器的區(qū)域。例如,圖9的存儲(chǔ)器區(qū)域跟蹤器918維持將被監(jiān)視的進(jìn)程和/或與相應(yīng)的進(jìn)程相關(guān)聯(lián)的定義存儲(chǔ)器的哪些部分將被監(jiān)視的狀態(tài)的列表。在圖9所示的示例中,存儲(chǔ)器區(qū)域跟蹤器918通過(guò)例如監(jiān)視進(jìn)程創(chuàng)建和/或進(jìn)程消滅以及根據(jù)需要增加和移除進(jìn)程來(lái)將進(jìn)程的列表保持為最新的。
圖9的示例內(nèi)核模式的驅(qū)動(dòng)器902包括當(dāng)前迭代跟蹤器920以跟蹤當(dāng)前被監(jiān)視的進(jìn)程和/或內(nèi)核中的當(dāng)前位置。隨著滑動(dòng)窗口1000穿過(guò)被監(jiān)視的進(jìn)程前進(jìn),示例當(dāng)前迭代跟蹤器920更新表示在例如圖10的示例前進(jìn)1002中的當(dāng)前位置的值。在示出的示例中,從前進(jìn)1002中的當(dāng)前位置開始,滑動(dòng)窗口1000迭代經(jīng)過(guò)例如瀏覽被監(jiān)視的進(jìn)程的結(jié)構(gòu)、搜索都存在的(例如,未被頁(yè)出的)并且如果為當(dāng)前進(jìn)程指定(例如,由狀態(tài)選擇器912)任意條件則匹配被選擇的條件的頁(yè)面。由例如直接頁(yè)表操縱(例如,不復(fù)制)將匹配頁(yè)面映射到滑動(dòng)窗口1000中。替代地,可以將數(shù)據(jù)復(fù)制到滑動(dòng)窗口1000中。該前進(jìn)繼續(xù)直到滑動(dòng)窗口1000滿了或整個(gè)被監(jiān)視的范圍的集合已經(jīng)被遍歷了。在一些示例中,將被映射的全部數(shù)量的字節(jié)(其可能少于窗口尺寸)返回到用戶模式的客戶機(jī)900。
如上所述,圖9的工作負(fù)荷執(zhí)行器914執(zhí)行用戶模式的客戶機(jī)900的工作負(fù)荷,用戶模式的客戶機(jī)900的工作負(fù)荷在示出的示例中是用于圖2的指示惡意軟件的模式200的對(duì)經(jīng)由滑動(dòng)窗口1000被映射到虛擬地址空間906的存儲(chǔ)器的掃描。值得注意的是,由示例用戶模式的客戶機(jī)900和示例內(nèi)核模式的驅(qū)動(dòng)器902實(shí)現(xiàn)的掃描包括對(duì)橫跨多個(gè)存儲(chǔ)器的區(qū)域的多個(gè)不同進(jìn)程的并行掃描。如果圖9的示例工作負(fù)荷執(zhí)行器914執(zhí)行的掃描(例如,在GPU 106的硬件上)產(chǎn)生一個(gè)或多個(gè)匹配,示例工作負(fù)荷執(zhí)行器914將例如對(duì)應(yīng)的一個(gè)或多個(gè)偏移返回到虛擬地址空間906中。偏移對(duì)應(yīng)于與例如指示惡意軟件的代碼相關(guān)聯(lián)的存儲(chǔ)器中的特定區(qū)域或位置。如上所述,為諸如安全應(yīng)用114的一個(gè)或多個(gè)應(yīng)用提供與被發(fā)現(xiàn)指示惡意軟件的存儲(chǔ)器位置和/或進(jìn)程標(biāo)識(shí)相關(guān)聯(lián)的標(biāo)識(shí)信息。在一些示例中,內(nèi)核模式的驅(qū)動(dòng)器902利用驗(yàn)證器922以驗(yàn)證在對(duì)應(yīng)于偏移的原始存儲(chǔ)器位置的匹配。當(dāng)例如在掃描之前被重新分配的經(jīng)由滑動(dòng)窗口被映射的物理頁(yè)面引起的可能的競(jìng)爭(zhēng)狀況完成時(shí),示例驗(yàn)證器922提供的驗(yàn)證是有用的。為了驗(yàn)證檢測(cè)到的匹配,示例驗(yàn)證器922執(zhí)行像工作負(fù)荷執(zhí)行器914的類似的或替代的模式匹配掃描以確定最初檢測(cè)到的匹配是否是準(zhǔn)確的。
因此,圖9的示例掃描器138為示例計(jì)算平臺(tái)100提供增加吞吐量的掃描技術(shù),并且因此使計(jì)算平臺(tái)100(例如,經(jīng)由示例安全應(yīng)用114)能在用于例如惡意軟件的對(duì)存儲(chǔ)器掃描的調(diào)度和/或配置中更激進(jìn)。
雖然圖9示出了實(shí)現(xiàn)圖1的掃描器138的示例方式,圖9所示的元件、進(jìn)程和/或設(shè)備中的一個(gè)或多個(gè)可以被組合、拆分、重新設(shè)置、省略、消除和/或以任何方式被實(shí)現(xiàn)。此外,圖9的示例用戶模式的客戶機(jī)900、示例內(nèi)核模式的驅(qū)動(dòng)器902、示例映射器904、示例窗口尺寸定義器908、示例進(jìn)程選擇器910、示例狀態(tài)選擇器912、示例工作負(fù)荷執(zhí)行器914、示例API 916、示例存儲(chǔ)器區(qū)域跟蹤器918、示例當(dāng)前迭代跟蹤器920、示例驗(yàn)證器922和/或更一般的示例掃描器138可以由硬件、軟件、固件和/或硬件、軟件和/或固件的任意組合實(shí)現(xiàn)。因此,例如,圖9的示例用戶模式的客戶機(jī)900、示例內(nèi)核模式的驅(qū)動(dòng)器902、示例映射器904、示例窗口尺寸定義器908、示例進(jìn)程選擇器910、示例狀態(tài)選擇器912、示例工作負(fù)荷執(zhí)行器914、示例API 916、示例存儲(chǔ)器區(qū)域跟蹤器918、示例當(dāng)前迭代跟蹤器920、示例驗(yàn)證器922和/或更一般的示例掃描器138中的任意一個(gè)可以由模擬或數(shù)字電路、邏輯電路、可編程處理器、專用集成電路(ASIC)、可編程邏輯器件(PLD)和/或現(xiàn)場(chǎng)可編程邏輯器件(FPLD)中的一個(gè)或多個(gè)實(shí)現(xiàn)。當(dāng)閱讀覆蓋純軟件和/或固件實(shí)現(xiàn)的本專利的裝置或系統(tǒng)權(quán)利要求中的任一個(gè)時(shí),圖9的示例用戶模式的客戶機(jī)900、示例內(nèi)核模式的驅(qū)動(dòng)器902、示例映射器904、示例窗口尺寸定義器908、示例進(jìn)程選擇器910、示例狀態(tài)選擇器912、示例工作負(fù)荷執(zhí)行器914、示例API 916、示例存儲(chǔ)器區(qū)域跟蹤器918、示例當(dāng)前迭代跟蹤器920、示例驗(yàn)證器922和/或更一般的示例掃描器138中的至少一個(gè)由此被明確地定義為包括存儲(chǔ)軟件和/或固件的有形的計(jì)算機(jī)可讀存儲(chǔ)設(shè)備或存儲(chǔ)盤(例如存儲(chǔ)器、數(shù)字多功能盤(DVD)、緊湊盤(CD)、藍(lán)光盤等等)。此外,圖1的示例卸載進(jìn)程保護(hù)器134可以包括除圖8中所示的之外的一個(gè)或多個(gè)元件、進(jìn)程和/或設(shè)備或作為圖8中所示的替代的一個(gè)或多個(gè)元件、進(jìn)程和/或設(shè)備,并且/或者可以包括所有示出的元件、進(jìn)程和/或設(shè)備中的多于一個(gè)。
圖11是表示用于實(shí)現(xiàn)圖1和/或2的示例安全應(yīng)用114的示例機(jī)器可讀指令的流程圖。圖11的示例以啟動(dòng)示例安全應(yīng)用114來(lái)開始(框1100)。對(duì)示例安全應(yīng)用114的啟動(dòng)對(duì)應(yīng)于例如OS 102變成活動(dòng)的和/或被加載。在一些示例中,安全應(yīng)用114可以被用戶激活和去激活。如上所述,示例安全應(yīng)用114利用指示惡意軟件的模式200以掃描例如示例計(jì)算平臺(tái)100的存儲(chǔ)器112的一個(gè)或多個(gè)區(qū)域。當(dāng)安全應(yīng)用114接收關(guān)于例如新發(fā)現(xiàn)的指示惡意軟件的信息的信息時(shí)更新指示惡意軟件的模式200。在圖11的示例中,如果安全應(yīng)用114接收此類指示惡意軟件的數(shù)據(jù)(例如,模式)(框1102),則接收的數(shù)據(jù)添加到指示惡意軟件的模式200(框1104)。
在圖11的示例中,示例掃描啟動(dòng)器204確定安全任務(wù)(例如,對(duì)存儲(chǔ)器112的一個(gè)或多個(gè)區(qū)域的掃描)是否將被配置(框1106)。例如,掃描啟動(dòng)器204可以接收新發(fā)現(xiàn)的指示惡意軟件的信息(例如,經(jīng)由圖4的示例網(wǎng)絡(luò)接口驅(qū)動(dòng)器120的實(shí)時(shí)接收器404)和指令以配置用于指示惡意軟件的信息的對(duì)計(jì)算平臺(tái)100的掃描。如果是,則示例掃描啟動(dòng)器204設(shè)定用于安全任務(wù)的調(diào)度(框1108)。在一些示例中,掃描啟動(dòng)器204將安全任務(wù)設(shè)定為被連續(xù)地運(yùn)行(例如,直到以其他方式被通知)。在一些示例中,掃描啟動(dòng)器204將安全任務(wù)設(shè)定為被周期性地和/或隨機(jī)地運(yùn)行。此外,示例掃描模式選擇器208選擇指示惡意軟件的模式200中的一個(gè)或多個(gè)作為安全任務(wù)的基礎(chǔ)(框1110)。在一些示例中,被選擇的模式對(duì)應(yīng)于新發(fā)現(xiàn)的指示惡意軟件的信息(例如,經(jīng)由示例網(wǎng)絡(luò)接口驅(qū)動(dòng)器120的實(shí)時(shí)接收器404接收的)。此外,示例掃描目標(biāo)選擇器210選擇安全任務(wù)的一個(gè)或多個(gè)目標(biāo)(框1112)。在一些示例中,掃描目標(biāo)選擇器210結(jié)合新發(fā)現(xiàn)的指示惡意軟件的信息基于接收的信息來(lái)選擇目標(biāo)。例如,實(shí)時(shí)接收器404可以結(jié)合對(duì)應(yīng)的指示惡意軟件的信息接收關(guān)于存儲(chǔ)器的類型的指令來(lái)掃描。
在安全任務(wù)被配置的情況下,示例掃描啟動(dòng)器204確定是否已經(jīng)啟動(dòng)了安全任務(wù)(框1114)。對(duì)安全任務(wù)的啟動(dòng)對(duì)應(yīng)于例如安全任務(wù)的調(diào)度集合和/或觸發(fā)事件分析器206響應(yīng)于檢測(cè)到的事件而觸發(fā)安全任務(wù)。當(dāng)安全任務(wù)將被啟動(dòng)時(shí),示例卸載器202確定安全是否將被卸載到計(jì)算平臺(tái)的示例GPU 106(框1116)。在一些示例中,卸載器202默認(rèn)將安全任務(wù)卸載到GPU 106。在一些示例中,安全任務(wù)包括將被卸載器204讀取的指定或指令,指定或指令指示是GPU 106還是CPU 108將執(zhí)行安全任務(wù)。例如,可以將被更激進(jìn)地配置的安全任務(wù)指定為在GPU 106上執(zhí)行。如果安全任務(wù)將被卸載,示例卸載器202與示例圖形驅(qū)動(dòng)器116(和應(yīng)用驅(qū)動(dòng)器122)協(xié)作以將安全任務(wù)卸載到GPU 106(框1118)。否則,安全任務(wù)由CPU 108執(zhí)行(框1120)。
GPU 106或CPU 108中合適的一個(gè)執(zhí)行安全任務(wù),并且示例安全應(yīng)用114接收結(jié)果。在圖11所示的示例中,示例安全服務(wù)通信器212將發(fā)現(xiàn)結(jié)果傳遞到任意合適的組件,諸如例如示例計(jì)算平臺(tái)100的惡意軟件移除器(框1122)。附加地或替代地,示例安全服務(wù)通信器212將發(fā)現(xiàn)結(jié)果提供給示例網(wǎng)絡(luò)接口驅(qū)動(dòng)器120,示例網(wǎng)絡(luò)接口驅(qū)動(dòng)器120促進(jìn)經(jīng)由示例實(shí)時(shí)報(bào)告器402對(duì)發(fā)現(xiàn)結(jié)果的實(shí)時(shí)報(bào)告(框1122)。如果安全應(yīng)用114將被終止(框1124),則圖11的示例結(jié)束(框1126)。否則,控制返回至框1102。
圖12是表示用于實(shí)現(xiàn)圖1和/或3的示例通知模塊130的示例機(jī)器可讀指令的流程圖。圖12的示例以啟動(dòng)示例圖形驅(qū)動(dòng)器116并且因此啟動(dòng)示例通知模塊130來(lái)開始(框1200)。對(duì)示例圖形驅(qū)動(dòng)器116的啟動(dòng)對(duì)應(yīng)于例如OS 102變成活動(dòng)的和/或被加載。在一些示例中,響應(yīng)于對(duì)顯示設(shè)備的激活,圖形驅(qū)動(dòng)器116可以被激活和去激活。如上所述,示例圖形驅(qū)動(dòng)器116促進(jìn)計(jì)算平臺(tái)100的組件(例如,安全應(yīng)用114和/或非安全應(yīng)用118)與GPU 106之間的交互。如果在圖形驅(qū)動(dòng)器116處接收將由GPU 106執(zhí)行的任務(wù)(例如,與安全應(yīng)用114相關(guān)聯(lián)的安全任務(wù))(框602),則通知模塊130的示例分派器300為任務(wù)標(biāo)識(shí)請(qǐng)求隊(duì)列302中的合適的一個(gè)隊(duì)列(例如,基于接收的任務(wù)的類型),并且將接收的任務(wù)添加到請(qǐng)求隊(duì)列302中被標(biāo)識(shí)的一個(gè)隊(duì)列(框1204)。
在圖12的示例中,調(diào)度器304基于計(jì)算平臺(tái)100和/或請(qǐng)求隊(duì)列302的一個(gè)或多個(gè)狀態(tài)來(lái)確定各個(gè)請(qǐng)求隊(duì)列302的順序(框1206)。例如,調(diào)度器304基于隊(duì)列深度、分配到各個(gè)任務(wù)的優(yōu)先級(jí)等級(jí)、用于先占的時(shí)間片、和/或任意其他合適的因素或條件來(lái)確定排隊(duì)的任務(wù)的順序。如上所述,GPU 106按確定的順序執(zhí)行請(qǐng)求隊(duì)列302的任務(wù)。
在圖12的示例中,當(dāng)安全應(yīng)用114已經(jīng)將對(duì)應(yīng)的安全任務(wù)卸載到GPU 106時(shí),通知器306接收來(lái)自例如安全應(yīng)用114的通知請(qǐng)求。如果接收了此類請(qǐng)求(框1208),示例通知器306將接收的請(qǐng)求和請(qǐng)求的細(xì)節(jié)(例如,需要哪些狀態(tài)細(xì)節(jié)和/或哪些狀態(tài)變化將觸發(fā)通知)添加到通知器306維持的通知請(qǐng)求的列表(框1210)。示例調(diào)度器304確定請(qǐng)求隊(duì)列302中的任務(wù)和/或GPU 106中的當(dāng)前被執(zhí)行(例如,并行地)的任務(wù)的狀態(tài)(框1212)并且將獲得的信息提供給通知器306。示例通知器306分析接收的狀態(tài)信息,并且確定是否有任何通知請(qǐng)求指示通知將被傳遞到GPU 106的請(qǐng)求消費(fèi)者(框1214)。如果是,則示例通知器306發(fā)送對(duì)應(yīng)的通知和伴隨的細(xì)節(jié)(框1214)。如果通知模塊130將被終止(框1216),則圖12的示例結(jié)束(框1218)。否則,控制返回至框1202。
圖13是表示用于實(shí)現(xiàn)圖1和/或4的網(wǎng)絡(luò)接口驅(qū)動(dòng)器120的示例機(jī)器可讀指令的流程圖。圖13的示例以啟動(dòng)示例網(wǎng)絡(luò)接口驅(qū)動(dòng)器120來(lái)開始(框1300)。對(duì)示例網(wǎng)絡(luò)接口驅(qū)動(dòng)器120的啟動(dòng)對(duì)應(yīng)于例如OS 102變成活動(dòng)的和/或被加載。在一些示例中,響應(yīng)于對(duì)網(wǎng)絡(luò)接口110的激活,網(wǎng)絡(luò)接口驅(qū)動(dòng)器120可以被激活和去激活。如上所述,示例網(wǎng)絡(luò)接口驅(qū)動(dòng)器120促進(jìn)計(jì)算平臺(tái)100的組件與網(wǎng)絡(luò)接口110之間的交互。除了驅(qū)動(dòng)網(wǎng)絡(luò)接口110的操作之外,示例網(wǎng)絡(luò)接口驅(qū)動(dòng)器120實(shí)現(xiàn)將指示惡意軟件的數(shù)據(jù)與例如圖4的外部計(jì)算平臺(tái)400共享。
在圖13的示例中,如果在實(shí)時(shí)接收器404接收了指示惡意軟件的數(shù)據(jù)(框1302),則示例實(shí)時(shí)接收器404立即(例如,沒(méi)有延遲地)將接收的數(shù)據(jù)傳遞到例如安全應(yīng)用114(框1304)。在示出的示例中,安全應(yīng)用114使用接收的數(shù)據(jù)來(lái)例如立即(例如,沒(méi)有延遲地)啟動(dòng)或觸發(fā)對(duì)與接收的數(shù)據(jù)相關(guān)聯(lián)的存儲(chǔ)器的掃描。如上所述,此類對(duì)指示惡意軟件的數(shù)據(jù)的實(shí)時(shí)提供改善了當(dāng)惡意軟件是活動(dòng)的(例如,非混淆的、未打包的、解密的等等)時(shí)安全應(yīng)用114檢測(cè)惡意軟件的能力,從而避免試圖檢測(cè)不活動(dòng)的(例如,混淆的、打包的、加密的等等)惡意軟件的困難。
在圖13的示例中,如果計(jì)算平臺(tái)100的組件(例如安全應(yīng)用114)檢測(cè)到指示惡意軟件的信息(框1306),則示例實(shí)時(shí)報(bào)告器402立即(例如,沒(méi)有延遲地)將檢測(cè)到的信息和任何合適的伴隨的信息(例如,與惡意軟件檢測(cè)相關(guān)聯(lián)的提取的情境元數(shù)據(jù))經(jīng)由網(wǎng)絡(luò)接口110傳遞到例如外部計(jì)算平臺(tái)400(框1308)。如上所述,此類對(duì)指示惡意軟件的數(shù)據(jù)的實(shí)時(shí)提供改善了當(dāng)惡意軟件是活動(dòng)的時(shí)外部計(jì)算平臺(tái)400檢測(cè)惡意軟件的能力,從而避免試圖檢測(cè)不活動(dòng)的惡意軟件的困難。如果網(wǎng)絡(luò)接口驅(qū)動(dòng)器120將被終止(框1310),則圖13的示例結(jié)束(框1312)。否則,控制返回至框1302。
圖14是表示用于實(shí)現(xiàn)圖1和/或6的示例認(rèn)證模塊132的示例機(jī)器可讀指令的流程圖。圖14的示例以啟動(dòng)示例認(rèn)證模塊132來(lái)開始(框1400)。對(duì)示例認(rèn)證模塊132的啟動(dòng)對(duì)應(yīng)于例如OS 102變成活動(dòng)的和/或被加載。在圖14的示例中,認(rèn)證模塊132可以接收安全應(yīng)用114要求將計(jì)算任務(wù)卸載到GPU 106的指示(框1402)。例如,安全應(yīng)用114可以確定可以通過(guò)在GPU 106而不是CPU 108中執(zhí)行一個(gè)或多個(gè)計(jì)算任務(wù)來(lái)改善度量測(cè)量CPU循環(huán)。在圖14的示例中,認(rèn)證模塊132接收來(lái)自應(yīng)用驅(qū)動(dòng)器122的指示并且向應(yīng)用驅(qū)動(dòng)器122請(qǐng)求認(rèn)證信息(框1404)。示例認(rèn)證模塊132向應(yīng)用驅(qū)動(dòng)器122請(qǐng)求認(rèn)證信息,使得可以建立圖5的示例受信任通道500。在圖14所示的示例中,被請(qǐng)求的認(rèn)證信息包括例如一個(gè)或多個(gè)公共密鑰和/或私有密鑰。圖6的示例認(rèn)證模塊132的示例認(rèn)證器600確定接收自應(yīng)用驅(qū)動(dòng)器122的已接收認(rèn)證信息是否是真實(shí)的(框1406)。例如,圖6的認(rèn)證器600確定來(lái)自應(yīng)用驅(qū)動(dòng)器122的響應(yīng)是否包括被識(shí)別的認(rèn)證密鑰。
在圖14的示例中,當(dāng)應(yīng)用驅(qū)動(dòng)器122提供未被識(shí)別的認(rèn)證信息時(shí)(框1406),圖6的示例認(rèn)證器600通知示例圖形驅(qū)動(dòng)器116不能信任應(yīng)用驅(qū)動(dòng)器122和/或安全應(yīng)用144并且拒絕卸載請(qǐng)求(框1408)。替代地,當(dāng)應(yīng)用驅(qū)動(dòng)器122提供被識(shí)別的認(rèn)證信息,從而指示安全應(yīng)用114是真實(shí)的時(shí),圖6的示例認(rèn)證器600將認(rèn)證信息傳遞到應(yīng)用驅(qū)動(dòng)器122,使得應(yīng)用驅(qū)動(dòng)器122可以認(rèn)證示例圖形驅(qū)動(dòng)器116(框1410)。即,通過(guò)示例應(yīng)用驅(qū)動(dòng)器122和示例圖形驅(qū)動(dòng)器116之間的相互認(rèn)證來(lái)建立圖5的示例受信任通道500。
示例認(rèn)證模塊132的圖6的示例策略定義器602配置示例管理程序124,使得示例卸載進(jìn)程保護(hù)器134可以監(jiān)視對(duì)被卸載的計(jì)算任務(wù)504的執(zhí)行(框1412)。在圖14的示例中,對(duì)卸載進(jìn)程保護(hù)器134的配置包括將圖1的示例被隔離的存儲(chǔ)器136建立為將被示例卸載進(jìn)程保護(hù)器134監(jiān)視的存儲(chǔ)器位置。
在圖5的示例受信任通道500被建立和示例卸載進(jìn)程保護(hù)器134被配置的情況下,示例圖形驅(qū)動(dòng)器116經(jīng)由安全隧道502將接收的數(shù)據(jù)路由到示例GPU 106用于執(zhí)行(框1414)。即,示例圖形驅(qū)動(dòng)器116經(jīng)由示例有特權(quán)的接口604將接收的數(shù)據(jù)路由到示例存儲(chǔ)器的被隔離的區(qū)域136用于在示例GPU 106上的受保護(hù)的執(zhí)行。此外,示例圖形驅(qū)動(dòng)器116經(jīng)由示例無(wú)特權(quán)的接口606將接收的數(shù)據(jù)路由到未被示例卸載進(jìn)程保護(hù)器134保護(hù)的存儲(chǔ)器區(qū)域506(框1416)。如果示例認(rèn)證模塊132將被終止(框1418),則圖14的示例結(jié)束(框1420)。否則,控制進(jìn)行至框1402。
圖15是表示用于實(shí)現(xiàn)圖1和/或7的示例應(yīng)用驅(qū)動(dòng)器122的示例機(jī)器可讀指令的流程圖。圖15以示例應(yīng)用驅(qū)動(dòng)器122指定用于卸載到示例GPU 106的一個(gè)或多個(gè)計(jì)算任務(wù)來(lái)開始(框1500)。示例應(yīng)用驅(qū)動(dòng)器122將對(duì)該指定的指示傳遞到示例圖形驅(qū)動(dòng)器115(框1502)。在圖15所示的示例中,當(dāng)將對(duì)被指定用于卸載的任務(wù)的指示發(fā)送到圖形驅(qū)動(dòng)器116時(shí),應(yīng)用驅(qū)動(dòng)器122接收來(lái)自圖形驅(qū)動(dòng)器116的認(rèn)證模塊132的對(duì)認(rèn)證信息的請(qǐng)求。圖7的示例應(yīng)用驅(qū)動(dòng)器122的示例認(rèn)證器700對(duì)來(lái)自圖形驅(qū)動(dòng)器116的認(rèn)證模塊132的請(qǐng)求和被請(qǐng)求的認(rèn)證信息作出響應(yīng)(框1504)。在示出的示例中,被請(qǐng)求的認(rèn)證信息包括因?yàn)閷?duì)應(yīng)于受信任的應(yīng)用(例如,不是惡意軟件)而被圖形驅(qū)動(dòng)器116的認(rèn)證模塊132的認(rèn)證器600識(shí)別的一個(gè)或多個(gè)密鑰。如果圖形驅(qū)動(dòng)器116拒絕所提供的認(rèn)證信息(框1506),應(yīng)用驅(qū)動(dòng)器122的示例認(rèn)證器700重試(如果可能的話)傳遞認(rèn)證信息。在圖15的示例中,只有某些數(shù)量(例如,三個(gè))的重試是可用的。如果重試是可用的(框1508),則控制返回到框1502。如果重試不是可用的(例如,已經(jīng)達(dá)到重試的限制)(框1508),則圖15的示例結(jié)束(框1510)。
如果圖形驅(qū)動(dòng)器116的認(rèn)證模塊132接受認(rèn)證信息(框1506),則應(yīng)用驅(qū)動(dòng)器122的示例認(rèn)證器700向圖形驅(qū)動(dòng)器116請(qǐng)求認(rèn)證信息,使得驅(qū)動(dòng)器116、122可以根據(jù)所需相互認(rèn)證以建立圖5的示例受信任通道500(框1512)。應(yīng)用驅(qū)動(dòng)器122的示例認(rèn)證器700接收來(lái)自圖形驅(qū)動(dòng)器116的認(rèn)證信息(例如,一個(gè)或多個(gè)密鑰)并且確定接收的認(rèn)證信息是否指示圖形驅(qū)動(dòng)器116是真實(shí)的(例如不是偽裝成圖形驅(qū)動(dòng)器的惡意軟件)(框1514)。如果應(yīng)用驅(qū)動(dòng)器122的認(rèn)證器700確定圖形驅(qū)動(dòng)器116是真實(shí)的(框1514),則應(yīng)用驅(qū)動(dòng)器122的示例卸載器702促進(jìn)通過(guò)經(jīng)由示例安全隧道502將計(jì)算任務(wù)傳遞到圖形驅(qū)動(dòng)器116來(lái)將一個(gè)或多個(gè)被指定的計(jì)算任務(wù)卸載到GPU 106(框1516)。在圖15的示例中,經(jīng)由示例圖形驅(qū)動(dòng)器116的有特權(quán)的接口604安全地促進(jìn)對(duì)計(jì)算任務(wù)的傳遞。
因?yàn)樵趫D1的示例GPU 106上執(zhí)行被卸載的計(jì)算任務(wù)504,示例卸載進(jìn)程保護(hù)器134監(jiān)視存儲(chǔ)器的被隔離的區(qū)域136,在存儲(chǔ)器的被隔離的區(qū)域136中執(zhí)行被卸載的計(jì)算任務(wù)504。如果應(yīng)用驅(qū)動(dòng)器122的示例回調(diào)接收器704結(jié)合對(duì)存儲(chǔ)器的被隔離的區(qū)域136的監(jiān)視接收警告(框1518),則示例回調(diào)接收器704確定合適的響應(yīng)(例如,按照對(duì)包括關(guān)于對(duì)存儲(chǔ)器的被隔離的區(qū)域136的可能的未經(jīng)授權(quán)的訪問(wèn)作出響應(yīng)的指令的查找表)并且將合適的響應(yīng)傳遞到示例卸載進(jìn)程保護(hù)器134(框1520)。
圖16是表示用于實(shí)現(xiàn)圖1和/或8的示例卸載進(jìn)程保護(hù)器134的示例機(jī)器可讀指令的流程圖。圖16以一個(gè)或多個(gè)計(jì)算任務(wù)被卸載到圖1的示例GPU 106來(lái)開始(框1600)。盡管示例管理程序124可能在計(jì)算任務(wù)被卸載之前運(yùn)行,在圖16的示例中,管理程序124被例如圖6的示例認(rèn)證模塊132的策略定義器602配置。在示出的示例中,對(duì)管理程序124的配置包括接收用于卸載進(jìn)程保護(hù)器134的關(guān)于監(jiān)視與示例被卸載的計(jì)算任務(wù)504相關(guān)聯(lián)的存儲(chǔ)器的指令(框1602)。為示例卸載進(jìn)程保護(hù)器134提供例如監(jiān)視的多個(gè)存儲(chǔ)器地址(例如,順序的地址范圍),從而使管理程序124能知曉任何對(duì)例如圖1的存儲(chǔ)器的被隔離的區(qū)域136的訪問(wèn)的嘗試。如上所述,示例卸載進(jìn)程保護(hù)器134享有示例計(jì)算平臺(tái)100中允許的最高特權(quán)等級(jí),并且因此可以監(jiān)視任意組件(例如,程序)的嘗試的訪問(wèn)。通過(guò)使用接收的指令,示例卸載進(jìn)程保護(hù)器134建立對(duì)例如圖1的存儲(chǔ)器的被隔離的區(qū)域136的監(jiān)視(框1604)。
在圖16的示例中,圖8的示例卸載進(jìn)程保護(hù)器134的存儲(chǔ)器監(jiān)視器800確定是否發(fā)生了對(duì)示例存儲(chǔ)器的被隔離的區(qū)域136的未經(jīng)授權(quán)的訪問(wèn)(框1606)。如果示例存儲(chǔ)器監(jiān)視器800檢測(cè)到此類嘗試(框1606),圖8的示例卸載進(jìn)程保護(hù)器134的示例報(bào)告器802生成警告并且將消息傳遞到例如應(yīng)用驅(qū)動(dòng)器122(框1608)。如上所述,應(yīng)用驅(qū)動(dòng)器122的示例回調(diào)接收器704通知示例卸載進(jìn)程保護(hù)器134關(guān)于對(duì)檢測(cè)到的未經(jīng)授權(quán)的嘗試的訪問(wèn)的保護(hù)性響應(yīng)。在示出的示例中,卸載進(jìn)程保護(hù)器134的規(guī)則實(shí)施器804實(shí)現(xiàn)合適的保護(hù)性的動(dòng)作,諸如例如拒絕請(qǐng)求的訪問(wèn)(框1610)。示例存儲(chǔ)器監(jiān)視器800繼續(xù)監(jiān)視存儲(chǔ)器的被隔離的區(qū)域136(框1606)。
圖17是表示用于實(shí)現(xiàn)圖1和/或9的示例掃描器138的示例機(jī)器可讀指令的流程圖。圖17的示例以啟動(dòng)示例掃描器138來(lái)開始(框1700)。對(duì)示例掃描器138的啟動(dòng)對(duì)應(yīng)于例如OS 102變成活動(dòng)的和/或被加載。在圖17的示例中,用戶模式的客戶機(jī)900的窗口尺寸定義器908(例如,經(jīng)由內(nèi)核模式的驅(qū)動(dòng)器902的API 916)定義滑動(dòng)窗口的尺寸,滑動(dòng)窗口將用于將特定的存儲(chǔ)器映射到示例虛擬地址空間906(框1702)。如上所述,滑動(dòng)窗口的尺寸確定將被示例掃描器138并行地掃描的存儲(chǔ)器的量。此外,示例掃描器138實(shí)現(xiàn)的滑動(dòng)窗口可以同時(shí)包括對(duì)應(yīng)于多于一個(gè)將被監(jiān)視的進(jìn)程的存儲(chǔ)器,從而提供在不同的相應(yīng)進(jìn)程上并行地執(zhí)行多個(gè)掃描的能力。
在圖17的示例中,由進(jìn)程選擇器910(例如,經(jīng)由內(nèi)核模式的驅(qū)動(dòng)器902的API 916)選擇將被掃描(或以其他方式被GPU 106處理)的一個(gè)或多個(gè)進(jìn)程(框1704)。例如,在圖10中,選擇將監(jiān)視進(jìn)程A-E和內(nèi)核進(jìn)程。對(duì)監(jiān)視哪個(gè)或哪些進(jìn)程的指定通過(guò)例如PID和/或名稱傳遞。在一些示例中,由圖2的掃描目標(biāo)選擇器210和/或圖4的實(shí)時(shí)接收器404提供對(duì)哪個(gè)進(jìn)程將被掃描的指定。此外,示例狀態(tài)選擇器912(例如,經(jīng)由內(nèi)核模式的驅(qū)動(dòng)器902的API 916)可以選擇一個(gè)或多個(gè)狀態(tài)以進(jìn)一步定義被選擇的進(jìn)程的哪些方面或部分(例如,對(duì)應(yīng)于被選擇的進(jìn)程的特定操作的存儲(chǔ)器范圍)將被監(jiān)視(框1706)。
在圖17的示例中,內(nèi)核模式的驅(qū)動(dòng)器902根據(jù)接收的由示例用戶模式的客戶機(jī)900提供的參數(shù)來(lái)配置滑動(dòng)窗口(框1708)。此外,示例內(nèi)核模式的驅(qū)動(dòng)器902將指示滑動(dòng)窗口1000駐留的虛擬地址空間906中的位置的指針?lè)祷氐接脩裟J降目蛻魴C(jī)900(框1708)。此外,示例存儲(chǔ)器區(qū)域跟蹤器918根據(jù)來(lái)自用戶模式的客戶機(jī)900的接收的參數(shù)維持被選擇的進(jìn)程和/或狀態(tài)的列表以跟蹤將被監(jiān)視的存儲(chǔ)器的區(qū)域(框1710)。維持列表包括例如通過(guò)例如監(jiān)視進(jìn)程創(chuàng)建和/或進(jìn)程消滅以及根據(jù)需要增加和移除進(jìn)程來(lái)將進(jìn)程的列表保持為最新的。此外,隨著滑動(dòng)窗口1000前進(jìn)穿過(guò)當(dāng)前被監(jiān)視的進(jìn)程和/或內(nèi)核,例如圖10的前進(jìn)1002,示例當(dāng)前迭代跟蹤器920跟蹤當(dāng)前被監(jiān)視的進(jìn)程和/或內(nèi)核中的當(dāng)前位置(框1712)。
在滑動(dòng)窗口1000被配置和合適的參數(shù)被跟蹤的情況下,示例映射器904將滑動(dòng)窗口內(nèi)的存儲(chǔ)器的區(qū)域映射到虛擬地址空間906(框1714)。當(dāng)滑動(dòng)窗口1000已經(jīng)映射了對(duì)應(yīng)于被指定的進(jìn)程的部分的特定數(shù)量的數(shù)據(jù)和/或被指定的進(jìn)程和/或存儲(chǔ)器的區(qū)域時(shí),將滑動(dòng)窗口移動(dòng)到例如根據(jù)圖10的示例前進(jìn)1002的下一位置(框1716)。
在圖17的示例中,示例工作負(fù)荷執(zhí)行器914執(zhí)行對(duì)被映射到虛擬地址空間906中的存儲(chǔ)器的掃描(例如,用于圖2的指示惡意軟件的模式200)(框1718)。如果發(fā)現(xiàn)匹配,則提供到虛擬地址空間906中的偏移,并且偏移可以用于標(biāo)識(shí)對(duì)應(yīng)的存儲(chǔ)器的區(qū)域(例如,經(jīng)由跟蹤到虛擬地址空間906中的映射過(guò)程以及相關(guān)聯(lián)的存儲(chǔ)器位置和偏移之間的對(duì)應(yīng)性)(框1720)。在圖17的示例中,內(nèi)核模式的驅(qū)動(dòng)器902的驗(yàn)證器922驗(yàn)證匹配以避免使過(guò)時(shí)的數(shù)據(jù)經(jīng)受掃描的競(jìng)爭(zhēng)狀況(框1722)。如果示例掃描器138將被終止(框1724),則圖17的示例結(jié)束(框1726)。否則,控制返回至框1716。替代地,示例掃描器138可以接收對(duì)例如滑動(dòng)窗口1000的配置的調(diào)節(jié),在該情形下控制返回至框1702。
在圖11-17的示例中,機(jī)器可讀指令包括由諸如結(jié)合圖18在下文中討論的示例處理器平臺(tái)1800中示出的處理器1812的處理器執(zhí)行的一個(gè)或多個(gè)程序。程序可以被具體化在存儲(chǔ)于諸如CD-ROM、軟盤、硬驅(qū)動(dòng)器、數(shù)字多功能盤(DVD)、藍(lán)光盤或與處理器1812關(guān)聯(lián)的存儲(chǔ)器那樣的有形的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上的軟件里,但是全部或部分程序可以替代地由除處理器1812之外的器件執(zhí)行,并且/或者可以具體化在固件或?qū)S糜布铩4送?,雖然參考圖11-17所示的流程圖描述示例程序,可以替代地使用實(shí)現(xiàn)圖1和/或2的示例掃描管理器128、圖1和/或3的示例通知模塊130、圖1和/或4的示例網(wǎng)絡(luò)接口驅(qū)動(dòng)器120、圖1和/或6的示例認(rèn)證模塊132、圖1和/或7的示例應(yīng)用驅(qū)動(dòng)器122、圖1和/或8的示例卸載進(jìn)程保護(hù)器134、和/或圖1和/或9的示例掃描器138的許多其他方法。例如,各個(gè)框的執(zhí)行次序可以改變,并且/或者所描述的一些框可以被改變、消除、或組合。
如上文所述,可以使用存儲(chǔ)于有形的計(jì)算機(jī)可讀介質(zhì)上的被編碼的指令(例如,計(jì)算機(jī)和/或機(jī)器可讀指令)實(shí)現(xiàn)圖11-17的示例過(guò)程,有形的計(jì)算機(jī)可讀介質(zhì)例如:硬盤驅(qū)動(dòng)器、閃存、只讀存儲(chǔ)器(ROM)、緊湊盤(CD)、數(shù)字多功能盤(DVD)、高速緩存、隨機(jī)存取存儲(chǔ)器(RAM)和/或其他任何在任何時(shí)長(zhǎng)內(nèi)(例如:在擴(kuò)展時(shí)間段內(nèi)、永久地、在簡(jiǎn)短的實(shí)例期間、在臨時(shí)緩沖和/或信息緩存期間)將信息存儲(chǔ)于其內(nèi)的存儲(chǔ)設(shè)備或存儲(chǔ)盤。如本文中所使用的,術(shù)語(yǔ)“有形的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)”被明確地定義為包括任何類型的計(jì)算機(jī)可讀存儲(chǔ)設(shè)備和/或存儲(chǔ)盤,并且排除傳播的信號(hào)以及排除傳輸介質(zhì)。如本文中所使用的,“有形的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)”和“有形的機(jī)器可讀存儲(chǔ)介質(zhì)”可互換地使用。附加地或替代地,可以使用存儲(chǔ)于非瞬態(tài)的計(jì)算機(jī)和/或機(jī)器可讀介質(zhì)上的被編碼的指令(例如,計(jì)算機(jī)和/或機(jī)器可讀指令)實(shí)現(xiàn)圖11-17的示例過(guò)程,非瞬態(tài)的計(jì)算機(jī)和/或機(jī)器可讀介質(zhì)例如:硬盤驅(qū)動(dòng)器、閃存、只讀存儲(chǔ)器(ROM)、緊湊盤(CD)、數(shù)字多功能盤(DVD)、高速緩存、隨機(jī)存取存儲(chǔ)器(RAM)和/或其他任何在任何時(shí)長(zhǎng)內(nèi)(例如:在擴(kuò)展時(shí)間段內(nèi)、永久地、在簡(jiǎn)短的實(shí)例期間、在臨時(shí)緩沖和/或信息緩存期間)將信息存儲(chǔ)于其內(nèi)的存儲(chǔ)設(shè)備或存儲(chǔ)盤。如本文中所使用的,術(shù)語(yǔ)“非瞬態(tài)的計(jì)算機(jī)可讀介質(zhì)”被明確地定義為包括任何類型的計(jì)算機(jī)可讀存儲(chǔ)設(shè)備和/或存儲(chǔ)盤,并且排除傳播的信號(hào)以及排除傳輸介質(zhì)。如本文所使用的那樣,當(dāng)短語(yǔ)“至少”被用作與權(quán)利要求同步使用的轉(zhuǎn)換術(shù)語(yǔ)時(shí)是和術(shù)語(yǔ)“包括”一樣的開放式的。
圖18是示例處理器平臺(tái)1800的框圖,示例處理器平臺(tái)1800能夠執(zhí)行圖11的指令以實(shí)現(xiàn)圖1和/或2的示例掃描管理器128、執(zhí)行圖12的指令以實(shí)現(xiàn)圖1和/或3的示例通知模塊130、執(zhí)行圖13的指令以實(shí)現(xiàn)圖1和/或4的示例網(wǎng)絡(luò)接口驅(qū)動(dòng)器120、執(zhí)行圖14的指令以實(shí)現(xiàn)圖1和/或6的示例認(rèn)證模塊132、執(zhí)行圖15的指令以實(shí)現(xiàn)圖1和/或7的示例應(yīng)用驅(qū)動(dòng)器122、執(zhí)行圖16的指令以實(shí)現(xiàn)圖1和/或8的示例卸載進(jìn)程保護(hù)器134、和/或執(zhí)行圖17的指令以實(shí)現(xiàn)圖1和/或9的示例掃描器138。處理器平臺(tái)1800可以是例如服務(wù)器、個(gè)人計(jì)算機(jī)、移動(dòng)設(shè)備(例如,蜂窩電話、智能電話、諸如iPadTM的平板)、個(gè)人數(shù)字助理(PDA)、因特網(wǎng)設(shè)備、媒體播放器(例如,DVD播放器、CD播放器、數(shù)字視頻記錄儀、藍(lán)光播放器等等)、游戲控制臺(tái)、或任何其他類型的計(jì)算設(shè)備。
示出的示例的處理器平臺(tái)1800包括處理器1812(例如,圖1的CPU 108)。示出的示例的處理器1812是硬件。例如,處理器1812可以由來(lái)自任何所需要的家族或制造商的一個(gè)或多個(gè)集成電路、邏輯電路、微處理器或控制器實(shí)現(xiàn)。
示出的示例的處理器1812包括本地存儲(chǔ)器1813(例如,高速緩存)。示出的示例的處理器1812通過(guò)總線1818與包括易失性存儲(chǔ)器1814和非易失性存儲(chǔ)器1816的主存儲(chǔ)器通信。易失性存儲(chǔ)器1814可以通過(guò)同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(SDRAM)、動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)、RAMBUS動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(RDRAM)和/或任何其他類型的隨機(jī)存取存儲(chǔ)器設(shè)備實(shí)現(xiàn)。非易失性儲(chǔ)存器1816可以由閃存和/或其他任何所需類型的存儲(chǔ)器設(shè)備實(shí)現(xiàn)。存儲(chǔ)器控制器控制對(duì)主存儲(chǔ)器1814、1816的訪問(wèn)。
示出的示例的處理器平臺(tái)1800還包括接口電路1820。接口電路1820可以由任何類型的接口標(biāo)準(zhǔn)實(shí)現(xiàn),例如以太網(wǎng)接口、通用串行總線(USB)和/或PCI快速接口。
在示出的示例中,將一個(gè)或多個(gè)輸入設(shè)備1822連接到接口電路1820。輸入設(shè)備1822允許用戶將數(shù)據(jù)和命令輸入處理器1812。輸入設(shè)備可以由諸如音頻傳感器、話筒、相機(jī)(靜態(tài)或視頻)、鍵盤、按鈕、鼠標(biāo)、觸屏、軌跡板、軌跡球、等點(diǎn)鼠標(biāo)(isopoint)和/或語(yǔ)音識(shí)別系統(tǒng)實(shí)現(xiàn)。
將一個(gè)或多個(gè)輸出設(shè)備1824也連接到示出的示例的接口電路1820。輸出設(shè)備1824可以由例如顯示設(shè)備(例如,發(fā)光二極管(LED)、有機(jī)發(fā)光二極管(OLED)、液晶顯示器、陰極射線管顯示器(CRT)、觸屏、觸覺輸出設(shè)備、打印機(jī)和/或揚(yáng)聲器)實(shí)現(xiàn)。示出的示例的接口電路1820因此通常包括圖形驅(qū)動(dòng)器卡、圖形驅(qū)動(dòng)器芯片或圖形驅(qū)動(dòng)器處理器(例如,圖1的示例GPU 106)。
示出的示例的接口電路1820還包括諸如發(fā)射器、接收器、收發(fā)機(jī)、調(diào)制解調(diào)器和/或網(wǎng)絡(luò)接口卡(例如,圖1的網(wǎng)絡(luò)接口110)的通信設(shè)備以促進(jìn)經(jīng)由網(wǎng)絡(luò)1826(例如,以太網(wǎng)連接、數(shù)字用戶線路(DSL)、電話線、同軸電纜、蜂窩電話系統(tǒng)等等)與外部機(jī)器(例如,諸如圖4的外部計(jì)算設(shè)備400的任何類型的計(jì)算設(shè)備)的數(shù)據(jù)交換。
示出的示例的處理器平臺(tái)1800還包括一個(gè)或多個(gè)用于存儲(chǔ)軟件和/或數(shù)據(jù)的大容量存儲(chǔ)設(shè)備1828。此類大容量存儲(chǔ)設(shè)備1828的示例包括軟盤驅(qū)動(dòng)器、硬盤驅(qū)動(dòng)器、緊湊盤驅(qū)動(dòng)器、藍(lán)光盤驅(qū)動(dòng)器、RAID系統(tǒng)和數(shù)字多功能盤(DVD)驅(qū)動(dòng)器。
圖11-17的被編碼的指令1832可以被存儲(chǔ)在大容量存儲(chǔ)設(shè)備1828、易失性存儲(chǔ)器1814、非易失性存儲(chǔ)器1816和/或諸如CD或DVD的可移除有形計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)內(nèi)。
示例公開的裝置包括安全應(yīng)用,用于配置安全任務(wù),安全任務(wù)用于檢測(cè)在計(jì)算平臺(tái)上的惡意元素,計(jì)算平臺(tái)包括中央處理單元和圖形處理單元;以及卸載器,用于確定是中央處理單元還是圖形處理單元將執(zhí)行安全任務(wù);以及當(dāng)圖形處理單元將執(zhí)行安全任務(wù)時(shí),將安全任務(wù)卸載到圖形處理單元用于執(zhí)行。
在一些公開的示例中,當(dāng)卸載器將安全任務(wù)卸載到圖形處理單元時(shí),對(duì)安全任務(wù)的至少一個(gè)操作的執(zhí)行不消耗中央處理單元的循環(huán)。
在一些公開的示例中,卸載器用于基于中央處理單元的第一當(dāng)前工作負(fù)荷和中央處理單元的第二當(dāng)前工作負(fù)荷中的至少一個(gè)來(lái)確定是中央處理單元還是圖形處理單元將執(zhí)行安全任務(wù)。
在一些公開的示例中,卸載器用于基于安全任務(wù)的尺寸或安全任務(wù)的類型中的至少一個(gè)來(lái)確定是中央處理單元還是圖形處理單元將執(zhí)行安全任務(wù)。
在一些公開的示例中,安全應(yīng)用用于實(shí)現(xiàn)卸載器。
在一些公開的示例中,裝置進(jìn)一步包括用于設(shè)定用于在圖形處理單元上的安全任務(wù)的執(zhí)行的頻率的掃描啟動(dòng)器。
在一些公開的示例中,安全任務(wù)包括針對(duì)與惡意元素相關(guān)聯(lián)的模式進(jìn)行的存儲(chǔ)器掃描。
示例公開的方法包括將安全任務(wù)配置為檢測(cè)在計(jì)算平臺(tái)上的惡意元素,計(jì)算平臺(tái)包括中央處理單元和圖形處理單元;經(jīng)由中央處理單元確定是中央處理單元還是圖形處理單元將執(zhí)行安全任務(wù);以及當(dāng)圖形處理單元將執(zhí)行安全任務(wù)時(shí),經(jīng)由處理器將安全任務(wù)卸載到圖形處理單元用于執(zhí)行。
在一些公開的示例中,當(dāng)圖形處理單元將執(zhí)行安全任務(wù)時(shí),對(duì)安全任務(wù)的至少一個(gè)操作的執(zhí)行不消耗中央處理單元的循環(huán)。
在一些公開的示例中,基于中央處理單元的第一當(dāng)前工作負(fù)荷和中央處理單元的第二當(dāng)前工作負(fù)荷中的至少一個(gè)來(lái)確定是中央處理單元還是圖形處理單元將執(zhí)行安全任務(wù)。
在一些公開的示例中,基于安全任務(wù)的尺寸或安全任務(wù)的類型中的至少一個(gè)來(lái)確定是中央處理單元還是圖形處理單元將執(zhí)行安全任務(wù)。
在一些公開的示例中,方法進(jìn)一步包括設(shè)定用于在圖形處理單元上的安全任務(wù)的執(zhí)行的頻率。
在一些公開的示例中,安全任務(wù)包括用于與惡意元素相關(guān)聯(lián)的模式的存儲(chǔ)器掃描。
示例公開的有形機(jī)器可讀存儲(chǔ)介質(zhì)包括被執(zhí)行時(shí)使機(jī)器至少進(jìn)行以下操作的指令:將安全任務(wù)配置為檢測(cè)在計(jì)算平臺(tái)上的惡意元素,計(jì)算平臺(tái)包括中央處理單元和圖形處理單元;確定是中央處理單元還是圖形處理單元將執(zhí)行安全任務(wù);以及當(dāng)圖形處理單元將執(zhí)行安全任務(wù)時(shí),將安全任務(wù)卸載到圖形處理單元用于執(zhí)行。
在一些公開的示例中,當(dāng)圖形處理單元將執(zhí)行安全任務(wù)時(shí),對(duì)安全任務(wù)的至少一個(gè)操作的執(zhí)行不消耗中央處理單元的循環(huán)。
在一些公開的示例中,指令被執(zhí)行時(shí)使機(jī)器基于中央處理單元的第一當(dāng)前工作負(fù)荷和中央處理單元的第二當(dāng)前工作負(fù)荷中的至少一個(gè)來(lái)確定是中央處理單元還是圖形處理單元將執(zhí)行安全任務(wù)。
在一些公開的示例中,指令被執(zhí)行時(shí)使機(jī)器基于安全任務(wù)的尺寸或安全任務(wù)的類型中的至少一個(gè)來(lái)確定是中央處理單元還是圖形處理單元將執(zhí)行安全任務(wù)。
在一些公開的示例中,指令被執(zhí)行時(shí)使機(jī)器設(shè)定用于在圖形處理單元上的安全任務(wù)的執(zhí)行的頻率。
在一些公開的示例中,安全任務(wù)包括針對(duì)與惡意元素相關(guān)聯(lián)的模式進(jìn)行的存儲(chǔ)器掃描。
示例公開的安全應(yīng)用包括用于將安全任務(wù)配置為檢測(cè)在計(jì)算平臺(tái)上的惡意元素的裝置,計(jì)算平臺(tái)包括中央處理單元和圖形處理單元;以及用于確定是中央處理單元還是圖形處理單元將執(zhí)行安全任務(wù);以及當(dāng)圖形處理單元將執(zhí)行安全任務(wù)時(shí),將安全任務(wù)卸載到圖形處理單元用于執(zhí)行的裝置。
在一些公開的示例中,當(dāng)圖形處理單元將執(zhí)行安全任務(wù)時(shí),對(duì)安全任務(wù)的至少一個(gè)操作的執(zhí)行不消耗中央處理單元的循環(huán)。
在一些公開的示例中,基于中央處理單元的第一當(dāng)前工作負(fù)荷和中央處理單元的第二當(dāng)前工作負(fù)荷中的至少一個(gè)來(lái)確定是中央處理單元還是圖形處理單元將執(zhí)行安全任務(wù)。
在一些公開的示例中,基于安全任務(wù)的尺寸或安全任務(wù)的類型中的至少一個(gè)來(lái)確定是中央處理單元還是圖形處理單元將執(zhí)行安全任務(wù)。
在一些公開的示例中,安全應(yīng)用進(jìn)一步包括用于設(shè)定用于在圖形處理單元上的安全任務(wù)的執(zhí)行的頻率的裝置。
在一些公開的示例中,安全任務(wù)包括針對(duì)與惡意元素相關(guān)聯(lián)的模式進(jìn)行的存儲(chǔ)器掃描。
示例公開的裝置包括用于接收來(lái)自圖形處理單元的消費(fèi)者的將被在圖形處理單元上執(zhí)行的任務(wù)的分派器;以及用于將與任務(wù)相關(guān)聯(lián)的狀態(tài)信息提供給圖形處理單元的消費(fèi)者的通知器,其中狀態(tài)信息包括對(duì)任務(wù)是否被先占的指示。
在一些公開的示例中,通知器用于以與受信任組件相關(guān)聯(lián)的特權(quán)等級(jí)將狀態(tài)信息提供給圖形處理單元的消費(fèi)者。
在一些公開的示例中,裝置進(jìn)一步包括用于獲得狀態(tài)信息和獲得狀態(tài)信息中的變化的調(diào)度器。
在一些公開的示例中,通知器提供的狀態(tài)信息包括先占了任務(wù)的進(jìn)程的標(biāo)識(shí)符。
在一些公開的示例中,裝置進(jìn)一步包括用于接收狀態(tài)信息和用于使用狀態(tài)信息以評(píng)估先占了任務(wù)的進(jìn)程的安全應(yīng)用。
在一些公開的示例中,消費(fèi)者是安全應(yīng)用,并且任務(wù)是與安全應(yīng)用相關(guān)聯(lián)的惡意軟件檢測(cè)掃描。
在一些公開的示例中,通知器用于接收來(lái)自圖形處理單元的消費(fèi)者的對(duì)狀態(tài)信息的特定方面的通知的請(qǐng)求。
在一些公開的示例中,狀態(tài)信息的特定方面包括對(duì)在圖形處理單元上的任務(wù)的啟動(dòng)中的至少一個(gè)。
示例公開的方法包括經(jīng)由處理器接收來(lái)自圖形處理單元的消費(fèi)者的將被在圖形處理單元上執(zhí)行的任務(wù);以及經(jīng)由處理器將與任務(wù)相關(guān)聯(lián)的狀態(tài)信息提供給圖形處理單元的消費(fèi)者,其中狀態(tài)信息包括對(duì)任務(wù)是否被先占的指示。
在一些公開的示例中,將狀態(tài)信息傳遞到圖形處理單元的消費(fèi)者包括以與受信任組件相關(guān)聯(lián)的特權(quán)等級(jí)傳遞狀態(tài)信息。
在一些公開的示例中,方法進(jìn)一步包括獲得狀態(tài)信息和獲得狀態(tài)信息中的變化。
在一些公開的示例中,狀態(tài)信息包括先占了任務(wù)的進(jìn)程的標(biāo)識(shí)符。
在一些公開的示例中,方法進(jìn)一步包括使用狀態(tài)信息以評(píng)估先占了任務(wù)的進(jìn)程。
在一些公開的示例中,消費(fèi)者是安全應(yīng)用,并且任務(wù)是與安全應(yīng)用相關(guān)聯(lián)的惡意軟件檢測(cè)掃描。
在一些公開的示例中,方法進(jìn)一步包括接收來(lái)自圖形處理單元的消費(fèi)者的對(duì)狀態(tài)信息的特定方面的通知的請(qǐng)求。
在一些公開的示例中,狀態(tài)信息的特定方面包括對(duì)在圖形處理單元上的任務(wù)的啟動(dòng)中的至少一個(gè)。
示例有形機(jī)器可讀存儲(chǔ)介質(zhì)包括被執(zhí)行時(shí)使機(jī)器至少進(jìn)行以下操作的指令:獲得來(lái)自圖形處理單元的消費(fèi)者的將被在圖形處理單元上執(zhí)行的任務(wù);以及將與任務(wù)相關(guān)聯(lián)的狀態(tài)信息傳遞到圖形處理單元的消費(fèi)者,其中狀態(tài)信息包括對(duì)任務(wù)是否被先占的指示。
在一些公開的示例中,指令被執(zhí)行時(shí)使機(jī)器通過(guò)以與受信任組件相關(guān)聯(lián)的特權(quán)等級(jí)傳遞狀態(tài)信息來(lái)將狀態(tài)信息傳遞到圖形處理單元的消費(fèi)者。
在一些公開的示例中,指令被執(zhí)行時(shí)使機(jī)器獲得狀態(tài)信息和獲得狀態(tài)信息中的變化。
在一些公開的示例中,狀態(tài)信息包括先占了任務(wù)的進(jìn)程的標(biāo)識(shí)符。
在一些公開的示例中,指令被執(zhí)行時(shí)使機(jī)器使用狀態(tài)信息以評(píng)估先占了任務(wù)的進(jìn)程。
在一些公開的示例中,消費(fèi)者是安全應(yīng)用,并且任務(wù)是與安全應(yīng)用相關(guān)聯(lián)的惡意軟件檢測(cè)掃描。
在一些公開的示例中,指令被執(zhí)行時(shí)使機(jī)器獲得來(lái)自圖形處理單元的消費(fèi)者的對(duì)狀態(tài)信息的特定方面的通知的請(qǐng)求。
在一些公開的示例中,狀態(tài)信息的特定方面包括對(duì)在圖形處理單元上的任務(wù)的啟動(dòng)中的至少一個(gè)。
示例公開的圖形驅(qū)動(dòng)器包括用于接收來(lái)自圖形處理單元的消費(fèi)者的將被在圖形處理單元上執(zhí)行的任務(wù)的裝置;以及用于將與任務(wù)相關(guān)聯(lián)的狀態(tài)信息提供給圖形處理單元的消費(fèi)者的裝置,其中狀態(tài)信息包括對(duì)任務(wù)是否被先占的指示。
在一些公開的示例中,用于提供狀態(tài)信息的裝置將以與受信任組件相關(guān)聯(lián)的特權(quán)等級(jí)將狀態(tài)信息提供給圖形處理單元的消費(fèi)者。
在一些公開的示例中,圖形驅(qū)動(dòng)器進(jìn)一步包括用于獲得狀態(tài)信息和狀態(tài)信息中的變化的裝置。
在一些公開的示例中,提供的狀態(tài)信息包括先占了任務(wù)的進(jìn)程的標(biāo)識(shí)符。
在一些公開的示例中,圖形驅(qū)動(dòng)器進(jìn)一步包括用于使用狀態(tài)信息以評(píng)估先占了任務(wù)的進(jìn)程的裝置。
在一些公開的示例中,消費(fèi)者是安全應(yīng)用,并且任務(wù)是與安全應(yīng)用相關(guān)聯(lián)的惡意軟件檢測(cè)掃描。
在一些公開的示例中,用于提供狀態(tài)信息的裝置用于接收來(lái)自圖形處理單元的消費(fèi)者的對(duì)狀態(tài)信息的特定方面的通知的請(qǐng)求。
在一些公開的示例中,狀態(tài)信息的特定方面包括對(duì)在圖形處理單元上的任務(wù)的啟動(dòng)中的至少一個(gè)。
示例公開的裝置包括與安全應(yīng)用通信的報(bào)告器,安全應(yīng)用用于為了第一惡意元素而掃描計(jì)算平臺(tái),報(bào)告器用于:當(dāng)安全應(yīng)用在計(jì)算平臺(tái)上檢測(cè)到第一惡意元素時(shí)接收來(lái)自安全應(yīng)用的對(duì)第一惡意元素的第一指示;以及將與對(duì)第一惡意元素的第一指示相關(guān)聯(lián)的第一數(shù)據(jù)傳遞到外部計(jì)算平臺(tái);以及與安全應(yīng)用通信的接收器,接收器用于:接收來(lái)自外部計(jì)算平臺(tái)的對(duì)在外部計(jì)算平臺(tái)上檢測(cè)到的第二惡意元素的第二指示;以及將與對(duì)第二惡意元素的第二指示相關(guān)聯(lián)的第二數(shù)據(jù)傳遞到安全應(yīng)用。
在一些公開的示例中,報(bào)告器用于沒(méi)有延遲地將與對(duì)第一惡意元素的第一指示相關(guān)聯(lián)的第一數(shù)據(jù)傳遞到外部計(jì)算平臺(tái)。
在一些公開的示例中,沒(méi)有延遲地將與對(duì)第一惡意元素的第一指示相關(guān)聯(lián)的第一數(shù)據(jù)傳遞到外部計(jì)算平臺(tái)包括在接收來(lái)自安全應(yīng)用的對(duì)第一惡意元素的第一指示之后立即傳遞第一數(shù)據(jù)。
在一些公開的示例中,接收器用于沒(méi)有延遲地將與對(duì)第二惡意元素的第二指示相關(guān)聯(lián)的第二數(shù)據(jù)傳遞到安全應(yīng)用。
在一些公開的示例中,沒(méi)有延遲地將與對(duì)第二惡意元素的第二指示相關(guān)聯(lián)的第二數(shù)據(jù)傳遞到安全應(yīng)用包括在接收來(lái)自外部計(jì)算平臺(tái)的對(duì)第二惡意元素的第二指示之后立即傳遞第二數(shù)據(jù)。
在一些公開的示例中,報(bào)告器用于經(jīng)由網(wǎng)絡(luò)將第一數(shù)據(jù)傳遞到外部計(jì)算平臺(tái),以及接收器用于經(jīng)由網(wǎng)絡(luò)接收來(lái)自外部計(jì)算平臺(tái)的第二指示。
在一些公開的示例中,報(bào)告器和接收器由計(jì)算平臺(tái)的網(wǎng)絡(luò)接口驅(qū)動(dòng)器實(shí)現(xiàn)。
示例公開的方法包括當(dāng)安全應(yīng)用檢測(cè)到在計(jì)算平臺(tái)上的第一惡意元素時(shí)接收來(lái)自在計(jì)算平臺(tái)上實(shí)現(xiàn)的安全應(yīng)用的對(duì)第一惡意元素的第一指示;經(jīng)由處理器將與對(duì)第一惡意元素的第一指示相關(guān)聯(lián)的第一數(shù)據(jù)傳遞到外部計(jì)算平臺(tái);接收來(lái)自外部計(jì)算平臺(tái)的對(duì)在外部計(jì)算平臺(tái)上檢測(cè)到的第二惡意元素的第二指示;以及經(jīng)由處理器將與對(duì)第二惡意元素的第二指示相關(guān)聯(lián)的第二數(shù)據(jù)傳遞到安全應(yīng)用。
在一些公開的示例中,將與對(duì)第一惡意元素的第一指示相關(guān)聯(lián)的第一數(shù)據(jù)傳遞到外部計(jì)算平臺(tái)包括沒(méi)有延遲地傳遞第一數(shù)據(jù)。
在一些公開的示例中,沒(méi)有延遲地將與對(duì)第一惡意元素的第一指示相關(guān)聯(lián)的第一數(shù)據(jù)傳遞到外部計(jì)算平臺(tái)包括在接收來(lái)自安全應(yīng)用的對(duì)第一惡意元素的第一指示之后立即傳遞第一數(shù)據(jù)。
在一些公開的示例中,將與對(duì)第二惡意元素的第二指示相關(guān)聯(lián)的第二數(shù)據(jù)傳遞到安全應(yīng)用包括沒(méi)有延遲地傳遞第二數(shù)據(jù)。
在一些公開的示例中,沒(méi)有延遲地將與對(duì)第二惡意元素的第二指示相關(guān)聯(lián)的第二數(shù)據(jù)傳遞到安全應(yīng)用包括在接收來(lái)自外部計(jì)算平臺(tái)的對(duì)第二惡意元素的第二指示之后立即傳遞第二數(shù)據(jù)。
在一些公開的示例中,將第一數(shù)據(jù)傳遞到外部計(jì)算平臺(tái)包括經(jīng)由網(wǎng)絡(luò)傳遞第一數(shù)據(jù),以及接收來(lái)自外部計(jì)算平臺(tái)的第二指示包括經(jīng)由網(wǎng)絡(luò)接收第二指示。
示例公開的有形機(jī)器可讀存儲(chǔ)介質(zhì)包括被執(zhí)行時(shí)使機(jī)器進(jìn)行至少以下操作的指令:當(dāng)安全應(yīng)用檢測(cè)到在計(jì)算平臺(tái)上的第一惡意元素時(shí)接收來(lái)自在計(jì)算平臺(tái)上實(shí)現(xiàn)的安全應(yīng)用的對(duì)第一惡意元素的第一指示;將與對(duì)第一惡意元素的第一指示相關(guān)聯(lián)的第一數(shù)據(jù)傳遞到外部計(jì)算平臺(tái);接收來(lái)自外部計(jì)算平臺(tái)的對(duì)在外部計(jì)算平臺(tái)上檢測(cè)到的第二惡意元素的第二指示;以及將與對(duì)第二惡意元素的第二指示相關(guān)聯(lián)的第二數(shù)據(jù)傳遞到安全應(yīng)用。
在一些公開的示例中,指令被執(zhí)行時(shí)使機(jī)器沒(méi)有延遲地將第一數(shù)據(jù)傳遞到外部計(jì)算平臺(tái)。
在一些公開的示例中,指令被執(zhí)行時(shí)使機(jī)器通過(guò)在接收來(lái)自安全應(yīng)用的對(duì)第一惡意元素的第一指示之后立即傳遞第一數(shù)據(jù)來(lái)沒(méi)有延遲地將第一數(shù)據(jù)傳遞到外部計(jì)算平臺(tái)。
在一些公開的示例中,指令被執(zhí)行時(shí)使機(jī)器沒(méi)有延遲地將第二數(shù)據(jù)傳遞到安全應(yīng)用。
在一些公開的示例中,指令被執(zhí)行時(shí)使機(jī)器通過(guò)在接收來(lái)自外部計(jì)算平臺(tái)的對(duì)第二惡意元素的第二指示之后立即傳遞第二數(shù)據(jù)來(lái)沒(méi)有延遲地將第二數(shù)據(jù)傳遞到安全應(yīng)用。
在一些公開的示例中,指令被執(zhí)行時(shí)使機(jī)器經(jīng)由網(wǎng)絡(luò)將第一數(shù)據(jù)傳遞到外部計(jì)算平臺(tái),以及經(jīng)由網(wǎng)絡(luò)接收來(lái)自外部計(jì)算平臺(tái)的第二指示。
示例公開的網(wǎng)絡(luò)接口驅(qū)動(dòng)器包括用于當(dāng)安全應(yīng)用檢測(cè)到在計(jì)算平臺(tái)上的第一惡意元素時(shí)接收來(lái)自在計(jì)算平臺(tái)上實(shí)現(xiàn)的安全應(yīng)用的對(duì)第一惡意元素的第一指示的裝置;用于將與對(duì)第一惡意元素的第一指示相關(guān)聯(lián)的第一數(shù)據(jù)傳遞到外部計(jì)算平臺(tái)的裝置;用于接收來(lái)自外部計(jì)算平臺(tái)的對(duì)在外部計(jì)算平臺(tái)上檢測(cè)到的第二惡意元素的第二指示的裝置;以及用于將與對(duì)第二惡意元素的第二指示相關(guān)聯(lián)的第二數(shù)據(jù)傳遞到安全應(yīng)用的裝置。
在一些公開的示例中,用于將第一數(shù)據(jù)傳遞到外部計(jì)算平臺(tái)的裝置將沒(méi)有延遲地傳遞第一數(shù)據(jù)。
在一些公開的示例中,用于將第一數(shù)據(jù)傳遞到外部計(jì)算平臺(tái)的裝置通過(guò)在接收來(lái)自安全應(yīng)用的對(duì)第一惡意元素的第一指示之后立即傳遞第一數(shù)據(jù)來(lái)沒(méi)有延遲地傳遞第一數(shù)據(jù)。
在一些公開的示例中,用于將第二數(shù)據(jù)傳遞到安全應(yīng)用的裝置將沒(méi)有延遲地傳遞第二數(shù)據(jù)。
在一些公開的示例中,用于將第二數(shù)據(jù)傳遞到安全應(yīng)用的裝置通過(guò)在接收來(lái)自外部計(jì)算平臺(tái)的對(duì)第二惡意元素的第二指示之后立即傳遞第二數(shù)據(jù)來(lái)沒(méi)有延遲地傳遞第二數(shù)據(jù)。
在一些公開的示例中,用于將第一數(shù)據(jù)傳遞到外部計(jì)算平臺(tái)的裝置用于經(jīng)由網(wǎng)絡(luò)傳遞第一數(shù)據(jù),以及用于接收來(lái)自外部計(jì)算平臺(tái)的第二指示的裝置用于經(jīng)由網(wǎng)絡(luò)接收第二指示。
示例公開的方法包括經(jīng)由圖形驅(qū)動(dòng)器和應(yīng)用之間的相互認(rèn)證來(lái)建立圖形驅(qū)動(dòng)器和應(yīng)用驅(qū)動(dòng)器之間的受信任通道;經(jīng)由受信任通道將與應(yīng)用驅(qū)動(dòng)器相關(guān)聯(lián)的計(jì)算任務(wù)卸載到圖形處理單元;以及將監(jiān)視器配置為針對(duì)未經(jīng)授權(quán)的訪問(wèn)嘗試而監(jiān)視與被卸載的計(jì)算任務(wù)相關(guān)聯(lián)的存儲(chǔ)器。
在一些公開的示例中,配置監(jiān)視器包括定義用于具有計(jì)算平臺(tái)的最高特權(quán)等級(jí)的管理程序的策略以監(jiān)視存儲(chǔ)器。
在一些公開的示例中,方法進(jìn)一步包括將監(jiān)視器配置為在操作系統(tǒng)外部操作。
在一些公開的示例中,監(jiān)視器經(jīng)由受信任存儲(chǔ)器服務(wù)層實(shí)現(xiàn)。
在一些公開的示例中,方法進(jìn)一步包括將與被卸載的計(jì)算任務(wù)相關(guān)聯(lián)的存儲(chǔ)器和與圖形處理單元執(zhí)行的圖像渲染任務(wù)相關(guān)聯(lián)的第二存儲(chǔ)器隔離。
在一些公開的示例中,應(yīng)用驅(qū)動(dòng)器對(duì)應(yīng)于安全應(yīng)用,并且計(jì)算任務(wù)包括存儲(chǔ)器掃描操作以檢測(cè)與惡意軟件相關(guān)聯(lián)的模式。
在一些公開的示例中,響應(yīng)于來(lái)自應(yīng)用驅(qū)動(dòng)器的指示計(jì)算任務(wù)將被卸載到圖形處理單元,執(zhí)行建立受信任通道。
在一些公開的示例中,方法進(jìn)一步包括當(dāng)相互認(rèn)證失敗時(shí)拒絕卸載計(jì)算任務(wù)。
示例公開的裝置包括圖形處理單元;以及圖形驅(qū)動(dòng)器,用于促進(jìn)對(duì)圖形處理單元的訪問(wèn),圖形驅(qū)動(dòng)器包括:認(rèn)證器,用于經(jīng)由圖形驅(qū)動(dòng)器和應(yīng)用之間的相互認(rèn)證來(lái)建立圖形驅(qū)動(dòng)器和應(yīng)用驅(qū)動(dòng)器之間的受信任通道;第一接口,通過(guò)第一接口經(jīng)由受信任通道將與應(yīng)用驅(qū)動(dòng)器相關(guān)聯(lián)的計(jì)算任務(wù)卸載到圖形處理單元;以及定義器,用于將監(jiān)視器配置為針對(duì)未經(jīng)授權(quán)的訪問(wèn)嘗試而監(jiān)視與被卸載的計(jì)算任務(wù)相關(guān)聯(lián)的存儲(chǔ)器。
在一些公開的示例中,定義器用于通過(guò)定義用于具有計(jì)算平臺(tái)的最高特權(quán)等級(jí)的管理程序的策略以監(jiān)視存儲(chǔ)器來(lái)配置監(jiān)視器。
在一些公開的示例中,定義器用于將監(jiān)視器配置為在操作系統(tǒng)外部操作。
在一些公開的示例中,監(jiān)視器經(jīng)由受信任存儲(chǔ)器服務(wù)層實(shí)現(xiàn)。
在一些公開的示例中,存儲(chǔ)器和與圖形處理單元執(zhí)行的圖像渲染任務(wù)相關(guān)聯(lián)的第二存儲(chǔ)器隔離。
在一些公開的示例中,應(yīng)用驅(qū)動(dòng)器對(duì)應(yīng)于安全應(yīng)用,并且計(jì)算任務(wù)包括存儲(chǔ)器掃描操作以檢測(cè)與惡意軟件相關(guān)聯(lián)的模式。
在一些公開的示例中,認(rèn)證器用于響應(yīng)于來(lái)自應(yīng)用驅(qū)動(dòng)器的指示計(jì)算任務(wù)將被卸載到圖形處理單元,建立受信任通道。
在一些公開的示例中,認(rèn)證器用于當(dāng)相互認(rèn)證失敗時(shí)拒絕卸載計(jì)算任務(wù)。
示例有形計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)包括被執(zhí)行時(shí)使機(jī)器至少進(jìn)行以下操作的指令:經(jīng)由圖形驅(qū)動(dòng)器和應(yīng)用之間的相互認(rèn)證來(lái)建立圖形驅(qū)動(dòng)器和應(yīng)用驅(qū)動(dòng)器之間的受信任通道;經(jīng)由受信任通道將與應(yīng)用驅(qū)動(dòng)器相關(guān)聯(lián)的計(jì)算任務(wù)卸載到圖形處理單元;以及將監(jiān)視器配置為針對(duì)未經(jīng)授權(quán)的訪問(wèn)嘗試而監(jiān)視與被卸載的計(jì)算任務(wù)相關(guān)聯(lián)的存儲(chǔ)器。
在一些公開的示例中,配置監(jiān)視器包括定義用于具有計(jì)算平臺(tái)的最高特權(quán)等級(jí)的管理程序的策略以監(jiān)視存儲(chǔ)器。
在一些公開的示例中,指令被執(zhí)行時(shí)使機(jī)器將監(jiān)視器配置為在操作系統(tǒng)外部操作。
在一些公開的示例中,監(jiān)視器經(jīng)由受信任存儲(chǔ)器服務(wù)層實(shí)現(xiàn)。
在一些公開的示例中,指令被執(zhí)行時(shí)使機(jī)器將與被卸載的計(jì)算任務(wù)相關(guān)聯(lián)的存儲(chǔ)器和與圖形處理單元執(zhí)行的圖像渲染任務(wù)相關(guān)聯(lián)的第二存儲(chǔ)器隔離。
在一些公開的示例中,應(yīng)用驅(qū)動(dòng)器對(duì)應(yīng)于安全應(yīng)用,并且計(jì)算任務(wù)包括存儲(chǔ)器掃描操作以檢測(cè)與惡意軟件相關(guān)聯(lián)的模式。
在一些公開的示例中,響應(yīng)于來(lái)自應(yīng)用驅(qū)動(dòng)器的指示計(jì)算任務(wù)將被卸載到圖形處理單元,執(zhí)行建立受信任通道。
在一些公開的示例中,指令被執(zhí)行時(shí)使機(jī)器當(dāng)相互認(rèn)證失敗時(shí)拒絕卸載計(jì)算任務(wù)。
示例公開的設(shè)備包括用于經(jīng)由圖形驅(qū)動(dòng)器和應(yīng)用之間的相互認(rèn)證來(lái)建立圖形驅(qū)動(dòng)器和應(yīng)用驅(qū)動(dòng)器之間的受信任通道的裝置;用于經(jīng)由受信任通道將與應(yīng)用驅(qū)動(dòng)器相關(guān)聯(lián)的計(jì)算任務(wù)卸載到圖形處理單元的裝置;以及用于將監(jiān)視器配置為針對(duì)未經(jīng)授權(quán)的訪問(wèn)嘗試而監(jiān)視與被卸載的計(jì)算任務(wù)相關(guān)聯(lián)的存儲(chǔ)器的裝置。
在一些公開的示例中,配置監(jiān)視器包括定義用于具有計(jì)算平臺(tái)的最高特權(quán)等級(jí)的管理程序的策略以監(jiān)視存儲(chǔ)器。
在一些公開的示例中,用于配置監(jiān)視器的裝置用于將監(jiān)視器配置為在操作系統(tǒng)外部操作。
在一些公開的示例中,監(jiān)視器經(jīng)由受信任存儲(chǔ)器服務(wù)層實(shí)現(xiàn)。
在一些公開的示例中,設(shè)備進(jìn)一步包括用于將與被卸載的計(jì)算任務(wù)相關(guān)聯(lián)的存儲(chǔ)器和與圖形處理單元執(zhí)行的圖像渲染任務(wù)相關(guān)聯(lián)的第二存儲(chǔ)器隔離的裝置。
在一些公開的示例中,應(yīng)用驅(qū)動(dòng)器對(duì)應(yīng)于安全應(yīng)用,并且計(jì)算任務(wù)包括存儲(chǔ)器掃描操作以檢測(cè)與惡意軟件相關(guān)聯(lián)的模式。
在一些公開的示例中,響應(yīng)于來(lái)自應(yīng)用驅(qū)動(dòng)器的指示計(jì)算任務(wù)將被卸載到圖形處理單元,執(zhí)行建立受信任通道。
在一些公開的示例中,用于建立受信任通道的裝置用于當(dāng)相互認(rèn)證失敗時(shí)拒絕卸載計(jì)算任務(wù)。
示例方法包括定義滑動(dòng)窗口;經(jīng)由滑動(dòng)窗口選擇將被監(jiān)視的多個(gè)進(jìn)程;移動(dòng)滑動(dòng)窗口穿過(guò)多個(gè)進(jìn)程的前進(jìn);以及將滑動(dòng)窗口內(nèi)的存儲(chǔ)器映射到虛擬地址空間。
在一些公開的示例中,方法進(jìn)一步包括定義狀態(tài)以確定將被映射到虛擬地址空間的多個(gè)進(jìn)程中的第一進(jìn)程的方面。
在一些公開的示例中,定義滑動(dòng)窗口包括選擇窗口尺寸。
在一些公開的示例中,方法進(jìn)一步包括執(zhí)行對(duì)被映射的存儲(chǔ)器的掃描。
在一些公開的示例中,方法進(jìn)一步包括驗(yàn)證對(duì)被映射的存儲(chǔ)器的掃描發(fā)現(xiàn)的匹配。
在一些公開的示例中,移動(dòng)滑動(dòng)窗口穿過(guò)多個(gè)進(jìn)程的前進(jìn)包括在將當(dāng)前迭代的存儲(chǔ)器映射到虛擬地址空間之后移動(dòng)滑動(dòng)窗口。
在一些公開的示例中,虛擬地址空間對(duì)應(yīng)于計(jì)算平臺(tái)的用戶模式客戶機(jī)。
公開的示例裝置包括用于定義滑動(dòng)窗口的窗口尺寸定義器;用于經(jīng)由滑動(dòng)窗口選擇將被監(jiān)視的多個(gè)進(jìn)程的進(jìn)程選擇器;用于移動(dòng)滑動(dòng)窗口穿過(guò)多個(gè)進(jìn)程的前進(jìn)的驅(qū)動(dòng)器;以及用于將滑動(dòng)窗口內(nèi)的存儲(chǔ)器映射到虛擬地址空間的映射器。
在一些公開的示例中,裝置進(jìn)一步包括用于定義狀態(tài)的狀態(tài)選擇器以確定將被映射到虛擬地址空間的多個(gè)進(jìn)程中的第一進(jìn)程的方面。
在一些公開的示例中,窗口尺寸定義器用于通過(guò)選擇窗口尺寸來(lái)定義滑動(dòng)窗口。
在一些公開的示例中,裝置進(jìn)一步包括用于執(zhí)行對(duì)被映射的存儲(chǔ)器的掃描的工作負(fù)荷執(zhí)行器。
在一些公開的示例中,裝置進(jìn)一步包括用于驗(yàn)證對(duì)被映射的存儲(chǔ)器的掃描發(fā)現(xiàn)的匹配的驗(yàn)證器。
在一些公開的示例中,驅(qū)動(dòng)器用于通過(guò)在將當(dāng)前迭代的存儲(chǔ)器映射到虛擬地址空間之后移動(dòng)滑動(dòng)窗口來(lái)移動(dòng)滑動(dòng)窗口穿過(guò)多個(gè)進(jìn)程的前進(jìn)。
在一些公開的示例中,裝置進(jìn)一步包括用戶模式客戶機(jī),并且虛擬地址空間對(duì)應(yīng)于用戶模式客戶機(jī)。
公開的示例有形計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)包括被執(zhí)行時(shí)使機(jī)器進(jìn)行至少以下操作的指令:定義滑動(dòng)窗口;經(jīng)由滑動(dòng)窗口選擇將被監(jiān)視的多個(gè)進(jìn)程;移動(dòng)滑動(dòng)窗口穿過(guò)多個(gè)進(jìn)程的前進(jìn);以及將滑動(dòng)窗口內(nèi)的存儲(chǔ)器映射到虛擬地址空間。
在一些公開的示例中,指令被執(zhí)行時(shí)使機(jī)器定義狀態(tài)以確定將被映射到虛擬地址空間的多個(gè)進(jìn)程中的第一進(jìn)程的方面。
在一些公開的示例中,指令被執(zhí)行時(shí)使機(jī)器通過(guò)選擇窗口尺寸來(lái)定義滑動(dòng)窗口。
在一些公開的示例中,指令被執(zhí)行時(shí)使機(jī)器執(zhí)行對(duì)被映射的存儲(chǔ)器的掃描。
在一些公開的示例中,指令被執(zhí)行時(shí)使機(jī)器驗(yàn)證對(duì)被映射的存儲(chǔ)器的掃描發(fā)現(xiàn)的匹配。
在一些公開的示例中,指令被執(zhí)行時(shí)使機(jī)器通過(guò)在將當(dāng)前迭代的存儲(chǔ)器映射到虛擬地址空間之后移動(dòng)滑動(dòng)窗口來(lái)移動(dòng)滑動(dòng)窗口穿過(guò)多個(gè)進(jìn)程的前進(jìn)。
在一些公開的示例中,虛擬地址空間對(duì)應(yīng)于機(jī)器的用戶模式客戶機(jī)。
公開的示例掃描器包括用于定義滑動(dòng)窗口的裝置;用于經(jīng)由滑動(dòng)窗口選擇將被監(jiān)視的多個(gè)進(jìn)程的裝置;用于移動(dòng)滑動(dòng)窗口穿過(guò)多個(gè)進(jìn)程的前進(jìn)的裝置;以及用于將滑動(dòng)窗口內(nèi)的存儲(chǔ)器映射到虛擬地址空間的裝置。
在一些公開的示例中,掃描器進(jìn)一步包括用于定義狀態(tài)以確定將被映射到虛擬地址空間的多個(gè)進(jìn)程中的第一進(jìn)程的方面的裝置。
在一些公開的示例中,用于定義滑動(dòng)窗口的裝置包括用于選擇窗口尺寸的裝置。
在一些公開的示例中,掃描器進(jìn)一步包括用于執(zhí)行對(duì)被映射的存儲(chǔ)器的掃描的裝置。
在一些公開的示例中,掃描器進(jìn)一步包括用于驗(yàn)證對(duì)被映射的存儲(chǔ)器的掃描發(fā)現(xiàn)的匹配的裝置。
在一些公開的示例中,移動(dòng)滑動(dòng)窗口穿過(guò)多個(gè)進(jìn)程的前進(jìn)包括在將當(dāng)前迭代的存儲(chǔ)器映射到虛擬地址空間之后移動(dòng)滑動(dòng)窗口。
在一些公開的示例中,虛擬地址空間對(duì)應(yīng)于計(jì)算平臺(tái)的用戶模式客戶機(jī)。
盡管本文已公開了某些示例方法、裝置和制品,但本專利覆蓋的范圍并不限于此。相反,本專利覆蓋落入本專利權(quán)利要求范圍內(nèi)的全部方法、裝置和制品。