[發(fā)明專利]一種基于API安全屬性隱藏與攻擊威脅監(jiān)控的軟件保護方法有效
| 申請?zhí)枺?/td> | 201510997890.2 | 申請日: | 2015-12-28 |
| 公開(公告)號: | CN105653905B | 公開(公告)日: | 2018-07-24 |
| 發(fā)明(設計)人: | 湯戰(zhàn)勇;郝朝輝;房鼎益;龔曉慶;陳峰;陳曉江;葉貴鑫;張潔;張恒 | 申請(專利權)人: | 西北大學 |
| 主分類號: | G06F21/12 | 分類號: | G06F21/12;G06F21/14 |
| 代理公司: | 西安恒泰知識產權代理事務所 61216 | 代理人: | 李婷 |
| 地址: | 710069 *** | 國省代碼: | 陜西;61 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 api 安全 屬性 隱藏 攻擊 威脅 監(jiān)控 軟件 保護 方法 | ||
本發(fā)明公開了一種基于API安全屬性隱藏與攻擊威脅監(jiān)控的軟件保護方法,該方法的步驟包括獲取待保護文件的原始輸入信息記錄表、提取文件的執(zhí)行控制流圖、提取API調用點、提取API傳參代碼塊、提取API返回值解密點、轉儲DLL,計算新的API入口地址、構造跳板函數(shù)塊、在返回值解密點插入異常指令、構造節(jié)點,生成節(jié)點庫、部署節(jié)點網(wǎng),構造節(jié)點背景、構造返回值解密處理函數(shù)、PE文件重構。本方法從內、外兩方面對軟件進行保護,從攻擊者逆向工程的角度出發(fā),分析不同API邊界信息在逆向分析過程中的作用,把需要隱藏的API安全屬性和檢測節(jié)點庫置于程序新節(jié)中,并對新節(jié)入口進行了加密處理,進一步使得攻擊者難以逆向分析保護后的PE文件。
技術領域
本發(fā)明屬于計算機軟件安全領域,特別是一種針對Windows系統(tǒng)上目標二進制代碼中API安全屬性隱藏及結合攻擊實例對軟件所面臨的潛在攻擊威脅進行總結、分類,為這些攻擊威脅設計有效的檢測盒處理方式,加大攻擊難度的軟件保護方法。
背景技術
軟件產業(yè)已經(jīng)成為推動社會發(fā)展的主要動力,深入到人類生活的各個方面。根據(jù)馬斯洛的需求層次理論,安全需求是僅次于生理需求的第二大需求。因此軟件安全不僅是軟件產業(yè)健康發(fā)展的基本需求,也是國民經(jīng)濟和國家安全的重要保障。由于破解技術和工具隨手可得,軟件攻擊者可以利用反匯編器、調試器等代碼分析工具窺探軟件執(zhí)行流程,篡改軟件機密信息(如商業(yè)邏輯、知識產權、身份隱私等),破解關鍵算法。因此,當前的軟件處于危機四伏的“白盒攻擊環(huán)境”(White-Box Attack Context)。
軟件的逆向分析技術是軟件攻擊者實施攻擊過程的主要手段,軟件自身的資源信息為攻擊者提供切入點,攻擊者不會對軟件中的指令進行逐條分析,而是充分利用軟件的內部狀態(tài)信息來快速分析軟件。API是軟件中一類重要內部狀態(tài)信息,常被用于分析軟件行為或定位關鍵算法。Choi S指出API的執(zhí)行序列和參數(shù)在一定程度上刻畫出了軟件的行為功能,并根據(jù)特定API的執(zhí)行序列和參數(shù)可推測定位出軟件中某些關鍵算法或數(shù)據(jù)的位置。Collberg提出需確保軟件處在一個安全的環(huán)境中執(zhí)行,提出建立黑白名單威脅庫,在軟件運行時對這些威脅進行監(jiān)控;Gu提出軟件白盒攻擊環(huán)境下的14種安全模式,因此,對執(zhí)行中的軟件進行威脅檢測,能夠在一定程度上降低攻擊成功率,提高軟件安全性。
現(xiàn)有的API信息隱藏方法主要采用加殼工具對可執(zhí)行文件進行保護,主要分為以下兩類:①加密輸入表:即對這些信息變形隱藏,使他們以密文形式呈現(xiàn),以抵御攻擊者的靜態(tài)分析。②攔截輸入地址表:在軟件執(zhí)行過程中,運行到API調用地址處時,才依次解密相應的密文信息,解析該符號地址。但該信息并不回填,當再次運行到該位置時,依然會執(zhí)行密文解密、符號解析的代碼,內存中不會出現(xiàn)完整的輸入表明文內容。但上述方法仍存在不足:方法①在程序被載入運行后,若攻擊者對輸入表進行dump,就可得到程序所用的API名稱等信息;方法②則不能抵御攻擊者利用一些動態(tài)收集工具(如SoftSnoop)來獲取API的其他信息。
現(xiàn)有的軟件攻擊威脅監(jiān)控主要方法有:①張璇提出一種基于信息熵和攻擊面的軟件安全度量方法,利用各資源的信息熵來評估每種資源的安全威脅程度;②在軟件中部署多個安全哨兵用于檢測軟件是否遭受篡改;③提高安全哨兵自身安全性,提出采用三線程和安全哨兵結合的方法。然而,目前在軟件中處理的攻擊威脅類型較單一,且威脅處理片段易被去除,同時對可被逆向分析利用的軟件可用信息缺乏理論上的分析與較深入的研究案例。
發(fā)明內容
針對上述現(xiàn)有API信息隱藏與攻擊威脅監(jiān)控技術存在的缺陷和不足,本發(fā)明的目的在于,提出基于API信息隱藏與攻擊威脅監(jiān)控相結合的軟件保護方法(SoftwareProtection Based on Combining Hiding API Information With Monitoring AttackThreats,HIMTASP),該方法從內、外兩方面對軟件進行保護,最終達到阻礙逆向分析、保護軟件的目的。
為了實現(xiàn)上述任務,本發(fā)明采用以下技術方案:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于西北大學,未經(jīng)西北大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201510997890.2/2.html,轉載請聲明來源鉆瓜專利網(wǎng)。





