TW202314548A - 用於應用保護的系統及非暫態機器可讀介質 - Google Patents

用於應用保護的系統及非暫態機器可讀介質 Download PDF

Info

Publication number
TW202314548A
TW202314548A TW111128552A TW111128552A TW202314548A TW 202314548 A TW202314548 A TW 202314548A TW 111128552 A TW111128552 A TW 111128552A TW 111128552 A TW111128552 A TW 111128552A TW 202314548 A TW202314548 A TW 202314548A
Authority
TW
Taiwan
Prior art keywords
virtual machine
application
protection
app
host
Prior art date
Application number
TW111128552A
Other languages
English (en)
Inventor
蕭志祥
隋培倫
許育淇
Original Assignee
聯發科技股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 聯發科技股份有限公司 filed Critical 聯發科技股份有限公司
Publication of TW202314548A publication Critical patent/TW202314548A/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring 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/53Monitoring 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring 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/54Monitoring 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 adding security routines or objects to programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6281Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database at program execution time, where the protection is within the operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45545Guest-host, i.e. hypervisor is an application program itself, e.g. VirtualBox
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances

Abstract

一種用於應用保護的系統,包括:處理器,該處理器被配置為執行客戶虛擬機、主虛擬機、管理組件及主機虛擬機;其中該客戶虛擬機上運行應用,且具有該應用的標識的應用保護被下載到該客戶虛擬機;其中該管理組件包括:安裝服務模組,被配置為從該客戶虛擬機接收該應用保護,並根據安裝服務命令將該應用保護複製到該主虛擬機;啟動模組,被配置為根據啟動命令啟動該應用保護;其中該主機虛擬機被配置為:生成該安裝服務命令;通過該標識驗證該至少一個應用保護;根據該標識生成該啟動命令。

Description

用於應用保護的系統及非暫態機器可讀介質
本發明涉及計算機技術領域,更進一步地,涉及應用保護的技術方案。
對於運行有複數個應用(application,APP)的安卓(Android)高階(high-level)操作系統(Operating System,OS),可從雲端下載對應於該複數個APP的複數個APP保護(例如,保護策略),並且可設置管理模組來提供動態的APP保護加載機制,以在APP上執行驗證、加載及實施。但可能會出現一些問題。系統可能需要額外的安全操作系統或由管理模組本身在APP上執行驗證,這將增加成本並降低系統的性能。系統可能包括複數個主(primary)虛擬機(Virtual Machine,VM),這些主虛擬機可能被安排為對APP進行APP保護,系統可能無法確認每個APP保護對應的主VM,這將影響系統的安全性。因此,迫切需要一種新穎的APP保護系統,通過APP的標識(identification,ID)來驗證APP,並根據ID對主VM進行綁定。
本發明提供用於應用保護的系統和用於存儲程序代碼的非暫態機器可讀介質,實施本發明實施例可減少系統成本並增加系統性能。
本發明提供的用於應用保護的系統,包括:處理器,該處理器被配置為執行客戶虛擬機、至少一個主虛擬機、管理組件及主機虛擬機;其中該客戶虛擬機上運行至少一個應用,且具有該至少一個應用的至少一個標識的至少一個應用保護被下載到該客戶虛擬機;其中該管理組件包括:安裝服務模組,被配置為從該客戶虛擬機接收具有該至少一個標識的該至少一個應用保護,並根據安裝服務命令將該至少一個應用保護複製到該至少一個主虛擬機;以及啟動模組,被配置為根據啟動指令啟動複製到該至少一個主虛擬機中的該至少一個應用保護;其中該主機虛擬機被配置為:從該客戶虛擬機接收至少一個安裝命令,並根據該至少一個安裝命令向該安裝服務模組生成該安裝服務命令;通過該至少一個標識驗證該至少一個應用保護並生成至少一個驗證結果;根據該至少一個驗證結果從該至少一個主虛擬機獲取該至少一個標識;以及根據該至少一個標識向該啟動模組生成該啟動命令。
本發明提供的一種用於存儲程序代碼的非暫態機器可讀介質,其中當該程序代碼被處理器加載並執行時,該程序代碼指示該處理器執行客戶虛擬機、至少一個主虛擬機、管理組件及主機虛擬機;其中該客戶虛擬機上運行至少一個應用,且具有該至少一個應用的至少一個標識的至少一個應用保護被下載到該客戶虛擬機;其中該管理組件包括:安裝服務模組,被配置為從該客戶虛擬機接收具有該至少一個標識的該至少一個應用保護,並根據安裝服務命令將該至少一個應用保護複製到該至少一個主虛擬機;以及啟動模組,被配置為根據啟動指令啟動複製到該至少一個主虛擬機中的該至少一個應用保護;其中該主機虛擬機被配置為:從該客戶虛擬機接收至少一個安裝命令,並根據該至少一個安裝命令向該安裝服務模組生成該安裝服務命令;通過該至少一個標識驗證該至少一個應用保護並生成至少一個驗證結果;根據該至少一個驗證結果從該至少一個主虛擬機獲取該至少一個標識;以及根據該至少一個標識向該啟動模組生成該啟動命令。
如上所述,本發明實施例通過主機虛擬機代替管理組件實施對應用保護的驗證,由此可減少系統成本並增加系統性能。
在說明書及申請專利範圍當中使用了某些詞彙來指稱特定的元件。所屬技術領域具有通常知識者應可理解,硬體製造商可能會用不同的名詞來稱呼同一個元件。本說明書及申請專利範圍並不以名稱的差異來作為區分元件的方式,而是以元件在功能上的差異來作為區分的準則。在通篇說明書及申請專利範圍當中所提及的“包含”及“包括”為一開放式的用語,故應解釋成“包含但不限定於”。“大體上”或“大約”是指在可接受的誤差範圍內,所屬技術領域具有通常知識者能夠在一定誤差範圍內解決所述技術問題,基本達到所述技術效果。此外,“耦接”或“耦合”一詞在此包含任何直接及間接的電性連接手段。因此,若文中描述一第一裝置耦接在一第二裝置,則代表該第一裝置可直接電性連接於該第二裝置,或通過其它裝置或連接手段間接地電性連接至該第二裝置。以下所述為實施本發明的較佳方式,目的在於說明本發明的精神而非用以限定本發明的保護範圍,本發明的保護範圍當視之後附的申請專利範圍所界定者為准。
接下面的描述為本發明預期的最優實施例。這些描述用於闡述本發明的大致原則而不應用於限制本發明。本發明的保護範圍應在參考本發明的申請專利範圍的基礎上進行認定。
圖1為本發明一個實施例的電子設備10的示意圖。作為示例而非限制,電子設備10可以是便攜式設備,例如智能手機或平板電腦。電子設備10可以包括處理器12和存儲設備14。處理器12可以是單核處理器或多核處理器。 存儲設備14是一種非暫時性機器可讀介質,用於存儲計算機程序代碼(program code,PROG)。處理器12配備有實施軟體的能力。計算機程序代碼PROG可以包括複數個軟體模塊。因此,當由處理器12加載並執行時,計算機程序代碼PROG指示處理器12執行軟體模塊的指定功能。電子設備10可以被視為使用計算機程序產品的計算機系統,該計算機程序產品包括包含計算機程序代碼PROG的計算機可讀介質。本發明提供的用於APP保護的系統可實施在電子設備10中。例如,用於APP保護的系統可包括由在處理器12上運行的計算機程序代碼PROG實現的基於軟體的功能。
圖2為依據本發明的一個實施例的用於APP保護的系統20的示意圖。如圖2所示,系統20可以包括處理器(例如圖1所示的處理器12)。處理器可以被安排來執行軟體模塊,這些軟件模塊包括:客戶(guest)虛擬機(VM) 200、管理模組210、主(primary)VM 220以及主機(host)VM 230。在本實施例中,APP A可運行在客戶 VM 200上,且可從雲端202下載具有APP A的標識(ID)的APP保護(例如,保護策略,為了簡化,在圖2中標記為“APP A保護”)至客戶VM 200(為了簡化,在圖2中標記為“下載”)。應注意,可用其他可表示APP A身份的其他信息(例如,APP A的簽名)代替ID。
作為舉例,例如具有Linux內核的安卓系統的操作系統可運行在客戶VM 200上,其中APP A的客戶201可能向主機VM 230發送用於APP A保護的安裝命令I_CMD。管理模組210可包括安裝服務模組212和啟動(launch)模組214。安裝服務模組212可用於從客戶VM 200接收APP A 保護(為了簡化,在圖2中標記為“接收”),並根據安裝服務命令IS_CMD將APP A保護複製到主VM 220(為了簡化,在圖2中標記為“複製”),其中安裝服務命令IS-CMD可用於通知安裝服務模組212將APP A保護複製到主VM 220。啟動模組214可用於根據啟動命令L_CMD啟動複製到主VM 220中的APP A 保護(為了簡化,在圖2中標記為“啟動”)。
主機VM 230可用於確保主VM 220對於系統20的合法性,且可包括ID列表231和安裝管理模組232,其中APP A的ID可包括在ID列表231中。安裝管理模組232可用於從客戶 VM 200接收安裝命令I_CMD,並根據安裝命令I_CMD向管理模組210中的安裝服務模組212產生安裝服務命令IS_CMD,以用於觸發安裝服務模組212將APP A保護複製到主VM 220。此外,安裝管理模組232可包括ID管理模組233和激活的ID模組234。ID管理模組233可用於通過ID列表231中的APP A的ID驗證 APP A保護(為了簡化,在圖2中標記為“驗證”),以確保APP A未被篡改(也即,APP A對系統20合法),並查收驗證結果,其中,ID管理器模組233可以通過算法、密鑰類別或白名單生成ID列表231中的APP A的ID,並可以通過生成的ID列表231中的APP A的ID來判斷APP A保護的ID是否合法,以生成驗證結果 ,但本發明不限於此。
隨後,響應於驗證結果指示APP A的ID合法,安裝管理模組232中的激活的ID模組234可用於從主VM 200獲取(也即,主VM 200向激活的ID模組234提供APP A的ID,為了簡化,在圖2中標記為“提供ID”)並記錄激活的ID(也即,APP A的ID)並根據APP A的ID向管理模組210中的啟動模組214生成啟動命令L_CMD,以啟動APP A保護。由於對APP 保護的驗證由主機 VM 230執行,管理模組210的相應功能任務可被卸載(offloaded),由此可減少成本並增加系統20的性能。應用注意,當APP A被加載到客戶 VM 200時,主VM 220同時被加載到處理器中,當APP A從客戶 VM 200卸載時,主 VM 220同時從處理器卸載。此外,當APP A停止在客戶 VM 200上運行(也即,APP A保護不需要了),主 VM 220可釋放APP A保護。換言之,當APP A開始在客戶 VM 200上運行,APP A保護可被複製到主 VM 220上。以這種方式,可顯著節省系統20的存儲空間。
圖3為依據本發明的另一個實施例的用於APP保護的系統30的示意圖。如圖3所示,系統30可以包括處理器(例如圖1所示的處理器12)。處理器可以被安排來執行軟體模塊,這些軟件模塊包括:客戶(guest)虛擬機(VM)300、管理模組310、複數個主(primary)VM(例如,兩個主VM 320和321)以及主機(host)VM 330。其中管理模組310可以包括安裝服務模組312和啟動模組314,主機VM 330可以包括ID列表331和安裝管理模組332,並且安裝管理模組332可以包括ID管理模組333和激活的ID模組334。在本實施例中,兩個APP (也即,APP A和APP B)可運行在客戶 VM 300上,且具有APP A的ID且用於APP A的APP保護和具有APP B的ID且用於APP B的另一個APP保護(為了簡潔,分別標記為“APP A保護”和“APP B保護”)可以從雲端302下載到客戶VM 300,其中主VM 320和主VM 321可分別作為執行APP A保護和APP B保護的位置。為簡潔起見,此處省略本實施例與其他實施例的類似描述。
在本實施例中,安裝命令I_CMD可以包括APP A的客戶301發送的第一安裝命令F_I_CMD和APP B的客戶303發送的第二安裝命令S_I_CMD,其中第一安裝命令F_I_CMD可用於通過主機VM 330(更具體地,安裝管理模組332)生成的安裝服務命令IS_CMD觸發安裝服務模組312將APP A保護複製到主VM 320上,第二安裝命令S_I_CMD可用於通過主機VM 330(更具體地,安裝管理模組332)生成的安裝服務命令IS_CMD觸發安裝服務模組312將APP B保護複製到主VM 321上。
應注意,客戶VM 300上運行的APP的數量以及系統30中對應的主VM的數量可以根據實際的設計考慮而有所不同。在具體實現中,具有分別對應於具有運行在客戶VM上的複數個APP的複數個ID的複數個APP 保護的複數個主VM的任意系統將落入本發明的保護範圍。此外,當一個APP(例如,APP A或APP B)被加載到客戶VM 300上,相應的主VM(例如,主VM 320或主VM 321)將同時被加載到處理器上,且當一個APP(例如,APP A或APP B)被從客戶VM 300上卸載,相應的主VM(例如,主VM 320或主VM 321)將同時從處理器卸載。當一個APP(例如,APP A或APP B)停止在客戶 VM 300上運行,這表示相應的一個APP 保護(例如,APP A保護或APP B保護)不需要了,則對應於不需要的APP保護的主VM(例如,主VM 320或主VM 321)可以釋放不需要的APP保護(例如,APP A保護或APP B保護)。換言之,當一個APP(例如,APP A或APP B)開始在客戶 VM 300上運行,一個APP保護(例如,APP A保護或APP B保護)可被複製到對應該APP保護的主 VM 上(例如,主VM 320或主VM 321)。為簡潔起見,此處省略本實施例與其他實施例的類似描述。
圖4為依據本發明的另一個實施例的用於APP保護的系統40的示意圖。如圖4所示,系統40可以包括處理器(例如圖1所示的處理器12)。處理器可以被安排來執行軟體模塊,這些軟件模塊包括:客戶VM 400、管理模組410、主VM 420以及主機VM 430。其中管理模組410可以包括安裝服務模組412和啟動模組414,主機VM 430可以包括ID列表431和安裝管理模組432,並且安裝管理模組432可以包括ID管理模組433和激活的ID模組434。在本實施例中,兩個APP (也即,APP A和APP B)可運行在客戶 VM 400上,且具有APP A的ID且用於APP A的APP保護和具有APP B的ID且用於APP B的另一個APP保護(為了簡潔,分別標記為“APP A保護”和“APP B保護”)可以是從雲端302下載到客戶VM 300,其中主VM 420作為執行APP A保護和APP B保護的位置。為簡潔起見,此處省略本實施例與其他實施例的類似描述。並且APP A的ID和APP B的ID可以包含在ID列表431中。
圖4所示的系統40和圖3所示的系統30的不同之處在於,系統40可以僅包括一個主VM 420,其對應於APP A保護和APP B保護兩者。應注意,客戶VM 400上運行的APP的數量可以根據實際設計考慮而變化。在實踐中,具有對應於複數個APP保護的一個主VM的任何系統都將落入本發明的範圍內,其中所述APP保護具有在客戶VM上運行的複數個APP的ID。
此外,當一個APP(例如,APP A或APP B)停止在客戶 VM 400上運行,主VM 420將釋放相應的APP保護(例如,APP A保護或APP B保護)。換言之,當一個APP(例如,APP A或APP B)開始在客戶 VM 400上運行,相應的APP保護(例如,APP A保護或APP B保護)可被複製到主 VM 420 上。例如,當APP A停止在客戶 VM 400上運行, APP B開始在客戶 VM 400上運行,主VM 420將釋放APP A保護,且APP B保護可被複製到主 VM 420 上。為簡潔起見,此處省略本實施例與其他實施例的類似描述。
圖5為依據本發明的一個實施例的用於APP保護的系統50的示意圖,其中系統50包括通信代理。如圖5所示,系統50可以包括處理器(例如圖1所示的處理器12)。處理器可以被安排來執行軟體模塊,這些軟件模塊包括:客戶VM 500、管理模組510、主VM 520以及主機VM 530。其中管理模組510可以包括安裝服務模組及啟動模組512、通信代理514和保護管理模組(例如,實時內核保護(Real-Time Kernel Protection,RKP)模組,或用戶代碼庫(user library)保護模組)516,主機VM 530可以包括ID列表531和安裝管理模組532,並且安裝管理模組532可以包括ID管理模組533和激活的ID模組534。與圖2所示的系統20中的管理模組210相比,管理模組510還可以包括通信代理514和保護管理模組516。激活的ID模組534還可以用於在激活的ID模組534和通信代理514之間建立特定通道,以註冊激活的ID(即 APP A的ID)到通信代理514(為簡潔起見,在圖5中標記為“註冊ID”)。
通信代理514可用於接收安裝管理模組532中的激活的ID模組534發送的APP A的ID,並根據APP A的ID在主VM520和管理模組510之間執行通信。保護管理模組516可用於根據由主VM 520通過通信代理514發送的APP A保護設置命令SAFETY_APP A_COMMAND(在圖5中標記為“SAC”)管理和配置安全保護組件(例如MMU(Memory Management Unit,存儲器管理單元)和/或MPU(Memory protection Unit,存儲器保護單元))。另外,通信代理514還可以用於將主VM 520綁定到管理程序510,並且只有具有APP A的ID的主VM能夠通過通信代理514與管理組件510通信。例如,只有具有APP A的ID的主VM能夠通過通信代理514向保護管理組件516發送APP A保護設置命令SAFETY_APPA_COMMAND,以根據APP A保護設置命令 SAFETY_APPA_COMMAND管理和配置安全保護組件(例如 MMU 和/或 MPU)。
值得注意的是,本實施例關注用於APP保護的系統50的設計和通信代理514,保護管理組件516的操作為所屬技術領域具有通常知識者所熟知,因此本發明的說明書中將不再描述保護管理組件516的細節。
總言之,在本發明用於APP保護的系統中,由於對APP保護的驗證可由主機VM執行,管理組件的中相應功能可被卸載,由此減少系統成本並增加系統性能。當APP停止或開始在客戶VM上運行,具有相應APP的ID的APP保護可從主VM釋放或被複製到主VM,這大大節省了系統的存儲空間。另外,在一些實施例中,由於只有具有APP的ID的主VM才能通過通信代理與管理組件進行通信,所以可以保證系統的安全性。
本發明雖以較佳實施例揭露如上,然其並非用以限定本發明的範圍,任何所屬技術領域具有通常知識者,在不脫離本發明的精神和範圍內,當可做些許的更動與潤飾,因此本發明的保護範圍當視申請專利範圍所界定者為准。 以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
10:電子設備 12:處理器 14:存儲設備 20,30,40,50:用於應用保護的系統 200,300,400,500:客戶虛擬機 201,301,303,401,403,501:客戶 212,312,412:安裝服務模組 210,310,410,510:管理模組 202,302,402,502:雲端 220,321,320,420,520:主虛擬機 214,314,414:啟動模組 230,330,430,530:主機虛擬機 231,331,431,531:ID列表 232,332,432,532:安裝管理模組 233,333,433,533:ID管理模組 234,334,434,534:激活的ID模組 512:安裝服務模組及啟動模組 514:通信代理 516:保護管理模組
圖1為本發明一個實施例的電子設備10的示意圖。 圖2為依據本發明的一個實施例的用於APP保護的系統20的示意圖。 圖3為依據本發明的另一個實施例的用於APP保護的系統30的示意圖。 圖4為依據本發明的另一個實施例的用於APP保護的系統40的示意圖。 圖5為依據本發明的一個實施例的用於APP保護的系統50的示意圖。
20:用於應用保護的系統
200:客戶虛擬機
201:客戶
212:安裝服務模組
210:管理模組
202:雲端
220:主虛擬機
214:啟動模組
230:主機虛擬機
231:ID列表
232:安裝管理模組
233:ID管理模組
234:激活的ID模組

Claims (20)

  1. 一種用於應用保護的系統,包括: 處理器,該處理器被配置為執行客戶虛擬機、至少一個主虛擬機、管理組件及主機虛擬機; 其中該客戶虛擬機上運行至少一個應用,且具有該至少一個應用的至少一個標識的至少一個應用保護被下載到該客戶虛擬機; 其中該管理組件包括: 安裝服務模組,被配置為從該客戶虛擬機接收具有該至少一個標識的該至少一個應用保護,並根據安裝服務命令將該至少一個應用保護複製到該至少一個主虛擬機;以及 啟動模組,被配置為根據啟動指令啟動複製到該至少一個主虛擬機中的該至少一個應用保護; 其中該主機虛擬機被配置為: 從該客戶虛擬機接收至少一個安裝命令,並根據該至少一個安裝命令向該安裝服務模組生成該安裝服務命令; 通過該至少一個標識驗證該至少一個應用保護並生成至少一個驗證結果; 根據該至少一個驗證結果從該至少一個主虛擬機獲取該至少一個標識;以及 根據該至少一個標識向該啟動模組生成該啟動命令。
  2. 如請求項1所述的系統,其中該管理組件進一步包括: 通信代理,被配置為接收由該主機虛擬機發送的該至少一個標識。
  3. 如請求項2所述的系統,其中該通信代理進一步被配置為: 將該至少一個主虛擬機與該管理組件進行綁定,並根據該至少一個標識在該至少一個主虛擬機和該管理組件之間執行通信。
  4. 如請求項1所述的系統,其中一個應用運行在客戶虛擬機上,且該至少一個主虛擬機包括一個主虛擬機,該一個主虛擬機對應具有該一個應用的標識的應用保護。
  5. 如請求項4所述的系統,其中當該一個應用加載到該客戶虛擬機或從該客戶虛擬機卸載,該對應的一個主虛擬機同時加載到該處理器或從該處理器卸載。
  6. 如請求項4所述的系統,其中當該一個應用停止在該客戶虛擬機上運行,該對應的一個主虛擬機釋放具有該一個應用的標識的該應用保護。
  7. 如請求項4所述的系統,其中當該一個應該開始在該客戶虛擬機上運行,具有該一個應用的標識的該應用保護被複製到該主虛擬機。
  8. 如請求項1所述的系統,其中複數個應用運行在該客戶虛擬機上,且該至少一個主虛擬機包括複數個主虛擬機,該複數個主虛擬機分別對應具有該複數個應用的標識的複數個應用保護。
  9. 如請求項8所述的系統,其中當該複數個應用中的第一應用加載到該客戶虛擬機或從該客戶虛擬機卸載時,對應具有該第一應用的標識的第一應用保護的第一主虛擬機同時加載到該處理器或從該處理器卸載。
  10. 如請求項8所述的系統,其中當該複數個應用中的第一應用停止在該客戶虛擬機上運行,對應具有該第一應用的標識的第一應用保護的第一主虛擬機釋放該第一應用保護。
  11. 如請求項8所述的系統,其中當該複數個應用中的第一應用開始在該客戶虛擬機上運行,將具有該第一應用的標識的第一應用保護複製到與該第一應用保護對應的第一主虛擬機上。
  12. 如請求項1所述的系統,其中複數個應用運行在該客戶虛擬機上,且該至少一個主虛擬機包括一個主虛擬機,該一個主虛擬機對應具有該複數個應用的標識的複數個應用保護。
  13. 如請求項12所述的系統,其中當該複數個應用中的第一應用停止在該客戶虛擬機上運行,該一個主虛擬機釋放具有該第一應用的標識的應用保護。
  14. 如請求項12所述的系統,其中當該複數個應用中的第一應用開始在該客戶虛擬機上運行,具有該第一應用的標識的應用保護被複製到該一個主虛擬機。
  15. 一種用於存儲程序代碼的非暫態機器可讀介質,其中當該程序代碼被處理器加載並執行時,該程序代碼指示該處理器執行客戶虛擬機、至少一個主虛擬機、管理組件及主機虛擬機; 其中該客戶虛擬機上運行至少一個應用,且具有該至少一個應用的至少一個標識的至少一個應用保護被下載到該客戶虛擬機; 其中該管理組件包括: 安裝服務模組,被配置為從該客戶虛擬機接收具有該至少一個標識的該至少一個應用保護,並根據安裝服務命令將該至少一個應用保護複製到該至少一個主虛擬機;以及 啟動模組,被配置為根據啟動指令啟動複製到該至少一個主虛擬機中的該至少一個應用保護; 其中該主機虛擬機被配置為: 從該客戶虛擬機接收至少一個安裝命令,並根據該至少一個安裝命令向該安裝服務模組生成該安裝服務命令; 通過該至少一個標識驗證該至少一個應用保護並生成至少一個驗證結果; 根據該至少一個驗證結果從該至少一個主虛擬機獲取該至少一個標識;以及 根據該至少一個標識向該啟動模組生成該啟動命令。
  16. 如請求項15所述的非暫態機器可讀介質,其中該管理組件進一步包括: 通信代理,被配置為接收由該主機虛擬機發送的該至少一個標識。
  17. 如請求項16所述的非暫態機器可讀介質,其中該通信代理進一步被配置為: 將該至少一個主虛擬機與該管理組件進行綁定,並根據該至少一個標識在該至少一個主虛擬機和該管理組件之間執行通信。
  18. 如請求項15所述的非暫態機器可讀介質,其中一個應用運行在客戶虛擬機上,且該至少一個主虛擬機包括一個主虛擬機,該一個主虛擬機對應具有該一個應用的標識的應用保護。
  19. 如請求項15所述的非暫態機器可讀介質,其中複數個應用運行在該客戶虛擬機上,且該至少一個主虛擬機包括複數個主虛擬機,該複數個主虛擬機分別對應具有該複數個應用的標識的複數個應用保護。
  20. 如請求項15所述的非暫態機器可讀介質,其中複數個應用運行在客戶虛擬機上,且該至少一個主虛擬機包括一個主虛擬機,該一個主虛擬機對應具有該複數個應用的標識的複數個應用保護。
TW111128552A 2021-09-17 2022-07-29 用於應用保護的系統及非暫態機器可讀介質 TW202314548A (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US202163245235P 2021-09-17 2021-09-17
US63/245,235 2021-09-17
US202263324645P 2022-03-29 2022-03-29
US63/324,645 2022-03-29
US17/849,694 2022-06-26
US17/849,694 US20230090251A1 (en) 2021-09-17 2022-06-26 System for application protection and non-transitory machine-readable medium for storing program code that provides application protection when executed

Publications (1)

Publication Number Publication Date
TW202314548A true TW202314548A (zh) 2023-04-01

Family

ID=85522828

Family Applications (1)

Application Number Title Priority Date Filing Date
TW111128552A TW202314548A (zh) 2021-09-17 2022-07-29 用於應用保護的系統及非暫態機器可讀介質

Country Status (3)

Country Link
US (1) US20230090251A1 (zh)
CN (1) CN115828229A (zh)
TW (1) TW202314548A (zh)

Also Published As

Publication number Publication date
US20230090251A1 (en) 2023-03-23
CN115828229A (zh) 2023-03-21

Similar Documents

Publication Publication Date Title
US11741230B2 (en) Technologies for secure hardware and software attestation for trusted I/O
US10635821B2 (en) Method and apparatus for launching a device
JP5821034B2 (ja) 情報処理装置、仮想マシン生成方法及びアプリ配信システム
KR101359841B1 (ko) 신뢰성 있는 부트 최적화를 위한 방법 및 장치
US8782801B2 (en) Securing stored content for trusted hosts and safe computing environments
US9288155B2 (en) Computer system and virtual computer management method
US20090328195A1 (en) Authentication and Access Protection of Computer Boot Modules in Run-Time Environments
US20110289294A1 (en) Information processing apparatus
CN107567629B (zh) 在可信执行环境容器中的动态固件模块加载器
KR20130058058A (ko) 서비스 프로세서 컴플렉스 내의 데이터 저장을 위한 요구 기반 usb 프록시
KR20070001198A (ko) 협동적 임베디드 에이전트
US10102377B2 (en) Protection of secured boot secrets for operating system reboot
TWI754219B (zh) 更新信號技術
US10747885B2 (en) Technologies for pre-boot biometric authentication
JP2010182196A (ja) 情報処理装置およびファイル検証システム
EP3029564B1 (en) System and method for providing access to original routines of boot drivers
US10824766B2 (en) Technologies for authenticated USB device policy enforcement
TW202314548A (zh) 用於應用保護的系統及非暫態機器可讀介質
US11960372B2 (en) Verified callback chain for bios security in an information handling system
KR20110048014A (ko) 컴퓨터 플랫폼에서의 방법 및 장치