[發明專利]程序控制流混淆方法、系統、存儲介質、云服務器及應用在審
| 申請號: | 202010193086.X | 申請日: | 2020-03-18 |
| 公開(公告)號: | CN111538962A | 公開(公告)日: | 2020-08-14 |
| 發明(設計)人: | 沈玉龍;王博;何昶輝;趙迪;張志為;何嘉洪;康曉宇;劉家繼;許王哲 | 申請(專利權)人: | 西安電子科技大學 |
| 主分類號: | G06F21/14 | 分類號: | G06F21/14 |
| 代理公司: | 西安長和專利代理有限公司 61227 | 代理人: | 黃偉洪 |
| 地址: | 710071 陜西省*** | 國省代碼: | 陜西;61 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 程序控制 混淆 方法 系統 存儲 介質 服務器 應用 | ||
本發明屬于控制流混淆技術領域,公開了一種程序控制流混淆方法、系統、存儲介質、云服務器及應用,將原始程序中分支語句判斷條件進行隱藏,使用控制流查詢函數替代分支語句的判斷條件;通過在程序中插入偽分支語句進一步混淆控制流;將所述轉換程序發送至不可信的公有云,控制流矩陣發送至可信的私有云;基于所述控制流矩陣,在所述公有云上運行所述轉換程序時。本發明能夠隱藏每個分支語句條件的變量,避免了應用程序邏輯被外部攻擊者惡意獲取和利用;插入偽分支語句,增大攻擊者重建程序控制流的難度;插入關系約束語句并進行數據流一致性檢查,抵御了攻擊者主動更改程序的運行流程,通過在程序運行過程中有目的地加入新的數據收集有效信息。
技術領域
本發明屬于控制流混淆技術領域,尤其涉及一種程序控制流混淆方法、系統、存儲介質、云服務器及應用。
背景技術
目前,程序代碼的安全保護是計算機安全領域的一個重點研究內容。隨著互聯網的飛速發展和大數據時代的到來,云端計算服務越來越流行,云計算環境能夠給用戶帶來更強的計算能力和更好的擴展性。云計算使用戶能夠按需租用計算資源并遠程執行他們的程序。然而,當遠程環境不可信時,保護程序邏輯的機密性成為重要的安全要求。
程序代碼的控制流決定要執行的指令序列,直接反映了程序的邏輯。控制流混淆將程序的控制流轉換為無法理解的形式,可以有效保護程序邏輯的機密性。控制流混淆是保護程序邏輯機密性的直接方法,然而,現有的控制流混淆工作主要集中在基于軟件的代碼混淆上,沒有一種可以抵抗所有分析攻擊的代碼混淆方案,只能一定程度緩解對程序的逆向工程和分析,且代碼混淆方案都引入的性能開銷往往不滿足程序執行效率要求高的場景,存在安全性和性能開銷方面的局限性的問題。
通過上述分析,現有技術存在的問題及缺陷為:現有的控制流混淆工作主要集中在基于軟件的代碼混淆上,存在安全性和性能開銷方面的局限性的問題。
解決以上問題及缺陷的難度和意義為:
(1)應用軟件屬于數字資產,一旦發布之后,惡意攻擊者就可以通過逆向工程對軟件進行破解和重組,對核心算法進或關鍵功能進行剽竊牟利,而控制流混淆是保護用戶程序邏輯的最直接方法;
(2)用戶將程序上傳到云端執行,云端的環境是不可信的,用戶程序邏輯和算法面臨被竊取的風險。在此場景下,控制流混淆方法要同時兼顧安全性以及時間開銷;
(3)本發明的主要思想是將分支語句中判斷條件隱藏到控制流矩陣,并將控制流矩陣上傳到可信的私有云,轉換后的程序上傳到公有云,公有云中的程序執行到分支語句時,根據控制流矩陣在私有云中完成條件評估。
(4)私有云作為可信空間有效隱藏了程序中的分支語句邏輯,能夠有效保護用戶程序的邏輯機密性。因此,本發明的提出對于解決云端用戶程序安全性和性能開銷方面的局限性的問題具有深遠的實踐意義。
發明內容
針對現有技術存在的問題,本發明提供了一種程序控制流混淆方法、系統、存儲介質、云服務器及應用。
本發明是這樣實現的,一種程序控制流混淆方法,所述程序控制流混淆方法包括:
第一步,分支語句隱藏,將原始程序中分支語句判斷條件進行隱藏,將分支語句的判斷條件轉換為第一自定義函數,獲得轉換程序和控制流矩陣;控制流矩陣包括轉換的判斷條件在原程序中的唯一標識、比較運算符左右兩個操作數的標識以及比較運算符;
第二步,偽分支語句構造與插入方法,在原始語句s之前構造并插入偽分支語句,偽分支語句最終將流向s;將偽分支語句的判斷條件轉換為第二自定義函數,獲得轉換程序和控制流矩陣;控制流矩陣包括轉換的判斷條件在原程序中的唯一標識,以及True或者False;
第三步,關系約束賦值語句構造與插入,在原始分支語句b之前構造并插入約束賦值語句,構造分支語句b不可達的變量,對分支語句中的隨機列表中的整型變量進行兩兩隨機約束;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于西安電子科技大學,未經西安電子科技大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010193086.X/2.html,轉載請聲明來源鉆瓜專利網。





