基於可執行體的進程指紋智能識別與模糊採集系統及其方法
2023-10-06 01:42:44 2
專利名稱:基於可執行體的進程指紋智能識別與模糊採集系統及其方法
技術領域:
本發明主要涉及信息安全領域,主要用於在windows下可執行文件甄別。
背景技術:
透明文件加密技術,是為了防止信息未經授權被拷貝出安全的計算機系統環境, 將文檔自動進行加密的技術。透明文件加密系統不改變應用業務流程、不改變操作流程,計算機系統某些敏感程序生成的特定類型的即可文檔保存為加密文檔,系統使用者無權將文檔解密或者拷貝出特定的環境使用的一種系統。透明文件加密技術中關鍵是通過對進程識別判定是否涉密,而對進程的識別主要採用「進程名的識別方式」,「取進程MD5值或進程HASH值」的方法這兩種方法前者存在被篡改,精準性差,後者存在精準性高,但是採集和識別計算量大,運行效率不高不能接受進程微小變化。
發明內容
本發明針對現有技術中的不足,提供了一種基於可執行體的進程指紋智能識別與模糊採集技術既可高效、高精度比對又可減少進程採集次數。為了解決上述技術問題,本發明通過下述技術方案得以解決
本發明的目的在於克服傳統進程識別體系中存在的兩個極端,分別為進程名的識別易被篡改,精準性差,而取進程MD5值、進程HASH值的方式精準性高但採集量大,可執行體略微變化,小版本修改就不能識別的弊端。對功能行為沒有本質變量的進程一次採集可多種識別。進而提高識別效率,減少採集次數。更符合透明加解密和進程控制中對進程識別的需求,理論原理可執行程序基本功能不發生變化,其所依賴的動態庫和動態庫數量不會發生變化,本發明不光透明文件加密技術使用,也可用於在windows下進程識別比對所有情況, 例如進程權限控制中的進程識別。本發明解決其技術問題採用的技術方案,基於可執行體的進程指紋智能識別與模糊採集技術該方法包括如下步驟
1進程指紋採集
1.1採集程序加載可執行文件
1.2採集程序解析pe頭部得到導入表和導出表
1.3確定導入表中相關導入項,得到第一項名稱導入項數量和最後項名稱導入項數量 I. 4確定導出表中相關導出項,得到導出項第一名稱,如沒導出項取得可執行程序映像
名
1.5取入相關數據結構,取結構MD5摘要存入資料庫中 2進程指識別2. I在應用程式啟動時,通過工作在windows內核中的進程指識別模塊解析加載的可執行文件
2. 2進程指識別模塊解析pe頭部得到導入表和導出表
2. 3確定導入表中相關導入項,得到第一項名稱導入項數量和最後項名稱導入項數量 2. 4確定導出表中相關導出項,得到導出項第一名稱,如沒導出項則取得可執行程序映
像名
2. 5取入相關數據結構
2. 6取結構MD5摘要與存儲在資料庫中採集的MD5摘要對比,匹配認定為該進程為採集集合中,不匹配認定為不在採集集合中。
圖I為進程指紋形成2為採集流程圖;圖3為比對流程圖;圖4為指紋結構圖;圖5為透明解密系統使用;圖6為米集程序流程圖。
具體實施例方式下面結合附圖與具體實施方式
對本發明作進一步詳細描述
圖I過程為進程指紋形成的示意圖,包括三類元素分別為導入項、導入項數量和導出項。圖4為具體存放進程指紋的相關數據結構PR0CESS_MARK_INF0RMATI0N_EX,第一導入項名、最後導入項名、導入項數量和導出項名。使用圖6流程,在圖6中調用圖2流程完成進程指紋的採集。透明文件加密系統文件過濾模塊其使用圖5流程實現對進程是否涉密作判定,在採集集合中為涉密,不在採集集合中中為非涉密,使用指紋得到摘要並從資料庫中比對。本發明解決其技術問題採用的技術方案,基於可執行體的進程指紋智能識別與模糊採集技術該方法包括如下步驟
I進程指紋採集
1.1採集程序加載可執行文件
I.2採集程序解析pe頭部得到導入表和導出表
I.3確定導入表中相關導入項,得到第一項名稱和最後項名稱導入項數量
I.4確定導出表中相關導出項,得到導出項第一名稱,如沒導出項則取得可執行程序映
像名
1.5取入相關數據結構,取結構MD5摘要存入資料庫中 2進程指識別
2.I在應用程式啟動時,通過工作在windows內核中的進程指識別模塊解析加載的可執行文件
2. 2進程指識別模塊解析pe頭部得到導入表和導出表2. 3確定導入表中相關導入項,得到第一項名稱導入項數量和最後項名稱導入項數量
2.4確定導出表中相關導出項,得到導出項第一名稱,如沒導出項取得可執行程序映像
名
2.5取入相關數據結構
2.6取結構MD5摘要與存儲在資料庫中採集的MD5摘要對比,匹配認定為該進程為採集集合中,不匹配認定為不在採集集合中。總之,以上所述僅為本發明的較佳實施例,凡依本發明申請專利範圍所作的均等變化與修飾,皆應屬本發明專利的涵蓋範圍。
權利要求
1.基於可執行體的進程指紋智能識別與模糊採集系統,其特徵在於包括(a)進程指紋採集系統;(b)進程指紋識別系統。
2.根據權利要求I的基於可執行體的進程指紋智能識別與模糊採集系統,其特徵在於進程指紋採集系統包括採集程序、採集程序解析Pe頭部、指針、結構MD5和資料庫。
3.根據權利要求I的基於可執行體的進程指紋智能識別與模糊採集系統,其特徵在於,其中進程指紋識別系統,包括應用程式、進程指紋識別模塊、指針、結構MD5摘要與資料庫。
4.基於可執行體的進程指紋智能識別與模糊採集的方法,其特徵在於包括(a)進程指紋採集;(b)進程指紋識別。
5.根據權利要求4的基於可執行體的進程指紋智能識別與模糊採集的方法,其特徵在於其中進程指紋採集,步驟包括(a)採集程序加載可執行文件;(b)採集程序解析pe頭部得到導入表和導出表;(C)根據指針,得到第一項名稱導入項數量和最後項名稱導入項數量,確定導出表中相關導出項,得到導出項第一名稱;(d)存入相關數據結構PR0CESS_MARK_INF0RMATI0N_EX,存入第一導入項名;存入最後導入項名;存入導入項數據;存入第一導出項名或執行程序映像名,取結構MD5摘要存入資料庫中。
6.根據權利要求5的基於可執行體的進程指紋智能識別與模糊採集的方法,其特徵在於其中採集程序解析Pe頭部得到導入表和導出表步驟包括(a)得到進程基址,根據進程基址計算pe文件IMAGE_DOS_HEADER,根據IMAGE_D0S_ HEADER 得到 IMAGE_NT_HEADERS ;(b)使用IMAGE_NT_HEADERS對PE文件交驗判斷是否為合法的可執行文件;(c)根據基址和IMAGE_DOS_HEADE計算出導入表和導出表地址;(d)枚舉導入表記錄導入項數量,得到指身第一導入項指針、最後導入項指針、導出項指針。
7.根據權利要求4的基於可執行體的進程指紋智能識別與模糊採集的方法,其特徵在於其中進程指紋識別,步驟包括(a)在應用程式啟動時,通過工作在windows內核中的進程指紋識別模塊解析加載的可執行文件;(b)進程指紋識別模塊解析pe頭部得到導入表和導出表;(C)根據指針,得到第一項名稱導入項數量和最後項名稱導入項數量,確定導出表中相關導出項,得到導出項第一名稱;(d)存入相關數據結構PR0CESS_MARK_INF0RMATI0N_EX,存入第一導入項名;存入最後導入項名;存入導入項數據;存入第一導出項名或執行程序映像名,去結構MD5摘要與存儲在資料庫中採集的MD5照耀對比,匹配認定為該進程為採集集合中。
8.根據權利要求7的基於可執行體的進程指紋智能識別與模糊採集的方法,其特徵在於其中進程指紋識別模塊解析Pe頭部得到導入表和導出表的步驟(a)得到進程基址,根據進程基址計算pe文件IMAGE_DOS_HEADER,根據IMAGE_D0S_ HEADER 得到 IMAGE_NT_HEADERS ;(b)使用IMAGE_NT_HEADERS對PE文件交驗判斷是否為合法的可執行文件;(c)根據基址和IMAGE_DOS_HEADE計算出導入表和導出表地址;(d)枚舉導入表記錄導入項數量,得到指身第一導入項指針、最後導入項指針和導出項指針。
9.根據權利要求6或8的基於可執行體的進程指紋智能識別與模糊採集的方法, 其特徵在於其中進程基址是一個首地址,pe文件是任意exe可執行文件,IMAGE_D0S_ HEADERIMAGE_NT_HEADERS是一種數據結構,記pe文件的工作環境是32位或64位。
10.根據權利要求5或7的基於可執行體的進程指紋智能識別與模糊採集的方法,其特徵在於系統中導出項為否,得到可執行文件映像名。
全文摘要
本發明的目的在於克服傳統進程識別體系中存在的兩個極端,分另為進程名的識別易被篡改,精準性差。和取進程MD5值、進程HASH值的方式精準性高但採集量大,可執行體略微變化,小版本修改就不能識別的弊端。對功能行為沒有本質變量的進程一次採集可多種識別。進而提高識別效率,減少採集次數。更符合透明加解密和進程控制中對進程識別的需求,理論原理可執行程序基本功能不發生變化,其所依賴的動態庫和動態庫數量不會發生變化,本發明不光透明文件加密技術使用,也可用於在windows下進程識別比對所有情況,例如進程權限控制中的進程識別。
文檔編號G06F21/22GK102609664SQ20121001660
公開日2012年7月25日 申請日期2012年1月19日 優先權日2012年1月19日
發明者林偉, 陳歡智, 陳鶯 申請人:杭州萬用密寶科技有限公司