用于設(shè)備操作系統(tǒng)中的動態(tài)平臺安全的方法和系統(tǒng)的制作方法
【專利摘要】提供了一種用于在具有開放開發(fā)平臺的消費電子設(shè)備上實現(xiàn)平臺安全的系統(tǒng)和方法。該設(shè)備是包括可在設(shè)備硬件和應(yīng)用軟件之間操作的抽象層的類型。提供用于嵌入在抽象層內(nèi)的安全軟件代理,所述抽象層形成操作系統(tǒng)。提供用于存儲對應(yīng)用軟件的一個或多個實例唯一的安全信息的安全存儲裝置。安全軟件代理使用安全信息,以連續(xù)運行時間保證操作系統(tǒng)和應(yīng)用軟件的持續(xù)操作完整性,以及由此的設(shè)備的操作完整性。
【專利說明】用于設(shè)備操作系統(tǒng)中的動態(tài)平臺安全的方法和系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明一般涉及減輕安全威脅并且從電子設(shè)備上的安全漏洞中恢復(fù)。更特別的是,本發(fā)明涉及:(a)通過使用嵌入設(shè)備中的安全軟件代理來防止電子設(shè)備和數(shù)字資產(chǎn)的未授權(quán)的使用和訪問,所述數(shù)字資產(chǎn)諸如:游戲、應(yīng)用、電子書、視頻文件、文本文件和被認為是在該電子設(shè)備上的價值的其它數(shù)字數(shù)據(jù);(b)通過安裝彼此之間不同的安全軟件代理來提供用來減輕可能由可能發(fā)生的自動攻擊引起的損壞的裝置;以及(C)通過更新安全軟件代理來提供用來從可能發(fā)生的攻擊中恢復(fù)的裝置,使一個代理在功能(例如,引入附加的安全檢查)和結(jié)構(gòu)(例如,通過對代理中的二進制碼的位置進行重新排序)中不同于初始代理。
【背景技術(shù)】
[0002]諸如移動電話、平板電腦、游戲機、機頂盒、電視機、個人導(dǎo)航設(shè)備和其它消費電子設(shè)備(或簡稱為“設(shè)備”)的設(shè)備通常由消費者從零售分銷渠道(例如,消費電子商店)購買,或者可以由服務(wù)供應(yīng)商(或簡稱“運營商”)出售給或租給消費者,所述服務(wù)供應(yīng)商例如:移動網(wǎng)絡(luò)運營商、廣播電視網(wǎng)絡(luò)供應(yīng)商或者互聯(lián)網(wǎng)視頻供應(yīng)商。傳統(tǒng)上,這種設(shè)備是封閉的設(shè)備或嵌入式設(shè)備,其基于專屬的硬件和操作系統(tǒng),并且不支持第三方軟件應(yīng)用。然而,這種設(shè)備越來越多地變成開放設(shè)備。應(yīng)當(dāng)理解的是,在該背景討論的上下文中的“開放”可以包括不同程度,所述不同程度包括但不限于:標(biāo)準(zhǔn)硬件(諸如在基于Intel或ARM處理器的芯片上的系統(tǒng))、開源操作系統(tǒng)和軟件、用來啟用第三方應(yīng)用開發(fā)和/或可自由修改編程的開放或發(fā)布的API。
[0003]這種設(shè)備可以包括開源操作系統(tǒng),所述開源操作系統(tǒng)包括諸如Linux (最初由Linus Torvalds在世界各地的開發(fā)者的幫助下創(chuàng)建的開源Unix類型操作系統(tǒng))或Android(基于Linux內(nèi)核的移動版本并由加利福尼亞山景城(Mountain View)的谷歌公司推向市場的開源移動操作系統(tǒng).)的那些開源操作系統(tǒng)。
[0004]采用未授權(quán)使用和訪問形式的在封閉或嵌入式設(shè)備上的攻擊已經(jīng)發(fā)生了許多年。然而,嵌入式設(shè)備的這種黑客行為已經(jīng)是要求硬件和軟件技能的專業(yè)組合的專業(yè)且高技術(shù)的處理。相反,開放設(shè)備具有許多開發(fā)者和黑客非常了解的硬件和操作系統(tǒng)。因此,開放設(shè)備的該趨勢大大增加了具有知識和專長的黑客的潛在數(shù)量,其致使開放設(shè)備更加易受攻擊。這種開放設(shè)備也支持第三方應(yīng)用開發(fā)者為那些設(shè)備開發(fā)應(yīng)用的能力(例如,開放API),并且因此這種設(shè)備越來越多地支持消費者在這種設(shè)備上下載、安裝和運行第三方軟件應(yīng)用(或簡稱為“應(yīng)用”)的能力。這種應(yīng)用不是由設(shè)備的運營商或初始裝備制造商(或簡稱“0ΕΜ”,其可以包括諸如加利福尼亞庫比蒂諾(Cupertino)的蘋果公司之類的公司)開發(fā)的。在軟件設(shè)計方面,這種應(yīng)用可以通過使用腳本語言(例如,Java腳本)或本機代碼(例如,C或C++程序)來開發(fā)。
[0005]消費者購買或租賃以及在設(shè)備上下載和安裝第三方軟件應(yīng)用的能力可以由OEM(例如蘋果公司)、運營商或者獨立于OEM或運營商的公司通常經(jīng)由基于互聯(lián)網(wǎng)的零售接口來提供,所述零售接口例如iTunes Store或Android Market(分別由蘋果公司和谷歌公司運營的基于軟件的在線數(shù)字媒體商店)?;诨ヂ?lián)網(wǎng)的零售接口提供了系統(tǒng),通過該系統(tǒng)第三方應(yīng)用開發(fā)者(或簡稱“開發(fā)者”)與基于互聯(lián)網(wǎng)的零售接口供應(yīng)商共享來自應(yīng)用銷售的部分收入。使消費者能夠在設(shè)備上下載并安裝這種第三方應(yīng)用(或簡稱“app”)的趨勢也增加了對對于消費者、運營商、開發(fā)者和在通常與嵌入式設(shè)備相關(guān)聯(lián)的OEM之外的OEM的安全關(guān)注。
[0006]一個這種安全關(guān)注是惡意軟件,出售給消費者的第三方軟件借此可以包含被認為是惡意軟件(例如,蠕蟲病毒、木馬程序、流氓軟件和后門程序)的惡意性軟件。這種惡意軟件可以引起消費者隱私的漏洞,例如,在移動電話上的惡意軟件可能經(jīng)由移動電話的GPS能力監(jiān)測用戶的位置,并且將這種位置數(shù)據(jù)發(fā)射到遠程服務(wù)器。惡意軟件也可能引起設(shè)備或相關(guān)服務(wù)的身份盜用或欺騙性使用,例如在移動電話上的惡意軟件能夠自動對服務(wù)進行撥號,所述服務(wù)將費用添加到用戶的移動電話訂閱中。惡意軟件也可能引起運營商的網(wǎng)絡(luò)穩(wěn)定問題,例如,在移動電話上的惡意軟件可能不適當(dāng)?shù)厥褂弥T如SMS或移動語音呼叫的網(wǎng)絡(luò)能力,從而造成針對移動網(wǎng)絡(luò)運營商的網(wǎng)絡(luò)的拒絕服務(wù)攻擊,進而沖擊網(wǎng)絡(luò)服務(wù)質(zhì)量或可用性。
[0007]另一個顯著的安全關(guān)注是應(yīng)用盜版。此處,應(yīng)用遭受盜版,消費者借此可以免費獲得應(yīng)用的副本,并且將它安裝在未由基于互聯(lián)網(wǎng)的零售接口的供應(yīng)商授權(quán)或支持的其設(shè)備或類似的設(shè)備上。應(yīng)用盜版引起基于互聯(lián)網(wǎng)的零售接口的供應(yīng)商和開發(fā)者在比他們在不存在應(yīng)用盜版的情況下產(chǎn)生更少的收入。
[0008]附加的安全關(guān)注包括未授權(quán)的應(yīng)用?;诨ヂ?lián)網(wǎng)的零售接口的供應(yīng)商可以“認證”應(yīng)用以確保在通過他們的基于互聯(lián)網(wǎng)的零售接口所出售的應(yīng)用中不存在惡意軟件。這用來提供針對上文注意的惡意軟件關(guān)注的一定程度的保護,并且用來防止應(yīng)用以其它方式危害設(shè)備和/或設(shè)備網(wǎng)絡(luò)(即,移動網(wǎng)絡(luò))的安全。如果該認證過程可以被規(guī)避或是不徹底的,則消費者可能不知不覺地從未授權(quán)的基于互聯(lián)網(wǎng)的零售接口或者其它互聯(lián)網(wǎng)網(wǎng)站下載惡意軟件到他們的設(shè)備上。如果該認證過程可以被規(guī)避或是不足以檢測潛在的惡意軟件,則消費者可能不知不覺地從基于互聯(lián)網(wǎng)的零售接口下載惡意軟件到他們的設(shè)備上。
[0009]另一個重要的安全關(guān)注涉及內(nèi)容盜版。已知的是,媒體應(yīng)用(例如,視頻播放器、音樂播放器或電子書閱讀器)可以由消費者用在設(shè)備上,以訪問高價值的數(shù)字內(nèi)容,諸如數(shù)字視頻、音樂或電子出版物,所述數(shù)字內(nèi)容由基于互聯(lián)網(wǎng)的零售接口的供應(yīng)商為了銷售給消費者而從媒體內(nèi)容供應(yīng)商(例如,電影工作室、音樂制作人或書籍出版商)得到許可。強占用戶(例如,內(nèi)容盜版者)可以在強占用戶擁有的設(shè)備上安裝軟件,以便使強占用戶能夠訪問由媒體應(yīng)用使用的密鑰,從而解密內(nèi)容、抽取數(shù)字內(nèi)容(即,在媒體渲染路徑的一些點處捕獲所解密的壓縮的數(shù)字內(nèi)容),或者“屏幕抓取”數(shù)字內(nèi)容(即,在媒體渲染路徑的一些點處捕獲所解密的解壓縮的數(shù)字內(nèi)容)。這種捕獲的媒體內(nèi)容因此可以不在媒體內(nèi)容供應(yīng)商的進一步控制和批準(zhǔn)的情況下進行使用和再生。
[0010]針對平臺安全(B卩,意在解決上文注意的一個或多個安全問題的安全)的現(xiàn)有方法通常涉及下面本文中進一步分組和描述的一個或多個以下的方法。
[0011]“操作系統(tǒng)安全”是這樣一種安全方法,操作系統(tǒng)借此可以提供包括進程隔離、訪問控制、私有應(yīng)用編程接口(API)以及應(yīng)用認證/簽名以及應(yīng)用許可服務(wù)的一個或多個功能或能力。如下文將進一步描述這種功能和能力。
[0012]“進程隔離”可以由操作系統(tǒng)(或者在操作系統(tǒng)之下安裝的管理程序)支持,以確保每個應(yīng)用和系統(tǒng)的各部分在其自身的進程和專用的存儲器空間中運行,使得在默認情況下,沒有應(yīng)用具有用來執(zhí)行能夠不利地影響另一個應(yīng)用、操作系統(tǒng)(OS)或消費者的任何操作的能力。每個應(yīng)用進程可以被認為是運行在其自身的操作環(huán)境中,所述操作環(huán)境經(jīng)常被稱作其自身的“沙盒”。然而,為了開發(fā)對用戶有用的應(yīng)用,大部分應(yīng)用必須能夠訪問操作系統(tǒng)服務(wù)(例如,在移動電話OS上,發(fā)送短消息服務(wù)(SMS)文本消息、得到用戶位置、記錄電話呼叫、拍照等等),所述操作系統(tǒng)服務(wù)在基本的沙盒內(nèi)得不到支持。因為應(yīng)用必須訪問沙盒外部的操作系統(tǒng),其增加了應(yīng)用可能執(zhí)行負面地影響其它應(yīng)用、OS或消費者的操作的可能性,所以這限制了進程隔離或“沙盒”的有效性。
[0013]“訪問控制”涉及用來解決對于應(yīng)用使用沙盒外部的OS服務(wù)或資源的要求或者對于本機應(yīng)用、OS服務(wù)或資源的要求的能力,所述本機應(yīng)用、OS服務(wù)或資源可能使本機應(yīng)用能夠不利地影響其它應(yīng)用、消費者或網(wǎng)絡(luò)。此處,OS包括做出關(guān)于是否授權(quán)對請求應(yīng)用的這種訪問的決定的訪問控制功能。該訪問控制功能可以與權(quán)限(permiSSion)的概念組合在一起。例如在來自谷歌公司的Android OS中,應(yīng)用開發(fā)者必須在相關(guān)聯(lián)的清單文件中申明他們的應(yīng)用所要求的權(quán)限,以使應(yīng)用能夠執(zhí)行可能不利地影響其它應(yīng)用、OS或消費者的任何操作。訪問控制決定也可以基于內(nèi)在授權(quán)給應(yīng)用的特權(quán)(例如,Linux OS中的用戶應(yīng)用或根訪問)。與權(quán)限相關(guān)聯(lián)的問題中的一個與如下的疑問相關(guān):誰或什么向應(yīng)用授權(quán)了權(quán)限,以及授予者是否理解這種批準(zhǔn)的含義(例如,在Android OS情況下,是消費者授權(quán)了這種權(quán)限)。另一個問題是這種權(quán)限可能由惡意軟件或攻擊者修改,消費者或認證機構(gòu)遵循這樣的權(quán)限授權(quán)。一些操作系統(tǒng)具有能夠?qū)嵤┎煌L問控制模型的訪問控制構(gòu)架(例如,Linux安全模塊(LSM))。LSM能夠?qū)嵤┳鳛榭杉虞d內(nèi)核模塊的不同訪問控制模型和功能。
[0014]“私有API”是用來限制應(yīng)用訪問操作系統(tǒng)服務(wù)或資源的能力的另一個機制,所述操作系統(tǒng)服務(wù)或資源可能不利地影響平臺安全。此處,雖然許多系統(tǒng)API可以是開放或公共的,但是OEM可以通過維持從應(yīng)用開發(fā)者訪問特定的操作系統(tǒng)服務(wù)所要求的API的保密性來限制對這樣的服務(wù)的訪問。這通常與應(yīng)用認證過程耦合,以確保為認證提交的應(yīng)用不嘗試調(diào)用這種私有API。
[0015]“應(yīng)用認證/簽名”涉及在當(dāng)前使用中的各種現(xiàn)有應(yīng)用認證過程,其確保應(yīng)用不執(zhí)行惡意操作和/或訪問私有API。這些過程一般包括應(yīng)用的靜態(tài)檢驗(例如,在執(zhí)行之前掃描目標(biāo)代碼)(例如,以檢驗私有API沒有被應(yīng)用調(diào)用)以及動態(tài)檢驗(例如,以檢驗在執(zhí)行期間的應(yīng)用的“穩(wěn)定性”)。如果應(yīng)用通過認證過程,則它由認證機構(gòu)(其也可以是基于互聯(lián)網(wǎng)的零售接口供應(yīng)商)以后來可以被檢驗的形式進行數(shù)字簽名。當(dāng)前應(yīng)用認證方案的問題之一是全面的認證是不容易自動化的,并且因此是不徹底的。因為這個,可以以如下方式將惡意操作嵌入應(yīng)用中:它將僅僅在應(yīng)用認證/簽名過程之后的預(yù)先指定的時間處執(zhí)行。由此,這種惡意操作在檢驗過程期間可以避免檢測。應(yīng)用認證的另一個問題是可能必須由基于互聯(lián)網(wǎng)的零售接口供應(yīng)商認證的應(yīng)用的絕對數(shù)量。例如,估計App Store (由蘋果公司提供的用于提供它們的iPhone?牌智能電話的移動軟件應(yīng)用的基于互聯(lián)網(wǎng)的零售接口)具有超過300000個應(yīng)用,并且每周有10000個新的應(yīng)用提交給蘋果公司。這使得在認證之前執(zhí)行應(yīng)用的徹底檢驗成本太高。另一個問題是黑客可能針對由基于互聯(lián)網(wǎng)的零售接口供應(yīng)商生成的簽名來修改或代替用來檢驗應(yīng)用的完整性的在OS中的信任根(即,數(shù)字證書和軟件),使得可以在應(yīng)用認證/簽名之后修改應(yīng)用,使得可以修改與應(yīng)用相關(guān)聯(lián)的權(quán)限,使得強占第三方可以將未授權(quán)的應(yīng)用加載到設(shè)備上,或者使得消費者可以將盜版應(yīng)用加載到設(shè)備上。
[0016]“應(yīng)用許可服務(wù)”涉及針對應(yīng)用盜版的保護,系統(tǒng)借此提供許可服務(wù)。例如,Android OS提供許可服務(wù),其使應(yīng)用開發(fā)者強制執(zhí)行對于已支付應(yīng)用的許可政策。然而,這些類型的應(yīng)用許可服務(wù)可以由黑客通過修改應(yīng)用以提取這種許可檢驗檢查來容易地規(guī)避。
[0017]除了在平臺安全內(nèi)找到的以上功能和能力的每一個中注意的問題以外,存在對于進程隔離、訪問控制和應(yīng)用許可服務(wù)共同的問題,借此可以通過修改執(zhí)行這種功能的操作系統(tǒng)的部分來推翻或繞過支持這種安全功能的OS的部分。為了防止OS安全功能或其它OS功能的這種改變,經(jīng)常在設(shè)備中實施利用“安全引導(dǎo)加載器”的進一步的方法。
[0018]“安全引導(dǎo)加載器”(或者簡稱為“安全引導(dǎo)”)用來確保僅僅將意向的引導(dǎo)軟件和OS內(nèi)核加載到設(shè)備上。此處,認證針對由設(shè)備OEM生成的簽名來比較應(yīng)用軟件。引導(dǎo)軟件和OS內(nèi)核的認證或完整性檢驗僅僅在設(shè)備啟動期間發(fā)生,使得該機制可能被在引導(dǎo)過程期間發(fā)生的動態(tài)攻擊規(guī)避。一旦安全引導(dǎo)加載器已經(jīng)被繞過,可以修改OS以繞過可能在OS中存在的其它安全功能。這些動態(tài)攻擊是高度自動化的,使得它們是易受消費者影響,而所述消費者不具有獨立實施這種攻擊的專門技術(shù)(即,越獄技術(shù))。此外,一旦安全根進程已經(jīng)被危害,不存在為已經(jīng)部署在現(xiàn)場中的設(shè)備恢復(fù)設(shè)備安全的方式。
[0019]除了關(guān)于平臺安全的上文注意的問題以外,存在對于進程隔離、訪問控制、應(yīng)用許可服務(wù)、虛擬機以及安全引導(dǎo)加載器共同的問題,其涉及從攻擊中恢復(fù)的能力。一般地,一旦攻擊已經(jīng)發(fā)生,不存在為已經(jīng)出售給或許可給或以其它方式分發(fā)給消費者的設(shè)備恢復(fù)平臺安全的適當(dāng)機制。我們稱之為“靜態(tài)安全”,因為這種平臺安全的設(shè)計中的內(nèi)在假定是:適當(dāng)放置的平臺安全機制在設(shè)備的有用壽命期間將抵抗任何以及全部攻擊。靜態(tài)安全經(jīng)常受攻擊,并且這樣的攻擊被“打包”為可以由普通消費者實施的自動攻擊(例如,已知的對由Apple?開發(fā)的iPhone?的越獄攻擊)。
[0020]“病毒檢測和入侵防護軟件”是用來檢測惡意軟件并減輕這種惡意軟件可能引起的任何損壞的另一個安全方法。至今,檢測諸如移動電話的設(shè)備上的惡意軟件的幾乎每個解決方案已經(jīng)依賴基于相同的“簽名”的機制,個人計算機(PC)殺毒解決方案已經(jīng)使用該機制好多年。術(shù)語“簽名”此處不涉及數(shù)字簽名,而是屬性集合,通過該屬性集合可以識別特定一段惡意軟件,例如,諸如是具有特定長度的和在其中一定位置處的特定字節(jié)序列的屬性。然而,一旦已經(jīng)部署惡意軟件,才僅僅理解這些簽名,意味著惡意軟件已經(jīng)引起損壞。此外,這些基于簽名類型的解決方案必須持續(xù)不斷地被更新,并且必須能夠檢測成千上萬的惡意軟件簽名。不能僅僅單獨依賴這些作為在設(shè)備上檢測并防止來自惡意軟件的損壞的手段。此外,殺毒軟件自身可能被惡意軟件修改或禁用,以防止這種檢測。
[0021]“虛擬機”是用來施加平臺安全的又另一個安全方法。諸如Java?虛擬機(JVM)的虛擬機被設(shè)計為允許從潛在的不信任源中獲得的應(yīng)用的安全執(zhí)行。JVM接受通常被稱作Java?字節(jié)碼的計算機中間語言的形式,所述Java?字節(jié)碼是來自加利福尼亞紅木灣地區(qū)(Redwood Shores)的甲骨文公司的編程語言,其概念地表示面向棧的能力體系結(jié)構(gòu)的指令集。Java?應(yīng)用運行在受限制的沙盒中,所述沙盒被設(shè)計為保護用戶免受行為不端代碼或惡意軟件之害。這伴隨性能限制和在功能方面的限制而發(fā)生,例如,防止應(yīng)用訪問被視為“危險”的操作系統(tǒng)功能和資源。
[0022]前述安全方法中的每一個形成如現(xiàn)有技術(shù)的圖1中示出的靜態(tài)平臺安全功能100的部分。此外,如圖1所示的安全引導(dǎo)程序加載Iio是已知的,例如,在2001年2月6日頒發(fā)給Arbaugh等人的美國專利N0.6,185,678內(nèi),并且在本文中不進一步描述。
[0023]“媒體應(yīng)用混淆”是可以結(jié)合平臺安全使用,或者在平臺安全不存在的情況下使用的安全方法,借此可以將軟件混淆技術(shù)施加至媒體應(yīng)用,以防止用來解密內(nèi)容的密鑰被強占用戶發(fā)現(xiàn),并且以防止在媒體播放路徑上的媒體抽取或屏幕抓取攻擊。具有在保護媒體播放路徑中出現(xiàn)的四個問題。第一,媒體播放路徑可以由給予供應(yīng)商媒體應(yīng)用的受限的能力的OEM或另一個第三方實施,以便在媒體播放路徑內(nèi)實施混淆技術(shù)。第二,混淆媒體播放路徑可能引入附加的中央處理單元(CPU)開銷,其可能增加設(shè)備的功率消耗,并且引入在設(shè)備上的該應(yīng)用或其它應(yīng)用的運行中延遲。第三,與解壓縮的高清視頻相關(guān)聯(lián)的特定媒體類型(例如,高清視頻)的高數(shù)據(jù)速率可能限制混淆媒體播放路徑的能力。最后,用來渲染媒體的硬件(即,圖形處理單元(GPU))可能是不安全的,或者可以具有媒體應(yīng)用供應(yīng)商在商業(yè)上不可容易取得的安全API,以便防止屏幕抓取類型攻擊。
[0024]所以,所期望的是提供克服與前面防止設(shè)備和在該設(shè)備上的數(shù)字資產(chǎn)的未授權(quán)使用的方法以及靜態(tài)平臺安全的限制相關(guān)聯(lián)的問題的安全機制。
【發(fā)明內(nèi)容】
[0025]本發(fā)明的一個目標(biāo)是排除或減輕前面平臺安全方法和機制的至少一個缺點。更具體地,本發(fā)明在針對至少應(yīng)用盜版、惡意軟件、未授權(quán)的應(yīng)用和內(nèi)容盜版改善安全方面解決前面平臺安全方法和機制的缺陷。
[0026]在第一實施例中,本發(fā)明提供了一種用于改善設(shè)備安全的系統(tǒng),所述系統(tǒng)包括:抽象層,可在設(shè)備硬件和應(yīng)用軟件之間操作;安全軟件代理,嵌入在抽象層內(nèi);以及安全存儲裝置,用于存儲對應(yīng)用軟件唯一的安全信息,以供由安全軟件代理連續(xù)運行時間使用以保證系統(tǒng)的持續(xù)完整性。
[0027]在進一步的實施例中,提供了一種改善設(shè)備安全的方法,其中,設(shè)備包括可在設(shè)備硬件與應(yīng)用軟件之間操作的抽象層,所述方法包括:將安全軟件代理嵌入在抽象層內(nèi);以及提供用于存儲對應(yīng)用軟件唯一的安全信息的安全存儲裝置,以供由安全軟件代理連續(xù)運行時間使用以保證設(shè)備的持續(xù)操作完整性。
[0028]對本領(lǐng)域技術(shù)人員而言,在查看下面結(jié)合附圖的本發(fā)明的特定實施例的描述時,本發(fā)明的其它方面和特征將變得明顯。
【專利附圖】
【附圖說明】
[0029]現(xiàn)在將參考附圖通過舉例來描述本發(fā)明的實施例。
[0030]圖1是表示現(xiàn)有技術(shù)的靜態(tài)平臺安全功能的示意圖。
[0031]圖2A是示出了如應(yīng)用于Android OS的本發(fā)明的一個實施例的層示意圖。
[0032]圖2B是示出了如應(yīng)用于Android OS的本發(fā)明的另一個實施例的層示意圖。
[0033]圖2C是示出了如應(yīng)用于Android OS的本發(fā)明的又另一個實施例的層示意圖。[0034]圖3是示出了根據(jù)圖2A的實施例的動態(tài)平臺安全功能的特定方面的示意圖。
[0035]圖4是圖示了根據(jù)圖3的實施例的通常的引導(dǎo)加載序列的示意圖。
[0036]圖5是圖示了根據(jù)圖3的實施例的供應(yīng)序列的示意圖。
[0037]圖6是圖示了根據(jù)圖3的實施例的應(yīng)用權(quán)限的安裝的示意圖。
[0038]圖7是圖示了根據(jù)圖3的實施例的在運行時間期間的連續(xù)系統(tǒng)完整性的示意圖。
[0039]圖8是圖示了根據(jù)圖3的實施例的在運行時間期間用戶應(yīng)用請求的驗證的示意圖。
[0040]圖9是圖示了根據(jù)圖3的實施例的在運行時間期間的應(yīng)用權(quán)限增強的示意圖?!揪唧w實施方式】
[0041]一般地,本發(fā)明提供了用于可再生或“動態(tài)”平臺安全的方法和系統(tǒng)。雖然可應(yīng)用于任何移動電話、游戲機、平板電腦、機頂盒、電視機、或其它消費電子設(shè)備,但是本發(fā)明將根據(jù)使用開放OS的這種設(shè)備進行描述,所述開放OS包括但不限于=Linux和Andriod? OS。特別是,將相對于Andriod? OS示出并描述優(yōu)選的實施例,這僅僅為了說明的目的,并且不應(yīng)當(dāng)被解釋為限制本發(fā)明的意向范圍。甚至,本發(fā)明在打擊惡意軟件、應(yīng)用盜版或修改,改善平臺訪問控制,以及設(shè)備上的防護媒體播放方面的優(yōu)點普遍可應(yīng)用于任何設(shè)備OS,其中,由于與任何開放設(shè)備相關(guān)聯(lián)的內(nèi)在更大的安全風(fēng)險而對這種開放設(shè)備特別有用。而且,本發(fā)明意在作為新的應(yīng)用控制的方法和系統(tǒng),并且其可與現(xiàn)有的平臺安全一起使用,并且除了現(xiàn)有的平臺安全之外而可使用。
[0042]參考圖2,示出了整體層示意圖200,以指示如在Andriod? OS實施例中實施的本發(fā)明。此處,本發(fā)明的基本體系結(jié)構(gòu)被看出包括分層執(zhí)行棧?;緦?19涉及包括中央處理單元(CPU)、圖形處理單元(GPU)和存儲器(只讀存儲器(ROM))的通常的片上系統(tǒng)(SOC)部件,基本輸入/輸出系統(tǒng)(BIOS)存在于所述部件中。圖2中的最高層是此處示出為一個或多個Andriod?應(yīng)用210a、210b的設(shè)備應(yīng)用。中間層包括各種已知的軟件和硬件元件,包括硬盤(HDD)存儲設(shè)備或閃存存儲器220、OS內(nèi)核215和OS內(nèi)核應(yīng)用接口層214,所述OS內(nèi)核應(yīng)用接口層214管理在OS本機應(yīng)用223與Andriod? OS 213之間的系統(tǒng)調(diào)用。根據(jù)本發(fā)明,分層執(zhí)行棧進一步包括在Andriod? OS 213與虛擬機(VM)層211 (B卩,Dalvik,其是形成Andriod? OS的主要部分的Andriod? VM)之間的Java?訪問控制(JAC)層212。VM層用來將給定的應(yīng)用轉(zhuǎn)換為適合于以已知方式在給定設(shè)備上執(zhí)行的緊湊可執(zhí)行形式(即,根據(jù)Andriod?應(yīng)用的“.dex”格式)。JAC層212用來通過在VM層211的機器可執(zhí)行代碼與安全代理(或簡稱“代理”)217之間進行認證通信來提供安全訪問控制。這種訪問控制功能可以包括任何合適的已知機制,所述機制提供在腳本app與本機代理之間的橋梁,以便允許代理檢驗?zāi)_本應(yīng)用的完整性,由此將“應(yīng)用”的范圍延伸到腳本應(yīng)用。應(yīng)當(dāng)進一步理解的是,如果所有應(yīng)用都假定是本機應(yīng)用224,則將不需要JAC層212。
[0043]應(yīng)當(dāng)理解的是,本發(fā)明可以結(jié)合如圖1所示的已知的靜態(tài)平臺安全功能100進行實施。更具體地,本發(fā)明通過確保執(zhí)行現(xiàn)有OS系統(tǒng)安全功能(諸如進程隔離)的操作系統(tǒng)的部分在引導(dǎo)過程期間或在運行時間期間不被修改,來并入這種功能。本發(fā)明也通過檢驗遵循正確的安全引導(dǎo)加載器路徑并通過動態(tài)地檢驗OS和引導(dǎo)加載器的完整性來補充現(xiàn)有的安全引導(dǎo)加載器功能(如圖2所示的階段I加載器221和階段2加載器22)。應(yīng)當(dāng)理解的是,這種安全引導(dǎo)加載器僅僅在啟動期間這樣運行。
[0044]根據(jù)本發(fā)明,將代理217嵌入OS內(nèi)核215中。代理217符合Linux安全模塊接口(LSM I/F)。本文中不進一步討論LSM,因為它是已知的構(gòu)架(其可應(yīng)用于Andriod?以及Linux分布),其允許Linux內(nèi)核支持各種計算機安全模型,而不青睞任何單個安全實施。為了使代理217抵抗篡改、修改和反向工程攻擊,代理217通過使用已知的軟件保護技術(shù)來進行自我保護,所述軟件保護技術(shù)諸如但不限于在均頒發(fā)給Chow等人的美國專利號6,594,761,6, 779,114,6,842,862和7,506,177中更詳細描述的那些,其圖示了可以結(jié)合本發(fā)明使用的這種防篡改的示例。
[0045]應(yīng)當(dāng)理解的是,代理217形成OS內(nèi)核215的主要和不可分開的部分,在沒有所述代理217的情況下,設(shè)備OS 213和/或應(yīng)用210a、210b、224將停止正確地運行。代理217的功能的一個示例是監(jiān)測加載到設(shè)備上的OS 213和應(yīng)用210a、210b、224兩者的完整性,并且檢測OS 213或安全引導(dǎo)221、222的任何漏洞。代理217維持并具有對安全數(shù)據(jù)存儲裝置218的獨有的訪問,代理217將與內(nèi)核資源訪問控制、完整性檢驗、應(yīng)用許可和應(yīng)用資源訪問控制的代理的性能相關(guān)的信息保持在所述安全數(shù)據(jù)存儲裝置218內(nèi)。雖然安全存儲裝置218在圖2A中示出為本發(fā)明系統(tǒng)的單獨的部件,但是應(yīng)當(dāng)理解的是,如在圖2B的替換實施例201中看出的,安全存儲裝置218可以存在于硬盤或閃存220內(nèi)。仍進一步地,如在圖2C的進一步替換的實施例中看出的,安全存儲裝置218可以存在為片上系統(tǒng)基本層219內(nèi)的安全存儲器。
[0046]在內(nèi)核資源訪問控制方面,代理被配置為控制對OS內(nèi)核資源和數(shù)據(jù)的應(yīng)用訪問。由代理做出的訪問控制決定基于但不限于如下因素:0S內(nèi)核完整性、應(yīng)用完整性、應(yīng)用上下文以及由任何給定的信任根機構(gòu)授權(quán)的特權(quán)?;贠S內(nèi)核完整性的訪問控制決定確定內(nèi)核是否已經(jīng)以未授權(quán)的方式被修改、被代替、被添加、或者被部分移除。訪問控制決定也將確定是否甚至發(fā)生了安全引導(dǎo)過程。如果OS內(nèi)核已經(jīng)被修改、代替、添加或部分移除,或者不能肯定地檢驗安全引導(dǎo)過程,則該確定將用來使代理或應(yīng)用或安全應(yīng)用(諸如媒體播放器)將在正常操作下的許多假定失效?;趹?yīng)用完整性的訪問控制決定確定應(yīng)用是否正嘗試以任何方式(例如,將惡意軟件插入應(yīng)用或通過其它惡意軟件)訪問已經(jīng)被修改的OS內(nèi)核資源,或者與該應(yīng)用相關(guān)聯(lián)的特權(quán)是否已經(jīng)被修改(例如,以給予它未由認證機構(gòu)授權(quán)的訪問系統(tǒng)資源的特權(quán))。
[0047]基于應(yīng)用上下文的訪問控制決定確定給定應(yīng)用是否以在該應(yīng)用的上下文之外的一些方式運行。由此,代理可以做出上下文敏感的訪問控制決定。例如,如果播放高清視頻的媒體應(yīng)用正在運行,則其它應(yīng)用不應(yīng)當(dāng)能夠訪問幀緩沖器,因為這將使能屏幕抓取攻擊?;谌魏谓o定的信任根機構(gòu)的訪問控制決定確定相對于該機構(gòu)的應(yīng)用權(quán)限。換句話說,本發(fā)明可以支持多應(yīng)用簽名機構(gòu),使得在訪問系統(tǒng)資源方面,相比于對由較少信任機構(gòu)簽名的應(yīng)用或完全沒有認證的應(yīng)用進行授權(quán),代理可以向由較高信任機構(gòu)簽名的應(yīng)用授權(quán)更大程度的寬容度(latitude)。
[0048]在代理的性能的完整性檢驗方面,代理被配置為動態(tài)地監(jiān)測(例如,在軟件正在運行的同時在存儲器中)內(nèi)核、安全引導(dǎo)部件、代理自身和所有受保護應(yīng)用和未保護應(yīng)用的完整性,以確定任何這些項在給定的一個或多個應(yīng)用的執(zhí)行期間是否已經(jīng)在任何時間以任何方式被修改(例如,可以通過使用調(diào)試器來實施的動態(tài)篡改)。[0049]在代理的應(yīng)用資源控制的性能方面,代理被配置為控制對應(yīng)用資源的訪問,所述應(yīng)用資源可以包括例如已經(jīng)由代理加密的應(yīng)用的一部分,或者應(yīng)用執(zhí)行所要求的數(shù)據(jù)文件(例如,游戲資源文件),或者控制應(yīng)用執(zhí)行的數(shù)據(jù)。這種訪問控制決定基于如下因素,所述因素諸如但不限于有效許可數(shù)據(jù)的存在或者設(shè)備或消費者的身份的確認,兩者中的任意一個被設(shè)計為保護應(yīng)用免受盜版危害。
[0050]代理自身可以被軟件中體現(xiàn)并由具有固定接口的不同代碼部分組合所生成。在代碼部分中的這種變型的創(chuàng)建可以根據(jù)已知的方法或者這種方法的組合來實現(xiàn),所述方法包括在均頒發(fā)給Chow等人的美國專利號6,594,761,6, 779,114,6, 842,862和7,506,177中描述的那些或者任何其它合適的已知方法。這種變化被叫做“相異代理”或“更新代理”。相異代理是具有相同的功能F,但結(jié)構(gòu)上和原理上是不同的那些。生成并部署相異代理的目標(biāo)是防止自動攻擊,即,由富有經(jīng)驗的攻擊者開發(fā)的攻擊,其可以是足夠自動化的,使得它由普通消費者簡單地使用,并且其將可被施加至在設(shè)備的某個安裝基點中部署的每個代理。這種相異代理可以跨越設(shè)備的不同例示、不同類型的設(shè)備、不同地理區(qū)域或由不同運營商出售的設(shè)備等等而被部署。
[0051]更新代理是這樣的代理,借此如果帶有功能設(shè)置Fl的代理Al被部署在現(xiàn)場中并以某種方式被危害或受攻擊,則期望固定這種脆弱性。這可以通過生成代理A2來實現(xiàn),所述代理A2并入功能F1,但其也并入設(shè)計為防止對Al的攻擊的新功能。該增量功能F2使得A2的功能現(xiàn)在是Fl + F2。通過將相異性能力應(yīng)用于A2,攻擊者隔離在實施新功能F2的A2中的軟件功能(例如,通過差異分析)是更困難的。更新代理提供用來解決對已經(jīng)部署在現(xiàn)場中的設(shè)備或代理的攻擊的機制。這種更新代理可以由消費者下載,經(jīng)由軟件更新機制推送給設(shè)備,或者由現(xiàn)有代理拉向設(shè)備。在這種更新發(fā)生的情況下,應(yīng)當(dāng)理解的是,它們是通過配置代理軟件以供在識別和分析安全威脅的任何嘗試的或?qū)嶋H成功的攻擊時進行更新來實現(xiàn)的。因此,本發(fā)明可以向代理公告對于“在開發(fā)中”的攻擊的更新,因為黑客將經(jīng)常公布在開發(fā)中但還沒有成功達到攻擊者的目標(biāo)的攻擊的信息。
[0052]關(guān)于圖3,根據(jù)如圖2中的本發(fā)明的通用化棧體系結(jié)構(gòu)示出了動態(tài)平臺安全功能的更詳細的示意圖300。此處,當(dāng)與現(xiàn)有技術(shù)的圖1比較時,可以清楚地看出,本發(fā)明如何值得稱贊并且可以結(jié)合已知的靜態(tài)平臺安全功能而實施。如在前面的圖2A-2C中,基本層包括通常的SOC 329部件,所述SOC 329部件包括CPU 330和ROM 333,BIOS 331存在于所述ROM 333 內(nèi)。
[0053]在圖3所示的操作的方面,存在如所示提供的通常的安全引導(dǎo)加載器序列310。應(yīng)當(dāng)理解的是,本發(fā)明的實施例可以利用現(xiàn)有安全引導(dǎo)技術(shù)。應(yīng)當(dāng)同等理解的是,引導(dǎo)序列可以同等地施加至I階段或其后的許多階段。如圖3所示,系統(tǒng)中通常存在2個引導(dǎo)加載階段334、335。一般來說,當(dāng)在將執(zhí)行控制轉(zhuǎn)移到下一個部件之前,第一部件驗證第二部件時,安全引導(dǎo)部件的自下而上的驗證發(fā)生。借助于虛線示出該引導(dǎo)時間完整性檢驗。此處,第一階段在設(shè)備復(fù)位時發(fā)生,其中,將ROM代碼被硬布線到到設(shè)備復(fù)位地址。ROM (或引導(dǎo)ROM)333在檢驗下一個弓丨導(dǎo)階段是意向的引導(dǎo)階段之后加載下一個弓I導(dǎo)階段334。該檢驗或認證通過計算來自HDD或閃存存儲器328的數(shù)字簽名來執(zhí)行。如果數(shù)字簽名匹配預(yù)計算的值(如在所示的數(shù)字證書332中封裝的),則OS引導(dǎo)加載器335將被加載到主存儲器并被執(zhí)行。如果簽名不匹配在任何階段處的預(yù)計算的值,則執(zhí)行控制將不轉(zhuǎn)移到下一階段且設(shè)備將沒能引導(dǎo)。當(dāng)OS引導(dǎo)加載器335具有執(zhí)行控制時,OS引導(dǎo)加載器執(zhí)行335類似驗證來自HDD或閃存存儲器328的OS映像的操作。再次,如果計算的簽名匹配預(yù)期的預(yù)計算的簽名,它將OS映像加載入存儲器并將控制轉(zhuǎn)移到OS映像卿,在如所示的Android? OS 339中進行操作的Linux內(nèi)核325)。然后,該OS映像將初始化,并且在該過程期間,代理336也將被初始化。雖然代理336被包括在數(shù)字簽名的OS映像中,但應(yīng)當(dāng)理解的是,代理336可以被更新。這是因為簽名被分解為單獨的邏輯模塊,并且每個模塊具有在安全引導(dǎo)過程期間進行檢查的其自身的簽名。所以,任何模塊可以被代替,盡管簽名必須是用數(shù)字簽名私鑰在密碼上有效且可信的。
[0054]在繼續(xù)參考圖3的情況下,將OS內(nèi)核325示出為針對Android? OS 339修改的Linux內(nèi)核。此處,本發(fā)明的該特定實施方式使用Linux安全模塊(“LSM”)。如上文提及的,LSM是允許Linux內(nèi)核支持各種計算機安全模型同時避免青睞任何單個安全實施的構(gòu)架。LSM提供在Linux內(nèi)核325中的每個點處的鉤子函數(shù)(hook),其中用戶級系統(tǒng)調(diào)用將導(dǎo)致對重要內(nèi)部內(nèi)核對象的訪問。LSM可以用來實施寬范圍的安全功能(例如,對訪問病毒檢查的強制訪問控制(MAC))。
[0055]根據(jù)本發(fā)明的代理326也被配置為包括完整性檢驗(或簡稱“IV”)。嵌入代理326中的IV函數(shù)使代理326能夠執(zhí)行靜態(tài)完整性檢驗(例如,對HDD或?qū)﹂W存存儲器)以及動態(tài)完整性檢驗(例如,在隨機訪問存儲器(RAM)中)。IV通過計算用于應(yīng)用或系統(tǒng)部件的散列值,并接著將它與用于散列函數(shù)的已知的好值進行比較來實施。如果計算的值與所存儲的已知的好值相同,則代理假定該部件沒有被攻擊者修改。然而,如果計算的值不同于所存儲的已知的好值,則代理假定部件已經(jīng)被修改,并且不再能夠被信任以執(zhí)行意向執(zhí)行的功能,或者它應(yīng)該不再具有初始分配給它的相同的特權(quán)。
[0056]如圖3所示,代理326在持續(xù)基礎(chǔ)上對多個設(shè)備軟件部件執(zhí)行IV檢查。完成該“完整性監(jiān)測”以檢測任何未授權(quán)的修改(例如,篡改),諸如對支持系統(tǒng)的安全目標(biāo)是關(guān)鍵的部件或子部件的修改、代替、移除或添加。
[0057]根據(jù)本發(fā)明的由代理336經(jīng)由IV監(jiān)測的這種部件包括:R0M BIOS 331 ;HDD或設(shè)備閃存存儲器328 ;階段I引導(dǎo)加載器334 ;階段2引導(dǎo)加載器335 ;Linux內(nèi)核325或Linux內(nèi)核的各部分;系統(tǒng)調(diào)用接口(I/F)338 ;包括安全存儲裝置327的代理336 (在如由圖3的虛線和實線分別指示的引導(dǎo)時間和運行時間兩者期間);本機應(yīng)用320 ;Android? OS 339 ;本機 Android? 應(yīng)用 321 JAC 324 ;Android? (Dalvik)虛擬機 323 ;Android? 應(yīng)用 322 ;以及應(yīng)用和系統(tǒng)供應(yīng)序列(如關(guān)于下面圖4和5進一步描述的)。
[0058]圖3圖示了這種本機應(yīng)用I 320的完整性監(jiān)測(由實線箭頭示出)。此處,代理336連續(xù)地監(jiān)測本機應(yīng)用I 320,使得當(dāng)本機應(yīng)用I 320嘗試通過系統(tǒng)調(diào)用I/F 338訪問系統(tǒng)資源時檢驗完整性。這通過簽名檢驗337來發(fā)生,借此代理336通過將簽名I 340與對應(yīng)于應(yīng)用I資源的已知的好值進行比較來實施IV。特別是,應(yīng)用I資源包括存儲在安全存儲裝置327中的IV信息和應(yīng)用簽名證書。如果簽名I的值與所存儲的應(yīng)用簽名證書(即,已知的好值)相同,則代理336假定本機應(yīng)用I 320還沒有被攻擊者修改,并且它的權(quán)限或特權(quán)341還沒有被修改。然而,如果簽名I的值不同于已知的好值,則代理336假定本機應(yīng)用I320已經(jīng)被修改,并且不再能夠被信任以執(zhí)行意向執(zhí)行的功能。該過程對于所有本機應(yīng)用發(fā)生,所述所有本機應(yīng)用相當(dāng)于本機應(yīng)用η 321而呈現(xiàn)。[0059]將對于圖4進一步解釋圖3所示的進程隔離塊326,其中,存在根據(jù)本發(fā)明的圖示的運行時間引導(dǎo)加載序列400。特別是,可以看出在設(shè)備復(fù)位時安全引導(dǎo)部件的自上而下的驗證(在步驟1、2和3處)。該驗證用來確保加載到設(shè)備上的OS是OEM或運營商意向的OS,并且該OS具有意向的功能。一旦代理在初始化期間獲得執(zhí)行控制(在步驟4處),代理將對其自身連同前面執(zhí)行的安全引導(dǎo)加載器的部件(包括引導(dǎo)ROM映像、OS引導(dǎo)加載器和OS映像)執(zhí)行IV。如果所有這些部件的完整性(從步驟I到4)由代理通過使用與存在于代理安全存儲裝置中的數(shù)據(jù)的比較(在步驟5到8處)來得到確認,則代理假定安裝在設(shè)備上的OS是意向的OS,并且可以由OS執(zhí)行的特定安全功能還沒有被修改。然而,如果代理確定所述部件中的一個或多個不能被認證,則代理可以采取糾正行動。
[0060]由代理采取的一個可能的糾正行動是用意向的引導(dǎo)部件的備份映像來代替引導(dǎo)部件,然后,復(fù)位設(shè)備并再次開始該啟動過程。如果代理檢測到系統(tǒng)在多次嘗試糾正無效的部件之后仍是無效的,則代理可以拒絕所有對關(guān)鍵系統(tǒng)資源或應(yīng)用資源的進一步訪問。應(yīng)當(dāng)容易看出的是,嘗試的次數(shù)是設(shè)計選項的問題,并因此是本發(fā)明的意向范圍內(nèi)的預(yù)先確定的變量。同樣,確定哪些系統(tǒng)資源可以被考慮為是關(guān)鍵可以基于給定的設(shè)備用途而預(yù)先確定。在不偏離本發(fā)明的意向范圍的情況下,其它糾正行動也是可能的。
[0061]應(yīng)當(dāng)理解的是,前面詳細的描述假設(shè)應(yīng)用已經(jīng)存在并因此對于OEM、運營商、基于互聯(lián)網(wǎng)的零售接口供應(yīng)商而言是已知的,并轉(zhuǎn)而對于根據(jù)本發(fā)明的代理而言是已知的。然而,容易看出的是,新應(yīng)用可以由開發(fā)者形成。如此,圖5圖示了在應(yīng)用認證過程500期間施加于由開發(fā)者提交的應(yīng)用(未保護的)處理。根據(jù)本發(fā)明的代理包括資產(chǎn)保護工具514,其是配置為創(chuàng)建并更新加密的應(yīng)用安全存儲裝置512的軟件工具。此處,資產(chǎn)保護工具514存儲信息以保護未保護的應(yīng)用。應(yīng)當(dāng)理解的是,可以將各種防篡改技術(shù)應(yīng)用于所存儲的信息,以便處于靜止(例如,在磁盤上)和在使用中(例如,在存儲器中)保護加密秘密,所述防篡改技術(shù)諸如但不限于安全加載器和IV,以及白盒子密碼技術(shù)的使用。
[0062]進一步對于圖5,在步驟I處提供了未保護的資產(chǎn)515(即,來自開發(fā)者的新應(yīng)用)。在步驟2處,由應(yīng)用開發(fā)者或開放系統(tǒng)創(chuàng)建的是未簽名的增強型權(quán)限容器清單510。這列出了由認證機構(gòu)授權(quán)給應(yīng)用的權(quán)限(A、B、…等等)。此外,將權(quán)限映射到內(nèi)核系統(tǒng)調(diào)用的特定集。在步驟3處,在創(chuàng)建未簽名的清單`510之后,資產(chǎn)保護工具514被配置為生成或使用所提供的信任密鑰511的私有根。信任根可以由資產(chǎn)保護工具自動地且隨機地生成。然后,在步驟4處,資產(chǎn)保護工具514經(jīng)由資產(chǎn)保護工具514對未簽名的應(yīng)用515進行簽名,并且將結(jié)果放置在簽名的增強型權(quán)限容器清單中,所述清單存在于應(yīng)用安全存儲裝置512內(nèi)。此外,在步驟5處,將增強型權(quán)限容器清單的簽名版本存儲在應(yīng)用安全存儲裝置512中,其中放置特定于給定資產(chǎn)的信息(例如,代碼簽名、增強型權(quán)限容器清單、信任密鑰的根)。在步驟6處,所得的結(jié)果是以完整供應(yīng)應(yīng)用的形式的受保護資產(chǎn)513??蛇x地,未保護的新應(yīng)用可以具有包裹在它周圍的安全加載器,以便提供帶有靜態(tài)防篡改的所得受保護資產(chǎn)并且被VI啟用。
[0063]應(yīng)當(dāng)進一步理解的是,不可以為用于上文討論的資產(chǎn)保護工具的任何特定實施例供應(yīng)所有應(yīng)用類型。例如,在與Android? OS具體相關(guān)的本實施例中,可以在實施本發(fā)明的本實施例的系統(tǒng)上供應(yīng)、安裝并隨后運行的應(yīng)用類型的通常列表可以被限制為本機OS應(yīng)用、本機Android?應(yīng)用和Android?應(yīng)用。在不偏離本發(fā)明的意向范圍的情況下,在本文中圖示的特定Android? OS實施方式以外,其它開放OS實施方式當(dāng)然可以是可能的。
[0064]在被放置到設(shè)備上的給定應(yīng)用的安裝和運行時間期間,圖5的供應(yīng)序列中創(chuàng)建的權(quán)限信息進一步由代理使用。此外,當(dāng)供應(yīng)選自可得應(yīng)用類型的給定應(yīng)用代碼時,在應(yīng)用安全存儲裝置中的所得的簽名的增強型權(quán)限容器清單由此包含應(yīng)用代碼在運行時間期間需要的所有權(quán)限。增強型權(quán)限容器清單指定應(yīng)用代碼簽名和容器自身的簽名,以便防止在應(yīng)用代碼已經(jīng)被簽名之后對容器或應(yīng)用的篡改。
[0065]關(guān)于圖6,圖示了應(yīng)用權(quán)限的初始安裝600。此處,在應(yīng)用安全存儲裝置610內(nèi)找到示出的簽名的增強型權(quán)限容器清單611,其在圖5的供應(yīng)時間期間被創(chuàng)建。如前面提及的,增強型權(quán)限容器清單611由資產(chǎn)保護工具加密。由此,這方便了增強型權(quán)限容器清單611從應(yīng)用安全存儲裝置610到代理安全存儲裝置612的轉(zhuǎn)移。應(yīng)用安全存儲裝置610和代理安全存儲裝置612都包括如圖3中一般示出的安全存儲裝置。
[0066]在增強型權(quán)限容器清單611內(nèi),存在權(quán)限列表(即,權(quán)限A、權(quán)限B、…等等)。權(quán)限列表確定什么OS內(nèi)核資源可以由給定應(yīng)用代碼訪問,所述給定應(yīng)用代碼形成被安裝且運行的應(yīng)用。應(yīng)用代碼簽名由代理613使用以IV應(yīng)用,從而確保它在它發(fā)出用于特定內(nèi)核權(quán)限的OS請求(諸如“安裝”請求)的時候沒有被修改。容器簽名是用于容器自身的參考值,并且由代理613使用以確保容器的內(nèi) 容還沒有改變。一旦OS和應(yīng)用的完整性已經(jīng)被檢驗,所安裝應(yīng)用的增強型權(quán)限容器清單將被存儲在代理安全存儲裝置612中,以用于該應(yīng)用的其它權(quán)限請求的未來參考。
[0067]進一步關(guān)于圖6,安裝序列包括在步驟I處首先發(fā)送請求到OS內(nèi)核614,以便依照來自應(yīng)用代碼615的安裝程序指令安裝應(yīng)用。隨后,在步驟2處,OS內(nèi)核614將請求傳遞給代理613。在步驟3處,代理613驗證(經(jīng)由如上文已經(jīng)描述的IV) OS內(nèi)核614。如之前上文注意的,應(yīng)當(dāng)理解的是,代理613也以持續(xù)方式(即作為后臺進程)驗證OS內(nèi)核614。在步驟4處,代理613訪問應(yīng)用安全存儲裝置610以從中檢索簽名的增強型權(quán)限容器清單611。代理613在步驟5處通過使用簽名的增強型權(quán)限容器清單的IV來驗證應(yīng)用的簽名的增強型權(quán)限容器清單。代理613在步驟6處將驗證后的應(yīng)用的增強型權(quán)限容器清單存儲入代理安全存儲裝置612,以用于未來的參考?;诓襟E5的驗證操作,在步驟7處,代理613允許或拒絕到OS內(nèi)核614的安裝。OS內(nèi)核614又在步驟8處將權(quán)限(允許或拒絕)傳遞到安裝程序指令以最終允許或拒絕應(yīng)用代碼615的安裝,所述應(yīng)用程序指令正在安裝待安裝的應(yīng)用。
[0068]如上文提及的,當(dāng)要求內(nèi)核操作時,代理以持續(xù)的方式驗證OS內(nèi)核。按照連續(xù)運行時間系統(tǒng)完整性在圖7中示出內(nèi)核訪問控制700。此處,示出了每當(dāng)任何應(yīng)用發(fā)出用于內(nèi)核服務(wù)的OS請求時怎樣維持整個系統(tǒng)完整性的序列。在圖7中,示出了發(fā)出用于OS服務(wù)或資源711的請求的安裝并運行的應(yīng)用(即,用戶應(yīng)用)710。該請求被傳遞到OS內(nèi)核712,并且所述請求轉(zhuǎn)而經(jīng)由LSM功能被傳遞給代理713,所述代理713最終允許或拒絕該請求。根據(jù)本發(fā)明,由代理713使用的用來允許或拒絕應(yīng)用請求的標(biāo)準(zhǔn)可以包括:系統(tǒng)/應(yīng)用完整性、應(yīng)用權(quán)限、應(yīng)用行為、對于可能正在運行的其它應(yīng)用的安全上下文、以及遠程命令(元件216,之前關(guān)于圖2A示出的)。
[0069]與系統(tǒng)/應(yīng)用完整性相關(guān)的代理決定標(biāo)準(zhǔn)包括對于系統(tǒng)或應(yīng)用部件兩者中的任意一個而言,是否已經(jīng)檢測到篡改。[0070]與應(yīng)用權(quán)限相關(guān)的代理決定標(biāo)準(zhǔn)包括應(yīng)用是否具有必要的權(quán)限以發(fā)出這種請求。在Android? OS中,在與應(yīng)用相關(guān)聯(lián)的清單文件中申明這種權(quán)限。應(yīng)用開發(fā)者必須申明這些權(quán)限,并由消費者決定授權(quán)或不授權(quán)這些權(quán)限,這可能是有問題的,因為消費者通常沒有意識到他們的行動的安全含義。
[0071]與應(yīng)用的行為相關(guān)的代理決定標(biāo)準(zhǔn)忽視應(yīng)用是否可能具有訪問特定內(nèi)核服務(wù)的權(quán)限,反而依賴應(yīng)用的行為。例如,每15秒請求消費者GPS坐標(biāo)并接著嘗試經(jīng)由諸如SMS的一些消息協(xié)議將這種坐標(biāo)發(fā)送到第三方的應(yīng)用可能潛在地是“間諜軟件”。這種行為因此可能導(dǎo)致請求拒絕,即使該應(yīng)用可能具有與涉及GPS坐標(biāo)的內(nèi)核服務(wù)相關(guān)聯(lián)的權(quán)限(即,如果應(yīng)用具有同意給予位置數(shù)據(jù)的權(quán)利,而不具有同意給予SMS數(shù)據(jù)的權(quán)利,則代理將阻塞訪問)。
[0072]與可能正在運行的任何其它應(yīng)用的安全上下文相關(guān)的代理決定標(biāo)準(zhǔn)也忽視應(yīng)用是否可能具有訪問特定內(nèi)核服務(wù)的權(quán)限,反而注意當(dāng)另一個受信任的應(yīng)用正在運行時允許請求是否可能負面地影響這些受信任的應(yīng)用中的一個或多個。換句話說,代理適當(dāng)?shù)貜娭茍?zhí)行在運行時間處的權(quán)限。例如,請求應(yīng)用可能在受信任的實施數(shù)字權(quán)利管理的高清視頻播放器應(yīng)用已經(jīng)解密視頻之后試圖訪問特定存儲器或驅(qū)動器以捕獲高清視頻,從而通過請求應(yīng)用懷疑高清視頻數(shù)據(jù)用途的適當(dāng)性(即,代理可能阻塞對屏幕緩沖器存儲器的訪問,雖然允許視頻自身的播放)。
[0073]與遠程命令相關(guān)的代理決定標(biāo)準(zhǔn)涉及向代理提供支持來自遠程實體(例如,服務(wù)供應(yīng)商)的命令的能力,所述命令可以覆寫應(yīng)用權(quán)限或特權(quán)。例如,移動運營商可能希望禁用已經(jīng)被盜的移動設(shè)備。在這種情況下,代理也將為在遠程命令上提供系統(tǒng)訪問的決定提供基礎(chǔ),所述遠程命令將防止設(shè)備被設(shè)備的未授權(quán)用戶使用。例如,在一個或多個應(yīng)用正在引起網(wǎng)絡(luò)可靠性或穩(wěn)定性的問題(例如,通過生成不能由網(wǎng)絡(luò)支撐的高容量的通信量或連接)的情況下,網(wǎng)絡(luò)運營商可能希望禁用或限制這種應(yīng)用對網(wǎng)絡(luò)服務(wù)或其它內(nèi)核資源的訪問。在這種情況下,代理可以覆寫該應(yīng)用具有的特權(quán),或者完全防止該應(yīng)用執(zhí)行。
[0074]此外,來自遠程命令控制器的這種命令可以用來限制權(quán)限(例如,降低特權(quán),改變特權(quán),或撤銷特權(quán))。此外,來自遠程命令控制器的這種命令可以用來從設(shè)備移除應(yīng)用,包括:如果當(dāng)前正在執(zhí)行,則終止應(yīng)用、從存儲器移除應(yīng)用、或完全卸載應(yīng)用??傊?,重要的是,注意到本發(fā)明不僅可以用來“殺死”應(yīng)用,也可以用來在與給定的應(yīng)用相關(guān)聯(lián)的特權(quán)中隱含的訪問以外而限制對系統(tǒng)資源的訪問,例如,即使應(yīng)用具有發(fā)送SMS消息的特權(quán),這在特權(quán)中沒有進行量化,使得當(dāng)該應(yīng)用一小時發(fā)送例如10000SMS消息時,代理可以基于存儲在代理安全存儲裝置中的一些“正常行為”模板或基于遠程命令“使其減速”。仍進一步地,代理可以用來將異常行為報告回遠程實體,使得例如移動運營商或指定的第三方可以做出關(guān)于做什么的決定(例如,應(yīng)用在一定時間周期上已經(jīng)發(fā)出X個對于系統(tǒng)資源的請求)。
[0075]通過使用前述用于持續(xù)運行時間系統(tǒng)完整性的標(biāo)準(zhǔn),圖7所示的內(nèi)核訪問控制700包括在步驟I處的用戶應(yīng)用710的初始OS請求。轉(zhuǎn)而,應(yīng)用在步驟2處創(chuàng)建軟件中斷或以其它方式創(chuàng)建用于OS的事件。在OS內(nèi)核712中,LSM在步驟3處接收請求711 (BP,中斷/事件)并將請求711傳遞到代理713。在步驟4處,代理713完整性通過使用上述標(biāo)準(zhǔn)來檢驗應(yīng)用710和權(quán)限。在步驟5處,代理713驗證用戶請求存儲器棧。此后在步驟6處,代理713完整性檢驗在存儲器中的OS內(nèi)核映像。如前面提及的,IV檢查由代理713在持續(xù)基礎(chǔ)上運行。該檢查檢驗IV過程仍在運行,并且還沒有檢測到任何篡改的證據(jù)?;谙到y(tǒng)驗證過程(步驟4、5和6),代理713因此允許或拒絕請求,并且在步驟7處,將該請求的允許或拒絕傳遞給OS內(nèi)核712。轉(zhuǎn)而在步驟8處,OS內(nèi)核712傳遞該請求的允許或拒絕。這時在步驟9處,應(yīng)用事件將帶有允許或拒絕請求的決定的控制返回到應(yīng)用710。
[0076]如在圖7的連續(xù)運行時間系統(tǒng)完整性中,應(yīng)當(dāng)理解的是,應(yīng)用也必須以持續(xù)方式進行驗證。因此,在圖8中示出了應(yīng)用請求的運行時間驗證。一般地,應(yīng)用必須不以任何方式被篡改,或者此處的驗證將失敗。圖8中的棧圖解圖示了本發(fā)明怎樣在維持系統(tǒng)完整性的同時有效地提供了應(yīng)用完整性監(jiān)測。此處,示出了用于代理812、0S內(nèi)核811和應(yīng)用810的地址空間。因為代理被嵌入OS內(nèi)核中,所以應(yīng)當(dāng)理解的是,因此將代理地址空間812與OS內(nèi)核地址空間811共享。在調(diào)用棧中的返回地址是進入包含在代理中的完整性檢驗信息的數(shù)據(jù)點。應(yīng)用的運行時間驗證(在步驟I處)的開始涉及代理走過用于OS服務(wù)的請求棧,同時驗證所有返回地址(在步驟2到4處),并且通過利用如下文描述的調(diào)用棧簽名來執(zhí)行對地址范圍的完整性檢驗。當(dāng)應(yīng)用發(fā)出用于任何OS內(nèi)核服務(wù)的請求時,OS內(nèi)核將該內(nèi)核服務(wù)的請求傳遞給代理。該OS內(nèi)核是啟用LSM的,使得需要代理來允許或拒絕請求。
[0077]根據(jù)本發(fā)明,運行時間棧簽名計算通過使用在棧上的每個返回地址到棧的頂部之間的距離(以字節(jié)為單位)來實現(xiàn)。表A表示用于代理812、0S內(nèi)核811和應(yīng)用810的示例性調(diào)用棧。
【權(quán)利要求】
1.一種用于改善設(shè)備安全的系統(tǒng),所述系統(tǒng)包括: 抽象層,可在設(shè)備硬件和應(yīng)用軟件之間操作; 安全軟件代理,嵌入在所述抽象層內(nèi);以及 安全存儲裝置,用于存儲對所述應(yīng)用軟件唯一的安全信息,以供由所述安全軟件代理連續(xù)運行時間使用以保證所述系統(tǒng)的持續(xù)完整性。
2.如權(quán)利要求1所述的系統(tǒng),其中所述抽象層是開放操作系統(tǒng)。
3.如權(quán)利要求2所述的系統(tǒng),其中所述開放系統(tǒng)包括Linux內(nèi)核。
4.如權(quán)利要求3所述的系統(tǒng),其中所述安全軟件代理符合Linux安全模塊。
5.如權(quán)利要求3所述的系統(tǒng),其中所述安全軟件代理包括配置為基于對所述應(yīng)用軟件唯一的所述安全信息確定所述應(yīng)用軟件內(nèi)惡意軟件的存在或者所述應(yīng)用軟件的修改的軟件。
6.如權(quán)利要求3所述的系統(tǒng),其中所述安全軟件代理包括配置為基于對所述應(yīng)用軟件唯一的所述安全信息識別所述應(yīng)用軟件的未授權(quán)使用的軟件。
7.如權(quán)利要求3所述的系統(tǒng),其中所述安全軟件代理包括配置為基于對所述應(yīng)用軟件唯一的所述安全信息提供所述應(yīng)用軟件的平臺訪問控制的軟件。
8.如權(quán)利要求3所 述的系統(tǒng),其中所述應(yīng)用軟件是媒體應(yīng)用,并且安全軟件代理包括配置為基于對所述應(yīng)用軟件唯一的所述安全信息提供所述應(yīng)用軟件的安全媒體播放的軟件。
9.如權(quán)利要求3所述的系統(tǒng),其中所述安全軟件代理包括可配置用于在識別和分析以前未知的安全威脅時進行更新的軟件。
10.如權(quán)利要求3所述的系統(tǒng),其中所述安全軟件代理包括可配置用于在識別和分析受安全威脅的實際成功攻擊或開發(fā)中的攻擊時進行更新的軟件。
11.如權(quán)利要求3所述的系統(tǒng),其中所述應(yīng)用軟件是媒體應(yīng)用,并且安全軟件代理包括配置為控制對所述Linux內(nèi)核資源的上下文敏感訪問的軟件。
12.如權(quán)利要求11所述的系統(tǒng),其中所述上下文敏感訪問的所述控制覆寫所述應(yīng)用軟件的已知特權(quán)。
13.如權(quán)利要求12所述的系統(tǒng),其中所述應(yīng)用軟件的一個實例是媒體播放器,并且所述控制阻止所述應(yīng)用軟件的所有其它實例訪問由所述媒體播放器使用的媒體渲染路徑,所述媒體渲染路徑包括幀緩沖器。
14.如權(quán)利要求12所述的系統(tǒng),其中所述控制在指示所述Linux內(nèi)核正在被危害時阻止由所述應(yīng)用軟件對所述Linux內(nèi)核的資源的訪問。
15.如權(quán)利要求12所述的系統(tǒng),其中所述控制在指示所述應(yīng)用軟件正在自動向未授權(quán)的遠程服務(wù)器提供所述消費電子設(shè)備的位置數(shù)據(jù)時阻止由所述應(yīng)用軟件對所述Linux內(nèi)核的資源的訪問。
16.如權(quán)利要求3所述的系統(tǒng),其中所述安全軟件代理包括配置為以持續(xù)方式檢驗所述Linux內(nèi)核還沒有遭受修改的軟件。
17.如權(quán)利要求16所述的系統(tǒng),其中所述安全軟件代理進一步包括配置為以持續(xù)方式并在引導(dǎo)所述Linux內(nèi)核之后檢驗安全引導(dǎo)過程被實施的軟件。
18.如權(quán)利要求3所述的系統(tǒng),其中所述安全軟件代理包括配置為執(zhí)行運行時間調(diào)用棧簽名驗證序列的軟件。
19.如權(quán)利要求18所述的系統(tǒng),其中所述運行時間調(diào)用棧簽名驗證序列包括: 檢查調(diào)用棧以確定識別來自地址空間的調(diào)用代碼位置的返回地址, 基于所述調(diào)用代碼位置,檢驗對應(yīng)于所述返回地址的調(diào)用程序的合法性,以及 重復(fù)來自應(yīng)用地址空間的所述檢查和檢驗。
20.如權(quán)利要求3所述的系統(tǒng),其中所述安全軟件代理包括用來支持來自遠程實體的命令的能力,以便覆寫授權(quán)給所述應(yīng)用軟件的預(yù)先確定的權(quán)限。
21.如權(quán)利要求20所述的系統(tǒng),其中所述命令包括在指示以未授權(quán)的方式使用所述設(shè)備時禁用運行所述應(yīng)用軟件的設(shè)備。
22.如權(quán)利要求20所述的系統(tǒng),其中所述命令包括在指示所述應(yīng)用軟件正在引起設(shè)備正在其上操作的網(wǎng)絡(luò)的功能的問題時限制在所述設(shè)備上運行的所述應(yīng)用軟件的操作。
23.如權(quán)利要求20所述的系統(tǒng),其中所述命令包括限制授權(quán)給所述應(yīng)用軟件的所述預(yù)先確定的權(quán)限。
24.如權(quán)利要求20所述的系統(tǒng),其中所述命令包括從所述設(shè)備移除所述應(yīng)用軟件。
25.如權(quán)利要求20所述的系統(tǒng),其中所述命令包括終止所述應(yīng)用軟件的操作。
26.如權(quán)利要求20所述的系統(tǒng),其中所述命令包括從所述設(shè)備的存儲器移除所述應(yīng)用軟件。
27.如權(quán)利要求20所述的系統(tǒng),其中所述安全軟件代理被配置為將異常行為報告回所述遠程實體。
28.一種改善設(shè)備安全的方法,其中所述設(shè)備包括可在設(shè)備硬件與應(yīng)用軟件之間操作的抽象層,所述方法包括: 將安全軟件代理嵌入在所述抽象層內(nèi);以及 提供用于存儲對所述應(yīng)用軟件唯一的安全信息的安全存儲裝置,以供由所述安全軟件代理連續(xù)運行時間使用以保證所述設(shè)備的持續(xù)操作完整性。
29.如權(quán)利要求28所述的方法,其中所述抽象層是開放操作系統(tǒng)。
30.如權(quán)利要求29所述的方法,其中所述開放操作系統(tǒng)包括Linux內(nèi)核。
31.如權(quán)利要求30所述的方法,其中所述安全軟件代理符合Linux安全模塊。
32.如權(quán)利要求31所述的方法,其中所述方法進一步包括基于對所述應(yīng)用軟件唯一的所述安全信息確定在所述應(yīng)用軟件內(nèi)的惡意軟件的存在。
33.如權(quán)利要求31所述的方法,其中所述方法進一步包括基于對所述應(yīng)用軟件唯一的所述安全信息識別所述應(yīng)用軟件的未授權(quán)的使用。
34.如權(quán)利要求31所述的方法,其中所述方法進一步包括基于對所述應(yīng)用軟件唯一的所述安全信息提供所述應(yīng)用軟件的平臺訪問控制。
35.如權(quán)利要求31所述的 方法,其中所述應(yīng)用軟件是媒體應(yīng)用,并且其中所述方法進一步包括基于對所述應(yīng)用軟件唯一的所述安全信息提供所述應(yīng)用軟件的安全媒體播放。
36.如權(quán)利要求31所述的方法,其中所述方法進一步包括在指示以前未知安全威脅時更新所述安全軟件代理。
37.如權(quán)利要求31所述的方法,其中所述方法進一步包括在指示受安全威脅的實際成功的攻擊時更新所述安全軟件代理。
38.如權(quán)利要求31所述的方法,其中所述應(yīng)用軟件是媒體應(yīng)用,并且其中所述方法進一步包括限制或控制對所述Linux內(nèi)核的資源的訪問,其中這種訪問導(dǎo)致所述媒體應(yīng)用或由這種媒體應(yīng)用播放的媒體的未授權(quán)的使用。
39.如權(quán)利要求38所述的方法,其中所述方法進一步包括覆寫所述應(yīng)用軟件的已知的特權(quán)。
40.如權(quán)利要求38所述的方法,其中所述應(yīng)用軟件的一個實例是媒體播放器,并且其中所述方法進一步包括阻止所述應(yīng)用軟件的所有其它實例訪問由所述媒體播放器使用的媒體渲染路徑,所述媒體渲染路徑包括幀緩沖器。
41.如權(quán)利要求38所述的方法,其中所述方法在指示所述Linux內(nèi)核正在被危害時阻止由所述應(yīng)用軟件對所述Linux內(nèi)核的資源的訪問。
42.如權(quán)利要求38所述的方法,其中所述方法在指示所述應(yīng)用軟件正在自動向未授權(quán)的遠程服務(wù)器提供所述消費電子設(shè)備的隱私相關(guān)數(shù)據(jù)時阻止由所述應(yīng)用軟件對所述Linux內(nèi)核的資源的訪問。
43.如權(quán)利要求42所述的方法,其中所述隱私相關(guān)數(shù)據(jù)包括選自由指示設(shè)備用戶位置的位置數(shù)據(jù)、設(shè)備用戶通話歷史、設(shè)備用戶電郵數(shù)據(jù)、設(shè)備用戶相片數(shù)據(jù)、設(shè)備用戶通訊錄數(shù)據(jù)和設(shè)備用戶個人數(shù)據(jù)組成的組的特定于用戶的數(shù)據(jù)。
44.如權(quán)利要求30所述的方法,其中所述方法進一步以持續(xù)方式檢驗所述Linux內(nèi)核還沒有遭受修改。
45.如權(quán)利要求44所述的方法,其中所述方法進一步以持續(xù)方式并在引導(dǎo)所述Linux內(nèi)核之后檢驗安全引導(dǎo)過程被實施。
46.如權(quán)利要求31所述的方法,其中所述安全軟件代理包括用來支持來自遠程實體的命令的能力,以便覆寫授權(quán)給所述應(yīng)用軟件的預(yù)先確定的權(quán)限。
47.如權(quán)利要求46所述的方法,其中所述命令包括在指示以未授權(quán)的方式使用所述設(shè)備時禁用運行所述應(yīng)用軟件的設(shè)備。
48.如權(quán)利要求46所述的方法,其中所述命令包括在指示所述應(yīng)用軟件正在引起設(shè)備正在其上操作的網(wǎng)絡(luò)的功能的問題時限制在所述設(shè)備上運行的所述應(yīng)用軟件的操作。
49.如權(quán)利要求46所述的方法,其中所述命令包括限制授權(quán)給所述應(yīng)用軟件的所述預(yù)先確定的權(quán)限。
50.如權(quán)利要求46所述的方法,其中所述命令包括從所述設(shè)備移除所述應(yīng)用軟件。
51.如權(quán)利要求46所述的方法,其中所述命令包括終止所述應(yīng)用軟件的操作。
52.如權(quán)利要求46所述的方法,其中所述命令包括從所述設(shè)備的存儲器移除所述應(yīng)用軟件。
53.如權(quán)利要求46所述的方法,其中所述安全軟件代理被配置為將異常行為報告回所述遠程實體。
【文檔編號】G06F21/57GK103827881SQ201180070771
【公開日】2014年5月28日 申請日期:2011年3月9日 優(yōu)先權(quán)日:2011年3月9日
【發(fā)明者】P.利特瓦, D.瓊斯, R.范德吉斯特 申請人:耶德托公司