一種安全進程運行環境的設計解決方法
2023-10-06 09:53:14
一種安全進程運行環境的設計解決方法
【專利摘要】本發明提供一種安全進程運行環境的設計解決方法,通過內核對目標進程的系統調用進行截獲,對操作對象和操作標誌進行分型,再決定通過重定向系統調用來保護系統,當目標進程退出後,對目標進程的信息進行清理,本安全的進程運行環境可以在真實計算機中運行,對目標進程的所有破壞性操作進行重定向,所以目標進程的所有操作都是不會對計算機資源造成破壞,並且當目標進程退出時,會清理掉目標進程產生的所有數據。很好的保證了計算機的安全。
【專利說明】一種安全進程運行環境的設計解決方法
【技術領域】
[0001]本發明涉及windows內核文件、註冊表、內核對象的系統調用,具體地說是一種安全進程運行環境的設計解決方法。
【背景技術】
[0002]隨著計算機技術的飛速發展,計算機已經充斥我們生活中的各個部分,可以說人們越來越依賴於計算機,但同時各種各樣的惡意程序也接踵而來。所以擁有一種安全的程序運行環境越來越重要,目前市面上的安全運行環境如:VMware Workstat1n, VirturalPC, Returnil System Safe Pro (影子系統)可以完全虛擬化一個系統出來,但是用戶使用並不方便。本方法運行在真實的系統中,通過截取系統調用截取目標進程的操作,對目標進程的操作進行重定向,使其不會對真實的系統產生破壞。
[0003]對目標進程進程的所有系統調用進行截獲分析,並對操作對象進行拷貝重定向,所以目標進程的所有操作都是在虛擬資源上進行,以此方式,目標進程的所有操作都不會對系統資源造成破壞,當然出於對運行效率的優化,我們只對目標進程對資源的破壞性操作進行重定向。
【發明內容】
[0004]本發明的目的是提供一種安全進程運行環境的設計解決方法。
[0005]本發明的目的是按以下方式實現的,通過內核對目標進程的系統調用進行截獲,對操作對象和操作標誌進行分型,再決定通過重定向系統調用來保護系統,當目標進程退出後,對目標進程的信息進行清理,具體內容包括:
(1)目標進程對文件、目錄操作的重定向,此方法可以截獲目標進程對文件、目錄對象的破壞性操作,並對文件、目錄對象進行拷貝重定向;具體步驟是:
在內核層截獲目標進程對文件、目錄的操作,並對操作標誌進行分析,對非破壞性操作,包括讀操作或複製操作,直接調用系統調用,並不對操作對象進行重定向,以此來提高系統的運行效率;對於破壞性操作,包括寫操作或刪除操作,對目標對象進行拷貝重定向,這樣,目標進程對操作對象的操作並不會對系統資源造成破壞;
(2)目標進程對註冊表的操作的重定向,此方法要可以截獲目標進程對註冊表破壞性系統調用,並對操作對象進行重定向;具體步驟是:
通過在系統調用註冊表系統操作之前,先訪問一個已維護的註冊表重定向文件,對進程的讀操作不做任何攔截,但是進程讀取的數據為系統註冊表數據和己維護註冊表數據之和,對於破壞性的操作將被重定向到註冊表中,不會對系統註冊表產生破壞;
(3)目標進程對內核對象的重定向,此方法可以截獲目標進程對內核對象的系統調用,並對系統調用進行重定向,內核對象包括:內核事件、信號量對象或互斥對象,在系統中以文件形式存在,通過截取進程系統調用,對內核對象進行拷貝重定向。
[0006]本發明的方法還包括應用層用戶操作部分和內核層文件、註冊表和內核對象重定向部分;
首先說明應用層部分,應用層提供用戶添加目標程序的功能,當目標程序運行時,內核層解截獲系統調用,分析操作主體是否為目標進程;
其次是內核重定向部分,內核重定向部分在截獲系統操作後,分析發現操作主體是目標進程,會繼續對操作客體進行分析,根據操作客體的不同,可分為文件操作,註冊表操作,內核對象操作,從而進行相應的重定向。
[0007]本發明的有益效果是:本安全的進程運行環境可以在真實計算機中運行,對目標進程的所有破壞性操作進行重定向,所以目標進程的所有操作都是不會對計算機資源造成破壞,並且當目標進程退出時,會清理掉目標進程產生的所有數據。很好的保證了計算機的安全。
【專利附圖】
【附圖說明】
[0008]圖1是目標進程重定向流程圖;
圖2是文件重定向流程圖;
圖3是註冊表重定向流程圖;
圖4是內核對象重定向流程圖。
【具體實施方式】
[0009]參照說明書附圖對本發明的作以下詳細地說明。
[0010]本發明的一種安全進程運行環境的設計解決方法,內核層對目標進程的系統調用進行截取,根據操作對象的不同,以及操作類型的不同,採取不同策略。操作對象分為文件(目錄)、註冊表、內核對象(內核事件對象,互斥對象,信號量對象,定時器對象,區域對象,埠對象),操作類型分為破壞性操作(如寫,刪除,重命名等)、非破壞性操作。對於非破壞性的操作,本方法將放過系統調用,而對於破壞性操作,本方法將對操作對象進行重定向,使其不會對系統造成破壞,如圖1目標進程重定向流程圖。
[0011]系統調用的類型可分為三個部分:(1)目標進程對文件、目錄的操作,(2)目標進程對註冊表的操作,(3)目標進程對內核對象的操作。
[0012](I)目標進程對文件、目錄的操作:
當目標進程運行時,本方法通過內核模塊截獲目標進程對文件、目錄的系統調用,判斷操作類型,當操作類型為非破壞性操作時,比如讀文件、目錄,此時不對系統進行重定向,這樣的好處是可以提高系統的運行效率;而對於破壞性的操作,比如寫文件,刪除文件,重名文件,本方法將拷貝目標文件或目錄生成臨時文件,此時系統調用將被重定向到拷貝生成的臨時文件,如附圖2文件重定向流程。
[0013](2)目標進程對註冊表的操作
目標進程對註冊標的操作相比文件有較大的不同,本方法在系統註冊表文件之前增加了一個非系統註冊表文件,當截獲系統調用對註冊表訪問時,判斷操作類型,如果是非破壞性的操作,此時系統調用將增加對非系統註冊表的讀操作,之後再對系統註冊表進行讀操作;如果操作類型為破壞性操作,並且操作主體為目標進程,此時的操作將被重定向到非系統註冊表,詳細流程見附圖3註冊表重定向流程圖。
[0014](3)目標進程對內核對象的操作
內核對象是一種特殊的文件目錄,當目標進程在打開或者創建內核對象時,會完全的拷貝一份當前內核對象目錄樹,然後重定向系統調用到拷貝的內核對象,詳細流程見附圖4。
[0015]本發明的安全的進程運行環境解決方法,包括應用層用戶操作部分和內核層文件、註冊表和內核對象重定向部分。
[0016]首先說明應用層部分,應用層提供用戶添加目標程序的功能,當目標程序運行時,內核層解截獲系統調用,分析操作主體是否為目標進程。
[0017]其次是內核重定向部分,內核重定向部分在截獲系統操作後,分析發現操作主體是目標進程,會繼續對操作客體進行分析,根據操作客體的不同,可分為文件操作,註冊表操作,內核對象操作,從而進行相應的重定向。
[0018]當然為了提高此方法的效率,還對文件和註冊表的操作標誌進行了分類,分為破壞性操作和非破壞性操作,非破壞性操作包括讀取,複製,破壞性操作包括寫入,刪除,重命名。非破壞性操作不會對系統資源操作破壞,所以當目標進程在進行非破壞性操作時,本方法將不對系統調用進行重定向,而破壞性操作會直接對系統資源進行破壞,所以在系統調用的時候會對系統調用進行重定向,當目標進程退出後對其所產生的信息進行清理。
[0019]除說明書所述的技術特徵外,均為本專業技術人員的已知技術。
【權利要求】
1.一種安全進程運行環境的設計解決方法,其特徵在於通過內核對目標進程的系統調用進行截獲,對操作對象和操作標誌進行分型,再決定通過重定向系統調用來保護系統,當目標進程退出後,對目標進程的信息進行清理,具體內容包括: (1)目標進程對文件、目錄操作的重定向,此方法可以截獲目標進程對文件、目錄對象的破壞性操作,並對文件、目錄對象進行拷貝重定向;具體步驟是: 在內核層截獲目標進程對文件、目錄的操作,並對操作標誌進行分析,對非破壞性操作,包括讀操作或複製操作,直接調用系統調用,並不對操作對象進行重定向,以此來提高系統的運行效率;對於破壞性操作,包括寫操作或刪除操作,對目標對象進行拷貝重定向,這樣,目標進程對操作對象的操作並不會對系統資源造成破壞; (2)目標進程對註冊表的操作的重定向,此方法要可以截獲目標進程對註冊表破壞性系統調用,並對操作對象進行重定向;具體步驟是: 通過在系統調用註冊表系統操作之前,先訪問一個已維護的註冊表重定向文件,對進程的讀操作不做任何攔截,但是進程讀取的數據為系統註冊表數據和己維護註冊表數據之和,對於破壞性的操作將被重定向到註冊表中,不會對系統註冊表產生破壞; (3)目標進程對內核對象的重定向,此方法可以截獲目標進程對內核對象的系統調用,並對系統調用進行重定向,內核對象包括:內核事件、信號量對象或互斥對象,在系統中以文件形式存在,通過截取進程系統調用,對內核對象進行拷貝重定向。
2.根據權利要求1所述的安全的進程運行環境設計解決方法,其特徵在於還包括應用層用戶操作部分和內核層文件、註冊表和內核對象重定向部分; 首先說明應用層部分,應用層提供用戶添加目標程序的功能,當目標程序運行時,內核層解截獲系統調用,分析操作主體是否為目標進程; 其次是內核重定向部分,內核重定向部分在截獲系統操作後,分析發現操作主體是目標進程,會繼續對操作客體進行分析,根據操作客體的不同,可分為文件操作,註冊表操作,內核對象操作,從而進行相應的重定向。
【文檔編號】G06F21/52GK104182684SQ201410402074
【公開日】2014年12月3日 申請日期:2014年8月15日 優先權日:2014年8月15日
【發明者】王超, 趙孝軍 申請人:浪潮電子信息產業股份有限公司