本發明涉及物聯網安全領域,具體而言,涉及一種成熟檢測器集生成方法、入侵檢測方法及裝置。
背景技術:
隨著物聯網感知層攻擊技術的不斷發展,入侵行為越發表現出不確定性、復雜性、多樣性等特點。目前絕大多數的物聯網感知層的入侵檢測系統采用的方法都是根據已知的入侵行為的特征建立特定的入侵模式,所有的已知入侵模式構成了一個入侵模式庫,將感知層設備采集到的數據與該入侵模式庫進行對比,如果與該入侵模式庫中某個入侵模式匹配成功,則判定該數據為入侵數據。但是由于物聯網本身的復雜性、異構性等,很難通過特征提取建立準確的入侵模式,同時這種方式雖然能夠準確地檢測到已知的入侵數據,但是卻無法檢測到新的未知的入侵數據,這對于監測環境復雜多變的物聯網感知層而言并不適用。
技術實現要素:
有鑒于此,本發明實施例的目的在于提供一種成熟檢測器集生成方法、入侵檢測方法及裝置,以解決上述問題。
為了實現上述目的,本發明實施例采用的技術方案如下:
第一方面,本發明實施例提供了一種成熟檢測器集生成方法,所述方法包括:建立自體數據集,所述自體數據集中包括了與物聯網感知層節點獲取的所有非入侵數據相對應的一個或多個二進制字符串,所述自體數據集中的每個二進制字符串的長度均為L;隨機生成多個二進制字符串,每個隨機生成的二進制字符串的長度均為L,多個所述隨機生成的二進制字符串構成未成熟檢測器集;根據第一預設規則,將所述未成熟檢測器集中的每個二進制字符串分別與所述自體數據集中的每個二進制字符串進行匹配,若當前處理的所述未成熟檢測器集中的二進制字符串與所述自體數據集中的任何一個二進制字符串均不匹配,則將當前處理的所述未成熟檢測器集中的二進制字符串加入到成熟檢測器集中,直至所述成熟檢測器集中的二進制字符串個數達到預設閾值為止。
第二方面,本發明實施例提供了一種入侵檢測方法,應用于物聯網感知層的入侵檢測系統,所述物聯網感知層的入侵檢測系統中預先存儲根據所述成熟檢測器集生成方法獲取的成熟檢測器集,所述方法包括:獲取待檢測數據集,所述待檢測數據集中包括了與物聯網感知層節點獲取的待檢測數據相對應的一個或多個二進制字符串,所述待檢測數據集中的每個二進制字符串的長度均為L;根據第一預設規則,將所述待檢測數據集中的每個二進制字符串分別與所述成熟檢測器集中的各個二進制字符串進行匹配,若當前處理的所述待檢測數據集中的二進制字符串與所述成熟檢測器集中的任何一個二進制字符串匹配成功,則所述待檢測數據集對應的所述待檢測數據為入侵數據。
第三方面,本發明實施例提供了一種成熟檢測器集生成裝置,所述裝置包括:第一處理模塊,用于建立自體數據集,所述自體數據集中包括了與物聯網感知層節點獲取的所有非入侵數據相對應的一個或多個二進制字符串,所述自體數據集中的每個二進制字符串的長度均為L;第二處理模塊,用于隨機生成多個二進制字符串,每個隨機生成的二進制字符串的長度均為L,多個所述隨機生成的二進制字符串構成未成熟檢測器集;第三處理模塊,用于根據第一預設規則,將所述未成熟檢測器集中的每個二進制字符串分別與所述自體數據集中的每個二進制字符串進行匹配,若當前處理的所述未成熟檢測器集中的二進制字符串與所述自體數據集中的任何一個二進制字符串均不匹配,則將當前處理的所述未成熟檢測器集中的二進制字符串加入到成熟檢測器集中,直至所述成熟檢測器集中的二進制字符串個數達到預設閾值為止。
第四方面,本發明實施例提供了一種入侵檢測裝置,應用于物聯網感知層的入侵檢測系統,所述物聯網感知層的入侵檢測系統中預先存儲所述成熟檢測器集,所述裝置包括:第四處理模塊,用于獲取待檢測數據集,所述待檢測數據集中包括了與物聯網感知層節點獲取的待檢測數據相對應的一個或多個二進制字符串,所述待檢測數據集中的每個二進制字符串的長度均為L;第五處理模塊,用于根據第一預設規則,將所述待檢測數據集中的每個二進制字符串分別與所述成熟檢測器集中的各個二進制字符串進行匹配,若當前處理的所述待檢測數據集中的二進制字符串與所述成熟檢測器集中的任何一個二進制字符串匹配成功,則所述待檢測數據集對應的所述待檢測數據為入侵數據。
與現有技術相比,本發明實施例提供的一種成熟檢測器集生成方法、入侵檢測方法及裝置,根據物聯網感知層節點獲取的所有非入侵數據建立了自體數據集,并根據所述自體數據集對隨機生成的未成熟檢測器集進行篩選,獲取了成熟檢測器集,通過將所述物聯網感知層節點獲取到的待檢測數據對應的待檢測數據集中的每個二進制字符串分別與成熟檢測器集中的每個二進制字符串匹配即可檢測出獲取到的數據是否為入侵數據。由于用于檢測入侵的成熟檢測器集中的每個二進制字符串都是隨機產生的,且可以根據預設閾值確定成熟檢測器集中的二進制字符串個數,因此當預設閾值設置合理時,可以檢測到絕大多數新的未知的入侵行為,同時有效的避免了傳統方法中建立準確的入侵模式的困難。
本發明的其他特征和優點將在隨后的說明書闡述,并且,部分地從說明書中變得顯而易見,或者通過實施本發明實施例了解。本發明的目的和其他優點可通過在所寫的說明書、權利要求書、以及附圖中所特別指出的結構來實現和獲得。
附圖說明
為了更清楚地說明本發明實施例的技術方案,下面將對實施例中所需要使用的附圖作簡單地介紹,應當理解,以下附圖僅示出了本發明的某些實施例,因此不應被看作是對范圍的限定,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他相關的附圖。
圖1是本發明實施例提供的服務器的結構示意圖。
圖2是本發明第一實施例提供的一種成熟檢測器集生成方法的流程圖。
圖3是本發明第一實施例提供的一種成熟檢測器集生成方法中步驟S310的一種詳細流程圖。
圖4是本發明第一實施例提供的一種成熟檢測器集生成方法中步驟S320的一種詳細流程圖。
圖5是本發明第二實施例提供的一種入侵檢測方法的流程圖。
圖6是本發明第三實施例提供的一種成熟檢測器集生成裝置500的結構框圖。
圖7是本發明第四實施例提供的一種入侵檢測裝置600的結構框圖。
具體實施方式
下面將結合本發明實施例中附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。通常在此處附圖中描述和示出的本發明實施例的組件可以以各種不同的配置來布置和設計。因此,以下對在附圖中提供的本發明的實施例的詳細描述并非旨在限制要求保護的本發明的范圍,而是僅僅表示本發明的選定實施例。基于本發明的實施例,本領域技術人員在沒有做出創造性勞動的前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
應注意到:相似的標號和字母在下面的附圖中表示類似項,因此,一旦某一項在一個附圖中被定義,則在隨后的附圖中不需要對其進行進一步定義和解釋。同時,在本發明的描述中,術語“第一”、“第二”等僅用于區分描述,而不能理解為指示或暗示相對重要性。
本發明實施例提供的成熟檢測器集生成方法及入侵檢測方法可以應用于服務器中。圖1示出了服務器100的結構示意圖,請參閱圖1,所述服務器100包括存儲器110、處理器120以及網絡模塊130。
存儲器110可用于存儲軟件程序以及模塊,如本發明實施例中的成熟檢測器集生成方法、入侵檢測方法及裝置對應的程序指令/模塊,處理器120通過運行存儲在存儲器110內的軟件程序以及模塊,從而執行各種功能應用以及數據處理,即實現本發明實施例中的成熟檢測器集生成方法及入侵檢測方法。存儲器110可包括高速隨機存儲器,還可包括非易失性存儲器,如一個或者多個磁性存儲裝置、閃存、或者其他非易失性固態存儲器。進一步地,上述存儲器110內的軟件程序以及模塊還可包括:操作系統111以及服務模塊112。其中操作系統111,例如可為LINUX、UNIX、WINDOWS,其可包括各種用于管理系統任務(例如內存管理、存儲設備控制、電源管理等)的軟件組件和/或驅動,并可與各種硬件或軟件組件相互通訊,從而提供其他軟件組件的運行環境。服務模塊112運行在操作系統111的基礎上,并通過操作系統111的網絡服務監聽來自網絡的請求,根據請求完成相應的數據處理,并返回處理結果給客戶端。也就是說,服務模塊112用于向客戶端提供網絡服務。
網絡模塊130用于接收以及發送網絡信號。上述網絡信號可包括無線信號或者有線信號。
可以理解,圖1所示的結構僅為示意,服務器100還可包括比圖1中所示更多或者更少的組件,或者具有與圖1所示不同的配置。圖1中所示的各組件可以采用硬件、軟件或其組合實現。另外,本發明實施例中的服務器還可以包括多個具體不同功能的服務器。
圖2示出了本發明第一實施例提供的一種成熟檢測器集生成方法的流程圖,請參閱圖2,所述方法包括:
步驟S301,建立自體數據集,所述自體數據集中包括了與物聯網感知層節點獲取的所有非入侵數據相對應的一個或多個二進制字符串,所述自體數據集中的每個二進制字符串的長度均為L。
物聯網分為三層,自下向上依次是:感知層、網絡層、應用層。感知層作為信息采集的關鍵部分,是物聯網的核心。其功能為“感知”,即通過傳感網絡獲取環境信息。物聯網感知層節點可以包括RFID裝置、各類傳感器(如紅外傳感器、超聲波傳感器、溫度傳感器、濕度傳感器、速度傳感器等)、圖像捕捉裝置(如攝像頭)、全球定位系統(GPS)、激光掃描儀等,主要功能是識別物體、采集信息。物聯網感知層節點可以通過上述裝置或設備獲取各種所需的數據。
其中,物聯網感知層節點獲取的所有非入侵數據可以是建立物聯網時就預先定義并存儲的一個安全數據集,所述安全數據集中包括了該物聯網感知層節點可能獲取到的所有安全數據;也可以是在保證不存在入侵行為的安全的環境下,物聯網感知層節點在一定時間內獲取到的所有數據。
所述自體數據集中包括的一個或多個二進制字符串,是根據編碼規則,對所述物聯網感知層節點獲取的所有非入侵數據進行相應的編碼得到的。
步驟S302,隨機生成多個二進制字符串,每個隨機生成的二進制字符串的長度均為L,多個所述隨機生成的二進制字符串構成未成熟檢測器集。
步驟S303,根據第一預設規則,將所述未成熟檢測器集中的每個二進制字符串分別與所述自體數據集中的每個二進制字符串進行匹配,若當前處理的所述未成熟檢測器集中的二進制字符串與所述自體數據集中的任何一個二進制字符串均不匹配,則將當前處理的所述未成熟檢測器集中的二進制字符串加入到成熟檢測器集中,直至所述成熟檢測器集中的二進制字符串個數達到預設閾值為止。
其中,所述第一預設規則可以為連續R位匹配規則。連續R位匹配規則為:兩個長度為L的二進制字符串,當且僅當它們在R位或多于R個連續位上有相同字符時,稱它們在連續R位匹配規則下匹配成功。其中R稱為匹配閾值,0≤R≤L。
例如,字符串a=01101001、b=01011100,那么R≤2時,字符串a和字符串b在連續R位匹配規則下匹配成功。
當所述第一預設規則為連續R位匹配規則時,作為一種具體的實施方式,在步驟S303之前,所述方法還可以包括:
步驟S310,根據長度L、第一預設匹配閾值R1以及預設檢測失敗概率Pf計算預設閾值。
作為一種具體的實施方式,請參閱圖3,步驟S310可以包括:
步驟S311,根據所述連續R位匹配規則,確定第一預設匹配閾值R1及預設檢測失敗概率Pf的值。
步驟S312,根據長度L及第一預設匹配閾值R1,獲取所述未成熟檢測器集中的任意一個二進制字符串與所述自體數據集中的任意一個二進制字符串在所述連續R位匹配規則下的第一匹配概率PM,其中
步驟S313,根據所述預設檢測失敗概率Pf及所述第一匹配概率PM,獲取預設閾值NR,其中
下面以具體實施例進行說明。
例如,令Pf=0.1、L=32、R1=8,則根據計算出第一匹配概率PM=0.0508,根據計算出預設閾值NR=44.1652,則獲取預設閾值NR=45。
其中,所述第一預設規則可以為海明距離匹配規則。海明距離匹配規則為:兩個長度為L的二進制字符串,當且僅當它們在R個或多于R個相同的位置上有相同字符時(即兩個字符串的海明距離不大于L-R),稱它們在海明距離匹配規則下匹配成功。
例如,字符串a=01001010、b=10000101,那么R≤2時,字符串a和字符串b在海明距離匹配規則下匹配成功。
當所述第一預設規則為海明距離匹配規則時,作為一種具體的實施方式,在步驟S303之前,所述方法還可以包括:
步驟S320,根據長度L、第二預設匹配長度R2以及預設檢測失敗概率Pf計算預設閾值。
作為一種具體的實施方式,請參閱圖4,步驟S320可以包括:
步驟S321,根據所述海明距離匹配規則,確定第二預設匹配長度R2及預設檢測失敗概率Pf的值。
步驟S322,根據長度L及第二預設匹配長度R2,獲取所述未成熟檢測器集中的任意一個二進制字符串與所述自體數據集中的任意一個二進制字符串在所述海明距離匹配規則下的第二匹配概率PN,其中
步驟S323,根據所述預設檢測失敗概率Pf及所述第二匹配概率PN,獲取預設閾值NR,其中
可以理解的是,所述連續R位匹配規則及海明距離匹配規則并不構成對本發明具體實施方式的限制,所述第一預設規則也可以是其他的匹配規則。此外,當采用不同的匹配規則、參數設置不同時,所述成熟檢測器集可以成功檢測出的入侵數據的覆蓋范圍有所不同,可以根據物聯網感知層入侵系統的需求選擇合適的匹配規則并對相應的參數進行合理的設置。
本發明實施例提供的成熟檢測器集生成方法,根據物聯網感知層節點獲取的所有非入侵數據建立了自體數據集,并根據所述自體數據集對隨機生成的未成熟檢測器集進行篩選,獲取了成熟檢測器集,利用所述成熟檢測器集可以檢測出物聯網感知層獲取的數據是否為入侵數據。由于用于檢測入侵的成熟檢測器集中的每個二進制字符串都是隨機產生的,且可以根據預設閾值確定成熟檢測器集中的二進制字符串個數,因此當預設閾值設置合理時,可以用來檢測絕大多數新的未知的入侵行為。
圖5示出了本發明第二實施例提供的一種入侵檢測方法的流程圖,所述方法應用于物聯網感知層的入侵檢測系統,所述物聯網感知層的入侵檢測系統中預先存儲了根據所述成熟檢測器集生成方法獲取的成熟檢測器集,請參閱圖5,所述方法包括:
步驟S401,獲取待檢測數據集,所述待檢測數據集中包括了與物聯網感知層節點獲取的待檢測數據相對應的一個或多個二進制字符串,所述待檢測數據集中的每個二進制字符串的長度均為L。
其中,所述物聯網感知層節點獲取的待檢測數據可以根據編碼規則,編碼得到一個或多個二進制字符串,這些編碼得到的二進制字符串構成所述待檢測數據集,所述待檢測數據集用于后續的入侵檢測。
步驟S402,根據所述第一預設規則,將所述待檢測數據集中的每個二進制字符串分別與所述成熟檢測器集中的各個二進制字符串進行匹配,若當前處理的所述待檢測數據集中的二進制字符串與所述成熟檢測器集中的任何一個二進制字符串匹配成功,則所述待檢測數據集對應的所述待檢測數據為入侵數據。
其中,所述第一預設規則可以為連續R位匹配規則或海明距離匹配規則,也可以為其他匹配規則,但必須與生成所述成熟檢測器集時采用的匹配規則相同。
若所述待檢測數據集中的所有二進制字符串均處理完畢后,仍未有匹配成功的情況出現,則判定所述待檢測數據集對應的所述待檢測數據為非入侵數據。
本發明實施例提供的入侵檢測方法,由于所述物聯網感知層的入侵檢測系統中預先存儲了根據所述成熟檢測器集生成方法獲取的成熟檢測器集,當物聯網感知層節點獲取到待檢測數據時,將所述待檢測數據對應的待檢測數據集中的每個二進制字符串分別與所述成熟檢測器集中的各個二進制字符串進行匹配,即可判定所述待檢測數據是否為入侵數據。于用于檢測入侵的成熟檢測器集中的每個二進制字符串都是隨機產生的,且可以根據預設閾值確定成熟檢測器集中的二進制字符串個數,因此當預設閾值設置合理時,可以檢測出絕大部分入侵數據。
圖6是本發明第三實施例提供的一種成熟檢測器集生成裝置500的結構框圖,請參閱圖6,所述成熟檢測器集生成裝置500包括第一處理模塊510、第二處理模塊520以及第三處理模塊530。
所述第一處理模塊510,用于建立自體數據集,所述自體數據集中包括了與物聯網感知層節點獲取的所有非入侵數據相對應的一個或多個二進制字符串,所述自體數據集中的每個二進制字符串的長度均為L。
所述第二處理模塊520,用于隨機生成多個二進制字符串,每個隨機生成的二進制字符串的長度均為L,多個所述隨機生成的二進制字符串構成未成熟檢測器集。
所述第三處理模塊530,用于根據第一預設規則,將所述未成熟檢測器集中的每個二進制字符串分別與所述自體數據集中的每個二進制字符串進行匹配,若當前處理的所述未成熟檢測器集中的二進制字符串與所述自體數據集中的任何一個二進制字符串均不匹配,則將當前處理的所述未成熟檢測器集中的二進制字符串加入到成熟檢測器集中,直至所述成熟檢測器集中的二進制字符串個數達到預設閾值為止。
當所述第一預設規則為連續R位匹配規則時,作為一種具體的實施方式,所述裝置還可以包括第六處理模塊,所述第六處理模塊,用于在根據第一預設規則,將所述未成熟檢測器集中的每個二進制字符串分別與所述自體數據集中的每個二進制字符串進行匹配之前,根據長度L、第一預設匹配閾值R1以及預設檢測失敗概率Pf計算預設閾值。
作為一種具體的實施方式,所述第六處理模塊,具體用于根據所述連續R位匹配規則,確定第一預設匹配閾值R1及預設檢測失敗概率Pf的值;根據長度L及第一預設匹配閾值R1,獲取所述未成熟檢測器集中的任意一個二進制字符串與所述自體數據集中的任意一個二進制字符串在所述連續R位匹配規則下的第一匹配概率PM,其中根據所述預設檢測失敗概率Pf及所述第一匹配概率PM,獲取預設閾值NR,其中
當所述第一預設規則為海明距離匹配規則時,作為一種具體的實施方式,所述裝置還可以包括第七處理模塊,所述第七處理模塊,用于在根據第一預設規則,將所述未成熟檢測器集中的每個二進制字符串分別與所述自體數據集中的每個二進制字符串進行匹配之前,根據長度L、第二預設匹配長度R2以及預設檢測失敗概率Pf計算預設閾值。
作為一種具體的實施方式,所述第七處理模塊,具體用于根據所述海明距離匹配規則,確定第二預設匹配長度R2及預設檢測失敗概率Pf的值;根據長度L及第二預設匹配長度R2,獲取所述未成熟檢測器集中的任意一個二進制字符串與所述自體數據集中的任意一個二進制字符串在所述海明距離匹配規則下的第二匹配概率PN,其中根據所述預設檢測失敗概率Pf及所述第二匹配概率PN,獲取預設閾值NR,其中
圖7是本發明第四實施例提供的一種入侵檢測裝置600的結構框圖,所述裝置應用于物聯網感知層的入侵檢測系統,所述物聯網感知層的入侵檢測系統中預先存儲成熟檢測器集,請參閱圖7,所述入侵檢測裝置600包括第四處理模塊610及第五處理模塊620。
所述第四處理模塊610,用于獲取待檢測數據集,所述待檢測數據集中包括了與物聯網感知層節點獲取的待檢測數據相對應的一個或多個二進制字符串,所述待檢測數據集中的每個二進制字符串的長度均為L。
所述第五處理模塊620,用于根據第一預設規則,將所述待檢測數據集中的每個二進制字符串分別與所述成熟檢測器集中的各個二進制字符串進行匹配,若當前處理的所述待檢測數據集中的二進制字符串與所述成熟檢測器集中的任何一個二進制字符串匹配成功,則所述待檢測數據集對應的所述待檢測數據為入侵數據。
以上各模塊可以是由軟件代碼實現,此時,上述的各模塊可存儲于服務器100的存儲器110內。以上各模塊同樣可以由硬件例如集成電路芯片實現。
本發明實施例所提供的成熟檢測器集生成裝置500及入侵檢測裝置600,其實現原理及產生的技術效果和前述方法實施例相同,為簡要描述,裝置實施例部分未提及之處,可參考前述方法實施例中相應內容。
在本申請所提供的幾個實施例中,應該理解到,所揭露的裝置和方法,也可以通過其它的方式實現。以上所描述的裝置實施例僅僅是示意性的,例如,附圖中的流程圖和框圖顯示了根據本發明的多個實施例的裝置、方法和計算機程序產品的可能實現的體系架構、功能和操作。在這點上,流程圖或框圖中的每個方框可以代表一個模塊、程序段或代碼的一部分,所述模塊、程序段或代碼的一部分包含一個或多個用于實現規定的邏輯功能的可執行指令。也應當注意,在有些作為替換的實現方式中,方框中所標注的功能也可以以不同于附圖中所標注的順序發生。例如,兩個連續的方框實際上可以基本并行地執行,它們有時也可以按相反的順序執行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執行規定的功能或動作的專用的基于硬件的系統來實現,或者可以用專用硬件與計算機指令的組合來實現。
另外,在本發明各個實施例中的各功能模塊可以集成在一起形成一個獨立的部分,也可以是各個模塊單獨存在,也可以兩個或兩個以上模塊集成形成一個獨立的部分。
所述功能如果以軟件功能模塊的形式實現并作為獨立的產品銷售或使用時,可以存儲在一個計算機可讀取存儲介質中。基于這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分或者該技術方案的部分可以以軟件產品的形式體現出來,該計算機軟件產品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網絡設備等)執行本發明各個實施例所述方法的全部或部分步驟。而前述的存儲介質包括:U盤、移動硬盤、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質。需要說明的是,在本文中,諸如第一和第二等之類的關系術語僅僅用來將一個實體或者操作與另一個實體或操作區分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關系或者順序。而且,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。
以上所述僅為本發明的優選實施例而已,并不用于限制本發明,對于本領域的技術人員來說,本發明可以有各種更改和變化。凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。因此,本發明的保護范圍應所述以權利要求的保護范圍為準。應注意到:相似的標號和字母在下面的附圖中表示類似項,因此,一旦某一項在一個附圖中被定義,則在隨后的附圖中不需要對其進行進一步定義和解釋。