[發明專利]一種防止軟件被反調試的方法和系統在審
| 申請號: | 201510711176.2 | 申請日: | 2015-10-28 |
| 公開(公告)號: | CN106650338A | 公開(公告)日: | 2017-05-10 |
| 發明(設計)人: | 江家仁 | 申請(專利權)人: | 中國電信股份有限公司 |
| 主分類號: | G06F21/14 | 分類號: | G06F21/14 |
| 代理公司: | 中國國際貿易促進委員會專利商標事務所11038 | 代理人: | 劉劍波 |
| 地址: | 100033 *** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 防止 軟件 調試 方法 系統 | ||
技術領域
本發明涉及信息安全領域,尤其涉及一種防止軟件被反調試的方法和系統。
背景技術
隨著計算機和入侵技術的不斷發展,軟件業在迅速壯大的同時面臨的威脅也在與日俱增,軟件開發者為了維護自身的利益,保護科研成果、技術和版權不被侵害,必須對軟件進行防破解保護。同樣,隨著公民安全意識的全面提高,軟件的使用者也越來越重視所購買的軟件在使用過程中產生的涉及到自身的賬戶信息、交易數據和訪問記錄等敏感信息的安全性和軟件反調試保護的有效性。
現有的軟件反調試保護技術主要是通過本地硬件加密鎖或加密鎖虛擬機技術來實現程序保護,前者是一個具有程序處理和一定存儲能力的硬件,使用成本高和便攜性差使其應用場景受限,并且由于內置IC(Integrated Circuit,集成電路)指令不兼容X86指令,保護程序需要針對IC編譯器單獨設計,從而導致開發過程繁瑣、可移植性差,對開發者要求也較高;而后者是通過對運行在X86系列計算機上的程序進行虛擬化映射轉換來實現保護功能,但這些仍舊基于本地單機的保護方式對有聯網通信要求的C/S(Client/Server,客戶機/服務器)應用程序起到的保護非常有限。
圖1示出了現有技術中實現防止軟件反調試的架構的示意圖。如圖1所示,在單次運行生命周期內,其中,被保護軟件進程101和加密鎖虛擬機進程102位于客戶端的User層(用戶層),映射單元103和反映射單元104位于客戶端的Kernel層(內核層)。被保護軟件進程101將內存數據提交給映射單元103和反映射單元104,將加密 鎖虛擬機進程102的output(輸出)結果值返回給被保護軟件進程101的過程中,由于缺少針對進程鉤掛注入和進程寄存器及內存地址的反跟蹤保護,導致仍舊可以被反調試工具跟蹤調試和捕獲、篡改內存數據。并且,由于加密鎖虛擬機進程102生命周期小于等于被保護軟件進程101,無法保留原始執行結果Hash特征值,導致無法進行再次校檢和判定被保護軟件進程101的內存是否存在被入侵和篡改的跡象、并且無法及時阻斷入侵行為。同時,采用X86虛擬機保護方式導致執行效率降低和系統開銷增大。
因此,需要更好的防止逆向調試和跟蹤的技術,并不僅對客戶端,而且還通過連接服務器的無缺性檢查,以便提供更安全的運行環境。
發明內容
本發明提供了一種防止軟件被反調試的方法和系統,通過客戶端和服務器聯動來檢測并阻止對軟件進行入侵和破解的方法和系統,解決了如何判斷客戶端上運行的軟件正在被調試,并能夠阻止繼續入侵的安全盲點,從而使攻擊者動態反調試目標軟件、試圖破解其保護殼、篡改程序結構和執行數據的行為無法有效實施。
根據本發明的一個方面,提供了一種防止軟件被反調試的方法,包括:
在服務器中的第一防止反調試模塊與客戶端中的第二防止反調試模塊建立聯動通道后,第一防止反調試模塊通過聯動通道周期性的向第二防止反調試模塊發送反調試查詢請求;
第二防止反調試模塊根據反調試查詢請求,查詢是否存在調試行為,并將查詢結果通過聯動通道發送給第一防止反調試模塊;
第一防止反調試模塊根據查詢結果,判斷被保護軟件的運行是否異常;
若判斷被保護軟件的運行異常,則第一防止反調試模塊通過聯動通道向第二防止反調試模塊發送保護操作指示,以便第二防止反調試模塊阻斷任何調制行為,從而實現端到端聯動安全保護。
在一個實施例中,服務器中的第一Hook攔截模塊通過聯動通道周期性的向客戶端中的第二Hook攔截模塊發送Hook查詢請求;
第二Hook攔截模塊根據Hook查詢請求,查詢是否存在與被保護軟件相關聯的Message Hook調用行為,并將查詢結果通過聯動通道發送給第一Hook攔截模塊;
第一Hook攔截模塊根據查詢結果,判斷被保護軟件的運行是否異常;
若判斷被保護軟件的運行異常,則第一Hook攔截模塊通過聯動通道向第二Hook攔截模塊發送保護操作指示,以便第二Hook攔截模塊攔截與被保護軟件相關聯的Message Hook調用行為。
在一個實施例中,服務器中的第一內存入侵攔截模塊通過聯動通道周期性的向客戶端中的第二內存入侵攔截模塊發送內存入侵查詢請求;
第二內存入侵攔截模塊根據內存入侵查詢請求,查詢是否存在內存入侵行為,并將查詢結果通過聯動通道發送給第一內存入侵攔截模塊;
第一內存入侵攔截模塊根據查詢結果,判斷被保護軟件的運行是否異常;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國電信股份有限公司,未經中國電信股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.17sss.com.cn/pat/books/201510711176.2/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:對安裝包中的腳本文件進行處理的方法和裝置
- 下一篇:書架(五層)





