TWI539320B - 用以執行強制安全政策於作業系統獨立之防毒掃描器上的方法及裝置 - Google Patents
用以執行強制安全政策於作業系統獨立之防毒掃描器上的方法及裝置 Download PDFInfo
- Publication number
- TWI539320B TWI539320B TW100129392A TW100129392A TWI539320B TW I539320 B TWI539320 B TW I539320B TW 100129392 A TW100129392 A TW 100129392A TW 100129392 A TW100129392 A TW 100129392A TW I539320 B TWI539320 B TW I539320B
- Authority
- TW
- Taiwan
- Prior art keywords
- application
- memory
- guest
- domain
- error handler
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/51—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
- G06F21/564—Static detection by virus signature recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/575—Secure boot
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Virology (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
- Retry When Errors Occur (AREA)
- Stored Programmes (AREA)
Description
本發明一般係有關運算之領域。更明確而言,本發明的一個實施例,係有關執行一個運算系統上面所運行之防毒掃瞄代理器相關的強制安全政策。
防毒(AV)掃瞄代理器應用程式,通常係運行為一些作業系統(OS)行程。AV掃瞄代理器,係藉由採用一些如同惡意軟體所採用之隱形技術,來保護彼等自身,使免於惡意軟體/隱形程式(Rootkit)之攻擊。OS設計中之新近變革,採用了強制存取控制(MAC)標籤,彼等可根據低、中、和高之完整性分類,來標示行程。不同位階下之行程,並不允許彼此之修改/存取。然而,該等MAC位階語義,係在該OS第0級(核心特權)下實施。第0級別之妥協,意味著該MAC執行機構之妥協,以及因而意味著在第3級別(使用者特權)與第0級別中運行之AV掃瞄代理器的妥協。一個虛擬記憶體管理器(VMM)(若使用)之妥協,亦可能造成該使用者OS(UOS) MAC機構之妥協。在該OS中使用MAC機構,使得AV掃瞄代理器,更難隱身於瞄向AV掃瞄代理器代碼之惡意軟體。所以,儘管OS安全性中有些改善,AV掃瞄代理器代碼,會更易受攻擊。
依據本發明的一個實施例,係特別提出一種在具有一個載入程式和一個錯誤處置器之運算系統中針對在一個客端OS中運行的作業系統(OS)獨立性防毒(AV)應用程式而實施一個安全政策之方法,其係包括:藉著該AV應用程式,來指明一個錯誤處置器代碼影像、一個錯誤處置器清單、該AV應用程式的一個記憶體位置、和一個AV應用程式清單;藉由該載入程式,來驗證該等錯誤處置器代碼映像和錯誤處置器清單;藉由該載入程式,來建立一個具有第一安全位階之第一安全域,來將該錯誤處置器代碼映像複製至與該第一安全域相關聯之記憶體,以及來起動該錯誤處置器之執行;藉由該載入程式,來請求鎖定該客端OS中保留給該AV應用程式之記憶體分頁;藉由該錯誤處置器,針對客端OS記憶體分頁中被選定之代碼區段,而設定一些攔阻區,使鎖定被載入該客端OS記憶體內之AV應用程式的可執行式代碼映像;藉由該載入程式,來測量該AV應用程式記憶體,以及使此測量值與該AV應用程式清單做比較;以及藉由該載入程式,而在該AV應用程式被該測量和比較步驟成功驗證時,使該AV應用程式提昇至該第一安全域。
所提供之詳細說明內容,係參照相伴隨之數字。不同之圖示中使用相同之參考數字,係指出類似的或相同的項目。
第1圖係依據本發明之某些實施例的執行容器完整性模型之簡圖;第2圖係例示依據本發明的一個實施例而有一個客端OS之執行容器完整性模型;第3圖係一個依據本發明的一個實施例而有一個擁有某一AV應用程式之客端OS的執行容器完整性模型之簡圖;第4圖係一個依據本發明的一個實施例而建立之C域相關的流程圖;第5圖係一個用以例示依據本發明的一個實施例而與一系列資源攔阻機構相對應之串級Biba位階的簡圖;第6圖係一個可例示依據本發明的一個實施例而建立子C域之流程圖;第7圖係一個可例示依據本發明的一個實施例而設定一個應用程式攔阻區之流程圖;第8圖係一個可例示依據本發明的另一個實施例而設定一個應用程式攔阻區之流程圖;第9圖係一個可例示依據本發明的一個實施例而執行一個攔阻區之流程圖;第10圖係依據本發明的另一個實施例而有一個應用至一個虛擬機管理器(VMM)之客端OS的執行容器完整性模型之簡圖;第11圖係一個擁有某一應用至一個VMM之客端OS的執行容器完整性模型之簡圖,其中,一個虛擬機係包括依據本發明的一個實施例之AV應用程式;而第12和13圖則係例示一些可能被利用來體現本說明書所討論之某些實施例的運算系統之實施例的方塊圖。
在下文之說明內容中,眾多之特定細節在闡明上,係為提供各種實施例之完全理解。然而,本發明之各種實施例,在實現上可能用不到該等特定細節。在其他實例中,一些習見之方法、程序、組件、和電路,並未詳加說明,以使不致混淆本發明之特定實施例。此外,本發明之實施例的各種形態在操作上,可能使用各種構件,諸如積體半導體電路(「硬體」)、一些被組織成一個或多個儲存在一個電腦可讀取式儲存媒體上面之程式的電腦可讀取式指令(「軟體」)、或某些硬體和軟體之組合。為此揭示內容計,引用「邏輯」應係意指硬體、軟體(舉例而言,包括可控制一個處理器之運作的微碼)、韌體、或彼等之某些組合。
在一個實施例中,一個AV掃瞄代理器應用程式在執行上,可能係處於一個運算系統內受保護之執行環境中,其中,該AV掃瞄代理器,可能被指派一個可支配該用戶作業系統(UOS)(或一個虛擬機管理器(VMM))所採用之MAC特權的MAC特權。該AV掃瞄代理器,可使用該受保護之執行環境,來配置一些內含受保護之UOS代理器的記憶體分頁。此等記憶體分頁,具有一些勝過該UOS(或VMM)所同意之最高特權的有效MAC特權,因而該UOS之妥協,並不會被轉換成該UOS中之AV掃瞄代理器的妥協。
本發明之實施例,採用了至少兩種技術之組合:在一個硬體位階下所應用之受保護的執行環境微碼和MAC標籤,而與作業系統MAC抽象化分隔。該受保護之執行環境內之執行容器,可提供該運作於一個「高於」該最高可能之OS第0級別位階的安全位階下的AV掃瞄代理器運行時間有關之執行隔離。此位階係由該受保護之執行環境來加以實施。由於該受保護之執行環境,會遵守該MAC安全模型,該受保護之執行環境,係可能阻斷該AV掃瞄代理器運行時間之惡意竄改,而仍可允許對OS檔案系統對象進行讀取存取。本發明之實施例,會統一地聯結MAC標籤,同時針對客端OS資源,設定一些攔阻區。一個實施例之系統方法,可橫遍客端資源和分頁,使標籤指派與攔阻區指派遞歸地級聯,直至該AV掃瞄代理器應用程式和相聯結之資料受到保護為止。一些嘗試竄改受保護之資源的惡意軟體,可能會被該運算系統之處理器偵測並阻斷。自偵測到之攻擊恢復過來,可能係由一個來自該受保護之執行環境不違反該系統完整性模型而在一個較高之完整性位階下運行的處理常式代理器程式,來加以管理。
彼等MAC安全模型,係藉由指派一個安全標籤,給該系統中之主體和對象,來保護資訊。有一個此種MAC安全模型,是Biba模型,正如1977年四月Biba K.J.在Mitre公司之MTR-3153「安全電腦系統有關之完整性考量」中所揭示。該Biba完整性模型,係電腦系統安全政策的一個正規狀態轉換系統,其說明了一組被設計來確保資料完整性之存取控制規則。資料和主體係被分類為有序位階之完整性。該模型在設計上,可便彼等主體不可能會破壞在一個分級高於該主體之位階中的資料,或者不可能會被來自一個低於該主體之位階的資料破壞。大體上,資料完整性之保存所具有的目標是:阻斷未經授權之對方竄改資料、阻斷經授權之對方未經授權而竄改資料、和維持內在和外在之一致性(亦即,資料反映出真實世界)。此安全模型係專注於資料完整性,以及所表現之特徵是片語「嚴禁下讀、上寫」。該Biba MAC規則可能會被總結為:1)資源(主體和對象)係給定一個Biba完整性標籤,而使一個較高之位階,「支配」一個較低之位階。一些可支配對象或其他主體之主體,可「下寫」該等資源。2)彼等較低位階之資源,可「上讀」至較高位階之資源。
該Biba模型,可能使應用至一個受保護之執行環境,以致彼等裝置、記憶體、直接記憶體存取(DMA)緩衝器、中斷、和配置空間,可藉Biba標籤使典型化,而使該等Biba存取規則,可統一地加以應用。在一個執行容器中運行之OS會實施該Biba安全模型所在的受保護之執行環境中運行的應用程式,可能被指派一些對應於MAC標籤限制條件之虛擬化資源。該受保護之執行環境的一個資源管理器組件,可能會被信任來實施橫跨該等執行容器(受保護之記憶體)與裝置資源間之硬體介面邊界的特權語義。
第1圖係依據本發明之某些實施例的執行容器完整性模型之簡圖。一個受保護之執行環境,可能橫跨一些在一個執行容器100中運行之應用程式,而實施一個Biba安全政策。一個執行容器,包含有在一個運算系統內而與該正常之OS環境分隔的應用環境。在一個實施例中,該執行容器在其功能性中可能會有限制;該執行容器可能不包括一個全功能性OS。在一個實施例中,該執行容器包含有一個應用程式(App)政策管理器組件102、和一個或多個應用程式。在第1圖內所顯示之範例中,該執行容器包括:一個第一完整性位階下之應用程式(應用程式L1 104)、一個第二完整性位階下之應用程式(應用程式L2 106)、和一個第三完整性位階下之應用程式(應用程式L3 108)。
在一個實施例中,該受保護之執行環境,可提供一個機構,使藉由使用有關對該等資源之仲裁的存取之支援硬體,來分割該等平臺資源(中央處理器(CPU)、記憶體、晶片集、快閃記憶體、等等),而在該運算系統中,建立一些執行容器。其意圖在於,除該客端OS(UOS)有關之容器外,其他之獨立性作業環境係可使運行,其通常係利用一個多核心處理器中之核心上面的週期,彼等在有關節省電力之低活動期間而在該UOS以離線方式佔用核心時,係未加以使用。此對耗電量和性能,將會具有少許之衝擊,但可提供一個程式執行有關之環境,其可就該UOS之頻外(OOB)活動加以使用,諸如安全性、易管理性、安全貿易、或授權。藉由一個OOB執行環境,一些在此等容器中運行之應用程式,將會是安全的,使免於使用者竄改、惡意軟體,以及可耐受OS失效。為促成此功能性,對該處理器,可能會加進若干新硬體特徵(諸如一個定時器、裝置濾波、排程緩衝器、分頁表、中斷映射支援裝置、和快閃記憶體內之空間),一個廣範圍之軟體堆疊(核心、UOS驅動器、核心驅動器、韌體、等等),亦可能需要備有,以及一個外圍核心(uncore)補丁支援裝置,亦可能需要備有。每個執行容器,將會具有分開之記憶體(包括個別之擴展式分頁表(EPT))彼等自身之狀態、一種可控制在該處理器上面執行所需之時間片段的方法、和對硬體裝置之專屬性存取有關的潛在能力(透過裝置濾波、本地高級可編程中斷控制器(APIC)、和中斷重新映射)。有一個可提昇運算系統中之電力效益的受保護之執行環境和利用率模型之範例,係揭示在2007年十二月26日Kumar,et al.所提交之序號11/964,439而讓渡給本申請案之讓受人的「成本和電力效益可調性OS獨立性服務之方法及裝置」(「Method and Apparatus for Cost and Power Efficient Scalable OS-Independent Services,」)中,以及係藉由參照使合併進本說明書內。
在一個實施例中,彼等應用程式,可與一個受保護之執行環境資源管理器(RM) 110相通訊。在一個實施例中,該RM可能係體現為該電腦系統之處理器中的微碼,以及可建立一些在不同之完整性位階下運行的執行緒。在一個實施例中,該RM可能運行為一個單獨之超執行緒,其不可被第0級別或第3級別行程存取。該RM之受保護的超執行緒,可能會在系統引導(boot)處理期間被具現化,以及可能會被該OS排程但不會被修改。彼等在該執行容器100中運行之應用程式上面實施Biba安全政策,在完成上可能會使該RM 110運作於某一高過該執行容器之完整性位階下,以致任何以該執行容器之名義來修改或破壞該RM的嘗試,係等同於違反該安全政策。該RM可在執行容器中建立信任,而成為在該執行容器中載入及驗證該OS的一部分。在一個實施例中,該執行容器起動控制政策可確立,彼等執行容器能力,包括實施Biba安全規則之能力。
該RM中的一個域政策管理器112,可指派某一範圍之Biba標籤(亦即,特權),給該應用程式政策管理器102。該域政策管理器,會追蹤彼等域在該處理器中可運行之標籤。該執行容器可依據所供應之範圍,來實施Biba規則。該應用程式政策管理器,接著會指派特權給來自該範圍內之執行容器應用程式。此可確保Biba位階整體系統之語意一致性,縱使該執行容器,可能並不具有所有運算平臺資源之全局視野。該RM 110可提供多數之安全域。在一個實施例中,一個域係一個實體資源之分割區,諸如記憶體、碟片儲存裝置、或網路界面裝置,其中,該分割區包含有依據一個資源管理器所施加之Biba標籤而標記的資料。在第1圖中所顯示之範例中,係具有兩個域,一個具有在類別Y1內之完整性位階X1的域A 114,和一個具有在類別Y2類別內之完整性位階X2類別的域B 116。各種類似實體記憶體和裝置118之電腦系統組件,可能係指派給該等域中的一個。舉例而言,彼等裝置120和122,可能會指派給域A,以及彼等裝置124和126,可能會指派給域B。舉例而言,一些包含在一個直接記憶體存取(DMA)緩衝器內而被指派在Biba標籤(X1:Y1)下之記憶體分頁,可能係使寫至一個碟片儲存器裝置,其具有一些依據一個Biba標記方案進行分割之軌跡,其中,軌跡0-n係對應於標籤(X1:Y1),以及軌跡(n+1)-m,係對應於標籤X2:Y2,等等。一個虛擬技術表,亦可能建立在DMA記憶體上面,以致一個虛擬局域網仿真(LANE),係對應於標籤(X1:Y2),以及一個第二虛擬局域網仿真,係對應於另一個標籤X2:Y2,等等。
第1圖亦包括應用程式間所嘗試之讀取和寫入的流程管理之表示。一個在具有某一高位階(HIGH)完整性之域A中的應用程式128,可能下寫至App L1 104,若App L1之完整性位階X1,為小於或等於HIGH。域A中的一個應用程式,亦可能讀取自App L1。App L1可能讀取自域A中的一個應用程式。App L1 104可能下寫至App L2 106,因為App L2之完整性位階X2,係小於或等於App L1之完整性位階X1。App L1亦可能讀取自App L2。App L2可小於或等於App L2之完整性位階X2。App L2亦可能讀取自App L3。App L3可能讀取自App L2。App L3 108可能下寫至域B 130中的一個應用程式,因為域B中的一個應用程式之低完整性位階(LOW),為小於或等於App L3之完整性位階X3。App L3亦可能讀取自域B中之應用程式。域B中之應用程式,可能讀取自App L3。
第2圖係例示依據本發明的一個實施例而有一個客端OS之執行容器完整性模型。一個缺乏被信任之Biba知曉性核心的客端OS 200,可由該RM 110指派一個全局Biba特權。當該客端OS被起動時,該特權會使相聯結。後繼對硬體之存取,係由RM微碼來監控。結果,一些與在執行容器中運行之應用程式共用的裝置和記憶體資源,會因政策阻抗失配,而不會形成威脅加深。然而,彼等客端OS應用程式(諸如此範例中之App L3 108),可繼續正常運作,而不需要知曉至彼等裝置和系統資源之限制條件的Biba安全模型,除非此種存取表示了對系統完整性之威脅。在一個實施例中,該RM包括一個全局客端特權指派組件202,而將該Biba模型應用至彼等客端OS存取。舉例而言,若一個構成CPU超執行緒之Biba知曉性執行容器100,具有兩個應用程式L1 104和L2 106,彼等分別被指派有Biba標籤(X1:Y1)和(X2:Y2),以及假定一個非Biba知曉性之客端OS 200(在一個第二CPU超執行緒中運行)中的第三應用程式L3 108,可能會需要使用一個資源管理器所指派之資源。一個全局客端特權指派,係可建立指派給該客端OS之資源有關的內定映射,以致該資源管理器所為之Biba標籤支配計算,將會產生一個明確之結果;以及其中,一個不屬Biba知曉性之客端OS,在一些已給定Biba標籤之資源被該客端OS存取時,不會感到錯亂。
一些保護一個可能包括AV掃瞄代理器之客端OS中的記憶體分頁之新技術,可能使得該等分頁,經得起惡意軟體對該客端OS中所為之可能攻擊的「考驗」。藉由使用受保護之執行環境,來分級此種記憶體分頁保護配置和運行時間之軟體,該客端OS中之受保護的組件,可在安全政策與整體系統政策相一致的一個高升之安全位階下運作。
第3圖係一個依據本發明的一個實施例而有一個擁有某一AV應用程式之客端OS的執行容器完整性模型之簡圖。在一個實施例中,一系列之域可能會以該電腦系統啟用保護該等AV掃瞄代理器之完整性而加以建立。在一個實施例中,就改變正被監控之客端OS記憶體,可能會有一組域被建立。某些域可能包括在客端OS 200內之受保護的資源303。至少有一個域,可能包括在客端OS 200內之未受保護的資源306。在一個實施例中,彼等域可能係使與該處理器中之微指令(uop)執行緒相聯結。
域A 114:最高之完整性位階(SYS_HI)。此域可能係由該運算系統來建立,以及具有最高之完整性位階。其包含有該運算硬體(暫存器、記憶體)、該等RM 110和RM控制性裝置、和一個應用程式政策管理器102,後者可接受一個清單和一個記憶體區域,以及可基於該應用程式政策管理器內所儲存之信任根(root of trust),來驗證該記憶體區域,使與該清單和該簽章之有效性相匹配。
域B 116:(域B<域A)。域B包含有該受保護之執行環境100的正在運行而可支援AV掃瞄代理器保護機構之應用程式。此等應用程式,可能由該RM 110連同其他在該執行容器100內運行之程式來加以驗證。彼等組件包括:一個運行時間/輕量型OS(未示出)、一個載入程式302、一個錯誤處置器304、一個應用程式清單322、和一個應用程式政策管理器102,後者可對該域C AV應用程式300,提供一些服務,以及係負責確認該域C AV應用程式300,以及可將該AV應用程式,安裝進該執行容器100內。
域C 310:(域C<域B)。此為將會在其中執行該AV應用程式之域。域C中之AV應用程式,具有一個低於該執行容器100中之應用程式的完整性位階,其係高過該運算系統之其餘部分,因為此域中之應用程式的完整性,可能會受到數位簽章和域A中之應用程式政策管理器102的驗證。在一個實施例中,此域中可能具有至少兩個應用程式,一個在執行容器100中運行之錯誤處置器304,和一個在該受保護之分頁內的使用者(客端)OS 200中運行之AV應用程式300。該AV應用程式,可能具有客端OS專屬性知識,但可能需要由一個高於域D之Biba模態來保護。
域C-1、C-2、…、C-n:(域C-i<域C-j,若i>j。域C-2<域C-1<域C)。域C之應用程式(AV應用程式300和錯誤處置器304),將會建立一系列低於域C之細粒度域。彼等會將該客端OS中之記憶體,置於此等域內,因為在該等記憶體區域周圍,係置有一些寫入攔阻區。此等域具有一個低於域C之完整性位階,其中,該記憶體區域內之值,係無法被知曉為無惡意軟體,但其係已知自該攔阻區設定以來尚未被改變過。此與域C係形成對比,後者所包括之軟體,係受到一個清單之簽署,而顯示自該軟體建立以來,該軟體尚未被改變過。其亦與域D(在下文討論,亦即,該客端OS環境)形成對比,其中,在域D內,記憶體可隨時被改變。在一個實施例中,有一系列之此等域可能被使用,以致該AV應用程式,可能區別該等受保護之項目的不同完整性位階。舉例而言,該處理器之全局描述符表暫存器(GDTR)中的值,可使高度自信地被知曉,因為該GDTR係儲存在域A硬體中,而一個線性對實體記憶體映射之值,可能取決於先前建立之域C-i中所儲存的值。所以,該值係無法以如同域C-i之完整性位階來建立,以及因而勢必要具有其自身之域C-(i+1)。
域D 312:(域D<域C-n<域-C)。在一個實施例中,域D可能為一個指派給所有被客端應用程式308存取的未受保護之資源306的全局域。此包括客端第0級別之應用程式和核心。其亦包括所有第3級別之應用軟體。彼等客端OS儲存資源,係自實體儲存器裝置的一個分割區指派出,其中,該分割區320係由域D中具有標籤(X4:Y)之軌跡t0-tn所構成。
一個包含在受保護之客端OS記憶體分頁303中的AV應用程式(300),具有一些分頁攔阻區,彼等在被解引用(de-referenced)時,將可使該錯誤處置器304,咨詢一個Biba MAC政策,藉此,該內定客端OS Biba標籤,可能會被一個可支配該包括域C之內定標籤的標籤所覆蓋,此等記憶體分頁一般係以318表示。
該執行容器100所消耗之實體資源,係自記憶體和儲存資源314和316之集區指派出。該執行容器100,係藉由實施標籤分隔或分割,使具有對此等資源之專屬性存取。該應用程式清單322,可能係使儲存進一個與域A 114一致之標籤指派的執行容器儲存器314內。
第4圖係一個依據本發明的一個實施例而建立之C域有關的流程圖400。在區塊402處,該AV應用程式組件300,係使用一些處理器指令,來明訂該錯誤處置器組件304之代碼映像、該錯誤處置器有關之清單、該AV應用程式之記憶體位置、和該AV應用程式清單322。在區塊404處,該載入程式組件302,可以該應用程式政策管理器102,來驗證該應用程式清單322和該錯誤處置器304之代碼映像。若該等應用程式清單和錯誤處置器成功地被驗證,該處理便會繼續。該載入程式可建立域C 310,可將該錯誤處置器代碼映像,複製進與域C相關聯之記憶體內,以及可藉由該處理器,啟動該錯誤處置器代碼之執行。在區塊406處,該載入程式302,會請求該錯誤處置器304,鎖定該客端OS 200中保留給AV應用程式300之記憶體分頁。在區塊408處,該錯誤處置器,係藉由針對客端OS記憶體318中被選定之代碼區段,來設定一些攔阻區,使鎖定當前載入該客端記憶體內之AV應用程式300的可執行式代碼映像。起初,該客端OS受保護之分頁,係在域D處。在區塊410處,該載入程式會測量該AV應用程式記憶體,以及會使其與該AV應用程式清單322做比較。若該客端OS中的一個攻擊程式,早已藉由供應不正確之分頁位址,而誑騙該錯誤處置器,該完整性核對便會失效。所以,該載入程式有關一個完整性核對之執行,並非取決於域D中之分頁表,而是更確切地取決於在域A中運行之應用程式政策管理器102所證實的清單。
在區塊412處,一旦該載入程式,驗證了該AV應用程式映像之完整性,以及已建妥該等條件,以致其他客端OS應用程式(或者甚至客端OS核心代碼),不觸發彼等分頁攔阻區(可被該錯誤處置器偵測),便無法修改該映像,該載入程式,便會將該AV應用程式,提升至域C。在一個實施例中,該等錯誤處置器304和AV應用程式300,如今是在同一域中,彼等可經由該處理器硬體所體現之SendMessage指令,來進行通訊。在區塊414處,該錯誤處置器會驗證,每個接收自該AV應用程式之訊息,為源自上文所界定及被鎖定之記憶體區域內。彼等代碼區段和資料區段兩者,係包括在域C中。該訊息有關之代碼區段,會被鎖定及被放進上述具有該錯誤處置器之代碼區段的域C內,以及該AV應用程式,可能會被允許存取該等分頁之權利。
此時,域C業已建立,而包含在該執行容器100內運行之錯誤處置器,和在該客端OS 200中運行之AV應用程式300。此等組件兩者均已被彼等清單驗證過,以及彼等記憶體攔阻區,可保留該等軟體映像之完整性。該AV應用程式,如今可能會談運行而就惡意軟體做掃瞄。
第5圖係一個用以例示依據本發明的一個實施例而與一系列之資源攔阻機構相對應的串級Biba安全位階之簡圖。設定最初之核心攔阻區,包括建立或變更域C-1、C-2、等等。將資源置入不同之域內,可提昇該系統之整體安全性。第5圖係例示第4圖之區塊408的額外細節。該客端OS200,可能包含有域C 500有關的一個受保護之資源區域,其在一個實施例中,係包括AV配置程式510。客端OS亦可能包括域D有關的一個未受保護之資源區域306,其在一個實施例中,可能包含有未受保護之分頁520,加上域D有關之受保護的資源區域508。域C-1 502具有任何一個子C域之最高完整性位階。其並未被一個外部有關當局簽發之清單驗證,以及因而,其內容並無法保證為無惡意軟體。有關該等子C域將做之主張是,自設定該攔阻區之點起,並無未經授權之軟體變更過該值(但其中並不保證,未經授權之軟體,在設定該攔阻區之前,未曾變更過該資訊)。
在一個實施例中,域C-1 502,可能首先會被建立,以及會包含所有在暫存器512中要被保護之核心元素。域C-2504,接著可能會藉由使用域C-1之元素,得到該等正確之位址,來加以建立。域C-1將包含該系統之暫存器514,其勢必要為未經授權之變更(SYSENTER MSR、CR3、等等)加以監控,以及域C-2將包含有該等位址轉換分頁表(PT)和分頁錯誤處置器(PFH) 514。一旦此等域被建立,進一步之C-i域便可能被建立(諸如域C-N 506),彼等係取決於域C-1和C-2之完整性。進一步之域n可能包含裝置驅動器516和應用程式,彼等之分頁係使用一些錯誤攔阻區(諸如AV掃瞄器518)來加以保護。
第6圖係一個可例示依據本發明的一個實施例而建立子C域之流程圖600。在區塊602處,該AV應用程式300,可識別要攔阻之核心暫存器512,和上述允許修改該等暫存器之核心內的代碼位置-諸如上述被允許改變該客端OS 200脈絡有關之CR3的值之排程軟體。在區塊604處,該AV應用程式,可將一個訊息,傳送給該錯誤處置器304,使針對該等被選定之暫存器,設定一個攔阻區,以及設定一個被允許對該等暫存器做修改之代碼位置的列表。在區塊606處,該錯誤處置器,可將該等暫存器和代碼位置,放進域C-1 502內,以及會針對該等暫存器和該經授權之代碼位置,設定一些寫入攔阻區。此時,所有對該等暫存器未經授權之存取,將會在該受保護之執行環境系統內,產生一個攔阻區,以及將會產生一個Biba違例,其中,其將為一個自域D 306進入域C-1 502內之寫入。在區塊608處,該AV應用程式,會使用域C-1中之暫存器的值,來識別該系統在域C-2 504內需要被保護之分頁表514。在區塊610處,該AV應用程式,會將一個訊息,傳送給該錯誤處置器,使針對該等被選定之分頁表登錄項,設定一個攔阻區,以及係包括該等被允許對該等位置做修改之位置的一個列表(諸如該分頁錯誤處置器)。在區塊612處,該錯誤處置器,會針對該等被選定之分頁表登錄項,針對該等被授權修改該分頁表之代碼位置,設定該等攔阻區,以及會將該等記憶體和代碼位置,放進域C-2 504內。此時,所有對該分頁表未經授權之存取,將會在該受保護之執行環境系統內,產生一個攔阻區,以及將會產生一個Biba違例,其中,其將會是一個自域D 306進入域C-2 504內之寫入。所有經授權之運作,將為一個自域C-2 504進入域C-2內或自域C-2進入域D 306之寫入。此時,該等核心系統(核心)暫存器和分頁表,係已受到保護。此可允許該系統針對該等核心元素,來建立更為複雜之攔阻區。
第7圖係一個可例示依據本發明的一個實施例而設定一個應用程式攔阻區之流程圖700。第7圖係針對第6圖用以建立或變更域C-i之區塊604的一個實施例,提供進一步之細節。此會發生在一旦該AV應用程式決定,核心或使用者記憶體的一個區域必定要受到保護時,或者當該系統狀態有改變,以致一個未存取過某一特定記憶體區域之代碼區域,如今有需要存取該區域時。在區塊702處,該AV應用程式300會決定,核心或應用程式記憶體內的一個位置,係需要受到保護。該AV應用程式,會讀取彼等客端OS硬體暫存器512和分頁表514,而計算該攔阻區之位置。此等值係停留在域C-1 502或域C-2 504中。在區塊704處,該AV應用程式,會將一個訊息,傳送給該錯誤處置器304,使針對該必需之記憶體位置,而設定一個攔阻區和一個被允許對該等記憶體位置做修改之代碼位置的列表。在區塊706處,該錯誤處置器,會針對該記憶體位置,以及會針對所有被授權修改該記憶體位置之代碼位置,設定一個寫入攔阻區。該錯誤處置器,接著便會將該等元素,放進域C-i內,其中,i係被決定為j-1,其中,j係計算該等位址和該攔阻區之位置所使用的最高域位階。所有來自一個未受到保護之區域的未經授權之存取,將會產生一個Biba違例,其中,其將為一個自域D 306進入域C-i內之寫入。然而,域C-i內之寫入,將需要加以區別,如果該域內有多重之區域(自一個被授權寫至一個記憶體區域之位置的一個寫入,勢必要不被允許至該域之所有區域)。
第8圖係一個可例示依據本發明的另一個實施例而設定一個應用程式攔阻區之流程圖800。此行程可能被用作第7圖有關之他型流程。在區塊802處,該AV應用程式會決定,核心或應用程式代碼中的一個位置,需要存取一個在域C-i內之記憶體位置。此可能係由於安裝一個新驅動程式或其他軟體所致。在區塊804處,該AV應用程式,會將一個訊息,傳送給該錯誤處置器,使包括域C-i內之代碼區域。在區塊806處,該錯誤處置器,會針對該代碼位置,設定一個寫入攔阻區,以及會將該代碼位置,放進域C-i內。
截至目前,該AV應用程式,一直是表示為該受保護之執行環境系統內的一個單一實體,但在一個實施例中,該AV應用程式,可能包含有多數之部件,以及該等部件可能係存在於該系統內之不同域中。舉例而言,在一個實施例中,該AV應用程式,可能包含有兩個組件:一個可針對客端OS對象設定一個攔阻區之AV配置(Config)應用程式510,和一個可讀取未受保護之分頁和檔案而找尋惡意軟體感染的AV掃瞄器應用程式518。以此分散模型,該AV配置組件,可能使提高至域C 500,但該AV掃瞄器518,可能係保持在一個較低之域處。在一個實施例中,該AV掃瞄器,可能會被放進該子C域、域C-n 506,的最低者之內,以及該AV掃瞄器,會取決於所有較高之域的完整性,但其會與來自域D 306惡意軟體之攻擊分隔,因為任何被域D惡意軟體之進入該AV掃瞄器內的寫入,將會產生一種Biba錯誤。
當Biba被使用在「環級(ring)」模態中時,該AV掃瞄器518,會在域C-n 506處運作時,被允許讀取域D對象。若有一個受感染之對象被偵測到,該AV掃瞄器,可能會在域D處繁衍一個子行程,使刪除或隔離該被影響之對象。該AV掃瞄器絕不會受到侵入性惡意軟體之威脅,因為該AV掃瞄器係無法在域C-n處運行。該AV掃瞄器,可能會分配一個新的標籤,給成功通過AV掃瞄之硬碟驅動器(HDD)或固態驅動器(SSD) 320或記憶體分頁。該新標籤係一個大於域D而小於域C-n之域。該資源管理器(RM) 110,會在彼等分頁攔阻區被起動,以及該AV掃瞄器標籤,在域C-n或更高之域處之際,藉由驗證源自AV掃瞄器分頁之標籤變更請求,來驗證該AV掃描器為被信賴(舉例而言,分頁攔阻區保護,係在適當的位置),來針對被掃瞄之對象,執行該標籤變更。
當Biba被使用在「低水位標」模態中時,該AV掃瞄器便會自動使該標籤轉變至域D,使執行該項掃瞄。若有受感染之對象被偵測,該掃瞄器便可能立刻移除或隔離但可能不會變更無毒之對象標籤。然而,該AV掃瞄器可能會藉由斷定該AV掃瞄器為符合該域C-n之規定,其即是彼等攔阻區已放置至所有關鍵之代碼和資料區域,以及當其正在域D中運作時,該等攔阻區係已經在適當的位置,而如所描述地,將其之標籤更換成域C-n。該AV掃瞄器518,會僅因資源攔阻區而受到保護,使免於域D惡意軟體;其中並無強加之Biba限制條件。當Biba被使用在該「嚴格」模態時,該AV掃瞄器,勢必會在對象掃瞄和隔離之執行前,請求一個對域D之標籤變更。接著,在完成時,該AV掃瞄器,勢必會請求一個回至域C-n之標籤變更,使重新標記彼等無毒之對象。
在一個實施例中,將該AV掃瞄器放進域C-n內,可能會如下地加以完成。該AV配置應用程式510,會決定該AV掃瞄器應用程式518內需要被保護之位置。該AV配置應用程式,會傳訊該錯誤處置器304,使將一些攔阻區放置至適當之AV掃瞄器應用程式位置上面。該錯誤處置器,會設定適當之攔阻區,以及將該位置放進域C-n 506內,因為域C-n係取決於所有其他之子C域。
第9圖係一個可例示依據本發明的一個實施例而執行一個攔阻區之流程圖900。在某些點處,一個寫入將會發生在一個被攔阻之位置。此將會產生一個錯誤(或透過該AV掃瞄器機構,或透過自一個較低完整性之域至一個較高完整性之域的寫入的一個Biba違例)。在區塊902處,若有一個客端OS 200應用程式或核心,寫入至其中存在有一個攔阻區組之記憶體,該分頁存取便會被該RM 110加旗標,以及該錯誤處置器304會被啟用。在區塊904處,該RM會自該等暫存器,建立一組系統狀態表。在區塊906處,該RM會啟用該錯誤處置器,以及將該等系統狀態表,傳遞給該錯誤處置器。該等狀態表係被信賴為屬構成正確。在區塊908處,該錯誤處置器,會決定嘗試要被存取之記憶體的域,和正在存取記憶體之代碼的域。在區塊910處,若該嘗試之記憶體存取,係來自一個高於或等於該記憶體之域的域,以及該等正嘗試存取記憶體之代碼位置,係表列在該組被允許變更此記憶體位置之範圍中,則該錯誤處置器,將會允許該項運作。在區塊912處,若該嘗試之記憶體存取,係來自一個低於該記憶體之域的域,則該錯誤處置器,將不會允許該項存取去變更該記憶體。
第10圖係依據本發明的另一個實施例而有一個應用至一個虛擬機管理器(VMM) 1002之客端OS的執行容器完整性模型之簡圖。一個VMM可能係如虛擬技術之技藝中所習見地加以使用。在一個實施例中,一個VMM會實施一個一般瞭解之Biba安全性政策。該RM 110係在一個高於該VMM之完整性位階下運作,以致任何以該VMM之名義要修改或破壞該RM之嘗試,係構成該安全性政策的一個違例。該RM可在該VMM中建立信任,而作為VMM負載的一部分,以及可驗證上述可斷定VMM能力之起動控制政策,為包括該實施Biba安全性規則之能力。該RM中之域政策管理器112,會分配某一範圍之Biba標籤(亦即,特權),給該VMM內之VM政策管理器1004。該VMM會依據所供應之範圍,來實施一些Biba規則。該VMM中之VM政策管理器,接著會將一些來自該範圍內之特權,分配給彼等VM容器。此可確保Biba位階整體系統之語意一致性,即使該VMM可能不具有所有運算平臺資源之全局視野。
舉例而言,若一個類似該執行容器100中之應用程式L1 104的應用程式,分配有一個特權域A 114,以及類似在一個客端VM 1 1008中運行之應用程式G1 1006的應用程式,分配有一個特權域A 114,兩者應用程式便均會使用類似特權來運作。此外,若應用程式L1 104,就應用程式L2 106之消耗而使資訊降級,則應用程式L2,可將該資訊傳達給該客端OS 200環境中之客端VM 2 1012中的應用程式G2 1010,而不會違反該整體系統安全政策。同理,該應用程式G2 1010,可使資訊降級,以及可使其與在客端VM 3 1016中運行而具有域C 310之應用程式G3 1014和/或應用程式L3 108共用,而不會違反一個安全政策。
擁有一個一般瞭解之安全政策模型,可允許在系統組件間有彈性互動,同時仍可確保維持該系統之安全性目的。若該客端OS環境,被決定具有一個低於該受保護之執行環境的最大位階之可信賴性,則該RM將會在該範圍未分配給該VMM環境之頂部處,保留彼等特權位階。若該VMM變為毀損,以及被分配一些在其被分配之範圍外的特權,該RM便可針對彼等記憶體和裝置存取,執行一個範圍核對,藉以偵測犯規。若該VMM環境使用安全起動技術(舉例而言,受信賴之執行技術(TXT))而被起動,則該RM便可能信賴該VMM,使針對VM分頁,實施彼等範圍核對。此可能會具有一些有益之性能含意。
使用受保護之執行環境,可能使與虛擬化相結合,同時可維持Biba安全政策一致性整體系統。第11圖係一個擁有某一應用至一個VMM 1002之客端OS 200的執行容器完整性模型之簡圖,其中,一個虛擬機係包括依據本發明的一個實施例之AV應用程式。該受保護之執行環境,可能被用來實施VM 1 1008中之較高特權的應用程式上面之域邊界。VM1被VMM信賴為具有相同之特權位階(舉例而言,域0為一個代表該VMM之VM)。然而,若該VM變為妥協,該VM或會破壞VMM行為。
第11圖係顯示一個執行環境1022,其係被用來使一個應用程式(應用程式G1 1006),聚集在使用記憶體沙盤(sandboxing)技術而受保護之VM 1 1008中。該VMM會使用一般瞭解而受到該RM 110之域政策管理器112的指引之政策語法和語義,而在該等VM上面,實施彼等Biba特權。一些附加之分頁保護,可能會應用至VM1 1008中之應用程式G1 1006。該應用程式政策管理器102,可能會分配到一些Biba政策,而使該等分配給應用程式G1 1006之Biba標籤,為在該VMM政策管理器1004分配給VM 1 1008之標籤範圍內。
在一個VM 1008不為Biba知曉之客端OS的情況中,該等應用程式1006分頁1018,會被該VMM 1002登錄,使產生一些VMExit攔阻區,以致一個VM清單1020,會包含一個政策,使建構一些VMExit攔阻區,和一個會覆蓋一個Biba知曉性VMM 1002所分配之內定標籤的Biba標籤指派。
在一個Biba知曉性VM 1012和1016的一個客端OS之情況中,該VM會依據該VM所為之標籤指派,來指派記憶體分頁。
本發明之實施例,係藉由體現該處理器之微碼所實施的一個強制完整性政策,來提供一個受保護之執行環境。該等完整性規則,係正式地加以指明(舉例而言Biba),而使得確認和安全評估較為簡單。處理器硬體(微碼)中之實施,可確保一個妥協之OS,無法輕易暗中破壞安全政策。本發明之實施例,可能被應用至虛擬化和非虛擬化環境和任何OS環境兩者之中。
第12圖係例示一個運算系統1200之實施例的方塊圖。在各種之實施例中,該系統1200的一個或多個組件,可能係設置在各種能夠執行本說明書參照本發明之某些實施例所討論的一個或多個運作之電子裝置中。舉例而言,該系統1200的一個或多個組件,可能被用來執行參照第1-11圖所討論之運作,舉例而言,依據本說明書所討論之運作,藉由處理指令、執行副常式、等等。而且,本說明書(舉例而言,參照第12圖和/或第13圖)所討論之各種儲存器裝置,可能被用來儲存資料,運作結果、等等。在一個實施例中,透過網路1203(舉例而言,經由網路介面裝置1230和/或1330)接收到之資料,可能係儲存進一些存在於處理器1202(和/或第13圖1302)中之快取區(舉例而言,一個實施例中之L1快取區)內。此等處理器接著可能會應用本說明書所討論依據本發明之各種實施例的運作。
更明確而言,該運算系統1200,可能包括一個或多個中央處理器(CPU) 1202,或一些經由一個互聯網路(或匯流排)1204相通訊之處理器。因此,本說明書所討論之各種運作,可能會被某些實施例中的一個處理器執行。此外,該處理器1202,可能包括一個通用型處理器、一個可處理透過電腦網路1203傳達之資料的網路處理器、或其他類型之處理器(包括一個精簡指令系統電腦(RISC)處理器或一個複雜指令系統電腦(CISC))。此外,該處理器1202,可能具有一個單一或多重核心之設計。上述具有多重核心設計之處理器1202,可能會在同一積體電路(IC)晶粒上面,整合不同類型之處理器核心。而且,上述具有多重核心設計之處理器1202,可能會體現為一些對稱型或非對稱型多處理器。此外,該等參照第1-11圖所討論之運作,可能係由該系統1200的一個或多個組件來執行。在一個實施例中,一個處理器(諸如處理器1 1202-1),可能包含有作為硬線接式邏輯(舉例而言,電子電路)之資源管理器(RM) 110或微碼。
一個晶片集1206,亦可能會與該互聯網路1204相通訊。該晶片集1206,可能包括一個圖形和記憶體控制集線器(GMCH) 1208。此GMCH 1208,可能包括一個與一個記憶體1212相通訊之記憶體控制器1210。該記憶體1212,可能儲存資料,其中包括被該處理器1202或該運算系統1200中所包含之任何其他裝置執行的指令序列。此外,該記憶體1212,可能儲存本說明書所討論的一個或多個程式或運算法,諸如執行容器100、客端OS 200、一個編譯器1213、一些對應於可執行、映射、等等之指令。相同的或至少有一部份此資料(包括指令),可能係儲存在該磁碟機1228和/或該處理器1202內的一個或多個之快取區中。在本發明的一個實施例中,該記憶體1212,可能包括一個或多個揮發性儲存器(或記憶體)裝置,諸如隨機存取記憶體(RAM)、動態隨機存取記憶體(DRAM)、同步動態隨機存取記憶體(SDRAM)、靜態隨機存取記憶體(SRAM)、或其他類型之儲存器裝置。非揮發性記憶體,亦可能被利用。諸如硬碟。一些類似多重處理器和/或多重系統記憶體之附加裝置,可能經由該互聯網路1204進行通訊。
該GMCH 1208,亦可能包括一個可與一個顯示器1216相通訊之圖形介面1214。在本發明的一個實施例中,該圖形介面1214,可能經由一個加速圖形埠(AGP),而與該顯示器1216相通訊。在本發明的一個實施例中,該顯示器1216,可能是一個平面顯示器,其係透過所舉為例之信號轉換器,與該圖形介面1214相通訊,該信號轉換器,可將一個類似影像記憶體或系統記憶體等儲存器裝置中所儲存之影像的數位表示值,轉譯成一些可被該顯示器1216解譯及顯示之顯示器信號。該介面1214所產生之顯示器信號,在被解譯及後繼使顯示在該顯示器1216上面之前,可能會通過各種控制裝置。
有一個集線器介面1218,可能允許該GMCH 1208與一個輸入/輸出(I/O)控制集線器(ICH) 1220相通訊。該ICH 1220,可能提供一個介面,給一些可與該運算系統1200相通訊之I/O裝置。該ICH 1220,可能透過一個周邊橋接器(或控制器) 1224,諸如一個外設互聯標準(PCI)橋接器、一個通用序列匯流排(USB)控制器、或其他類型之周邊橋接器或控制器,而與一個匯流排1222相通訊。該橋接器1224,可能會在該等處理器1202與周邊裝置之間,提供一條資料路徑。其他類型之布局技術,係可能加以利用。而且,有多重之匯流排,可能會與該ICH 1220相通訊,舉例而言,透過多重之橋接器或控制器。此外,其他與該ICH 1220相通訊之周邊裝置,在本發明之各種實施例中,可能包括整合式電子驅動介面(IDE)或小型電腦系統介面(SCSI)硬碟、通用序列匯流排(USB)埠、一個鍵盤、一個滑鼠、並列埠、串列埠、軟碟機、數位輸出支援裝置(舉例而言、數位視訊介面(DVI))、或其他裝置。
該匯流排1222,可能會與一個音訊裝置1226、一個或多個磁碟機1228、和一個網路介面裝置1230相通訊,後者可能會與該電腦網路1203相通訊。在一個實施例中,該裝置1230可能為一個有能力進行線接通訊或無線通訊之網路介面控制器(NIC)。其他裝置可能會經由該匯流排1222進行通訊。而且,在本發明之某些實施例中,有各種組件(諸如該網路介面裝置1230),可能會與該GMCH 1208相通訊。此外,該等處理器1202、GMCH 1208、和/或圖形介面1214,可能會相結合,而形成一個單一晶片。
此外,該運算系統1200,可能包括揮發性記憶體和/或非揮發性記憶體(或儲存器)。舉例而言,非揮發性記憶體,可能包括下列中的一個或多個:唯讀取記憶體(ROM)、可編程唯讀記憶體(PROM)、可抹除可編程唯讀記憶體(EPROM)、電可抹除可編程唯讀記憶體(EEPROM)、一個磁碟機(舉例而言,1228)、一個軟碟機、唯讀光碟機(CD-ROM)、一個數位影音光碟(DVD)、快閃記憶體、一個磁光碟片、或其他類型有能力儲存電子資料(舉例而言,包括指令)之非揮發性機器可讀取式媒體。
在一個實施例中,該系統1200之組件,可能會被安排在一個類似參照第13圖所討論之點對點(PtP)配置中。舉例而言,處理器、記憶體、和/或輸入/輸出裝置,可能會以眾多之點對點介面使相互聯。
更明確而言,第13圖係例示一個依據本發明的一個實施例被安排成一個點對點(PtP)配置之運算系統1300。特言之,第13圖係顯示一個在其中藉由眾多點對點介面而使處理器、記憶體、和輸入/輸出裝置互聯之系統。該等參照第1-12圖所討論之運作,係可能藉由該系統1300的一個或多個組件,來加以執行。
誠如第13圖中所例示,該系統1300可能包括多重之處理器,其中為清晰計僅有兩個顯示出,處理器1302和1304。該等處理器1302和604,可能各包括一個本地記憶體控制器集線器(MCH) 1306和1308(彼等在某些實施例中,可能與第12圖之GMCH 1208相同或相類似),使與記憶體1310和1312相耦合。該等記憶體1310和/或1312,可能會儲存各種類似如參照第13圖之記憶體1212所討論的資料。
該等處理器1302和1304,可能為任何類似參照第13圖之處理器1302所討論的適當處理器。該等處理器1302和1304,可能會分別使用PTP介面電路1316和1318,使經由一個點對點(PTP)介面1314,來交換資料。該等處理器1302和1304,可能各會使用點對點介面電路1326、1328、1330、和1332,使經由個別之PTP介面1322和1324,而與一個晶片集1320交換資料。該晶片集1320,可能亦會使用一個PTP介面電路1337,使經由一個高性能圖形介面1336,而與一個高性能圖形電路1334交換資料。
本發明的至少一個實施例,可能係利用該等處理器1302和1304來提供。舉例而言,該等處理器1302和/或1304,可能會執行第1-11圖的一個或多個運作。然而,本發明之其他實施例,可能存在於第13圖之系統1300中的其他電路、邏輯單元、或裝置內。此外,本發明之其他實施例,可能會分佈遍及第13圖中所例示之某些電路、邏輯單元、或裝置。
該晶片集1320,可能會使用一個PTP介面電路1341,使與一個匯流排1340相耦合。該匯流排1340,可能具有一個或多個與其相耦合之裝置,諸如一個匯流排橋接器1342和I/O裝置1343。經由一個匯流排1344,該匯流排橋接器1343,可能會與其他裝置相耦合,諸如一個鍵盤/滑鼠1345、參照第12圖所討論之網路介面裝置1330(諸如數據機、網路介面卡(NIC)、或可能與該電腦網路1303相耦合之部件)、音訊I/O裝置1347、和/或一個資料儲存器裝置1348。該資料儲存器裝置1348,可能儲存該等處理器1302和/或1304所可能執行之代碼1349。
在本發明之各種實施例中,本說明書所討論之運作,舉例而言,參照第1-13圖,可能被體現為硬體(舉例而言,邏輯電子電路)、軟體(舉例而言,包括微碼,其可控制一個處理器之運作,諸如參照第12-13圖所討論之處理器)、韌體、或彼等之組合,其可能是提供為一個電腦程式產品,舉例而言,包括一個有形的機器可讀取式或電腦可讀取式媒體,其上面係儲存有一些指令(或軟體程式),彼等係被用來編程一個電腦(舉例而言,一個處理器或一個運算裝置之其他邏輯),使執行本說明書所討論之運作。該機器可讀取式媒體,可能包括一個類似本說明書所討論之儲存器裝置。
此專利說明書對「一個實施例」或「某一實施例」之指稱意謂的是,一個配合該實施例所描述之特定特徵、結構、或特性,可能包括在至少一個實體中。此專利說明書中之各處出現的片語「在一個實施例中」,可能會或可能不會全係指稱同一實施例。
而且,在此說明內容和申請專利範圍中,術語「相耦合」和「使連接」,連同彼等之派生詞,係可能加以使用。在本發明之某些實施例中,「使連接」可能會被用來表示兩個或以上之元件,彼此係直接成實體或電氣接觸。「相耦合」係可能意謂兩個或以上之元件,為直接成實體或電氣接觸。然而,「相耦合」亦可能意謂兩個或以上之元件,彼此可能並未成直接接觸,而是仍可能彼此合作或互動。
此外,如此之電腦可讀取式媒體,可能使下載為一個電腦程式產品,其中,該程式可能係自一個遠端電腦(舉例而言,一個伺服器),借助於資料信號,而經由一個通訊鏈路(舉例而言,一個匯流排、一個數據機、或一個網路連接),使轉移至一個正在請求之電腦(舉例而言,一個客戶端)。
因此,雖然本發明之實施例,業已以特定之結構特徵和/或方法行為的語言加以說明,理應瞭解的是,所主張之題材可能並非受限於所說明之特定特徵或行為。然而,該等特定之特徵和行為,係揭示為體現所主張之題材的樣本形式。
100...執行容器
102...應用程式(APP)政策管理器組件
104...第一完整性位階下之應用程式
106...第二完整性位階下之應用程式
108...第三完整性位階下之應用程式
110...受保護之執行環境資源管理器(RM)
112...域政策管理器
114...域A
116...域A
118...實體記憶體和裝置
120,122,124,126...裝置
128...應用程式
200...客端OS
202...全局客端特權指派組件
300...域CAV應用程式
302...載入程式
303...受保護之客端OS記憶體分頁
303...受保護之資源
304...錯誤處置器
306...未受保護之資源
308...客端應用程式
310...域C
312...域D
314...執行容器儲存器
314,316...儲存資源
318...記憶體分頁
320...分割區
320...硬碟驅動器/固態驅動器
322...應用程式清單
400...流程圖
402-414...運作
500...域C
502...域C-1
504...域C-2
506...域C-N
508...受保護之資源區域
510...AV配置程式
512...暫存器
514...暫存器
516...裝置驅動器
518...AV掃瞄器
520...未受保護之分頁
600...流程圖
602-612...區塊
702-706...區塊
802-906...區塊
902-912...區塊
1002...虛擬機管理器(VMM)
1004...VM政策管理器
1006...應用程式G1
1008...客端VM1
1010...應用程式G2
1012...客端VM2
1014...應用程式G3
1016...客端VM3
1200...運算系統
1202...中央處理器(CPU)
1202...處理器
1202-1...處理器1
1203...網路
1204...互聯網路(匯流排)
1206...晶片集
1208...圖形和記憶體控制集線器(GMCH)
1210...記憶體控制器
1212...記憶體
1213...編譯器
1214...圖形介面
1216...顯示器
1218...集線器介面
1220...輸入/輸出(I/O)控制集線器(ICH)
1222...匯流排
1224...周邊橋接器(或控制器)
1226...音訊裝置
1228...磁碟機
1230...網路介面裝置
1300...運算系統
1302,1304...處理器
1306,1308...本地記憶體控制器集線器(MCH)
1310,1312...記憶體
1314...點對點(PTP)介面
1316,1318...PTP介面電路
1320...晶片集
1322,1324...PTP介面
1326,1328,1330,1332...點對點介面電路
1330...網路介面裝置
1334...高性能圖形電路
1336...高性能圖形介面
1337...PTP介面電路
1340...匯流排
1341...PTP介面電路
1342...匯流排橋接器
1343...I/O裝置
1343...匯流排橋接器
1344...匯流排
1345...鍵盤/滑鼠
1347...音訊I/O裝置
1348...資料儲存器裝置
1349...代碼
第1圖係依據本發明之某些實施例的執行容器完整性模型之簡圖;
第2圖係例示依據本發明的一個實施例而有一個客端OS之執行容器完整性模型;
第3圖係一個依據本發明的一個實施例而有一個擁有某一AV應用程式之客端OS的執行容器完整性模型之簡圖;
第4圖係一個依據本發明的一個實施例而建立之C域相關的流程圖;
第5圖係一個用以例示依據本發明的一個實施例而與一系列資源攔阻機構相對應之串級Biba位階的簡圖;
第6圖係一個可例示依據本發明的一個實施例而建立子C域之流程圖;
第7圖係一個可例示依據本發明的一個實施例而設定一個應用程式攔阻區之流程圖;
第8圖係一個可例示依據本發明的另一個實施例而設定一個應用程式攔阻區之流程圖;
第9圖係一個可例示依據本發明的一個實施例而執行一個攔阻區之流程圖;
第10圖係依據本發明的另一個實施例而有一個應用至一個虛擬機管理器(VMM)之客端OS的執行容器完整性模型之簡圖;
第11圖係一個擁有某一應用至一個VMM之客端OS的執行容器完整性模型之簡圖,其中,一個虛擬機係包括依據本發明的一個實施例之AV應用程式;而
第12和13圖則係例示一些可能被利用來體現本說明書所討論之某些實施例的運算系統之實施例的方塊圖。
400...流程圖
402-414...區塊
Claims (24)
- 一種在一個具有一個載入程式和一個錯誤處置器之運算系統中針對在一個客端作業系統(OS)中運行的作業系統(OS)獨立性防毒(AV)應用程式而實施一個安全政策之方法,係包括:藉由該AV應用程式,來指明一個錯誤處置器代碼映像、一個錯誤處置器清單、該AV應用程式的可執行式代碼映像之一個記憶體位置、和一個AV應用程式清單;藉由該載入程式,來驗證該錯誤處置器代碼映像和該錯誤處置器清單;藉由該載入程式,來建立一個具有一個第一安全位階之第一安全域,來將該錯誤處置器代碼映像複製至與該第一安全域相關聯之記憶體,以及來起動該錯誤處置器之執行;藉由該載入程式,來請求鎖定該客端OS中保留給該AV應用程式之記憶體分頁;藉由該錯誤處置器,而針對客端OS記憶體分頁中被選定之代碼區段設定一些攔阻區,來鎖定該AV應用程式的可執行式代碼映像;藉由該載入程式,來測量AV應用程式記憶體,以及使此測量值與該AV應用程式清單做比較;以及藉由該載入程式,而響應於該AV應用程式被該測量和比較步驟成功驗證,使該AV應用程式提昇至該第一安全域。
- 如申請專利範圍第1項之方法,其中,該載入程式和該錯誤處置器係在該運算系統中的一個受保護之執行環境內執行。
- 如申請專利範圍第1項之方法,其中,其他在該客端OS中運行之應用程式係在一個具有一個第二安全位階之第二安全域中,該第一安全位階係高於該第二安全位階。
- 如申請專利範圍第3項之方法,其中,一個在該第二安全域中運行之應用程式,若未觸發被該錯誤處置器偵測到之攔阻區,便無法修改該第一安全域中之記憶體。
- 如申請專利範圍第3項之方法,其中,在該第二安全域中運行之客端OS核心代碼,若未觸發被該錯誤處置器偵測到之攔阻區,便無法修改該第一安全域中之記憶體。
- 如申請專利範圍第1項之方法,其中進一步包括執行該AV應用程式以掃瞄該運算系統中之惡意軟體。
- 如申請專利範圍第6項之方法,其中進一步包括藉由該錯誤處置器,來驗證來自該AV應用程式之訊息,為源自該經鎖定之客端OS記憶體。
- 如申請專利範圍第1項之方法,其中,對該等安全域的存取係受到該運算系統的一個處理器之資源管理器邏輯的控制。
- 如申請專利範圍第1項之方法,其中,該AV應用程式,係於一個受到一個虛擬機管理器(VMM)控制之虛擬機內執行。
- 一種非暫時性電腦可讀取式媒體,其係包含有一個或多個指令,彼等在一個具有一個載入程式和一個錯誤處置器之運算系統的一個處理器上面被執行時,可配置該處理器來執行一個或多個操作,以進行:藉由一個防毒(AV)應用程式,來指明一個錯誤處置器代碼映像、一個錯誤處置器清單、該AV應用程式的一個記憶體位置、和一個AV應用程式清單;藉由該載入程式,來驗證該等錯誤處置器代碼映像和錯誤處置器清單;藉由該載入程式,來建立一個具有一個第一安全位階之第一安全域,來將該錯誤處置器代碼映像複製至與該第一安全域相關聯之記憶體,以及來起動該錯誤處置器之執行;藉由該載入程式,來請求鎖定該客端OS中保留給該AV應用程式之記憶體分頁;藉由該錯誤處置器,而針對客端OS記憶體分頁中被選定之代碼區段,設定一些攔阻區,來鎖定載進客端OS記憶體內之該AV應用程式的可執行式代碼映像;藉由該載入程式,來測量AV應用程式記憶體,以及使此測量值與該AV應用程式清單做比較;以及藉由該載入程式,而響應於該AV應用程式被該測量和比較步驟成功驗證,使該AV應用程式提昇至該第一安全域。
- 如申請專利範圍第10項之媒體,其中,該等載入程式和 錯誤處置器係在該運算系統中的一個受保護之執行環境內執行。
- 如申請專利範圍第10項之媒體,其中,其他在該客端OS中運行之應用程式係處於一個具有一個第二安全位階之第二安全域中,該第一安全位階係高於該第二安全位階。
- 如申請專利範圍第12項之媒體,其中,一個在該第二安全域中運行之應用程式,若未觸發被該錯誤處置器偵測到之攔阻區,便無法修改該第一安全域中之記憶體。
- 如申請專利範圍第12項之媒體,其中,在該第二安全域中運行之客端OS核心代碼,若未觸發被該錯誤處置器偵測到之攔阻區,便無法修改該第一安全域中之記憶體。
- 如申請專利範圍第10項之媒體,其中進一步包括一些指令,彼等可執行該AV應用程式,以掃瞄該運算系統中之惡意軟體。
- 如申請專利範圍第15項之媒體,其中進一步包括一些指令,使藉由該錯誤處置器,來驗證來自該AV應用程式之訊息,為源自該經鎖定之客端OS記憶體。
- 一種運算系統,其包含有:一個處理器,其可執行一些指令以針對該運算系統實施一個安全政策,該處理器係包括可控制對多數安全域之存取的資源管理器邏輯;一個執行容器,其包括一個載入程式和一個錯誤處置器;和 一個客端作業系統(OS),其包括一個防毒(AV)應用程式;其中,該AV應用程式用以指明一個錯誤處置器代碼映像、一個錯誤處置器清單、該AV應用程式的一個記憶體位置、和一個AV應用程式清單;其中,該載入程式用以驗證該等錯誤處置器代碼映像和錯誤處置器清單,用以建立一個具有一個第一安全位階之第一安全域,將該錯誤處置器代碼映像複製至與該第一安全域相關聯之記憶體,藉由該處理器來起動該錯誤處置器的執行,以及請求來鎖定該客端OS中保留給該AV應用程式之記憶體分頁;其中,該錯誤處置器針對客端OS記憶體分頁中被選定之代碼區段,設定一些攔阻區,來鎖定載進客端OS記憶體內之AV應用程式的可執行式代碼映像;以及其中,該載入程式用以測量AV應用程式記憶體,使此測量值與該AV應用程式清單做比較,以及響應於該AV應用程式被該測量和比較步驟成功驗證時,使該AV應用程式提昇至該第一安全域。
- 如申請專利範圍第17項之運算系統,其中,其他在該客端OS中運行之應用程式係處於一個具有一個第二安全位階之第二安全域中,該第一安全位階係高於該第二安全位階。
- 如申請專利範圍第18項之運算系統,其中,一個在該第二安全域中運行之應用程式,若未觸發被該錯誤處置器 偵測到之攔阻區,便無法修改該第一安全域中之記憶體。
- 如申請專利範圍第18項之運算系統,其中,在該第二安全域中運行之客端OS核心代碼,若未觸發被該錯誤處置器偵測到之攔阻區,便無法修改該第一安全域中之記憶體。
- 如申請專利範圍第17項之運算系統,其中進一步包括執行該AV應用程式以掃瞄該運算系統中之惡意軟體。
- 如申請專利範圍第21項之運算系統,其中,該錯誤處置器用以驗證來自該AV應用程式之訊息,為源自該經鎖定之客端OS記憶體。
- 如申請專利範圍第17項之運算系統,其中進一步包括一個在該客端OS中之虛擬機管理器(VMM)以具現化一個虛擬機,其中該AV應用程式係在該虛擬機內執行。
- 如申請專利範圍第17項之運算系統,其中,該執行容器包含有一個受保護之執行環境。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/858,882 US20120047580A1 (en) | 2010-08-18 | 2010-08-18 | Method and apparatus for enforcing a mandatory security policy on an operating system (os) independent anti-virus (av) scanner |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201224840A TW201224840A (en) | 2012-06-16 |
TWI539320B true TWI539320B (zh) | 2016-06-21 |
Family
ID=45595127
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW100129392A TWI539320B (zh) | 2010-08-18 | 2011-08-17 | 用以執行強制安全政策於作業系統獨立之防毒掃描器上的方法及裝置 |
Country Status (8)
Country | Link |
---|---|
US (1) | US20120047580A1 (zh) |
EP (1) | EP2606450B1 (zh) |
JP (1) | JP5487479B2 (zh) |
KR (1) | KR101536486B1 (zh) |
CN (1) | CN103119601B (zh) |
AU (1) | AU2011292373B2 (zh) |
TW (1) | TWI539320B (zh) |
WO (1) | WO2012024057A2 (zh) |
Families Citing this family (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8904537B2 (en) * | 2011-05-09 | 2014-12-02 | F—Secure Corporation | Malware detection |
US9910823B2 (en) | 2011-05-16 | 2018-03-06 | Cypress Semiconductor Corporation | Stack processor using a ferroelectric random access memory (F-RAM) having an instruction set optimized to minimize memory fetch |
US8934279B2 (en) * | 2011-05-16 | 2015-01-13 | Cypress Semiconductor Corporation | Stack processor using a ferroelectric random access memory (F-RAM) for code space and a portion of the stack memory space |
US9588881B2 (en) | 2011-05-16 | 2017-03-07 | Cypress Semiconductor Corporation | Stack processor using a ferroelectric random access memory (F-RAM) for code space and a portion of the stack memory space having an instruction set optimized to minimize processor stack accesses |
CN103620612B (zh) * | 2011-07-12 | 2016-04-13 | 惠普发展公司,有限责任合伙企业 | 包括端口和来宾域的计算设备 |
US9703950B2 (en) * | 2012-03-30 | 2017-07-11 | Irdeto B.V. | Method and system for preventing and detecting security threats |
EP2973175B1 (en) * | 2013-03-13 | 2019-07-31 | Intel Corporation | Managing device driver cross ring accesses |
US10075470B2 (en) * | 2013-04-19 | 2018-09-11 | Nicira, Inc. | Framework for coordination between endpoint security and network security services |
CN104217161B (zh) * | 2013-05-30 | 2016-08-17 | 腾讯科技(深圳)有限公司 | 一种病毒扫描方法及***、终端设备 |
CN103354530B (zh) * | 2013-07-18 | 2016-08-10 | 北京启明星辰信息技术股份有限公司 | 虚拟化网络边界数据流汇聚方法及装置 |
US9792112B2 (en) * | 2013-08-28 | 2017-10-17 | Via Technologies, Inc. | Propagation of microcode patches to multiple cores in multicore microprocessor |
US9465432B2 (en) | 2013-08-28 | 2016-10-11 | Via Technologies, Inc. | Multi-core synchronization mechanism |
US9507404B2 (en) | 2013-08-28 | 2016-11-29 | Via Technologies, Inc. | Single core wakeup multi-core synchronization mechanism |
US9979751B2 (en) | 2013-09-20 | 2018-05-22 | Open Text Sa Ulc | Application gateway architecture with multi-level security policy and rule promulgations |
US9507935B2 (en) | 2014-01-16 | 2016-11-29 | Fireeye, Inc. | Exploit detection system with threat-aware microvisor |
US9934376B1 (en) | 2014-12-29 | 2018-04-03 | Fireeye, Inc. | Malware detection appliance architecture |
US9912681B1 (en) | 2015-03-31 | 2018-03-06 | Fireeye, Inc. | Injection of content processing delay in an endpoint |
US10474813B1 (en) | 2015-03-31 | 2019-11-12 | Fireeye, Inc. | Code injection technique for remediation at an endpoint of a network |
US10339302B2 (en) | 2015-05-21 | 2019-07-02 | Airwatch Llc | Creating multiple workspaces in a device |
US10223526B2 (en) * | 2015-05-21 | 2019-03-05 | Airwatch Llc | Generating packages for managed applications |
US10171502B2 (en) * | 2015-05-21 | 2019-01-01 | Airwatch Llc | Managed applications |
US10454950B1 (en) | 2015-06-30 | 2019-10-22 | Fireeye, Inc. | Centralized aggregation technique for detecting lateral movement of stealthy cyber-attacks |
US10374805B2 (en) * | 2015-07-20 | 2019-08-06 | Intel Corporation | Technologies for trusted I/O for multiple co-existing trusted execution environments under ISA control |
US11593075B2 (en) | 2015-11-03 | 2023-02-28 | Open Text Sa Ulc | Streamlined fast and efficient application building and customization systems and methods |
US10447728B1 (en) | 2015-12-10 | 2019-10-15 | Fireeye, Inc. | Technique for protecting guest processes using a layered virtualization architecture |
US10846117B1 (en) | 2015-12-10 | 2020-11-24 | Fireeye, Inc. | Technique for establishing secure communication between host and guest processes of a virtualization architecture |
US10108446B1 (en) | 2015-12-11 | 2018-10-23 | Fireeye, Inc. | Late load technique for deploying a virtualization layer underneath a running operating system |
US11388037B2 (en) | 2016-02-25 | 2022-07-12 | Open Text Sa Ulc | Systems and methods for providing managed services |
US10191861B1 (en) | 2016-09-06 | 2019-01-29 | Fireeye, Inc. | Technique for implementing memory views using a layered virtualization architecture |
KR102573921B1 (ko) * | 2016-09-13 | 2023-09-04 | 삼성전자주식회사 | 바이러스/멀웨어로부터 안전한 저장 장치, 그것을 포함한 컴퓨팅 시스템 및 그것의 방법 |
US9830469B1 (en) * | 2016-10-31 | 2017-11-28 | International Business Machines Corporation | Automated mechanism to secure customer data |
US10951644B1 (en) * | 2017-04-07 | 2021-03-16 | Comodo Security Solutions, Inc. | Auto-containment of potentially vulnerable applications |
US10650156B2 (en) | 2017-04-26 | 2020-05-12 | International Business Machines Corporation | Environmental security controls to prevent unauthorized access to files, programs, and objects |
US10977361B2 (en) * | 2017-05-16 | 2021-04-13 | Beyondtrust Software, Inc. | Systems and methods for controlling privileged operations |
US10705976B2 (en) * | 2018-06-29 | 2020-07-07 | Intel Corporation | Scalable processor-assisted guest physical address translation |
US10922439B2 (en) * | 2018-06-29 | 2021-02-16 | Intel Corporation | Technologies for verifying memory integrity across multiple memory regions |
KR102140714B1 (ko) | 2018-11-26 | 2020-08-03 | 단국대학교 산학협력단 | 안드로이드 애플리케이션의 주요부분을 패턴화한 멀웨어 탐지 분류 방법 및 시스템 |
CN111382433B (zh) * | 2018-12-29 | 2022-12-13 | 龙芯中科技术股份有限公司 | 模块加载方法、装置、设备以及存储介质 |
US20200285501A1 (en) * | 2019-03-08 | 2020-09-10 | International Business Machines Corporation | Communication interface of a secure interface control |
US11520493B2 (en) | 2019-07-23 | 2022-12-06 | Arm Technology (China) Co. LTD | Allocation policy for shared resource accessible in both secure and less secure domains |
US11436342B2 (en) | 2019-12-26 | 2022-09-06 | Intel Corporation | TDX islands with self-contained scope enabling TDX KeyID scaling |
CN113505373A (zh) * | 2021-07-09 | 2021-10-15 | 福建健康之路信息技术有限公司 | 一种软件代码质量的测试方法和存储设备 |
US20230087520A1 (en) * | 2021-09-17 | 2023-03-23 | Mediatek Inc. | Kernel protection system |
US12045326B2 (en) * | 2022-07-14 | 2024-07-23 | Dell Products L.P. | Secured communication protocol layer for authenticated hardware data access |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7631196B2 (en) * | 2002-02-25 | 2009-12-08 | Intel Corporation | Method and apparatus for loading a trustable operating system |
US7503067B2 (en) * | 2004-02-02 | 2009-03-10 | Toshiba Corporation | Preset security levels |
US20070000005A1 (en) * | 2005-06-20 | 2007-01-04 | Wang Wen P | Soft pad |
US7669242B2 (en) * | 2005-06-30 | 2010-02-23 | Intel Corporation | Agent presence monitor configured to execute in a secure environment |
US7380049B2 (en) * | 2005-09-06 | 2008-05-27 | Intel Corporation | Memory protection within a virtual partition |
US7845009B2 (en) * | 2006-05-16 | 2010-11-30 | Intel Corporation | Method and apparatus to detect kernel mode rootkit events through virtualization traps |
US8356361B2 (en) * | 2006-11-07 | 2013-01-15 | Spansion Llc | Secure co-processing memory controller integrated into an embedded memory subsystem |
US20080320594A1 (en) * | 2007-03-19 | 2008-12-25 | Xuxian Jiang | Malware Detector |
US8561061B2 (en) * | 2007-05-14 | 2013-10-15 | Vmware, Inc. | Adaptive dynamic selection and application of multiple virtualization techniques |
US8307443B2 (en) * | 2007-09-28 | 2012-11-06 | Microsoft Corporation | Securing anti-virus software with virtualization |
US8839237B2 (en) * | 2007-12-31 | 2014-09-16 | Intel Corporation | Method and apparatus for tamper resistant communication in a virtualization enabled platform |
US8042190B2 (en) * | 2007-12-31 | 2011-10-18 | Intel Corporation | Pre-boot protected memory channel |
US8539200B2 (en) * | 2008-04-23 | 2013-09-17 | Intel Corporation | OS-mediated launch of OS-independent application |
-
2010
- 2010-08-18 US US12/858,882 patent/US20120047580A1/en not_active Abandoned
-
2011
- 2011-07-25 EP EP11818526.3A patent/EP2606450B1/en not_active Not-in-force
- 2011-07-25 KR KR1020137006330A patent/KR101536486B1/ko active IP Right Grant
- 2011-07-25 JP JP2013524858A patent/JP5487479B2/ja not_active Expired - Fee Related
- 2011-07-25 AU AU2011292373A patent/AU2011292373B2/en not_active Ceased
- 2011-07-25 WO PCT/US2011/045158 patent/WO2012024057A2/en active Application Filing
- 2011-07-25 CN CN201180044799.9A patent/CN103119601B/zh not_active Expired - Fee Related
- 2011-08-17 TW TW100129392A patent/TWI539320B/zh not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
EP2606450A4 (en) | 2014-08-20 |
KR101536486B1 (ko) | 2015-07-13 |
US20120047580A1 (en) | 2012-02-23 |
AU2011292373A1 (en) | 2013-03-14 |
EP2606450B1 (en) | 2015-09-02 |
WO2012024057A3 (en) | 2012-05-10 |
JP5487479B2 (ja) | 2014-05-07 |
EP2606450A2 (en) | 2013-06-26 |
TW201224840A (en) | 2012-06-16 |
CN103119601A (zh) | 2013-05-22 |
JP2013537672A (ja) | 2013-10-03 |
AU2011292373B2 (en) | 2014-06-19 |
WO2012024057A2 (en) | 2012-02-23 |
KR20130045389A (ko) | 2013-05-03 |
CN103119601B (zh) | 2016-01-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI539320B (zh) | 用以執行強制安全政策於作業系統獨立之防毒掃描器上的方法及裝置 | |
US10051008B2 (en) | Systems and methods involving aspects of hardware virtualization such as hypervisor, detection and interception of code or instruction execution including API calls, and/or other features | |
TWI470471B (zh) | 保護作業系統資源 | |
US7380049B2 (en) | Memory protection within a virtual partition | |
US9213840B2 (en) | Systems and methods involving features of hardware virtualization, hypervisor, APIs of interest, and/or other features | |
Koeberl et al. | TrustLite: A security architecture for tiny embedded devices | |
JP5249450B2 (ja) | 保護エージェント及び特権モード | |
EP1918815B1 (en) | High integrity firmware | |
JP5335634B2 (ja) | システム管理モードの特権レベルを保護するコンピュータ | |
Ning et al. | Position paper: Challenges towards securing hardware-assisted execution environments | |
US20040205203A1 (en) | Enforcing isolation among plural operating systems | |
Cheng et al. | Efficient virtualization-based application protection against untrusted operating system | |
JP6370098B2 (ja) | 情報処理装置、情報処理監視方法、プログラム、及び記録媒体 | |
Strongin | Trusted computing using AMD “Pacifica” and “Presidio” secure virtual machine technology | |
Vaduva et al. | Observations over SPROBES mechanism on the TrustZone architecture | |
Stapf et al. | In hardware we trust? from TPM to enclave computing on RISC-V | |
Kuzuno et al. | KMO: kernel memory observer to identify memory corruption by secret inspection mechanism | |
Degani et al. | μ IPS: Software-Based Intrusion Prevention for Bare-Metal Embedded Systems | |
Yao et al. | Silicon Secure Configuration | |
Yao et al. | Device Security | |
Cheng | Virtualization-based System Hardening against Untrusted Kernels |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |