[發明專利]面向Intel SGX的程序自動化移植系統在審
| 申請號: | 202010065323.4 | 申請日: | 2020-01-20 |
| 公開(公告)號: | CN113138797A | 公開(公告)日: | 2021-07-20 |
| 發明(設計)人: | 張媛媛;王舒然;馮潤涵 | 申請(專利權)人: | 上海交通大學 |
| 主分類號: | G06F8/76 | 分類號: | G06F8/76 |
| 代理公司: | 上海交達專利事務所 31201 | 代理人: | 王毓理;王錫麟 |
| 地址: | 200240 *** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 面向 intel sgx 程序 自動化 移植 系統 | ||
1.一種面向Intel SGX的程序自動化移植系統,其特征在于,包括:標記模塊、分析模塊和代碼生成模塊,其中:標記模塊與分析模塊相連并傳輸敏感變量相關信息,分析模塊與代碼生成模塊相連并傳輸敏感變量相關的函數信息,代碼生成模塊根據原程序代碼以及敏感函數信息,生成可信代碼和不可信代碼;
所述的標記模塊包括:用于向配置文件中寫明敏感變量的名稱、敏感變量所在的源代碼文件名以及敏感變量在文件中對應的行數標記單元。
2.根據權利要求1所述的面向Intel SGX的程序自動化移植系統,其特征是,所述的分析模塊通過靜態程序分析方法生成源代碼的程序依賴圖、通過前向切片技術和后向切片技術生成切片代碼集,再從切片代碼集中提取出切片所在的函數名,去掉重復的函數名后得到敏感函數集,該分析模塊包括:程序依賴圖生成單元、前向切片和后向切片單元以及整合單元,其中:程序依賴圖生成單元與前向切片單元以及后向切片單元相連并傳輸程序依賴圖,程序依賴圖包括程序控制依賴關系和程序數據依賴關系,前向切片單元與整合模塊相連并傳輸前向切片代碼,后向切片單元與整合模塊相連并傳輸后向切片代碼,整合單元將切片代碼進行整合,從中提取出敏感函數集。
3.根據權利要求1所述的面向Intel SGX的程序自動化移植系統,其特征是,所述的代碼生成模塊基于敏感函數集列表將源代碼切分成可信部分,即Enclave源代碼和不可信部分,即外部源代碼,即:基于敏感函數集對源代碼做基本的切分;基于源代碼中的函數定義識別出可信部分與不可信部分的調用接口,即Ecall/Ocall函數;處理敏感函數中系統調用相關API的使用;生成Intel SGX SDK所需的調用接口說明,即EDL文件;該代碼生成模塊包括:基本代碼切分單元、調用接口識別單元、系統調用API處理單元與EDL生成單元,其中:基本代碼切分單元的輸入為源代碼以及敏感函數集,源代碼中的敏感函數由基本代碼切分單元切分到可信部分,即Enclave源代碼,而其余函數則切分到不可信部分,即外部源代碼,基本代碼切分單元的輸出為被切分后的源代碼,由Enclave源代碼與外部源代碼共同組成,調用接口識別單元和系統調用API處理單元與代碼切分單元直接相連,調用接口識別單元和系統調用API處理單元的輸入即代碼切分單元的輸出,調用接口識別單元和系統調用API處理單元在被切分后的源代碼基礎上,進一步分析可信部分與不可信部分之間的調用接口,即Ecall/Ocall函數,對源代碼做相應的修改,同時輸出Ecall/Ocall函數列表,EDL生成單元與調用接口識別單元以及系統調用API處理單元直接相連,其輸入為Ecall/Ocall函數列表,并以Intel規定的EDL,即Enclave Definition Language格式生成接口說明,即EDL文件。
4.根據上述任一權利要求所述系統的面向Intel SGX的程序自動化移植方法,其特征在于,包括:
步驟1.手動在原始普通版本C語言代碼中標記出與安全或隱私相關的敏感變量;
步驟2.對原始普通版本C語言代碼進行程序分析,生成原始普通版本C語言代碼的程序依賴圖,根據程序依賴圖,對標記的敏感變量進行前向切片和后向切片,得到包含敏感數據及語句的函數名,得到一個敏感函數集;
步驟3.將源代碼切分成可信部分與不可信部分,基于敏感函數集,先對源代碼做基本的切分,在此基礎上根據源代碼,將不敏感函數所調用的敏感函數定義OCall函數,將敏感函數調用的不敏感函數定義為ECall函數,通過對抽象語法樹AST進行解析,獲取函數聲明的原型,此外,對Enclave函數相關系統調用封裝為OCall函數,從而自動生成EDL文件。
5.根據權利要求4所述的方法,其特征是,所述的步驟2,包括:
步驟201.利用靜態程序分析方法生成源代碼的程序依賴圖;
步驟202.根據敏感變量,對程序依賴圖進行前向切片和后向切片;
步驟203.提取切片代碼片段,從中提取函數名,去重整合函數名。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于上海交通大學,未經上海交通大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010065323.4/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:電子設備及食譜的推薦方法和裝置
- 下一篇:區塊鏈記賬方法、電子設備及存儲介質





