病毒查殺方法和系統(tǒng)、及客戶端的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及互聯(lián)網(wǎng)安全技術(shù)領(lǐng)域,尤其是一種病毒查殺方法和系統(tǒng)、及客戶端。
【背景技術(shù)】
[0002]隨著互聯(lián)網(wǎng)安全技術(shù)的發(fā)展,云查殺已經(jīng)越來越普及。在云查殺中,各個(gè)客戶端與服務(wù)器保持著即時(shí)的通訊,當(dāng)有一個(gè)客戶端發(fā)現(xiàn)未知惡意文件時(shí),服務(wù)端也就是云端,迅速把惡意文件的特征入庫并下發(fā)到其他客戶端,這樣就以最快的速度扼殺了病毒木馬的傳播。云查殺相比傳統(tǒng)的查殺方式具有更強(qiáng)的及時(shí)性和更強(qiáng)大的對(duì)未知病毒的探測(cè)性,可以把安全領(lǐng)域帶入了一個(gè)嶄新的更高的“云端”。
[0003]目前,所有的云查殺技術(shù)都是通過掃描注冊(cè)表和系統(tǒng)中的文件,將其特征例如MD5(消息摘要算法第五版)等上傳到服務(wù)器的云端進(jìn)行比對(duì),如果發(fā)現(xiàn)是有問題的文件,就清除注冊(cè)表相關(guān)項(xiàng),并刪除對(duì)應(yīng)文件。這種方法對(duì)以往的病毒木馬有良好的查殺效果。但是,本發(fā)明的發(fā)明人發(fā)現(xiàn),由于新的病毒木馬采用了新的對(duì)抗和隱藏技術(shù),導(dǎo)致目前的云查殺不能將其檢測(cè)出來。
[0004]例如,BYSHELL木馬是一個(gè)無進(jìn)程、無DLL(Dynamic Link Library,動(dòng)態(tài)鏈接庫)、無啟動(dòng)項(xiàng)的、集多種Rootki t技術(shù)特征的獨(dú)立功能遠(yuǎn)程控制后門程序(Backdoor)。其利用線程注射DLL到系統(tǒng)進(jìn)程,解除DLL映射并刪除自身文件和注冊(cè)表啟動(dòng)項(xiàng),然后在關(guān)機(jī)時(shí)恢復(fù)。由于木馬在啟動(dòng)后刪除了自身的文件和注冊(cè)表啟動(dòng)項(xiàng),導(dǎo)致在云查殺的時(shí)候根本無法查殺,而在關(guān)機(jī)前,木馬可以再回寫自身,從而繞過了云查殺。又例如,利用白文件的木馬,比如a.exe是個(gè)白程序,會(huì)通過LoadLibrary加載其可能用到的b.dlI,但由于沒有對(duì)b.dl I進(jìn)行驗(yàn)證,導(dǎo)致木馬可以替換b.dll,從而達(dá)到加載木馬的目的。另外,其也可以在加載后刪除自身,然后關(guān)機(jī)時(shí)回寫等,并抹掉自身的DLL模塊,以內(nèi)存代碼方式存在和執(zhí)行。
[0005]因此,有必要提出一種方案能夠?qū)?shí)現(xiàn)對(duì)上述病毒的有效查殺。
【發(fā)明內(nèi)容】
[0006]本發(fā)明實(shí)施例所要解決的一個(gè)技術(shù)問題是:提供一種病毒查殺方法和系統(tǒng)、及客戶端,以實(shí)現(xiàn)對(duì)病毒的有效查殺。
[0007]本發(fā)明實(shí)施例提供的一種病毒查殺方法,包括:客戶端監(jiān)控系統(tǒng)啟動(dòng)過程中加載的模塊,并確定各模塊是否安全;客戶端將系統(tǒng)環(huán)境信息發(fā)送給服務(wù)器,以便服務(wù)器根據(jù)所述系統(tǒng)環(huán)境信息返回掃描信息,所述掃描信息包括目標(biāo)查殺文件;客戶端對(duì)所述目標(biāo)查殺文件進(jìn)行掃描以確定所述目標(biāo)查殺文件是否安全;客戶端根據(jù)所述目標(biāo)查殺文件是否安全的結(jié)果和各模塊是否安全的結(jié)果進(jìn)行病毒查殺。
[0008]在基于本發(fā)明上述方法的另一個(gè)實(shí)施例中,所述客戶端監(jiān)控系統(tǒng)啟動(dòng)過程中加載的模塊,并確定各模塊是否安全包括:客戶端記錄各模塊所在的路徑和文件特征;客戶端將各模塊的文件特征發(fā)送給服務(wù)器,以便服務(wù)器根據(jù)各模塊的文件特征確定各模塊是否安全;客戶端接收服務(wù)器返回的各模塊是否安全的結(jié)果。
[0009]在基于本發(fā)明上述方法的另一個(gè)實(shí)施例中,所述客戶端對(duì)所述目標(biāo)查殺文件進(jìn)行掃描以確定所述目標(biāo)查殺文件是否安全包括:客戶端掃描目標(biāo)查殺文件的文件特征并發(fā)送給服務(wù)器;服務(wù)器根據(jù)目標(biāo)查殺文件的文件特征確定目標(biāo)查殺文件是否安全;客戶端接收服務(wù)器返回的所述目標(biāo)查殺文件是否安全的結(jié)果。
[0010]在基于本發(fā)明上述方法的另一個(gè)實(shí)施例中,所述服務(wù)器根據(jù)目標(biāo)查殺文件的文件特征確定目標(biāo)查殺文件是否安全包括:服務(wù)器判斷根據(jù)目標(biāo)查殺文件的文件特征是否能確定目標(biāo)查殺文件是否安全;若根據(jù)目標(biāo)查殺文件的文件特征能確定目標(biāo)查殺文件是否安全,則服務(wù)器根據(jù)目標(biāo)查殺文件的文件特征確定目標(biāo)查殺文件是否安全;若根據(jù)目標(biāo)查殺文件的文件特征不能確定目標(biāo)查殺文件是否安全,則服務(wù)器向客戶端獲取目標(biāo)查殺文件及其上下文環(huán)境的屬性,并根據(jù)目標(biāo)查殺文件的文件特征、目標(biāo)查殺文件及其上下文環(huán)境的屬性確定目標(biāo)查殺文件是否安全。
[0011]在基于本發(fā)明上述方法的另一個(gè)實(shí)施例中,還包括:服務(wù)器接收客戶端上傳的樣本文件;服務(wù)器計(jì)算每個(gè)樣本文件被鑒別為可疑的概率;服務(wù)器根據(jù)每個(gè)樣本文件被鑒別為可疑的概率對(duì)全部樣本文件進(jìn)行排序;服務(wù)器從排序后的全部樣本文件中抽取若干個(gè)樣本文件作為目標(biāo)查殺文件。
[0012]在基于本發(fā)明上述方法的另一個(gè)實(shí)施例中,還包括:客戶端計(jì)算接收到的目標(biāo)查殺文件被鑒別為可疑的概率;客戶端根據(jù)每個(gè)目標(biāo)查殺文件被鑒別為可疑的概率對(duì)全部目標(biāo)查殺文件進(jìn)行排序;客戶端從排序后的全部目標(biāo)查殺文件中抽取若干個(gè)目標(biāo)查殺文件作為所述目標(biāo)查殺文件,并上傳給服務(wù)器。
[0013]在基于本發(fā)明上述方法的另一個(gè)實(shí)施例中,所述掃描信息還包括掃描條件;所述客戶端對(duì)所述目標(biāo)查殺文件進(jìn)行掃描以確定所述目標(biāo)查殺文件是否安全包括:客戶端根據(jù)掃描條件對(duì)所述目標(biāo)查殺文件進(jìn)行篩選;客戶端對(duì)篩選后的目標(biāo)查殺文件進(jìn)行掃描以確定篩選后的目標(biāo)查殺文件是否安全。
[0014]在基于本發(fā)明上述方法的另一個(gè)實(shí)施例中,所述客戶端對(duì)所述目標(biāo)查殺文件進(jìn)行掃描以確定所述目標(biāo)查殺文件是否安全包括:判斷所述目標(biāo)查殺文件的全部文件屬性信息是否與客戶端中保存的文件的文件屬性信息一致;若所述目標(biāo)查殺文件的全部文件屬性信息是否與客戶端中保存的文件的文件屬性信息一致,則判斷客戶端中保存的文件屬性信息對(duì)應(yīng)的文件是否為惡意文件;若客戶端中保存的文件屬性信息對(duì)應(yīng)的文件為惡意文件,則判定所述目標(biāo)查殺文件為不安全文件;若客戶端中保存的文件屬性信息對(duì)應(yīng)的文件為非惡意文件,則判定所述目標(biāo)查殺文件為安全文件。
[0015]在基于本發(fā)明上述方法的另一個(gè)實(shí)施例中,所述客戶端根據(jù)所述目標(biāo)查殺文件是否安全的結(jié)果和各模塊是否安全的結(jié)果進(jìn)行病毒查殺包括:若所述目標(biāo)查殺文件不安全,則客戶端清除或修復(fù)所述目標(biāo)查殺文件;若所述目標(biāo)查殺文件安全、且與所述目標(biāo)查殺文件相關(guān)的模塊中存在不安全的模塊,則客戶端清除或修復(fù)所述目標(biāo)查殺文件;若與所述目標(biāo)查殺文件不相關(guān)的模塊中存在不安全的模塊,則客戶端將不安全模塊的啟動(dòng)項(xiàng)清除并強(qiáng)制重啟系統(tǒng)。
[0016]在基于本發(fā)明上述方法的另一個(gè)實(shí)施例中,所述客戶端修復(fù)所述目標(biāo)查殺文件包括:客戶端將所述目標(biāo)查殺文件的名稱和版本號(hào)上傳到服務(wù)器,以便服務(wù)器判斷所述目標(biāo)查殺文件是否支持修復(fù);若所述目標(biāo)查殺文件支持修復(fù),則客戶端將所述目標(biāo)查殺文件的文件信息上傳到服務(wù)器,以便服務(wù)器根據(jù)所述目標(biāo)查殺文件的文件信息提供文件下載接口,所述文件信息包括文件目錄、文件名稱和版本號(hào)中的一項(xiàng)或多項(xiàng)信息;客戶端根據(jù)服務(wù)器提供的文件下載接口下載新文件以替代所述目標(biāo)查殺文件。
[0017]本發(fā)明實(shí)施例提供的一種客戶端,包括:第一掃描單元,用于監(jiān)控系統(tǒng)啟動(dòng)過程中加載的模塊,并確定各模塊是否安全;發(fā)送單元,用于將系統(tǒng)環(huán)境信息發(fā)送給服務(wù)器,以便服務(wù)器根據(jù)所述系統(tǒng)環(huán)境信息返回掃描信息,所述掃描信息包括目標(biāo)查殺文件;第二掃描單元,用于對(duì)所述目標(biāo)查殺文件進(jìn)行掃描以確定所述目標(biāo)查殺文件是否安全;病毒查殺單元,用于根據(jù)所述目標(biāo)查殺文件是否安全的結(jié)果和各模塊是否安全的結(jié)果進(jìn)行病毒查殺。
[0018]在基于本發(fā)明上述客戶端的另一個(gè)實(shí)施例中,所述第一掃描單元包括:記錄模塊,用于記錄各模塊所在的路徑和文件特征;發(fā)送模塊,用于將各模塊的文件特征發(fā)送給服務(wù)器,以便服務(wù)器根據(jù)各模塊的文件特征確定各模塊是否安全;接收模塊,用于接收服務(wù)器返回的各模塊是否安全的結(jié)果。
[0019]在基于本發(fā)明上述客戶端的另一個(gè)實(shí)施例中,所述第二掃描單元包括:掃描模塊,用于掃描目標(biāo)查殺文件的文件特征并發(fā)送給服務(wù)器,以便服務(wù)器根據(jù)目標(biāo)查殺文件的文件特征確定目標(biāo)查殺文件是否安全;接收模塊,用于接收服務(wù)器返回的所述目標(biāo)查殺文件是否安全的結(jié)果。
[0020]在基于本發(fā)明上述客戶端的另一個(gè)實(shí)施例中,還包括:計(jì)算單元,用于計(jì)算接收到的目標(biāo)查殺文件被鑒別為可疑的概率;排序單元,用于根據(jù)每個(gè)目標(biāo)查殺文件被鑒別為可疑的概率對(duì)全部目標(biāo)查殺文件進(jìn)行排序;抽取單元,用于從排序后的全部目標(biāo)查殺文件中抽取若干個(gè)目標(biāo)查殺文件作為所述目標(biāo)查殺文件,并上傳給服務(wù)器。
[0021]在基于本發(fā)明上述客戶端的另一個(gè)實(shí)施例中,所述掃描信息還包括掃描條件;所述第二掃描單元具體用于:根據(jù)掃描條件對(duì)所述目標(biāo)查殺文件進(jìn)行篩選;對(duì)篩選后的目標(biāo)查殺文件進(jìn)行掃描以確定篩選后的目標(biāo)查殺文件是否安全。
[0022]在基于本發(fā)明上述客戶端的另一個(gè)實(shí)施例中,所述第二掃描單元具體用于:判斷所述目標(biāo)查殺文件的全部文件屬性信息是否與客戶端中保存的文件的文件屬性信息一致;若所述目標(biāo)查殺文件的全部文件屬性信息是否與客戶端中保存的文件的文件屬性信息一致,則判斷客戶端中保存的文件屬性信息對(duì)應(yīng)的文件是否為惡意文件;若客戶端中保存的文件屬性信息對(duì)應(yīng)的文件為惡意文件,則判定所述目標(biāo)查殺文件為不安全文件;若客戶端中保存的文件屬性信息對(duì)應(yīng)的文件為非惡意文件,則判定所述目標(biāo)查殺文件為安全文件。
[0023]在基于本發(fā)明上述客戶端的另一個(gè)實(shí)施例中,所述病毒查殺單元具體用于:若所述目標(biāo)查殺文件不安全,則清除或修復(fù)所述目標(biāo)查殺文件;若所述目標(biāo)查殺文件安全、且與所述目標(biāo)查殺文件相關(guān)的模塊中存在不安全的模塊,則清除或修復(fù)所述目標(biāo)查殺文件;若與所述目標(biāo)查殺文件不相關(guān)的模塊中存在不安全的模塊,則將不安全模塊的啟動(dòng)項(xiàng)清除并強(qiáng)制重啟系統(tǒng)。
[0024]在基于本發(fā)明上述客戶端的另一個(gè)實(shí)施例中,所述病毒查殺單元包括:上傳模塊,用于將所述目標(biāo)查殺文件的名稱和版本號(hào)上傳到服務(wù)器,以便服務(wù)器判斷所述目標(biāo)查殺文件是否支持修復(fù);若所述目標(biāo)查殺文件支持修復(fù),則將所述目標(biāo)查殺文件的文件信息上傳到服務(wù)器,以便服務(wù)器根據(jù)所述目標(biāo)查殺文件的文件信息提供文件下載接口,所述文件信息包括文件目錄、文件名稱和版本號(hào)中的一項(xiàng)或多項(xiàng)信息;下載模塊