本發(fā)明涉及信息處理領(lǐng)域中的設(shè)備管理技術(shù),尤其涉及一種系統(tǒng)管理方法及裝置。
背景技術(shù):
隨著殺毒軟件監(jiān)控查殺越來越強力,病毒為生存而對抗殺軟的方法也越來越隱蔽,很多病毒通過自動消失、自動變形、自動復(fù)活等技術(shù)來躲避殺毒軟件的查殺,而面對這些技術(shù),傳統(tǒng)的查殺技術(shù)往往無法準確定位病毒并查殺。
但是,已有的凍結(jié)技術(shù),不能處理操作系統(tǒng)重啟后,在文件系統(tǒng)驅(qū)動加載之前,或加載之后且查殺驅(qū)動加載之前啟動的病毒樣本對系統(tǒng)數(shù)據(jù)的寫入,從而存在無法全面保證電子設(shè)備的安全性的問題。
技術(shù)實現(xiàn)要素:
本發(fā)明實施例提供一種系統(tǒng)管理方法及裝置,能至少解決現(xiàn)有技術(shù)中存在的上述問題。
本發(fā)明實施例的技術(shù)方案是這樣實現(xiàn)的:
本發(fā)明實施例提供一種系統(tǒng)管理方法,所述方法包括:
電子設(shè)備啟動時,獲取所述電子設(shè)備中至少一個應(yīng)用以及至少一個文件系統(tǒng)的啟動順序;
基于所述啟動順序加載處于第一啟動順序的目標應(yīng)用;
依次啟動處于第N啟動順序的文件系統(tǒng)或應(yīng)用,基于所述目標應(yīng)用至少針對所述文件系統(tǒng)或應(yīng)用進行寫入處理;其中,N為大于等于2的整數(shù);
其中,所述基于所述目標應(yīng)用至少針對所述文件系統(tǒng)或應(yīng)用進行寫入處理,包括:當處于第N啟動順序的文件系統(tǒng)為預(yù)設(shè)文件系統(tǒng)、或所述應(yīng)用為預(yù)設(shè)應(yīng)用時,通過所述目標應(yīng)用禁止針對所述預(yù)設(shè)文件系統(tǒng)或預(yù)設(shè)應(yīng)用的寫入操作。
本發(fā)明實施例提供一種系統(tǒng)管理裝置,所述電子設(shè)備包括:
初始單元,用于電子設(shè)備啟動時,獲取所述電子設(shè)備中至少一個應(yīng)用以及至少一個文件系統(tǒng)的啟動順序;
處理單元,用于基于所述啟動順序加載處于第一啟動順序的目標應(yīng)用;依次啟動處于第N啟動順序的文件系統(tǒng)或應(yīng)用,基于所述目標應(yīng)用至少針對所述文件系統(tǒng)或應(yīng)用進行寫入處理;其中,N為大于等于2的整數(shù);
其中,所述處理單元,具體用于當處于第N啟動順序的文件系統(tǒng)為預(yù)設(shè)文件系統(tǒng)、或所述應(yīng)用為預(yù)設(shè)應(yīng)用時,通過所述目標應(yīng)用禁止針對所述預(yù)設(shè)文件系統(tǒng)或預(yù)設(shè)應(yīng)用的寫入操作。
本發(fā)明實施例中提供的系統(tǒng)管理方法及裝置,保證在電子設(shè)備啟動之后,直接根據(jù)電子設(shè)備中的啟動順序確定加載目標應(yīng)用,進而基于目標應(yīng)用針對第N啟動順序的文件系統(tǒng)或應(yīng)用進行寫入處理。如此,就能夠避免啟動目標應(yīng)用之前,電子設(shè)備存在部分驅(qū)動或部分文件系統(tǒng)首先開啟,而導(dǎo)致的無法全面的進行寫入處理的問題,提升了電子設(shè)備的安全性。
附圖說明
圖1-1為本發(fā)明實施例系統(tǒng)管理方法流程示意圖一;
圖1-2為本發(fā)明實施例系統(tǒng)管理方法流程示意圖二;
圖2為本發(fā)明實施例系統(tǒng)管理方法流程示意圖三;
圖3為本發(fā)明實施例系統(tǒng)處理示意圖;
圖4為本發(fā)明實施例系統(tǒng)管理方法流程示意圖四;
圖5為本發(fā)明實施例系統(tǒng)管理裝置組成結(jié)構(gòu)示意圖;
圖6為本發(fā)明實施例系統(tǒng)管理裝置硬件示意圖。
具體實施方式
應(yīng)當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
實施例一、
本發(fā)明實施例提供了一種系統(tǒng)管理方法,如圖1-1所示,包括:
步驟101:電子設(shè)備啟動時,獲取所述電子設(shè)備中至少一個應(yīng)用以及至少一個文件系統(tǒng)的啟動順序;
步驟102:基于所述啟動順序加載處于第一啟動順序的目標應(yīng)用;
步驟103:依次啟動處于第N啟動順序的文件系統(tǒng)或應(yīng)用,基于所述目標應(yīng)用至少針對所述文件系統(tǒng)或應(yīng)用進行寫入處理;其中,N為大于等于2的整數(shù);
其中,所述基于所述目標應(yīng)用至少針對所述文件系統(tǒng)或應(yīng)用進行寫入處理,包括:當處于第N啟動順序的文件系統(tǒng)為預(yù)設(shè)文件系統(tǒng)、或所述應(yīng)用為預(yù)設(shè)應(yīng)用時,通過所述目標應(yīng)用禁止針對所述預(yù)設(shè)文件系統(tǒng)或預(yù)設(shè)應(yīng)用的寫入操作。
需要說明的是,本實施例所提供的處理方法可以通過裝置實現(xiàn),該裝置可以為設(shè)置在上述電子設(shè)備中的裝置,也可以為能夠與電子設(shè)備靈活連接或斷開的裝置,比如U盤等,只要能夠?qū)﹄娮釉O(shè)備中的系統(tǒng)啟動順序等進行控制即在本實施例的保護范圍內(nèi)。
這里,執(zhí)行步驟101之前,所述電子設(shè)備可以為剛剛完成硬件啟動的狀態(tài)??梢岳斫獾氖牵娮釉O(shè)備的啟動可以劃分為硬件啟動以及軟件啟動這兩個部分,首先要完成硬件啟動然后再進行軟件啟動,而上述步驟101之前需要完成硬件啟動,也就是說,本實施例中的步驟101的電子設(shè)備啟動時,主要針對的為軟件啟動中的處理。
進一步地,上述硬件啟動可以包括有主板插入電源后,檢測到電源開關(guān)按下,然后通知南橋產(chǎn)生PS-ON(電源接通)的信號等操作,這里不再一一贅述。
也就是說,本實施例的初始狀態(tài)為電子設(shè)備未進行任何系統(tǒng)數(shù)據(jù)的加載的狀態(tài)。具體的,執(zhí)行步驟101之前,可以包括:判斷所述電子設(shè)備是否完成硬件啟動,若完成,則執(zhí)行步驟101。
查殺相關(guān)驅(qū)動搶先在系統(tǒng)加載最早點啟動(早于文件系統(tǒng)和所有病毒),如何搶先,保證重啟后最早啟動,將在后續(xù)說明。
具體來說,上述步驟101的實現(xiàn)方式可以為獲取電子設(shè)備中的至少一個服務(wù)分組,基于至少一個服務(wù)分組對應(yīng)的啟動順序,確定所述至少一個應(yīng)用以及至少一個文件系統(tǒng)的啟動順序。
本實施例通過創(chuàng)建服務(wù)分組,提升驅(qū)動加載的順序,使得目標應(yīng)用(查殺應(yīng)用)先在文件系統(tǒng)啟動之前最早加載,并且注冊文件系統(tǒng)變更通知,在第一時間收到變更通知時,掛載文件系統(tǒng)過濾驅(qū)動,開始凍結(jié)系統(tǒng),禁止注冊表或文件數(shù)據(jù)寫入。
上述步驟101的實現(xiàn)方式還可以為:提取到啟動順序列表,通過所述啟動順序列表獲取到至少一個應(yīng)用以及至少一個文件系統(tǒng)的啟動順序。上述啟動順序列表中可以為僅包括有應(yīng)用的啟動順序,也可以包括有文件系統(tǒng)的啟動順序,還可以為針對電子設(shè)備中全部應(yīng)用以及文件系統(tǒng)的啟動順序。重點在于,上述啟動順序中目標應(yīng)用設(shè)置在第一啟動順序。其中,所述目標應(yīng)用可以為能夠?qū)ζ渌募到y(tǒng)或應(yīng)用進行寫入控制的應(yīng)用,比如,可以為殺毒應(yīng)用。
上述步驟102中,基于所述啟動順序加載處于第一啟動順序的目標應(yīng)用,具體來說,可以為從所述啟動順序中獲取到處于第一啟動順序的目標應(yīng)用,然后啟動所述目標應(yīng)用。進一步地,啟動上述目標應(yīng)用之后,就能夠?qū)ζ渌募到y(tǒng)或應(yīng)用在啟動的時候進行相應(yīng)的處理。
進一步地,上述步驟102所述基于所述啟動順序加載處于第一啟動順序的目標應(yīng)用之后,所述方法還包括:
基于所述目標應(yīng)用向所述電子設(shè)備的系統(tǒng)注冊表配置過濾參數(shù);
通過所述過濾參數(shù)控制禁止針對所述系統(tǒng)注冊表中的至少一個目標注冊表進行寫入操作。
具體的,所述過濾參數(shù)可以為過濾回調(diào)函數(shù),通過調(diào)用系統(tǒng)(CM)API函數(shù):NTSTATUS CmRegisterCallback(_In_PEX_CALLBACK_FUNCTION Function,_In_opt_PVOID Context,_Out_PLARGE_INTEGER Cookie);(用于針對對象進行調(diào)用之前的通知,以及調(diào)用之后的具體修改內(nèi)容進行通知);傳入過濾回調(diào)函數(shù)作為參數(shù),可以為:NTSTATUS RegistryCallback(_In_PVOID CallbackContext,_In_opt_PVOID Argument1,_In_opt_PVOID Argument2)(用于對格式進行描述)。
需要指出的是,上述針對注冊表的控制與步驟103的處理可以為同時操作,也可以為首先針對注冊表進行過濾參數(shù)的設(shè)置,然后執(zhí)行步驟103,在針對預(yù)設(shè)文件系統(tǒng)或預(yù)設(shè)應(yīng)用進行檢測以及禁止寫入操作的同時,基于針對注冊表的過濾參數(shù)保持針對注冊表的控制。
進一步地,上述步驟103中,依次啟動處于第N啟動順序的文件系統(tǒng)或應(yīng)用可以為基于啟動順序,檢測最后啟動的文件系統(tǒng)或應(yīng)用的啟動順序;當確定最后啟動的文件系統(tǒng)或應(yīng)用的啟動順序為第N-1啟動順序時,確定啟動處于第N啟動順序的文件系統(tǒng)或應(yīng)用。另外,還可以包括:判斷是否存在第N啟動順序的文件系統(tǒng)或應(yīng)用,若存在,則啟動處于第N啟動順序的文件系統(tǒng)或應(yīng)用,否則,結(jié)束處理。
所述當處于第N啟動順序的文件系統(tǒng)為預(yù)設(shè)文件系統(tǒng)、或所述應(yīng)用為預(yù)設(shè)應(yīng)用時,通過所述目標應(yīng)用禁止針對所述預(yù)設(shè)文件系統(tǒng)或預(yù)設(shè)應(yīng)用的寫入操作之前,所述方法還包括:
向所述電子設(shè)備的操作系統(tǒng)配置文件系統(tǒng)變更參數(shù);其中,所述文件系統(tǒng)變更參數(shù)用于指示所述操作系統(tǒng)加載文件系統(tǒng)或應(yīng)用時,反饋文件系統(tǒng)或應(yīng)用的處于加載狀態(tài)。
其中,所述文件系統(tǒng)變更參數(shù)可以為變更通知回調(diào)函數(shù),具體的通過調(diào)用系統(tǒng)API函數(shù),比如文件注冊改變函數(shù)NTSTATUS IoRegisterFsRegistrationChange(_In_PDRIVER_OBJECT DriverObject,_In_PDRIVER_FS_NOTIFICATION DriverNotificationRoutine),傳入回調(diào)函數(shù)地址,使得有變更的時候,系統(tǒng)會調(diào)用我們的回調(diào)函數(shù)。其中,回調(diào)函數(shù)的簽名可以為VOID DriverNotificationRoutine(_In_struct_DEVICE_OBJECT*DeviceObject,_In_BOOLEAN FsActive)。
也就是說,目標應(yīng)用啟動之后向操作系統(tǒng)發(fā)送文件系統(tǒng)變更參數(shù),以使得操作系統(tǒng)在啟動任意一個應(yīng)用或文件系統(tǒng)時,向目標應(yīng)用反饋相應(yīng)的加載狀態(tài)。
相應(yīng)的,所述當處于第N啟動順序的文件系統(tǒng)為預(yù)設(shè)文件系統(tǒng)、或所述應(yīng)用為預(yù)設(shè)應(yīng)用時,通過所述目標應(yīng)用禁止針對所述預(yù)設(shè)文件系統(tǒng)或預(yù)設(shè)應(yīng)用的寫入操作,包括:
當獲取到所述操作系統(tǒng)反饋的處于第N啟動順序的文件系統(tǒng)或應(yīng)用處于加載狀態(tài)的信息時,判斷所述文件系統(tǒng)是否為預(yù)設(shè)文件系統(tǒng)、或應(yīng)用是否為預(yù)設(shè)應(yīng)用;
若確定所述文件系統(tǒng)為預(yù)設(shè)文件系統(tǒng)、或應(yīng)用為預(yù)設(shè)應(yīng)用,則所述目標應(yīng)用禁止針對所述預(yù)設(shè)文件系統(tǒng)或預(yù)設(shè)應(yīng)用的寫入操作。
具體來說,禁止在文件系統(tǒng)中進行寫入的操作可以為:通過調(diào)用系統(tǒng)API函數(shù)NTSTATUS FltRegisterFilter(即針對文件系統(tǒng)的過濾器),傳入一系列的回調(diào)函數(shù)及配置參數(shù),使得在特定的事件發(fā)生時,我們可以及時收到通知并對事件進行過濾處理,放行或者禁止。
所述預(yù)設(shè)文件系統(tǒng)或預(yù)設(shè)應(yīng)用可以為根據(jù)實際情況進行設(shè)置,另外,所述預(yù)設(shè)文件系統(tǒng)或預(yù)設(shè)應(yīng)用可以為預(yù)設(shè)在目標應(yīng)用中,即目標應(yīng)用中可以包括有一個列表,在該列表中設(shè)置關(guān)心的文件系統(tǒng)的名稱或應(yīng)用的名稱。
具體來說,所述禁止針對所述預(yù)設(shè)文件系統(tǒng)或預(yù)設(shè)應(yīng)用的寫入操作的方式,可以為檢測對應(yīng)的路徑,一旦檢測到有針對所述預(yù)設(shè)文件系統(tǒng)或預(yù)設(shè)應(yīng)用的路徑的處理時,可以針對該路徑上的所有寫入操作進行禁止。
下面結(jié)合圖2針對電子設(shè)備開啟之后就控制啟動目標應(yīng)用進行說明,其中,目標應(yīng)用可以為一個針對病毒文件的查殺應(yīng)用:
在查殺驅(qū)動啟動后,先向系統(tǒng)注冊注冊表過濾參數(shù)(過濾回調(diào)函數(shù)),通過回調(diào)函數(shù)檢查并攔截對敏感注冊表位置的寫入,防止病毒變形,此處保持禁寫,凍結(jié)到系統(tǒng)關(guān)機。
向操作系統(tǒng)注冊文件系統(tǒng)變更通知回調(diào)函數(shù),操作系統(tǒng)繼續(xù)進行初始化引導(dǎo)啟動,當操作系統(tǒng)加載文件系統(tǒng),如NTFS文件系統(tǒng)時,會檢查當前是否有注冊的回調(diào)函數(shù),并調(diào)用我們的通知回調(diào)函數(shù);我們在注冊的回調(diào)函數(shù)中收到通知時,這個時候,系統(tǒng)文件系統(tǒng)還未完全初始化完成,所有人均無法通過文件系統(tǒng)向磁盤寫入數(shù)據(jù)。在這個時候,我們判斷是否是感興趣的目標文件系統(tǒng),如果是,則立即向該文件系統(tǒng)注冊文件過濾函數(shù),并在文件過濾函數(shù)中,檢查并攔截對敏感文件路徑數(shù)據(jù)的寫入,防止病毒樣本變形及復(fù)活。這樣,就能在最早可用的時機,鎖定文件系統(tǒng)的寫入,直到系統(tǒng)關(guān)機,保持全程凍結(jié)。這里是我們使用的關(guān)鍵技術(shù)點。
至此,結(jié)合圖3,可以看出,本實施例提供的方案,能夠使得注冊表和文件系統(tǒng)均在開啟啟動時,就被查殺驅(qū)動使用過濾函數(shù)凍結(jié)禁寫,一直到關(guān)機,都能保持凍結(jié)狀態(tài),使得系統(tǒng)無懈可擊,病毒無法變形,便于定位查殺。
另外,本實施例還針對在本次開啟之前的上一次操作中,針對目標應(yīng)用的啟動順序進行設(shè)置的處理,在上述圖1-1的基礎(chǔ)之上,可以參見圖1-2,所述獲取所述電子設(shè)備中至少一個應(yīng)用以及至少一個文件系統(tǒng)的啟動順序之前,所述還包括:
步驟a1:在注冊表中創(chuàng)建所述目標應(yīng)用的服務(wù)分組,所述目標應(yīng)用的服務(wù)分組與所述目標應(yīng)用的啟動順序相對應(yīng);
步驟a2:設(shè)置所述新的服務(wù)分組的啟動順序為第一啟動順序;重啟所述電子設(shè)備。
需要指出的是:注冊表是一個樹狀結(jié)構(gòu),有很多節(jié)點,每個節(jié)點保存了不同的信息用來配置操作系統(tǒng)的行為。其中有一個節(jié)點-Service Group(服務(wù)分組),該節(jié)點下定義的行為就是操作系統(tǒng)加載所有Service Group的順序,而每個驅(qū)動或文件系統(tǒng)都屬于對應(yīng)的某個Service Group,同一個Service Group可能包含多個驅(qū)動。所以,我們改變服務(wù)分組里Group的順序,就可以改變具體某個驅(qū)動或文件系統(tǒng)的加載順序。
所述在注冊表中創(chuàng)建新的服務(wù)分組之前,所述方法還包括:啟動所述目標應(yīng)用,基于所述目標應(yīng)用禁止針對系統(tǒng)注冊表的寫入操作。也就是說,一旦啟動目標應(yīng)用就可以針對所有針對系統(tǒng)注冊表中的全部注冊表的寫入操作進行檢測以及禁止寫入操作的處理。
參見圖4,下面針對如何保證重啟后驅(qū)動最早加載的設(shè)置操作進行說明:
在準備要凍結(jié)系統(tǒng)時,首先鎖定注冊表,不允許第三方程序再寫入任何數(shù)據(jù)到相關(guān)注冊表;
在注冊表指定位置創(chuàng)建一個新的服務(wù)分組,并且將該服務(wù)分組的啟動順序設(shè)成最早;
將我們的查殺驅(qū)動放置在新創(chuàng)建的服務(wù)分組中,使得下次開機,能夠在系統(tǒng)引導(dǎo)的最早時期被加載;
鎖定文件,禁止相關(guān)位置的文件寫入。
本次開機的系統(tǒng)凍結(jié)完成,病毒無法自動變形或復(fù)活,在關(guān)機之前均生效。且下次開機能最早啟動,實施再次凍結(jié)策略。
如此,在凍結(jié)系統(tǒng)后,病毒已無法自動變形、復(fù)活,失去了自我保護能力,因此,可以繼續(xù)使用以往查殺技術(shù)對樣本進行處理。
可見,通過上述方案,就能夠保證在電子設(shè)備啟動之后,直接根據(jù)電子設(shè)備中的啟動順序確定加載目標應(yīng)用,進而基于目標應(yīng)用針對第N啟動順序的文件系統(tǒng)或應(yīng)用進行寫入處理。如此,就能夠避免啟動目標應(yīng)用之前,電子設(shè)備存在部分驅(qū)動或部分文件系統(tǒng)首先開啟,而導(dǎo)致的無法全面的進行寫入處理的問題,提升了電子設(shè)備的安全性。
實施例二、
本發(fā)明實施例提供了一種系統(tǒng)管理裝置,如圖5所示,包括:
初始單元51,用于電子設(shè)備啟動時,獲取所述電子設(shè)備中至少一個應(yīng)用以及至少一個文件系統(tǒng)的啟動順序;
處理單元52,用于基于所述啟動順序加載處于第一啟動順序的目標應(yīng)用;依次啟動處于第N啟動順序的文件系統(tǒng)或應(yīng)用,基于所述目標應(yīng)用至少針對所述文件系統(tǒng)或應(yīng)用進行寫入處理;其中,N為大于等于2的整數(shù);
其中,所述處理單元52,具體用于當處于第N啟動順序的文件系統(tǒng)為預(yù)設(shè)文件系統(tǒng)、或所述應(yīng)用為預(yù)設(shè)應(yīng)用時,通過所述目標應(yīng)用禁止針對所述預(yù)設(shè)文件系統(tǒng)或預(yù)設(shè)應(yīng)用的寫入操作。
需要說明的是,本實施例系統(tǒng)管理裝置,可以為設(shè)置在上述電子設(shè)備中的裝置,也可以為能夠與電子設(shè)備靈活連接或斷開的裝置,比如U盤等,只要能夠?qū)﹄娮釉O(shè)備中的系統(tǒng)啟動順序等進行控制即在本實施例的保護范圍內(nèi)。
電子設(shè)備的啟動可以劃分為硬件啟動以及軟件啟動這兩個部分,首先要完成硬件啟動然后再進行軟件啟動,而獲取所述電子設(shè)備中至少一個應(yīng)用以及至少一個文件系統(tǒng)的啟動順序之前需要完成硬件啟動,也就是說,本實施例中的電子設(shè)備啟動時,主要針對的為軟件啟動中的處理。
進一步地,上述硬件啟動可以包括有主板插入電源后,檢測到電源開關(guān)按下,然后通知南橋產(chǎn)生PS-ON(電源接通)的信號等操作,這里不再一一贅述。
也就是說,本實施例的初始狀態(tài)為電子設(shè)備未進行任何系統(tǒng)數(shù)據(jù)的加載的狀態(tài)。具體的,初始單元51,還用于判斷所述電子設(shè)備是否完成硬件啟動,若完成,則獲取所述電子設(shè)備中至少一個應(yīng)用以及至少一個文件系統(tǒng)的啟動順序。
查殺相關(guān)驅(qū)動搶先在系統(tǒng)加載最早點啟動(早于文件系統(tǒng)和所有病毒),如何搶先,保證重啟后最早啟動,將在后續(xù)說明。
具體來說,初始單元51,用于獲取電子設(shè)備中的至少一個服務(wù)分組,基于至少一個服務(wù)分組對應(yīng)的啟動順序,確定所述至少一個應(yīng)用以及至少一個文件系統(tǒng)的啟動順序。
本實施例通過創(chuàng)建服務(wù)分組,提升驅(qū)動加載的順序,使得目標應(yīng)用(查殺應(yīng)用)先在文件系統(tǒng)啟動之前最早加載,并且注冊文件系統(tǒng)變更通知,在第一時間收到變更通知時,掛載文件系統(tǒng)過濾驅(qū)動,開始凍結(jié)系統(tǒng),禁止注冊表或文件數(shù)據(jù)寫入。
還可以為:初始單元51,用于提取到啟動順序列表,通過所述啟動順序列表獲取到至少一個應(yīng)用以及至少一個文件系統(tǒng)的啟動順序。上述啟動順序列表中可以為僅包括有應(yīng)用的啟動順序,也可以包括有文件系統(tǒng)的啟動順序,還可以為針對電子設(shè)備中全部應(yīng)用以及文件系統(tǒng)的啟動順序。重點在于,上述啟動順序中目標應(yīng)用設(shè)置在第一啟動順序。其中,所述目標應(yīng)用可以為能夠?qū)ζ渌募到y(tǒng)或應(yīng)用進行寫入控制的應(yīng)用,比如,可以為殺毒應(yīng)用。
基于所述啟動順序加載處于第一啟動順序的目標應(yīng)用,具體來說,可以為從所述啟動順序中獲取到處于第一啟動順序的目標應(yīng)用,然后啟動所述目標應(yīng)用。進一步地,啟動上述目標應(yīng)用之后,就能夠?qū)ζ渌募到y(tǒng)或應(yīng)用在啟動的時候進行相應(yīng)的處理。
所述電子設(shè)備還包括:預(yù)設(shè)單元53,用于在注冊表中創(chuàng)建所述目標應(yīng)用的服務(wù)分組,所述目標應(yīng)用的服務(wù)分組與所述目標應(yīng)用的啟動順序相對應(yīng);設(shè)置所述新的服務(wù)分組的啟動順序為第一啟動順序;相應(yīng)的,所述處理單元,用于重啟所述電子設(shè)備。
進一步地,所述處理單元,用于基于所述目標應(yīng)用向所述電子設(shè)備的系統(tǒng)注冊表配置過濾參數(shù);通過所述過濾參數(shù)控制禁止針對所述系統(tǒng)注冊表中的至少一個目標注冊表進行寫入操作。
需要指出的是,上述針對注冊表的控制與依次啟動處于第N啟動順序的文件系統(tǒng)或應(yīng)用,基于所述目標應(yīng)用至少針對所述文件系統(tǒng)或應(yīng)用進行寫入處理的處理可以為同時操作,也可以為首先針對注冊表進行過濾參數(shù)的設(shè)置,然后執(zhí)行依次啟動處于第N啟動順序的文件系統(tǒng)或應(yīng)用,基于所述目標應(yīng)用至少針對所述文件系統(tǒng)或應(yīng)用進行寫入處理,在針對預(yù)設(shè)文件系統(tǒng)或預(yù)設(shè)應(yīng)用進行檢測以及禁止寫入操作的同時,基于針對注冊表的過濾參數(shù)保持針對注冊表的控制。
所述處理單元,用于向所述電子設(shè)備的操作系統(tǒng)配置文件系統(tǒng)變更參數(shù);其中,所述文件系統(tǒng)變更參數(shù)用于指示所述操作系統(tǒng)加載文件系統(tǒng)或應(yīng)用時,反饋文件系統(tǒng)或應(yīng)用的處于加載狀態(tài)。
也就是說,目標應(yīng)用啟動之后向操作系統(tǒng)發(fā)送文件系統(tǒng)變更參數(shù),以使得操作系統(tǒng)在啟動任意一個應(yīng)用或文件系統(tǒng)時,向目標應(yīng)用反饋相應(yīng)的加載狀態(tài)。
相應(yīng)的,所述處理單元,用于當獲取到所述操作系統(tǒng)反饋的處于第N啟動順序的文件系統(tǒng)或應(yīng)用處于加載狀態(tài)的信息時,判斷所述文件系統(tǒng)是否為預(yù)設(shè)文件系統(tǒng)、或應(yīng)用是否為預(yù)設(shè)應(yīng)用;
若確定所述文件系統(tǒng)為預(yù)設(shè)文件系統(tǒng)、或應(yīng)用為預(yù)設(shè)應(yīng)用,則所述目標應(yīng)用禁止針對所述預(yù)設(shè)文件系統(tǒng)或預(yù)設(shè)應(yīng)用的寫入操作。
所述預(yù)設(shè)文件系統(tǒng)或預(yù)設(shè)應(yīng)用可以為根據(jù)實際情況進行設(shè)置,另外,所述預(yù)設(shè)文件系統(tǒng)或預(yù)設(shè)應(yīng)用可以為預(yù)設(shè)在目標應(yīng)用中,即目標應(yīng)用中可以包括有一個列表,在該列表中設(shè)置關(guān)心的文件系統(tǒng)的名稱或應(yīng)用的名稱。
具體來說,所述禁止針對所述預(yù)設(shè)文件系統(tǒng)或預(yù)設(shè)應(yīng)用的寫入操作的方式,可以為檢測對應(yīng)的路徑,一旦檢測到有針對所述預(yù)設(shè)文件系統(tǒng)或預(yù)設(shè)應(yīng)用的路徑的處理時,可以針對該路徑上的所有寫入操作進行禁止。
下面結(jié)合圖2針對電子設(shè)備開啟之后就控制啟動目標應(yīng)用進行說明,其中,目標應(yīng)用可以為一個針對病毒文件的查殺應(yīng)用:
在查殺驅(qū)動啟動后,先向系統(tǒng)注冊注冊表過濾參數(shù)(過濾回調(diào)函數(shù)),通過回調(diào)函數(shù)檢查并攔截對敏感注冊表位置的寫入,防止病毒變形,此處保持禁寫,凍結(jié)到系統(tǒng)關(guān)機。
向操作系統(tǒng)注冊文件系統(tǒng)變更通知回調(diào)函數(shù),操作系統(tǒng)繼續(xù)進行初始化引導(dǎo)啟動,當操作系統(tǒng)加載文件系統(tǒng),如NTFS文件系統(tǒng)時,會檢查當前是否有注冊的回調(diào)函數(shù),并調(diào)用我們的通知回調(diào)函數(shù)
我們在注冊的回調(diào)函數(shù)中收到通知時,這個時候,系統(tǒng)文件系統(tǒng)還未完全初始化完成,所有人均無法通過文件系統(tǒng)向磁盤寫入數(shù)據(jù)。在這個時候,我們判斷是否是感興趣的目標文件系統(tǒng),如果是,則立即向該文件系統(tǒng)注冊文件過濾函數(shù),并在文件過濾函數(shù)中,檢查并攔截對敏感文件路徑數(shù)據(jù)的寫入,防止病毒樣本變形及復(fù)活。這樣,就能在最早可用的時機,鎖定文件系統(tǒng)的寫入,直到系統(tǒng)關(guān)機,保持全程凍結(jié)。這里是我們使用的關(guān)鍵技術(shù)點。
至此,結(jié)合圖3,可以看出,本實施例提供的方案,能夠在注冊表和文件系統(tǒng)均在開機最早被查殺驅(qū)動使用過濾函數(shù)凍結(jié)禁寫,而查殺驅(qū)動又不允許反注冊或卸載,一直到關(guān)機,都能保持凍結(jié)狀態(tài),使得系統(tǒng)無懈可擊,病毒無法變形,便于定位查殺。
另外,本實施例還針對在本次開啟之前的上一次操作中,針對目標應(yīng)用的啟動順序進行設(shè)置的處理,具體如下:
所述處理單元,用于啟動所述目標應(yīng)用,基于所述目標應(yīng)用禁止針對系統(tǒng)注冊表的寫入操作。也就是說,一旦啟動目標應(yīng)用就可以針對所有針對系統(tǒng)注冊表中的全部注冊表的寫入操作進行檢測以及禁止寫入操作的處理。
所述處理單元,用于獲取電子設(shè)備中的至少一個服務(wù)分組,基于至少一個服務(wù)分組對應(yīng)的啟動順序,確定所述至少一個應(yīng)用以及至少一個文件系統(tǒng)的啟動順序。
參見圖4,下面針對如何保證重啟后驅(qū)動最早加載的設(shè)置操作進行說明:
在準備要凍結(jié)系統(tǒng)時,首先鎖定注冊表,不允許第三方程序再寫入任何數(shù)據(jù)到相關(guān)注冊表;
在注冊表指定位置創(chuàng)建一個新的服務(wù)分組,并且將該服務(wù)分組的啟動順序設(shè)成最早;
將我們的查殺驅(qū)動放置在新創(chuàng)建的服務(wù)分組中,使得下次開機,能夠在系統(tǒng)引導(dǎo)的最早時期被加載;
鎖定文件,禁止相關(guān)位置的文件寫入。
本次開機的系統(tǒng)凍結(jié)完成,病毒無法自動變形或復(fù)活,在關(guān)機之前均生效。且下次開機能最早啟動,實施再次凍結(jié)策略。
如此,在凍結(jié)系統(tǒng)后,病毒已無法自動變形、復(fù)活,失去了自我保護能力,因此,可以繼續(xù)使用以往查殺技術(shù)對樣本進行處理。
本實施例通過創(chuàng)建服務(wù)分組,提升驅(qū)動加載的順序,使得目標應(yīng)用(查殺應(yīng)用)先在文件系統(tǒng)啟動之前最早加載,并且注冊文件系統(tǒng)變更通知,在第一時間收到變更通知時,掛載文件系統(tǒng)過濾驅(qū)動,開始凍結(jié)系統(tǒng),禁止注冊表或文件數(shù)據(jù)寫入。
本發(fā)明實施例提供的系統(tǒng)管理裝置可以以各種形式來實施。例如,本發(fā)明中描述的裝置可以包括諸如移動電話、智能電話、筆記本電腦、數(shù)字廣播接收器、PDA(個人數(shù)字助理)、PAD(平板電腦)、PMP(便攜式多媒體播放器)、導(dǎo)航裝置等等的移動終端以及諸如數(shù)字TV、臺式計算機等等的固定終端。圖6為實現(xiàn)本發(fā)明各個實施例的系統(tǒng)管理裝置的硬件結(jié)構(gòu)示意。
系統(tǒng)管理裝置100可以包括用戶輸入單元130、輸出單元150、存儲器160、接口單元170、控制器180和電源單元190等等。圖中示出了具有各種組件的移動終端,但是應(yīng)理解的是,并不要求實施所有示出的組件??梢蕴娲貙嵤└嗷蚋俚慕M件。將在下面詳細描述移動終端的元件。
用戶輸入單元130可以根據(jù)用戶輸入的命令生成鍵輸入數(shù)據(jù)以控制移動終端的各種操作。用戶輸入單元130允許用戶輸入各種類型的信息,并且可以包括鍵盤、鍋仔片、觸摸板(例如,檢測由于被接觸而導(dǎo)致的電阻、壓力、電容等等的變化的觸敏組件)、滾輪、搖桿等等。特別地,當觸摸板以層的形式疊加在顯示單元151上時,可以形成觸摸屏。
接口單元170用作至少一個外部裝置與移動終端100連接可以通過的接口。例如,外部裝置可以包括有線或無線頭戴式耳機端口、外部電源(或電池充電器)端口、有線或無線數(shù)據(jù)端口、存儲卡端口、用于連接具有識別模塊的裝置的端口、音頻輸入/輸出(I/O)端口、視頻I/O端口、耳機端口等等。識別模塊可以是存儲用于驗證用戶使用移動終端100的各種信息并且可以包括用戶識別模塊
(UIM)、客戶識別模塊(SIM)、通用客戶識別模塊(USIM)等等。另外,具有識別模塊的裝置(下面稱為"識別裝置")可以采取智能卡的形式,因此,識別裝置可以經(jīng)由端口或其它連接裝置與移動終端100連接。接口單元170可以用于接收來自外部裝置的輸入(例如,數(shù)據(jù)信息、電力等等)并且將接收到的輸入傳輸?shù)揭苿咏K端100內(nèi)的一個或多個元件或者可以用于在移動終端和外部裝置之間傳輸數(shù)據(jù)。
另外,當移動終端100與外部底座連接時,接口單元170可以用作允許通過其將電力從底座提供到移動終端100的路徑或者可以用作允許從底座輸入的各種命令信號通過其傳輸?shù)揭苿咏K端的路徑。從底座輸入的各種命令信號或電力可以用作用于識別移動終端是否準確地安裝在底座上的信號。輸出單元150被構(gòu)造為以視覺、音頻和/或觸覺方式提供輸出信號(例如,音頻信號、視頻信號、警報信號、振動信號等等)。
輸出單元150可以包括顯示單元151等等。顯示單元151可以顯示在移動終端100中處理的信息。例如,當移動終端100處于電話通話模式時,顯示單元151可以顯示與通話或其它通信(例如,文本消息收發(fā)、多媒體文件下載等等)相關(guān)的用戶界面(UI)或圖形用戶界面(GUI)。當移動終端100處于視頻通話模式或者圖像捕獲模式時,顯示單元151可以顯示捕獲的圖像和/或接收的圖像、示出視頻或圖像以及相關(guān)功能的UI或GUI等等。
同時,當顯示單元151和觸摸板以層的形式彼此疊加以形成觸摸屏?xí)r,顯示單元151可以用作輸入裝置和輸出裝置。顯示單元151可以包括液晶顯示器(LCD)、薄膜晶體管LCD(TFT-LCD)、有機發(fā)光二極管(OLED)顯示器、柔性顯示器、三維(3D)顯示器等等中的至少一種。這些顯示器中的一些可以被構(gòu)造為透明狀以允許用戶從外部觀看,這可以稱為透明顯示器,典型的透明顯示器可以例如為TOLED(透明有機發(fā)光二極管)顯示器等等。根據(jù)特定想要的實施方式,移動終端100可以包括兩個或更多顯示單元(或其它顯示裝置),例如,移動終端可以包括外部顯示單元(未示出)和內(nèi)部顯示單元(未示出)。觸摸屏可用于檢測觸摸輸入壓力以及觸摸輸入位置和觸摸輸入面積。
存儲器160可以存儲由控制器180執(zhí)行的處理和控制操作的軟件程序等等,或者可以暫時地存儲己經(jīng)輸出或?qū)⒁敵龅臄?shù)據(jù)(例如,電話簿、消息、靜態(tài)圖像、視頻等等)。而且,存儲器160可以存儲關(guān)于當觸摸施加到觸摸屏?xí)r輸出的各種方式的振動和音頻信號的數(shù)據(jù)。
存儲器160可以包括至少一種類型的存儲介質(zhì),所述存儲介質(zhì)包括閃存、硬盤、多媒體卡、卡型存儲器(例如,SD或DX存儲器等等)、隨機訪問存儲器(RAM)、靜態(tài)隨機訪問存儲器(SRAM)、只讀存儲器(ROM)、電可擦除可編程只讀存儲器(EEPROM)、可編程只讀存儲器(PROM)、磁性存儲器、磁盤、光盤等等。而且,移動終端100可以與通過網(wǎng)絡(luò)連接執(zhí)行存儲器160的存儲功能的網(wǎng)絡(luò)存儲裝置協(xié)作。
控制器180通常控制移動終端的總體操作。例如,控制器180執(zhí)行與語音通話、數(shù)據(jù)通信、視頻通話等等相關(guān)的控制和處理。
電源單元190在控制器180的控制下接收外部電力或內(nèi)部電力并且提供操作各元件和組件所需的適當?shù)碾娏Α?/p>
這里描述的各種實施方式可以以使用例如計算機軟件、硬件或其任何組合的計算機可讀介質(zhì)來實施。對于硬件實施,這里描述的實施方式可以通過使用特定用途集成電路(ASIC)、數(shù)字信號處理器(DSP)、數(shù)字信號處理裝置(DSPD)、可編程邏輯裝置(PLD)、現(xiàn)場可編程門陣列(FPGA)、處理器、控制器、微控制器、微處理器、被設(shè)計為執(zhí)行這里描述的功能的電子單元中的至少一種來實施,在一些情況下,這樣的實施方式可以在控制器180中實施。對于軟件實施,諸如過程或功能的實施方式可以與允許執(zhí)行至少一種功能或操作的單獨的軟件模塊來實施。軟件代碼可以由以任何適當?shù)木幊陶Z言編寫的軟件應(yīng)用程序(或程序)來實施,軟件代碼可以存儲在存儲器160中并且由控制器180執(zhí)行。
可見,通過上述方案,就能夠保證在電子設(shè)備啟動之后,直接根據(jù)電子設(shè)備中的啟動順序確定加載目標應(yīng)用,進而基于目標應(yīng)用針對第N啟動順序的文件系統(tǒng)或應(yīng)用進行寫入處理。如此,就能夠避免啟動目標應(yīng)用之前,電子設(shè)備存在部分驅(qū)動或部分文件系統(tǒng)首先開啟,而導(dǎo)致的無法全面的進行寫入處理的問題,提升了電子設(shè)備的安全性。
本領(lǐng)域普通技術(shù)人員可以理解:實現(xiàn)上述方法實施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成,前述的程序可以存儲于一計算機可讀取存儲介質(zhì)中,該程序在執(zhí)行時,執(zhí)行包括上述方法實施例的步驟;而前述的存儲介質(zhì)包括:移動存儲設(shè)備、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
或者,本發(fā)明上述集成的單元如果以軟件功能模塊的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,也可以存儲在一個計算機可讀取存儲介質(zhì)中?;谶@樣的理解,本發(fā)明實施例的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機、電子設(shè)備、或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分。而前述的存儲介質(zhì)包括:移動存儲設(shè)備、ROM、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
以上所述,僅為本發(fā)明的具體實施方式,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應(yīng)以所述權(quán)利要求的保護范圍為準。