国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種操作系統(tǒng)進程完整性檢測方法

      文檔序號:6551399閱讀:302來源:國知局
      一種操作系統(tǒng)進程完整性檢測方法
      【專利摘要】本發(fā)明公開一種操作系統(tǒng)進程完整性檢測方法,包括靜態(tài)完整性檢測步驟和動態(tài)完整性檢測步驟,靜態(tài)完整性檢測步驟為當一個新的進程即將運行時,首先將其掛起,對二進制文件進行完整性度量,果進程是首次運行,則將度量結果寫入完整性數(shù)據(jù)庫;否則,將度量結果與數(shù)據(jù)庫中存儲的值進行比較,一致則運行進程繼續(xù)運行,不一致則拒絕;動態(tài)完整性檢測步驟通過判斷進程內存空間是否發(fā)生變化來檢測進程的動態(tài)完整性。如果進程內存空間沒有發(fā)生變化,則繼續(xù)讀取進程代碼段的內容進行完整性計算,否則,直接拒絕進行繼續(xù)運行。本發(fā)明最大程度地防止進程完整性遭到惡意篡改,從而達到保護操作系統(tǒng)安全的目的。
      【專利說明】一種操作系統(tǒng)進程完整性檢測方法

      【技術領域】
      [0001]本發(fā)明涉及一種進行完整性檢測方法,更具體的說,涉及一種動靜態(tài)結合的操作系統(tǒng)進程完整性檢測方法。

      【背景技術】
      [0002]進程完整性就是程序在運行過程中保持為正確的屬性。破壞進程的完整性是惡意代碼入侵計算機常用的手段。攻擊者通過向進程的線性地址空間寫入一段可執(zhí)行的二進制代碼,修改進程的正常執(zhí)行流程,從而達到特殊的目的。最顯著的例子是進程注入攻擊。許多著名的蠕蟲,例如沖擊波、Code Red II都是利用修改進程的內存空間,破壞進程的完整性來實現(xiàn)傳播目的。隨著黑客技術的飛速發(fā)展,進程的完整性破壞對操作系統(tǒng)的危害越來越大。因此,實時監(jiān)控進程的完整性,防止進程被惡意篡改對保護操作系統(tǒng)的安全十分重要。
      [0003]完整性檢測分為靜態(tài)完整性檢測和動態(tài)完整性檢測。靜態(tài)完整性檢測關注進程二進制文件的完整性,一旦進程被加載到內存,之后發(fā)生任何變化都無法檢測。動態(tài)完整性檢測關注進程運行時的代碼完整性,是惡意代碼最常用的攻擊手段,也是進程完整性檢測的研究熱點。


      【發(fā)明內容】

      [0004]發(fā)明目的:本發(fā)明目的在于針對現(xiàn)有技術的不足,提供一種防止進程完整性遭到惡意篡改、達到保護操作系統(tǒng)安全的目的的操作系統(tǒng)進程完整性檢測方法。
      [0005]技術方案:本發(fā)明所述一種操作系統(tǒng)進程完整性檢測方法,包括位于應用層的靜態(tài)完整性度量模塊、通信模塊、完整性數(shù)據(jù)庫和位于內核層的監(jiān)控模塊、動態(tài)完整性度量模塊,包括靜態(tài)完整性檢測步驟和動態(tài)完整性檢測步驟,
      所述靜態(tài)完整性檢測步驟按如下步驟進行:
      步驟401,由操作系統(tǒng)將進程裝載入內存中;
      步驟402,計算該進程對應的二進制可執(zhí)行文件的HASH值;
      步驟403,判斷該進程是否為第一次執(zhí)行,若為第一次執(zhí)行,則進行步驟404,否則進行步驟405 ;
      步驟404,將該進程對應的二進制可執(zhí)行文件的HASH值存入完整性數(shù)據(jù)庫中;
      步驟405,從完整性數(shù)據(jù)庫中提取該進程對應二進制文件的HASH值;
      步驟406,判斷提取出的HASH值與計算出的HASH值是否一致,若一致,進行步驟407,否則進行步驟409 ;
      步驟407,統(tǒng)計該進程的相關內存信息并計算該進程代碼段的HASH值,并將這些值存入完整性數(shù)據(jù)庫中;
      步驟408,允許該進程繼續(xù)執(zhí)行;
      步驟409,終止該進程的運行;
      所述動態(tài)完整性檢測步驟按如下步驟進行: 步驟410,程序執(zhí)行寫進程空間操作;
      步驟411,將該進程掛起;
      步驟412,提取此時進程的相關內存信息并計算其HASH值;
      步驟413,從完整性數(shù)據(jù)庫中提取該進程的HASH值;
      步驟414,判斷提取的HASH值與計算出的HASH值是否一致,若一致,進行步驟415,否則進行步驟419 ;
      步驟415,計算進程所用代碼段的HASH值;
      步驟416,從完整性數(shù)據(jù)庫中提取該進程代碼段的HASH值;
      步驟417,判斷提取出的HASH值與計算出的HASH值是否一致,若一致,進行步驟418,否則進行步驟419 ;
      步驟418,允許該進程繼續(xù)執(zhí)行,循環(huán)至步驟410 ;
      步驟419,終止該進程的運行。
      [0006]本發(fā)明技術方案的進一步限定為,在靜態(tài)完整性檢測步驟中,需要檢測的進程包括:(I)系統(tǒng)啟動時,所有隨機啟動的進程;(2 )系統(tǒng)啟動后,新的即將運行的進程。
      [0007]進一步地,所述監(jiān)控模塊攔截進程的創(chuàng)建請求和寫進程空間的請求,具體為:當攔截到進程創(chuàng)建請求時,通知靜態(tài)完整性度量模塊進行靜態(tài)完整性檢測;當攔截到寫進程空間的請求時,通知動態(tài)完整性度量模塊進行動態(tài)完整性檢測。
      [0008]進一步地,所述監(jiān)控模塊進行自身的防護,禁止自身文件被非法訪問,同時對自身的進程提供訪問控制保護。
      [0009]進一步地,所述完整性數(shù)據(jù)庫存儲進程的完整性信息,包括靜態(tài)二進制文件的完整性值、動態(tài)進程空間代碼段的完整性值以及進程內存信息的完整性值。
      [0010]有益效果:本發(fā)明提供了一中靜態(tài)完整性和動態(tài)完整性相結合的操作系統(tǒng)進程完整性檢測方法,專門針對WINDOWS操作系統(tǒng)進程運行特點而設計,首先在進程運行前檢測進程文件的完整性,若檢測通過,則允許進程運行,并實時監(jiān)控和檢測進程運行時的代碼完整性,否則直接拒絕進程運行,本發(fā)明通過雙重檢測,最大程度地防止進程完整性遭到惡意篡改,從而達到保護操作系統(tǒng)安全的目的;本發(fā)明全面、實時、高效地操作系統(tǒng)中運行的進程的相關情況,并對可能出現(xiàn)的篡改進程完整性的情況進行及時報警并采取必要措施,有效地檢測二進制文件和進程運行時空間的完整性,確保運行的進程是未被修改過的,能夠以預期的行為實現(xiàn)預期的目的,經(jīng)過測試,該模型在檢測的全面性、防御的廣泛性以及性能的穩(wěn)定性方面有著突出的表現(xiàn)。

      【專利附圖】

      【附圖說明】
      [0011]圖1為本發(fā)明所述的操作系統(tǒng)進程完整性檢測方法中系統(tǒng)的模型圖;
      圖2為本發(fā)明所述的操作系統(tǒng)進程完整性檢測方法的流程圖。

      【具體實施方式】
      [0012]下面通過附圖對本發(fā)明技術方案進行詳細說明,但是本發(fā)明的保護范圍不局限于所述實施例。
      [0013]實施例1:一種操作系統(tǒng)進程完整性檢測方法,專門針對WINDOWS操作系統(tǒng)進程運行特點而設計,可以全面、實時、高效地操作系統(tǒng)中運行的進程的相關情況,并對可能出現(xiàn)的篡改進程完整性的情況進行及時報警并采取必要措施。
      [0014]為了方便的運行本方法,建立進程完整性檢測模型,其模型圖如圖1所示,由靜態(tài)完整性度量模塊、通信模塊、完整性數(shù)據(jù)庫、監(jiān)控模塊、動態(tài)完整性度量模塊五部分組成。靜態(tài)完整性度量模塊、通信模塊和完整性數(shù)據(jù)庫位于應用層,監(jiān)控模塊和動態(tài)完整性度量模塊位于內核層。
      [0015]①靜態(tài)完整性度量模塊
      靜態(tài)完整性度量模塊計算二進制文件的完整性。靜態(tài)完整性檢測發(fā)生在兩種情況下:一是系統(tǒng)啟動時,對所有隨機啟動的進程文件進行完整性度量,二是當一個新的進程即將運行時,首先將其掛起,對二進制文件進行完整性度量。如果進程是首次運行,則將度量結果寫入完整性數(shù)據(jù)庫;否則,將度量結果與數(shù)據(jù)庫中存儲的值進行比較,一致則運行進程繼續(xù)運行,不一致則拒絕。
      [0016]②監(jiān)控模塊
      監(jiān)控模塊是完整性度量模型的重要組成部分。監(jiān)控模塊的功能有兩個:一是攔截進程的創(chuàng)建請求和寫進程空間的請求,二是自身的防護。當攔截到進程創(chuàng)建請求時,通知靜態(tài)完整性度量模塊進行靜態(tài)度量;當攔截到寫進程空間的請求時,通知動態(tài)完整性度量模塊進行動態(tài)度量。為了防止自身被惡意破壞,監(jiān)控模塊禁止自身文件被非法訪問,同時對自身的進程提供訪問控制保護。
      [0017]③動態(tài)完整性度量模塊
      動態(tài)完整性度量計算兩類信息的完整性。一類是進程代碼段的散列值,另一類是進程空間使用信息的散列值。當監(jiān)控模塊攔截到寫進程空間的請求時,通知動態(tài)完整性度量模塊對進程進行完整性計算??紤]到效率問題,動態(tài)完整性度量模塊并不先讀取進程代碼段的內容求散列值,而是獲取進程內存塊的數(shù)目和空間大小,進行完整性計算,通過判斷進程內存空間是否發(fā)生變化來檢測進程的動態(tài)完整性。如果進程內存空間沒有發(fā)生變化,則繼續(xù)讀取進程代碼段的內容進行完整性計算,否則,直接拒絕進行繼續(xù)運行。
      [0018]④通信模塊
      通信模塊負責各模塊間信息的傳遞。信息有兩類:一類是完整性值,要么是當前的計算結果,要么取自于完整性數(shù)據(jù)庫;另一類是控制信息,主要是完整性度量請求。
      [0019]當有進程要執(zhí)行時,監(jiān)控模塊攔截到創(chuàng)建進程的請求,通過通信模塊通知靜態(tài)完整性檢測模塊,進行二進制文件的完整性度量。度量完成后,靜態(tài)完整性檢測模塊將匹配結果通過通信模塊通知監(jiān)控模塊,以決定是否允許進程的繼續(xù)執(zhí)行。
      [0020]當監(jiān)控模塊攔截到寫進程空間的請求時,通知動態(tài)完整性度量模塊進行動態(tài)完整性度量,動態(tài)完整性度量模塊通知通信模塊從完整性數(shù)據(jù)庫中取值,以進行比對。
      [0021]⑤完整性數(shù)據(jù)庫
      完整性數(shù)據(jù)庫存儲進程的完整性信息,包括靜態(tài)二進制文件的完整性值、動態(tài)進程空間代碼段的完整性值以及進程內存信息的完整性值。數(shù)據(jù)結構如下:typedef struct procintegrityinfo{char *procName; //進程名char *procPath;// 進程路徑char ^binaryFiIeHash; // 二進制文件的散列值 char *codeSegHash; //進程代碼段內容的散列值 char ^procSpaceHash; //進程空間使用情況散列值 }TProcIntegrityInfo, *PProcIntegrityInfο;
      其中,進程內存信息的散列值由進程已使用的內存塊的數(shù)目和已使用的內存空間大小共同計算得到。
      [0022]在進程完整性檢測模型啟動后,即開始靜態(tài)完整性檢測與動態(tài)完整性檢測,包括靜態(tài)完整性檢測步驟和動態(tài)完整性檢測步驟,其流程圖如圖2所示。
      [0023]所述靜態(tài)完整性檢測步驟需要檢測的進程包括:(1)系統(tǒng)啟動時,所有隨機啟動的進程;(2)系統(tǒng)啟動后,新的即將運行的進程,按如下步驟進行:
      步驟401,由操作系統(tǒng)將進程裝載入內存中;
      步驟402,計算該進程對應的二進制可執(zhí)行文件的HASH值;
      步驟403,判斷該進程是否為第一次執(zhí)行,若為第一次執(zhí)行,則進行步驟404,否則進行步驟405 ;
      步驟404,將該進程對應的二進制可執(zhí)行文件的HASH值存入完整性數(shù)據(jù)庫中;
      步驟405,從完整性數(shù)據(jù)庫中提取該進程對應二進制文件的HASH值;
      步驟406,判斷提取出的HASH值與計算出的HASH值是否一致,若一致,進行步驟407,否則進行步驟409 ;
      步驟407,統(tǒng)計該進程的相關內存信息并計算該進程代碼段的HASH值,并將這些值存入完整性數(shù)據(jù)庫中;
      步驟408,允許該進程繼續(xù)執(zhí)行;
      步驟409,終止該進程的運行;
      所述動態(tài)完整性檢測步驟按如下步驟進行:
      步驟410,程序執(zhí)行寫進程空間操作;
      步驟411,將該進程掛起;
      步驟412,提取此時進程的相關內存信息并計算其HASH值;
      步驟413,從完整性數(shù)據(jù)庫中提取該進程的HASH值;
      步驟414,判斷提取的HASH值與計算出的HASH值是否一致,若一致,進行步驟415,否則進行步驟419 ;
      步驟415,計算進程所用代碼段的HASH值;
      步驟416,從完整性數(shù)據(jù)庫中提取該進程代碼段的HASH值;
      步驟417,判斷提取出的HASH值與計算出的HASH值是否一致,若一致,進行步驟418,否則進行步驟419 ;
      步驟418,允許該進程繼續(xù)執(zhí)行,循環(huán)至步驟410 ;
      步驟419,終止該進程的運行。
      [0024]本發(fā)明技術方案的進一步限定為,在靜態(tài)完整性檢測步驟中,
      所述監(jiān)控模塊攔截進程的創(chuàng)建請求和寫進程空間的請求,具體為:當攔截到進程創(chuàng)建請求時,通知靜態(tài)完整性度量模塊進行靜態(tài)完整性檢測;當攔截到寫進程空間的請求時,通知動態(tài)完整性度量模塊進行動態(tài)完整性檢測。所述監(jiān)控模塊進行自身的防護,禁止自身文件被非法訪問,同時對自身的進程提供訪問控制保護。所述完整性數(shù)據(jù)庫存儲進程的完整性信息,包括靜態(tài)二進制文件的完整性值、動態(tài)進程空間代碼段的完整性值以及進程內存信息的完整性值。
      [0025]本發(fā)明提供了進程完整性檢測的實現(xiàn)方法,此項技術主要針對WINDOWS操作系統(tǒng)的需求,針對進程被惡意代碼篡改的威脅,從完整性的角度,提出了一種動態(tài)完整性和靜態(tài)完整性相結合的進程完整性檢測模型。該模型能夠有效地檢測二進制文件和進程運行時空間的完整性,通過雙重檢測,確保運行的進程是未被修改過的,能夠以預期的行為實現(xiàn)預期的目的。經(jīng)過測試,該模型在檢測的全面性、防御的廣泛性以及性能的穩(wěn)定性方面有著突出的表現(xiàn)。
      [0026]如上所述,盡管參照特定的優(yōu)選實施例已經(jīng)表示和表述了本發(fā)明,但其不得解釋為對本發(fā)明自身的限制。在不脫離所附權利要求定義的本發(fā)明的精神和范圍前提下,可對其在形式上和細節(jié)上作出各種變化。
      【權利要求】
      1.一種操作系統(tǒng)進程完整性檢測方法,包括位于應用層的靜態(tài)完整性度量模塊、通信模塊、完整性數(shù)據(jù)庫和位于內核層的監(jiān)控模塊、動態(tài)完整性度量模塊,其特征在于,包括靜態(tài)完整性檢測步驟和動態(tài)完整性檢測步驟, 所述靜態(tài)完整性檢測步驟按如下步驟進行: 步驟401,由操作系統(tǒng)將進程裝載入內存中; 步驟402,計算該進程對應的二進制可執(zhí)行文件的HASH值; 步驟403,判斷該進程是否為第一次執(zhí)行,若為第一次執(zhí)行,則進行步驟404,否則進行步驟405 ; 步驟404,將該進程對應的二進制可執(zhí)行文件的HASH值存入完整性數(shù)據(jù)庫中; 步驟405,從完整性數(shù)據(jù)庫中提取該進程對應二進制文件的HASH值; 步驟406,判斷提取出的HASH值與計算出的HASH值是否一致,若一致,進行步驟407,否則進行步驟409 ; 步驟407,統(tǒng)計該進程的相關內存信息并計算該進程代碼段的HASH值,并將這些值存入完整性數(shù)據(jù)庫中; 步驟408,允許該進程繼續(xù)執(zhí)行; 步驟409,終止該進程的運行; 所述動態(tài)完整性檢測步驟按如下步驟進行: 步驟410,程序執(zhí)行寫進程空間操作; 步驟411,將該進程掛起; 步驟412,提取此時進程的相關內存信息并計算其HASH值; 步驟413,從完整性數(shù)據(jù)庫中提取該進程的HASH值; 步驟414,判斷提取的HASH值與計算出的HASH值是否一致,若一致,進行步驟415,否則進行步驟419 ; 步驟415,計算進程所用代碼段的HASH值; 步驟416,從完整性數(shù)據(jù)庫中提取該進程代碼段的HASH值; 步驟417,判斷提取出的HASH值與計算出的HASH值是否一致,若一致,進行步驟418,否則進行步驟419 ; 步驟418,允許該進程繼續(xù)執(zhí)行,循環(huán)至步驟410 ; 步驟419,終止該進程的運行。
      2.根據(jù)權利要求1所述的一種操作系統(tǒng)進程完整性檢測方法,其特征在于,在靜態(tài)完整性檢測步驟中,需要檢測的進程包括:(1)系統(tǒng)啟動時,所有隨機啟動的進程;(2)系統(tǒng)啟動后,新的即將運行的進程。
      3.根據(jù)權利要求1所述的一種操作系統(tǒng)進程完整性檢測方法,其特征在于,所述監(jiān)控模塊攔截進程的創(chuàng)建請求和寫進程空間的請求,具體為:當攔截到進程創(chuàng)建請求時,通知靜態(tài)完整性度量模塊進行靜態(tài)完整性檢測;當攔截到寫進程空間的請求時,通知動態(tài)完整性度量模塊進行動態(tài)完整性檢測。
      4.根據(jù)權利要求1所述的一種操作系統(tǒng)進程完整性檢測方法,其特征在于,所述監(jiān)控模塊進行自身的防護,禁止自身文件被非法訪問,同時對自身的進程提供訪問控制保護。
      5.根據(jù)權利要求1所述的一種操作系統(tǒng)進程完整性檢測方法,其特征在于,所述完整性數(shù)據(jù)庫存儲進程的完整性信息,包括靜態(tài)二進制文件的完整性值、動態(tài)進程空間代碼段的完整性值以及進程內 存信息的完整性值。
      【文檔編號】G06F21/51GK104077522SQ201410302559
      【公開日】2014年10月1日 申請日期:2014年6月30日 優(yōu)先權日:2014年6月30日
      【發(fā)明者】吳克河, 李藝, 陳飛, 崔文超 申請人:江蘇華大天益電力科技有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1