基於免疫的物聯網分布式入侵檢測方法及系統與流程
2023-05-20 12:19:01 3

本發明涉及物聯網信息安全領域,尤其涉及一種基於免疫的物聯網分布式入侵檢測方法及系統。
背景技術:
隨著物聯網不斷被推廣應用,暴露在無人監控環境下的感知節點也將越來越多,其面臨的安全威脅將日漸凸現,心懷叵測的攻擊者也想方設法利用脆弱的感知節點攻擊物聯網。物聯網安全問題成為了研究人員關注的熱點。物聯網既面臨重放攻擊拒絕服務等傳統攻擊,也面臨其特有的克隆攻擊複製攻擊、冒用攻擊和幹擾攻擊等攻擊。國外學者描述了一種針對遠程控制電爐的物聯網系統的攻擊,這種攻擊可以導致一個地區的電網癱瘓。如果針對物聯網的攻擊檢測問題不能得到有效解決,它將阻礙物聯網的健康發展。因此,目前迫切需要一種能適應物聯網感知節點分布性特點的入侵檢測技術,以解決瞬息萬變的物聯網攻擊環境下的入侵檢測問題。
為解決物聯網環境下的入侵檢測難題,mirowski根據物品標籤的過去訪問頻率提出了一種入侵檢測方法,該檢測方法只針對標籤宿主變化的物聯網攻擊;yang提出了無線傳感網節點的分布式入侵檢測方法,但檢測的對象也僅局限於有限的感知節點。但大部分研究只給出了物聯網入侵檢測的基本概念或簡單構想,主要思想基於傳統的網際網路入侵檢測技術,檢測攻擊的能力具有很大的局限性,物聯網攻擊稍作變化即可騙過傳統的入侵檢測系統,從而對物聯網系統形成巨大的威脅。
中國專利公開號cn101478534中所述的基於人工免疫原理的網絡異常檢測方法,首先進行訓練抗原數據收集,然後是人工免疫系統學習,最後是對網絡異常檢測;cn1777119中所述的方法首先獲取主機審計數據和網絡數據包數據的檢測數據源並將其特徵格式化,接著產生檢測器集合,最後通過檢測器集合進行異常檢測;中國專利公開號cn101299691b中所述的一種基於人工免疫放入動態網格入侵檢測方法,首先得到演化成熟的檢測器,然後在人工免疫機制的協調下,動態處理網格環境中的入侵檢測問題,以上三個專利中都是通過先學習再檢測的方法,難以實現對複雜的網絡形勢的適應,以及高速網絡中快速、實時檢測的需要,現如今,物聯網中面臨的無線傳感網絡環境千變萬化,如果傳統靜態入侵檢測技術的檢測措施仍一成不變,並不能適應物聯網網絡環境的變化。
技術實現要素:
本發明針對現有技術中存在的問題和不足,提出一種基於免疫的物聯網分布式入侵檢測方法及系統,構建了一種基於免疫的物聯網分布式入侵檢測模型,建立多個本地子模型同時分布式運行以對物聯網環境下面臨的攻擊進行全面、實時地感知,通過中央子模型採用人工免疫系統的種痘機制實現自學習去適應物聯網的本地網絡環境,通過先學習、後檢測、再學習的方式提升了物聯網的全局入侵檢測能力。
為了實現上述目的,本發明採用以下技術方案:
本發明提供了一種基於免疫的物聯網分布式入侵檢測方法,包括以下步驟:
1)構建一種基於免疫的物聯網分布式入侵檢測整體模型,包括一個中央子模型和至少三個相同的本地子模型;本地子模型以旁路的方式接入物聯網網關,各本地子模型分布式獨立地運行,由中央子模型對其統一管理和協調,本地子模型和中央子模型共同構成基於免疫的物聯網分布式入侵檢測模型的整體模型;
2)建立本地子模型
本地子模型包括檢測器和抗原,所述的抗原為物聯網感知層數據的數據特徵,抗原分為自體和非自體,所述的自體為正常數據的數據特徵,所述的非自體為攻擊性數據的數據特徵,所述的檢測器為包含抗原數據信息的集合,用於檢測抗原;檢測器對抗原進行分類,分成自體和非自體;所述的檢測器分為非成熟檢測器,成熟檢測器和記憶檢測器;
2.1)將kddcup99數據集作為物聯網感知層的初始攻擊性數據集,將該初始攻擊性數據集初始化為記憶檢測器存入中央子模型中的記憶檢測器庫中,並通過系統隨機生成非成熟檢測器;
2.2)收集物聯網安全環境下的網絡活動數據並將其轉換為自體;
2.3)捕獲通過物聯網網關的數據報文,將其轉換為抗原;
2.4)通過抗原對非成熟檢測器進行耐受訓練,所述的耐受訓練為通過非成熟檢測器對抗原進行分類,判斷是否正確區分自體和非自體,如果不能,則非成熟檢測器死亡,如果能則非成熟檢測器成為成熟檢測器,並激活確定為新的記憶檢測器;
3)建立中央子模型
3.1)接收疫苗
將新的記憶檢測器作為疫苗,當本地子模型經過耐受訓練出新的記憶檢測器後,將該記憶檢測器封裝為數據包,設新的記憶檢測器為r,數據包包含新的記憶檢測器r的信息,將數據包發送給中央子模型,中央子模型在收到數據包中新的記憶檢測器r信息後,將其存入到中央子模型中的記憶檢測庫中;
3.2)封裝疫苗
每當接收到新的記憶檢測器r後,中央子模型將新的記憶檢測器r封裝為用於種痘的疫苗v:
v=encrypt(hash(packetr),keypri)+encrypt(packetr,keypri)
其中,encrypt為公鑰加密函數;keypri為中央子模型的私鑰;hash為hash函數;packetr為新的記憶檢測器信息;「+」為字符串連接符;
3.3)種痘
中央子模型封裝的疫苗v含有本地子模型訓練出的新的記憶檢測器r的信息,系統將其發給所有的本地子模型,各本地子模型從疫苗v中獲取新的記憶檢測器r的信息,用於本地物聯網內的物聯網攻擊檢測。
優選地,所述的步驟2.3,具體包括:
抽取物聯網感知層數據報文的主要特徵信息,將其轉換成長度為l的二進位串,定義數據報文的特徵信息的狀態空間為u={0,1}l;將物聯網感知層數據報文的特徵信息轉換成免疫環境下的抗原ag;
定義抗原集合ag為:
ag={ag|ag∈u,|ag|=l,ag=getsig(packet)},且
其中,getsig為感知層數據特徵信息的提取及轉換函數,packet表示捕獲通過物聯網網關的數據報文;getsig(packet)表示提取數據報文packet的特徵信息並將其轉換為二進位串形式的抗原。
優選地,所述的步驟3.2,具體包括:各本地子模型從疫苗v中獲取新的記憶檢測器r的信息,疫苗v中新的記憶檢測器r,在各本地子模型中進行耐受訓練後,用於本地物聯網的攻擊檢測。
本發明還提供了一種基於免疫的物聯網分布式入侵檢測方法的一種基於免疫的物聯網分布式入侵檢測系統,包括:
整體模型模塊,用於構建一種基於免疫的物聯網分布式入侵檢測整體模型,包括一個中央子模型和至少三個相同的本地子模型;
本地子模型模塊,用於建立本地子模型;本地子模型包括檢測器和抗原,所述的抗原為物聯網感知層數據的數據特徵,抗原分為自體和非自體,所述的自體為正常數據的數據特徵,所述的非自體為攻擊性數據的數據特徵,所述的檢測器為包含抗原數據信息的集合,用於檢測抗原;檢測器對抗原進行分類,分成自體和非自體;所述的檢測器分為非成熟檢測器,成熟檢測器和記憶檢測器;
中央子模型模塊,用於建立中央子模型;
所述的本地子模型模塊還包括:
初始化模塊,用於將kddcup99數據集作為物聯網感知層的初始攻擊性數據集,將該初始攻擊性數據集初始化為記憶檢測器存入中央子模型中的記憶檢測器庫中,並通過系統隨機生成非成熟檢測器;
自體轉換模塊,用於收集物聯網安全環境下的網絡活動數據並將其轉換為自體;
抗原轉換模塊,用於捕獲通過物聯網網關的數據報文,將其轉換為抗原;
記憶檢測器生成模塊,用於通過抗原對非成熟檢測器進行耐受訓練,所述的耐受訓練為通過非成熟檢測器對抗原進行分類,判斷是否正確區分自體和非自體,如果不能,則非成熟檢測器死亡,如果能則非成熟檢測器成為成熟檢測器,並激活確定為新的記憶檢測器;
所述的中央子模型模塊還包括:
接收疫苗模塊,用於將記憶檢測器作為疫苗,當本地子模型經過耐受訓練出新的記憶檢測器後,將該記憶檢測器封裝為數據包,設新的記憶檢測器為r,數據包包含新的記憶檢測器r的信息,將數據包發送給中央子模型,中央子模型在接收到數據包中新的記憶檢測器r的信息後,將其存入到中央子模型中的記憶檢測庫中;
封裝疫苗模塊,用於每當接收到新的記憶檢測器r後,中央子模型將新的記憶檢測器r封裝為用於種痘的疫苗v:
v=encrypt(hash(packetr),keypri)+encrypt(packetr,keypri)
其中,encrypt為公鑰加密函數;keypri為中央子模型的私鑰;hash為hash函數;packetr為新的記憶檢測器信息;「+」為字符串連接符;
種痘模塊,用於中央子模型封裝的疫苗v含有本地子模型訓練出的新的記憶檢測器r的信息,系統將其發給所有的本地子模型,各本地子模型從疫苗中獲取新的記憶檢測器r信息,用於本地物聯網內的物聯網攻擊檢測。
本發明的有益效果:
1.引入了人工免疫系統中免疫要素的動態演化和種痘機制,採用了分布式、並行式的手段檢測物聯網面臨的攻擊,本地子模型通過訓練對網絡的自適應和自學習,產生了高質量的檢測物聯網攻擊的學習成果,並在物聯網全網範圍內共享,有效降低了各本地子模型的訓練成本,提高了本地子模型適應本地物聯網環境能力,並且大力提升了物聯網全網的入侵檢測性能;
2.採用分布式機制構建整體模型,使物聯網數據分散到多個子模型中進行處理,提高大規模數據的處理效率,而且避免了由於單點故障引起整體系統的癱瘓,很大程度上提高了整體系統在千變萬化的物聯網環境中的生存能力;
3.模擬免疫系統中免疫細胞識別有害抗原的機制,利用仿生學原理模擬物聯網環境下的免疫模型,讓入侵檢測要素根據物聯網環境進行動態地演化,包括非成熟檢測器、成熟檢測器和記憶檢測器三種動態過程,物聯網環境下的入侵檢測具有自適應性,大大提高了局部物聯網環境中入侵檢測的準確率和效率。
附圖說明
圖1為本發明基於免疫的物聯網分布式入侵檢測方法的流程示意圖。
圖2為本發明基於免疫的物聯網分布式入侵檢測系統的結構示意圖。
圖3為本發明基於免疫的物聯網分布式入侵檢測方法及系統的整體模型的架構圖。
圖4為本發明基於免疫的物聯網分布式入侵檢測方法及系統的本地子模型的部署結構圖。
具體實施方式
下面結合附圖和實施例,對本發明的具體實施方式作進一步詳細描述:
實施例1:一種基於免疫的物聯網分布式入侵檢測方法,具體包括以下步驟:
步驟101:構建一種基於免疫的物聯網分布式入侵檢測整體模型,包括一個中央子模型和至少三個相同的本地子模型;本地子模型以旁路的方式接入物聯網網關,各本地子模型分布式獨立地運行,由中央子模型對其統一管理和協調,本地子模型和中央子模型共同構成基於免疫的物聯網分布式入侵檢測模型的整體模型。
步驟102:建立本地子模型:本地子模型包括檢測器和抗原,所述的抗原為物聯網感知層數據的數據特徵,抗原分為自體和非自體,所述的自體為正常數據的數據特徵,所述的非自體為攻擊性數據的數據特徵,所述的檢測器為包含抗原數據信息的集合,用於檢測抗原;檢測器對抗原進行分類,分成自體和非自體;所述的檢測器分為非成熟檢測器,成熟檢測器和記憶檢測器。
步驟103:將kddcup99數據集作為物聯網感知層的初始攻擊性數據集,將該初始攻擊性數據集初始化為記憶檢測器存入中央子模型中的記憶檢測器庫中,並通過系統隨機生成非成熟檢測器。
步驟104:收集物聯網安全環境下的網絡活動數據並將其轉換為自體。
步驟105:捕獲通過物聯網網關的數據報文,將其轉換為抗原。
步驟106:通過抗原對非成熟檢測器進行耐受訓練,所述的耐受訓練為通過非成熟檢測器對抗原進行分類,判斷是否正確區分自體和非自體,如果不能,則非成熟檢測器死亡,如果能則非成熟檢測器成為成熟檢測器,並激活確定為新的記憶檢測器。
步驟107:建立中央子模型。
步驟108:接收疫苗:將新的記憶檢測器作為疫苗,當本地子模型經過耐受訓練出新的記憶檢測器後,將該記憶檢測器封裝為數據包,設新的記憶檢測器為r,數據包包含新的記憶檢測器r的信息,將數據包發送給中央子模型,中央子模型在收到數據包中新的記憶檢測器r信息後,將其存入到中央子模型中的記憶檢測庫中。
步驟109:封裝疫苗:每當接收到新的記憶檢測器r後,中央子模型將新的記憶檢測器r封裝為用於種痘的疫苗v:
v=encrypt(hash(packetr),keypri)+encrypt(packetr,keypri)
其中,encrypt為公鑰加密函數;keypri為中央子模型的私鑰;hash為hash函數;packert為新的記憶檢測器信息;「+」為字符串連接符;
步驟110:種痘:中央子模型封裝的疫苗v含有本地子模型訓練出的新的記憶檢測器r信息,系統將其發給所有的本地子模型,各本地子模型從疫苗v中獲取新的記憶檢測器r的信息,用於本地物聯網內的物聯網攻擊檢測。
實施例2:另一種基於免疫的物聯網分布式入侵檢測方法,具體包括以下步驟:
步驟201:構建一種基於免疫的物聯網分布式入侵檢測整體模型,包括一個中央子模型和至少三個相同的本地子模型;本地子模型以旁路的方式接入物聯網網關,各本地子模型分布式獨立地運行,由中央子模型對其統一管理和協調,本地子模型和中央子模型共同構成基於免疫的物聯網分布式入侵檢測模型的整體模型。
步驟202:建立本地子模型:本地子模型包括檢測器和抗原,所述的抗原為物聯網感知層數據的數據特徵,抗原分為自體和非自體,所述的自體為正常數據的數據特徵,所述的非自體為攻擊性數據的數據特徵,所述的檢測器為包含抗原數據信息的集合,用於檢測抗原;檢測器對抗原進行分類,分成自體和非自體;所述的檢測器分為非成熟檢測器,成熟檢測器和記憶檢測器。
步驟203:將kddcup99數據集作為物聯網感知層的初始攻擊性數據集,將該初始攻擊性數據集初始化為記憶檢測器存入中央子模型中的記憶檢測器庫中,並通過系統隨機生成非成熟檢測器。
步驟204:收集物聯網安全環境下的網絡活動數據並將其轉換為自體。
步驟205:捕獲通過物聯網網關的數據報文,將其轉換為抗原;抽取物聯網感知層數據報文的主要特徵信息,將其轉換成長度為l的二進位串,定義數據報文的特徵信息的狀態空間為;將物聯網感知層數據報文的特徵信息轉換成免疫環境下的抗原ag;
定義抗原集合ag為:
ag={ag|ag∈u,|ag|=l,ag=getsig(packet)},且
其中,getsig為感知層數據特徵信息的提取及轉換函數,packet表示捕獲通過物聯網網關的數據報文;getsig(packet)表示提取數據報文packet的特徵信息並將其轉換為二進位串形式的抗原。
步驟206:通過抗原對非成熟檢測器進行耐受訓練,所述的耐受訓練為通過非成熟檢測器對抗原進行分類,判斷是否正確區分自體和非自體,如果不能,則非成熟檢測器死亡,如果能則非成熟檢測器成為成熟檢測器,並激活確定為新的記憶檢測器。
步驟207:建立中央子模型。
步驟208:接收疫苗:將新的記憶檢測器作為疫苗,當本地子模型經過耐受訓練出新的記憶檢測器後,將該記憶檢測器封裝為數據包,設新的記憶檢測器為r,數據包包含新的記憶檢測器r的信息,將數據包發送給中央子模型,中央子模型在收到數據包中新的記憶檢測器r信息後,將其存入到中央子模型中的記憶檢測庫中。
步驟209:封裝疫苗:每當接收到新的記憶檢測器r後,中央子模型將新的記憶檢測器r封裝為用於種痘的疫苗v:
v=encrypt(hash(packetr),keypri)+encrypt(packetr,keypri)
其中,encrypt為公鑰加密函數;keypri為中央子模型的私鑰;hash為hash函數;packetr為新的記憶檢測器信息;「+」為字符串連接符。
步驟211:種痘:中央子模型封裝的疫苗v含有本地子模型訓練出的新的記憶檢測器r的信息,系統將其發給所有的本地子模型,各本地子模型從疫苗v中獲取新的記憶檢測器r的信息,用於本地物聯網內的物聯網攻擊檢測。
作為一種可實施的方式,本發明根據基於免疫的物聯網分布式入侵檢測方法的整體模型研究出一套網絡入侵防禦系統,在構建的網絡中模擬物聯網攻擊環境,搭建仿真軟體環境,並進行模擬實驗,然後利用網絡管理中心龐大的校園網絡搭建測試平臺,測試該系統的運行情況,並評估該系統的技術指標;通過測試得到該網絡入侵防禦系統的主要技術指標為:1)網絡攻擊攔截速率>2.2gbps;
2)報文轉發延遲180萬;
4)每秒新建會話數>22000sessions/sec;
5)系統的cpu使用率<10%;
通過該系統的主要技術指標,得出該系統應用效果良好,能夠保證一個更加安全、穩定與快速的內部網,保障系統安全、信息安全與技術安全,同時以這些主要技術指標為依據,能夠進一步地完善系統的性能。
實施例3:一種基於免疫的物聯網分布式入侵檢測系統,包括:
整體模型模塊301,本地子模型模塊和中央子模型模塊,所述的本地子模型模塊包括初始化模塊302、自體轉換模塊303、抗原轉換模塊304、記憶檢測器生成模塊305;所述的中央子模型模塊包括接收疫苗模塊306,封裝疫苗模塊307,種痘模塊308;整體模型模塊301依次連接初始化模塊302、自體轉換模塊303、抗原轉換模塊304、記憶檢測器生成模塊305、接收疫苗模塊306,封裝疫苗模塊307,種痘模塊308。
整體模型模塊301,用於構建一種基於免疫的物聯網分布式入侵檢測整體模型,包括一個中央子模型和至少三個相同的本地子模型;本地子模型模塊,用於構建本地子模型;本地子模型包括檢測器和抗原,所述的抗原為物聯網感知層數據的數據特徵,抗原分為自體和非自體,所述的自體為正常數據的數據特徵,所述的非自體為攻擊性數據的數據特徵,所述的檢測器為包含抗原數據信息的集合,用於檢測抗原;檢測器對抗原進行分類,分成自體和非自體;所述的檢測器分為非成熟檢測器,成熟檢測器和記憶檢測器。中央子模型模塊,用於構建中央子模型;初始化模塊302,用於將kddcup99數據集作為物聯網感知層的初始攻擊性數據集,將該初始攻擊性數據集初始化為記憶檢測器存入中央子模型中的記憶檢測器庫中,並通過系統隨機生成非成熟檢測器;自體轉換模塊303,用於收集物聯網安全環境下的網絡活動數據並將其轉換為自體;抗原轉換模塊304,用於捕獲通過物聯網網關的數據報文,將其轉換為抗原;記憶檢測器生成模塊305,用於通過抗原對非成熟檢測器進行耐受訓練,所述的耐受訓練為通過非成熟檢測器對抗原進行分類,判斷是否正確區分自體和非自體,如果不能,則非成熟檢測器死亡,如果能則非成熟檢測器成為成熟檢測器,並激活確定為新的記憶檢測器;接收疫苗模塊306,用於將新的記憶檢測器作為疫苗,當本地子模型經過耐受訓練出新的記憶檢測器後,將該記憶檢測器封裝為數據包,設新的記憶檢測器為r,數據包包含記憶檢測器r的信息,將數據包發送給中央子模型,中央子模型在收到數據包中新的記憶檢測器r的信息後,將其存入到中央子模型中的記憶檢測庫中;封裝疫苗模塊307,用於每當接收到新的記憶檢測器r後,中央子模型將新的記憶檢測器r封裝為用於種痘的疫苗v:
v=encrypt(hash(packetr),keypri)+encrypt(packetr,keypri)
其中,encrypt為公鑰加密函數;keypri為中央子模型的私鑰;hash為hash函數;packetr為新的記憶檢測器信息;「+」為字符串連接符;種痘模塊308,用於中央子模型封裝的疫苗v含有本地子模型訓練出的新的記憶檢測器r的信息,系統將其發給所有的本地子模型,各本地子模型從疫苗v中獲取新的記憶檢測器r的信息,用於本地物聯網內的物聯網攻擊檢測。
以上所示僅是本發明的優選實施方式,應當指出,對於本技術領域的普通技術人員來說,在不脫離本發明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本發明的保護範圍。