<listing id="vjp15"></listing><menuitem id="vjp15"></menuitem><var id="vjp15"></var><cite id="vjp15"></cite>
<var id="vjp15"></var><cite id="vjp15"><video id="vjp15"><menuitem id="vjp15"></menuitem></video></cite>
<cite id="vjp15"></cite>
<var id="vjp15"><strike id="vjp15"><listing id="vjp15"></listing></strike></var>
<var id="vjp15"><strike id="vjp15"><listing id="vjp15"></listing></strike></var>
<menuitem id="vjp15"><strike id="vjp15"></strike></menuitem>
<cite id="vjp15"></cite>
<var id="vjp15"><strike id="vjp15"></strike></var>
<var id="vjp15"></var>
<var id="vjp15"></var>
<var id="vjp15"><video id="vjp15"><thead id="vjp15"></thead></video></var>
<menuitem id="vjp15"></menuitem><cite id="vjp15"><video id="vjp15"></video></cite>
<var id="vjp15"></var><cite id="vjp15"><video id="vjp15"><thead id="vjp15"></thead></video></cite>
<var id="vjp15"></var>
<var id="vjp15"></var>
<menuitem id="vjp15"><span id="vjp15"><thead id="vjp15"></thead></span></menuitem>
<cite id="vjp15"><video id="vjp15"></video></cite>
<menuitem id="vjp15"></menuitem>

反惡意軟件系統及其操作方法

文檔序號:7702517閱讀:307來源:國知局
專利名稱:反惡意軟件系統及其操作方法
技術領域
與本發明示例性實施例一致的方法和設備涉及一種反惡意軟件系統及其操作方法。
背景技術
惡意軟件是指擾亂系統的操作或者使系統受到威脅的軟件或者代碼,例如病毒、 廣告軟件、間諜軟件或者特洛伊木馬。惡意軟件通過各種方式來感染系統。例如,系統可能只是通過打開電子郵件或者訪問特定網站而受到惡意軟件感染。反惡意軟件系統是指這樣一種系統,其防止可能由惡意軟件引起的損壞并修復損壞,并且包括防火墻或者病毒掃描引擎。隨著通信的發展,已經出現了新的惡意軟件,并且現有的惡意軟件已經變得多種多樣。因此,反惡意軟件系統除了檢測現有惡意軟件之外還應該檢測新的惡意軟件,因此反惡意軟件系統需要作為可更新的配置操作,以對這種新的惡意軟件做出響應。具體地講,具有有限資源的移動終端需要一種能夠使用較少資源高速地檢測惡意軟件的反惡意軟件系統。

發明內容
一個或多個示例性實施例可克服上述缺點和以上沒有描述的其他缺點。然而,應該理解,一個或多個示例性實施例不需要克服上述缺點,并且可不克服上述的任何缺點。—個或多個示例性實施例提供一種可高速地過濾包數據的反惡意軟件系統及其操作方法。一個或多個示例性實施例還提供一種能夠同時地對包數據執行過濾操作和病毒掃描操作的反惡意軟件系統及其操作方法。根據示例性實施例的一方面,提供一種反惡意軟件系統的操作方法,該方法包括 基于包規則對包數據執行過濾操作;在執行過濾操作的同時對包數據執行病毒掃描操作。根據另一示例性實施例的一方面,提供一種反惡意軟件系統,包括防火墻引擎, 基于包規則對包數據執行過濾操作,并且確定該包數據是否包含將被掃描病毒的數據;反病毒引擎,如果防火墻引擎確定包數據包含將被掃描病毒的數據,則對包數據執行病毒掃描操作。根據另一示例性實施例的一方面,提供一種防火墻引擎,基于包規則對包數據執行過濾操作,并且確定該包數據是否包含將被掃描病毒的數據。
根據示例性實施例,高速地過濾包數據。根據示例性實施例,對包數據同時執行過濾和病毒掃描。將在詳細描述中闡述示例性實施例的另外的方面和優點,通過詳細描述,示例性實施例的另外的方面和優點將是明顯的,或者可通過實施示例性實施例來學習示例性實施例的另外的方面和優點。


通過參照附圖對示例性實施例進行的詳細描述,本發明的上述和/或其他方面將會更加清楚,其中圖1是示出根據示例性實施例的反惡意軟件系統的框圖;圖2是示出根據另一示例性實施例的反惡意軟件系統的框圖;圖3是示出根據另一示例性實施例的反惡意軟件系統的框圖;圖4是用于解釋根據示例性實施例的反惡意軟件系統的操作的示圖;圖5是用于解釋根據另一示例性實施例的反惡意軟件系統的操作的示圖;圖6是用于解釋根據另一示例性實施例的反惡意軟件系統的操作的示圖;圖7是示出根據示例性實施例的匹配單元的框圖;圖8是用于解釋根據示例性實施例的防火墻引擎的過濾操作的示圖;圖9是示出根據示例性實施例的用于防火墻引擎的過濾操作的表的示例的示圖;圖10是用于解釋根據示例性實施例的反病毒引擎的掃描操作的示圖;圖11是示出根據示例性實施例的包過濾方法的流程圖;圖12是示出根據示例性實施例的包分類過程的流程圖;圖13是示出根據示例性實施例的IP匹配過程的流程圖;圖14是示出根據示例性實施例的協議匹配過程的流程圖;圖15是示出根據示例性實施例的端口匹配過程的流程圖;圖16是示出根據示例性實施例的反惡意軟件系統的操作方法的流程圖。
具體實施例方式現在,將參照附圖對示例性實施例進行更全面地描述以使本發明的各方面、特征和優點清晰。然而,本發明可以以多種不同形式實施并且不應被解釋為受限于這里闡述的示例性實施例。而是,提供這些實施例,從而使此公開將是徹底和全面的,并且將向本領域的普通技術人員全面傳達本發明的范圍。將理解,當元件、層或區域被稱為在另一元件、層或區域“上”時,該元件、層或區域可直接位于另一元件、層或區域上或者位于中間元件、層或區域上面。這里使用的術語僅為了描述特定實施例的目的,而不意圖限制本發明。如這里所使用的,除非上下文另外明確指出,否則單數形式也意圖包括復數形式。還將理解的是,當在本說明書中使用術語“包含”和/或“包括”時,說明存在所述特征、整體、步驟、操作、層、 區域、元件、部件和/或其組,但不排除存在或附加一個或多個其它特征、整體、步驟、操作、 層、區域、元件、組件和/或其組。如這里所使用的,術語“和/或”包括一個或多個相關列出術語的任意或所有組合。
圖1是示出根據示例性實施例的反惡意軟件系統的框圖。根據示例性實施例的反惡意軟件系統100可被實現為片上系統(SOC)或者可被安裝在可網絡連接的裝置(諸如,個人計算機(PC)或者移動裝置)上。參照圖1,反惡意軟件系統100包括通信單元110、規則模式(rule pattern)數據庫(DB) 120、防火墻引擎130、病毒模式(virus pattern)DB 140、反病毒引擎150和管理器 160。為了解釋方便,還在圖1中示出驅動器200和應用單元300,并且驅動器200和應用單元300是安裝有反惡意軟件系統100的裝置的元件。驅動器200可支持反惡意軟件系統100和應用單元300之間的接口。驅動器200 可將應用單元300的命令和用于更新規則模式DB 120或者病毒模式DB 140的命令引導到管理器160。應用單元300可包括反病毒用戶接口(UI)應用、防火墻UI應用、web瀏覽器和網絡應用。在本說明書中,反病毒UI應用和防火墻UI應用被統稱為“反惡意軟件(AM)應用”。 然而,如果在反病毒UI應用和防火墻UI應用之間的區分獲得任何益處,則它們不被這樣統稱。通信單元110通過網絡從外部源接收包數據。為了實現此目的,通信單元110可包括以下模塊中的至少一個無線保真(WiFi)模塊、局域網(LAN)模塊、無線(OTA)模塊、 藍牙模塊和4G模塊。如果通信單元110從外部源接收到包數據,則包數據被發送到防火墻引擎130。規則模式DB 120是包括至少一個包規則的數據庫。包規則用于確定是阻止從外部源發送的包數據還是讓所述包數據通過。可由用戶直接設置包規則,或者可將包規則設置為默認。由用戶設置的規則被轉換為可由反惡意軟件系統100使用的格式,并且以規則模式DB 120的形式被實現。防火墻引擎130可基于包規則對包數據執行過濾操作,并且確定該包數據是否包含將被掃描的數據。換句話說,根據示例性實施例,防火墻引擎130可執行過濾操作以及確定該包數據是否包含將被掃描的數據的操作兩者。在此實施例中,反病毒引擎150可對已經由防火墻引擎確定為包含將被掃描的數據的包數據執行病毒掃描操作。可在由防火墻引擎130執行過濾操作之前或之后執行病毒掃描操作,或者在過濾操作的同時執行病毒掃描操作。防火墻引擎130可對包數據執行過濾操作,但是可不確定該包數據是否包含將被掃描的數據。在此實施例中,反病毒引擎150對所有的包數據執行病毒掃描操作,而不對包數據進行區分。可選擇地,反病毒引擎150可在執行過濾操作之前或者之后對包數據執行病毒掃描操作。可以用現有技術中公知的方法、將在未來開發的方法或者在本說明書中描述的方法中的任何一種來執行防火墻引擎130的過濾操作。可以用現有技術中公知的方法、將在未來開發的方法或者在本說明書中描述的方法中的任何一種來執行反病毒引擎150的病毒掃描操作。以下,將解釋根據示例性實施例的防火墻引擎130的過濾操作。防火墻引擎130可通過將包數據與規則模式DB 120進行匹配來確定包數據是否滿足包規則。根據示例性實施例,防火墻引擎130可通過將包括在包數據的頭中的信息(IP 地址、協議和端口)與規則模式DB 120進行比較來確定該包數據是否滿足包規則。更具體地講,防火墻引擎130可通過將包括在包數據的頭中的信息(IP地址、協議和端口)與哈希匹配器表和子匹配器表進行匹配來確定該包數據是否滿足包規則。根據示例性實施例,防火墻引擎130可使用規則模式的哈希值和包數據的哈希值來執行匹配操作。盡管沒有顯示,反惡意軟件系統100通過應用哈希函數來將包數據與規則模式DB 120進行匹配。例如,防火墻引擎130將規則模式的哈希值與至少一部分的包數據的哈希值進行匹配,并且僅在哈希值的匹配成功時,防火墻引擎130才將規則模式與包數據進行匹配。下面將參照圖11-圖15對防火墻引擎130的過濾操作的示例進行詳細解釋。根據示例性實施例,防火墻引擎130可確定包數據是否包含將被掃描病毒的數據。如果防火墻引擎I30確定包數據包含將被掃描病毒的數據,則反病毒引擎150對相應的數據執行病毒掃描操作。下面將參照圖4和圖5進行詳細解釋。根據可選擇的示例性實施例,防火墻引擎130可確定包數據是否包含將被掃描病毒的數據,并且還確定將被掃描病毒的數據的類型。將被掃描病毒的數據的類型可被分類為文件數據和非文件數據,并且文件數據可被分類為腳本文件數據和一般文件數據。數據的這些類型僅是示例,并且可定義任何不同類型的數據。下面將參照圖6對由防火墻引擎 130分類的數據的類型進行詳細解釋。根據另一可選擇的示例性實施例,防火墻引擎130可在對包數據執行過濾操作之前,確定包數據是否包含將被掃描病毒的數據。如果防火墻引擎130確定包數據包含將被掃描病毒的數據,則反病毒引擎150對包數據執行病毒掃描操作,并且防火墻引擎130對包數據執行過濾操作。可不必同時執行掃描操作和過濾操作,并且可以順序地執行掃描操作和過濾操作。病毒模式DB 140是包括至少一個病毒模式的數據庫。根據示例性實施例,病毒模式DB 140可包括語法簡單的病毒模式和/或語法復雜的病毒模式。在第10-2010-0049566 號的韓國專利申請(于2010年5月27日提交)和第10-2010-005^81號的韓國專利申請 (于2010年6月4日提交)中定義了語法定義簡單的模式或者語法復雜的模式。除非這里有相反指示或者在上下文有明顯的矛盾之處,這些文檔被同等地引用于此。反病毒引擎150使用病毒模式DB 140確定在將被掃描病毒的數據中是否存在病毒。根據示例性實施例,將被掃描的數據可以是通過驅動器200接收的數據或者是從防火墻引擎130接收的包數據。反病毒引擎150可對包數據直接執行病毒掃描操作。然而,反病毒引擎150可能需要對包數據執行預處理。例如,為了執行預處理,反病毒引擎150可搜索與最小有意義單位緩沖器相應的數據中的腳本格式的病毒模式。預處理的另一示例可以是收集包含特定格式的文件的包數據并且識別文件格式的操作。反病毒引擎150可執行掃描操作以確定在與最小有意義單位相應的文件中是否存在病毒模式。這種預處理可根據反病毒引擎150的掃描方案或者病毒模式DB 140的格式而不同。然而,為了防止本公開的實施例被不必要地模糊,假設當反病毒引擎150對包數據執行掃描操作時執行必要的預處理,除非有相反說明。
參照回圖1,反病毒引擎150可使用病毒模式DB 140來對通過通信單元110接收的包數據執行病毒掃描操作。根據示例性實施例,可在執行防火墻引擎130的過濾操作的同時或者在執行過濾操作之前或者之后,執行反病毒引擎150的掃描操作。例如,對于通過通信單元110接收的包數據,反病毒引擎150和防火墻引擎130同時或單獨地執行掃描操作和過濾操作。反病毒引擎150可根據應用單元300的指令對通過驅動器200接收的數據執行病
毒掃描操作。根據示例性實施例,反病毒引擎150通過將包數據與病毒模式DB 140進行匹配來確定包數據是否包含病毒。根據示例性實施例,反病毒引擎150可使用哈希值來執行病毒掃描操作。例如,反病毒引擎150執行哈希值匹配操作以將病毒模式的哈希值與包數據的哈希值進行匹配,并且如果所述哈希值匹配,則執行輕模式匹配操作(light pattern matching operation)以將部分的包數據與部分的病毒模式進行匹配。如果輕模式匹配操作成功,則反病毒引擎150 執行精確模式匹配操作以將全部包數據與全部病毒模式進行匹配。管理器160解析從應用單元300接收的命令,確定該命令是涉及掃描操作還是涉及過濾操作,并且執行與該命令相應的操作。例如,如果管理器160從應用單元300接收到用于更新的病毒模式DB,則管理器 160可將用于更新的病毒模式DB加載到病毒模式DB 140。此外,管理器160可從應用單元300接收用于掃描的命令,并且可根據該命令控制反病毒引擎150執行掃描操作。此外,管理器160可從反病毒引擎150接收由反病毒引擎150進行掃描的結果,并將該結果通知給應用單元300。根據示例性實施例,如果管理器160從應用單元300接收到用于更新的規則模式列表,則管理器160可基于規則模式列表來產生規則模式DB 120。此外,管理器160可從防火墻引擎130接收過濾的結果,并且將結果通知給應用單元 300。在此實施例中,可由一個管理器160來管理防火墻引擎130和反病毒引擎150。然而,這僅是一個示例并且可為每個功能提供單獨的管理器。例如,管理器160可包括涉及過濾操作的防火墻管理器、涉及掃描操作的反病毒管理器以及用于管理防火墻管理器和反病毒管理器的惡意軟件管理器。在這種情況下,惡意軟件管理器確定從應用單元300接收的數據或命令是涉及防火墻還是涉及反病毒,并且將該數據或命令發送給相應管理器。例如,如果惡意軟件管理器從應用單元300接收到規則模式列表,則惡意軟件管理器將規則模式列表發送給防火墻管理器。防火墻管理器基于規則模式列表形成規則模式 DB。如果惡意軟件管理器接收到掃描命令,則惡意軟件管理器將該掃描命令發送給反病毒管理器。反病毒管理器命令反病毒引擎150執行掃描操作,并且相應地反病毒引擎150執行掃描操作。圖2是示出根據另一示例性實施例的反惡意軟件系統的框圖。參照圖2,根據另一示例性實施例的反惡意軟件系統與圖1中的反惡意軟件系統類似。在圖1和圖2中,相同或類似的元件被指定了相同的標號,并且以下將主要解釋圖1和圖2之間的差別。在此實施例中,通過公共硬件來執行反病毒引擎150的病毒模式匹配操作和防火墻引擎130的規則模式匹配操作。匹配單元165可將病毒模式與包數據進行匹配,并且還將規則模式與包數據進行匹配。換句話說,在一些情況下,匹配單元165被操作為反病毒引擎150的一部分,而在不同的情況下,匹配單元被操作為防火墻引擎130的一部分。例如,如果匹配單元165被操作為反病毒引擎150的一部分,則匹配單元165將病毒模式DB 140與將被掃描的數據進行匹配。在這種情況下,匹配單元165可執行病毒模式 DB 140和將被掃描的數據之間的哈希值匹配操作、輕模式匹配操作和精確模式匹配操作。另一方面,如果匹配單元165被操作為防火墻引擎130的一部分,則匹配單元165 將規則模式DB 120與包數據進行匹配。在這種情況下,匹配單元165可執行規則模式DB 120和包數據之間的哈希值匹配操作、輕模式匹配操作和精確模式匹配操作。下面將參照圖 7對匹配單元165的哈希值匹配操作、輕模式匹配操作和精確模式匹配操作進行詳細解釋。圖3是示出根據另一示例性實施例的反惡意軟件系統的框圖。參照圖3,根據本發明另一示例性實施例的反惡意軟件系統100包括與圖1或圖2 類似的元件。因此,相同或類似的元件被指定了相同的標號,以下將對差別進行主要解釋。在此實施例中,反病毒引擎150和防火墻引擎130包括單獨的硬件來分別執行病毒模式匹配操作和規則模式匹配操作。參照圖3,防火墻引擎130包括第一匹配單元152來執行規則模式匹配操作,并且反病毒引擎150包括第二匹配單元IM來執行病毒模式匹配操作。第一匹配單元152執行規則模式DB 120與包數據之間的匹配操作,第二匹配單元巧4執行病毒模式DB 140與包數據之間的匹配操作。第一匹配單元152和第二匹配單元 156中的每一個可執行哈希值匹配操作、輕模式匹配操作和精確模式匹配操作。此外,在語法復雜的模式的情況下,可還執行全模式匹配操作。圖4是解釋根據示例性實施例的反惡意軟件系統的操作的示圖。參照圖4,反惡意軟件系統包括通信單元110、防火墻引擎130、反病毒引擎150、反惡意軟件管理器161、防火墻管理器162、反病毒管理器164、反病毒檢查器170、輔助緩沖器 180、第一緩沖器182、第二緩沖器184、第三緩沖器185、發送器(TX)和接收器(RX)。通信單元110可與外部源交換數據。以下,將主要對此實施例與前述實施例之間的差別進行描述。根據示例性實施例,反惡意軟件系統同時對包數據執行過濾操作和病毒掃描操作。可精確地同時執行過濾操作和病毒掃描操作,或者可首先執行它們中的任何一個。如果防火墻引擎130接收到包數據,則在執行過濾操作的同時或者之后,防火墻引擎130確定包數據是否包含將被掃描病毒的數據。如果確定包數據包含將被掃描病毒的數據,則防火墻引擎130不發送包數據并且臨時保存包數據。例如,包數據被存儲在備用緩沖器中。存儲在備用緩沖器中的包數據處于備用狀態,直到對包數據的病毒掃描的結果被接收。根據示例性實施例,如果防火墻引擎130接收到在包數據中不存在病毒的結果,則防火墻引擎130將處于備用狀態的包數據發送給發送緩沖器。基于包數據并不違犯包規則的前提,將包數據發送給發送緩沖器。通過發送器(TX),發送給發送緩沖器的包數據可被發送到相應應用或者外部裝置。如果防火墻引擎I30接收到在包數據中存在病毒的結果,則防火墻引擎130不將處于備用狀態的包數據發送給發送緩沖器,并且丟棄該包數據。在此實施例中,防火墻管理器162可將對于包數據的過濾和病毒掃描的結果通知給用戶應用。根據示例性實施例,如果防火墻引擎130向防病毒檢查器170通知包數據包含將被掃描病毒的數據,則反病毒檢查器170將該結果通知給反病毒引擎150。此外,反病毒檢查器170從反病毒引擎150接收掃描的結果,并且將該結果通知給防火墻引擎130和防火墻管理器162。其后,防火墻引擎130基于掃描的結果將包數據發送給發送緩沖器,并且丟棄它。參照圖4,將對同時過濾和掃描包數據的操作進行詳細解釋。在圖4中,反惡意軟件系統100的元件之間的操作被編號。標號被顯示僅為了解釋方便,而不是表示操作的順序。防火墻引擎130讀出存儲在第一緩沖器182中的包數據,并且對包數據執行過濾操作。在過濾操作期間或者之后,防火墻引擎130確定包數據是否包含將被掃描病毒的數據,即是否掃描包數據。如果確定包數據不包含將被掃描的數據,即沒必要進行掃描,則防火墻引擎130 將包數據發送給第三緩沖器185。根據示例性實施例,防火墻引擎130可確定是否在過濾操作期間進行掃描。在此實施例中,如果沒必要進行掃描,則包數據可被發送給第三緩沖器185,而不用被存儲在第二緩沖器184中。當然,可在將包數據存儲在第二緩沖器184中之后,再將包數據發送給第三緩沖器185。根據另一示例性實施例,防火墻引擎130可確定是否在過濾操作之后進行掃描。 在此實施例中,在防火墻引擎130確定掃描的同時,將被掃描的包數據可被存儲在第二緩沖器184中。如果沒必要進行掃描,則防火墻引擎130將存儲在第二緩沖器184中的包數據發送給第三緩沖器185。如果確定有必要進行掃描,則可執行將在下面進行解釋的操作①- 。如果確定有必要進行掃描,則防火墻引擎130復制正被過濾或存儲在第二緩沖器 184中的包數據,并將該包數據存儲在輔助緩沖器180中(操作①)。此外,防火墻引擎130 通知反病毒檢查器170 存在將被掃描病毒的包數據(操作②)。已經由防火墻引擎130通知了存在將被掃描病毒的包數據的反病毒檢查器170訪問輔助緩沖器180,并且識別輔助緩沖器180是否存儲將被掃描病毒的數據(操作③),并且通知反病毒引擎150 存在將被掃描病毒的包數據(操作④)。反病毒引擎150訪問輔助緩沖器180,從輔助緩沖器180讀出包數據,并對包數據執行病毒掃描操作(操作⑤)。反病毒引擎150將包數據的病毒掃描操作的結果通知給反病毒檢查器170(操作 ⑥)。反病毒檢查器170將從反病毒引擎150接收的病毒掃描操作的結果通知給防火墻管理器162和防火墻引擎130 (操作⑦和⑧)。防火墻管理器162將從防病毒檢查器170發送的病毒掃描的結果以及過濾的結果通知給反惡意軟件管理器161 (操作⑨)。可由防火墻引擎130通知過濾的結果。反惡意軟件管理器161可將由防火墻管理器162通知的掃描的結果和過濾的結果發送給應用單元(操作 )。如果反病毒檢查器170通知防火墻引擎130:掃描的結果是存在病毒,則防火墻引擎130丟棄當前存儲在第二緩沖器184中的包數據。如果不存在病毒,則防火墻引擎130 將存儲在第二緩沖器184中的包數據發送給第三緩沖器185 (操作⑩)。在以上實施例中,存儲在備用緩沖器(即,第二緩沖器184)中的包數據被復制并存儲在輔助緩沖器180中,并且存儲在輔助緩沖器180中的包數據被掃描病毒。然而,這不應認為是限制。例如,不設置輔助緩沖器180,反病毒引擎150直接訪問第二緩沖器184,讀出存儲在第二緩沖器184中的包數據,并且對包數據進行病毒掃描。此外,存儲將被掃描病毒的包數據的第二緩沖器184被布置在防火墻引擎130內部。然而,第二緩沖器184可被布置在防火墻引擎130外部。此外,反病毒檢查器170被用作單獨的元件,但是可無需使用反病毒檢查器170來實現本公開。例如,反病毒管理器164可被調整用于執行反病毒檢查器170的功能。在這種情況下,防火墻引擎130命令反病毒管理器164掃描存儲在輔助緩沖器180中的包數據,反病毒引擎150根據反病毒管理器164的指令來執行病毒掃描操作,并且將病毒掃描的結果通知給反病毒管理器154。此后,反病毒管理器164將掃描的結果通知給反惡意軟件管理器 161和/或防火墻管理器162。接下來的操作與在前述實施例中的操作相同。以上已經參照圖1至圖3描述了反病毒引擎150的病毒掃描操作和防火墻引擎 130的過濾操作。如在圖3的實施例中,反病毒引擎150和防火墻引擎130可包括它們各自的匹配單元以執行它們的操作,或者如在圖2的實施例中,反病毒引擎150和防火墻引擎 130可共享公共匹配單元來執行它們的操作。圖5是解釋根據另一示例性實施例的反惡意軟件系統的操作的示圖。以下,將主要解釋圖4和圖5之間的差別。參照圖5,防火墻引擎130確定存儲在第一緩沖器182中的包數據是否包含將被掃描病毒的數據,并且如果確定包數據包含將被掃描的數據,則防火墻引擎130將包數據存儲在第二緩沖器184中,并且通知反病毒檢查器190:存在將被掃描的數據(操作①)。接下來的操作②和③與圖4中的操作②和③相同。反病毒引擎150讀出存儲在第二緩沖器184中的包數據(操作④)并且執行病毒掃描操作。接下來的操作⑤至⑩與圖4中的操作⑤至⑩相同。圖6是解釋根據另一示例性實施例的反惡意軟件系統的操作的示圖。以下,將主要說明圖6和圖4之間的差別。根據圖6的實施例,防火墻引擎130確定包數據是否包含將被掃描的數據,并且如果作為確定的結果確定有必要進行掃描,則防火墻引擎130確定哪種類型的數據被包含在待掃描的包數據中(下文中的掃描數據的類型)。
如果作為確定的結果沒必要進行掃描,則防火墻引擎130將包數據發送給第三緩沖器185。如果確定有必要進行掃描,則防火墻引擎130確定包含在包數據中的掃描數據的類型。如果掃描數據的類型是第一類型,則防火墻引擎130將包數據僅存儲在第二緩沖器 184中,并且通知反病毒檢查器190 包數據被存儲在第二緩沖器184中(操作②)。另一方面,如果掃描數據的類型是第二類型,則防火墻引擎130還將包數據存儲在輔助緩沖器180中。具體地講,如果將被掃描病毒的數據是第二類型,則防火墻引擎130 將包含將被掃描的數據的包數據存儲在第二緩沖器184中,并且還將該包數據存儲在輔助緩沖器180中。防火墻引擎通知反病毒檢查器190 存在將被掃描的數據(操作②)。當通知了反病毒檢查器170存在將被掃描的數據時,防火墻引擎130可還通知哪個緩沖器存儲將被掃描的數據,例如輔助緩沖器180是否存儲將被掃描的數據。反病毒檢查器170通知反病毒引擎150:存在將被掃描的數據(操作④)。此外, 反病毒檢查器170可通知哪個緩沖器存儲將被掃描的數據。反病毒引擎150讀出存儲在輔助緩沖器180或者第二緩沖器184中的數據(操作 ⑤’或⑤”),對該數據執行掃描操作,并將掃描的結果通知給反病毒檢查器170 (操作⑥)。 反病毒檢查器170將掃描的結果通知給防火墻引擎130 (操作⑧),防火墻引擎130根據掃描的結果將存儲在第二緩沖器184中的包數據發送給第三緩沖器185,或者丟棄它。防火墻管理器162和反惡意軟件管理器161的功能與圖4中的防火墻管理器162 和反惡意軟件管理器161的功能相同或類似,因此省略對其的詳細描述。在此實施例中,不存在將數據的類型分為第一類型和第二類型的絕對標準。可使用合適的標準。例如,數據的類型可按照數據的大小被分為第一類型和第二類型。在這種情況下,例如,小尺寸的數據(諸如腳本文件)可被分類為第一類型,而大尺寸的數據可被分類為第二類型。圖7是示出根據示例性實施例的匹配單元的框圖。參照圖7,根據示例性實施例的匹配單元包括系統接口 201、系統寄存器203、存儲器接口 205、存儲器207、緩沖器209、哈希匹配器211、偏移地址產生器213、哈希隊列(Q)緩沖器215、輕模式匹配器217和掃描Q緩沖器219。根據示例性實施例,圖7的匹配單元可用作圖2或圖3的匹配單元。系統接口 201支持反惡意軟件系統100和外部裝置之間的接口,并且存儲器接口 205用于讀出存儲在反惡意軟件系統100中的DB或文件。存儲器207可存儲哈希匹配器211所需的數據(例如,模式哈希值表)以執行哈希匹配操作。緩沖器209可存儲由存儲器接口 205讀出的目標數據。在此實施例中,緩沖器209 可被配置為雙存儲體(dual bank)形式。目標數據被劃分為與緩沖器209能夠存儲的大小相等的子數據,并且子數據被存儲在兩個緩沖器209中。如果圖7的匹配單元被用作反病毒引擎的一部分,則目標數據可以是諸如文件的數據。另一方面,如果圖7的匹配單元用作防火墻引擎的一部分,則目標數據可以是包數據。哈希匹配器211將目標數據的哈希值與哈希匹配器表43進行匹配。哈希匹配器 211將哈希值已經被成功匹配的目標數據存儲在哈希Q緩沖器215中。
如果哈希值匹配成功,則偏移地址產生器213產生存儲器地址,在該存儲器地址中存儲了在子匹配器表中匹配的哈希值。哈希Q緩沖器215使得移地址產生器213產生的地址對應于目標數據,并且存儲它們。輕模式匹配器217將存儲在哈希Q緩沖器215中的目標數據的一部分(例如,目標數據的中間值和尾值)與病毒模式(或者規則模式的IP哈希值、協議哈希值或者IP地址的中間值)彼此進行匹配。輕模式匹配器217將已經通過輕模式匹配操作成功匹配的目標數據存儲在掃描Q緩沖器219中。掃描Q緩沖器219可存儲已經通過輕模式匹配操作成功匹配的目標數據。如果圖7的匹配單元117被用作反病毒引擎150的一部分,則反病毒引擎150可執行精確匹配操作以將存儲在掃描Q緩沖器219中的目標數據與病毒模式精確匹配,并且如果精確匹配操作成功,則執行全模式匹配操作。如果數據具有語法復雜的模式,則執行全模式匹配操作。在語法簡單的模式的數據的情況下,僅進一步執行精確模式匹配操作。另一方面,如果圖7的匹配單元117被用作防火墻引擎130的一部分,則防火墻引擎130可執行精確匹配操作以將存儲在掃描Q緩沖器219中的目標數據與規則模式精確地匹配。在上述匹配操作中,在下述韓國專利申請中詳細描述了病毒模式匹配操作第 10-2010-0049566號韓國專利申請(于2010年5月27日提交)、第10-2010_005四81號韓國專利申請(于2010年6月4日提交)、第10-2011-0049249號韓國專利申請(于2011年 5月M日提交)。除非這里有相反指示或者在上下文有明顯的矛盾之處,這些文檔被同等地引用于此。圖8是解釋根據示例性實施例的防火墻引擎的過濾操作的示圖。參照圖8,防火墻引擎130使用由硬件配置的匹配單元117來將包數據與規則模式進行匹配。在此實施例中,防火墻引擎130將包括在包數據的頭中的信息(諸如IP地址、 協議或者端口)與規則模式進行匹配。參照圖8,規則模式DB 120可存儲至少一個包規則,并且可包括包的方向、IP地址、協議、端口、許可/阻止信息。包的方向指示包被轉發的方向并且通過“進入(In)”、“發出(Out),,和“兩者(Both),,來表示,IP地址指示源IP地址和目的IP地址,IP地址協議指示使用的協議的類型(諸如,傳輸控制協議(TCP)、用戶報文協議(UDP)、互聯網控制消息協議(ICMP)以及全部),端口指示將被設置的端口號,許可/阻止消息指示是允許還是阻止該包。在此實施例中,哈希匹配器211使用哈希匹配器表305來執行哈希值匹配操作,并且輕模式匹配器217使用子匹配器表307來執行輕模式匹配操作。哈希匹配器211在硬件層將存儲在緩沖器209中的數據的哈希值與哈希匹配器表305進行匹配。哈希值已經被匹配的數據被存儲在哈希Q緩沖器215中,并且輕模式匹配器217在硬件層將存儲在哈希Q 緩沖器215中的數據與子匹配器表進行匹配。如果輕模式匹配器217的匹配成功,則匹配的數據被存儲在掃描Q緩沖器219中,并且防火墻引擎130執行精確模式匹配操作以在軟件層確定存儲在掃描Q緩沖器219中的數據和整個規則模式DB是否彼此相同。其后,防火墻引擎130根據精確模式匹配的結果讓包數據通過或者阻止包數據。
參照圖8,如果接收到將被過濾的包數據,則防火墻引擎130首先對包數據執行包分類過程,并且僅在包分類過程的結果是包數據需要被模式匹配時,防火墻引擎130才將包數據與規則模式DB進行匹配。當執行包分類過程時防火墻引擎130使用匹配單元177 至少一次,并且當將包數據與規則模式DB進行匹配時還使用匹配單元177。下面將參照圖 11至圖15來提供對上述內容的詳細描述。圖8的防火墻引擎130的配置僅是示例,并且可過濾包數據的任何配置可被應用到本公開中。圖9是示出用于根據示例性實施例的防火墻引擎的過濾操作的表的示圖。參照圖9,(a)顯示了頭信息的示例,(b)顯示了哈希匹配器表的示例,(C)顯示了子匹配器表的示例。在此實施例中,防火墻引擎130可使用存儲在規則模式DB 230中的規則模式來產生哈希匹配器表。更具體地講,防火墻引擎130通過使用哈希函數來獲取用于包括在規則模式中的IP地址的所有哈希值,并且基于哈希值來配置圖9中的(b)的哈希匹配器表。參照圖9的(b),哈希匹配器表包括索引項和指示索引是否存在的存在/不存在項。通過可由預定哈希函數獲得的所有哈希值來確定索引,并且如果索引值與規則模式的 IP地址的哈希值相同,則在存在/不存在項中將索引設置為“ 1 ”。哈希匹配器表還包括協議的哈希值和端口的哈希值。防火墻引擎130可產生子匹配器表。每當規則模式DB更新時,防火墻引擎130重新產生子匹配器表和哈希匹配器表。防火墻引擎130可從規則模式DB和/或哈希匹配器表產生子匹配器表。子匹配器表包括索引項、中間項、尾項、ispro項、isport項、實際模式存儲器地址項以及下一項。為了便于理解,將參照圖9的(C)來解釋子匹配器表。根據圖9的(C)的第一記錄,索引項是“X”,中間項是“0x03”,尾項是“(^21”,丨印1~0項是“1”、丨印0汁項是“1”、實際模式存儲器地址項是“0x0001”,next (下一)項是“R”。在子匹配器表的索引項中顯示的值是在哈希匹配器表的存在/不存在項中具有值“1”的值。換句話說,子匹配器表的第一記錄的索引“X”還存在于哈希匹配器表中,并且在存在/不存在項中具有值“1”。另一方面,值“R”不存在于哈希匹配器表中,而是存在于子匹配器表中作為索引值。在規則模式不同而IP地址的哈希值相同的情況下,換句話說, 在哈希沖突發生的情況下,提供此值。例如,規則模式A和規則模式B具有不同的IP地址, 但是規則模式A的IP地址的哈希值和規則模式B的IP地址的哈希值相同(例如,哈希值 “X”)(哈希沖突)。在這種情況下,如在圖9的(c)的子匹配器表所示,規則模式A的IP地址的哈希值被寫為“X”,規則模式B的IP地址的哈希值被寫為“R”,并且“R”被寫在next 項中。如果作為對索引“X”的記錄執行子匹配的結果是子匹配不成功,則用于索引“R”的記錄的子匹配被再次執行。根據示例性實施例,寫在next項中的“R”可被定義為存儲索引 “X”的記錄的存儲器地址與存儲索引“R”的記錄的存儲器地址之間的差別。寫在子匹配器表的索引項中的值(例如,X、A或者B)可從哈希匹配器表中獲得, 或者可直接從規則模式DB獲得,而無需使用哈希匹配器表。換句話說,規則模式DB的規則模式擁有的IP地址的哈希值可被寫作子匹配器表中的索引。
子匹配器表的第一記錄的索引“X”是存儲在由實際模式存儲器地址項指定的存儲器地址(“0x0001”)中的規則模式的IP地址的哈希值。子匹配器表的中間項中的值“0x03”是存儲在由實際規則模式地址項指定的存儲器地址(“0x0001”)中的規則模式的IP地址的中間字節的值。子匹配器表的尾項中的值“0x21”是存儲在由實際規則模式地址項指定的存儲器地址(“0x0001”)中的規則模式的IP地址的尾字節的值。子匹配器表的ispro項的值“ 1”是指存儲在由實際規則模式地址項指定的存儲器地址(“0x0001”)中的規則模式被應用到所有協議。子匹配器表的isport項的值“1”是指存儲在由實際規則模式地址項指定的存儲器地址(“0x0001”)中的規則模式被應用到所有端口。已經對IP匹配過程進行了以上解釋,并且以上解釋是關于在圖9的子匹配器表中的標記為“子IP”的區域。下文中,將對圖9的子匹配器表中的標記為“子端口”的區域進行解釋。此區域中的值用于端口匹配過程。圖9的(c)的子匹配器表中的索引“A”是指存儲在由實際規則模式地址項指定的存儲器地址(“0x2000”)中的規則模式的端口的哈希值被應用到所有端口。IP哈希項中的值“C”是包括在存儲在由實際規則模式地址項指定的存儲器地址(“0x2000”)中的規則模式中的IP地址的哈希值。協議哈希項中的值“D”是包括在存儲在由實際規則模式地址項指定的存儲器地址(“0x2000”)中的規則模式中的端口的哈希值。在IP哈希值沖突的情況下提供索引“B”。可由防火墻引擎130來產生上述哈希匹配器表和子匹配器表,并且還可由除了防火墻引擎130之外的單獨提供的元件來產生上述哈希匹配器表和子匹配器表。圖10是解釋根據示例性實施例的反惡意軟件系統中的另一匹配操作的示圖。參照圖10,反病毒引擎150執行哈希值匹配操作和輕模式匹配操作。如果輕模式匹配操作成功,則反病毒引擎150執行精確模式匹配操作以確定病毒模式是否與目標數據 (包數據)完全相同。根據精確模式匹配的結果,反病毒引擎150確定目標數據是否被病毒感染。參照圖10,存儲在病毒模式DB 120中的病毒模式被劃分為多個子模式(“多模式形成過程”),并且多個子模式被加載到DB中。“多模式形成過程”是這樣的過程在通過反病毒管理器將病毒模式DB 140加載到存儲器中之前,根據相應的匹配器將每個病毒模式劃分為多個子模式。通過用于“DB加載”的模塊來將多個子模式加載到存儲器中。如果病毒模式DB被加載,則反病毒引擎150的匹配單元117執行匹配操作。匹配單元117執行哈希值匹配操作和輕模式匹配操作。以上已經參照圖7描述了匹配單元117的操作,因此省略對其的解釋。此外,在第10-2010-0049566號的韓國專利申請(于2010年5月27日提交)和第 10-2010-0052981號的韓國專利申請(于2010年6月4日提交)以及第10-2011-0049M9 號的韓國專利申請(于2011年5月M日提交)中,詳細地描述了用于產生哈希匹配器表和子匹配器表的方法以及哈希值匹配操作和輕模式匹配操作。除非這里有相反指示或者上下文有明顯的矛盾之處,這些文檔被同等地引用于此。圖11是示出根據示例性實施例的包過濾方法的流程圖。參照圖11,如果防火墻引擎130接收到將被過濾的包數據(操作S401),則包數據的頭被轉換為模式格式(操作S403)。使用包數據的頭信息來對包數據執行包分類過程 (操作S405)。操作S403中的模式格式可以是如圖9的(a)中所示的格式。在此實施例中, 操作S403僅是示例,并且將被過濾的包數據的頭可以不必被轉換為圖9的(a)中所示的格式。例如,圖11的實施例可包括從包數據提取頭信息的操作,來代替操作S403,并且使用頭信息執行操作S405。下面將參照圖12對包分類過程進行詳細解釋。如果完成對包數據的包分類過程,則確定是否將執行模式匹配操作S407。換句話說,防火墻引擎130不對所有的包數據執行模式匹配操作,并且通過將包分類過程(操作 S405)應用到包數據來確定是否對包數據執行模式匹配操作。只有確定將執行模式匹配操作,才執行模式匹配操作。在模式匹配操作S407中,包數據與存儲在規則模式DB 120中的規則模式進行匹配。因此,檢查包數據是否與規則模式匹配(操作S407)。例如,防火墻引擎130使用圖8的硬件117來檢查包數據的頭信息(IP地址、端口號或者協議)是否與規則模式匹配。在使用圖8的硬件117執行操作S407中,哈希匹配器 211將包數據的頭的哈希值與規則模式的頭的哈希值進行匹配,如果哈希值彼此匹配,則輕模式匹配器217將包數據的頭的中間值和尾值與規則模式的頭的中間值和尾值進行匹配。 如果中間值和尾值彼此匹配,則防火墻引擎130執行精確匹配操作以將包數據的頭的全部與規則模式的頭的全部進行匹配。如果精確匹配成功,則防火墻引擎130阻止包數據,將對其進行解釋。如果包數據與規則模式匹配,則根據規則模式來允許或者阻止該包數據(操作409)。另一方面,如果包數據與規則模式不匹配,則確定匹配不成功,因此讓包數據通過。圖12是示出根據示例性實施例的包分類過程的流程圖。參照圖12,包分類過程包括操作S501至S519,如果作為包分類過程的結果,確定包數據需要被模式匹配,則防火墻引擎執行模式匹配操作(操作S521)。根據示例性實施例,防火墻引擎使用至少一個標志來執行包分類過程。標志可包括IP標志、協議標志、端口標志、指示包數據是否根據IP匹配而被分類的標志、指示包數據是否根據協議匹配而被分類的標志、以及指示包數據是否根據端口匹配而被分類的標志。在此實施例中,防火墻引擎可參照圖9的(c)中顯示的規則模式DB和 /或子匹配器表來設置每個標志的值。防火墻引擎可將標志值存儲在系統寄存器203中,并且還可將標志值存儲在除了系統寄存器203之外的存儲器單元(未顯示)中。如果在多個規則模式中存在允許所有IP地址通過的至少一個規則模式,則防火墻引擎將IP標志設置為“所有(All) ”。以相同的方式,如果在多個規則模式中存在允許所有協議通過的至少一個規則模式,則防火墻引擎將協議標志設置為“所有(All)”。此外,如果在多個規則模式中存在允許所有端口通過的至少一個規則模式,則防火墻引擎將端口標志設置為“所有(All) ”。 可在執行包分類過程之前或者在執行包分類過程的同時,來執行設置標志的以上操作。在IP匹配操作、協議匹配操作和端口匹配操作期間,由防火墻引擎將指示包數據是否被分類的標志設置為“是”或者“否”。以下將參照圖13、14、15來對上述內容進行詳細解釋。如果防火墻引擎接收到將被過濾的包數據,則防火墻引擎通過檢查IP標志來確定IP表示是否為“所有(All)”(操作S501)。如果IP標志不是“所有(All)”,則對包數據執行IP匹配過程(操作S503)。下面將參照圖13對IP匹配過程進行詳細解釋。在完成IP匹配過程之后,如果指示包數據是否根據IP匹配而被分類的標志被設置為“否”(操作S505 否),則確定協議標志是否為“所有(All),,(操作S507)。在IP匹配過程期間,指示包數據是否根據IP匹配而被分類的標志被設置為“是” 和“否”之一,將參照圖13進行解釋。如果協議標志不是“所有(All)”,則防火墻引擎執行協議匹配過程(操作S509)。下面將參照圖14對協議匹配操作進行詳細解釋。在完成協議匹配過程之后,如果指示包根據協議匹配而被分類的標志被設置為“否”(操作S511 否),則防火墻引擎確定端口標志是否被設置為“所有(All)”(操作S513)。如果端口標志被設置為“所有(All)”,則確定IP標志是否被設置為“所有 (All)”(操作S519)。如果IP標志被設置為“所有(All)”,則防火墻引擎完成對于包數據的規則模式匹配操作。然而,如果IP標志不是“所有(All)”(操作S519:否),則執行模式匹配操作(操作S521)。如果端口標志沒有被設置為“所有(All) ”(操作S513 否),則防火墻引擎執行端口匹配過程(操作S5K)。下面將參照圖15對端口匹配過程進行詳細解釋。在完成端口匹配過程之后,如果指示包數據根據端口匹配而被分類的標志被設置為“否”(操作S517 否),則對包數據執行模式匹配操作(操作S521)。另一方面,如果指示包數據是否被分類的標志被設置為“是”(操作S505 是,操作 S511 是,操作S517 是),則防火墻引擎完成對包數據的規則模式匹配操作。圖13是示出根據示例性實施例的IP匹配過程的流程圖。防火墻引擎執行哈希匹配過程以確定包括在包數據的頭中的IP地址的哈希值是否與包括在規則模式DB中的規則模式的IP地址的哈希值匹配(操作S601)。根據示例性實施例,防火墻引擎的哈希匹配器211將包括在包數據的頭中的IP地址的哈希值與圖9的 (b)中顯示的哈希匹配器表進行匹配。例如,如果包括在包數據的頭中的IP地址的哈希值是“X”,則由于哈希匹配器表顯示“X”存在,因此確定哈希值彼此匹配。如果哈希匹配過程沒有實現匹配(操作S603),則防火墻引擎將指示包數據是否根據IP匹配而被分類的標志改變為“是”,這意味著包被分類(操作S613)。另一方面,如果哈希匹配過程實現了匹配(操作S603),則防火墻引擎執行子匹配過程,以使用子匹配器表對包執行匹配操作(操作S605)。根據示例性實施例,防火墻引擎的輕模式匹配器217將包括在包數據的頭中的IP地址的中間值和尾值與圖9的(c)中顯示的子匹配器表進行匹配。如果子匹配過程沒有實現匹配(操作S607),則防火墻引擎將指示包數據是否根據IP匹配而被分類的標志改變為“是”,這意味著包被分類(操作S613)。另一方面,如果子匹配過程實現了匹配(操作S607),則防火墻引擎識別ispro值和isport值,ispro值指示可應用于所有協議的規則是否存在于子匹配器表中,isport值指示可應用所有端口的規則是否存在(操作S608)。如果isport值為“1”,則在規則模式DB的多個規則模式中存在可應用于所有端口的至少一個規則模式,并且如果ispro值為“ 1 ”,則在規則模式DB的多個規則模式中存在可應用于所有協議的至少一個規則模式。在操作S609,如果ispro值不等于“1”,則防火墻引擎將協議標志改變為“不是所有(Not All)”(操作S615)。另一方面,如果ispro值為“1”,則防火墻引擎確定isport值是否等于1(操作S611)。如果isport值不等于“1”,則防火墻引擎將端口標志改變為“不是所有(NotAll)”(操作 S617)。圖13的實施例中的指示包數據是否被分類的標志、協議標志、端口標志分別對應于使用在圖12的操作S505中的指示包數據是否被分類的標志、在操作S507中使用的協議標志以及在操作S513中使用的端口標志。圖14是示出根據示例性實施例的協議匹配過程的流程圖。防火墻引擎執行哈希匹配過程以確定包括在包數據的頭中的協議的哈希值是否與包括在規則模式DB中的規則模式的協議的哈希值匹配(操作S701)。根據示例性實施例,防火墻引擎的哈希匹配器211將包括在包數據的頭中的協議的哈希值與圖9的(b)中顯示的哈希匹配器表進行匹配。例如,如果包括在包數據的頭中的協議的哈希值是“Z”,則由于哈希匹配器表顯示“Z”不存在,因此確定哈希值彼此不匹配。如果哈希匹配過程實現了匹配(操作S703),則防火墻引擎完成哈希匹配過程并且執行下一操作(例如,圖12的操作S511)。另一方面,如果哈希匹配過程沒有實現匹配, 則防火墻引擎將指示包數據是否根據協議匹配而被分類的標志改變為“是”,這意味著包被分類(操作S705)。指示包數據是否被分類的標志相應于圖12的操作S511中使用的指示包數據是否被分類的標志。在此實施例中,由于執行了協議匹配的情況的數量少,因此僅通過哈希匹配過程來執行驗證過程而不執行子匹配過程。然而,這僅是示例,可在協議匹配的情況下執行子匹配過程。圖15是示出根據示例性實施例的端口匹配過程的流程圖。防火墻引擎執行哈希匹配過程以確定包括在包數據的頭中的端口的哈希值是否與包括在規則模式DB中的規則模式的端口的哈希值匹配(操作S801)。根據示例性實施例,防火墻引擎的哈希匹配器211將包括在包數據的頭中的端口的哈希值與圖9的(b)中顯示的哈希匹配器表進行匹配。例如,如果包括在包數據的頭中的協議的哈希值是“A”,則由于哈希匹配器表顯示“A”存在,因此確定哈希值彼此匹配。如果哈希匹配過程沒有實現匹配(操作S803),則防火墻引擎將指示包數據是否根據端口匹配而被分類的標志改變為“是”,這意味著包被分類(操作S809)。如果哈希匹配過程實現了匹配(操作S803),則防火墻引擎對包數據執行子匹配過程(操作S805)。根據示例性實施例,防火墻引擎的輕模式匹配器217將包括在包數據的頭中的IP地址的哈希值和協議的哈希值與圖9的(c)中的顯示的子匹配器表進行匹配。如果子匹配過程沒有實現匹配(操作S807),則防火墻引擎將指示包數據是否根據端口匹配而被分類的標志改變為“是”,這意味著包被分類(操作S809)。另一方面,如果子匹配過程實現了匹配,則防火墻引擎完成了端口匹配過程,并且執行圖12的操作S517。在圖15的操作S809中使用的指示包數據是否被分類的標志相應于在圖12的操作S517中使用的指示包數據是否被分類的標志。圖16是示出根據示例性實施例的反惡意軟件系統的操作方法的流程圖。通過但不限于圖4至圖6的反惡意軟件系統中的任何一個來實現圖16的操作方法。參照圖16,如果防火墻引擎接收到包數據,則防火墻引擎對包數據執行過濾操作 (操作 S901)。如果包數據不滿足過濾規則(操作S903-否),則防火墻引擎阻止包數據(操作S907)。即使包滿足過濾規則,防火墻引擎也不立即讓包數據通過而是臨時保存包數據。反病毒引擎對處于備用狀態的包數據執行病毒掃描操作(操作S905)。如果作為掃描的結果是病毒不存在于包數據中(操作S909-否),則包數據被發送到外部裝置或者相應的應用(操作S911)。如果病毒存在于包數據中(操作S909-是),則單獨地通過預定策略來丟棄或者管理包數據(操作S913)。圖16的反惡意軟件系統的操作方法可被如下修改。在第一方法中,如果目標數據滿足過濾規則,則防火墻引擎確定目標數據是否包含將被掃描病毒的數據。只有存在將被掃描的數據時,才執行操作S905至S913。在第二方法中,反病毒引擎對所有包數據執行病毒掃描操作,而不管包數據是否滿足過濾規則。換句話說,如果接收到包數據,則防火墻引擎和反病毒引擎執行它們各自的操作。在上述示例性實施例中,基于SOC來配置反惡意軟件系統。然而,這僅是示例,并且本公開不必僅基于SOC被配置。例如,可以以安裝在移動裝置或者個人計算機中的應用的形式來實現反惡意軟件系統。例如,可以以安裝在應用單元300中的軟件的形式來實現圖1至圖6中示出的管理器160、反病毒引擎150和防火墻引擎130。前述示例性實施例和優點僅是示例性的,并且不被解釋為限制本發明構思。示例性實施例可被容易地應用到其他類型的設備。此外,示例性實施例的描述是出于示意性的目的,并且不限制權利要求的范圍,并且對于本領域的技術人員來說,許多替換、修改和改變將是清楚的。
權利要求
1.一種反惡意軟件系統的操作方法,該方法包括基于包規則對包數據執行過濾操作;在執行過濾操作的同時對包數據執行病毒掃描操作。
2.如權利要求1所述的方法,還包括確定正被過濾的數據是否包含將被掃描病毒的數據,其中,只有確定包數據包含將被掃描病毒的數據,才執行病毒掃描操作。
3.如權利要求2所述的方法,其中,如果作為執行過濾操作的結果,包數據滿足包規則,并且如果作為執行病毒掃描操作的結果,確定包數據不包含病毒,則包數據被發送到使用該包數據的外部裝置或者應用單元。
4.如權利要求2所述的方法,其中,如果作為執行過濾操作的結果,包數據滿足包規則,并且如果作為執行病毒掃描操作的結果,確定包數據包含病毒,則包數據不被發送到使用該包數據的外部裝置或者應用單元。
5.如權利要求2所述的方法,還包括如果在過濾操作中確定包數據滿足包規則,則將滿足包規則的包數據存儲在備用緩沖器中。
6.如權利要求5所述的方法,其中,執行病毒掃描操作的步驟包括對存儲在備用緩沖器中的包數據執行病毒掃描操作。
7.如權利要求5所述的方法,其中,只有存儲在備用緩沖器中的包數據包含將被掃描病毒的數據,才執行病毒掃描操作。
8.如權利要求2所述的方法,還包括如果在過濾操作中確定包數據滿足包規則,則將滿足包規則的包數據存儲在備用緩沖器中;如果在確定操作中確定滿足包規則的包數據包含將被掃描病毒的數據,則將包數據復制到輔助緩沖器中并將包數據存儲在輔助緩沖器中。
9.如權利要求8所述的方法,其中,對存儲在輔助緩沖器中的包數據執行病毒掃描操作。
10.如權利要求8所述的方法,還包括把將被掃描病毒的包數據轉換為適合于病毒掃描操作的格式的數據,其中,對轉換的包數據執行病毒掃描操作。
11.如權利要求2所述的方法,還包括如果在確定操作中確定包數據包含將被掃描病毒的數據,則確定將被掃描病毒的數據的類型。
12.如權利要求11所述的方法,還包括如果將被掃描病毒的數據是第一類型,則將該包數據存儲在備用緩沖器中,如果將被掃描病毒的數據是第二類型,則將該包數據存儲在輔助緩沖器中。
13.如權利要求12所述的方法,其中,執行病毒掃描操作的步驟包括對存儲在備用緩沖器或者輔助緩沖器中的包數據執行病毒掃描操作。
14.如權利要求1所述的方法,其中,執行過濾操作的步驟包括將包數據與規則模式進行匹配;根據匹配的結果來確定是否允許包數據,其中,執行病毒掃描操作的步驟包括將包數據與預定病毒模式進行匹配;根據匹配的結果確定包數據是否包含病毒。
15.如權利要求14所述的方法,其中,由單獨的硬件來執行匹配操作。
16.如權利要求14所述的方法,其中,由公共硬件來執行匹配操作。
17.一種反惡意軟件系統,包括防火墻引擎,基于包規則對包數據執行過濾操作,并且確定該包數據是否包含將被掃描病毒的數據;反病毒引擎,如果防火墻引擎確定包數據包含將被掃描病毒的數據,則對包數據執行病毒掃描操作。
18.如權利要求17所述的反惡意軟件系統,其中,只有包數據滿足包規則,防火墻引擎才確定包數據是否包含將被掃描病毒的數據。
19.如權利要求17所述的反惡意軟件系統,還包括備用緩沖器,其中,防火墻引擎將滿足包規則的包數據存儲在備用緩沖器中。
20.如權利要求19所述的反惡意軟件系統,其中,反病毒引擎對存儲在備用緩沖器中的包數據執行病毒掃描操作。
21.如權利要求19所述的反惡意軟件系統,其中,只有存儲在備用緩沖器中的包數據包含將被掃描病毒的數據,反病毒引擎才執行病毒掃描操作。
22.如權利要求17所述的反惡意軟件系統,還包括備用緩沖器和輔助緩沖器,其中,如果確定包數據滿足包規則,則防火墻引擎將包數據存儲在備用緩沖器中,并且如果滿足包規則的包數據包含將被掃描病毒的數據,則將包數據存儲在輔助緩沖器中。
23.如權利要求22所述的反惡意軟件系統,其中,反病毒引擎對存儲在輔助緩沖器中的包數據執行病毒掃描操作。
24.如權利要求17所述的反惡意軟件系統,還包括反惡意軟件管理器,把將被掃描病毒的包數據轉換為適合于病毒掃描操作的格式的數據,其中,對轉換的包數據執行病毒掃描操作。
25.如權利要求17所述的反惡意軟件系統,還包括反病毒檢查器,從防火墻引擎接收包數據包含將被掃描病毒的數據的通知,并且將包數據包含將被掃描病毒的數據通知給反病毒引擎。
26.如權利要求25所述的反惡意軟件系統,其中,防火墻引擎將包數據包含將被掃描病毒的數據通知給反病毒檢查器,并且將包數據存儲在輔助緩沖器中,其中,反病毒引擎對存儲在輔助緩沖器中的包數據執行病毒掃描操作。
27.如權利要求沈所述的反惡意軟件系統,其中,反病毒檢查器確認包數據被存儲在輔助緩沖器中,并且將包數據包含將被掃描病毒的數據通知給反病毒引擎。
28.如權利要求27所述的反惡意軟件系統,其中,反病毒引擎將對于存儲在輔助緩沖器中的包數據執行病毒掃描操作的結果通知給反病毒檢查器。
29.如權利要求27所述的反惡意軟件系統,還包括反惡意軟件管理器,接收執行防火墻引擎和反病毒引擎的操作的結果。
30.如權利要求四所述的反惡意軟件系統,其中,反病毒引擎將對于存儲在輔助緩沖器中的包數據執行病毒掃描操作的結果通知給反病毒檢查器,其中,反病毒檢查器將執行病毒掃描操作的結果通知給反惡意軟件管理器。
31. 一種防火墻引擎,基于包規則對包數據執行過濾操作,并且確定包數據是否包含將被掃描病毒的數據。
全文摘要
提供了一種反惡意軟件系統及其操作方法。該操作方法包括基于包規則對包數據執行過濾操作;在執行過濾操作的同時對包數據執行病毒掃描操作。因此,包數據的安全被加強。
文檔編號H04L29/06GK102289614SQ201110170409
公開日2011年12月21日 申請日期2011年6月20日 優先權日2010年6月18日
發明者俞仁善 申請人:三星Sds株式會社
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
韩国伦理电影