国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種基于云安全的惡意軟件追蹤方法

      文檔序號(hào):8005028閱讀:178來(lái)源:國(guó)知局
      一種基于云安全的惡意軟件追蹤方法
      【專利摘要】本發(fā)明公開(kāi)了一種基于云安全的惡意軟件追蹤方法。本發(fā)明實(shí)施例提供的一種追蹤軟件的方法,包括:記錄已獲知的需要追蹤的軟件在設(shè)備本地生成的文件的信息至第一數(shù)據(jù)庫(kù),該文件具有與該軟件相同的記錄標(biāo)識(shí);以及,記錄從網(wǎng)絡(luò)中下載至設(shè)備中的下載文件的信息及該下載文件的記錄標(biāo)識(shí)至第二數(shù)據(jù)庫(kù);當(dāng)設(shè)備中的軟件被啟動(dòng)時(shí),查詢第一數(shù)據(jù)庫(kù)和/或第二數(shù)據(jù)庫(kù)判斷該軟件是否為需要追蹤的軟件;若軟件為需要追蹤的軟件,根據(jù)獲知的該軟件的記錄標(biāo)識(shí),從第二數(shù)據(jù)庫(kù)中獲取對(duì)應(yīng)的下載文件的信息,得到追蹤信息;以及,將軟件在設(shè)備本地生成的文件的信息記錄在第一數(shù)據(jù)庫(kù)中,并為該文件設(shè)置與軟件相同的記錄標(biāo)識(shí)。
      【專利說(shuō)明】一種基于云安全的惡意軟件追蹤方法
      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明涉及計(jì)算機(jī)軟件領(lǐng)域,特別涉及一種基于云安全的惡意軟件追蹤方法。
      【背景技術(shù)】
      [0002]隨著計(jì)算機(jī)技術(shù)在社會(huì)生活中各個(gè)領(lǐng)域的廣泛運(yùn)用,惡意程序也如同其附屬品一樣接踵而來(lái)。由于這些惡意程序所具有的感染性、復(fù)制性及破壞性,其已成為困擾計(jì)算機(jī)使用的一個(gè)重大問(wèn)題。
      [0003]惡意程序是一個(gè)概括性的術(shù)語(yǔ),指任何故意創(chuàng)建用來(lái)執(zhí)行未經(jīng)授權(quán)并通常是有害行為的軟件程序。計(jì)算機(jī)病毒、后門程序、鍵盤記錄器、密碼盜取者、Word和Excel宏病毒、引導(dǎo)區(qū)病毒、腳本病毒(如batch, windows shell, java等)、木馬、犯罪軟件、間謀軟件和廣告軟件等等,都是一些可以稱之為惡意程序的例子。以木馬為例,木馬能夠盜取網(wǎng)銀密碼、盜取網(wǎng)游裝備、泄露隱私照片等等。
      [0004]可以看出,惡意程序?qū)τ?jì)算機(jī)設(shè)備以及用戶造成的危害是巨大的,因此如何對(duì)惡意程序進(jìn)行查殺就顯得更為重要。傳統(tǒng)的查殺方式是特征庫(kù)匹配,但是隨著惡意程序爆發(fā)式的增長(zhǎng),又由于特征庫(kù)的生成與更新相對(duì)于病毒的產(chǎn)生通常滯后,導(dǎo)致傳統(tǒng)特征庫(kù)匹配的查殺方式越來(lái)愈力不從心。于是出現(xiàn)了主動(dòng)防御技術(shù),主動(dòng)防御是基于程序行為自主分析判斷的實(shí)時(shí)防護(hù)技術(shù),不以病毒的特征碼作為判斷病毒的依據(jù),而是從最原始的病毒定義出發(fā),直接將程序的行為作為判斷病毒的依據(jù),解決了傳統(tǒng)安全軟件無(wú)法防御未知惡意軟件的弊端,從技術(shù)上實(shí)現(xiàn)了惡意程序的主動(dòng)防御。
      [0005]然而,一些惡意程序可以通過(guò)生成新的可執(zhí)行文件或創(chuàng)建快捷方式等,誘導(dǎo)用戶運(yùn)行該惡意程序派生出的文件,由于現(xiàn)有方案無(wú)法對(duì)這些派生出的文件進(jìn)行準(zhǔn)確定位,從而導(dǎo)致一些惡意程序能夠繞過(guò)主動(dòng)防御攔截,降低了主動(dòng)防御的有效性。

      【發(fā)明內(nèi)容】

      [0006]鑒于上述問(wèn)題,提出了本發(fā)明以便提供一種克服上述問(wèn)題或者至少部分地解決上述問(wèn)題的一種基于云安全的惡意軟件追蹤方法。
      [0007]依據(jù)本發(fā)明的一個(gè)方面,本發(fā)明實(shí)施例提供了一種追蹤軟件的方法,包括:
      [0008]記錄已獲知的需要追蹤的軟件在設(shè)備本地生成的文件的信息至第一數(shù)據(jù)庫(kù),該文件具有與該軟件相同的記錄標(biāo)識(shí);以及,記錄從網(wǎng)絡(luò)中下載至設(shè)備中的下載文件的信息及該下載文件的記錄標(biāo)識(shí)至第二數(shù)據(jù)庫(kù);
      [0009]當(dāng)設(shè)備中的軟件被啟動(dòng)時(shí),查詢第一數(shù)據(jù)庫(kù)和/或第二數(shù)據(jù)庫(kù)判斷該軟件是否為需要追蹤的軟件;
      [0010]若軟件為需要追蹤的軟件,根據(jù)在查詢第一數(shù)據(jù)庫(kù)和/或第二數(shù)據(jù)庫(kù)時(shí)獲知的該軟件的記錄標(biāo)識(shí),從第二數(shù)據(jù)庫(kù)中獲取對(duì)應(yīng)的下載文件的信息,得到指示軟件的源頭的追蹤信息;以及,將軟件在設(shè)備本地生成的文件的信息記錄在第一數(shù)據(jù)庫(kù)中,并為該文件設(shè)置與軟件相同的記錄標(biāo)識(shí)。[0011]其中,上述將軟件在設(shè)備本地生成的文件的信息記錄在第一數(shù)據(jù)庫(kù)中包括:
      [0012]提取文件的文件路徑中的各級(jí)文件目錄,按照預(yù)定算法對(duì)提取出的每一級(jí)文件目錄對(duì)應(yīng)的字符串進(jìn)行運(yùn)算,將各級(jí)文件目錄的運(yùn)算值組合在一起得到該文件的文件指紋;將文件的信息記錄在第一數(shù)據(jù)庫(kù)中該文件的文件指紋所指示的位置。
      [0013]其中,上述查詢第一數(shù)據(jù)庫(kù)和/或第二數(shù)據(jù)庫(kù)判斷該軟件是否為待追蹤軟件包括:判斷軟件的進(jìn)程鏈上是否存在至少一個(gè)進(jìn)程的相關(guān)文件被記錄在第一數(shù)據(jù)庫(kù)和/或第二數(shù)據(jù)庫(kù)中,若是,確認(rèn)軟件為需要追蹤的軟件,若否,確認(rèn)軟件不是需要追蹤的軟件。
      [0014]其中,上述進(jìn)程的相關(guān)文件包括進(jìn)程的exe文件,以及,當(dāng)進(jìn)程是通過(guò)快捷方式啟動(dòng)時(shí),進(jìn)程的相關(guān)文件包括快捷方式文件;當(dāng)進(jìn)程為批處理進(jìn)程時(shí),進(jìn)程的相關(guān)文件包括批處理文件;當(dāng)進(jìn)程為腳本進(jìn)程時(shí),進(jìn)程的相關(guān)文件包括腳本文件;當(dāng)進(jìn)程為rundll32或regsvr32進(jìn)程時(shí),進(jìn)程的相關(guān)文件包括相關(guān)的動(dòng)態(tài)鏈接庫(kù)DLL文件;當(dāng)為解壓縮進(jìn)程時(shí),該進(jìn)程的相關(guān)文件包括解壓縮文件。
      [0015]其中,上述查詢第一數(shù)據(jù)庫(kù)和/或第二數(shù)據(jù)庫(kù)判斷該軟件是否為需要追蹤的軟件包括:
      [0016]提取軟件的進(jìn)程鏈上當(dāng)前進(jìn)程的當(dāng)前文件的文件路徑中的各級(jí)文件目錄,按照預(yù)定算法對(duì)提取出的每一級(jí)文件目錄對(duì)應(yīng)的字符串進(jìn)行運(yùn)算,將各級(jí)文件目錄的運(yùn)算值組合在一起得到該當(dāng)前文件的查詢值;利用查詢值對(duì)第一數(shù)據(jù)庫(kù)中的文件指紋進(jìn)行匹配;當(dāng)匹配成功時(shí),確認(rèn)軟件為需要追蹤的軟件;當(dāng)匹配失敗時(shí),在第二數(shù)據(jù)庫(kù)中查詢當(dāng)前文件,當(dāng)查詢到當(dāng)前文件時(shí),確認(rèn)軟件為需要追蹤的軟件;否則,確認(rèn)軟件不是需要追蹤的軟件。
      [0017]其中,上述將軟件在設(shè)備本地生成的文件的信息記錄在第一數(shù)據(jù)庫(kù)中包括:
      [0018]監(jiān)控設(shè)備本地軟件的進(jìn)程創(chuàng)建操作,獲取被創(chuàng)建進(jìn)程執(zhí)行時(shí)的命令行參數(shù);解析被創(chuàng)建進(jìn)程執(zhí)行的命令行參數(shù),根據(jù)被創(chuàng)建進(jìn)執(zhí)行時(shí)的命令行參數(shù)判斷被創(chuàng)建進(jìn)程是否為解壓縮進(jìn)程;如果是,則通知驅(qū)動(dòng)程序記錄該解壓縮進(jìn)程生成的信息至第一數(shù)據(jù)庫(kù)。
      [0019]其中,上述方法還包括:當(dāng)軟件在設(shè)備本地生成的文件包括可執(zhí)行文件時(shí),監(jiān)控可執(zhí)行文件的進(jìn)程創(chuàng)建操作,若監(jiān)控到進(jìn)程創(chuàng)建操作,則判斷該可執(zhí)行文件的進(jìn)程在運(yùn)行過(guò)程中是否執(zhí)行了可疑操作;如果是,則至少將可執(zhí)行文件的追蹤信息發(fā)送到安全掃描器或云安全服務(wù)器,供安全掃描器或云安全服務(wù)器進(jìn)行檢測(cè)判斷;根據(jù)安全掃描器或云安全服務(wù)器返回的結(jié)果,確定對(duì)可執(zhí)行文件進(jìn)行放行、攔截或提示。
      [0020]其中,上述方法還包括:當(dāng)軟件在設(shè)備本地生成的文件包括可執(zhí)行文件時(shí),監(jiān)控可執(zhí)行文件的進(jìn)程創(chuàng)建操作,若監(jiān)控到進(jìn)程創(chuàng)建操作,則通知驅(qū)動(dòng)程序監(jiān)控該可執(zhí)行文件進(jìn)程加載的DLL文件,并記錄在內(nèi)存中可執(zhí)行文件進(jìn)程的相關(guān)數(shù)據(jù)結(jié)構(gòu)中;如果該可執(zhí)行文件進(jìn)程執(zhí)行的操作包括可疑操作,則通過(guò)安全掃描器對(duì)該可執(zhí)行文件進(jìn)程加載的DLL進(jìn)行檢查;根據(jù)檢查結(jié)果,確定是否修改該可執(zhí)行文件進(jìn)程的安全等級(jí),以及根據(jù)可執(zhí)行文件的安全等級(jí)決定放行、攔截或提示。
      [0021]其中,上述方法還包括:當(dāng)設(shè)備中的軟件被啟動(dòng)時(shí),將該軟件的信息上傳至云安全服務(wù)器,以由云安全服務(wù)器利用保存的文件的信息對(duì)該軟件進(jìn)行檢測(cè)判斷;接收云安全服務(wù)器返回的對(duì)該軟件的追蹤信息。
      [0022]根據(jù)本發(fā)明的另一方面,本發(fā)明實(shí)施例提供了一種追蹤軟件的裝置,包括:
      [0023]記錄單元,適于記錄已獲知的需要追蹤的軟件在設(shè)備本地生成的文件的信息至第一數(shù)據(jù)庫(kù),該文件具有與該軟件相同的記錄標(biāo)識(shí);以及,記錄從網(wǎng)絡(luò)中下載至設(shè)備中的下載文件的信息及該下載文件的記錄標(biāo)識(shí)至第二數(shù)據(jù)庫(kù);
      [0024]判斷單元,適于當(dāng)設(shè)備中的軟件被啟動(dòng)時(shí),查詢第一數(shù)據(jù)庫(kù)和/或第二數(shù)據(jù)庫(kù)判斷該軟件是否為需要追蹤的軟件;
      [0025]獲取單元,適于當(dāng)判斷單元判斷軟件為需要追蹤的軟件時(shí),根據(jù)在查詢第一數(shù)據(jù)庫(kù)和/或第二數(shù)據(jù)庫(kù)時(shí)獲知的該軟件的記錄標(biāo)識(shí),從第二數(shù)據(jù)庫(kù)中獲取對(duì)應(yīng)的下載文件的信息,得到指示軟件的源頭的追蹤信息;
      [0026]記錄單元,還適于對(duì)判斷單元判斷為需要跟蹤的軟件在設(shè)備本地生成文件時(shí),將該文件的信息記錄在第一數(shù)據(jù)庫(kù)中,并為該文件設(shè)置與軟件相同的記錄標(biāo)識(shí)。
      [0027]其中,記錄單元,適于提取文件的文件路徑中的各級(jí)文件目錄,按照預(yù)定算法對(duì)提取出的每一級(jí)文件目錄對(duì)應(yīng)的字符串進(jìn)行運(yùn)算,將各級(jí)文件目錄的運(yùn)算值組合在一起得到該文件的文件指紋;將該文件的信息記錄在第一數(shù)據(jù)庫(kù)中該新文件的文件指紋所指示的位置。
      [0028]其中,判斷單元,進(jìn)一步適于判斷軟件的進(jìn)程鏈上是否存在至少一個(gè)進(jìn)程的相關(guān)文件被記錄在第一數(shù)據(jù)庫(kù)和/或第二數(shù)據(jù)庫(kù)中,若是,確認(rèn)軟件為需要追蹤的軟件,若否,確認(rèn)軟件不是需要追蹤的軟件。
      [0029]其中,判斷單元,適于提取軟件的進(jìn)程鏈上當(dāng)前進(jìn)程的當(dāng)前文件的文件路徑中的各級(jí)文件目錄,按照預(yù)定算法對(duì)提取出的每一級(jí)文件目錄對(duì)應(yīng)的字符串進(jìn)行運(yùn)算,將各級(jí)文件目錄的運(yùn)算值組合在一起得到該當(dāng)前文件的查詢值;利用查詢值對(duì)第一數(shù)據(jù)庫(kù)中的文件指紋進(jìn)行匹配;當(dāng)匹配成功時(shí),確認(rèn)軟件為需要追蹤的軟件;當(dāng)匹配失敗時(shí),在第二數(shù)據(jù)庫(kù)中查詢當(dāng)前文件,當(dāng)查詢到當(dāng)前文件時(shí),確認(rèn)軟件為需要追蹤的軟件;否則,確認(rèn)軟件不是需要追蹤的軟件。
      [0030]其中,記錄單元,適于監(jiān)控設(shè)備本地軟件的進(jìn)程創(chuàng)建操作,獲取被創(chuàng)建進(jìn)程執(zhí)行時(shí)的命令行參數(shù);解析被創(chuàng)建進(jìn)程執(zhí)行的命令行參數(shù),根據(jù)被創(chuàng)建進(jìn)執(zhí)行時(shí)的命令行參數(shù)判斷被創(chuàng)建進(jìn)程是否為解壓縮進(jìn)程;如果是,則通知驅(qū)動(dòng)程序記錄該解壓縮進(jìn)程生成的信息至第一數(shù)據(jù)庫(kù)。
      [0031]其中,上述裝置還包括主動(dòng)防御單元,適于當(dāng)軟件在設(shè)備本地生成的文件包括可執(zhí)行文件時(shí),監(jiān)控可執(zhí)行文件的進(jìn)程創(chuàng)建操作,若監(jiān)控到進(jìn)程創(chuàng)建操作,則判斷該可執(zhí)行文件的進(jìn)程在運(yùn)行過(guò)程中是否執(zhí)行了可疑操作;如果是,則至少將可執(zhí)行文件的追蹤信息發(fā)送到安全掃描器或云安全服務(wù)器,供安全掃描器或云安全服務(wù)器進(jìn)行檢測(cè)判斷;根據(jù)安全掃描器或云安全服務(wù)器返回的結(jié)果,確定對(duì)可執(zhí)行文件進(jìn)行放行、攔截或提示。
      [0032]其中,上述裝置還包括主動(dòng)防御單元,適于當(dāng)軟件在設(shè)備本地生成的文件包括可執(zhí)行文件時(shí),監(jiān)控可執(zhí)行文件的進(jìn)程創(chuàng)建操作,若監(jiān)控到進(jìn)程創(chuàng)建操作,則通知驅(qū)動(dòng)程序監(jiān)控該可執(zhí)行文件進(jìn)程加載的DLL文件,并記錄在內(nèi)存中可執(zhí)行文件進(jìn)程的相關(guān)數(shù)據(jù)結(jié)構(gòu)中;如果該可執(zhí)行文件進(jìn)程執(zhí)行的操作包括可疑操作,則通過(guò)安全掃描器對(duì)該可執(zhí)行文件進(jìn)程加載的DLL進(jìn)行檢查;根據(jù)檢查結(jié)果,確定是否修改該可執(zhí)行文件進(jìn)程的安全等級(jí),以及根據(jù)可執(zhí)行文件的安全等級(jí)決定放行、攔截或提示。
      [0033]其中,獲取單元,還適于當(dāng)設(shè)備中的軟件被啟動(dòng)時(shí),將該軟件的信息上傳至云安全服務(wù)器,以由云安全服務(wù)器利用保存的文件的信息對(duì)該軟件進(jìn)行檢測(cè)判斷;接收云安全服務(wù)器返回的對(duì)該軟件的追蹤信息。
      [0034]根據(jù)本發(fā)明的又一方面,本發(fā)明實(shí)施例提供了一種基于云安全的惡意軟件追蹤方法,包括:
      [0035]記錄已獲知的需要追蹤的軟件在設(shè)備本地生成的文件的信息至云安全服務(wù)端的第一數(shù)據(jù)庫(kù),該文件具有與該軟件相同的記錄標(biāo)識(shí);以及,記錄從網(wǎng)絡(luò)中下載至設(shè)備中的下載文件的信息及該下載文件的記錄標(biāo)識(shí)至云安全服務(wù)端的第二數(shù)據(jù)庫(kù);
      [0036]當(dāng)設(shè)備中的軟件被啟動(dòng)時(shí),將該軟件的信息上報(bào)至云安全服務(wù)端,以使云安全服務(wù)端根據(jù)第一數(shù)據(jù)庫(kù)和/或第二數(shù)據(jù)庫(kù)確認(rèn)該軟件為需要追蹤的軟件后,根據(jù)獲知的該軟件的記錄標(biāo)識(shí),從第二數(shù)據(jù)庫(kù)中獲取對(duì)應(yīng)的下載文件的信息,得到指示軟件的源頭的追蹤信息;以及,將軟件在設(shè)備本地生成的文件的信息記錄在第一數(shù)據(jù)庫(kù)中,并為該文件設(shè)置與軟件相同的記錄標(biāo)識(shí);
      [0037]接收云安全服務(wù)端返回的軟件的追蹤信息。
      [0038]本發(fā)明實(shí)施例通過(guò)對(duì)設(shè)備本地需要監(jiān)控的軟件的每個(gè)文件的信息進(jìn)行記錄以及對(duì)設(shè)備從外部網(wǎng)絡(luò)下載到本地的每個(gè)下載文件的信息進(jìn)行記錄的技術(shù)手段,能夠?qū)π枰粉櫟能浖苫蚺缮龅乃形募男畔⑦M(jìn)行記錄,形成一條該軟件的文件鏈信息;以及,基于這種文件鏈通過(guò)查詢第一數(shù)據(jù)庫(kù)和/或第二數(shù)據(jù)庫(kù)確認(rèn)需要追蹤的文件并從第二數(shù)據(jù)庫(kù)中獲取到追蹤信息技術(shù)手段,能夠獲取到派生文件所屬軟件的源頭信息,準(zhǔn)確對(duì)派生文件進(jìn)行定位,從而能夠利用該源頭信息對(duì)軟件執(zhí)行主動(dòng)防御攔截,提高了主動(dòng)防御的有效性。
      [0039]并且,本發(fā)明實(shí)施例縮小了攔截進(jìn)程加載DLL的范圍,不必?cái)r截所有進(jìn)程,僅對(duì)進(jìn)程文件來(lái)源于下載文件或壓縮包文件的進(jìn)程攔截加載DLL,這樣既能攔截白利用木馬,由于減少了攔截的范圍,因此可以減少對(duì)計(jì)算機(jī)性能造成大的影響。
      [0040]上述說(shuō)明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說(shuō)明書(shū)的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的【具體實(shí)施方式】。
      【專利附圖】

      【附圖說(shuō)明】
      [0041]通過(guò)閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對(duì)于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對(duì)本發(fā)明的限制。而且在整個(gè)附圖中,用相同的參考符號(hào)表示相同的部件。在附圖中:
      [0042]圖1示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的追蹤軟件的方法流程示意圖;
      [0043]圖2示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的追蹤信息的查詢方法流程示意圖;以及
      [0044]圖3示出了根據(jù)本發(fā)明又一個(gè)實(shí)施例的追蹤軟件的裝置的結(jié)構(gòu)示意圖。
      【具體實(shí)施方式】
      [0045]下面將參照附圖更詳細(xì)地描述本公開(kāi)的示例性實(shí)施例。雖然附圖中顯示了本公開(kāi)的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開(kāi)而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開(kāi),并且能夠?qū)⒈竟_(kāi)的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。[0046]本發(fā)明一個(gè)實(shí)施例提供了一種追蹤軟件的方法,參見(jiàn)圖1,該方法包括如下步驟:
      [0047]SlOO:記錄已獲知的需要追蹤的軟件在設(shè)備本地生成的文件的信息至第一數(shù)據(jù)庫(kù),該文件具有與該軟件相同的記錄標(biāo)識(shí);以及,記錄從網(wǎng)絡(luò)中下載至設(shè)備中的下載文件的信息及該下載文件的記錄標(biāo)識(shí)至第二數(shù)據(jù)庫(kù)。
      [0048]本實(shí)施例中建立了兩個(gè)數(shù)據(jù)庫(kù),第一數(shù)據(jù)庫(kù)和第二數(shù)據(jù)庫(kù),本實(shí)施例不對(duì)這兩個(gè)數(shù)據(jù)庫(kù)的具體名稱進(jìn)行限定,例如,第一數(shù)據(jù)庫(kù)也可以稱之為文件鏈數(shù)據(jù)庫(kù),第二數(shù)據(jù)庫(kù)也可以稱之為網(wǎng)盾數(shù)據(jù)庫(kù)。
      [0049]上述第一數(shù)據(jù)庫(kù)中記錄的一個(gè)文件的信息包括生成該文件的文件、壓縮包或進(jìn)程的名稱,該文件的文件路徑,該文件的文件名稱,但不局限于此,可以將文件生成過(guò)程中獲取到其他信息也都記錄在第一數(shù)據(jù)庫(kù)中,如文件的生成時(shí)間、文件的版本信息以及文件的描述信息等。
      [0050]當(dāng)一個(gè)文件的進(jìn)程或者父進(jìn)程、父父進(jìn)程(包括系統(tǒng)進(jìn)程和第三方進(jìn)程)等只要有一個(gè)進(jìn)程生成的文件是可以在第二數(shù)據(jù)庫(kù)或第一數(shù)據(jù)庫(kù)中查找到的,就將該文件的信息記錄在第一數(shù)據(jù)庫(kù)中。這種方式下,利用記錄的信息可以獲知一個(gè)文件上游的各文件(生成該文件的原始文件、生成該原始文件的文件等)的信息以及該文件下游(該文件派生出的派生文件、派生文件又派生出的文件等)的各文件,從而形成了一條文件鏈,利用該文件鏈可以追蹤到文件的源頭信息。
      [0051]需要說(shuō)明的是,本實(shí)施例中第一數(shù)據(jù)庫(kù)記錄的文件主要包括兩種類型:一種類型是設(shè)備在本地從無(wú)到有新生成的文件,該新文件中的數(shù)據(jù)在創(chuàng)建時(shí)間點(diǎn)之前不存在于設(shè)備中,另一種類型是設(shè)備中原有的文件發(fā)生了變化而新創(chuàng)建出來(lái)的文件,該新文件中的數(shù)據(jù)在創(chuàng)建時(shí)間點(diǎn)之前已存在于設(shè)備中,如當(dāng)修改了原有文件的名稱、移動(dòng)了原有文件的存儲(chǔ)位置時(shí),則原有文件由于這些變化會(huì)生成出新文件,將這些新文件的信息也記錄在第一數(shù)據(jù)庫(kù)中,從而保證了建立的文件鏈的完整性。
      [0052]上述第二數(shù)據(jù)庫(kù)可以基于設(shè)備中的網(wǎng)盾工具實(shí)現(xiàn),網(wǎng)盾為一種能夠?qū)υO(shè)備的下載操作進(jìn)行監(jiān)控的工具,通過(guò)網(wǎng)盾可以獲知設(shè)備是否從網(wǎng)絡(luò)中下載了新的文件,當(dāng)網(wǎng)盾監(jiān)測(cè)到設(shè)備下載了新的文件時(shí),提取該新的下載文件的信息記錄在第二數(shù)據(jù)庫(kù)中。第二數(shù)據(jù)庫(kù)中記錄的下載文件的信息包括下載工具類型、下載URL (Uniform Resource Locator,統(tǒng)一資源定位符)及網(wǎng)頁(yè)URL等,除了此處列舉的之外,如果還有其他可以在下載過(guò)程中或下載完成時(shí)能獲的信息,也可以記錄下來(lái)??梢岳斫?,當(dāng)不采用網(wǎng)盾工具時(shí),本實(shí)施例也可以在設(shè)備設(shè)置一個(gè)用于監(jiān)控設(shè)備的下載操作的監(jiān)控功能,利用該監(jiān)控功能替代于網(wǎng)盾工具。
      [0053]其中,下載工具類型,一般指文件是通過(guò)什么途徑下載的,比如即時(shí)通訊工具、郵件客戶端等,例如,Outlook/Foxmail等郵件客戶端、WEB瀏覽器、IE/Chrome等專用下載工具以及迅雷/電驢等下載工具。下載URL,一般指該下載文件自身的下載鏈接。網(wǎng)頁(yè)URL,一般指下載URL所在的web網(wǎng)頁(yè)的URL。
      [0054]本實(shí)施例采用一種應(yīng)用層和驅(qū)動(dòng)層配合的追蹤機(jī)制,由應(yīng)用層監(jiān)測(cè)是否在本地生成了新文件和/或下載了新的文件,是則由應(yīng)用層通知驅(qū)動(dòng)層對(duì)本地的新文件和/或新的下載文件的信息進(jìn)行記錄。
      [0055]一些惡意軟件通過(guò)把CMD之類的文件,或者bat的文件,或者快捷方式打包在一個(gè)壓縮包里,或者傳遞其中的單個(gè)文件(Pif),圖標(biāo),可能是應(yīng)用程序的文件,或者VBS (—種腳本文件),建立一個(gè)文件夾并放置一個(gè)文件夾配置文件(desktop, ini),使用計(jì)劃任務(wù),或者,使用模擬鼠標(biāo)點(diǎn)擊等。甚至網(wǎng)購(gòu)木馬等會(huì)傳送一個(gè)壓縮包,后續(xù)解壓縮到用戶電腦的卓面上,如果用戶雙擊壓縮包使用關(guān)聯(lián)解壓軟件打開(kāi)該壓縮包,然后在解壓軟件中雙擊偽裝的木馬程序,或者對(duì)壓縮包進(jìn)行解壓縮,然后雙擊解壓后的木馬程序,則會(huì)啟動(dòng)壓縮包中的惡意程序。然而,壓縮包軟件(如Winrar)在國(guó)內(nèi)是一款裝機(jī)必備軟件,占據(jù)90%以上的壓縮市場(chǎng)份額,可見(jiàn)木馬通過(guò)壓縮包傳播的廣泛程度。
      [0056]鑒于惡意軟件通過(guò)壓縮包傳播帶來(lái)的危害,本實(shí)施例采用應(yīng)用層在執(zhí)行監(jiān)測(cè)時(shí),主要監(jiān)測(cè)兩個(gè)源頭:網(wǎng)盾下載的文件,以及解壓縮文件。應(yīng)用層也可以對(duì)解壓縮文件之外的其他本地文件進(jìn)行監(jiān)測(cè),但由于解壓縮文件是木馬等惡意軟件傳播的一個(gè)主要途徑,所以本方案對(duì)解壓縮文件進(jìn)行重點(diǎn)監(jiān)測(cè)。
      [0057]則上述將該解壓縮文件的信息以及該壓縮包的文件標(biāo)識(shí)記錄至第一數(shù)據(jù)庫(kù)包括:監(jiān)控設(shè)備本地軟件的進(jìn)程創(chuàng)建操作,獲取被創(chuàng)建進(jìn)程執(zhí)行時(shí)的命令行參數(shù);解析被創(chuàng)建進(jìn)程執(zhí)行的命令行參數(shù),根據(jù)被創(chuàng)建進(jìn)執(zhí)行時(shí)的命令行參數(shù)判斷被創(chuàng)建進(jìn)程是否為解壓縮進(jìn)程;如果是,則通知驅(qū)動(dòng)程序記錄該解壓縮進(jìn)程生成的信息至第一數(shù)據(jù)庫(kù)。
      [0058]命令行參數(shù)包含的內(nèi)容較多,例如一般包括被創(chuàng)建進(jìn)程的進(jìn)程路徑、壓縮包的存放路徑、更具體的進(jìn)程參數(shù)等。如,某一解壓縮命令行參數(shù)為"C:\PiOgram Files\AAA\AAAzip\AAAzip.exe" -s〃C: \Test\test.zip〃〃C: \Test\test,其中,〃C:\Program Files\AAA\AAAzip\AAAzip.exe"即為被創(chuàng)建進(jìn)程的進(jìn)程路徑,"_s"是用來(lái)表明該進(jìn)程是解壓縮進(jìn)程、而非壓縮進(jìn)程的一種參數(shù)信息,"C:\Test\test.zip"是壓縮包的存放路徑參數(shù)信息。當(dāng)然,有些情況下,命令行參數(shù)中可能也沒(méi)有進(jìn)程路徑。但是,通過(guò)監(jiān)控進(jìn)程創(chuàng)建操作,捕獲進(jìn)程創(chuàng)建的相關(guān)函數(shù),也是可以獲得被創(chuàng)建進(jìn)程的進(jìn)程路徑的。
      [0059]可選的,可以解析被創(chuàng)建進(jìn)程的進(jìn)程路徑和命令行參數(shù),然后根據(jù)進(jìn)程路徑以及命令行參數(shù),判斷被創(chuàng)建進(jìn)程是否為解壓縮進(jìn)程。例如,根據(jù)被創(chuàng)建進(jìn)程的進(jìn)程路徑,判斷被創(chuàng)建進(jìn)程的進(jìn)程文件是否為壓縮或解壓縮軟件。通常進(jìn)程路徑中會(huì)有進(jìn)程文件的相關(guān)信息,如“WinRAR.exe”或“AAAZip.exe”等文件名,另外還有進(jìn)程文件內(nèi)部的版本信息中包含特定的文件內(nèi)部名稱、文件描述等參數(shù)信息,進(jìn)而,即可根據(jù)參數(shù)信息判斷出該進(jìn)程文件是否屬于壓縮或解壓縮軟件。如果是,則進(jìn)一步根據(jù)命令行參數(shù)判斷被創(chuàng)建進(jìn)程是否為解壓縮進(jìn)程。如果進(jìn)程是解壓縮進(jìn)程,那么在命令行參數(shù)中一般會(huì)有可以體現(xiàn)出是解壓縮、而非壓縮的參數(shù),例如前文給出的命令行參數(shù)示例中的“-S”參數(shù),因此可以根據(jù)這類參數(shù)判斷出本進(jìn)程是解壓縮進(jìn)程,而不是壓縮進(jìn)程。
      [0060]進(jìn)一步的,本實(shí)施例為每個(gè)下載文件設(shè)置一個(gè)記錄標(biāo)識(shí),將該記錄標(biāo)識(shí)和下載文件的信息一起記錄在第二數(shù)據(jù)庫(kù)中,而當(dāng)在第一數(shù)據(jù)庫(kù)中記錄需要追蹤的軟件生成的文件的信息時(shí),會(huì)查詢?cè)撐募诘诙?shù)據(jù)庫(kù)中對(duì)應(yīng)的記錄標(biāo)識(shí),將該記錄標(biāo)識(shí)記錄在第一數(shù)據(jù)庫(kù)中存儲(chǔ)該文件的數(shù)據(jù)中,并將該記錄標(biāo)識(shí)“繼承”該需要追蹤的軟件后續(xù)通過(guò)創(chuàng)建或修改生成的文件,即該需要追蹤的軟件創(chuàng)建或修改的文件都具有該相同的記錄標(biāo)識(shí)。利用該記錄標(biāo)識(shí)能夠從第二數(shù)據(jù)庫(kù)中獲取到需要追蹤的軟件的源頭信息,從而實(shí)現(xiàn)對(duì)文件的來(lái)源追
      足示O
      [0061]進(jìn)一步的,本實(shí)施例中第一數(shù)據(jù)庫(kù)可以采用注冊(cè)表的形式實(shí)現(xiàn)。注冊(cè)表進(jìn)行分層記錄,具有樹(shù)形的結(jié)構(gòu),通過(guò)注冊(cè)表的記錄方式,可以有效保證系統(tǒng)和驅(qū)動(dòng)的性能。[0062]本實(shí)施例根據(jù)文件的文件目錄記錄該文件到相應(yīng)的位置。例如,提取文件的文件路徑中的各級(jí)文件目錄,按照預(yù)定算法對(duì)提取出的每一級(jí)文件目錄對(duì)應(yīng)的字符串進(jìn)行運(yùn)算,將各級(jí)文件目錄的運(yùn)算值組合在一起得到該文件的文件指紋。即對(duì)文件的文件路徑中的每一級(jí)文件目錄分別按照預(yù)定算法進(jìn)行運(yùn)算,將各運(yùn)算值組合在一起得到該文件的文件指紋;將文件的信息記錄在第一數(shù)據(jù)庫(kù)中該文件的文件指紋所指示的位置。
      [0063]上述預(yù)定算法可以為MD5 (Message-Digest Algorithm5,信息-摘要算法),或SHA1,或 CRC (Cyclic Redundancy Check,循環(huán)冗余校驗(yàn))等等。
      [0064]例如,文件路徑對(duì)應(yīng)的是C:盤下對(duì)應(yīng)的某個(gè)目錄,如"C: \Program Files\XXX\XXXzip\XXXzip.exe〃,則第一級(jí)文件目錄為C:,第二級(jí)文件目錄C: \Program Files,第三級(jí)文件目錄為 C: \Program Files\XXX,第四級(jí)文件目錄為 C: \Program Files\XXX\XXXzip,第五級(jí)文件目錄為C:\Program Files\XXX\XXXzip\XXXzip.exe,將該文件路徑的各級(jí)文件目錄對(duì)應(yīng)的字符串分別進(jìn)行MD5運(yùn)算得到的MD5值組合在一起得到該文件的文件指紋。利用上述方式生成的文件指紋,建立了一種樹(shù)形多級(jí)的數(shù)據(jù)結(jié)構(gòu),相比于僅利用一級(jí)索引查詢數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu),本實(shí)施例的注冊(cè)表形式的第一數(shù)據(jù)庫(kù)大大減少了查詢時(shí)的數(shù)據(jù)處理量,提高了查詢效率。
      [0065]可選的,本實(shí)施例對(duì)所使用的數(shù)據(jù)庫(kù)的數(shù)量不進(jìn)行限定,例如,本實(shí)施例不局限于建立第一數(shù)據(jù)庫(kù)和第二數(shù)據(jù)庫(kù)兩個(gè)數(shù)據(jù)庫(kù),該第一數(shù)據(jù)庫(kù)和第二數(shù)據(jù)庫(kù)可以由一個(gè)數(shù)據(jù)庫(kù)實(shí)現(xiàn)。
      [0066]另外,當(dāng)?shù)谝粩?shù)據(jù)庫(kù)中記錄的文件被刪除,第一數(shù)據(jù)庫(kù)會(huì)將被刪除文件的信息從記錄中刪除,以及,對(duì)于第二數(shù)據(jù)庫(kù)中記錄的下載文件,當(dāng)該下載文件的大小超過(guò)預(yù)定文件大小和/或超過(guò)預(yù)定存儲(chǔ)時(shí)間時(shí),從第二數(shù)據(jù)庫(kù)中將該下載文件的信息刪除。
      [0067]S102:當(dāng)設(shè)備中的軟件被啟動(dòng)時(shí),查詢第一數(shù)據(jù)庫(kù)和/或第二數(shù)據(jù)庫(kù)判斷該軟件是否為需要追蹤的軟件。
      [0068]本實(shí)施例采用在軟件每次被啟動(dòng)時(shí),開(kāi)始對(duì)該軟件的追蹤操作。首先需要通過(guò)查詢數(shù)據(jù)庫(kù)判斷被啟動(dòng)的軟件是否為需要追蹤的軟件。在執(zhí)行查詢操作時(shí),判斷軟件的進(jìn)程鏈上是否存在至少一個(gè)進(jìn)程的相關(guān)文件被記錄在第一數(shù)據(jù)庫(kù)和/或第二數(shù)據(jù)庫(kù)中,若是,確認(rèn)所述軟件為需要追蹤的軟件,若否,確認(rèn)所述軟件不是需要追蹤的軟件。對(duì)于不需要追蹤的軟件,不執(zhí)行對(duì)該軟件的追蹤,也不需將該軟件的信息記錄在第一數(shù)據(jù)庫(kù)中。
      [0069]對(duì)于上述兩個(gè)監(jiān)測(cè)源頭的軟件在運(yùn)行過(guò)程中新生成的文件,本實(shí)施例可以對(duì)該軟件的進(jìn)程鏈上的任一個(gè)或多個(gè)進(jìn)程(包括系統(tǒng)進(jìn)程和第三方進(jìn)程)生成的文件進(jìn)行查詢和追蹤,這些文件即包括來(lái)自網(wǎng)絡(luò)的下載文件或本地存儲(chǔ)的獨(dú)立文件,或者由下載文件或獨(dú)立文件生成的派生文件等。
      [0070]可以同時(shí)在第一數(shù)據(jù)庫(kù)和第二數(shù)據(jù)庫(kù)中執(zhí)行查詢操作,也可以先在第一數(shù)據(jù)庫(kù)進(jìn)行查詢,然后再在第二數(shù)據(jù)庫(kù)進(jìn)行查詢,或反之。
      [0071]優(yōu)選的,考慮到解壓縮文件為惡意軟件的主要傳播途徑,本實(shí)施例采用先在第一數(shù)據(jù)庫(kù)進(jìn)行查詢,然后再在第二數(shù)據(jù)庫(kù)進(jìn)行查詢的方式,以提高查詢效率。參見(jiàn)圖2,一種示例性的追蹤信息的查詢方法可以包括如下:
      [0072]S200:提取軟件的進(jìn)程鏈上當(dāng)前進(jìn)程的當(dāng)前文件的文件路徑中的各級(jí)文件目錄,按照預(yù)定算法對(duì)提取出的每一級(jí)文件目錄對(duì)應(yīng)的字符串進(jìn)行運(yùn)算,將各級(jí)文件目錄的運(yùn)算值組合在一起得到該當(dāng)前文件的查詢值。即對(duì)待追蹤文件的文件路徑中的每一級(jí)文件目錄分別按照預(yù)定算法進(jìn)行運(yùn)算,將各運(yùn)算值組合在一起得到該待當(dāng)前文件的查詢值。將得到的當(dāng)前文件的查詢值作為索引,在注冊(cè)表的樹(shù)形結(jié)構(gòu)中逐級(jí)進(jìn)行匹配。上述當(dāng)前進(jìn)程為包括多個(gè)進(jìn)程的進(jìn)程鏈上當(dāng)前正在查詢的任一進(jìn)程,當(dāng)前文件為包括多個(gè)文件的當(dāng)前進(jìn)程的當(dāng)前正在查詢的任一文件。當(dāng)在第一數(shù)據(jù)庫(kù)和/或第二數(shù)據(jù)庫(kù)中查詢到進(jìn)程鏈上的任一進(jìn)程的任一相關(guān)文件時(shí),即可結(jié)束查詢操作。
      [0073]S202:利用查詢值對(duì)第一數(shù)據(jù)庫(kù)中的文件指紋進(jìn)行匹配。
      [0074]S204:判斷是否能夠匹配成功,若否,執(zhí)行步驟S208 ;若是,執(zhí)行步驟S206。
      [0075]S206:確認(rèn)軟件為需要追蹤的軟件。這種場(chǎng)景下,當(dāng)前文件通常為下載文件在運(yùn)行中派生出的文件,例如壓縮包文件在解壓縮過(guò)程中生成的解壓縮文件。
      [0076]S208:在第二數(shù)據(jù)庫(kù)中查詢上述當(dāng)前文件,判斷是否有對(duì)應(yīng)的下載文件,若是,進(jìn)入步驟S206,與步驟S206不同的時(shí),本場(chǎng)景下的當(dāng)前文件通常就是設(shè)備從外部下載到的下載文件;若否,進(jìn)入步驟S210。
      [0077]在第二數(shù)據(jù)庫(kù)中查詢文件時(shí),可以利用該文件的文件路徑和/或文件的MD5值(只要是可以用來(lái)唯一標(biāo)識(shí)文件的信息即可,比如還可以是文件的SHAl等信息摘要)進(jìn)行查詢。
      [0078]S210:確認(rèn)軟件不是需要追蹤的軟件。
      [0079]需要說(shuō)明的是,上述進(jìn)程的相關(guān)文件包括進(jìn)程的exe文件,以及,當(dāng)進(jìn)程是通過(guò)快捷方式啟動(dòng)時(shí),上述進(jìn)程的相關(guān)文件包括快捷方式文件;當(dāng)進(jìn)程為批處理進(jìn)程時(shí),上述進(jìn)程的相關(guān)文件包括批處理文件;當(dāng)進(jìn)程為腳本進(jìn)程時(shí),上述進(jìn)程的相關(guān)文件包括腳本文件;當(dāng)進(jìn)程為rundll32或regsvr32進(jìn)程時(shí),上述進(jìn)程的相關(guān)文件包括相關(guān)的動(dòng)態(tài)鏈接庫(kù)DLL文件;當(dāng)為解壓縮進(jìn)程時(shí),上述進(jìn)程的相關(guān)文件包括解壓縮文件。
      [0080]另外,在初始時(shí),第一數(shù)據(jù)庫(kù)中的信息為空,第二數(shù)據(jù)庫(kù)中記錄了設(shè)備從外部下載到的文件的信息,則此時(shí)在判斷設(shè)備中任意啟動(dòng)的軟件是否為需要追蹤的軟件時(shí),先在第二數(shù)據(jù)庫(kù)中進(jìn)行查詢,當(dāng)該軟件記錄在第二數(shù)據(jù)庫(kù)中時(shí),記錄需要追蹤的軟件。
      [0081]S103:若軟件為需要追蹤的軟件,根據(jù)在查詢第一數(shù)據(jù)庫(kù)和/或第二數(shù)據(jù)庫(kù)時(shí)獲知的該軟件的記錄標(biāo)識(shí),從第二數(shù)據(jù)庫(kù)中獲取對(duì)應(yīng)的下載文件的信息,得到指示軟件的源頭的追蹤信息。
      [0082]以及,將軟件在設(shè)備本地生成的文件的信息記錄在第一數(shù)據(jù)庫(kù)中,并為該文件設(shè)置與軟件相同的記錄標(biāo)識(shí)。本實(shí)施例中在執(zhí)行對(duì)軟件的追蹤操作時(shí),會(huì)同時(shí)將該軟件生成的文件在繼承與該軟件相同的記錄標(biāo)識(shí)后記錄在第一數(shù)據(jù)庫(kù)中,以用于后續(xù)軟件的追蹤操作。
      [0083]由上所述,本發(fā)明實(shí)施例通過(guò)對(duì)設(shè)備本地需要監(jiān)控的軟件的每個(gè)文件的信息進(jìn)行記錄以及對(duì)設(shè)備從外部網(wǎng)絡(luò)下載到本地的每個(gè)下載文件的信息進(jìn)行記錄的技術(shù)手段,能夠?qū)π枰粉櫟能浖苫蚺缮龅乃形募男畔⑦M(jìn)行記錄,形成一條該軟件的文件鏈信息;以及,基于這種文件鏈通過(guò)查詢第一數(shù)據(jù)庫(kù)和/或第二數(shù)據(jù)庫(kù)確認(rèn)需要追蹤的文件并從第二數(shù)據(jù)庫(kù)中獲取到追蹤信息技術(shù)手段,能夠獲取到派生文件所屬軟件的源頭信息,準(zhǔn)確對(duì)派生文件進(jìn)行定位,從而能夠利用該源頭信息對(duì)軟件執(zhí)行主動(dòng)防御攔截,提高了主動(dòng)防御的有效性。
      [0084]并且,本發(fā)明實(shí)施例縮小了攔截進(jìn)程加載DLL的范圍,不必?cái)r截所有進(jìn)程,僅對(duì)進(jìn)程文件來(lái)源于下載文件或壓縮包文件的進(jìn)程攔截加載DLL,這樣既能攔截白利用木馬,由于減少了攔截的范圍,因此可以減少對(duì)計(jì)算機(jī)性能造成大的影響。
      [0085]本發(fā)明又一個(gè)實(shí)施例對(duì)基于追蹤信息的主動(dòng)防御攔截方法進(jìn)行說(shuō)明。
      [0086]軟件運(yùn)行時(shí)生成的信息包括但不限于文件,可能還有與文件相關(guān)其他信息,比如文件大小、文件格式、行為記錄等,這些信息都可以記錄到第一數(shù)據(jù)庫(kù)。文件可能是可執(zhí)行文件,也可能是非可執(zhí)行文件。對(duì)于非可執(zhí)行文件,如文本文件、圖片等,通常是安全文件,本方案在執(zhí)行主動(dòng)防御攔截時(shí),可以先過(guò)濾掉這些非可執(zhí)行文件,只關(guān)心所記錄的可執(zhí)行文件。可執(zhí)行文件包括但不限于exe類文件、腳本文件、批處理(bat)文件、msi文件以及鏈接(link)文件等。
      [0087]并且,為了適應(yīng)惡意程序的更新速度,快速地識(shí)別和查殺惡意程序,目前的安全防護(hù)軟件越來(lái)越多地使用云安全技術(shù)對(duì)惡意程序進(jìn)行攔截。所謂云安全技術(shù),就是把客戶端的可疑文件的特征傳給云安全中心的服務(wù)器,由云安全中心對(duì)其安全做出判定,然后客戶端安全軟件根據(jù)云安全中心傳回的信息對(duì)木馬進(jìn)行報(bào)告和處理。云結(jié)構(gòu)就是一個(gè)大型的客戶端/服務(wù)器(C/S)架構(gòu),本發(fā)明通過(guò)在客戶端設(shè)備側(cè)獲取軟件的追蹤信息,追蹤到軟件的源頭,將追蹤信息上報(bào)至云安全服務(wù)器,利用云安全服務(wù)器對(duì)追蹤信息進(jìn)行歸納和分析,從而有助于對(duì)軟件或程序進(jìn)行黑白的分類判別。
      [0088]另外,本實(shí)施例還提供一種從云安全服務(wù)端查詢追蹤信息的方案,當(dāng)設(shè)備中的軟件被啟動(dòng)時(shí),將該軟件的信息上傳至云安全服務(wù)器,以由云安全服務(wù)器利用保存的文件的信息對(duì)待追蹤文件進(jìn)行檢測(cè)判斷;設(shè)備側(cè)接收云安全服務(wù)器返回的對(duì)該需要追蹤的軟件的追蹤信息。
      [0089]進(jìn)一步的,本實(shí)施例還包括:當(dāng)需要追蹤的軟件在設(shè)備本地生成的文件包括可執(zhí)行文件時(shí),監(jiān)控可執(zhí)行文件的進(jìn)程創(chuàng)建操作,若監(jiān)控到進(jìn)程創(chuàng)建操作,則判斷該可執(zhí)行文件的進(jìn)程在運(yùn)行過(guò)程中是否執(zhí)行了可疑操作;如果是,則至少將可執(zhí)行文件的追蹤信息發(fā)送到安全掃描器或云安全服務(wù)器,供安全掃描器或云安全服務(wù)器進(jìn)行檢測(cè)判斷;根據(jù)安全掃描器或云安全服務(wù)器返回的結(jié)果,確定對(duì)可執(zhí)行文件進(jìn)行放行、攔截或提示。
      [0090]上述安全掃描器位于服務(wù)器側(cè),適于根據(jù)預(yù)置的掃描規(guī)則,例如針對(duì)已知的惡意程序或安全程序行為分析出的判斷條件,其中包括是基于軟件源頭作為依據(jù)的判斷條件,進(jìn)而對(duì)客戶端側(cè)設(shè)備發(fā)送的可執(zhí)行文件所關(guān)聯(lián)的下載來(lái)源以及其他信息進(jìn)行檢查,并告知客戶端側(cè)設(shè)備檢查結(jié)果。
      [0091]上述可疑操作包括但不限于:寫(xiě)入注冊(cè)表進(jìn)行自動(dòng)加載;修改注冊(cè)表;修改系統(tǒng)文件;修改指定的應(yīng)用文件;執(zhí)行進(jìn)程間注入;結(jié)束進(jìn)程;修改瀏覽器中網(wǎng)頁(yè)內(nèi)容;以及記錄鍵盤操作??梢刹僮鬟€可以包括:調(diào)用shell程序,修改程序文件或?qū)懗绦蛭募?;調(diào)用ftp或tftp,創(chuàng)建ftp,或tftp服務(wù);創(chuàng)建大量相同線程,修改和創(chuàng)建用戶賬號(hào);危險(xiǎn)網(wǎng)絡(luò)操作;向系統(tǒng)注冊(cè)表添加啟動(dòng)項(xiàng);修改系統(tǒng)啟動(dòng)文件;向其他進(jìn)程注入線程;堆棧溢出;攔截系統(tǒng)API調(diào)用等等?;蛘呤且幌盗行袨榈慕M合??梢刹僮鬟€可以包括:刪除注冊(cè)表啟動(dòng)項(xiàng)或服務(wù)、終止電腦安全程序工具的進(jìn)程、弱口令破解局域網(wǎng)其他電腦的管理員帳號(hào)并復(fù)制傳播、修改注冊(cè)表鍵值導(dǎo)致不能查看隱藏文件和系統(tǒng)文件、嘗試破壞硬盤分區(qū)下的文件、刪除用戶的系統(tǒng)備份文件等等。
      [0092]進(jìn)一步的,本實(shí)施例還包括:當(dāng)需要追蹤的軟件在設(shè)備本地生成的文件包括可執(zhí)行文件時(shí),監(jiān)控可執(zhí)行文件的進(jìn)程創(chuàng)建操作,若監(jiān)控到進(jìn)程創(chuàng)建操作,則通知驅(qū)動(dòng)程序監(jiān)控該可執(zhí)行文件進(jìn)程加載的DLL (Dynamic Link Library,動(dòng)態(tài)鏈接庫(kù))文件,并記錄在內(nèi)存中可執(zhí)行文件進(jìn)程的相關(guān)數(shù)據(jù)結(jié)構(gòu)中;如果該可執(zhí)行文件進(jìn)程執(zhí)行的操作包括可疑操作,則通過(guò)安全掃描器對(duì)該可執(zhí)行文件進(jìn)程加載的DLL進(jìn)行檢查;根據(jù)檢查結(jié)果,確定是否修改該可執(zhí)行文件進(jìn)程的安全等級(jí),以及根據(jù)可執(zhí)行文件的安全等級(jí)決定放行、攔截或提示。
      [0093]本實(shí)施例在內(nèi)存中保存有系統(tǒng)中所有進(jìn)程的信息及進(jìn)程關(guān)系,進(jìn)程加載的DLL就記錄在內(nèi)存中該可執(zhí)行文件進(jìn)程的相關(guān)數(shù)據(jù)結(jié)構(gòu)中;如果驅(qū)動(dòng)程序監(jiān)控到該可執(zhí)行文件進(jìn)程執(zhí)行的操作包括可疑操作,則通過(guò)安全掃描器對(duì)該可執(zhí)行文件進(jìn)程加載的DLL進(jìn)行檢查,并根據(jù)檢查結(jié)果,確定是否修改該可執(zhí)行文件進(jìn)程的安全等級(jí),以及根據(jù)該可執(zhí)行文件進(jìn)程的安全等級(jí)決定放行、攔截或提示。
      [0094]其中,服務(wù)器端預(yù)先保存有文件特征值和安全等級(jí)信息的對(duì)應(yīng)關(guān)系,服務(wù)器端確定的安全等級(jí)可以自定義,例如包括安全、危險(xiǎn)、未知等級(jí)別,也可以采用一級(jí)、二級(jí)、三級(jí)等方式來(lái)進(jìn)行區(qū)分,只要能夠體現(xiàn)出各模塊是否安全狀態(tài)即可?;蛘?,所述安全級(jí)別信息包括:安全等級(jí)、未知等級(jí)、可疑等級(jí)、高度可疑等級(jí)和惡意等級(jí),其中,惡意等級(jí)為最高等級(jí),安全等級(jí)為最低等級(jí)。例如,可以設(shè)置等級(jí)為10-20時(shí)為安全等級(jí),等級(jí)為30-40時(shí)為未知等級(jí),等級(jí)為50-60時(shí)為可疑等級(jí)和高度可疑等級(jí),等級(jí)大于70時(shí)為惡意等級(jí)?;蛘?,危險(xiǎn)等級(jí)可以包括:可疑,未知,白,黑等四種情況。第一等級(jí):10和20,其是白文件;第二等級(jí):30和40,其是灰文件;第三等級(jí):50和60,其是可疑文件;第四等級(jí):70,其是病毒。只有第一等級(jí),10和20,是可以信任的。
      [0095]此外,還可以根據(jù)進(jìn)程所屬進(jìn)程鏈中相關(guān)文件的等級(jí)綜合確定該進(jìn)程文件的等級(jí),例如當(dāng)前進(jìn)程為進(jìn)程D,通過(guò)該進(jìn)程D的創(chuàng)建關(guān)系追溯到對(duì)應(yīng)進(jìn)程D的進(jìn)程鏈為A-B-C-D,在該進(jìn)程鏈中查找:首先查找到進(jìn)程D的第一級(jí)父進(jìn)程為進(jìn)程C,并且獲取到所述進(jìn)程C的文件等級(jí)為可疑等級(jí);然后查找到進(jìn)程D的第二級(jí)父進(jìn)程為進(jìn)程B,并且獲取到所述進(jìn)程B的文件等級(jí)為未知等級(jí);最后查找到進(jìn)程D的第三級(jí)父進(jìn)程為進(jìn)程A,并且獲取到所述進(jìn)程A的文件等級(jí)為安全等級(jí)。進(jìn)而,可以根據(jù)待監(jiān)控的進(jìn)程D相關(guān)的多個(gè)進(jìn)程文件的不同等級(jí),綜合判斷進(jìn)程D的進(jìn)程文件的等級(jí),進(jìn)而告知客戶端攔截、提示或放行。
      [0096]例如,有些惡意程序使用DLL劫持技術(shù)將木馬DLL與可信任的白程序打包在一起,進(jìn)而當(dāng)白程序被執(zhí)行時(shí),木馬DLL就會(huì)被加載,從而實(shí)現(xiàn)利用白程序突破主動(dòng)防御的目的,也就是所謂的白利用木馬??梢?jiàn),DLL文件是比較危險(xiǎn)的文件,可以重點(diǎn)監(jiān)控。本實(shí)施例中通過(guò)驅(qū)動(dòng)程序監(jiān)控到解壓縮進(jìn)程生成的可執(zhí)行文件是否加載了 DLL文件,如果加載,則一方面記錄相關(guān)的DLL文件,可選的,記錄該進(jìn)程加載的所有的DLL文件,監(jiān)控路徑不限于當(dāng)前目錄,因?yàn)楹芏嗄抉R或?qū)LL文件放在系統(tǒng)目錄下。另一方面會(huì)加強(qiáng)對(duì)該可執(zhí)行文件的執(zhí)行行為進(jìn)行監(jiān)控,如果驅(qū)動(dòng)程序監(jiān)控到該可執(zhí)行文件進(jìn)程執(zhí)行的操作包括可疑操作,具體的可疑操作前面已經(jīng)有已描述,此處不再贅述。
      [0097]然后,通過(guò)安全掃描器對(duì)該可執(zhí)行文件進(jìn)程加載的DLL文件進(jìn)行檢查。例如,可執(zhí)行文件進(jìn)程被主動(dòng)防御中的某個(gè)規(guī)則攔截到,例如命中了 RD (Registry Defend,注冊(cè)表防護(hù))、FD (File,文件防護(hù))或AD(application Defend,進(jìn)程防護(hù))的一個(gè)規(guī)則,貝1J通過(guò)安全掃描器對(duì)所有或主要的已被加載的DLL進(jìn)行檢查,如果某個(gè)DLL是木馬就提示用戶并終止執(zhí)行;如果DLL的危險(xiǎn)等級(jí)高于存在進(jìn)程可執(zhí)行文件的危險(xiǎn)等級(jí),則修改該進(jìn)程的危險(xiǎn)等級(jí)為DLL的高危險(xiǎn)等級(jí),并呈現(xiàn)危險(xiǎn)提示。這樣可以比較好的防御未知白利用木馬,同時(shí)不會(huì)影響正常程序的執(zhí)行效率。
      [0098]可選的,可以將該可執(zhí)行文件進(jìn)程加載的所有DLL文件都進(jìn)行檢查,也可以進(jìn)一步優(yōu)化,只檢查部分DLL。例如,可以對(duì)于系統(tǒng)級(jí)別的DLL放過(guò),這些DLL往往還是比較安全的,所以不去檢查這些DLL文件,對(duì)主動(dòng)防御的性能影響不大,而且降低了監(jiān)控量,提高了主動(dòng)防御的執(zhí)行效率。
      [0099]本發(fā)明實(shí)施例通過(guò)文件追蹤機(jī)制配合服務(wù)器側(cè)(或云端)規(guī)則,能夠提高主動(dòng)防御攔截對(duì)白利用木馬的攔截能力,由此解決了現(xiàn)有主動(dòng)防御效果不好的技術(shù)問(wèn)題,取得了對(duì)惡意程序進(jìn)行更有效主動(dòng)防御的有益效果。而通過(guò)本發(fā)明實(shí)施例的方案,使得無(wú)論是通過(guò)幾層解壓出的文件,還是不容易打開(kāi)的文件,都可以知道其下載來(lái)源,進(jìn)而可以通過(guò)這些下載來(lái)源判斷是否安全,從而達(dá)到從源頭上進(jìn)行主動(dòng)防御的目的,提高了主動(dòng)防御的有效性。
      [0100]并且,本發(fā)明實(shí)施例縮小了攔截進(jìn)程加載DLL的范圍,不必?cái)r截所有進(jìn)程,僅對(duì)進(jìn)程文件來(lái)源于下載文件或壓縮包文件的進(jìn)程攔截加載DLL,這樣既能攔截白利用木馬,由于減少了攔截的范圍,因此可以減少對(duì)計(jì)算機(jī)性能造成大的影響。
      [0101]本發(fā)明又一個(gè)實(shí)施例還提供了一種追蹤軟件的裝置,參見(jiàn)圖3,包括記錄單元300、判斷單元302、獲取單元304和主動(dòng)防御單元306。下面分別對(duì)這些單元進(jìn)行說(shuō)明。
      [0102]記錄單元300,適于記錄已獲知的需要追蹤的軟件在設(shè)備本地生成的文件的信息至第一數(shù)據(jù)庫(kù),所述文件具有與該軟件相同的記錄標(biāo)識(shí);以及,記錄從網(wǎng)絡(luò)中下載至所述設(shè)備中的下載文件的信息及該下載文件的記錄標(biāo)識(shí)至第二數(shù)據(jù)庫(kù)。其中,記錄單元300適于提取文件的文件路徑中的各級(jí)文件目錄,按照預(yù)定算法對(duì)提取出的每一級(jí)文件目錄對(duì)應(yīng)的字符串進(jìn)行運(yùn)算,將各級(jí)文件目錄的運(yùn)算值組合在一起得到該文件的文件指紋;將文件的信息記錄在第一數(shù)據(jù)庫(kù)中該文件的文件指紋所指示的位置。針對(duì)解壓縮文件進(jìn)行監(jiān)控和記錄的場(chǎng)景,記錄單元300適于監(jiān)控設(shè)備本地軟件的進(jìn)程創(chuàng)建操作,獲取被創(chuàng)建進(jìn)程執(zhí)行時(shí)的命令行參數(shù);解析被創(chuàng)建進(jìn)程執(zhí)行的命令行參數(shù),根據(jù)被創(chuàng)建進(jìn)執(zhí)行時(shí)的命令行參數(shù)判斷被創(chuàng)建進(jìn)程是否為解壓縮進(jìn)程;如果是,則通知驅(qū)動(dòng)程序記錄該解壓縮進(jìn)程生成的信息至第一數(shù)據(jù)庫(kù)。
      [0103]判斷單元302適于當(dāng)設(shè)備中的軟件被啟動(dòng)時(shí),查詢第一數(shù)據(jù)庫(kù)和/或第二數(shù)據(jù)庫(kù)判斷該軟件是否為需要追蹤的軟件。判斷單元302進(jìn)一步適于判斷軟件的進(jìn)程鏈上是否存在至少一個(gè)進(jìn)程的相關(guān)文件被記錄在第一數(shù)據(jù)庫(kù)和/或第二數(shù)據(jù)庫(kù)中,若是,確認(rèn)軟件為需要追蹤的軟件,若否,確認(rèn)軟件不是需要追蹤的軟件。一種方式下,判斷單元302適于提取軟件的進(jìn)程鏈上當(dāng)前進(jìn)程的當(dāng)前文件的文件路徑中的各級(jí)文件目錄,按照預(yù)定算法對(duì)提取出的每一級(jí)文件目錄對(duì)應(yīng)的字符串進(jìn)行運(yùn)算,將各級(jí)文件目錄的運(yùn)算值組合在一起得到該當(dāng)前文件的查詢值;利用查詢值對(duì)第一數(shù)據(jù)庫(kù)中的文件指紋進(jìn)行匹配;當(dāng)匹配成功時(shí),確認(rèn)軟件為需要追蹤的軟件;當(dāng)匹配失敗時(shí),在第二數(shù)據(jù)庫(kù)中查詢當(dāng)前文件,當(dāng)查詢到該當(dāng)前文件時(shí),確認(rèn)軟件為需要追蹤的軟件;否則,確認(rèn)軟件不是需要追蹤的軟件。
      [0104]獲取單元304,適于當(dāng)判斷單元302判斷軟件為需要追蹤的軟件時(shí),根據(jù)在查詢第一數(shù)據(jù)庫(kù)和/或第二數(shù)據(jù)庫(kù)時(shí)獲知的該軟件的記錄標(biāo)識(shí),從第二數(shù)據(jù)庫(kù)中獲取對(duì)應(yīng)的下載文件的信息,得到指示軟件的源頭的追蹤信息。
      [0105]另外,本裝置還可以從云安全服務(wù)器獲取到追蹤信息,則獲取單元304還適于當(dāng)設(shè)備中的軟件被啟動(dòng)時(shí),將該軟件的信息上傳至云安全服務(wù)器,以由云安全服務(wù)器利用保存的文件的信息對(duì)軟件進(jìn)行檢測(cè)判斷;接收云安全服務(wù)器返回的對(duì)該軟件的追蹤信息。
      [0106]主動(dòng)防御單元306,適于當(dāng)需要追蹤的軟件在設(shè)備本地生成的文件包括可執(zhí)行文件時(shí),監(jiān)控可執(zhí)行文件的進(jìn)程創(chuàng)建操作,若監(jiān)控到進(jìn)程創(chuàng)建操作,則判斷該可執(zhí)行文件的進(jìn)程在運(yùn)行過(guò)程中是否執(zhí)行了可疑操作;如果是,則至少將可執(zhí)行文件的追蹤信息發(fā)送到安全掃描器或云安全服務(wù)器,供安全掃描器或云安全服務(wù)器進(jìn)行檢測(cè)判斷;根據(jù)安全掃描器或云安全服務(wù)器返回的結(jié)果,確定對(duì)可執(zhí)行文件進(jìn)行放行、攔截或提示。
      [0107]可選的,主動(dòng)防御單元306還適于當(dāng)需要追蹤的軟件在設(shè)備本地生成的文件包括可執(zhí)行文件時(shí),監(jiān)控可執(zhí)行文件的進(jìn)程創(chuàng)建操作,若監(jiān)控到進(jìn)程創(chuàng)建操作,則通知驅(qū)動(dòng)程序監(jiān)控該可執(zhí)行文件進(jìn)程加載的DLL文件,并記錄在內(nèi)存中可執(zhí)行文件進(jìn)程的相關(guān)數(shù)據(jù)結(jié)構(gòu)中;如果該可執(zhí)行文件進(jìn)程執(zhí)行的操作包括可疑操作,則通過(guò)安全掃描器對(duì)該可執(zhí)行文件進(jìn)程加載的DLL進(jìn)行檢查;根據(jù)檢查結(jié)果,確定是否修改該可執(zhí)行文件進(jìn)程的安全等級(jí),以及根據(jù)可執(zhí)行文件的安全等級(jí)決定放行、攔截或提示。
      [0108]本發(fā)明裝置實(shí)施例中各單元的具體工作方式可以參見(jiàn)本發(fā)明的方法實(shí)施例中的相關(guān)內(nèi)容,在此不再贅述。
      [0109]本發(fā)明實(shí)施例縮小了攔截進(jìn)程加載DLL的范圍,不必?cái)r截所有進(jìn)程,僅對(duì)進(jìn)程文件來(lái)源于下載文件或壓縮包文件的進(jìn)程攔截加載DLL,這樣既能攔截白利用木馬,由于減少了攔截的范圍,因此可以減少對(duì)計(jì)算機(jī)性能造成大的影響。
      [0110]本發(fā)明又一個(gè)實(shí)施例提供了一種基于云安全的惡意軟件追蹤方法,采用文件追蹤功能配合云端規(guī)則的處理方式,大大增強(qiáng)了對(duì)突發(fā)木馬的防御效果,該方法包括如下步驟:
      [0111]S400:記錄已獲知的需要追蹤的軟件在設(shè)備本地生成的文件的信息至云安全服務(wù)端的第一數(shù)據(jù)庫(kù),所述文件具有與該軟件相同的記錄標(biāo)識(shí);以及,記錄從網(wǎng)絡(luò)中下載至所述設(shè)備中的下載文件的信息及該下載文件的記錄標(biāo)識(shí)至云安全服務(wù)端的第二數(shù)據(jù)庫(kù)。
      [0112]本步驟中對(duì)設(shè)備本地生成新文件的檢測(cè)操作以及對(duì)設(shè)備中下載了新文件的感知操作,可以由云安全服務(wù)器端執(zhí)行,也可以由設(shè)備本地的監(jiān)測(cè)功能執(zhí)行。
      [0113]S402:當(dāng)設(shè)備中的軟件被啟動(dòng)時(shí),將該軟件的信息上報(bào)至云安全服務(wù)端,以使云安全服務(wù)端根據(jù)第一數(shù)據(jù)庫(kù)和/或第二數(shù)據(jù)庫(kù)確認(rèn)該軟件為需要追蹤的軟件后,根據(jù)獲知的該軟件的記錄標(biāo)識(shí),從第二數(shù)據(jù)庫(kù)中獲取對(duì)應(yīng)的下載文件的信息,得到指示所述軟件的源頭的追蹤信息;以及,將所述軟件在設(shè)備本地生成的文件的信息記錄在第一數(shù)據(jù)庫(kù)中,并為該文件設(shè)置與所述軟件相同的記錄標(biāo)識(shí)。
      [0114]根據(jù)云端規(guī)則在云安全服務(wù)端的第一數(shù)據(jù)庫(kù)和/或第二數(shù)據(jù)庫(kù)中對(duì)待跟蹤文件進(jìn)行查詢,例如,該云端規(guī)則可以指示同時(shí)在第一數(shù)據(jù)庫(kù)和第二數(shù)據(jù)庫(kù)中執(zhí)行查詢操作,也可以指示先在第一數(shù)據(jù)庫(kù)進(jìn)行查詢,然后再在第二數(shù)據(jù)庫(kù)進(jìn)行查詢,或反之。具體方式可以參見(jiàn)本發(fā)明其他實(shí)施例中的相關(guān)內(nèi)容。
      [0115]S404:接收所述云安全服務(wù)端返回的所述軟件的追蹤信息。
      [0116]本發(fā)明實(shí)施例通過(guò)對(duì)設(shè)備本地需要監(jiān)控的軟件的每個(gè)文件的信息進(jìn)行記錄以及對(duì)設(shè)備從外部網(wǎng)絡(luò)下載到本地的每個(gè)下載文件的信息進(jìn)行記錄的技術(shù)手段,能夠?qū)π枰粉櫟能浖苫蚺缮龅乃形募男畔⑦M(jìn)行記錄,形成一條該軟件的文件鏈信息;以及,基于這種文件鏈通過(guò)查詢第一數(shù)據(jù)庫(kù)和/或第二數(shù)據(jù)庫(kù)確認(rèn)需要追蹤的文件并從第二數(shù)據(jù)庫(kù)中獲取到追蹤信息技術(shù)手段,能夠獲取到派生文件所屬軟件的源頭信息,準(zhǔn)確對(duì)派生文件進(jìn)行定位,從而能夠利用該源頭信息對(duì)軟件執(zhí)行主動(dòng)防御攔截,提高了主動(dòng)防御的有效性。
      [0117]根據(jù)本發(fā)明實(shí)施例所述的裝置,其中,所述記錄單元,適于提取文件的文件路徑中的各級(jí)文件目錄,按照預(yù)定算法對(duì)提取出的每一級(jí)文件目錄對(duì)應(yīng)的字符串進(jìn)行運(yùn)算,將各級(jí)文件目錄的運(yùn)算值組合在一起得到該文件的文件指紋;將該文件的信息記錄在第一數(shù)據(jù)庫(kù)中該新文件的文件指紋所指示的位置。
      [0118]根據(jù)本發(fā)明實(shí)施例所述的裝置,其中,所述判斷單元,進(jìn)一步適于判斷所述軟件的進(jìn)程鏈上是否存在至少一個(gè)進(jìn)程的相關(guān)文件被記錄在所述第一數(shù)據(jù)庫(kù)和/或第二數(shù)據(jù)庫(kù)中,若是,確認(rèn)所述軟件為需要追蹤的軟件,若否,確認(rèn)所述軟件不是需要追蹤的軟件。
      [0119]根據(jù)本發(fā)明實(shí)施例所述的裝置,其中,
      [0120]所述判斷單元,適于提取所述軟件的進(jìn)程鏈上當(dāng)前進(jìn)程的當(dāng)前文件的文件路徑中的各級(jí)文件目錄,按照預(yù)定算法對(duì)提取出的每一級(jí)文件目錄對(duì)應(yīng)的字符串進(jìn)行運(yùn)算,將各級(jí)文件目錄的運(yùn)算值組合在一起得到該當(dāng)前文件的查詢值;利用所述查詢值對(duì)第一數(shù)據(jù)庫(kù)中的文件指紋進(jìn)行匹配;當(dāng)匹配成功時(shí),確認(rèn)所述軟件為需要追蹤的軟件;當(dāng)匹配失敗時(shí),在第二數(shù)據(jù)庫(kù)中查詢所述當(dāng)前文件,當(dāng)查詢到所述當(dāng)前文件時(shí),確認(rèn)所述軟件為需要追蹤的軟件;否則,確認(rèn)所述軟件不是需要追蹤的軟件。
      [0121]根據(jù)本發(fā)明實(shí)施例所述的裝置,其中,所述記錄單元,適于監(jiān)控設(shè)備本地軟件的進(jìn)程創(chuàng)建操作,獲取被創(chuàng)建進(jìn)程執(zhí)行時(shí)的命令行參數(shù);解析所述被創(chuàng)建進(jìn)程執(zhí)行的命令行參數(shù),根據(jù)所述被創(chuàng)建進(jìn)執(zhí)行時(shí)的命令行參數(shù)判斷所述被創(chuàng)建進(jìn)程是否為解壓縮進(jìn)程;如果是,則通知驅(qū)動(dòng)程序記錄該解壓縮進(jìn)程生成的信息至第一數(shù)據(jù)庫(kù)。
      [0122]根據(jù)本發(fā)明實(shí)施例所述的裝置,其中,所述裝置還包括主動(dòng)防御單元,適于當(dāng)所述軟件在設(shè)備本地生成的文件包括可執(zhí)行文件時(shí),監(jiān)控所述可執(zhí)行文件的進(jìn)程創(chuàng)建操作,若監(jiān)控到進(jìn)程創(chuàng)建操作,則判斷該可執(zhí)行文件的進(jìn)程在運(yùn)行過(guò)程中是否執(zhí)行了可疑操作;如果是,則至少將所述可執(zhí)行文件的追蹤信息發(fā)送到安全掃描器或云安全服務(wù)器,供安全掃描器或云安全服務(wù)器進(jìn)行檢測(cè)判斷;根據(jù)所述安全掃描器或云安全服務(wù)器返回的結(jié)果,確定對(duì)所述可執(zhí)行文件進(jìn)行放行、攔截或提示。
      [0123]根據(jù)本發(fā)明實(shí)施例所述的裝置,其中,所述裝置還包括主動(dòng)防御單元,適于當(dāng)所述軟件在設(shè)備本地生成的文件包括可執(zhí)行文件時(shí),監(jiān)控所述可執(zhí)行文件的進(jìn)程創(chuàng)建操作,若監(jiān)控到進(jìn)程創(chuàng)建操作,則通知驅(qū)動(dòng)程序監(jiān)控該可執(zhí)行文件進(jìn)程加載的DLL文件,并記錄在內(nèi)存中所述可執(zhí)行文件進(jìn)程的相關(guān)數(shù)據(jù)結(jié)構(gòu)中;如果該可執(zhí)行文件進(jìn)程執(zhí)行的操作包括可疑操作,則通過(guò)安全掃描器對(duì)該可執(zhí)行文件進(jìn)程加載的DLL進(jìn)行檢查;根據(jù)檢查結(jié)果,確定是否修改該可執(zhí)行文件進(jìn)程的安全等級(jí),以及根據(jù)所述可執(zhí)行文件的安全等級(jí)決定放行、攔截或提示。
      [0124]根據(jù)本發(fā)明實(shí)施例所述的裝置,其中,所述獲取單元,還適于當(dāng)設(shè)備中的軟件被啟動(dòng)時(shí),將該軟件的信息上傳至云安全服務(wù)器,以由云安全服務(wù)器利用保存的文件的信息對(duì)該軟件進(jìn)行檢測(cè)判斷;接收云安全服務(wù)器返回的對(duì)該軟件的追蹤信息。
      [0125]在此提供的算法和顯示不與任何特定計(jì)算機(jī)、虛擬系統(tǒng)或者其它設(shè)備固有相關(guān)。各種通用系統(tǒng)也可以與基于在此的示教一起使用。根據(jù)上面的描述,構(gòu)造這類系統(tǒng)所要求的結(jié)構(gòu)是顯而易見(jiàn)的。此外,本發(fā)明也不針對(duì)任何特定編程語(yǔ)言。應(yīng)當(dāng)明白,可以利用各種編程語(yǔ)言實(shí)現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對(duì)特定語(yǔ)言所做的描述是為了披露本發(fā)明的最佳實(shí)施方式。
      [0126]在此處所提供的說(shuō)明書(shū)中,說(shuō)明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實(shí)施例可以在沒(méi)有這些具體細(xì)節(jié)的情況下實(shí)踐。在一些實(shí)例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對(duì)本說(shuō)明書(shū)的理解。
      [0127]類似地,應(yīng)當(dāng)理解,為了精簡(jiǎn)本公開(kāi)并幫助理解各個(gè)發(fā)明方面中的一個(gè)或多個(gè),在上面對(duì)本發(fā)明的示例性實(shí)施例的描述中,本發(fā)明的各個(gè)特征有時(shí)被一起分組到單個(gè)實(shí)施例、圖、或者對(duì)其的描述中。然而,并不應(yīng)將該公開(kāi)的方法解釋成反映如下意圖:即所要求保護(hù)的本發(fā)明要求比在每個(gè)權(quán)利要求中所明確記載的特征更多的特征。更確切地說(shuō),如下面的權(quán)利要求書(shū)所反映的那樣,發(fā)明方面在于少于前面公開(kāi)的單個(gè)實(shí)施例的所有特征。因此,遵循【具體實(shí)施方式】的權(quán)利要求書(shū)由此明確地并入該【具體實(shí)施方式】,其中每個(gè)權(quán)利要求本身都作為本發(fā)明的單獨(dú)實(shí)施例。
      [0128]本領(lǐng)域那些技術(shù)人員可以理解,可以對(duì)實(shí)施例中的設(shè)備中的模塊進(jìn)行自適應(yīng)性地改變并且把它們?cè)O(shè)置在與該實(shí)施例不同的一個(gè)或多個(gè)設(shè)備中??梢园褜?shí)施例中的模塊或單元或組件組合成一個(gè)模塊或單元或組件,以及此外可以把它們分成多個(gè)子模塊或子單元或子組件。除了這樣的特征和/或過(guò)程或者單元中的至少一些是相互排斥之外,可以采用任何組合對(duì)本說(shuō)明書(shū)(包括伴隨的權(quán)利要求、摘要和附圖)中公開(kāi)的所有特征以及如此公開(kāi)的任何方法或者設(shè)備的所有過(guò)程或單元進(jìn)行組合。除非另外明確陳述,本說(shuō)明書(shū)(包括伴隨的權(quán)利要求、摘要和附圖)中公開(kāi)的每個(gè)特征可以由提供相同、等同或相似目的的替代特征來(lái)代替。
      [0129]此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實(shí)施例包括其它實(shí)施例中所包括的某些特征而不是其它特征,但是不同實(shí)施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實(shí)施例。例如,在下面的權(quán)利要求書(shū)中,所要求保護(hù)的實(shí)施例的任意之一都可以以任意的組合方式來(lái)使用。
      [0130]本發(fā)明的各個(gè)部件實(shí)施例可以以硬件實(shí)現(xiàn),或者以在一個(gè)或者多個(gè)處理器上運(yùn)行的軟件模塊實(shí)現(xiàn),或者以它們的組合實(shí)現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實(shí)踐中使用微處理器或者數(shù)字信號(hào)處理器(DSP )來(lái)實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例的追蹤軟件的裝置中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實(shí)現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計(jì)算機(jī)程序和計(jì)算機(jī)程序產(chǎn)品)。這樣的實(shí)現(xiàn)本發(fā)明的程序可以存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上,或者可以具有一個(gè)或者多個(gè)信號(hào)的形式。這樣的信號(hào)可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號(hào)上提供,或者以任何其他形式提供。
      [0131]應(yīng)該注意的是上述實(shí)施例對(duì)本發(fā)明進(jìn)行說(shuō)明而不是對(duì)本發(fā)明進(jìn)行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計(jì)出替換實(shí)施例。在權(quán)利要求中,不應(yīng)將位于括號(hào)之間的任何參考符號(hào)構(gòu)造成對(duì)權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個(gè)”不排除存在多個(gè)這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計(jì)算機(jī)來(lái)實(shí)現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個(gè)可以是通過(guò)同一個(gè)硬件項(xiàng)來(lái)具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱。
      【權(quán)利要求】
      1.一種追蹤軟件的方法,包括: 記錄已獲知的需要追蹤的軟件在設(shè)備本地生成的文件的信息至第一數(shù)據(jù)庫(kù),所述文件具有與該軟件相同的記錄標(biāo)識(shí);以及,記錄從網(wǎng)絡(luò)中下載至所述設(shè)備中的下載文件的信息及該下載文件的記錄標(biāo)識(shí)至第二數(shù)據(jù)庫(kù); 當(dāng)設(shè)備中的軟件被啟動(dòng)時(shí),查詢第一數(shù)據(jù)庫(kù)和/或第二數(shù)據(jù)庫(kù)判斷該軟件是否為需要追蹤的軟件; 若所述軟件為需要追蹤的軟件,根據(jù)在查詢第一數(shù)據(jù)庫(kù)和/或第二數(shù)據(jù)庫(kù)時(shí)獲知的該軟件的記錄標(biāo)識(shí),從第二數(shù)據(jù)庫(kù)中獲取對(duì)應(yīng)的下載文件的信息,得到指示所述軟件的源頭的追蹤信息;以及,將所述軟件在設(shè)備本地生成的文件的信息記錄在第一數(shù)據(jù)庫(kù)中,并為該文件設(shè)置與所述軟件相同的記錄標(biāo)識(shí)。
      2.根據(jù)權(quán)利要求1所述的方法,其中,所述將所述軟件在設(shè)備本地生成的文件的信息記錄在第一數(shù)據(jù)庫(kù)中包括: 提取所述文件的 文件路徑中的各級(jí)文件目錄,按照預(yù)定算法對(duì)提取出的每一級(jí)文件目錄對(duì)應(yīng)的字符串進(jìn)行運(yùn)算,將各級(jí)文件目錄的運(yùn)算值組合在一起得到該文件的文件指紋; 將所述文件的信息記錄在第一數(shù)據(jù)庫(kù)中該文件的文件指紋所指示的位置。
      3.根據(jù)權(quán)利要求2所述的方法,其中,所述查詢第一數(shù)據(jù)庫(kù)和/或第二數(shù)據(jù)庫(kù)判斷該軟件是否為待追蹤軟件包括: 判斷所述軟件的進(jìn)程鏈上是否存在至少一個(gè)進(jìn)程的相關(guān)文件被記錄在所述第一數(shù)據(jù)庫(kù)和/或第二數(shù)據(jù)庫(kù)中,若是,確認(rèn)所述軟件為需要追蹤的軟件,若否,確認(rèn)所述軟件不是需要追蹤的軟件。
      4.根據(jù)權(quán)利要求3所述的方法,其中,所述進(jìn)程的相關(guān)文件包括進(jìn)程的exe文件,以及,當(dāng)所述進(jìn)程是通過(guò)快捷方式啟動(dòng)時(shí),所述進(jìn)程的相關(guān)文件包括快捷方式文件;當(dāng)所述進(jìn)程為批處理進(jìn)程時(shí),所述進(jìn)程的相關(guān)文件包括批處理文件;當(dāng)進(jìn)程為腳本進(jìn)程時(shí),所述進(jìn)程的相關(guān)文件包括腳本文件;當(dāng)所述進(jìn)程為rundll32或regSVr32進(jìn)程時(shí),所述進(jìn)程的相關(guān)文件包括相關(guān)的動(dòng)態(tài)鏈接庫(kù)DLL文件;當(dāng)所述為解壓縮進(jìn)程時(shí),所述相關(guān)文件包括解壓縮文件。
      5.根據(jù)權(quán)利要求3所述的方法,其中,所述查詢第一數(shù)據(jù)庫(kù)和/或第二數(shù)據(jù)庫(kù)判斷該軟件是否為需要追蹤的軟件包括: 提取所述軟件的進(jìn)程鏈上當(dāng)前進(jìn)程的當(dāng)前文件的文件路徑中的各級(jí)文件目錄,按照預(yù)定算法對(duì)提取出的每一級(jí)文件目錄對(duì)應(yīng)的字符串進(jìn)行運(yùn)算,將各級(jí)文件目錄的運(yùn)算值組合在一起得到該當(dāng)前文件的查詢值; 利用所述查詢值對(duì)第一數(shù)據(jù)庫(kù)中的文件指紋進(jìn)行匹配; 當(dāng)匹配成功時(shí),確認(rèn)所述軟件為需要追蹤的軟件; 當(dāng)匹配失敗時(shí),在第二數(shù)據(jù)庫(kù)中查詢所述當(dāng)前文件,當(dāng)查詢到所述當(dāng)前文件時(shí),確認(rèn)所述軟件為需要追蹤的軟件;否則,確認(rèn)所述軟件不是需要追蹤的軟件。
      6.根據(jù)權(quán)利要求2所述的方法,其中,所述將所述軟件在設(shè)備本地生成的文件的信息記錄在第一數(shù)據(jù)庫(kù)中包括: 監(jiān)控設(shè)備本地軟件的進(jìn)程創(chuàng)建操作,獲取被創(chuàng)建進(jìn)程執(zhí)行時(shí)的命令行參數(shù); 解析所述被創(chuàng)建進(jìn)程執(zhí)行的命令行參數(shù),根據(jù)所述被創(chuàng)建進(jìn)執(zhí)行時(shí)的命令行參數(shù)判斷所述被創(chuàng)建進(jìn)程是否為解壓縮進(jìn)程;如果是,則通知驅(qū)動(dòng)程序記錄該解壓縮進(jìn)程生成的信息至第一數(shù)據(jù)庫(kù)。
      7.根據(jù)權(quán)利要求1所述的方法,其中,所述方法還包括: 當(dāng)所述軟件在設(shè)備本地生成的文件包括可執(zhí)行文件時(shí),監(jiān)控所述可執(zhí)行文件的進(jìn)程創(chuàng)建操作,若監(jiān)控到進(jìn)程創(chuàng)建操作,則判斷該可執(zhí)行文件的進(jìn)程在運(yùn)行過(guò)程中是否執(zhí)行了可疑操作; 如果是,則至少將所述可執(zhí)行文件的追蹤信息發(fā)送到安全掃描器或云安全服務(wù)器,供安全掃描器或云安全服務(wù)器進(jìn)行檢測(cè)判斷; 根據(jù)所述安全掃描器或云安全服務(wù)器返回的結(jié)果,確定對(duì)所述可執(zhí)行文件進(jìn)行放行、攔截或提示。
      8.根據(jù)權(quán)利要求1所述的方法,其中,所述方法還包括: 當(dāng)所述軟件在設(shè)備本地生成的文件包括可執(zhí)行文件時(shí),監(jiān)控所述可執(zhí)行文件的進(jìn)程創(chuàng)建操作,若監(jiān)控到進(jìn)程創(chuàng)建操作,則通知驅(qū)動(dòng)程序監(jiān)控該可執(zhí)行文件進(jìn)程加載的DLL文件,并記錄在內(nèi)存中所述可執(zhí)行文件進(jìn)程的相關(guān)數(shù)據(jù)結(jié)構(gòu)中; 如果該可執(zhí)行文件進(jìn)程執(zhí)行的操作包括可疑操作,則通過(guò)安全掃描器對(duì)該可執(zhí)行文件進(jìn)程加載的DLL進(jìn)行檢查; 根據(jù)檢查結(jié)果,確定 是否修改該可執(zhí)行文件進(jìn)程的安全等級(jí),以及根據(jù)所述可執(zhí)行文件的安全等級(jí)決定放行、攔截或提示。
      9.根據(jù)權(quán)利要求1所述的方法,其中,所述方法還包括: 當(dāng)設(shè)備中的軟件被啟動(dòng)時(shí),將該軟件的信息上傳至云安全服務(wù)器,以由云安全服務(wù)器利用保存的文件的信息對(duì)該軟件進(jìn)行檢測(cè)判斷; 接收云安全服務(wù)器返回的對(duì)該軟件的追蹤信息。
      10.一種追蹤軟件的裝置,包括: 記錄單元,適于記錄已獲知的需要追蹤的軟件在設(shè)備本地生成的文件的信息至第一數(shù)據(jù)庫(kù),所述文件具有與該軟件相同的記錄標(biāo)識(shí);以及,記錄從網(wǎng)絡(luò)中下載至所述設(shè)備中的下載文件的信息及該下載文件的記錄標(biāo)識(shí)至第二數(shù)據(jù)庫(kù); 判斷單元,適于當(dāng)設(shè)備中的軟件被啟動(dòng)時(shí),查詢第一數(shù)據(jù)庫(kù)和/或第二數(shù)據(jù)庫(kù)判斷該軟件是否為需要追蹤的軟件; 獲取單元,適于當(dāng)所述判斷單元判斷所述軟件為需要追蹤的軟件時(shí),根據(jù)在查詢第一數(shù)據(jù)庫(kù)和/或第二數(shù)據(jù)庫(kù)時(shí)獲知的該軟件的記錄標(biāo)識(shí),從第二數(shù)據(jù)庫(kù)中獲取對(duì)應(yīng)的下載文件的信息,得到指示所述軟件的源頭的追蹤信息; 所述記錄單元,還適于對(duì)所述判斷單元判斷為需要跟蹤的軟件在設(shè)備本地生成文件時(shí),將該文件的信息記錄在第一數(shù)據(jù)庫(kù)中,并為該文件設(shè)置與所述軟件相同的記錄標(biāo)識(shí)。
      11.一種基于云安全的惡意軟件追蹤方法,包括: 記錄已獲知的需要追蹤的軟件在設(shè)備本地生成的文件的信息至云安全服務(wù)端的第一數(shù)據(jù)庫(kù),所述文件具有與該軟件相同的記錄標(biāo)識(shí);以及,記錄從網(wǎng)絡(luò)中下載至所述設(shè)備中的下載文件的信息及該下載文件的記錄標(biāo)識(shí)至云安全服務(wù)端的第二數(shù)據(jù)庫(kù); 當(dāng)設(shè)備中的軟件被啟動(dòng)時(shí),將該軟件的信息上報(bào)至云安全服務(wù)端,以使云安全服務(wù)端根據(jù)第一數(shù)據(jù)庫(kù)和/或第二數(shù)據(jù)庫(kù)確認(rèn)該軟件為需要追蹤的軟件后,根據(jù)獲知的該軟件的記錄標(biāo)識(shí),從第二數(shù)據(jù)庫(kù)中獲取對(duì)應(yīng)的下載文件的信息,得到指示所述軟件的源頭的追蹤信息;以及,將所述軟件在設(shè)備本地生成的文件的信息記錄在第一數(shù)據(jù)庫(kù)中,并為該文件設(shè)置與所述軟件相同的記錄標(biāo)識(shí); 接收所述云安全服務(wù)端.返回的所述軟件的追蹤信息。
      【文檔編號(hào)】H04L29/06GK103473501SQ201310370145
      【公開(kāi)日】2013年12月25日 申請(qǐng)日期:2013年8月22日 優(yōu)先權(quán)日:2013年8月22日
      【發(fā)明者】張曉霖, 董杰 申請(qǐng)人:北京奇虎科技有限公司, 奇智軟件(北京)有限公司
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1