異常檢測方法及裝置與流程
2024-03-11 00:04:15 1

本發明涉及通信領域,具體而言,涉及一種異常檢測方法及裝置。
背景技術:
相關技術中,許多本地和通過internet的遠程攻擊入侵行為,都是利用了存在漏洞的關鍵程序。針對這些關鍵程序的攻擊是入侵系統的主要手段。入侵檢測技術是通過對計算機中留存的系統信息和用戶行為在系統中產生的信息進行分析,用以檢測對系統的入侵。入侵檢測技術分為誤用檢測(misusedetection)和異常檢測(anomalydetection)。誤用檢測是基於分析入侵或攻擊的相關知識來檢測入侵。誤用檢測的缺點在於對新的入侵方法或一些入侵方法的變異難以檢測。並且,它的性能和模式庫的大小及體系結構有關。對入侵行為及入侵方法的分析發現,入侵最終都體現在一系列非法的或者異常的系統調用上,由此提出了多種異常檢測方法。異常檢測是基於正常狀態下的系統特徵來檢查當前狀態對正常狀態的偏離。
當前主流的異常檢測方法之一是特徵模式提取結合統計特徵檢測。在檢測時,首先將系統調用序列壓縮成系統調用與特徵模式混合構成的序列,在此基礎上以變長模式為單元建立改進的狀態轉換矩陣,用狀態序列出現的概率區分異常。
由此可見,當前主流的異常檢測方法在檢測時,先獲取關鍵程序的系統調用序列的確定特徵模式,然後根據該確定特徵模式進行檢測,但是在實際的檢測過程中,系統所保存的關鍵程序的系統調用序列的確定特徵模式種類是非常少的,這將導致在異常檢測時,可識別的模式較少,無法應對複雜的模式特徵,從而導致對關鍵程序行為的刻畫能力低下,進而影響整個異常檢測的精確度。
針對相關技術中,通過確定特徵模式結合統計特徵檢測的方法進行異常檢測所導致的可識別模式較少的問題,尚未提出有效的解決方案。
技術實現要素:
本發明提供了一種異常檢測方法及裝置,以至少解決相關技術中通過確定特徵模式結合統計特徵檢測的方法進行異常檢測所導致的可識別模式較少的問題。
根據本發明的一個方面,提供了一種異常檢測方法,包括:獲取系統調用序列的模糊特徵模式,並將所述模糊特徵模式添加至特徵模式庫中,其中,所述模糊特徵模式為包括確定模式和模糊模式的特徵模式,所述確定模式表示通過多個系統調用按照確定順序組成的特徵模式,所述模糊模式表示一類系統調用序列的特徵模式;將訓練集的系統 調用序列與所述特徵模式庫中所包括的特徵模式進行匹配,依據與匹配結果對應的規則獲取所述訓練集的系統調用序列對應的狀態序列;用所述狀態序列訓練馬爾可夫模型,得到訓練後的馬爾可夫模型;使用所述訓練後的馬爾可夫模型,檢測待檢測系統調用序列的異常。
可選地,所述確定模式通過以下方式獲取:執行以下步驟,直至得到長度最長的特徵模式:獲取長度為第一閾值的當前特徵模式,並將所述當前特徵模式添加至所述特徵模式庫中;將所述當前特徵模式與相鄰特徵模式進行連接,得到連接後的特徵模式;判斷所述連接後的特徵模式是否滿足支持度要求;在判斷結果為是的情況下,將所述連接後的特徵模式設置為待獲取特徵模式,並將所述待獲取特徵模式添加至所述特徵模式庫中,其中,在所述特徵模式庫中不包括所述當前特徵模式和所述相鄰特徵模式,所述支持度為系統調用短序列作為一個整體在系統進程的運行軌跡中出現的概率;判斷所述特徵模式庫中是否包括所述長度最長的特徵模式;在判斷結果為是的情況下,將所述特徵模式庫中所包括的特徵模式作為所述確定模式。
可選地,在判斷所述特徵模式庫中不包括所述長度最長的特徵模式時,所述方法還包括:在所述特徵模式庫中選取預定數量的相鄰特徵模式進行連接,得到連接後的特徵模式;判斷該連接後的特徵模式是否滿足支持度要求;在判斷結果為是的情況下,將該連接後的特徵模式設置為新的待獲取特徵模式,並將所述新的待獲取特徵模式添加至所述特徵模式庫中,其中,所述特徵模式庫不包含用於組成所述新的待獲取特徵模式的相鄰特徵模式;繼續判斷所述特徵模式庫中是否包括所述長度最長的特徵模式。
可選地,所述模糊模式通過以下方式獲取:重複執行以下步驟,直至得到長度最長的特徵模式:將所述特徵模式集合中距離為第一預定閾值的兩個確定模式進行合併,得到合併後的特徵模式,其中,位於所述兩個確定模式中間的特徵模式為單個系統調用序列或者所述確定模式;判斷所述合併後的特徵模式是否滿足支持度要求;在判斷結果為是的情況下,將所述合併後的特徵模式作為目標特徵模式,並將所述目標特徵模式添加至所述特徵模式庫中,其中,所述特徵模式庫中不包括參與合併的特徵模式;判斷所述特徵模式庫中是否包括長度最長的目標特徵模式;在判斷結果為是的情況下,將所述特徵模式庫中所包括的所述目標特徵模式作為所述模糊模式。
可選地,在判斷所述特徵模式庫中不包括長度最長的目標特徵模式時,所述方法還包括:將所述特徵模式庫中距離為第一預定閾值的兩個確定模式進行合併,得到合併後的特徵模式,並判斷所述合併後的特徵模式是否滿足支持度要求;或者,將所述特徵模式庫中兩個所述目標特徵模式進行合併,並判斷所述合併後的特徵模式是否滿足支持度要求;或者,將所述確定模式與所述目標特徵模式進行合併,並判斷所述合併後的特徵模式是否滿足支持度要求。
可選地,所述依據與匹配結果對應的規則獲取所述待檢測系統調用序列對應的狀態序列包括:將所述待檢測系統調用序列添加至空隊列的尾部;將所述空隊列中的所述待 檢測系統調用序列與所述特徵模式庫中的確定模式進行匹配;在所述待檢測系統調用序列與所述確定模式匹配時,將所述待檢測系統調用序列轉換為所述狀態序列;在所述待檢測系統調用序列與所述確定模式不匹配時,根據所述待檢測系統調用序列與所述模糊特徵模式的匹配結果獲取所述待檢測系統調用序列對應的狀態序列。
可選地,所述根據所述待檢測系統調用序列與所述模糊特徵模式的匹配結果獲取所述待檢測系統調用序列對應的狀態序列包括:判斷所述待檢測系統調用序列的首部是否匹配所述模糊特徵模式的第一個確定部分,其中,所述待檢測系統調用序列的首部至少包括一個系統調用;在判斷結果為是的情況下,依次將所述待檢測系統調用序列的其它系統調用與所述模糊特徵模式的其它確定部分進行匹配,並根據匹配結果獲取所述待檢測系統調用序列對應的狀態序列。
可選地,在依次將所述待檢測系統調用序列的其它系統調用與所述模糊特徵模式的其它確定部分進行匹配之後還包括:判斷所述空隊列中相鄰兩個確定部分之間的系統調用序列是否不為單個系統調用或者所述確定模式,或者,判斷所述確定部分與所述空隊列末端之間的系統調用序列是否大於所述特徵模式庫中確定模式的最大長度;在判斷結果為是的情況下,所述空隊列中與所述模糊特徵模式匹配的第一個確定部分出隊,並將所述第一個確定部分中每一個系統調用轉換成狀態添加至所述狀態序列中;在判斷結果為否的情況下,繼續確定所述待檢測系統調用序列中的其它系統調用。
可選地,所述使用所述訓練後的馬爾可夫模型,檢測所述待檢測系統調用序列的異常包括:在所述訓練後的馬爾可夫模型中,獲取所述待檢測系統調用序列對應的預定數量個狀態序列中概率小於預定閾值的個數,其中,所述預定閾值為與系統調用序列的異常度對應的值;在判斷所述個數大於第二預定閾值時,則確定所述待檢測調用序列出現異常。
根據本發明的另一方面,提供了一種異常檢測裝置,包括:第一處理模塊,用於獲取系統調用序列的模糊特徵模式,並將所述模糊特徵模式添加至特徵模式庫中,其中,所述模糊特徵模式為包括確定模式和模糊模式的特徵模式,所述確定模式表示通過多個系統調用按照確定順序組成的特徵模式,所述模糊模式表示一類系統調用序列的特徵模式;第二處理模塊,用於將訓練集的系統調用序列與所述特徵模式庫中所包括的特徵模式進行匹配,依據與匹配結果對應的規則獲取所述訓練集的系統調用序列對應的狀態序列;獲取模塊,用於用所述狀態序列訓練馬爾可夫模型,得到訓練後的馬爾可夫模型;檢測模塊,用於使用所述訓練後的馬爾可夫模型,檢測待檢測系統調用序列的異常。
可選地,所述第一處理模塊還用於通過以下方式獲取所述確定模式:執行以下步驟,直至得到長度最長的特徵模式:獲取長度為第一閾值的當前特徵模式,並將所述當前特徵模式添加至所述特徵模式庫中;將所述當前特徵模式與相鄰特徵模式進行連接,得到連接後的特徵模式;判斷所述連接後的特徵模式是否滿足支持度要求;在判斷結果為是的情況下,將所述連接後的特徵模式設置為待獲取特徵模式,並將所述待獲取特徵模式 添加至所述特徵模式庫中,其中,在所述特徵模式庫中不包括所述當前特徵模式和所述相鄰特徵模式,所述支持度為系統調用短序列作為一個整體在系統進程的運行軌跡中出現的概率;判斷所述特徵模式庫中是否包括所述長度最長的特徵模式;在判斷結果為是的情況下,將所述特徵模式庫中所包括的特徵模式作為所述確定模式。
可選地,所述第一處理模塊還用於在判斷所述特徵模式庫中不包括所述長度最長的特徵模式時,在所述特徵模式庫中選取預定數量的相鄰特徵模式進行連接,得到連接後的特徵模式;判斷該連接後的特徵模式是否滿足支持度要求;在判斷結果為是的情況下,將該連接後的特徵模式設置為新的待獲取特徵模式,並將所述新的待獲取特徵模式添加至所述特徵模式庫中,其中,所述特徵模式庫不包含用於組成所述新的待獲取特徵模式的相鄰特徵模式;繼續判斷所述特徵模式庫中是否包括所述長度最長的特徵模式。
可選地,所述第一處理模塊還用於通過以下方式獲取所述模糊模式:重複執行以下步驟,直至得到長度最長的特徵模式:將所述特徵模式集合中距離為第一預定閾值的兩個確定模式進行合併,得到合併後的特徵模式,其中,位於所述兩個確定模式中間的特徵模式為單個系統調用序列或者所述確定模式;判斷所述合併後的特徵模式是否滿足支持度要求;在判斷結果為是的情況下,將所述合併後的特徵模式作為目標特徵模式,並將所述目標特徵模式添加至所述特徵模式庫中,其中,所述特徵模式庫中不包括參與合併的特徵模式;判斷所述特徵模式庫中是否包括長度最長的目標特徵模式;在判斷結果為是的情況下,將所述特徵模式庫中所包括的所述目標特徵模式作為所述模糊模式。
可選地,所述第一處理模塊還用於在判斷所述特徵模式庫中不包括長度最長的目標特徵模式時,將所述特徵模式庫中距離為第一預定閾值的兩個確定模式進行合併,得到合併後的特徵模式,並判斷所述合併後的特徵模式是否滿足支持度要求;或者,將所述特徵模式庫中兩個所述目標特徵模式進行合併,並判斷所述合併後的特徵模式是否滿足支持度要求;或者,將所述確定模式與所述目標特徵模式進行合併,並判斷所述合併後的特徵模式是否滿足支持度要求。
可選地,所述第二處理模塊包括:添加單元,用於將所述待檢測系統調用序列添加至空隊列的尾部;匹配單元,用於將所述空隊列中的所述待檢測系統調用序列與所述特徵模式庫中的確定模式進行匹配;轉換單元,用於在所述待檢測系統調用序列與所述確定模式匹配時,將所述待檢測系統調用序列轉換為所述狀態序列;第一獲取單元,用於在所述待檢測系統調用序列與所述確定模式不匹配時,根據所述待檢測系統調用序列與所述模糊特徵模式的匹配結果獲取所述待檢測系統調用序列對應的狀態序列。
可選地,所述第一獲取單元包括:第一判斷子單元,用於判斷所述待檢測系統調用序列的首部是否匹配所述模糊特徵模式的第一個確定部分,其中,所述待檢測系統調用序列的首部至少包括一個系統調用;獲取子單元,用於在判斷結果為是的情況下,依次將所述待檢測系統調用序列的其它系統調用與所述模糊特徵模式的其它確定部分進行匹配,並根據匹配結果獲取所述待檢測系統調用序列對應的狀態序列。
可選地,所述第一獲取單元還包括:第二判斷子單元,用於在依次將所述待檢測系統調用序列的其它系統調用與所述模糊特徵模式的其它確定部分進行匹配之後,判斷所述空隊列中相鄰兩個確定部分之間的系統調用序列是否不為單個系統調用或者所述確定模式;或者,第三判斷子單元,用於在依次將所述待檢測系統調用序列的其它系統調用與所述模糊特徵模式的其它確定部分進行匹配之後,判斷所述確定部分與所述空隊列末端之間的系統調用序列是否大於所述特徵模式庫中確定模式的最大長度;處理子單元,用於在判斷結果為是的情況下,在判斷結果為是的情況下,所述空隊列中與所述模糊特徵模式匹配的第一個確定部分出隊,並將所述第一個確定部分中每一個系統調用轉換成狀態添加至所述狀態序列中;確定子單元,用於在判斷結果為否的情況下,繼續確定所述待檢測系統調用序列中的其它系統調用。
可選地,所述檢測模塊包括:第二獲取單元,用於在所述訓練後的馬爾可夫模型中,獲取所述待檢測系統調用序列對應的預定數量個狀態序列中概率小於預定閾值的個數,其中,所述預定閾值為與系統調用序列的異常度對應的值;確定單元,用於在判斷所述個數大於第二預定閾值時,則確定所述待檢測調用序列出現異常。
通過本發明,獲取系統調用序列的模糊特徵模式,並將該模糊特徵模式添加至特徵模式庫中,其中,模糊特徵模式為包括確定模式和模糊模式的特徵模式,確定模式表示通過多個系統調用按照確定順序組成的特徵模式,模糊模式表示一類系統調用序列的特徵模式;將待檢測系統調用序列與該特徵模式庫中所包括的特徵模式進行匹配,依據與匹配結果對應的規則獲取該待檢測系統調用序列對應的狀態序列;將該狀態序列作為訓練集訓練馬爾可夫模型,得到訓練後的馬爾可夫模型;使用該訓練後的馬爾可夫模型,檢測該待檢測系統調用序列的異常。也就是說,本發明基於馬爾可夫模型以及結合模糊特徵模式的獲取,其中該模糊特徵模式的獲取主要是根據系統調用序列內部的相關性,更深入挖掘特徵模式,來判斷系統調用序列的一種運行軌跡趨勢,並結合在線的檢測算法進一步檢測某一進程中的系統調用序列的異常,而不僅僅局限於相關技術中通過確定的特徵模式進行異常檢測所導致的可識別模式種類較少的問題,進而豐富了可識別模式種類,進一步達到提高異常檢測效率的效果。
附圖說明
此處所說明的附圖用來提供對本發明的進一步理解,構成本申請的一部分,本發明的示意性實施例及其說明用於解釋本發明,並不構成對本發明的不當限定。在附圖中:
圖1是根據本發明實施例的異常檢測流程圖;
圖2是根據本發明實施例的基於馬爾可夫鏈的異常檢測模型結構框圖;
圖3是根據本發明實施例的在線檢測算法流程圖;
圖4是根據本發明實施例的異常檢測裝置的結構框圖;
圖5是根據本發明實施例的異常檢測裝置的結構框圖(一);
圖6是根據本發明實施例的異常檢測裝置的結構框圖(二);
圖7是根據本發明實施例的異常檢測裝置的結構框圖(三);
圖8是根據本發明實施例的異常檢測裝置的結構框圖(四)。
具體實施方式
下文中將參考附圖並結合實施例來詳細說明本發明。需要說明的是,在不衝突的情況下,本申請中的實施例及實施例中的特徵可以相互組合。
需要說明的是,本發明的說明書和權利要求書及上述附圖中的術語「第一」、「第二」等是用於區別類似的對象,而不必用於描述特定的順序或先後次序。
實施例1
在本實施例中提供了一種異常檢測方法,圖1是根據本發明實施例的異常檢測流程圖,如圖1所示,該流程包括如下步驟:
步驟s102,獲取系統調用序列的模糊特徵模式,並將該模糊特徵模式添加至特徵模式庫中;
需要說明的是,上述模糊特徵模式為包括確定模式和模糊模式的特徵模式。其中,確定模式表示通過多個系統調用按照確定順序組成的特徵模式。例如,若系統調用序列l∈c,且l由一組系統調用以確定的順序組成,則l為確定模式,c為特徵模式庫,是一個由特徵模式構成的集合;模糊模式表示一類系統調用序列的特徵模式,例如,若系統調用序列l∈c,l無法由某一確定的系統調用短序列表示,而是代表一類系統調用短序列,則l為模糊模式。
步驟s104,將訓練集的系統調用序列與該特徵模式庫中所包括的特徵模式進行匹配,依據與匹配結果對應的規則獲取該訓練集的系統調用序列對應的狀態序列;
需要說明的是,在本實施例中,上述系統進程中可以包括多個系統調用。
步驟s106,用狀態序列訓練馬爾可夫模型,得到訓練後的馬爾可夫模型;
步驟s108,使用該訓練後的馬爾可夫模型,檢測待檢測系統調用序列的異常。
可選地,在本實施例中,上述異常檢測方法的應用場景包括但並不限於:在主機上使用時,主機通過監視關鍵程序的系統調用序列,如lpr,ftpd,sendmail等,以檢測來自網絡或者本地的入侵,或者,在終端上使用時,終端連接伺服器後,下載訓練好的馬爾可夫模型,並直接在本地實施檢測。在上述應用場景下,獲取系統調用序列的模糊特 徵模式,並將該模糊特徵模式添加至特徵模式庫中,其中,模糊特徵模式為包括確定模式和模糊模式的特徵模式,確定模式表示通過多個系統調用按照確定順序組成的特徵模式,模糊模式表示一類系統調用序列的特徵模式;將訓練集的系統調用序列與該特徵模式庫中所包括的特徵模式進行匹配,依據與匹配結果對應的規則獲取該訓練集的系統調用序列對應的狀態序列;用狀態序列訓練馬爾可夫模型,得到訓練後的馬爾可夫模型;使用該訓練後的馬爾可夫模型,檢測待檢測系統調用序列的異常。也就是說,在本實施例中,基於馬爾可夫模型以及結合模糊特徵模式的獲取,其中該模糊特徵模式的獲取主要是根據系統調用序列內部的相關性,更深入挖掘特徵模式,來判斷系統調用序列的一種運行軌跡趨勢,並結合在線的檢測算法進一步檢測某一進程中的系統調用序列的異常,而不僅僅局限於相關技術中通過確定的特徵模式進行異常檢測所導致的可識別模式種類較少的問題,進而豐富了可識別模式種類,進一步達到提高異常檢測效率的效果。
下面結合具體示例,本實施例進行舉例說明。
在本示例中,主要是基於馬爾可夫鏈的異常檢測模型,其中,主要模型結構圖參考圖2。如圖2所示,首先從系統進程運程正常行為產生的系統調用序列中提取特徵模式,構成特徵模式庫。然後,根據特徵模式庫對正常行為產生的系統調用序列壓縮,壓縮序列作為訓練集用於馬爾可夫模型的訓練,得到程序正常運行的模型。檢測時採用在線檢測算法,首先根據特徵模式庫將待檢測系統調用序列實時地壓縮成狀態序列,再根據馬爾可夫模型進行異常度計算,進而檢測異常。
需要說明的是,圖2中涉及的程序運行軌跡可以為t,其中t=(sc1,sc2,…,sci,…),sci表示序列中第i個系統調用。
tˊ為t經過壓縮處理後的程序軌跡,該軌跡是由系統調用和特徵模式混合構成的序列,表示為tˊ=(s1,s2,…,si,…),si可能是sci也可能是ci,,其中,ci,為特徵模式。顯然,len(tˊ)<len(t)。
在一個可選地實施方式中,確定模式通過以下方式確定:
執行以下步驟,直至得到長度最長的特徵模式:獲取長度為第一閾值的當前特徵模式,並將該當前特徵模式添加至該特徵模式庫中;將該當前特徵模式與相鄰特徵模式進行連接,得到連接後的特徵模式;判斷該連接後的特徵模式是否滿足支持度要求;在判斷結果為是的情況下,將該連接後的特徵模式設置為待獲取特徵模式,並將該待獲取特徵模式添加至該特徵模式庫中,其中,在該特徵模式庫中不包括該當前特徵模式和該相鄰特徵模式,該支持度為系統調用短序列作為一個整體在系統進程的運行軌跡中出現的概率;判斷該特徵模式庫中是否包括該長度最長的特徵模式;在判斷結果為是的情況下,將該特徵模式庫中所包括的特徵模式作為該確定模式;在判斷結果為否的情況下,在該特徵模式庫中選取預定數量的相鄰特徵模式進行連接,得到連接後的特徵模式;判斷該連接後的特徵模式是否滿足支持度要求;在判斷結果為是的情況下,將該連接後的特徵 模式設置為新的待獲取特徵模式,並將該新的待獲取特徵模式添加至該特徵模式庫中,其中,該特徵模式庫不包含用於組成該新的待獲取特徵模式的相鄰特徵模式;繼續判斷該特徵模式庫中是否包括該長度最長的特徵模式。
需要說明的是,上述第一閾值的取值包括但並不限於:1。
在本可選實施方式中,通過將所有特徵模式進行連接得到確定模式,以進一步獲取模糊特徵模式。
在一個可選地實施方式中,模糊模式通過以下方式確定:
重複執行以下步驟,直至得到長度最長的特徵模式:將該特徵模式集合中距離為第一預定閾值的兩個確定模式進行合併,得到合併後的特徵模式,其中,位於該兩個確定模式中間的特徵模式為單個系統調用序列或者該確定模式;判斷該合併後的特徵模式是否滿足支持度要求;在判斷結果為是的情況下,將該合併後的特徵模式作為目標特徵模式,並將該目標特徵模式添加至該特徵模式庫中,其中,該特徵模式庫中不包括參與合併的特徵模式;判斷該特徵模式庫中是否包括長度最長的目標特徵模式;在判斷結果為是的情況下,將該特徵模式庫中所包括的該目標特徵模式作為該模糊模式;在判斷結果為否的情況下,將該特徵模式庫中距離為第一預定閾值的兩個確定模式進行合併,得到合併後的特徵模式,並判斷該合併後的特徵模式是否滿足支持度要求;或者,將該特徵模式庫中兩個該目標特徵模式進行合併,並判斷該合併後的特徵模式是否滿足支持度要求;或者,將該確定模式與該目標特徵模式進行合併,並判斷該合併後的特徵模式是否滿足支持度要求。
需要說明的是,在本可選實施例中,上述第一預定閾值可以為2。
下面結合具體示例,對本實施例中涉及到的確定模式和模糊模式的確定方法進行舉例說明。
模糊特徵模式的獲取分為兩個部分。第一部分為確定模式提取,具體為,首先尋找長度為1的特徵模式,即滿足最低支持度的單個系統調用;然後將相鄰的、滿足支持度要求的單個系統調用合併成長度為2的特徵模式;在此基礎上,再將相鄰的滿足支持度要求的長度為2和1的特徵模式進行連接,以求得長度為3的特徵模式。依此類推,直到沒有新的更長的特徵模式出現。第二部分為模糊模式提取,具體為,首先在之前結果的基礎上,將距離為2的、滿足支持度要求的特徵模式合併為新的特徵模式,中間的系統調用或者特徵模式看成一個隨機的、獨立的程序特徵,稱為模糊部分。然後,重複上一步,依此類推,直到沒有新的更長的特徵模式出現。
需要說明的是,上述示例中包含的模糊特徵模式獲取方法中涉及到的特徵模式的距離概念。定義系統調用序列中相鄰的特徵模式的距離為1,間隔一個系統調用或者特徵模式的特徵模式之間距離為2,以此類推。系統調用序列的長度不加限制,只要滿足最 低支持度的要求,都被看作是特徵模式。
對系統調用短序列l的支持度sup(l)定義為:其中,len(t)表示系統調用序列t的長度,也表示t含有系統調用的個數。num(t,l)表示系統調用短序列l在t中出現的次數。
特徵模式定義為若某個系統調用短序列l的支持度大於閾值要求,則認為l是特徵模式之一,記為ci,i表示特徵模式的編號。
此外,在實施例中,採用長度優先原則,具體為,若較長的特徵模式包含了較短的特徵模式,則將較短的特徵模式從特徵模式庫中刪除。長度優先原則減小了特徵庫的大小,降低了馬爾可夫鏈模型的訓練時間。
在一個可選地實施方式中,依據與該匹配結果對應的規則獲取該系統調用序列對應的狀態序列包括以下步驟:
步驟s11,將待檢測系統調用序列添加至空隊列的尾部;
步驟s12,將空隊列中的該待檢測系統調用序列與該特徵模式庫中的確定模式進行匹配;
步驟s13,在待檢測系統調用序列與該確定模式匹配時,將該待檢測系統調用序列轉換為該狀態序列;
步驟s14,在待檢測系統調用序列與該確定模式不匹配時,根據該待檢測系統調用序列與該模糊特徵模式的匹配結果獲取該待檢測系統調用序列對應的狀態序列。
可選地,在本實施例中,首先是將當前執行的系統進程中的系統調用序列與特徵模式庫中的確定模式進行匹配,如果匹配,則將該當前系統調用序列轉換成狀態序列並添加至狀態序列中;如果不匹配,則將當前執行的系統進程中的系統調用序列與特徵模式庫中的模糊特徵模式進行匹配,以進一步對異常狀態進行識別,從而避免了相關技術中,在判斷在該當前系統調用序列與該確定模式不匹配時,則認為當前系統調用序列出現異常所造成檢測異常的準確度降低的問題。
在一個可選地實施方式中,根據該待檢測系統調用序列與該模糊特徵模式的匹配結果獲取該待檢測系統調用序列對應的狀態序列包括以下步驟:
步驟s21,判斷待檢測系統調用序列的首部是否匹配該模糊特徵模式的第一個確定部分,其中,該待檢測系統調用序列的首部至少包括一個系統調用;
步驟s22,在判斷結果為是的情況下,依次將該待檢測系統調用序列的其它系統調用與該模糊特徵模式的其它確定部分進行匹配,並根據匹配結果獲取該待檢測系統調用序列對應的狀態序列。
需要說明的是,在本可選實施方式中,模糊特徵模式中的確定部分可以為模糊模式中可以用系統調用確定表達的部分,而模糊特徵模式中所包括的模糊部分,則可以為模糊模式中除去確定部分之外的部分。
可選地,在本可選實施方式中,首先將待檢測系統調用序列的首部與模糊特徵模式的第一個確定部分進行匹配,在匹配的情況下,依次將待檢測系統調用序列的其它系統調用與模糊特徵模式的其它確定部分進行匹配,並根據匹配結果獲取待檢測系統調用序列對應的狀態序列,進一步解決了相關技術中通過確定的特徵模式進行異常檢測所導致的可識別模式種類較少的問題,進而達到了豐富可識別模式種類的效果。
在一個可選地實施方式中,在依次將該當前系統調用序列的其它系統調用與該模糊特徵模式的其它確定部分進行匹配之後還包括以下步驟:
步驟s31,判斷空隊列中相鄰兩個確定部分之間的系統調用序列是否不為單個系統調用或者該確定模式,或者,判斷該確定部分與該空隊列末端之間的系統調用序列是否大於該特徵模式庫中確定模式的最大長度;
步驟s32,在判斷結果為是的情況下,該空隊列中與該模糊特徵模式匹配的第一個確定部分出隊,並將該第一個確定部分中每一個系統調用轉換成狀態添加至該狀態序列中;
步驟s33,在判斷結果為否的情況下,繼續確定該待檢測系統調用序列中的其它系統調用。
可選地,在本可選實施方式中,通過將實時檢測到的空隊列中相鄰兩個確定部分之間的系統調用序列與單個系統調用或者確定模式之間的關係,或者,判斷確定部分與空隊列末端之間的系統調用序列特徵模式庫中確定模式的最大長度之間的關係作為出隊的條件,避免了在異常檢測過程中,滿足出隊條件的系統調用序列重複進行檢測所造成的資源浪費問題。
下面結合具體示例,對本實施例進行舉例說明。
在本示例中,主要是將系統調用序列改造成狀態序列的一種在線檢測方法。如圖3所示,其中主要包括以下步驟:
步驟s301:執行一個系統調用si,將其加入到空隊列a的尾部;
步驟s302:把隊列a中的系統調用序列與特徵庫中特徵模式進行匹配,若此序列首部剛好匹配某特徵模式,轉到步驟s304;若此序列的首部匹配某個模糊模式α的第一個確定部分,轉到步驟s303;若此序列匹配某特徵模式前部分,轉到步驟s301;若不能匹配,轉到步驟s305;
步驟s303:依次在隊列a中定位模糊模式α的所有確定部分,並且確認隊列a中相 鄰兩個確定部分,或確定部分與隊列a末端之間的系統調用序列長度di,若di大於特徵模式庫中確定模式的最大長度dmax,轉到步驟s306;若di不大於dmax,且隊列a定位了模糊模式α的一部分確定部分,轉到步驟s101;若di不大於dmax,且隊列a定位了模糊模式α的所有確定部分,轉到步驟s104;
步驟s304:記錄對應的狀態編號ci,加入狀態序列,隊列a中匹配的部分出隊,轉到步驟s301;
步驟s305:隊列a中每個系統調用對應的狀態加入狀態序列,清空隊列a,轉到步驟s301;
步驟s306:隊列a與模糊模式α匹配的第一個確定部分的系統調用序列出隊,該系統調用序列中每個系統調用對應的狀態加入狀態序列,轉到步驟s302。
重複執行以上步驟,直至進程結束,將系統調用序列改造成狀態序列。
在一個可選地實施方式中,該使用該訓練後的馬爾可夫模型,檢測該待檢測系統調用序列的異常包括以下步驟:
步驟s41,在該訓練後的馬爾可夫模型中,獲取該待檢測系統調用序列對應的預定數量個狀態序列中概率小於預定閾值的個數,其中,該預定閾值為與系統調用序列的異常度對應的值;
步驟s42,在判斷該個數大於第二預定閾值時,則確定該待檢測調用序列出現異常。
需要說明的是,上述第二預定閾值的取值包括但並不限於:2、3,在此,並不做任何限定。
可選地,在本可選實施方式中,通過使用訓練後的馬爾可夫模型,檢測待檢測系統調用序列的異常,進一步解決了相關技術中通過確定的特徵模式進行異常檢測所導致的可識別模式種類較少的問題,進而達到了提高可識別模式種類的效果。
下面結合具體示例,對本實施例進行舉例說明。
對於馬爾可夫鏈模型λ=(q,π,p),有
1)狀態集合q={q1,…,qi,…,qn}。每個系統調用和特徵模式都與qi一一對應,其中1≤i≤n。
2)初始狀態分布,估算方法為其中表示狀態qi對應的系統調用或特徵模式在tˊ中出現的次數,n表示tˊ的長度。
3)狀態轉移概率矩陣其中表示t時刻處於狀態qi,t+1時刻處 於狀態qj的概率,估算方法為其中表示狀態對qiqj出現的次數。
長度為l的狀態短序列seq=(q1,q2,…,qi,…,ql)的匹配因子為:
v(seq)的取值範圍在0到1之間。如果v值很小,說明seq與正常系統調用序列匹配度低,那麼seq異常的可能性大。反之,seq異常的可能性小。因此,v值也表示系統調用短序列的異常度。
在本實施例中,使用訓練好的馬爾可夫模型,可以檢測連續l個狀態的異常度。檢測時,採用長度為k的滑動窗口跟隨檢測點不斷向前滑動,記錄最近k個狀態序列中概率小於閾值v的個數。當計數大於2時,則標記為一次異常。
在本實施例中能夠根據系統調用序列內部的相關性,更深入的挖掘特徵模式。並且挖掘出的特徵模式並不局限於一組確定的系統調用序列,也就是說,該特徵模式可以是模糊的。
通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到根據上述實施例的方法可藉助軟體加必需的通用硬體平臺的方式來實現,當然也可以通過硬體,但很多情況下前者是更佳的實施方式。基於這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分可以以軟體產品的形式體現出來,該計算機軟體產品存儲在一個存儲介質(如rom/ram、磁碟、光碟)中,包括若干指令用以使得一臺終端設備(可以是手機,計算機,伺服器,或者網絡設備等)執行本發明各個實施例所述的方法。
實施例2
在本實施例中還提供了一種異常檢測裝置,該裝置用於實現上述實施例及優選實施方式,已經進行過說明的不再贅述。如以下所使用的,術語「模塊」可以實現預定功能的軟體和/或硬體的組合。儘管以下實施例所描述的裝置較佳地以軟體來實現,但是硬體,或者軟體和硬體的組合的實現也是可能並被構想的。
圖4是根據本發明實施例的異常檢測裝置的結構框圖,如圖4所示,該裝置包括:
1)第一處理模塊42,用於獲取系統調用序列的模糊特徵模式,並將該模糊特徵模式添加至特徵模式庫中,其中,該模糊特徵模式為包括確定模式和模糊模式的特徵模式,該確定模式表示通過多個系統調用按照確定順序組成的特徵模式,該模糊模式表示一類系統調用序列的特徵模式;
需要說明的是,上述模糊特徵模式為包括確定模式和模糊模式的特徵模式。其中,確定模式表示通過多個系統調用按照確定順序組成的特徵模式。例如,若系統調用序列l∈c,且l由一組系統調用以確定的順序組成,則l為確定模式,c為特徵模式庫,是 一個由特徵模式構成的集合;模糊模式表示一類系統調用序列的特徵模式,例如,若系統調用序列l∈c,l無法由某一確定的系統調用短序列表示,而是代表一類系統調用短序列,則l為模糊模式。
2)第二處理模塊44,用於將訓練集的系統調用序列與該特徵模式庫中所包括的特徵模式進行匹配,依據與匹配結果對應的規則獲取該訓練集的系統調用序列對應的狀態序列;
3)獲取模塊46,用於用該狀態序列訓練馬爾可夫模型,得到訓練後的馬爾可夫模型;
4)檢測模塊48,用於使用該訓練後的馬爾可夫模型,檢測待檢測系統調用序列的異常。
可選地,在本實施例中,上述異常檢測方法的應用場景包括但並不限於:在主機上使用時,主機通過監視關鍵程序的系統調用序列,如lpr,ftpd,sendmail等,以檢測來自網絡或者本地的入侵,或者,在終端上使用時,終端連接伺服器後,下載訓練好的馬爾可夫模型,並直接在本地實施檢測。在上述應用場景下,獲取系統調用序列的模糊特徵模式,並將該模糊特徵模式添加至特徵模式庫中,其中,模糊特徵模式為包括確定模式和模糊模式的特徵模式,確定模式表示通過多個系統調用按照確定順序組成的特徵模式,模糊模式表示一類系統調用序列的特徵模式;將訓練集的系統調用序列與該特徵模式庫中所包括的特徵模式進行匹配,依據與匹配結果對應的規則獲取該訓練集的系統調用序列對應的狀態序列;用狀態序列訓練馬爾可夫模型,得到訓練後的馬爾可夫模型;使用該訓練後的馬爾可夫模型,檢測待檢測系統調用序列的異常。也就是說,在本實施例中,基於馬爾可夫模型以及結合模糊特徵模式的獲取,其中該模糊特徵模式的獲取主要是根據系統調用序列內部的相關性,更深入挖掘特徵模式,來判斷系統調用序列的一種運行軌跡趨勢,並結合在線的檢測算法進一步檢測某一進程中的系統調用序列的異常,而不僅僅局限於相關技術中通過確定的特徵模式進行異常檢測所導致的可識別模式種類較少的問題,進而豐富了可識別模式種類,進一步達到提高異常檢測效率的效果。
下面結合具體示例,本實施例進行舉例說明。
在本示例中,主要是基於馬爾可夫鏈的異常檢測模型,其中,主要模型結構圖參考圖2。如圖2所示,首先從系統進程運程正常行為產生的系統調用序列中提取特徵模式,構成特徵模式庫。然後,根據特徵模式庫對正常行為產生的系統調用序列壓縮,壓縮序列作為訓練集用於馬爾可夫模型的訓練,得到程序正常運行的模型。檢測時採用在線檢測算法,首先根據特徵模式庫將待檢測系統調用序列實時地壓縮成狀態序列,再根據馬爾可夫模型進行異常度計算,進而檢測異常。
需要說明的是,圖2中涉及的程序運行軌跡可以為t,其中t=(sc1,sc2,…,sci,…),sci表示序列中第i個系統調用。
tˊ為t經過壓縮處理後的程序軌跡,該軌跡是由系統調用和特徵模式混合構成的序列,表示為tˊ=(s1,s2,…,si,…),si可能是sci也可能是ci,,其中,ci,為特徵模式。顯然,len(tˊ)<len(t)。
在一個可選地實施方式中,第一處理模塊42還用於通過以下方式獲取該確定模式:執行以下步驟,直至得到長度最長的特徵模式:獲取長度為第一閾值的當前特徵模式,並將該當前特徵模式添加至該特徵模式庫中;將該當前特徵模式與相鄰特徵模式進行連接,得到連接後的特徵模式;判斷該連接後的特徵模式是否滿足支持度要求;在判斷結果為是的情況下,將該連接後的特徵模式設置為待獲取特徵模式,並將該待獲取特徵模式添加至該特徵模式庫中,其中,在該特徵模式庫中不包括該當前特徵模式和該相鄰特徵模式,該支持度為系統調用短序列作為一個整體在系統進程的運行軌跡中出現的概率;判斷該特徵模式庫中是否包括該長度最長的特徵模式;在判斷結果為是的情況下,將該特徵模式庫中所包括的特徵模式作為該確定模式;在判斷結果為否的情況下,在該特徵模式庫中選取預定數量的相鄰特徵模式進行連接,得到連接後的特徵模式;判斷該連接後的特徵模式是否滿足支持度要求;在判斷結果為是的情況下,將該連接後的特徵模式設置為新的待獲取特徵模式,並將該新的待獲取特徵模式添加至該特徵模式庫中,其中,該特徵模式庫不包含用於組成該新的待獲取特徵模式的相鄰特徵模式;繼續判斷該特徵模式庫中是否包括該長度最長的特徵模式。
需要說明的是,上述第一閾值的取值包括但並不限於:1。
在本可選實施方式中,通過將所有特徵模式進行連接得到確定模式,以進一步獲取模糊特徵模式。
在一個可選地實施方式中,該第一處理模塊42還用於通過以下方式獲取該模糊模式:重複執行以下步驟,直至得到長度最長的特徵模式:將該特徵模式集合中距離為第一預定閾值的兩個確定模式進行合併,得到合併後的特徵模式,其中,位於該兩個確定模式中間的特徵模式為單個系統調用序列或者該確定模式;判斷該合併後的特徵模式是否滿足支持度要求;在判斷結果為是的情況下,將該合併後的特徵模式作為目標特徵模式,並將該目標特徵模式添加至該特徵模式庫中,其中,該特徵模式庫中不包括參與合併的特徵模式;判斷該特徵模式庫中是否包括長度最長的目標特徵模式;在判斷結果為是的情況下,將該特徵模式庫中所包括的該目標特徵模式作為該模糊模式;在判斷結果為否的情況下,將該特徵模式庫中距離為第一預定閾值的兩個確定模式進行合併,得到合併後的特徵模式,並判斷該合併後的特徵模式是否滿足支持度要求;或者,將該特徵模式庫中兩個該目標特徵模式進行合併,並判斷該合併後的特徵模式是否滿足支持度要求;或者,將該確定模式與該目標特徵模式進行合併,並判斷該合併後的特徵模式是否滿足支持度要求。
需要說明的是,在本可選實施例中,上述第一預定閾值可以為2。
下面結合具體示例,對本實施例中涉及到的確定模式和模糊模式的確定方法進行舉例說明。
模糊特徵模式的獲取分為兩個部分。第一部分為確定模式提取,具體為,首先尋找長度為1的特徵模式,即滿足最低支持度的單個系統調用;然後將相鄰的、滿足支持度要求的單個系統調用合併成長度為2的特徵模式;在此基礎上,再將相鄰的滿足支持度要求的長度為2和1的特徵模式進行連接,以求得長度為3的特徵模式。依此類推,直到沒有新的更長的特徵模式出現。第二部分為模糊模式提取,具體為,首先在之前結果的基礎上,將距離為2的、滿足支持度要求的特徵模式合併為新的特徵模式,中間的系統調用或者特徵模式看成一個隨機的、獨立的程序特徵,稱為模糊部分。然後,重複上一步,依此類推,直到沒有新的更長的特徵模式出現。
需要說明的是,上述示例中包含的模糊特徵模式獲取方法中涉及到的特徵模式的距離概念。定義系統調用序列中相鄰的特徵模式的距離為1,間隔一個系統調用或者特徵模式的特徵模式之間距離為2,以此類推。系統調用序列的長度不加限制,只要滿足最低支持度的要求,都被看作是特徵模式。
對系統調用短序列l的支持度sup(l)定義為:其中,len(t)表示系統調用序列t的長度,也表示t含有系統調用的個數。num(t,l)表示系統調用短序列l在t中出現的次數。
特徵模式定義為若某個系統調用短序列l的支持度大於閾值要求,則認為l是特徵模式之一,記為ci,i表示特徵模式的編號。
此外,在實施例中,採用長度優先原則,具體為,若較長的特徵模式包含了較短的特徵模式,則將較短的特徵模式從特徵模式庫中刪除。長度優先原則減小了特徵庫的大小,降低了馬爾可夫鏈模型的訓練時間。
圖5是根據本發明實施例的異常檢測裝置的結構框圖(一),如圖5所示,第二處理模塊44包括:
1)添加單元52,用於將該待檢測系統調用序列添加至空隊列的尾部;
2)匹配單元54,用於將該空隊列中的該待檢測系統調用序列與該特徵模式庫中的確定模式進行匹配;
3)轉換單元56,用於在該待檢測系統調用序列與該確定模式匹配時,將該待檢測系統調用序列轉換為該狀態序列;
4)第一獲取單元58,用於在該待檢測系統調用序列與該確定模式不匹配時,根據該待檢測系統調用序列與該模糊特徵模式的匹配結果獲取該待檢測系統調用序列對應的狀態序列。
可選地,在本實施例中,首先是將當前執行的系統進程中的系統調用序列與特徵模式庫中的確定模式進行匹配,如果匹配,則將該當前系統調用序列轉換成狀態序列並添加至狀態序列中;如果不匹配,則將當前執行的系統進程中的系統調用序列與特徵模式庫中的模糊特徵模式進行匹配,以進一步對異常狀態進行識別,從而避免了相關技術中,在判斷在該當前系統調用序列與該確定模式不匹配時,則認為當前系統調用序列出現異常所造成檢測異常的準確度降低的問題。
圖6是根據本發明實施例的異常檢測裝置的結構框圖(二),如圖6所示,第一獲取單元58包括:
1)第一判斷子單元62,用於判斷該待檢測系統調用序列的首部是否匹配該模糊特徵模式的第一個確定部分,其中,該待檢測系統調用序列的首部至少包括一個系統調用;
2)獲取子單元64,用於在判斷結果為是的情況下,依次將該待檢測系統調用序列的其它系統調用與該模糊特徵模式的其它確定部分進行匹配,並根據匹配結果獲取該待檢測系統調用序列對應的狀態序列。
需要說明的是,在本可選實施方式中,模糊特徵模式中的確定部分可以為模糊模式中可以用系統調用確定表達的部分,而模糊特徵模式中所包括的模糊部分,則可以為模糊模式中除去確定部分之外的部分。
可選地,在本可選實施方式中,首先將待檢測系統調用序列的首部與模糊特徵模式的第一個確定部分進行匹配,在匹配的情況下,依次將待檢測系統調用序列的其它系統調用與模糊特徵模式的其它確定部分進行匹配,並根據匹配結果獲取待檢測系統調用序列對應的狀態序列,進一步解決了相關技術中通過確定的特徵模式進行異常檢測所導致的可識別模式種類較少的問題,進而達到了豐富可識別模式種類的效果。
圖7是根據本發明實施例的異常檢測裝置的結構框圖(三),如圖7所示,第一獲取單元58除了包括圖6所示的子單元外還包括:
1)第二判斷子單元72,用於在依次將該待檢測系統調用序列的其它系統調用與該模糊特徵模式的其它確定部分進行匹配之後,判斷該空隊列中相鄰兩個確定部分之間的系統調用序列是否不為單個系統調用或者該確定模式;或者,使用第三判斷子單元等同替換上述第二判斷子單元72,其中,用於第三判斷子單元用於在依次將該待檢測系統調用序列的其它系統調用與該模糊特徵模式的其它確定部分進行匹配之後,判斷該確定部分與該空隊列末端之間的系統調用序列是否大於該特徵模式庫中確定模式的最大長度;
2)處理子單元74,用於在判斷結果為是的情況下,在判斷結果為是的情況下,該空隊列中與該模糊特徵模式匹配的第一個確定部分出隊,並將該第一個確定部分中每一個系統調用轉換成狀態添加至該狀態序列中;
3)確定子單元76,用於在判斷結果為否的情況下,繼續確定該待檢測系統調用序 列中的其它系統調用。
可選地,在本可選實施方式中,通過將實時檢測到的空隊列中相鄰兩個確定部分之間的系統調用序列與單個系統調用或者確定模式之間的關係,或者,判斷確定部分與空隊列末端之間的系統調用序列特徵模式庫中確定模式的最大長度之間的關係作為出隊的條件,避免了在異常檢測過程中,滿足出隊條件的系統調用序列重複進行檢測所造成的資源浪費問題。
圖8是根據本發明實施例的異常檢測裝置的結構框圖(四),如圖8所示,檢測模塊48包括:
1)第二獲取單元82,用於在該訓練後的馬爾可夫模型中,獲取該待檢測系統調用序列對應的預定數量個狀態序列中概率小於預定閾值的個數,其中,該預定閾值為與系統調用序列的異常度對應的值;
2)確定單元84,用於在判斷該個數大於第二預定閾值時,則確定該待檢測調用序列出現異常。
需要說明的是,上述第二預定閾值的取值包括但並不限於:2、3,在此,並不做任何限定。
可選地,在本可選實施方式中,通過使用訓練後的馬爾可夫模型,檢測待檢測系統調用序列的異常,進一步解決了相關技術中通過確定的特徵模式進行異常檢測所導致的可識別模式種類較少的問題,進而達到了提高可識別模式種類的效果。
需要說明的是,上述各個模塊是可以通過軟體或硬體來實現的,對於後者,可以通過以下方式實現,但不限於此:上述模塊均位於同一處理器中;或者,上述模塊分別位於多個處理器中。
實施例3
本發明的實施例還提供了一種存儲介質。可選地,在本實施例中,上述存儲介質可以被設置為存儲用於執行以下步驟的程序代碼:
s1,獲取系統調用序列的模糊特徵模式,並將該模糊特徵模式添加至特徵模式庫中,其中,該模糊特徵模式為包括確定模式和模糊模式的特徵模式,該確定模式表示通過多個系統調用按照確定順序組成的特徵模式,該模糊模式表示一類系統調用序列的特徵模式;
s2,將訓練集的系統調用序列與該特徵模式庫中所包括的特徵模式進行匹配,依據與匹配結果對應的規則獲取該訓練集的系統調用序列對應的狀態序列;
s3,用狀態序列訓練馬爾可夫模型,得到訓練後的馬爾可夫模型;
s4,使用訓練後的馬爾可夫模型,檢測待檢測系統調用序列的異常。
可選地,在本實施例中,上述存儲介質可以包括但不限於:u盤、只讀存儲器(rom,read-onlymemory)、隨機存取存儲器(ram,randomaccessmemory)、移動硬碟、磁碟或者光碟等各種可以存儲程序代碼的介質。
可選地,在本實施例中,處理器根據存儲介質中已存儲的程序代碼執行上述步驟s1、s2、s3、s4。
可選地,本實施例中的具體示例可以參考上述實施例及可選實施方式中所描述的示例,本實施例在此不再贅述。
顯然,本領域的技術人員應該明白,上述的本發明的各模塊或各步驟可以用通用的計算裝置來實現,它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網絡上,可選地,它們可以用計算裝置可執行的程序代碼來實現,從而,可以將它們存儲在存儲裝置中由計算裝置來執行,並且在某些情況下,可以以不同於此處的順序執行所示出或描述的步驟,或者將它們分別製作成各個集成電路模塊,或者將它們中的多個模塊或步驟製作成單個集成電路模塊來實現。這樣,本發明不限制於任何特定的硬體和軟體結合。
以上所述僅為本發明的優選實施例而已,並不用於限制本發明,對於本領域的技術人員來說,本發明可以有各種更改和變化。凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護範圍之內。