国产精品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>

      反病毒方法和裝置及防火墻設(shè)備的制作方法

      文檔序號:7549331閱讀:214來源:國知局
      專利名稱:反病毒方法和裝置及防火墻設(shè)備的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及計算機技術(shù),尤其涉及一種反病毒(Anti-Virus ;簡稱AV)方法和裝置及防火墻設(shè)備。
      背景技術(shù)
      由于人們越來越依賴網(wǎng)絡(luò),因此,網(wǎng)絡(luò)安全也越來越重要。目前,防火墻設(shè)備成為了網(wǎng)絡(luò)安全中必不可少的設(shè)備。其中,防火墻設(shè)備是指一種用來加強網(wǎng)絡(luò)之間訪問控制、防止外部網(wǎng)絡(luò)用戶以非法手段通過外部網(wǎng)絡(luò)進入內(nèi)部網(wǎng)絡(luò)來訪問內(nèi)部網(wǎng)絡(luò)資源、保護內(nèi)部網(wǎng)絡(luò)操作環(huán)境的特殊網(wǎng)絡(luò)互連設(shè)備?,F(xiàn)有技術(shù)中,防火墻設(shè)備提供AV檢測的功能,用于對網(wǎng)絡(luò)中傳輸?shù)奈募M行威脅檢測,以判斷該文件中是否存在病毒。另外,該AV檢測的主要原理是首先判斷網(wǎng)絡(luò)上傳輸·的文件是否是壓縮格式,如果所傳輸?shù)奈募菈嚎s文件,在已緩存了承載該文件的所有數(shù)據(jù)包的載荷數(shù)據(jù)后,根據(jù)緩存的各數(shù)據(jù)包的載荷數(shù)據(jù)重組生成整個壓縮文件,然后對該壓縮文件進行解壓縮處理,并對解壓縮后的文件進行病毒掃描。但是,由于在AV檢測中,當文件的文件類型為壓縮格式時,需要先將承載壓縮格式的文件的全部數(shù)據(jù)包的載荷部分緩存,并根據(jù)緩存的各數(shù)據(jù)包的載荷部分重組生成整個壓縮文件之后,才可以對生成的壓縮文件進行解壓縮處理,然后對解壓縮得到非壓縮文件進行病毒掃描。也就是說病毒掃描需要在得到了非壓縮文件之后才能執(zhí)行,造成了 AV檢測處理性能較低的問題。

      發(fā)明內(nèi)容
      本發(fā)明提供一種反病毒方法和裝置及防火墻設(shè)備,用以解決現(xiàn)有技術(shù)的對于壓縮格式的文件進行AV檢測造成的處理性能較低的問題。第一方面提供一種反病毒方法,包括第一線程接收網(wǎng)絡(luò)傳輸?shù)膶儆谕粋€數(shù)據(jù)流的各數(shù)據(jù)包,將其中承載有文件內(nèi)容的數(shù)據(jù)包的載荷數(shù)據(jù)順次緩存在第一隊列中;第二線程從所述第一隊列的起始位置讀取至少一個數(shù)據(jù)包的載荷數(shù)據(jù),根據(jù)讀取的載荷數(shù)據(jù),確認所述第一隊列中的載荷數(shù)據(jù)是否是壓縮文件的文件內(nèi)容;所述第二線程若確認所述第一隊列中的載荷數(shù)據(jù)是壓縮文件的文件內(nèi)容,則識別所述壓縮文件的壓縮格式;所述第二線程從壓縮格式與解壓縮算法的映射關(guān)系中,查詢與識別出的壓縮格式對應(yīng)的解壓縮算法;利用查詢到的解壓縮算法,從所述第一隊列中逐個讀出各數(shù)據(jù)包的載荷數(shù)據(jù),分別對每次讀取的載荷數(shù)據(jù)進行解壓縮處理;分別對每次解壓縮處理后得到文件內(nèi)容進行反病毒檢測。在第一方面的第一種可能的實現(xiàn)方式中,所述第二線程從所述第一隊列的起始位置讀取至少一個數(shù)據(jù)包的載荷數(shù)據(jù),包括
      第二線程在達到預(yù)設(shè)條件時,從所述第一隊列的起始位置讀取至少一個數(shù)據(jù)包的載荷數(shù)據(jù),所述預(yù)設(shè)條件包括所述第二線程空閑、且所述第一隊列中存在至少預(yù)定數(shù)量的數(shù)據(jù)包的載荷數(shù)據(jù)。結(jié)合第一方面或第一方面的第一種可能實現(xiàn)方式,在第一方面的第二種可能的實現(xiàn)方式中,將其中承載有文件內(nèi)容的數(shù)據(jù)包的載荷數(shù)據(jù)順次緩存在第一隊列中之前,還包括獲取所述數(shù)據(jù)包的包頭部分中預(yù)定特征字段的內(nèi)容,將獲取的所述預(yù)定特征字段的內(nèi)容與預(yù)先設(shè)定的值進行比較,若一致,確認所述數(shù)據(jù)包承載有文件內(nèi)容。結(jié)合第一方面或第一方面的第一種可能實現(xiàn)方式,在第一方面的第三種可能的實現(xiàn)方式中,所述根據(jù)讀取的載荷數(shù)據(jù),確認所述第一隊列中的載荷數(shù)據(jù)是否是壓縮文件的文件內(nèi)容,包括所述第二線程判斷讀取的載荷數(shù)據(jù)的指定位置中是否包含文件名;·若包含文件名,則判斷預(yù)定壓縮文件后綴集合中是否包含所述文件名的后綴,若壓縮文件后綴集合中包含所述文件名的后綴,則確定第一隊列中的載荷數(shù)據(jù)是壓縮文件的文件內(nèi)容。結(jié)合第一方面,在第一方面的第四種可能的實現(xiàn)方式中,所述分別對每次讀取的載荷數(shù)據(jù)進行解壓縮處理,包括根據(jù)所述查詢到的解壓縮算法和文件的結(jié)構(gòu)參數(shù)信息,分對每次讀取的載荷數(shù)據(jù)進行解壓縮處理;所述結(jié)構(gòu)參數(shù)信息的獲取方式包括根據(jù)首包的標識從所述第一隊列中讀取首包的載荷數(shù)據(jù),從讀取的載荷數(shù)據(jù)中獲取文件頭中攜帶的結(jié)構(gòu)參數(shù)信息,所述首包的標識是將所述數(shù)據(jù)包的載荷數(shù)據(jù)順次緩存在所述第一隊列之前,對所述數(shù)據(jù)包進行協(xié)議解析時獲得的。結(jié)合第一方面,在第一方面的第五種可能的實現(xiàn)方式中,所述分別對每次解壓縮處理后得到文件內(nèi)容進行反病毒檢測之后,還包括所述第二線程將每次反病毒檢測的檢測結(jié)果順次緩存在第二隊列中;第三線程根據(jù)所述第二隊列中的檢測結(jié)果,判斷所述數(shù)據(jù)流中所傳輸?shù)奈募欠袷遣《疚募?。第二方面提供一種反病毒裝置,包括第一執(zhí)行模塊、第二執(zhí)行模塊和緩存模塊,其中,所述第一執(zhí)行模塊包括接收單元,用于接收網(wǎng)絡(luò)傳輸?shù)膶儆谕粋€數(shù)據(jù)流的各數(shù)據(jù)包;緩存單元,用于將接收單元接收的各數(shù)據(jù)包中,承載有文件內(nèi)容的數(shù)據(jù)包的載荷數(shù)據(jù)順次緩存在所述緩存模塊中的第一隊列中;所述第二執(zhí)行模塊包括讀取單元,用于在達到預(yù)設(shè)條件時,從所述第一隊列的起始位置讀取至少一個數(shù)據(jù)包的載荷數(shù)據(jù);確認單元,用于根據(jù)讀取單元讀取的載荷數(shù)據(jù),確認所述第一隊列中的載荷數(shù)據(jù)是否是壓縮文件的文件內(nèi)容;識別單元,用于若所述確認單元確認所述第一隊列中的載荷數(shù)據(jù)是壓縮文件的文件內(nèi)容,則識別所述壓縮文件的壓縮格式;解壓縮單元,用于從壓縮格式與解壓縮算法的映射關(guān)系中,查詢與識別出的壓縮格式對應(yīng)的解壓縮算法;利用查詢到的解壓縮算法,從所述第一隊列中逐個讀出各數(shù)據(jù)包的載荷數(shù)據(jù),分別對每次讀取的載荷數(shù)據(jù)進行解壓縮處理;檢測單元,用于分別對解壓縮單元每次解壓縮處理后得到文件內(nèi)容進行反病毒檢測。在第二方面的第一種可能的實現(xiàn)方式中,所述緩存單元具體用于獲取所述數(shù)據(jù)包的包頭部分中預(yù)定特征字段的內(nèi)容;將獲取的所述預(yù)定特征字段的內(nèi)容與預(yù)先設(shè)定的值進行比較,若一致,則確認所述數(shù)據(jù)包承載有文件內(nèi)容,將承載有文件內(nèi)容的數(shù)據(jù)包的載荷數(shù)據(jù)順次緩存在所述第一隊列中。結(jié)合第二方面或第二方面的第一種可能的實現(xiàn)方式,在第二方面的第二種可能的·實現(xiàn)方式中,所述確認單元具體用于判斷讀取的數(shù)據(jù)的指定位置中是否包含文件名;若包含文件名,則判斷預(yù)定壓縮文件后綴集合中是否包含所述文件名的后綴,若壓縮文件后綴集合中包含所述文件名的后綴,則確定第一隊列中的載荷數(shù)據(jù)是壓縮文件的文件內(nèi)容。結(jié)合第二方面,在第二方面的第三種可能的實現(xiàn)方式中,所述解壓縮單元具體用于從壓縮格式與解壓縮算法的映射關(guān)系中,查詢與識別出的壓縮格式對應(yīng)的解壓縮算法;利用查詢到的解壓縮算法,從所述第一隊列中逐個讀出各數(shù)據(jù)包的載荷數(shù)據(jù),根據(jù)所述查詢到的解壓縮算法和文件的結(jié)構(gòu)參數(shù)信息,分別對每次讀取的載荷數(shù)據(jù)進行解壓縮處理;所述結(jié)構(gòu)參數(shù)信息的獲取方式包括根據(jù)首包的標識從所述第一隊列中讀取首包的載荷數(shù)據(jù),從讀取的載荷數(shù)據(jù)中獲取文件頭中攜帶的結(jié)構(gòu)參數(shù)信息,所述首包的標識是將所述數(shù)據(jù)包的載荷數(shù)據(jù)順次緩存在所述第一隊列之前,對所述數(shù)據(jù)包進行協(xié)議解析時獲得的。結(jié)合第二方面或第二方面的第二種可能實現(xiàn)方式,在第二方面的第四種可能的實現(xiàn)方式中,所述第二執(zhí)行模塊還用于將每次反病毒檢測的檢測結(jié)果順次緩存在所述緩存模塊中的第二隊列中;則所述裝置還包括第三執(zhí)行模塊,用于根據(jù)所述第二隊列中的檢測結(jié)果,判斷所述數(shù)據(jù)流中所傳輸?shù)奈募欠袷遣《疚募?。第三方面提供一種防火墻設(shè)備,包括存儲器,用于存儲指令;處理器,與所述存儲器耦合,所述處理器被配置為執(zhí)行存儲在所述存儲器中的指令,且所述處理器被配置為用于執(zhí)行如權(quán)利要求I至7任一所述的文件的反病毒檢測方法。本發(fā)明的技術(shù)效果是第一線程接收網(wǎng)絡(luò)傳輸?shù)膶儆谕粋€數(shù)據(jù)流的各數(shù)據(jù)包,將其中承載有文件內(nèi)容的數(shù)據(jù)包的載荷數(shù)據(jù)順次緩存在第一隊列中,第二線程從第一隊列的起始位置讀取至少一個數(shù)據(jù)包的載荷數(shù)據(jù),并根據(jù)讀取的載荷數(shù)據(jù),在確認該第一隊列中的載荷數(shù)據(jù)是壓縮文件的文件內(nèi)容,則識別該壓縮文件的壓縮格式,再從壓縮格式與解壓縮算法的映射關(guān)系中,查詢與識別出的解壓縮算法,最后,利用查詢到的解壓縮算法,從該第一隊列中逐個讀出各數(shù)據(jù)包的載荷數(shù)據(jù),分別對每次讀取的載荷數(shù)據(jù)進行加壓縮處理,分別對每次解壓縮處理后得到的文件內(nèi)容進行反病毒檢測,由于可以多線程協(xié)同處理以及分別對每次讀取的載荷數(shù)據(jù)進行解壓縮處理,并分別對每次解壓縮處理后得到的文件內(nèi)容進行反病毒檢測,因此有效地降低了緩存量,并提高了 AV檢測的處理性能。


      圖Ia為本發(fā)明反病毒方法的一個實施例的流程圖;圖Ib為本發(fā)明反病毒方法的另一個實施例的流程圖;圖Ic為本發(fā)明反病毒方法的又一個實施例的流程圖;圖Id為本發(fā)明反病毒方法的還一個實施例的流程圖;圖Ie為本發(fā)明的反病毒方法的再一個實施例的流程圖;圖If為本發(fā)明的反病毒方法的另一個實施例的流程圖;·圖2為本發(fā)明實施例提供的反病毒方法所基于的組織結(jié)構(gòu)示意圖;圖3為本發(fā)明反病毒方法的又一個實施例的流程圖;圖4為本發(fā)明反病毒裝置的一個實施例的結(jié)構(gòu)示意圖;圖5為本發(fā)明反病毒裝置的另一個實施例的結(jié)構(gòu)示意圖。
      具體實施例方式圖Ia為本發(fā)明反病毒方法的一個實施例的流程圖,如圖Ia所示,本實施例的方法包括步驟101、第一線程接收網(wǎng)絡(luò)傳輸?shù)膶儆谕粋€數(shù)據(jù)流的各數(shù)據(jù)包,將其中承載有文件內(nèi)容的數(shù)據(jù)包的載荷數(shù)據(jù)順次緩存在第一隊列中。需要說明的是,每個數(shù)據(jù)包都有源端口,目的端口,源IP地址,目的IP地址,協(xié)議類型等信息,這些信息被稱為五元組,如果多個數(shù)據(jù)包的五元組都相同,就認為這些數(shù)據(jù)包是屬于同一個數(shù)據(jù)流。數(shù)據(jù)包可以承載多種數(shù)據(jù),如網(wǎng)管配置信息,各網(wǎng)元設(shè)備間的請求消息和反饋消息等。第一線程對每個數(shù)據(jù)包,判斷數(shù)據(jù)包承載的是否是文件內(nèi)容,若承載的是文件內(nèi)容,則將該數(shù)據(jù)包的載荷數(shù)據(jù)順次緩存在第一隊列中??蛇x地,第一線程通過如下方式判斷數(shù)據(jù)包承載的是否是文件內(nèi)容獲取數(shù)據(jù)包的包頭部分中預(yù)定特征字段(例如,content-type)的內(nèi)容,將獲取的所述預(yù)定特征字段的內(nèi)容與預(yù)先設(shè)定的值(例如,txt、doC或xls)進行比較,若比較一致,則確認所述數(shù)據(jù)包承載的是文件內(nèi)容,否則,確認所述數(shù)據(jù)包承載的不是文件內(nèi)容。另外,還需要說明的是,在將載荷數(shù)據(jù)緩存到第一隊列時,還建立了一個數(shù)據(jù)結(jié)構(gòu),用于存儲各個數(shù)據(jù)包存在第一隊列中的起始地址和偏移量等,從而便于后續(xù)逐包進行解壓時,能夠以每個數(shù)據(jù)包的載荷數(shù)據(jù)為單位,依次讀取各個數(shù)據(jù)包的載荷數(shù)據(jù)。步驟102、第二線程從該第一隊列的起始位置讀取至少一個數(shù)據(jù)包的載荷數(shù)據(jù),根據(jù)讀取的載荷數(shù)據(jù),確認該第一隊列中的載荷數(shù)據(jù)是否是壓縮文件的文件內(nèi)容。步驟103、第二線程若確認該第一隊列中的載荷數(shù)據(jù)是壓縮文件的文件內(nèi)容,則識別該壓縮文件的壓縮格式。步驟104、第二線程從壓縮格式與解壓縮算法的映射關(guān)系中,查詢與識別出的壓縮格式對應(yīng)的解壓縮算法;利用查詢到的解壓縮算法,從該第一隊列中逐個讀出各數(shù)據(jù)包的載荷數(shù)據(jù),分別對每次讀取的載荷數(shù)據(jù)進行壓縮處理;并分別對每次解壓縮處理后得到文件內(nèi)容進行反病毒檢測。在本實施例中,第一線程接收網(wǎng)絡(luò)傳輸?shù)膶儆谕粋€數(shù)據(jù)流的各數(shù)據(jù)包,將其中承載有文件內(nèi)容的數(shù)據(jù)包的載荷數(shù)據(jù)順次緩存在第一隊列中,第二線程從第一隊列的起始位置讀取至少一個數(shù)據(jù)包的載荷數(shù)據(jù),并根據(jù)讀取的載荷數(shù)據(jù),在確認該第一隊列中的載荷數(shù)據(jù)是壓縮文件的文件內(nèi)容,則識別該壓縮文件的壓縮格式,再從壓縮格式與解壓縮算法的映射關(guān)系中,查詢與識別出的解壓縮算法,最后,利用查詢到的解壓縮算法,從該第一隊列中逐個讀出各數(shù)據(jù)包的載荷數(shù)據(jù),分別對每次讀取的載荷數(shù)據(jù)進行加壓縮處理,分別對每次解壓縮處理后得到的文件內(nèi)容進行反病毒檢測,由于可以多線程協(xié)同處理以及分別對每次讀取的載荷數(shù)據(jù)進行解壓縮處理,并分別對每次解壓縮處理后得到的文件內(nèi)容進行反病毒檢測,因此有效地降低了緩存量,并提高了 AV檢測的處理性能。進一步的,圖Ib為本發(fā)明反病毒方法的另一個實施例的流程圖,在上述圖Ia所示實施例的基礎(chǔ)上,步驟102的一種具體實現(xiàn)方式為·
      第二線程在達到預(yù)設(shè)條件時,從所述第一隊列的起始位置讀取至少一個數(shù)據(jù)包的載荷數(shù)據(jù),根據(jù)讀取的載荷數(shù)據(jù),確認該第一隊列中的載荷數(shù)據(jù)是否是壓縮文件的文件內(nèi)容??蛇x地,該預(yù)設(shè)條件包括該第二線程空閑,且該第一隊列中存在至少預(yù)設(shè)數(shù)量的數(shù)據(jù)包的載荷數(shù)據(jù)。通過這種方式,可以達到使第二線程一次讀取多于一個數(shù)據(jù)包的載荷數(shù)據(jù),從而提高讀取效率這種更佳的效果。更進一步的,圖Ic為本發(fā)明反病毒方法的又一個實施例的流程圖,在上述圖Ia或圖Ib所示實施例的基礎(chǔ)上,步驟101的一種具體實現(xiàn)方式為步驟101a、第一線程接收網(wǎng)絡(luò)傳輸?shù)膶儆谕粋€數(shù)據(jù)流的各數(shù)據(jù)包;步驟101b、獲取該數(shù)據(jù)包的包頭部分中預(yù)定特征字段的內(nèi)容,將獲取的該預(yù)定特征字段的內(nèi)容與預(yù)先設(shè)定的值進行比較,若一致,確認該數(shù)據(jù)包承載有文件內(nèi)容;步驟101c、將其中承載有文件內(nèi)容的數(shù)據(jù)包的載荷數(shù)據(jù)順次緩存在第一隊列中。更進一步的,圖Id為本發(fā)明反病毒方法的還一個實施例的流程圖,在上述圖Ia或圖Ib所示實施例的基礎(chǔ)上,步驟102的還一種具體實現(xiàn)方式為步驟102a、第二線程從該第一隊列的起始位置讀取至少一個數(shù)據(jù)包的載荷數(shù)據(jù);可選地,第二線程在達到預(yù)設(shè)條件時,從所述第一隊列的起始位置讀取至少一個數(shù)據(jù)包的載荷數(shù)據(jù)。步驟102b、第二線程判斷讀取的載荷數(shù)據(jù)的指定位置中是否包含文件名;若包含文件名,則判斷預(yù)定壓縮文件后綴集合中是否包含該文件名的后綴,若壓縮文件后綴集合中包含所述文件名的后綴,則確定第一隊列中的載荷數(shù)據(jù)是壓縮文件的文件內(nèi)容。在本實例中,例如,預(yù)定壓縮文件后綴名集合S的實例S = {rar,gz,zip},若第二線程讀取的文件名為test, txt,由于該文件名中的后綴txt不在集合S中,因此確認第一隊列中的載荷數(shù)據(jù)不是壓縮文件的文件內(nèi)容;若第二線程讀取的文件名為test, rar,由于該文件名中的后綴rar在集合S中,因此確認第一隊列中的載荷數(shù)據(jù)是壓縮文件的文件內(nèi)容。另外,可選地,識別該壓縮文件的壓縮格式的一種具體實現(xiàn)方式為將該文件名的后綴對應(yīng)的壓縮格式,作為該壓縮文件的壓縮格式。例如,若文件名為test, rar,則其壓縮格式為rar對應(yīng)的RAR (Roshal ARchive)格式。還需要說明的是,本實施例的壓縮格式支持流解壓。具體的,在本實施例中,可以預(yù)先存儲有壓縮格式和支持流解壓的映射關(guān)系,如果查詢獲取到該壓縮格式對應(yīng)的支持流解壓,則說明該文件的壓縮格式支持流解壓;如果查詢獲取到的該壓縮格式?jīng)]有對應(yīng)的支持流解壓,則說明該文件的壓縮格式不支持流解壓。更進一步的,圖Ie為本發(fā)明的反病毒方法的再一個實施例的流程圖,在上述圖Ia所示實施例的基礎(chǔ)上,步驟104的一種具體實現(xiàn)方式為步驟104a、第二線程從壓縮格式與解壓縮算法的映射關(guān)系中,查詢與識別出的壓縮格式對應(yīng)的解壓縮算法;步驟104b、第二線程根據(jù)首包的標識從該第一隊列中讀取首包的載荷數(shù)據(jù),從讀取的載荷數(shù)據(jù)中獲取文件頭的參數(shù)信息,該首包的標識是將該數(shù)據(jù)包的載荷數(shù)據(jù)順次緩存在該第一隊列之前,對該數(shù)據(jù)包進行協(xié)議解析時獲得的;·其中,該結(jié)構(gòu)參數(shù)信息包括如文件開始處的物理偏移值和文件的大小、圖表對象的存儲方式等等。步驟104c、第二線程利用查詢到的解壓縮算法,從該第一隊列中逐個讀出各數(shù)據(jù)包的載荷數(shù)據(jù),根據(jù)該查詢到的解壓縮算法和文件的結(jié)構(gòu)參數(shù)信息,分別對每次讀取的載荷數(shù)據(jù)進行解壓縮處理;步驟104d、第二線程分別對每次解壓縮處理后得到文件內(nèi)容進行反病毒檢測。在本實施例中,在同一個數(shù)據(jù)流中,該數(shù)據(jù)流的首數(shù)據(jù)包的載荷數(shù)據(jù)中承載有的文件內(nèi)容為文件頭,從而通過數(shù)據(jù)包的協(xié)議,對該文件頭進行解析,從而獲取到參數(shù)信息,以便于根據(jù)該參數(shù)信息和解壓縮算法,逐包進行解壓縮處理。更進一步的,圖If為本發(fā)明的反病毒方法的另一個實施例的流程圖,在上述圖Ia所示實施例的基礎(chǔ)上,步驟104之后,該方法還可以進一步包括步驟105、該第二線程將每次反病毒檢測的檢測結(jié)果順次緩存在第二隊列中;步驟106、第三線程根據(jù)該第二隊列中的檢測結(jié)果,判斷該數(shù)據(jù)流中所傳輸?shù)奈募欠袷遣《疚募?。例如,可以采用兩次判斷來確認數(shù)據(jù)流中所傳輸?shù)奈募欠袷遣《疚募?,其中,第一次判斷是指第二線程在分別對每個數(shù)據(jù)包進行反病毒檢測時,若載荷數(shù)據(jù)同時出現(xiàn)了特征a、特征b和特征C,則認為該載荷數(shù)據(jù)存在威脅,在第二隊列中該數(shù)據(jù)包的檢測結(jié)果中寫入威脅標識(以I來表示),否則在第二隊列中該數(shù)據(jù)包的檢測結(jié)果中寫入安全標識(以O(shè)來表示);第二次判斷是指第三線程根據(jù)第二序列中威脅標識和安全標識的數(shù)量、分布情況,判斷是否符合預(yù)設(shè)的驗證條件,該驗證條件中包含威脅標識的數(shù)量、比例、分布特征等參數(shù),若符合預(yù)設(shè)的驗證條件,則確認該數(shù)據(jù)流中所傳輸?shù)奈募遣《疚募?,否則確認該數(shù)據(jù)流中所傳輸?shù)奈募皇遣《疚募P枰f明的是,上述圖Ib至圖If所示的實施例還可以進行組合使用。圖2為本發(fā)明實施例提供的反病毒方法所基于的組織結(jié)構(gòu)示意圖,如圖2所示,多個線程協(xié)作工作,具體包括預(yù)處理線程11 (如上述所示的第一線程)、數(shù)據(jù)包隊列12 (如上述所述的第一隊列)、結(jié)果隊列13 (如上述所述的第二隊列)、AV檢測線程14 (如上述所述的第二線程)和結(jié)果響應(yīng)線程15 (如上述所述的第三線程)。
      圖3為本發(fā)明反病毒方法的又一個實施例的流程圖,在上述圖2所示實施的基礎(chǔ)上,如圖3所示,本實施例的方法包括步驟201、預(yù)處理線程接收網(wǎng)絡(luò)傳輸?shù)膶儆谕粋€數(shù)據(jù)流的各數(shù)據(jù)包。步驟202、預(yù)處理線程對每個數(shù)據(jù)包,判斷該數(shù)據(jù)包的協(xié)議類型是否屬于預(yù)定的需要進行AV檢測的協(xié)議類型;若是,則執(zhí)行步驟203 ;若否,則結(jié)束。步驟203、預(yù)處理線程判斷該數(shù)據(jù)包承載的是否是文件內(nèi)容;若是,則執(zhí)行步驟204 ;若否,則結(jié)束。具體判斷該數(shù)據(jù)包承載的是否是文件內(nèi)容的方式請參照附圖Ic步驟101的相關(guān)描述,在這里不再重復(fù)。步驟204、預(yù)處理線程將該數(shù)據(jù)包的載荷數(shù)據(jù)順次緩存在數(shù)據(jù)包隊列中。·
      步驟205、AV檢測線程在達到預(yù)設(shè)條件時,從該數(shù)據(jù)包隊列的起始位置讀取至少一個數(shù)據(jù)包的載荷數(shù)據(jù)。其中,所述預(yù)設(shè)條件包括但不限于所述AV檢測線程空閑、且所述第一隊列中存在至少預(yù)定數(shù)量的數(shù)據(jù)包的載荷數(shù)據(jù)。步驟206、AV檢測線程判斷讀取的載荷數(shù)據(jù)的指定位置中是否包含文件名;若包含文件名,則判斷預(yù)定壓縮文件后綴集合中是否包含該文件名的后綴,若壓縮文件后綴集合中包含該文件名的后綴,則確定數(shù)據(jù)包隊列中的載荷數(shù)據(jù)是壓縮文件的文件內(nèi)容。步驟207、AV檢測線程識別該壓縮文件的壓縮格式??蛇x地,將文件名的后綴對應(yīng)的壓縮格式,作為該壓縮文件的壓縮格式。步驟208、AV檢測線程從壓縮格式和解壓縮算法的映射關(guān)系中,查詢與識別出壓縮格式對應(yīng)的解壓縮算法;利用查詢到的解壓縮算法和獲取到的參數(shù)信息,從該數(shù)據(jù)包隊列中逐個讀出個數(shù)據(jù)包的載荷數(shù)據(jù),逐包進行解壓縮處理;分別對每次解壓縮處理后得到文件內(nèi)容進行反病毒檢測。在本實施例中,結(jié)構(gòu)參數(shù)信息的獲取過程參照附圖Ie的相關(guān)描述,在這里不再重復(fù)。步驟209、AV檢測線程將每次反病毒檢測的檢測結(jié)果順次緩存在結(jié)果隊列中。步驟210、結(jié)果響應(yīng)線程根據(jù)該結(jié)果隊列中的檢測結(jié)果,判斷該數(shù)據(jù)流中所傳輸?shù)奈募欠袷遣《疚募?。在本實施例中,具體的AV檢測線程獲取檢測結(jié)果,并將檢測結(jié)果放入到結(jié)果隊列中。另外,結(jié)果響應(yīng)線程從結(jié)果隊列13讀取檢測結(jié)果,并對該檢測結(jié)果進行威脅確認及響應(yīng)處理。在本實施例中,通過對預(yù)處理線程接收到的網(wǎng)絡(luò)傳輸?shù)膶儆谕粋€數(shù)據(jù)流的每個數(shù)據(jù)包,在判斷出該數(shù)據(jù)包承載的是文件內(nèi)容,則將該數(shù)據(jù)包的載荷數(shù)據(jù)順次緩存在數(shù)據(jù)包隊列中;另外,當AV檢測線程在達到預(yù)設(shè)條件時,從該數(shù)據(jù)包隊列的起始位置讀取至少一個數(shù)據(jù)包的載荷數(shù)據(jù),根據(jù)讀取的載荷數(shù)據(jù),在確認出該數(shù)據(jù)包隊列中的載荷數(shù)據(jù)是壓縮文件的文件內(nèi)容,則識別該壓縮文件的壓縮格式,從該壓縮格式和解壓縮算法的映射關(guān)系中,查詢與識別出該壓縮格式對應(yīng)的解壓縮算法,利用查詢到的解壓縮算法和參數(shù)信息,從數(shù)據(jù)包隊列中逐個讀出各數(shù)據(jù)包的載荷數(shù)據(jù),逐包進行解壓縮處理;再分別對每次解壓縮處理后得到文件內(nèi)容進行反病毒檢測,最后結(jié)果響應(yīng)線程根據(jù)該結(jié)果隊列中的檢測結(jié)果,判斷該數(shù)據(jù)流中所傳輸?shù)奈募欠袷遣《疚募?,從而實現(xiàn)多線程來處理壓縮文件并進行AV檢測,并有效地提高了 AV檢測性能,網(wǎng)絡(luò)的處理性能以及用戶的體驗度。圖4為本發(fā)明反病毒裝置的一個實施例的結(jié)構(gòu)示意圖,如圖4所示,本實施例的裝置包括第一執(zhí)行模塊21、第二執(zhí)行模塊22和緩存模塊23 ;其中,第一執(zhí)行模塊21包括接收單元211和緩存單元212 ;第二執(zhí)行模塊22包括讀取單元221、確認單元222、識別單元223、解壓縮單元224和檢測單元225。具體的,接收單元211用于接收網(wǎng)絡(luò)傳輸?shù)膶儆谕粋€數(shù)據(jù)流的各數(shù)據(jù)包;緩存單元212用于將接收單元211接收到的各數(shù)據(jù)包中,承載有文件內(nèi)容的數(shù)據(jù)包的載荷數(shù)據(jù)順次緩存在緩存模塊23中的第一隊列中;讀取單元221用于在達到預(yù)設(shè)條件時,從該第一隊列的起始位置讀取至少一個數(shù)據(jù)包的載荷數(shù)據(jù);確認單元222用于根據(jù)讀取單元221讀取的載荷數(shù)據(jù),確認該第一隊列中的載荷數(shù)據(jù)是否是壓縮文件的文件內(nèi)容;識別單元223用于若該確認單元222確認該第一隊列中的載荷數(shù)據(jù)是壓縮文件的文件內(nèi)容,則識別該壓縮文件的壓縮格式;解壓縮單元224用于從壓縮格式與解壓縮算法的映射關(guān)系中,查詢與識別出的壓縮格式對應(yīng)的解壓縮算法;利用查詢到的解壓縮算法,從該第一隊列中逐個讀出各數(shù)據(jù)包的載荷數(shù)據(jù),分別對每次讀取的載荷數(shù)據(jù)進行解壓縮處·理;檢測單元225用于分別對解壓縮單元224每次解壓縮處理后得到文件內(nèi)容進行反病毒檢測。本實施例中的反病毒裝置可以執(zhí)行圖Ia所示方法實施例的技術(shù)方案,其實現(xiàn)原理相類似,此處不再贅述。在本實施例中,第一線程接收網(wǎng)絡(luò)傳輸?shù)膶儆谕粋€數(shù)據(jù)流的各數(shù)據(jù)包,將其中承載有文件內(nèi)容的數(shù)據(jù)包的載荷數(shù)據(jù)順次緩存在第一隊列中,第二線程從第一隊列的起始位置讀取至少一個數(shù)據(jù)包的載荷數(shù)據(jù),并根據(jù)讀取的載荷數(shù)據(jù),在確認該第一隊列中的載荷數(shù)據(jù)是壓縮文件的文件內(nèi)容,則識別該壓縮文件的壓縮格式,再從壓縮格式與解壓縮算法的映射關(guān)系中,查詢與識別出的解壓縮算法,最后,利用查詢到的解壓縮算法,從該第一隊列中逐個讀出各數(shù)據(jù)包的載荷數(shù)據(jù),分別對每次讀取的載荷數(shù)據(jù)進行加壓縮處理,分別對每次解壓縮處理后得到的文件內(nèi)容進行反病毒檢測,由于可以多線程協(xié)同處理以及分別對每次讀取的載荷數(shù)據(jù)進行解壓縮處理,并分別對每次解壓縮處理后得到的文件內(nèi)容進行反病毒檢測,因此有效地降低了緩存量,并提高了 AV檢測的處理性能。圖5為本發(fā)明反病毒裝置的另一個實施例的結(jié)構(gòu)示意圖,如圖5所示,在上述圖4所示實施例的基礎(chǔ)上,緩存單元212具體用于獲取該數(shù)據(jù)包的包頭部分中預(yù)定特征字段的內(nèi)容;將獲取的該預(yù)定特征字段內(nèi)容與預(yù)先設(shè)定的值進行比較,若一致,則確認該數(shù)據(jù)包承載有文件內(nèi)容,將承載有文件內(nèi)容的數(shù)據(jù)包的載荷數(shù)據(jù)順次緩存在該第一隊列中。進一步的,確認單元222具體用于判斷讀取的數(shù)據(jù)的指定位置中是否包含文件名;若包含文件名,則判斷預(yù)定壓縮文件后綴集合中是否包含該文件名的后綴,若壓縮文件后綴集合中包含該文件名的后綴,則確定第一隊列中的載荷數(shù)據(jù)是壓縮文件的文件內(nèi)容。更進一步的,解壓縮單元224具體用于從壓縮格式與及解壓縮算法的映射關(guān)系中,查詢與識別出的壓縮格式對應(yīng)的解壓縮算法;利用查詢到的解壓縮算法,從第一隊列中逐個讀出各數(shù)據(jù)包的載荷數(shù)據(jù),根據(jù)該查詢到的解壓縮算法和文件的結(jié)構(gòu)參數(shù)信息,分別每次讀取的載荷數(shù)據(jù)進行解壓縮處理。該結(jié)構(gòu)參數(shù)信息的獲取方式包括
      根據(jù)首包的標識從該第一隊列中讀取首包的載荷數(shù)據(jù),從讀取的載荷數(shù)據(jù)中獲取文件頭中攜帶的結(jié)構(gòu)參數(shù)信息,該首包的標識是將該數(shù)據(jù)包的載荷數(shù)據(jù)順次緩存在該第一隊列之前,對該數(shù)據(jù)包進行協(xié)議解析時獲得的。其中,該參數(shù)信息包括文件開始處的物理偏移值和文件的大小。更進一步的,第二執(zhí)行模塊22還用于將每次反病毒檢測的檢測結(jié)果順次緩存在緩存模塊23中的第二隊列中;則該裝置還包括第三執(zhí)行模塊24,用于根據(jù)該第二隊列中的檢測結(jié)果,判斷該數(shù)據(jù)流中該傳輸?shù)奈募欠袷遣《疚募?。本實施例中的反病毒裝置可以執(zhí)行圖Ia至圖If任一所示方法實施例的技術(shù)方案,或者執(zhí)行圖3所示方法實施例的技術(shù)方案,其實現(xiàn)原理相類似,此處不再贅述。·本發(fā)明還提供了一種防火墻設(shè)備,包括存儲器和處理器,其中,存儲器用于存儲指令;處理器,與存儲器耦合,該處理器被配置為執(zhí)行存儲在該存儲器中的指令,且給處理器被配置為用于執(zhí)行圖Ila至圖If任一所示方法實施例的技術(shù)方案,或者執(zhí)行或圖3所示方法實施例的技術(shù)方案,其實現(xiàn)原理相類似,此處不再贅述。本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述各方法實施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成。前述的程序可以存儲于一計算機可讀取存儲介質(zhì)中。該程序在執(zhí)行時,執(zhí)行包括上述各方法實施例的步驟;而前述的存儲介質(zhì)包括R0M、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。最后應(yīng)說明的是以上各實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述各實施例對本發(fā)明進行了詳細的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當理解其依然可以對前述各實施例所記載的技術(shù)方案進行修改,或者對其中部分或者全部技術(shù)特征進行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的范圍。
      權(quán)利要求
      1.一種反病毒方法,其特征在于,包括 第一線程接收網(wǎng)絡(luò)傳輸?shù)膶儆谕粋€數(shù)據(jù)流的各數(shù)據(jù)包,將其中承載有文件內(nèi)容的數(shù)據(jù)包的載荷數(shù)據(jù)順次緩存在第一隊列中; 第二線程從所述第一隊列的起始位置讀取至少一個數(shù)據(jù)包的載荷數(shù)據(jù),根據(jù)讀取的載荷數(shù)據(jù),確認所述第一隊列中的載荷數(shù)據(jù)是否是壓縮文件的文件內(nèi)容; 所述第二線程若確認所述第一隊列中的載荷數(shù)據(jù)是壓縮文件的文件內(nèi)容,則識別所述壓縮文件的壓縮格式; 所述第二線程從壓縮格式與解壓縮算法的映射關(guān)系中,查詢與識別出的壓縮格式對應(yīng)的解壓縮算法;利用查詢到的解壓縮算法,從所述第一隊列中逐個讀出各數(shù)據(jù)包的載荷數(shù)據(jù),分別對每次讀取的載荷數(shù)據(jù)進行解壓縮處理;分別對每次解壓縮處理后得到文件內(nèi)容進行反病毒檢測。
      2.根據(jù)權(quán)利要求I所述的反病毒方法,其特征在于,所述第二線程從所述第一隊列的起始位置讀取至少一個數(shù)據(jù)包的載荷數(shù)據(jù),包括 第二線程在達到預(yù)設(shè)條件時,從所述第一隊列的起始位置讀取至少一個數(shù)據(jù)包的載荷數(shù)據(jù),所述預(yù)設(shè)條件包括所述第二線程空閑、且所述第一隊列中存在至少預(yù)定數(shù)量的數(shù)據(jù)包的載荷數(shù)據(jù)。
      3.根據(jù)權(quán)利要求I或2所述的反病毒方法,其特征在于,將其中承載有文件內(nèi)容的數(shù)據(jù)包的載荷數(shù)據(jù)順次緩存在第一隊列中之前,還包括 獲取所述數(shù)據(jù)包的包頭部分中預(yù)定特征字段的內(nèi)容,將獲取的所述預(yù)定特征字段的內(nèi)容與預(yù)先設(shè)定的值進行比較,若一致,確認所述數(shù)據(jù)包承載有文件內(nèi)容。
      4.根據(jù)權(quán)利要求I或2所述的反病毒方法,其特征在于,所述根據(jù)讀取的載荷數(shù)據(jù),確認所述第一隊列中的載荷數(shù)據(jù)是否是壓縮文件的文件內(nèi)容,包括 所述第二線程判斷讀取的載荷數(shù)據(jù)的指定位置中是否包含文件名; 若包含文件名,則判斷預(yù)定壓縮文件后綴集合中是否包含所述文件名的后綴,若壓縮文件后綴集合中包含所述文件名的后綴,則確定第一隊列中的載荷數(shù)據(jù)是壓縮文件的文件內(nèi)容。
      5.根據(jù)權(quán)利要求I所述的反病毒方法,其特征在于,所述分別對每次讀取的載荷數(shù)據(jù)進行解壓縮處理,包括 根據(jù)所述查詢到的解壓縮算法和文件的結(jié)構(gòu)參數(shù)信息,分別對每次讀取的載荷數(shù)據(jù)進行解壓縮處理; 所述結(jié)構(gòu)參數(shù)信息的獲取方式包括 根據(jù)首包的標識從所述第一隊列中讀取首包的載荷數(shù)據(jù),從讀取的載荷數(shù)據(jù)中獲取文件頭中攜帶的結(jié)構(gòu)參數(shù)信息,所述首包的標識是將所述數(shù)據(jù)包的載荷數(shù)據(jù)順次緩存在所述第一隊列之前,對所述數(shù)據(jù)包進行協(xié)議解析時獲得的。
      6.根據(jù)權(quán)利要求I所述的反病毒方法,其特征在于,所述分別對每次解壓縮處理后得到文件內(nèi)容進行反病毒檢測之后,還包括 所述第二線程將每次反病毒檢測的檢測結(jié)果順次緩存在第二隊列中; 第三線程根據(jù)所述第二隊列中的檢測結(jié)果,判斷所述數(shù)據(jù)流中所傳輸?shù)奈募欠袷遣《疚募?br> 7.一種反病毒裝置,其特征在于,包括第一執(zhí)行模塊、第二執(zhí)行模塊和緩存模塊,其中,所述第一執(zhí)行模塊包括 接收單元,用于接收網(wǎng)絡(luò)傳輸?shù)膶儆谕粋€數(shù)據(jù)流的各數(shù)據(jù)包; 緩存單元,用于將接收單元接收的各數(shù)據(jù)包中,承載有文件內(nèi)容的數(shù)據(jù)包的載荷數(shù)據(jù)順次緩存在所述緩存模塊中的第一隊列中; 所述第二執(zhí)行模塊包括 讀取單元,用于在達到預(yù)設(shè)條件時,從所述第一隊列的起始位置讀取至少一個數(shù)據(jù)包的載荷數(shù)據(jù); 確認單元,用于根據(jù)讀取單元讀取的載荷數(shù)據(jù),確認所述第一隊列中的載荷數(shù)據(jù)是否是壓縮文件的文件內(nèi)容; 識別單元,用于若所述確認單元確認所述第一隊列中的載荷數(shù)據(jù)是壓縮文件的文件內(nèi)容,則識別所述壓縮文件的壓縮格式; 解壓縮單兀,用于從壓縮格式與解壓縮算法的映射關(guān)系中,查詢與識別出的壓縮格式對應(yīng)的解壓縮算法;利用查詢到的解壓縮算法,從所述第一隊列中逐個讀出各數(shù)據(jù)包的載荷數(shù)據(jù),分別對每次讀取的載荷數(shù)據(jù)進行解壓縮處理; 檢測單元,用于分別對解壓縮單元每次解壓縮處理后得到文件內(nèi)容進行反病毒檢測。
      8.根據(jù)權(quán)利要求7所述的反病毒裝置,其特征在于,所述緩存單元具體用于獲取所述數(shù)據(jù)包的包頭部分中預(yù)定特征字段的內(nèi)容;將獲取的所述預(yù)定特征字段的內(nèi)容與預(yù)先設(shè)定的值進行比較,若一致,則確認所述數(shù)據(jù)包承載有文件內(nèi)容,將承載有文件內(nèi)容的數(shù)據(jù)包的載荷數(shù)據(jù)順次緩存在所述第一隊列中。
      9.根據(jù)權(quán)利要求7或8所述的反病毒裝置,其特征在于, 所述確認單元具體用于判斷讀取的數(shù)據(jù)的指定位置中是否包含文件名; 若包含文件名,則判斷預(yù)定壓縮文件后綴集合中是否包含所述文件名的后綴,若壓縮文件后綴集合中包含所述文件名的后綴,則確定第一隊列中的載荷數(shù)據(jù)是壓縮文件的文件內(nèi)容。
      10.根據(jù)權(quán)利要求7所述的反病毒裝置,其特征在于,所述解壓縮單元具體用于從壓縮格式與解壓縮算法的映射關(guān)系中,查詢與識別出的壓縮格式對應(yīng)的解壓縮算法;利用查詢到的解壓縮算法,從所述第一隊列中逐個讀出各數(shù)據(jù)包的載荷數(shù)據(jù),根據(jù)所述查詢到的解壓縮算法和文件的結(jié)構(gòu)參數(shù)信息,分對每次讀取的載荷數(shù)據(jù)進行解壓縮處理; 所述結(jié)構(gòu)參數(shù)信息的獲取方式包括 根據(jù)首包的標識從所述第一隊列中讀取首包的載荷數(shù)據(jù),從讀取的載荷數(shù)據(jù)中獲取文件頭中攜帶的結(jié)構(gòu)參數(shù)信息,所述首包的標識是將所述數(shù)據(jù)包的載荷數(shù)據(jù)順次緩存在所述第一隊列之前,對所述數(shù)據(jù)包進行協(xié)議解析時獲得的。
      11.根據(jù)權(quán)利要求7或8所述的反病毒裝置,其特征在于,所述第二執(zhí)行模塊還用于將每次反病毒檢測的檢測結(jié)果順次緩存在所述緩存模塊中的第二隊列中; 則所述裝置還包括 第三執(zhí)行模塊,用于根據(jù)所述第二隊列中的檢測結(jié)果,判斷所述數(shù)據(jù)流中所傳輸?shù)奈募欠袷遣《疚募?br> 12.一種防火墻設(shè)備,其特征在于,包括存儲器,用于存儲指令;處理器,與所述存儲器耦合,所述處理器被配置為執(zhí)行存儲在所述存儲器中的指令,且所述處理器被配置為用于執(zhí)行·如權(quán)利要求I至6任一所述的反病毒方法。
      全文摘要
      本發(fā)明提供一種反病毒方法和裝置及防火墻設(shè)備,該方法包括第一線程接收網(wǎng)絡(luò)傳輸?shù)膶儆谕粋€數(shù)據(jù)流的各數(shù)據(jù)包,將其中承載有文件內(nèi)容的數(shù)據(jù)包的載荷數(shù)據(jù)順次緩存在第一隊列中;第二線程從第一隊列的起始位置讀取至少一個數(shù)據(jù)包的載荷數(shù)據(jù),根據(jù)讀取的載荷數(shù)據(jù)確認該第一隊列中的載荷數(shù)據(jù)是否是壓縮文件的文件內(nèi)容;若確認該第一隊列中的載荷數(shù)據(jù)是壓縮文件的文件內(nèi)容,則識別該壓縮文件的壓縮格式;從壓縮格式與解壓縮算法的映射關(guān)系中,查詢與識別出的壓縮格式對應(yīng)的解壓縮算法;利用查詢到的解壓縮算法從該第一隊列中逐個讀出各數(shù)據(jù)包的載荷數(shù)據(jù),分別對每次讀取的載荷數(shù)據(jù)進行解壓縮處理;分別對每次解壓縮處理后得到文件內(nèi)容進行反病毒檢測。
      文檔編號H04L29/06GK102893580SQ201280001001
      公開日2013年1月23日 申請日期2012年7月4日 優(yōu)先權(quán)日2012年7月4日
      發(fā)明者趙繼偉, 蔣武, 李世光, 陳志剛 申請人:華為技術(shù)有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1