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