[發(fā)明專利]將可執(zhí)行代碼編譯到較不可信的地址空間中無效
| 申請?zhí)枺?/td> | 200780043929.0 | 申請日: | 2007-11-27 |
| 公開(公告)號: | CN101553784A | 公開(公告)日: | 2009-10-07 |
| 發(fā)明(設(shè)計)人: | D·C·賴頓;R·S·烏諾基 | 申請(專利權(quán))人: | 微軟公司 |
| 主分類號: | G06F9/45 | 分類號: | G06F9/45;G06F12/02 |
| 代理公司: | 上海專利商標事務(wù)所有限公司 | 代理人: | 陳 斌;錢靜芳 |
| 地址: | 美國華*** | 國省代碼: | 美國;US |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 可執(zhí)行 代碼 編譯 不可信 地址 空間 | ||
1.一種在計算機化環(huán)境中的執(zhí)行托管代碼以使得能夠以不威脅或以 其他方式損害系統(tǒng)安全性的方式編譯并執(zhí)行不可信程序代碼的方法,所述計 算機化環(huán)境包括存儲器、以及JIT編譯器和加載在所述存儲器中的一個或多 個應(yīng)用程序,所述方法包括:
從被設(shè)置成具有用于訪問共享存儲器堆的第一許可集的第一地址空 間執(zhí)行應(yīng)用程序;
從所述應(yīng)用程序接收編譯一個或多個中間語言指令集的一個或多個 請求;
使用在具有用于訪問所述共享存儲器堆的第二許可集的第二地址空 間中運行的JIT編譯器來將所述一個或多個中間語言指令集編譯成新編譯 的代碼;以及
將所述新編譯的代碼傳遞給所述共享存儲器堆,其中所述應(yīng)用程序 可取出所述新編譯的代碼并從所述第一地址空間執(zhí)行所述新編譯的代碼。
2.如權(quán)利要求1所述的方法,其特征在于,還包括在接收到所述新編 譯的代碼已被傳遞給所述共享存儲器堆的指示后,從內(nèi)核模式切換到用戶模 式操作級的動作。
3.如權(quán)利要求2所述的方法,其特征在于,還包括所述應(yīng)用程序取出 經(jīng)編譯的代碼并從所述第一地址空間執(zhí)行所述經(jīng)編譯的代碼的動作。
4.如權(quán)利要求1所述的方法,其特征在于,所述第一地址空間被配置 成具有對于訪問所述共享存儲器堆的讀/執(zhí)行許可,使得沒有在所述第一地 址空間中操作的組件能夠?qū)λ龉蚕泶鎯ζ鞫褜懭搿?
5.如權(quán)利要求1所述的方法,其特征在于,所述第二地址空間被配置 成以讀/寫許可訪問所述存儲器堆,使得沒有在所述第二地址空間中操作的 組件能夠在所述存儲器堆中執(zhí)行代碼。
6.如權(quán)利要求1所述的方法,其特征在于,所述JIT編譯器以較高特 權(quán)模式操作并且所述應(yīng)用程序以較低特權(quán)模式運行。
7.如權(quán)利要求1所述的方法,其特征在于,所述JIT編譯器被約束在 一個或多個類型安全約束中執(zhí)行,但被配置成接受并編譯不是類型安全的中 間語言語言代碼。
8.如權(quán)利要求7所述的方法,其特征在于,所述JIT編譯器執(zhí)行以下 動作:
接收執(zhí)行違反對所述JIT編譯器的安全約束的功能的一個或多個請 求;以及
拒絕執(zhí)行所述功能的所述一個或多個請求,或停止編譯所述一個或 多個中間語言指令集。
9.如權(quán)利要求1所述的方法,其特征在于,還包括在從所述應(yīng)用程序 接收到所述一個或多個請求后,激活內(nèi)核模式操作級。
10.如權(quán)利要求9所述的方法,其特征在于,所述激活內(nèi)核模式操作級 的動作包括啟動內(nèi)核模式安全組件的動作。
11.如權(quán)利要求10所述的方法,其特征在于,所述來自應(yīng)用程序的一 個或多個請求由內(nèi)核模式安全組件來接收。
12.如權(quán)利要求11所述的方法,其特征在于,還包括所述內(nèi)核模式安 全組件確認所述來自應(yīng)用程序的一個或多個請求的動作。
13.如權(quán)利要求12所述的方法,其特征在于,所述確認一個或多個請 求的動作包括確定所述一個或多個請求中所包括的句柄是否有效的動作。
14.一種在計算機化環(huán)境中的以使用JIT編譯而同時避免安全性違反的 方式生成計算機可執(zhí)行程序代碼的方法,所述計算機化環(huán)境包括存儲、JIT 編譯器以及加載在存儲器中的一個或多個請求應(yīng)用程序,所述方法包括:
接收包括可執(zhí)行代碼和將要編譯的代碼的應(yīng)用程序代碼;
在較低特權(quán)模式中并在第一地址空間中執(zhí)行所述可執(zhí)行代碼;
標識所述可執(zhí)行代碼中指向?qū)⒁幾g的至少某些代碼的一個或多個 指針;
切換到較高特權(quán)模式;以及
使用以所述較高特權(quán)模式操作的編譯器來在不同的地址空間中編譯 所述至少某些代碼。
15.如權(quán)利要求14所述的方法,其特征在于,所述應(yīng)用程序代碼包括 視頻游戲應(yīng)用程序中從所述存儲接收到視頻游戲操作系統(tǒng)中的部分。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于微軟公司,未經(jīng)微軟公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200780043929.0/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 從多形態(tài)可執(zhí)行程序到多形態(tài)操作系統(tǒng)
- 操作可執(zhí)行非易失性存儲器中的部分可執(zhí)行程序的方法
- 一種實現(xiàn)編譯器錯誤的自動定位方法和裝置
- 參數(shù)傳遞方法、單板加載器、單板和單板仿真器
- 一種可執(zhí)行模塊的提供、加載方法及終端
- 調(diào)用重定向機制構(gòu)建Unix可信平臺的方法
- 用于運行可執(zhí)行代碼的方法、處理模塊及系統(tǒng)
- 用于系統(tǒng)適配的動態(tài)程序評估系統(tǒng)和方法
- 一種用于管控可執(zhí)行程序的方法和裝置
- 一種安全運行可執(zhí)行文件的方法及系統(tǒng)





