一種安全沙盤重定向文件操作的方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及軟件處理領(lǐng)域,尤其涉及一種安全沙盤重定向文件操作的方法及系統(tǒng)。
【背景技術(shù)】
[0002]在操作系統(tǒng)中安裝應用程序時會往硬盤釋放大量文件,而且在卸載應用程序的時候,這些新增的文件往往不能夠刪除干凈,即使再使用現(xiàn)有的一些垃圾文件清理工具也無法保證磁盤文件的純凈性。而且由于不同版本的軟件在安裝的時候都會在磁盤的相同位置釋放相同的文件,這樣導致已經(jīng)存在的文件會被新的文件進行覆蓋,不能將文件進行徹底的隔離開來,導致兩個不同版本的相同軟件無法在同一計算機系統(tǒng)上并存。
[0003]同時,又因為當前網(wǎng)絡(luò)惡意代碼泛濫,使帶有惡意攻擊的應用程序多,在使用攜帶有惡意代碼的程序時,惡意代碼會惡意執(zhí)行應用程序文件的創(chuàng)建、修改和刪除等操作,破壞虛擬機操作系統(tǒng)本身的完整項,惡意破壞盜取用戶私密數(shù)據(jù),給用戶數(shù)據(jù)帶來很多安全隱串
■/Q1、Ο
[0004]現(xiàn)有的沙盤過濾方法可以解決在應用程序文件中出現(xiàn)的上述問題,但是在過濾文件時,因為文件依賴關(guān)系,導致沙盤過濾驅(qū)動將原先有依賴的文件都拷貝到安全沙盤內(nèi)時,會出現(xiàn)打開文件時有卡頓現(xiàn)象,造成用戶體驗效果差的問題。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的目的在于提供一種安全沙盤重定向文件操作的方法及系統(tǒng),從而解決現(xiàn)有技術(shù)中存在的前述問題。
[0006]為了實現(xiàn)上述目的,本發(fā)明一種安全沙盤重定向文件操作的方法,采用的技術(shù)方案如下:
[0007]S1、過濾驅(qū)動獲取Α進程發(fā)出的程序中斷請求,判斷A進程是否是存儲在進程列表中被標記的進程,如果是,進入S2,如果不是,將所述程序中斷請求發(fā)送給操作系統(tǒng);
[0008]S2、過濾驅(qū)動判斷A進程是否發(fā)起應用程序文件操作,如果是,進入S3,如果不是,將判斷結(jié)果發(fā)送給操作系統(tǒng);
[0009]S3、過濾驅(qū)動將A進程的應用程序文件操作重定向到沙箱中應用程序文件的映射文件的操作;
[0010]S4、沙箱驅(qū)動對A進程的應用程序進行重定向操作。
[0011]優(yōu)選地,在步驟S1中,所述被標記的進程,按照下述步驟操作:
[0012]S1’ -1、綠化后的免安裝軟件在沙盤中運行;
[0013]S1’ -2、沙盤驅(qū)動判斷所述免安裝軟件是否是第一次在所述沙盤上運行,如果是,則進入S1’ -3,如果不是,則進入S1’ -4 ;
[0014]S1’ -3、將所述免安裝軟件應用程序文件映射到所述沙盤,進入S1’ -4 ;
[0015]S1’ -4、將所述免安裝軟件的進程標記后,添加到操作系統(tǒng)的進程列表。
[0016]優(yōu)選地,在步驟S1和步驟S2之間,還存在包括以下步驟:過濾驅(qū)動將A進程的應用程序文件映射到沙箱中,形成所述A進程的應用程序文件的映射文件。
[0017]優(yōu)選地,步驟S4,所述沙箱驅(qū)動對A進程的應用程序進行重定向,具體操作步驟如下:
[0018]S4-1、沙箱驅(qū)動獲取A進程啟動的消息;
[0019]S4-2、沙箱驅(qū)動向操作系統(tǒng)申請物理內(nèi)存,用以保存A進程的沙盤安全路徑;
[0020]S4-3、沙箱驅(qū)動依據(jù)A進程的原應用程序文件的保存路徑,組成A進程的應用程序文件的映射文件的保存路徑;
[0021]S4_4、A進程的原應用程序文件的操作內(nèi)容映射到步驟S4-3獲得的保存路徑下;
[0022]S4-5、在沙盤中使用A進程。
[0023]優(yōu)選地,在步驟S4之后,還存在以下步驟:當A進程運行時,A進程的應用程序文件操作會重定向到沙箱中的應用程序文件的映射文件的操作。
[0024]優(yōu)選地,當過濾驅(qū)動獲取多個進程發(fā)出的程序中斷請求,并判斷所述多個進程均需要進行將所述進程的應用程序文件操作重定向到沙箱中,則沙箱驅(qū)動會建立多個沙箱,過濾驅(qū)動會將每個進程的應用程序文件操作重定向到不同的沙箱中。
[0025]本發(fā)明的一種安全沙盤重定向文件操作的系統(tǒng),該系統(tǒng)法包括:請求接收單元、進程確定單元、文件確定單元和重定向單元;
[0026]請求接收單元:用于接收A進程發(fā)出的程序中斷請求;
[0027]進程確定單元:判斷發(fā)出的程序中斷請求的A進程是否是沙箱內(nèi)的進程;并將“是”的結(jié)果發(fā)送給文件確定單元,將“不是”的結(jié)果發(fā)送給操作系統(tǒng);
[0028]文件確定單元:判斷A進程是否發(fā)起應用程序文件操作;并將“是”的結(jié)果發(fā)送給重定向單元,將“不是”的結(jié)果發(fā)送給操作系統(tǒng);
[0029]重定向單元:將A進程的應用程序文件操作重定向到沙箱中存儲的A進程的應用程序文件的映射文件的操作。
[0030]本發(fā)明的有益效果是:
[0031]本發(fā)明將軟件的應用程序文件操作重向到安全沙盤內(nèi),實現(xiàn)了不同版本的軟件可以再同一臺計算機系統(tǒng)中運行,同時將帶有惡意代碼的軟件的應用程序文件操作重定向到安全沙盤中,限制惡意代碼對文件的操作,保證系統(tǒng)數(shù)據(jù)的完整及操作系統(tǒng)的安全。
【附圖說明】
[0032]圖1是一種安全沙盤重定向文件操作的方法的流程示意圖;
[0033]圖2是免安裝軟件的進程標記的方法的流程示意圖;
[0034]圖3是沙箱驅(qū)動對A進程的應用程序進行重定向的流程示意圖;
[0035]圖4是一種安全沙盤重定向文件操作的系統(tǒng)的示意圖。
【具體實施方式】
[0036]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖,對本發(fā)明進行進一步詳細說明。應當理解,此處所描述的【具體實施方式】僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0037]參照圖1和圖3,【具體實施方式】1,一種安全沙盤重定向文件操作的方法,
[0038]S1、過濾驅(qū)動獲取A進程發(fā)出的程序中斷請求,判斷A進程是否是存儲在進程列表中被標記的進程,如果是,進入S2,如果不是,將所述程序中斷請求發(fā)送給操作系統(tǒng);
[0039]S2、過濾驅(qū)動判斷A進程是否發(fā)起應用程序文件操作,如果是,進入S3,如果不是,將判斷結(jié)果發(fā)送給操作系統(tǒng);
[0040]S3、過濾驅(qū)動將A進程的應用程序文件操作重定向到沙箱中應用程序文件的映射文件的操作;
[0041]S4、沙箱驅(qū)動對A進程的應用程序進行重定向操作;
[0042]S4-1、沙箱驅(qū)動獲取A進程啟動的消息;
[0043]S4-2、沙箱驅(qū)動向操作系統(tǒng)申請物理內(nèi)存,用以保存A進程的沙盤安全路徑;
[0044]S4-3、沙箱驅(qū)動依據(jù)A進程的原應用程序文件的保存路徑,組成A進程的應用程序文件的映射文件的保存路徑;
[0045]當A進程的原應用程序文件的保存路徑C: \Documents and Settings'Applicat1n Data\Microsoft\fford時,A進程的應用程序文件的映射文件的保存路徑為:
[0046]D:\Sandbox\Documents and Settings\Applicat1n Data\Microsoft\fford ;
[0047]其中所述沙箱驅(qū)動保存在路徑D: \Sandbox下;
[0048]S4_4、A進程的原應用程序文件的操作內(nèi)容映射到步驟S4-3獲得的保存路徑下;
[0049]S4-5、在沙盤中使用A進程。
[0050]本【具體實施方式】中,所述的A進程為word2007軟件,在操作系統(tǒng)中已經(jīng)存在的是2003軟件。
[0051]在步驟S4之后,還存在以下步驟:當A進程運行時,A進程的應用程序文件操作會重定向到沙箱中的應用程序文件的映射文件的操作。
[0052]參照圖2,步驟S1中,所述被標記的進程,按照下述步驟操作:
[0053]S1’ -1、綠化后的免安裝軟件在沙盤中運行;
[0054]S1’ -2、沙盤驅(qū)動判斷所述免安裝軟件是否是第一次在所述沙盤上運行,如果是,則進入S1’ -3,如果不是,則進入S1’ -4 ;
[0055]S1’ -3、將所述免安裝軟件應用程序文件映射到所述沙盤,進入S1’ -4 ;
[0056]S1’ -4、將所述免安裝軟件的進程標記后,添加到