[發明專利]一種基于API安全屬性隱藏與攻擊威脅監控的軟件保護方法有效
| 申請號: | 201510997890.2 | 申請日: | 2015-12-28 |
| 公開(公告)號: | CN105653905B | 公開(公告)日: | 2018-07-24 |
| 發明(設計)人: | 湯戰勇;郝朝輝;房鼎益;龔曉慶;陳峰;陳曉江;葉貴鑫;張潔;張恒 | 申請(專利權)人: | 西北大學 |
| 主分類號: | G06F21/12 | 分類號: | G06F21/12;G06F21/14 |
| 代理公司: | 西安恒泰知識產權代理事務所 61216 | 代理人: | 李婷 |
| 地址: | 710069 *** | 國省代碼: | 陜西;61 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 api 安全 屬性 隱藏 攻擊 威脅 監控 軟件 保護 方法 | ||
1.一種基于API安全屬性隱藏與攻擊威脅監控的軟件保護方法,其特征在于,包括以下步驟:
步驟一,從待保護的PE文件的輸入表中提取DLL文件信息,將DLL文件信息記錄在一個輸入信息記錄表imp_tab中;
步驟二,提取PE文件的執行控制流圖CFG;
步驟三,提取API調用點,得到調用點集合cs_set;
步驟四,提取API傳參代碼塊;
步驟五,提取API返回值解密點;
步驟六,轉儲輸入信息記錄表imp_tab中的DLL文件信息至新的地址空間,計算轉儲后新的API入口地址;
步驟七,構造跳板函數塊SpringBlock,以正確指導步驟六轉儲的API從舊地址到新地址的尋址;
步驟八,在返回值解密點插入異常指令,以保證保護后的PE文件在執行過程中,遇到異常指令時,程序轉入預先設置的返回值解密處理函數中;
步驟九,構造能檢測軟件執行過程中所面臨威脅的節點,生成節點庫;首先,使用<威脅目的,實施方式,作用對象>的描述方式對這其中威脅進行細致劃分和形式化表示;其次,提取威脅特征,考慮時可以結合三個因素:①威脅的實施方式,②威脅的作用對象,③威脅造成的影響;最后,根據特征構造檢測此威脅的代碼片,及檢測結點;
步驟十,部署節點網,構造節點網通信的數據結構;
步驟十一,構造返回值解密處理函數;
步驟十二,對PE文件進行重構
計算保護方案各個部分的總大小為size,申請size大小的由Pbase指向的存儲空間,將所述各個部分保存到該空間內;創建一個PE新節,將Pbase處的大小為size的內容復制到該新節里,保存修改后的PE文件。
2.如權利要求1所述的基于API安全屬性隱藏與攻擊威脅監控的軟件保護方法,其特征在于,所述的步驟三的具體過程包括:
步驟S30,提取Intel X86指令集中調用API的指令格式模板template_call;
步驟S31,在PE文件結構中,找到代碼區段的起始地址start和該區段的大小,計算代碼區段的結束地址end;
步驟S32,反匯編start至end之間的二進制數據得到匯編指令,并按照匯編指令的地址順序組成一個匯編指令序列,記為ins_list;
步驟S33,在匯編指令序列ins_list中,從start開始逐條取指令,依次判斷所取指令所對應的二進制數據是否與template_call的指令格式匹配,如匹配,則將該條指令地址csi和該條指令insi存儲到調用點集合cs_set中,其中i為自然數;否則,繼續查看下一條指令,直至到達end處。
3.如權利要求2所述的基于API安全屬性隱藏與攻擊威脅監控的軟件保護方法,其特征在于,所述的步驟四的具體過程包括:
步驟S40,根據步驟一得到的輸入信息記錄表imp_tab,逐一解析每一個API的參數個數和參數的數據類型;
步驟S41,從調用點集合cs_set中的第一條記錄<cs1,ins1>開始,逐條確定每一個API調用指令insi所在的基本塊bj;
步驟S42,確定每一個API調用點地址csi所在基本塊bj的直接前驅基本塊集合presetj,j為自然數;
步驟S43,對于cs_set中的每一條API調用指令,從它的API調用點地址csi開始,按照指令地址遞減的順序,查找傳參功能的代碼塊,直至該API的所有參數傳遞完畢或對應查找的代碼塊集合遍歷結束時退出,標記所找到的傳參代碼塊為OPCi=<headi,taili>;按照同樣的方法,處理其他的API調用指令,直至遍歷完整個cs_set。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于西北大學,未經西北大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201510997890.2/1.html,轉載請聲明來源鉆瓜專利網。





