TWI356298B - Projection of trustworthiness from a trusted envir - Google Patents

Projection of trustworthiness from a trusted envir Download PDF

Info

Publication number
TWI356298B
TWI356298B TW093121629A TW93121629A TWI356298B TW I356298 B TWI356298 B TW I356298B TW 093121629 A TW093121629 A TW 093121629A TW 93121629 A TW93121629 A TW 93121629A TW I356298 B TWI356298 B TW I356298B
Authority
TW
Taiwan
Prior art keywords
environment
monitoring agent
application
untrusted
monitoring
Prior art date
Application number
TW093121629A
Other languages
English (en)
Other versions
TW200519583A (en
Inventor
Bryan Mark Willman
Paul England
Kenneth D Ray
Keith Kaplan
Varugis Kurien
Michael David Marr
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of TW200519583A publication Critical patent/TW200519583A/zh
Application granted granted Critical
Publication of TWI356298B publication Critical patent/TWI356298B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • 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/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • 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
    • 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/46Multiprogramming arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Storage Device Security (AREA)
  • Medicines Containing Material From Animals Or Micro-Organisms (AREA)
  • Debugging And Monitoring (AREA)
  • Preparation Of Compounds By Using Micro-Organisms (AREA)
  • Chemical And Physical Treatments For Wood And The Like (AREA)
  • Breeding Of Plants And Reproduction By Means Of Culturing (AREA)
  • Agricultural Chemicals And Associated Chemicals (AREA)
  • Hardware Redundancy (AREA)
  • Alarm Systems (AREA)

Description

1356298 【發明所屬之技術領域】 本發明係有關於一種電腦安全性之領域。尤 發明係有關於在單一計算裝置上使用複數執行? 業系統),並提供支援此作業系統或環境之可信 術。 【先前技術】 第一代的電腦一次僅可執行單一程式。然而, 預期電腦一次可執行軟體中幾個不同部分。舉例 般多工作業系統可在單一機器上一次執行幾個應 有鑑於此及一共用開放網路(即網際網路)之改革 與私密性已經變成面對該電腦工業的兩個重要且 題。當該個人電腦成長變成家庭、工作、與學校的 類似的消費者與商業顧客漸漸重視私密性與安全 改良軟體與硬體的能力以保護數位資訊的整合性 用者的私密性已經變成軟體研發人員與硬體製造 焦點。華盛頓州Redmond的Microsoft公司已經 安全性與私密性於一作業系統中之下一代安全 (NGSCB)個人電腦平台。 在一電腦110中之傳統NGSCB中,如第2圖 一「右手側」(RHS)安全性系統與一傳統「左手令 系統與中央處理單元(CPU)結合運作。該RHS設 惡毒的軟體,並保留該作業系統的開放性。藉由 其是,本 I境(如作 賴度之技 在現代, 來說,一 用程式。 ,安全性 困難的問 核心時, 性問題。 與電腦使 商的重要 引入提供 計算基礎 中所示, I'J j (LHS) 計以保護 NGSCB, 13.56298 應用程式執行於高度抵抗軟體干預與干擾的保護記憶體空 間中。一般來說,該電腦11 〇中有一個晶片組是L H S與 RHS所使用的。該LHS與RHS為該電腦11〇之一邏輯, 但非實體強制,切割或分割。 該LHS包含傳統應用程式205、210,例如Microsoft® Word®及Microsoft® Excel® ’以及一傳統作業系統201,例 如 Microsoft® Windows®作業系統。雖然顯示兩個應用程 式,一般可實施任何數量。 該RHS包含已受信賴代理者255、260,以及一「核 心(nexus)」251。一核心係一「高度保證」作業系統,為 其行為提供一特定程度的保證,且可包含所有核心模式程 式碼於該RHS上。舉例來說,一核心可藉由提供保證不洩 漏資訊至該核心外的世界之一包覆記憶體,以及僅允許特 定驗證的應用程式執行於該核心下並存取該包覆記憶體, 應用於與不應洩漏的秘密資訊(如加密金鑰等等)加以運 作。該核心251不應以任何會允許事件發生於該主作業系 統20 1上以妥協該核心25 1行為之方式與該主作業系統 201互動。該核心251可允許所有應用程式執行,或一機 器擁有者可配置該核心251允許僅特定代理者執行之一機 器策略。換句話說,該核心251會執行該機器擁有者告訴 其執行之任何代理者。該機器擁有者亦可告訴該核心什麼 不要執行。 該核心251隔離已受信賴代理者255、260,管理來自 與至已受信賴代理者255、260之通訊,並加密密封已儲存 6 1356298
資料(如已儲存於一硬碟裝置中)。尤其是,該核心251執 行於已受信賴空間中之核心模式中,並提供基本服務至已 受信賴代理者255、260’例如用以通訊已受信賴代理者與 其他應用程式之程序機制之建立,及特殊信賴服務,例如 一硬體/軟體平台或執行環境之證明與密封與解密封秘 密。證明係一段程式碼數位簽名或見證一份資料,並進一 步確保該資料由一難忘加密識別軟體堆疊所建構之收據之 能力。 一已受信賴代理者係一程式、一程式之一部份、或執 行於已受信賴空間中之使用者模式中之一服務。一已受信 賴代理者255、260為安全性相關服務與一般重要服務呼叫 該核心2 5 1,例如記憶體管理。一已受信賴代理者可利用 密封儲存儲存秘密’並利用該核心之證明服務加以授權本 身。各已受信賴代理者或實體控制其自己的信賴網域,且 其不需要互相依賴。 該RHS進一步包含一安全支援組件(SSC)253,使用一 公用鑰基礎建設(PKI)金鑰對以及加密功能,以提供一安全 狀·態。 NGSCB提供特性,例如「證明」、「密封儲存」、及「強 莊程序隔離」。證明讓其他電腦了解一電腦真正是其宣示之 電腦’且執行其宣示執行之軟體。由於NGSCB軟體與硬 趙對該使用者與其他電腦、程式、與服務以可驗證方式加 密,在結合或共享資訊之前,該系統可驗證其他電腦與程 式可信賴。因此,證明允許該使用者揭示該作業環境之已 7 選擇特徵至外加 主外部要求者。 已密封儲存允許該使用者加 可信賴應用栽貧訊,使得其僅可由_ •式存取。此可僅句表# 應用程式,或i 4* 於剛開始建立該資訊4 -兄由擁有該資料之應用> i 用程式。因 ‘’程式已受信賴之任何肩 已密封儲存允許—锃十辟六包, 賴程式取出之秘穷V( 程式儲存無法由未受有 I ,例如一病毒或特 強肛洛伊木馬。 強壯程序隔離藉由開闢一安全 受信賴空間。袖, ° (Sy*RHS)提供一已 貝工間。執行於該-RHS上 離,其讓它們更之知作由該LHS保護與隔 11更文全免於被攻擊。 NGSCB亦提供安全輸入與輪出 在其可由軟體讀取前加密,且—错由刪CB,鍵擊 此意指惡意軟體無法用於記•、-密封=該RHS時解密。 輸入很類似。出現於螢幕 s修改鍵擊、安全 赏參上之資訊可呈 得沒有其他人可轉嗶及$ & 現〜該使用者,使 J将#及續取它。總今 . 使用者了解該軟體在,这些事允許一 度。 /、電腦中做其應該做的事的高度可信 除了該RHS可用的實 ._ ±丄找 買《。賴資'原之外,該LHS仍未 受k賴。本發明將滿用H 1 盆“… 信賴度計算系統在這方面及 其他方面的不足。 【發明内容】 本發明提供一種機制’ 於杈射"'已受信賴環境之實 體之可信賴度至一未受信賴環境中之實體。 描述之系統與方法裎板 x 去棱供一未受信賴環境與一已受信賴 8 13.56298 環境。一基 本監控代理 根據一 關,且該監 相關應用程 件/行為以可 境之可信賴 可、禁止或 賴環境事件 告一嘗試移 控代理者之 該os)或一 信賴應用程 對於另 自一安全輸 可拒絕允許 環境。如另 受信賴環境 包加以描述 對又一 以為位於該 密。該監控 秘密,除非 有者之摘要 本監控代理者執行於該已受信賴環境中。該基 者監控該未受信賴環境。 · 具體實施例’該監控代理者與一應用程式相 控代理者為可指出-攻擊之事件或行為監控其 式。該螢幕代理者之已受信賴本性允許這些事 •靠的方式偵測與報告,藉此投射該已受信賴環 度至該未受信賴環境。該基本監控代理者可許 修改報告给或由該監控代理者發現之—未受信 。報告以涵蓋情況,舉例來說,例如該硬體報 動該GDT(通用描述符表)至執行報告至基本監 核心。舉例來說,發現是該基本監控代理者(2 監控代理者(為某些應用程式)藉由掃描該未受 式之e己憶體發現一問題之情況。 一具體實施例來說,該基本監控代理者回應至 入接收之輸入。舉例來說,該基本監控代理者 沒有經由一安全輸入接收許可而變更未受信賴 一範例,該基本監控代理者可拒絕允許對該未 之變更’除非該變更係由一許可方簽署之一封 0 具體實施例來說,該監控代理者使用密封儲存 未受信賴環境之一作業系統或—應用程式保 代理者可拒絕揭示該作業系統或該應用程式之 該作業系統或該應用程式具有符合該秘密之擁 。或者,㈣控代理者可拒絕揭示該作業系統 9 1356298 或該應用程式之秘密,除非該作業系統或該應用程式係於 可讀取該秘密之一摘要清單中。 根據其他特性,該監控代理者使用一測試,以決定是 否一合法實體要求該秘密。一此測試包含檢查該實體之堆 疊,並確保該堆疊具有合法堆疊内容。此外,該監控代理 者可编輯該未受信賴環境之一狀態,以使其安全或可接 受。該狀態可包含一初始配置或一錯誤報告選項。 下文將藉由參照下列附圖說明之具體實施例,清楚呈 現本發明之額外特性與優點。 【實施方式】 簡介 在具有執行於一未受信賴環境中之實體與執行於一已 受信賴環境t之實體之單一機器中,本發明提供一機制用 以投射該已受信賴環境中之實體之可信賴度至該未受信賴 環境中之實體。本發明導向當一第一執行環境(如一作業系 統)代管一第二執行環境時使用之機制。本發明應用之情況 例如 Microsoft®的下一代安全計算基礎(NGSCB),其中一 正規作業系統(如該 Windows®作業系統)代管一安全作業 系統(如該核心)。描述各種不同機制允許該第二環境投射 其可信賴度至該第一環境。 範例計算環境 第1圖舉例說明本發明之態樣可實施之一適用計算系 統環境1 00之一範例。該計算系統環境1 00僅一適用計算 10 1356298 環境之 功能之 境100 性或需 本 境或配 或配置 式或膝 器、行 電腦、 環境等 本 用内容 特殊工 組件、 訊網路 分散式 其他資 存媒體 藉 一電腦 可包含 合包含 120之 一範例,且並不用於建議任何限制至本發明使用或 範圍。該計算環境100不應解釋為具有範例作業環 中舉例說明之任一組件或组件组合相關之任何依附 求。 發明操作許多其他通用目的或特殊目的計算系統環 置。可適用於本發明之已知計算系統、環境、及/ 之範例包含但不限於個人電腦 '伺服器電腦、手持 上型裝置、多處理器系統、微處理器型系統、轉頻 動電話、可程式化消費型電子元件、網路PC、迷你 主機電腦、包含任何上述系統或裝置之分散式計算 發明可描述於由一電腦執行之電腦可執行指令之通 中,例如程式模組。一般來說,程式模組包含執行 作或實施特殊抽象資料類型之常式、程式、物件、 資料結構等等。本發明亦可實行於工作由透過一通 或其他資料傳輸媒體連結之遠端處理裝置執行之一 計算環境中。在一分散式計算環境中,程式模組與 料可位於包含記憶體儲存裝置之區域與遠端電腦儲 中 〇 由參照第1圖,用以實施本發明之一範例系統包含 110形式之一通用目的計算裝置。電腦110之組件 但不限於一處理單元1 2 0、一系統記憶體1 3 0、及耦 該系統記憶體之各種不同系統組件至該處理單元 -系統匯流排1 2 1。該系統匯流排1 2 1可為任何類型 11 13.56298 之匯流排結構,包含有一記憶體匯流排或記憶趙控制器、 —週邊匯流排、及使用各種不同匯流排架構之一區域匯流 排。藉由範例但非加以限制,此架構包含工業標準架構(ISA) 匯流排、微通道架構(MCA)匯流排、增強ISA(EISA)匯流 排、視訊電子標準協會(VESA)區域匯流排、及週邊組件互 連(PCI)匯流排(亦稱為Mezzanine匯流排)。 電腦110 —般包含各種不同電腦可讀取媒體。電腦可 璜取媒體可為可由電腦110存取之任何可用媒體,並包含 揮發性與非揮發性媒體、可移除與不可移除媒體。藉由範 例但非加以限制’電腦可讀取媒體可包含電腦儲存媒體與 邱存媒體包含實施於任何儲存資訊方法或 技街中之揮發性與非揮發性、可移除與不可移除媒體例 如電腦可讀敗扣人 曰7 、資料結構、程式模組或其他資料。電 腦儲存媒體包含 3但不限於RAM、ROM、EEPROM、快閃記 〜體或其他記憶 他光碟 匕镀技術、CD-ROM、數位萬用碟(DVD)或其 ' 磁匣、礎帶、磁碟儲存或其他磁性儲存裝置、 取任何其他可用於 艚。 、餘存想要資訊且可由電腦110存取之媒 體。通訊媒體—船 琛 模組或於一模έ實施電腦可讀取指令、資料結構、程式 其他傳輸機制組化資料信號中之其他資料,例如一載波或 號— < 且包含任何資訊傳遞媒體。「模組化資料信 碼該信號中〜或多個其特徵組或以此方式變更以編 媒趙包人 : 彳5说。藉由範例並非加以限制,通訊 I 3有缘媒锻 無線媒 ’例如一有線網路或直接連線連接,及 卞瓶,例如养I,丄 ,^ ’皮、RF、紅外線與其他無線媒體。任何 12 13.56298 上述組合亦應包含於電腦可讀取媒體之範圍中。 該系統記億體1 3 0包含揮發性與/或非揮發性記憶體 形式之電腦儲存媒體,例如ROM 131與RAM 132。例如於 開啟時,包含幫助傳送電腦110中元件間資訊之基本常式 之一基本輸入/出系統133(BIOS),一般儲存於r〇m m 中。RAM 132 —般包含立即存取與/或目前操作於處理單元 120上之資料與/或程式模組。藉由範例但非加以限制,第 1圖舉例說明作業系統1 3 4、應用程式1 3 5、其他程式模組 136、及程式資料137。 該電腦110亦可包含其他可移除/不可移除、揮發性/ 非揮發性電腦儲存媒體。僅藉由範例,第1圖舉例說明讀 取或寫入不可移除非揮發性磁性媒體之一硬碟驅動器 140、讀取或寫入一可移除非揮發性磁碟152之一磁碟驅動 器151、及讀取或寫入一可移除非揮發性光碟156之一光 碟驅動器 155,例如一CD ROM I «3 J ^ UL)-R〇M或其他光學媒體。可用於 該範例作業環境中之其他可移除/不可移除、揮發性/非揮 發性電腦儲存媒體包含但不限於磁帶匣、快閃記憶卡、數 位萬用碟、數位錄影帶、固·態RAM、s態r〇m等等。該 硬碟驅動器 系統匯流排 14 1 一般透過一不可移除記憶體介面連接至該 12卜例如介面140,而磁碟驅動器15丨與光碟 驅動器155 般由—可移除記憶體介面連接至 該系統匯流 排121 ’例如介面15 〇。另外, ^ e . t n ^ j被進一步思考的是本發明 也可被其中 CPUlAS m -b. a, ^ 興在早一明粒中所有記憶體在單一封包 中之一嵌入微處理器所實施。 13 1356298 上述與第1圖中舉例說明之驅動器與其相關電腦儲存 媒體提供電腦可讀取指令、資料结構、程式模組與該電腦 110之其他資料之儲存。舉例來說,在第1圖中,硬碟驅 動器1 4 1舉例說明為儲存作業系統1 44、應用程式1 45、其 他程式模組1 46、及程式資料1 47。.注意這些組件可相同或 不同於作業系統134、應用程式135、其他程式模組136、 與程式資料1 3 7。作業系統1 44、應用程式1 45、其他程式 模組1 4 6、及程式資料1 4 7在此給予不同號碼以舉例說明 至少其為不同副本。一使用者可透過輸入裝置登入指令與 資訊至該電腦1 1 0中,例如一鍵盤1 62與指標裝置1 6 1, 一般稱為一滑鼠、軌跡球或觸控墊。其它輸入裝置(未顯示) 可包含一麥克風、搖桿、遊戲墊、衛星碟、掃描器等等。 這些與其他輸入裝置常常透過耦合至該系統匯流排之一使 用者輸入介面160連接至該處理單元120,但可由其他介 面與匯流排結構加以連接,例如一並列埠、遊戲埠或一通 用序列匯流排(USB)。一螢幕1 9 1或其他類型顯示裝置亦 經由一介面連接至該系統匯流排 12 1,亦如一視訊介面 190。除了該螢幕之外,電腦亦可包含其他週邊輸出裝置, 例如味八197與印表機196,其可透過一輸出週邊介面195 加以連接。 該電腦1 1 0可利用邏輯連接至一或多個遠端電腦操作 於一網路環境中,例如一遠端電腦 1 8 0。該遠端電腦 1 8 0 可為一個人電腦、一伺服器 '一路由器、一網路PC、一對 等裝置或其他共用網路節點,且雖然僅一記憶體儲存裝置 14 13.56298 181舉例說明於第1圖中,一般包含許多或所有上方關於 該電腦110描述之元件。所述之邏輯連接包含一區域網路 (LAN)171及一廣域網路(WAN)173,但亦可包含其他網 路。此網路環境常見於辦公室、企業廣泛電腦網路、内部 網路與網際網路。 當用於一 LAN網路環境中時,該電腦110透過一網路 介面或配接器170連接至該LAN 171。當用於一 WAN網 路環境中時’該電腦110 —般包含一數據機172或其他用 以建立透過該WAN 1 73之通訊之構件’例如網際網路。可 内建或外接之數據機172可經由該使用者輸入介面160或 其他適當機制連接至該系統匯流排12丨。在一網路環境 中,關於該電腦110描述之程式模組或其部份可儲存於該 遠端記憶體储存裝置中。藉由範例但非加以限制,第1圖 舉例說明位於記憶體裝置1 8 1上之遠端應用程式1 8 5。應 了解所示之網路連接僅為fe例’且可使用其他建立該電腦 間一通訊連·结之構件。 範例具體實施例 如前所述’業界已知一電腦可配置以提供兩個分離的 環境:已受信賴與未受信賴。其可信賴度已被驗證之原始 程式碼(即其行為未被驗證之程式碼’或其無法做為音、 目的加以可能地排除)執行於該未受信賴環境中。原始應用 程式軟體,例如遊戲、文書處理器、試算表等耸 、 寸,以及原 始作業系統、裝置驅動器、及偵錯器一般落在兮土, -¾衣文信類 類別中。其可信賴度已以某種方式驗證之程式 、螂可執行於 15 13.56298 該已受信賴環境中。該電腦記憶體之某部份(即該「隔離」 或「包覆」記憶體)指定為僅可存取至該已受信賴環境。 對下列討論來說,若已根據設計以保留其整合度或對 齊整合度之任何缺口來說很明顯之一安全程序實質化,則 一代理者被「信賴」。舉例來說,該代理者可透過驗證該代 理者之識別與其執行(證明)之環境之一已受信賴程序初始 化,其可被指派可存取至其他代理者之一安全記憶體位置 (包覆記憶體),不論已受信賴或未受信賴,且其可密封秘 密。此一已受信賴代理者可唯一且以可靠方式被識別。 在該已受信賴環境中,於程式碼允許做些什麼上有些 限制。舉例來說,有較少的已受信賴 API(對上一般LHS 中之非常豐富組API),執行於該已受信賴環境中之代理者 僅可經由限制正式内處理通訊(IPC)機制互相通訊,且代理 者可存取至更受限與原始組API與用以呈現文字與影像給 該使用者之服務。這些限制減少複雜度,且因此,減少該 已受信賴環境與操作於其中之已受信賴代理者之攻擊表 面。另一方面,該已受信賴環境相似於一般由一 「開放」 計算環境(如一個人電腦、一手持式電腦等等)上作業系統 建立之環境一即幾乎任何程式碼允許執行於此一未受信賴 環境中,且執行於該標準環境中之程式碼完整存取一大型 豐富組程式設計服務與介面。該未受信賴環境與該已受信 賴環境可進一步分成子環境。舉例來說,該未受信賴環境 可分成一未受信賴使用者模式(原始應用程式執行處)與一 未受信賴核心模式(該原始作業系統執行處)。同樣的,該 16 13.56298 已受信賴環境可分成一已受信賴使用者模式(特殊已受信 賴應用程式執行處)與一已受信賴核心模式(為已受信賴應 用程式建立該已受信賴環境之已受信賴作業系統執行處)。 當已受信賴與未受信賴環境共同存在於相同電腦系統 中時,該已受信賴環境可採取步驟以確保其可信賴度無法 由發生於該未受信賴環境中之任何事,或由該已受信賴環 境中之任何使用者模式程式碼影響。本發明之具體實施例 提供用以投射或為該未受信賴側有益利用該已受信賴側之 可信賴度之一機制。 第3圖係根據本發明之一投射系統之一具體實施例之 一方塊圖,而第4圖係根據本發明之投射方法之一具體實 施例之一流程圖。執行於該電腦1 1 0之系統之L H S類似於 上述針對第2圖所述者。兩個應用程式305、310結合一作 業系統3 0 1執行。該RH S之部分亦類似於針對第2圖所述 者。兩個已受信賴代理者3 55、360沿著一核心35 1與SSC 353加以執行。任何數量的應用程式可執行於該LHS上且 任何數量的已受信賴代理者可執行於該 RHS上是令人沉 思的。 第3圖顯示該作業系統301與核心351執行於單一電 腦1 1 0上之一系統。作業系統3 0 1與核心3 5 1間之一邏輯 分離350允許特定通訊發生,而針對產生於該作業系統301 中之事件保護該核心3 5 1。 在第3圖中舉例說明之具體實施例中,作業系統3 01 係一主機作業系統,而核心3 5 1係由Ο S 3 0 1代管之一客 17 1356298 人。也就是說,0S3()1為核心351提供特定服務 例如記憶體與處理器時間。對於-具體實施例來說,邏輯 分離别允許核心351依賴作業系統3(H的特定資 仍允許核心351自游伴缚你音么,上 1自我保謾作業系統301所發生之動 或善意)’且可能導致核心& j能V致核〜351以與其行為規格相反 作用。舉例來說,核心351和鱼盆切μ从 幻方式 ,、其相關的已受信賴資书 即SSC 353,可管理邏輯分雜 从 确、 Ε邏輯刀離。然而,應了解本發明不限 於核心3 5 1之特破开》4。田土 ^ 心考機制允許欲建構分離35〇, 以允許互動與保護之平衡〇 應注意第3圖顯示作業系统3〇 一 ΙίΜίί 「办 入」而核心 客人J。一般來說,此特徵指的事實是在這此範 例中,作業系·统3〇1提供作業系統3〇1與核心351 (如= 驅動器、排裎等等)使用的特定作業系統基礎建設 3 5 1係可依賴作業系統3 〇丨 〈特疋基礎建設資源之—「 人」,而非提供其本身。然而,應 碼/主忍使一作業系統為—「主 人j或一 「客人|的參數县伯Μ 疋拫彈性的。應了解在此描述的 技術可應用於任何執行於相 Η機盗(或甚至於相同組遠 的機器上)上的兩個或更多作 業系統的互動。執行於單—嬙 器上之兩個或更多作業系統為 機 馬了月b需要互相互動於單— 器上的「環境」之範例,雖缺& 作業系統。 ·、'應了解本發明並不限於傳統 投射是已受信賴代理 性可延伸至LHS程式碼之 NGSCB個人電腦平台之力 者(於該RHS上)之某些力量與屬 機制。根據一範例,投射允許該 量欲應用至既有程式碼。舉例來 18 說 , 不將一應用程式,例如Microsoft® Excel®,匯至該 RliS ’根據本發明之投射允許一監控代理者(在此亦稱為一 天使)為該應用程式(在此亦稱為一人類)加以建構,其執行 於中允許該既有應用程式執行具有許多如一已受信賴代理 相同的有用屬性。投射可應用至想要某種程度的已受信 操作之LHS作業系統(如Microsoft® Windows®)與任何 只S應用程式(如Microsoft® Office®)。投射亦可應用至 LHs裝置驅動器。因此,如下列所述,投射允許已受信賴 代理者保護、確認、見證、及延伸LHS作業系統、服務、 及程式。 第3圖顯示對應至應用程式3 05之一監控代理者3 90 與对應至應用程式310(第4圖中之步驟400)之監控代理者 395°各監控代理者或天使保護其相關應用程式。 對一具體實施例來說,有興趣之LHS實體之建立者(如 —應用程式)亦建立守護該LHS實體之一天使。此允許該 建立者提供該天使其監控之應用程式之一深度知識。此一 天使可對其監控的應用程式的異常更敏感’且可更有效的 保護與驗證它。舉例來說,由一作業系統研發人員建立之 ''基本監控代理者可併入關於該作業系統的記憶體管理的 詳細知識,允許其快速識別可疑的記憶體動作。 對於另一具體實施例來說,如果偵測一異常或可疑動 作於其相關應用程式中,一天使可採取校正或避免動作° 舉例來說,該天使可寄由其相關應用程式偵測一嘗試’已 改變該應用程式建立者變化之記憶體中之金鑰變數,並轉 19 1356298 譯撰寫於該變數。若並非惡意徹底破壞,如病毒、程式碼, 至少,此一寫入操作如同指示該應用程式碼之毁損。簡言 之,一天使做為一監控代理者,觀看其相關應用程式中之 負面或可疑動作,並採取適當校正或保護動作。其動作可 被限制以避免該天使損壞其相關應用程式。一天使可附加 於一特定實體、程式、或應用程式、或例如一群此實體、 程式、及/或應用程式上。 一基本監控代理者(在此亦稱為一大天使)3 8 0關聯於 該基本作業系統(即該LHS OS 301)(方塊410)。對一具體 實施例來說,該基本監控代理者380由該LHS作業系統之 建立者撰寫。此允許該基本監控代理者 380併入關於該 LHS作業系統之之詳細知識,使其對該相關作業系統之惡 意行為更加敏感.。 舉例來說,一大天使可知道該虛擬位址資料庫、該程 序資料庫、及該PFN(頁框號碼)資料庫之格式,且根據此, 流氓裝置驅動器藉由映射其不應該具有之PFN做出非法映 射至程序之偵測情況。因此,該大天使可偵測並非由該記 憶體管理員所作之映射(舉例來說,由一流氓裝置驅動程 式),且可偵測不應該發生之跨程序映射。 在此一情況中,一大天使可與一已改變人類OS串通》 舉例來說,該OS與該大天使可同意無論何時沒有一特定 鎖,該PFN資料庫應永遠一致,且此一致性應可經由檢查 總合加以呈現。所以,在定期區間,該大天使可偵查該鎖, 並發現其未鎖上(其係一記憶體變數,且因此容易測試), 20 13.56298 且總合檢查該PFN資料庫。若該大天使發現該總合檢查不 相符,則其知道該PFN資料庫已被干預。 此外,一大天使可知道該核心偵錯器之控制變數,且 強迫該控制變數取消該核心偵錯器之使用。 一額外範例包含處理載入:監控該載入器、該快取管 理員、頁面錯誤處理器等等,以確保該正確位元正確載入 一使用者模式程序中(或該系統中載入之任何其他模組), 或適當給予簽署,也許列於該大天使已知之一表格中保持 之散列清單中。該大天使可在該載入器、頁面錯誤處理器 等等必須映射程式碼/資料進入一程序(頁面等等)或出一 程序時參與。該RHS應為該標定程序保持該LHS實體頁 面(甚至至該LHS 0S),除非該0S執行已知良好功能。該 RHS為LHS程序控制該頁面表格。因此,有許多機制一大 天使寫入器可放入該大天使中,以限制壞行為。 另一範例包含程序硬化。有已知與許可機制用於一程 序修改另一程序。該大天使可確保所有共享記憶體映射以 及資料之副本進入或離開一不同程序空間被限制。另一範 例包含該唯讀核心,其中該核心與裝置驅動器之所有「文 字」頁面(程式瑪頁面)被鎖住。 該大天使 3 8 0亦支援對天使之各程序(限制存取)投 射。此意指如同該系統中之代理者之天使會執行該使用者 要求之任何天使(與該使用者策略一致),且並非該證明向 量之部分,如下述所定義(即該大天使影響該機器之配置之 部分),舉例來說,可能發生混亂、侵入左側隱私、窺探其 21 1356298 不應應用之人類應用程式。因此,想要該天使非常強壯結 合致特定應用程式(人類)。此最好藉由允許一天使僅影響 該天使開始之一人類,或允許一天使僅應用於符合該天使 之表現中宣示之摘要之一人類加以完成,其具有該大天使 完成之摘要檢查,且僅在該人類應用程式呼叫天使之摘要 開始它之後。由於使其安全與可行以允許任何應用程式廠 商為其應用程式撰寫一天使,且讓任何使用者使用它,而 不冒險產生混亂或為其他者摧毁策略,因此這是極想要的。 因此,該大天使係觀察該LHS之代理者且提供服務至 其他天使之代理者。由於該大天使具有LHS程序結構最詳 細之知識,其好像該大天使決定何天使可結合至何LHS程 序。限制意指一天使(並非該核心證明向量之部分)僅可接 觸其開始之程序,或其呼叫以保護它們。此保持天使遠離 LHS程序上之隨機動作。此切割(大天使獲得0S層力量且 如該核心般驗證,天使獲得限制之應用程式層能力,且可 如任何其他代理者般自由執行)是想要的。 對一具體實施例來說,天使可包含該大天使(且藉由延 伸該LHS基礎0S)於其證明向量中。一證明向量係建立一 實體之安全相關配置之安全相關組件之一摘要清單。舉例 來說,一代理者之摘要可能包含該機器或主機板本身、該 核心、及該代理者本身、以及其他資訊。此數字堆疊係代 理者為何、及該代理者執行於何環境中之一強壯可靠之指 示器。其允許另一實體是否信賴其處理「該真正代理者」。 證明向量堆疊(所以該代理者之摘要並非為該核心的該向 22 13-56298 量之一 部份)。 其皆結 係其非 另 一摘要 本身隔 該硬體 執行見 知清單 行於該 有良好 別可列 中。由 式碼識 述般強 使、大 為該天 任何記 想要於 然而, 構。因 用基本 部份,但是該核心之摘要為該代理者的該摘要之一 所以當某者的證明向量包含於另一者中時,此意指 合在〆起至—可辨認安全配置中。一證明之一屬性 常強壯識別一系統之一安全相關配置。 一方面,~證明向量係定義該RHS之一軟體識別之 值清單。最好,載入該RHS之軟體在載入與該程序 離之前加以摘要,使其無法變更。此係一導入程序: 象徵該核心之摘要(見證該核心之摘要),也該核心 證於該代理者中。如此一來,一外部方可針對一已 驗證這些摘要,以決定是否該外側方許可該軟體執 系統上。由於執行於該RHS上,該天使與大天使具 定義的程式碼識別。基於這個理由,這些程式碼識 示於描述該LHS程式碼執行之環境之證明向量 於該天使無法完全控制該LHS程式碼之執行’此程 別陳述並非如同一 RHS代理者之一程式碼識別陳 壯,但其意指該給定LHS程式碼片段執行於該天 天使、與具有強壯程式碼識别之核心之限制下。 大天使之具體實施例可揭示某組Αρι至該天使,以 使之某些功能與/或特性提供支援。舉例來說,對於 憶體操作來說,會立即想要該大天使。一天使可能 虛擬位址VA=l〇0處檢查該涵蓋應用程式程式碼。 其可能未知映射至何實體位址。該核心不知道此結 此,然而,該大天使(了, ^ χ . 解該LHS OS如何運作)使 核心服務(僅大天使可呼叫、、 β &」卞1Π以讀取相關LHS核心記 23 1356298 憶體。該大天使使用來自該LHS os記憶體之資料,以為 LHS應用程式記憶體計算正確映射。該天使接著被告知何 涵蓋應用程式位址對應至該天使位址,且該天使接著可偵 查其内容且繼續處理。簡言之,對程序結合天使來說(即僅 應用至授權程序,而非隨機徘徊LHS狀態之天使),想要 該大夭使轉譯LHS資料結構。 一額外範例功能包含提供僅允許該LHS應用程式與 該RHS天使以看該資料之-安纟lpc通道。該lhs核心 一般可經由該LHS與該RHS間之—Ιρ(:通道看所有頁面, 但若這些頁面僅可於該大天使之密切注視下存丨,則提供 高度確保僅上述程序(由該給定天使控制之程序)可看到該 通道中之資料。另-範例功能給予該天使控制何模組之能 力(如DLL)與這些I组之何版本可載入-給定程序之程序 空間中。 做為一已受信賴實體,該大天使38〇存取與該lhs相 關之記憶體,並在任何時間某事發生於該LHS上時被通 知。該大天使380以用於偵測不—致性之一知識本體預先 程式化’以決定是否應採取安全性或保護有興趣之任何動 作。舉例來說,該大天使3 80可陷害特定LHS事件組。這 些可為該LHS允許且該核心351不阻止之事件,或其管理 之仏賴環境。與例來說,該大天m 8 〇可偵測該l則上之 不適當映射(或者該核心351可允許),其指示一可能攻擊 或安全性問題。該大天使38〇亦可執行一一致性檢查。 對於第3圖中所不之具體實施例來說,各天使結合或 24 1356298 由該大天使380與該核心351監督(方塊420)。該大天使 380強迫一天使與其相關 LHS程式碼間之結合,舉例來 說,其限制天使影響該LHS上之私密性與安全性之能力。 想要限制天使僅影響假設欲攻擊之程序之行為,由於 該核心351與大天使380根據該使用者策略執行該使用者 導向其執行之任何天使。該大天使具有與該核心同等之力 量,且應詳細檢查關於相同程度。對於天使來說,如同對 任何其他代理者來說,該核心會執行該使用者告知之所有 事。所以當核心與大天使被限制,原始天使(如同代理者) 則否(舉例來說,雖然該使用者可設定告訴該核心執行或不 執行由一特定評估器簽署之代理者或天使之策略)。 想要該天使被限制。舉例來說,具有一簽署方塊之一 天使說「為一第一程式之天使j必須不允許使用LHS基礎 0 S記憶體,或使用其他程式之記憶體。允許會強迫許多使 用者權利,且讓天使變得危險而非有用。所以該大天使確 保天使僅存取其應該可存取之LHS程式。 一已受信賴代理者最好沒有比任何LHS程式更多的 力量。尤其是,一已受信賴代理者無法看 LHS OS,也無 法控制或編輯該LHS OS配置狀態。而是,天使最好僅允 許偵查或修改其應用之人類之記憶體。此外,在某些具體 實施例中,該大天使可拒絕一天使變更該人類之程式碼、 限制該天使讀取人類之該使用者模式位址空間中之任何 事、並允許其撰寫該人類之非共享讀寫記憶體空間。然而, 某些機制需要一人類呼叫該天使允許不回該呼叫點,而是 25 1356298 至一已計算傳回點。此允許該天使強迫某些事件開始於該 人類中之已知校正位址一根據毁損堆疊改變傳回位址與跳 躍床攻擊戰鬥之一強壯方法。 一天使僅可監控其相關實體或實體群組(方塊430), 且不比任何其他代理者更已受信賴。一天使無法監控或注 視不相關的實體。尤其是,一天使具有一或多個T列屬性: a. 該天使可監控僅其程序或僅其攻擊之程.序之使用 者模式記憶體(即該人類)(非一般力量可負擔RHS 程式碼一見上述)。 b. 僅該大天使可看見其攻擊之LHS OS之核心模式記 憶體。 c. 該天使可僅應用於呼叫與要求其僅應用於開始之 LHS程序之LHS程序。 d. 該天使可由宣示強制措施加以限制。舉例來說,該 核心與/或該大天使可包含該天使,以僅於包含相符 為該天使之表現中宣示可執行之可執行之程序加 以投射。因此,舉例來說,一天使為「駭客工具」 無法無意或惡意投射至一 LHS應用程式上,而無某 人為該天使變更該表現。此一表現變更對一策略工 具是很明顯的。
該大天使3 80可強迫上述限制(方塊440與450)。基 於此目的,該大天使可給定延伸存取至該LHS,且其中其 容易為類似該核心之仔細程度(即強烈仔細)。舉例來說, 該大天使具有該LHS 0S之力量,且因此有執行於該LHS 26 1356298 上之任何者之力量。另一方面,該大天使可讀取任何lhs 記憶體,但沒有特別RHS力量,例如存取RHS核心記憶 體’或看其他代理者程序之力量,或限制、增加、修改等 等該核心或其他RHS代理者。一天使僅可讀取其應用之程 式之位址空間(即天使具有其僅應用至其應用之人類之特 殊能力)。該大天使亦可讀取所有LHS記憶體(步驟440), 而提供程序特定服務,使得天使僅可看其監控與保護之程 式之位址空間。 一天使可以下列方式「投射」其被保護者(步驟430 與 450): a. 其可標定或標示為記憶體之各種不同唯讀元件,可 能對應被保護者之行為,以避免特定變更(如病毒攻 擊)至該被保護者》 b. 其可為該被保護者於其已受信賴空間中執行某些關 鍵操作。 c · 其可堅持於被保護者特定保護上,例如限制可作何 配置變更’或若由一已授權人利用一安全輸入機制 許可則允許做此變更。 d.其可掃描被保護者記憶體,並陳述尋找一致性錯 誤、毁損等等之想要區間,並在額外損壞或無意/ 為授權動作發生之前查覺該使用者或中斷該被保護 者。 e,其可僅於需要時釋放已密封/已加密資料至該被保 護者,以縮小可能在任何時間被攻擊之資料之量。 27 13.56298 1. 其可使用已密封儲存以為該LHS(或一 LHS應 用程式)密封秘密,且拒絕將這些秘密給予任何 不具有與該秘密擁有者相符之摘要或列示為該 秘密擁有者可允許之LHS(或LHS應用程式)。 f. 給予適當API,其可改變該被保護者之執行狀態; 也就是說,其可將威脅導向已知執行點,重新導向 該目標應用程式中之控制之流程,或為該目標應用 程式執行分支之計算與執行。其亦可編輯配置狀 態、啟動狀態等等,以強迫於被保護者之安全/正確 操作之可接受模式。 g. 一天使可呼叫該大天使,並要求該大天使代表該被 保護者行為執行避免、保護、發現、或反應。 h. 一天使可自該應用程式取出(舉例來說,藉由呼叫或 藉由記憶體偵查)輸出資料、驗證此資料(如總合檢 查等等)、接著利用安全輸出硬體呈現此資料。 該實體或應用程式之功能之部分可移入該天使中。或 者,該LHS核心之功能之部分可移入該大天使中。一應用 程式建立者可實施該天使中之某些應用程式功能。雖然此 會增加該RHS負擔,其允許該傳送功能執行於該已受信賴 環境中。同樣的,該LHS 0S 301之一部份可移至該大天 使380中。 一天使可以幾種方式載入或被調用。一 LHS程式,例 如應用程式305,可呼叫其天使390。舉例來說,依此方式, 在一應用程式啟動之後,該對應天使獲得載入。或者,一 28 13-56298 天使可自該RHS被調用,且該天使接著調用該對應 程序或應用程式。該天使使用該大天使透過該LHS吩 並要求該應用程式開始。該大天使接著結合該代理者 應用程式。對於一具體實施例來說,該核心與該大天 供給該應用程式天使之API讓其僅看到其建立之程序 或許其子。 或者,如同該LHS程式’可由表現加以調用,且 轉向開始該天使之RHS,其呼叫回該LHS以開始該 LHS程序或應用程式。一般來說’一 LHS程式藉由命 含其之檔案加以開始(舉例來說,一 API也就是「 c:\somedir\someotherdir\someprogram.exe」)。對於 程式碼(一代理者或天使)來說,其藉由命名一表現開 且該表現命名該二位元》此為獨立位置。同樣的,舉 說,表現一般被簽署與認證,所以其較難被欺騙。因 一範例機制會呈現一結合左/右表現至開始該L H S應 式與該相關天使之RHS (核心),並將其結合在—起。此 該天使可用於自該LHS或該RHS開始該應用程式。 在本發明之一具體實施例中,該大天使可確認該 程序之初始載入程式碼影像符合與該天使相關之一宣 標程式碼影像。該宣示目標辑式碼影像可透過該天使 現加以提供。此避免程式碼為自另一應用程式開始之 定應用程式宣告為一天使,除了其針對攻擊提供額外 之外。 根據本發明之某些具體實施例, —八肚貝他例,一天估碰& LHS 叫 , 至該 使提 ,及 接著 對應 名包 執行 RHS 始, 例來 此, 用程 外, LHS 示目 的表 一特 安全 缉該 29 13.56298 LHS應用程式或與其相關之程序之程式码影像。該天使可 讀/寫資料,但其僅可讀取程式碼。 這些與類似策略可應用以避免天使執行,而不須透過 該LHS監督或限制,且流氓天使會避免利用該LHS程式 與應用程式被欺騙。 除了上述初始化機制之外,有其他方法確保該正確天 使附加於該正確LHS(或RHS)應用程式,並維持附加於 此。在呼叫其代理者或一 LHS病毒可攔截與改變其呼叫以 標定某個其他天使之前’一執行應用程式可藉由一攻擊者 加以改變。 本發明之具體實施例可藉由處理透過一已受信賴授權 自一應用程式呼叫其天使加以定址’如同該大天使或該核 心。舉例來說,該大天使可摘要該呼叫LHS應用程式,並 比較該摘要至與該RHS天使相關之一「許可」摘要清單。 如果其不相符,不論由於該LHS應用程式已被更改,或由 於該呼叫已被修改以標定一不同天使,該呼叫失敗,且該 系統可警告該使用者,及/或採許任何其他數量的動作。 系統策略可用於指定何天使可附加於何LHS應用程 式。利用一強壯策略機制提供一難以欺騙、難以錯失初始 化機制,用以設定此依附性。 在某些具體實施例中’一天使最好具有可調整或各種 不同可程式化偵查程度,用以將威脅標定於該相關應用程 式。該天使至一察覺威脅或攻擊之敏感性可加以調整。
除了提供投射(舉例來說,防禦、守護 '警告)至LHSOS 30 1356298 或應用程式之外,一天使亦可應用至執行於該已受信賴計 算環境中之一代理者。在此一情況中,一目標代理者(一般 為一旁偏實體)信賴附加於其上之天使。此允許一外部觀察 者程序攔截各種不同臭蟲(Bug),並利用該目標代理者。相 對於為安全性錯誤之掃描(如於傳統反毒技術)’該天使可 實施安全不變性,一核心提供之保護及該僵硬程序分離之 使用》 對於一具體實施例來說,該代理者係一虛擬機器,呈 現某個真實機器之一「有效相同副本j,其中一 〇S影像已 被啟動。一已受信賴環境可允許一代理者存取該虛擬機器 之程序記憶體。該存取代理者可監控程序記憶體,以保護 該虛擬機器防止其包含之影像之攻擊。一已受信賴環境可 允許一天使投射該虛擬機器中之〇s影像,並允許天使投. 射該虛擬機器中之應用程式。應考量一般應用於LHS應用 程式上之相同機制應用至該虛擬機器環境加以取代。 對於本發明之一具體實施例來說,該核心提供該大天 使記憶體偵查與改變(至少)之一 API。API支援嘗試變更控 制結構措施投射之陷害與反應》舉例來說,在該χ86架構 上’控制結構之保護,例如GDT、LDT、IDT、偵錯暫存 器、TR等等’可透過一 API加以提供。GDT參照該通用 描述符表,而LDT參照該區域描述符表。標定該GDTR(通 用描述符表暫存器)停止依附彎曲虛擬位址之意義之攻 擊,以允許跳躍放置一般不應跳躍之攻擊者。IDT係控制 該中斷路徑之中斷分派表。該IDT之位置由該idtr所指 31 13.56298 示(中斷分派表暫存器)。標定該IDTR藉由停止該攻擊者使 用該IDT與一後中斷強迫一分支致其不應到達之程式碼之 攻擊,以使投射更有力。 想要該已受信賴環境(即該 RHS)與該開放環境(即該 LHS)以相同方式連接。該核心允許該已受信賴環境檢查狀 態,且通知該開放環境中之事件。在此之教示可做用於上 之結構包含但不限於下列結構: 1. 該RHS與LHS於相同機器上,且該RHS可直接 檢查LHS記憶體(而該LHS無法檢查RHS記憶 體而無許可)。 2. 該RHS與LHS於不同處理器上,可能具有不同 記憶體,但一匯流排、網路、埠、或其他互連允 許該RHS看LHS記憶體。舉例來說,一 ARM 服務處理器可執行一完全信賴堆疊,而該已受信 賴堆疊可偵查一 x86 MP系統之主記憶體。舉例 來說,可具有一機器,含有 x86主處理器與一 ARM或PowerPC做為一服務處理器,且使用本 發明之機制允許該服務處理器觀察該主處理器 上之軟體。 3. 若該RHS可接收LHS事件之通知(如映射之變 更),但無法改變或避免它們,或無法看LHS記 憶體,某部份投射(如一虛弱部份)仍為可能。 4. 該RHS可偵查LHS記憶體,可控制(即避免或改 變)LHS編輯至LHS記憶體映射,並定址翻譯結 32 13.56298 構,控制該中斷分派向量點處(但不須控制 斷控制器,雖然若提供此控制,有槓桿作用 中)。應考量決定該RHS想要可完整控制支 壯投射之一狀態/事件清單係為各處理器架 完成之工作,且熟知該項技藝之一工作者應 該清單因不同架構而異。 5. 在一具體實施例中,該x8 6 TR暫存器之變 該硬體偵錯暫存器之設定亦可由該RHS控ΐ 在習知硬體中,由於其可根據共用中斷硬體、該 中斷分派表等等而定,該已受信賴環境不保證執行。 在上述硬體中,可控制該IDT(於一 χ86中,或同 其他處)允許該RHS確保其選擇之某處中斷永遠會執 叫該RHS之程式碼。 然而,一 LHS攻擊者或錯誤可毁損該中斷控制器 行其中斷等等。應考量 ATC(位址翻譯控制)用於確 RHS常常獲得執行。若該RHS利用 ATC,其可修改 以遞增一計數器。無論當該RHS何時排程該大天使時 計數器設定至某值。若該計數器到達零,ATC接著了 大天使不會執行「太久」,並呼叫強制執行該大天使之 心登入點。此技術不保證該大天使執行於任何特定時 但卻確保其會在許多 LHS記憶體編輯操作之後執行 此,啟動之一 LHS最後會必須讓該大天使執行。 若該RHS可標定該IDT,且該系統具有ΝΜΙ(非 罩中斷)之一可靠來源,則該RHS可強制該ΝΜΙ處理 該中 於其 援強 構欲 了解 更與 时。 LHS 等之 行呼 ,執 保該 ATC ,該 解該 一核 間, 。因 可遮 器正 33 13.56298 確呼叫。 在一範例具體實施例中,該硬體具有強制一 RHS改變許多技巧之一計時器。 本發明提供允許一計算環境之可信賴度投射 計算環境之機制。執行於單一機器上之二或多個 為可能需要互相於單一機器上互動之「環境」範 應了解本發明並不限於一傳統作業系統。此外, 況中,可使用至少上述某些技術,以自任何類型 體(如任何軟體片段)投射可信賴度至任何其他類j 在兩個實體並列存在於單一機器上,且必須 的情況中,該互動可有各種不同形式。舉例來說 體可能需要來回互相通訊資料。在該實體為作業: 定其他類型的執行環境,例如執行腳本於一虛擬 腳本機器)的情況中,該實體可能需要以特定其他 互動一如共享記憶體、共享一處理器上之時間、由 及處理中斷。本發明提供二實體可在互相互動的 合之技術,允許一實體投射其可信賴度至另一實 上述具體實施例著重於監控資源之記憶體上 明必不如此限制。若安全性監控對記憶體之外 效,一基本監控代理者(如大天使)可應用此監控 賴代表,以延伸其信賴之球體。舉例來說,若一 有效,該基本監控代理者可使用其阻止傳送具有 之封包。一般來說,此一已受信賴代表僅須了解 變性,如標頭符合〈regexp〉,且可靠警告該監控 中斷至該 至一第二 作業系統 例,雖然 在一般情 可執行實 这實體。 互相互動 ,該二實 备統(或特 機器上之 方式互相 「享資源、 類型中結 體。 ,但本發 的資源有 為已受信 安全NIC 特定標頭 一測量不 代理者於 34 13.56298 該不變性之變更。 應注意該前述範例僅為解釋之目的加以提供,且並 用於限制本發明。本發明已描述參照各種不同具體實 例,應了解在此使用之字係描述與舉例說明之字,而非 制之字。此外,雖然本發明在此已描述參照特定構件、 料與具體實施例,本發明並非用於限制在此之特定揭示 而是,本發明延伸至所有相同功能之結構、方法與用途 例如在所附申請專利範圍之範圍内。受益於本說明書之 示之熟知該項技藝人士,可對此進行許多修改,且在不 出本發明各態樣之範圍與精神之外做出變更。 【圖式簡單說明】 前述摘要以及上述較佳具體實施例之詳細說明在結 附圖閱讀時較容易了解。為了舉例說明本發明之目的, 圖式範例建構中顯示本發明;然而,本發明並不限於所 示之特定方法與手段。在圖式中: 第.1圖係顯示本發明各方面可實施之一範例計算環 之一方塊圖; 第 2圖係具有已受信賴與未受信賴環境之一既 NGSCB系統之一方塊圖; 第3圖係根據本發明之一範例投射系統之一方塊圖 及 第4圖係根據本發明之一範例投射方法之一流程圖 非 施 限 材 > j 教 超 合 於 揭 境 有 35 13.56298
【主要元件符號說明】 100 計 算 環 境 110 電 腦 120 處 理 單 元 121 系 統 匯 流 排 130 系 統 記 憶 體 13 1 ROM 132 RAM 133 BIOS 134 作 業 系 統 135 應 用 程 式 136 其 他 程 式 模 組 137 程 式 資 料 140 不 可 移 除 非 揮發性 記憶體介面 141 硬 碟 驅 動 器 144 作 業 系 統 145 應 用 程 式 146 其 他 程 式 模 147 程 式 資 料 150 可 移 除 非 揮 發性記 憶體介面 15 1 磁 碟 驅 動 器 152 可 移 除 非 揮 155 光 碟 驅 動 器 156 可 移 除 非 揮 160 使 用 者輸 入 介面 161 滑 鼠 1 62 鍵 盤 170 網 路 介 面 17 1 區 域 網 路 172 數 據 機 1 73 廣 域 網 路 180 遠 端 電 腦 181 記 憶 體儲 存 裝置 185 遠 端 應 用 程 190 視 訊 介 面 191 螢 幕 195 輸 出 週 邊 介 面 196 印 表 機 1 97 喇 口八 201 作 業 系 統 205 應 用 程 式 1 210 應 用 程 式 2 25 1 核 心 253 SSC 磁碟 光碟 36 255 已受信賴代理者1 260 已受信賴代理者 2 301 作業系統 305 應用程式1 3 10 應用程式2 350 邏輯分離 35 1 核心 353 SSC 355 已受信賴代理者1 360 已受信賴代理者 2 380 BMA (大天使) 390 ΜΑ 1 (天使1) 395 MA 2 (天使2) 400 關聯一監控代理者(天使)與 一應用程式或應 用程式 13.56298 群組 410 關聯一基本監控代理者(大天使)與該基本作業系統 420 結合各監控代理者至該基本監控代理者與該核心 430 利用相關監控代理者監控各應用程式或應用程式群 組 440 利用該基本監控代理者監控該基本作業系統 450 偵測任何有興趣的動作並採取適當避免或補救動作 37

Claims (1)

13,56298
申讀S專利翁圍: q月(相修正本
1. 一種經調適以在一單一處理器上執行多個作業系統之 系統,其包含: 一處理器; 一記憶體; 一未受信賴環境,其常駐於該記憶體中; 一已受信賴環境,其連接至該未受信賴環境,及常 駐於無法由該未受信賴環境存取的該記憶體之一部份; 複數個在該已受信賴環境中執行的監控代理者,各 監控代理者監控執行於該未受信賴環境中之至少一應 用程式、延伸或組件;及 至少一基本監控代理者,其執行於監控該未受信賴 環境之該已受信賴環境中,藉此投射該已受信賴環境之 可信賴度至該未受信賴環境中, 其中各監控代理者與在該未受信賴環境中的一應 用程式相關聯,且其中各監控代理者就攻擊與不一致性 監控其相關應用程式。 2 如申請專利範圍第1項所述之系統,其中各監控代理者 可包含與其相關之應用程式之一部份。 3 如申請專利範圍第1項所述之系統,其中各監控代理者 具有一可調整偵查程度,用以鎖定對該相關應用程式之 38 13.56298 威脅。 4 如申請專利範圍第1項所述之系統,其中各監控代理者 可接收一安全輸入,並傳送該安全輸入至該相關應用程 式。 5 如申請專利範圍第1項所述之系統,其中上述監控代理 者之至少一者監控執行於該已受信賴環境中之應用程 式代理者。 6 如申請專利範圍第1項所述之系統,另包含另一監控代 理者執行於該已受信賴環境中,其1ί7該監控代理者互相 通訊。 7 如申請專利範圍第1項所述之系統,其中上述基本監控 代理者偵測該未受信賴環境中之不一致性。 8 如申請專利範圍第7項所述之系統,另包含複數監控代 理者,其偵測執行於該未受信賴環境中之應用程式中之 不一致性。 9 如申請專利範圍第8項所述之系統,另包含額外監控代 理者,其偵測執行於該已受信賴環境中之應用程式中之 39 1356298 不一致性。 10如申請專利範圍第1項所述之系統,其中上述基本監控 代理者至少其一許可或拒絕一未受信賴環境事件。 1 1如申請專利範圍第1 0項所述之系統,其中上述至少一 基本監控代理者包含用以接收輸入之一安全輸入,上述 基本監控代理者根據該已接收輸入而許可或拒絕該未 受信賴環境事件。 12如申請專利範圍第1項所述之系統,其中上述基本監控 代理者至少其一拒絕允許沒有經由一安全輸入接收許 可而對該未受信賴環境之變更。 1 3如申請專利範圍第1項所述之系統,其中上述基本監控 代理者至少其一拒絕允許對該未受信賴環境之變更,除 非該變更由一許可方簽署之一封包加以描述。 1 4如申請專利範圍第1項所述之系統,另包含執行於該已 受信賴環境中之一監控代理者,該監控代理者監控執行 於‘該未受信賴環境中之至少一應用程式、延伸、或組 件,其中上述監控代理者使用密封之儲存,以為位於該 未受信賴環境中之一作業系統或一應用程式保密。 40 13.56298 1 5如申請專利範圍第14項所述之系統,其中上述監 理者拒絕揭示該作業系统或該應用程式之秘密,除 作業系統或該應用程式具有符合該秘密之擁有者 摘要。 1 6如申請專利範圍第1 4項所述之系統,其中上述監 理者拒絕揭示該作業系統或該應用程式之秘密,除 作業系統或該應用程式係於可讀取該秘密之一摘 單上。 1 7如申請專利範圍第14項所述之系統,其中上述監 理者使用一預定測試,以決定是否一合法實體要求 密。 1 8如申請專利範圍第1 7項所述之系統,其中上述預 試包含檢查該實體之堆疊,並確保該堆疊具有合法 内容。 1 9如申請專利範圍第1項所述之系統,另包含執行於 受信賴環境中之一監控代理者,該監控代理者監控 於該未受信賴環境中之至少一應用程式、延伸、 件,其中上述監控代理者編輯該未受信賴環境之 控代 非該 之一 控代 非該 要清 控代 該秘 定測 堆疊 該已 執行 或組 一狀 41 13.56298 態,以使其安全或可接受。 20如申請專利範圍第19項所述之系統,其中上述狀態包 含一初始配置或一錯誤報告選項。 21如申請專利範圍第1項所述之系統,其申上述基本監控 代理者使不屬於該未受信賴環境之已知良好配置或該 已受信賴環境之實體記憶體歸零。 22如申請專利範圍第1項所述之系統,其令上述未受信賴 環境包含一基本輸入/出系統(BIOS)、韌體、或載入器。 2 3如申請專利範圍第1項所述之系統,另包含一核心,其 用以於開機時執行該基本監控代理者。 24如申請專利範圍第1項所述之系統,另包含該已受信賴 環境中之一計數器,其中該計數器用於決定是否應執行 該基本監控代理者。 25如申請專利範圍第24項所述之系統,其中上述計數器 計算未受信賴記憶體編輯操作之次數。 26 —種監控一未受信賴環境之方法,其包含: 42 1356298 提供該未受信賴環境及在該未受信賴環境中執行 的一作業系統; 連接一已受信賴環境至該未受信賴環境; 提供在該已受信賴環境中執行的複數個監控代理 者; 將該等複數個監控代理者的至少一者與在該未受 信賴環境中執行的至少一應用程式、延伸或元件相關 聯; 使用該等複數個監控代理者的至少一者,監控該至 少一應用程式、延伸或元件; 提供在該已受信賴環境中執行之至少一基本監控 代理者; 將該至少一基本監控代理者與該作業系統相關聯; 提供用以在開機時執行該基本監控代理者的核心 (nexus); 結合該監控代理者至該基本監控代理者及至該核 心;及 為攻擊與一致性,使用基本監控代理者監控該未受 信賴環境及該作業系統,以投射該已受信賴環境之可信 賴度至該未受信賴環境。 27如申請專利範圍第26項所述之方法,另包含: 43 13,56298 關聯各監控代理者與一應用程式;及 為攻擊與不一致性監控各相關應用程式。 28如申請專利範圍第26項所述之方法,另包含關聯一應 用程式與該監控代理者其中之一,並將該應用程式之一 部份傳送至該監控代理者,使得該部份位於該已受信賴 環境中。 29如申請專利範圍第26項所述之方法,另包含關聯一應 用程式與該監控代理者,並調整用以鎖定對該相關應用 程式之威脅的監控代理者中之一偵查程度。 30如申請專利範圍第26項所述之方法,另包含關聯一應 用程式與該監控代理者,並於該監控代理者接收安全輸 入,並將該安全輸入傳送至該應用程式。 31如申請專利範圍第26項所述之方法,其中上述監控代 理者互相通訊。 32如申請專利範圍第26項所述之方法,另包含:使用該 基本監控代理者來許可或拒絕一未受信賴環境事件。 33如申請專利範圍第32項所述之方法,另包含:使用該 44 1356298 基本監控代理者自一安全輸入接收輸入。 34如申請專利範圍第26項所述之方法,另包含該基本監 控代理者拒絕允許沒有經由一安全輸入接收許可而對 該未受信賴環境之變更。 35如申請專利範圍第26項所述之方法,另包含該基本監 控代理者拒絕允許該未受信賴環境之變更,除非該變更 由一許可方簽署之一封包加以描述。 36如申請專利範圍第26項所述之方法,其中 該監控代理者其中之一使用密封儲存以為位於該 未受信賴環境中之一作業系統與一應用程式保密。 3 7如申請專利範圍第3 6項所述之方法,其中上述監控代 理者拒絕揭示該作業系統或該應用程式之秘密,除非該 作業系統或該應用程式具有符合該秘密之擁有者之一 摘要。 38如申請專利範圍第36項所述之方法,其中上述監控代 理者拒絕揭示該作業系統或該應用程式之秘密,除非該 作業系統或該應用程式於可讀取該秘密之一摘要清單 上。 45 13.56298 39如申請專利範圍第36項所述之方法,另包含使用一預 定測試,以決定是否一合法實體要求該秘密。 40如申請專利範圍第39項所述之方法,其中上述預定測 試包含檢查該實體之堆疊,並確保該堆疊具有合法堆疊 内容。 41如申請專利範圍第26項所述之方法,其中 該監控代理者其中之一經組態以編輯該未受信賴 環境之一狀態,以使其安全或可接受。 42如申請專利範圍第41項所述之方法,其中上述狀態包 含一初始配置或一錯誤報告選項。 43如申請專利範圍第26項所述之方法,另包含該基本監 控代理者使不屬於該未受信賴環境之已知良好配置或 該已受信賴環境之實體記憶體歸零。 44如申請專利範圍第26項所述之方法,其中上述未受信 賴環境包含一基本輸入/出系統(BIOS)、韌體、或載入 器。 46 U56298 45如申請專利範圍第26項所述之方法,另包含決定是否 應執行該基本監控代理者以回應一計數器。 46如申請專利範圍第45項所述之方法,其中上述計數器 計算未受信賴記憶體編輯操作之次數。 47如申請專利範圍第26項所述之方法,另包含提供複數 監控代理者,其偵測執行於該未受信賴環境中之應用程 式中不一致性。 48如申請專利範圍第47項所述之方法,另包含提供額外 監控代理者,其偵測執行於該已受信賴環境中之應用程 式中不一致性。 49 一種經調適以在一單一處理器上執行多個作業系統之 系統,其包含: 一處理器; 一記憶體; 一已受信賴環境,其常駐於該記憶體中及具有一作 業系統、韌體、及一基本輸入/出系統(BIOS)中至少之 一未受信賴環境,其常駐於記憶體中;及 至少一監控代理者,其執行於該已受信賴環境中, 47 I156298 並與該作業系統、該韌體、該BIOS其中之一相聯、及 與在該未受信賴環境執行的一應用程式相關; 一核心 (nexus);及 至少一基本監控代理者,其執行於監控該未受信賴 環境之該已受信賴環境中,藉此投射該已受信賴環境之 可信賴度至該未受信賴環境中,該基本監控代理者結 合、鏈結、或編譯至該核心。 5 0如申請專利範圍第49項所述之系統,其中上述至少一 監控代理者包含複數監控代理者,各監控代理者具有一 相關能力。 5 1如申請專利範圍第4 9項所述之系統,其中上述已受信 賴環境執行於一第一處理器架構上,而該未受信賴環境 執行於一第二處理器架構上,該系統進一步包含:執行 於該第一處理器架構上之一基本監控代理者。 5 2如申請專利範圍第4 9項所述之系統,其中該系統進一 包含:執行於該已受信賴環境中之一基本監控代理者, 其中上述已受信賴環境與未受信賴環境執行於相同處 理器上。 5 3如申請專利範圍第4 9項所述之系統,其中上述已受信 48 13.56298 賴環境執行於一第一處理器上,而該未受信賴環境 於一第二處理器上,該第一與第二處理器可執行於 受信賴模式或一未受信賴模式中。 5 4如申請專利範圍第4 9項所述之系統,另包含位於 受信賴環境中之一核心與一基本監控代理者,其中 基本監控代理者係執行於該核心上之一使用者模 理器。 5 5如申請專利範圍第4 9項所述之系統,另包含位於 受信賴環境中的一基本監控代理者,其中基本監控 者係被一建立環境發展、共同與該建立環境發展及 建立環境中發展,該建立環境與該未受信賴環境之 業系統相同或相關。 5 6如申請專利範圍第4 9項所述之系統,另包含位於 受信賴環境中之一基本監控代理者,該基本監控代 係安全性評估之一已受信賴計算基礎之一部份。 5 7如申請專利範圍第4 9項所述之系統,另包含一基 控代理者,其中該基本監控代理者之一第一部份位 已受信賴環境中、及該基本監控代理者之一第二部 於該一實體遠端機器上,該基本監控代理者的該第 執行 一已 該已 上述 式處 該已 代理 在該 一作 該已 理者 本監 於該 份‘位 一與 49 13^6298 7 第二部份由一安全連結加以連接。 58 —種經調適以在一單一處理器上執行多個作業系統之 系統,其包含: 一處理器; 一記憶體; 一未受信賴環境,其常駐於該記憶體中; 一作業系統,其在該未受信賴環境中執行; 一應用程式,其在該未受信賴環境中執行; 一已受信賴環境,其常駐於不能由該未受信賴環境 存取的該記憶體之一部份; 一監控代理者,其執行於該已受信賴環境中,並提 供該已受信賴環境的可信賴度之投射至在該未受信賴 環境中執行的該應用程式;及 一基本監控代理者,其與該作業系統相關聯及執行 於該已受信賴環境中,該基本監控代理者經組態以監控 該監控代理者及該未受信賴環境; 其中上述代理者係一虛擬機器代理者,而上述監控 代理者係一虛擬機器監控代理者。 5 9如申請專利範圍第5 8項所述之系統,其中上述基本監 控代理者係一虛擬機器基本監控代理者,並投射一作業 50 1^56298 系統影像至該虛擬機器代理者。 60如申請專利範圍第58項所述之系統,另包含與該虛擬 機器監控代理者相關之一應用程式,其中該基本監控代 理者係一虛擬機器基本監控代理者,並提供投射至該應 用程式。 51
TW093121629A 2003-08-07 2004-07-20 Projection of trustworthiness from a trusted envir TWI356298B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/638,199 US7530103B2 (en) 2003-08-07 2003-08-07 Projection of trustworthiness from a trusted environment to an untrusted environment

Publications (2)

Publication Number Publication Date
TW200519583A TW200519583A (en) 2005-06-16
TWI356298B true TWI356298B (en) 2012-01-11

Family

ID=33552981

Family Applications (1)

Application Number Title Priority Date Filing Date
TW093121629A TWI356298B (en) 2003-08-07 2004-07-20 Projection of trustworthiness from a trusted envir

Country Status (21)

Country Link
US (1) US7530103B2 (zh)
EP (2) EP1505475B1 (zh)
JP (1) JP4726449B2 (zh)
KR (1) KR100949022B1 (zh)
CN (1) CN1581073B (zh)
AT (2) ATE530991T1 (zh)
AU (1) AU2004203528B9 (zh)
BR (1) BRPI0403261B1 (zh)
CA (1) CA2473487C (zh)
CO (1) CO5600214A1 (zh)
ES (2) ES2376433T3 (zh)
IL (1) IL162997A (zh)
MX (1) MXPA04007483A (zh)
MY (1) MY140973A (zh)
NO (1) NO20043285L (zh)
NZ (1) NZ534064A (zh)
PL (2) PL1505475T3 (zh)
RU (1) RU2390836C2 (zh)
SG (1) SG108962A1 (zh)
TW (1) TWI356298B (zh)
ZA (1) ZA200405646B (zh)

Families Citing this family (82)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7730318B2 (en) * 2003-10-24 2010-06-01 Microsoft Corporation Integration of high-assurance features into an application through application factoring
US8619971B2 (en) * 2005-04-01 2013-12-31 Microsoft Corporation Local secure service partitions for operating system security
US7571475B2 (en) * 2005-04-05 2009-08-04 Cisco Technology, Inc. Method and electronic device for triggering zeroization in an electronic device
WO2006119637A1 (en) 2005-05-13 2006-11-16 Cryptomill Cryptographic control for mobile storage means
US8464354B2 (en) 2005-05-13 2013-06-11 Cryptomill Inc. Content cryptographic firewall system
US20060294596A1 (en) * 2005-06-27 2006-12-28 Priya Govindarajan Methods, systems, and apparatus to detect unauthorized resource accesses
US7587724B2 (en) * 2005-07-13 2009-09-08 Symantec Corporation Kernel validation layer
US8272058B2 (en) * 2005-07-29 2012-09-18 Bit 9, Inc. Centralized timed analysis in a network security system
US8984636B2 (en) * 2005-07-29 2015-03-17 Bit9, Inc. Content extractor and analysis system
US7895651B2 (en) * 2005-07-29 2011-02-22 Bit 9, Inc. Content tracking in a network security system
US20070028291A1 (en) * 2005-07-29 2007-02-01 Bit 9, Inc. Parametric content control in a network security system
US8799680B2 (en) 2005-09-15 2014-08-05 Microsoft Corporation Transactional sealed storage
US8201240B2 (en) * 2005-09-16 2012-06-12 Nokia Corporation Simple scalable and configurable secure boot for trusted mobile phones
US7761914B2 (en) * 2005-10-21 2010-07-20 Oracle International Corporation Method and apparatus for facilitating adjustment of an audit state in a computing environment
US8510596B1 (en) 2006-02-09 2013-08-13 Virsec Systems, Inc. System and methods for run time detection and correction of memory corruption
US20070192826A1 (en) * 2006-02-14 2007-08-16 Microsoft Corporation I/O-based enforcement of multi-level computer operating modes
US8365294B2 (en) * 2006-06-30 2013-01-29 Intel Corporation Hardware platform authentication and multi-platform validation
WO2008018055A2 (en) * 2006-08-09 2008-02-14 Neocleus Ltd Extranet security
US20080046546A1 (en) 2006-08-18 2008-02-21 Parmar Pankaj N EFI based mechanism to export platform management capabilities to the OS
JP4918334B2 (ja) * 2006-11-13 2012-04-18 株式会社日立ソリューションズ 情報処理装置、及びシステム監視方法、並びにシステム監視方法をコンピュータに実行させるためのプログラム
CA2674635C (en) 2007-01-16 2016-03-22 Absolute Software Corporation A security module having a secondary agent in coordination with a host agent
EP2130322B1 (en) * 2007-03-21 2014-06-25 Intel Corporation Protection against impersonation attacks
WO2008114256A2 (en) * 2007-03-22 2008-09-25 Neocleus Ltd. Trusted local single sign-on
US20080263679A1 (en) * 2007-04-23 2008-10-23 Microsoft Corporation Storing information in closed computing devices
US8336107B2 (en) * 2007-04-27 2012-12-18 Angel Secure Networks, Inc. System and methods for defending against root
US8230412B2 (en) 2007-08-31 2012-07-24 Apple Inc. Compatible trust in a computing device
US8474037B2 (en) * 2008-01-07 2013-06-25 Intel Corporation Stateless attestation system
EP2286333A4 (en) * 2008-06-05 2012-08-08 Neocleus Israel Ltd SAFE MULTIPURPOSE COMPUTER CLIENT
US8122514B2 (en) * 2008-07-30 2012-02-21 Microsoft Corporation Software enhanced trusted platform module
US8161285B2 (en) * 2008-09-26 2012-04-17 Microsoft Corporation Protocol-Independent remote attestation and sealing
US9166797B2 (en) * 2008-10-24 2015-10-20 Microsoft Technology Licensing, Llc Secured compartment for transactions
US20100106977A1 (en) * 2008-10-24 2010-04-29 Jan Patrik Persson Method and Apparatus for Secure Software Platform Access
US9805196B2 (en) * 2009-02-27 2017-10-31 Microsoft Technology Licensing, Llc Trusted entity based anti-cheating mechanism
CN101599112B (zh) * 2009-04-09 2010-11-03 广州市芯德电子技术有限公司 一种保护加密软件的方法
US9588803B2 (en) 2009-05-11 2017-03-07 Microsoft Technology Licensing, Llc Executing native-code applications in a browser
US8955108B2 (en) * 2009-06-17 2015-02-10 Microsoft Corporation Security virtual machine for advanced auditing
US8205257B1 (en) * 2009-07-28 2012-06-19 Symantec Corporation Systems and methods for preventing threats originating from a non-process based component hosted by a trusted process
US8352797B2 (en) * 2009-12-08 2013-01-08 Microsoft Corporation Software fault isolation using byte-granularity memory protection
US9323921B2 (en) 2010-07-13 2016-04-26 Microsoft Technology Licensing, Llc Ultra-low cost sandboxing for application appliances
WO2012128677A1 (en) * 2011-03-21 2012-09-27 Telefonaktiebolaget Lm Ericsson (Publ) Supervision of wavelength division multiplexed optical networks
CN102142897B (zh) 2011-03-29 2014-08-20 华为技术有限公司 一种光网络单元的检测方法、装置和无源光网络系统
SG194545A1 (en) * 2011-04-22 2013-12-30 Huawei Tech Co Ltd Optical transceiver apparatus and wavelength division multiplexing passive optical network system
US9495183B2 (en) 2011-05-16 2016-11-15 Microsoft Technology Licensing, Llc Instruction set emulation for guest operating systems
EP2732397B1 (en) * 2011-07-12 2020-02-26 Hewlett-Packard Development Company, L.P. Computing device including a port and a guest domain
US8826440B2 (en) 2011-10-19 2014-09-02 Google Inc. Defensive techniques to increase computer security
US9413538B2 (en) 2011-12-12 2016-08-09 Microsoft Technology Licensing, Llc Cryptographic certification of secure hosted execution environments
US9389933B2 (en) * 2011-12-12 2016-07-12 Microsoft Technology Licensing, Llc Facilitating system service request interactions for hardware-protected applications
US9208319B2 (en) 2011-12-15 2015-12-08 Microsoft Technology Licensing, Llc Code base partitioning system
US8938796B2 (en) 2012-09-20 2015-01-20 Paul Case, SR. Case secure computer architecture
US9027031B2 (en) * 2012-10-15 2015-05-05 Vmware, Inc. Allowing inter-process communication via file system filter
DE102013000147A1 (de) 2013-01-03 2014-07-03 Giesecke & Devrient Gmbh Endgeräte-Chip mit Firewall
US9619238B2 (en) 2013-04-15 2017-04-11 Amazon Technologies, Inc. Remote attestation of host devices
US9594638B2 (en) * 2013-04-15 2017-03-14 Amazon Technologies, Inc. Host recovery using a secure store
RU2531861C1 (ru) 2013-04-26 2014-10-27 Закрытое акционерное общество "Лаборатория Касперского" Система и способ оценки вредоносности кода, исполняемого в адресном пространстве доверенного процесса
CN104239820B (zh) * 2013-06-13 2017-11-03 普天信息技术研究院有限公司 一种安全存储设备
US9268948B2 (en) * 2013-06-24 2016-02-23 Intel Corporation Secure access enforcement proxy
KR102368170B1 (ko) 2013-09-12 2022-02-25 버섹 시스템즈, 인코포레이션 멀웨어의 자동화된 런타임 검출
US10198572B2 (en) 2013-09-17 2019-02-05 Microsoft Technology Licensing, Llc Virtual machine manager facilitated selective code integrity enforcement
KR102132218B1 (ko) * 2013-09-24 2020-07-09 삼성전자 주식회사 신뢰하는 실행 환경에서의 보안 도메인 관리 방법 및 장치
CA2953793C (en) 2014-06-24 2021-10-19 Virsec Systems, Inc. System and methods for automated detection of input and output validation and resource management vulnerability
AU2015279920B2 (en) 2014-06-24 2018-03-29 Virsec Systems, Inc. Automated root cause analysis of single or N-TIERED applications
US9628279B2 (en) * 2014-09-30 2017-04-18 Microsoft Technology Licensing, Llc Protecting application secrets from operating system attacks
US10325115B1 (en) * 2015-01-30 2019-06-18 EMC IP Holding Company LLC Infrastructure trust index
US10394793B1 (en) 2015-01-30 2019-08-27 EMC IP Holding Company LLC Method and system for governed replay for compliance applications
US9727591B1 (en) 2015-01-30 2017-08-08 EMC IP Holding Company LLC Use of trust characteristics of storage infrastructure in data repositories
US9842065B2 (en) 2015-06-15 2017-12-12 Intel Corporation Virtualization-based platform protection technology
US9858119B2 (en) * 2015-12-08 2018-01-02 International Business Machines Corporation Resource management for untrusted programs
CA3027728A1 (en) 2016-06-16 2017-12-21 Virsec Systems, Inc. Systems and methods for remediating memory corruption in a computer application
US10482034B2 (en) * 2016-11-29 2019-11-19 Microsoft Technology Licensing, Llc Remote attestation model for secure memory applications
TWI617940B (zh) * 2016-12-01 2018-03-11 財團法人資訊工業策進會 資料保護方法與資料保護系統
US20190042797A1 (en) * 2017-12-28 2019-02-07 Intel Corporation Security Hardware Access Management
GB201801679D0 (en) 2018-02-01 2018-03-21 Microsoft Technology Licensing Llc Database transaction log writing and integrity checking
WO2019212547A1 (en) 2018-05-02 2019-11-07 Hewlett-Packard Development Company, L.P. Executing sotware
US10735308B2 (en) * 2018-12-21 2020-08-04 Cisco Technology, Inc. Attestation based routing
CN109922056B (zh) 2019-02-26 2021-09-10 创新先进技术有限公司 数据安全处理方法及其终端、服务器
CN116680037A (zh) * 2019-05-05 2023-09-01 创新先进技术有限公司 数据隔离方法及装置、电子设备
CN110837632B (zh) * 2019-09-29 2023-07-25 深圳市火乐科技发展有限公司 安全检测方法、智能投影仪及相关产品
RU2750626C2 (ru) * 2019-11-27 2021-06-30 Акционерное общество "Лаборатория Касперского" Система и способ управления доступом в электронных блоках управления транспортными средствами
US11941155B2 (en) 2021-03-15 2024-03-26 EMC IP Holding Company LLC Secure data management in a network computing environment
CN113553231B (zh) * 2021-07-01 2023-08-22 江苏电力信息技术有限公司 一种基于安全芯片的嵌入式操作系统运行环境监控方法
US11593490B2 (en) * 2021-07-28 2023-02-28 Dell Products, L.P. System and method for maintaining trusted execution in an untrusted computing environment using a secure communication channel
CN116109521B (zh) * 2023-04-07 2023-07-14 北京建筑大学 局部对抗性攻击启发式防御方法和装置

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5235642A (en) * 1992-07-21 1993-08-10 Digital Equipment Corporation Access control subsystem and method for distributed computer system using locally cached authentication credentials
US5892900A (en) 1996-08-30 1999-04-06 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US5961656A (en) * 1995-10-31 1999-10-05 Sun Microsystems, Inc. Method and apparatus for testing memory devices under load
US6185678B1 (en) * 1997-10-02 2001-02-06 Trustees Of The University Of Pennsylvania Secure and reliable bootstrap architecture
US6408391B1 (en) 1998-05-06 2002-06-18 Prc Inc. Dynamic system defense for information warfare
US6496847B1 (en) 1998-05-15 2002-12-17 Vmware, Inc. System and method for virtualizing computer systems
US6397242B1 (en) 1998-05-15 2002-05-28 Vmware, Inc. Virtualization system including a virtual machine monitor for a computer with a segmented architecture
US6553403B1 (en) 1998-06-03 2003-04-22 International Business Machines Corporation System, method and computer program product for monitoring in a distributed computing environment
US6505300B2 (en) * 1998-06-12 2003-01-07 Microsoft Corporation Method and system for secure running of untrusted content
US6304262B1 (en) 1998-07-21 2001-10-16 Raytheon Company Information security analysis system
US6308208B1 (en) 1998-09-30 2001-10-23 International Business Machines Corporation Method for monitoring network distributed computing resources using distributed cellular agents
US6138239A (en) * 1998-11-13 2000-10-24 N★Able Technologies, Inc. Method and system for authenticating and utilizing secure resources in a computer system
US6330588B1 (en) 1998-12-21 2001-12-11 Philips Electronics North America Corporation Verification of software agents and agent activities
EP1055990A1 (en) 1999-05-28 2000-11-29 Hewlett-Packard Company Event logging in a computing platform
JP2000347866A (ja) * 1999-06-04 2000-12-15 Nec Corp 分散システムとアクセス制御装置及び方法、並びにアクセス制御用プログラムを記録した記録媒体
US7152165B1 (en) * 1999-07-16 2006-12-19 Intertrust Technologies Corp. Trusted storage systems and methods
US6823456B1 (en) * 1999-08-25 2004-11-23 International Business Machines Corporation System and method for providing trusted services via trusted server agents
EP1085396A1 (en) * 1999-09-17 2001-03-21 Hewlett-Packard Company Operation of trusted state in computing platform
US6775536B1 (en) * 1999-11-03 2004-08-10 Motorola, Inc Method for validating an application for use in a mobile communication device
US7134141B2 (en) 2000-06-12 2006-11-07 Hewlett-Packard Development Company, L.P. System and method for host and network based intrusion detection and response
GB0020441D0 (en) * 2000-08-18 2000-10-04 Hewlett Packard Co Performance of a service on a computing platform
US6938164B1 (en) * 2000-11-22 2005-08-30 Microsoft Corporation Method and system for allowing code to be securely initialized in a computer
JP2002182560A (ja) * 2000-12-12 2002-06-26 Hitachi Ltd 暗号処理機能を備えた情報サーバ装置
JP2002251374A (ja) * 2000-12-20 2002-09-06 Fujitsu Ltd 情報管理システム、情報管理方法、およびその方法をコンピュータに実行させるプログラム、並びにそのプログラムを記録したコンピュータ読み取り可能な記録媒体
DE60230601D1 (zh) * 2001-01-10 2009-02-12 Cisco Tech Inc
US7313822B2 (en) 2001-03-16 2007-12-25 Protegrity Corporation Application-layer security method and system
EP1273955A1 (de) 2001-07-04 2003-01-08 MUETEC Automatisierte Mikroskopie und Messtechnik GmbH Optische Verschlussvorrichtung
US7206933B2 (en) * 2001-07-09 2007-04-17 Advanced Micro Devices, Inc. Software modem with privileged mode driver authentication
US7131141B1 (en) * 2001-07-27 2006-10-31 At&T Corp. Method and apparatus for securely connecting a plurality of trust-group networks, a protected resource network and an untrusted network
GB2378272A (en) * 2001-07-31 2003-02-05 Hewlett Packard Co Method and apparatus for locking an application within a trusted environment
JP2003099144A (ja) * 2001-09-20 2003-04-04 Fujitsu Frontech Ltd 携帯用電子機器、キーデータ処理方法、記録媒体及びプログラム
CA2460492A1 (en) 2001-09-28 2003-04-10 British Telecommunications Public Limited Company Agent-based intrusion detection system
US7243230B2 (en) * 2001-11-16 2007-07-10 Microsoft Corporation Transferring application secrets in a trusted operating system environment
US7082507B1 (en) * 2002-04-18 2006-07-25 Advanced Micro Devices, Inc. Method of controlling access to an address translation data structure of a computer system
US7359962B2 (en) * 2002-04-30 2008-04-15 3Com Corporation Network security system integration
US7634806B2 (en) * 2002-05-30 2009-12-15 Microsoft Corporation Peer assembly inspection
US7103914B2 (en) * 2002-06-17 2006-09-05 Bae Systems Information Technology Llc Trusted computer system
US20040117318A1 (en) * 2002-12-16 2004-06-17 Grawrock David W. Portable token controlling trusted environment launch
US20040128544A1 (en) * 2002-12-31 2004-07-01 International Business Machines Corporation Method and system for aligning trust relationships with namespaces and policies
US7788495B2 (en) * 2003-06-03 2010-08-31 Microsoft Corporation Systems and methods for automated configuration of secure web site publishing
US7380136B2 (en) * 2003-06-25 2008-05-27 Intel Corp. Methods and apparatus for secure collection and display of user interface information in a pre-boot environment

Also Published As

Publication number Publication date
CO5600214A1 (es) 2006-01-31
MY140973A (en) 2010-02-12
NO20043285L (no) 2005-02-08
EP1916614A1 (en) 2008-04-30
PL1505475T3 (pl) 2012-05-31
IL162997A (en) 2010-05-17
EP1916614B1 (en) 2011-10-26
RU2390836C2 (ru) 2010-05-27
JP2005056429A (ja) 2005-03-03
NZ534064A (en) 2005-08-26
ATE530991T1 (de) 2011-11-15
TW200519583A (en) 2005-06-16
BRPI0403261A (pt) 2005-05-31
ES2376433T3 (es) 2012-03-13
AU2004203528B2 (en) 2010-01-28
US20050033980A1 (en) 2005-02-10
EP1505475B1 (en) 2011-12-28
CA2473487A1 (en) 2005-02-07
RU2004124072A (ru) 2006-01-27
US7530103B2 (en) 2009-05-05
JP4726449B2 (ja) 2011-07-20
KR20050016202A (ko) 2005-02-21
SG108962A1 (en) 2005-02-28
CN1581073B (zh) 2012-03-21
AU2004203528A1 (en) 2005-02-24
AU2004203528B9 (en) 2010-03-04
KR100949022B1 (ko) 2010-03-23
BRPI0403261B1 (pt) 2017-06-13
MXPA04007483A (es) 2005-06-08
PL1916614T3 (pl) 2012-03-30
ZA200405646B (en) 2005-05-25
CA2473487C (en) 2013-09-17
EP1505475A3 (en) 2005-03-09
CN1581073A (zh) 2005-02-16
ATE539411T1 (de) 2012-01-15
ES2372989T3 (es) 2012-01-30
EP1505475A2 (en) 2005-02-09

Similar Documents

Publication Publication Date Title
TWI356298B (en) Projection of trustworthiness from a trusted envir
US11514159B2 (en) Method and system for preventing and detecting security threats
KR101176646B1 (ko) 상태 검증을 사용하는 보호된 오퍼레이팅 시스템 부팅을 위한 시스템 및 방법
US8627414B1 (en) Methods and apparatuses for user-verifiable execution of security-sensitive code
US7546587B2 (en) Run-time call stack verification
US9424430B2 (en) Method and system for defending security application in a user's computer
Yao et al. Building secure firmware
Zhao Authentication and Data Protection under Strong Adversarial Model
Cases Hardware-Enabled Security
Holloway Project number: 883156 Project acronym: EXFILES Project title

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees