合尼古力·吾買爾
(新疆交通職業技術學院,新疆 烏魯木齊 831401)
ACO 結合 P2P 信任模型的無線傳感器網絡 Sinkhole 攻擊檢測
合尼古力·吾買爾
(新疆交通職業技術學院,新疆 烏魯木齊 831401)
針 對 無 線 傳 感 器 網 絡 中 的 Sinkhole 攻 擊 問 題 , 提 出 了 一 種 基 于 蟻 群 優 化 (ACO) 結 合 P2P 信 任 模 型 的Sinkhole 攻 擊 檢 測 (P-ACO) 算 法 。 首 先 , 使 用 蟻 群 優 化 算 法 檢 測 路 由 中 是 否 存 在 Sinkhole 攻 擊 , 并 生 成 傳 感 器節點的警報信息;然后,利用布爾表達式進化標記生成算法為群組警報節點分發密鑰,并使用密鑰標記可疑節點;最后,計算可疑節點列表中各節點的信任值,將信任值低于預設閾值的節點視為攻擊節點。 分析表明,相比二分查找算法與基于規則匹配的神經網絡(RMNN)算法,該算法在匹配過程中需要更少的匹配搜索次數,提高 了 算 法 執 行 效 率 。 實 驗 結 果 顯 示 , 相 比 RMNN 算 法 , 該 算 法 可 以 更 加 準 確 地 檢 測 Sinkhole 攻 擊 。
無 線 傳 感 器 網 絡 ;Sinkhole 攻 擊 ; 二 分 查 找 算 法 ; 蟻 群 優 化 ;P2P 信 任 模 型
目 前 ,無 線 傳 感 器 網 絡 (wireless sensor network,WSN)[1]已在許多領域得到廣泛應用。若不具備數據機密性和完整性 ,則 WSN 的 應 用 都 毫 無 意 義[2],例 如 ,Sinkhole 攻 擊[3]給WSN 應 用 帶 來 了 較 大 的 挑 戰 。參 考 文 獻 [4]提 出 了 一 種 基于 規 則 匹 配 的 神 經 網 絡 (rules matching-based neural network,RMNN)算 法 ,可 有 效 檢 測 Sinkhole 攻 擊 ,然 而 , 該算法中每個警報節點存儲的密鑰數量依賴于網絡中警報節點的數量,因此增加了通信成本和內存開銷。
本 文 提 出 了 一 種 結 合 蟻 群 優 化 (ant colony optimization,ACO) 和 P2P 信 任 模 型 的 攻 擊 檢 測 (P-ACO)算 法 ,用 來 檢測 WSN 中 的 Sinkhole 攻 擊 ,并 確 定 攻 擊 節 點 。使 用 基 于 蟻群優化的攻擊檢測算法生成傳感器節點的警報信息,在規則庫中定義鏈路質量,傳感器節點可根據規則庫生成基于節點 ID 的警報信息,構建可疑節點列表,同時利用 P2P 信任模型計算可疑節點的信任度,從而確定攻擊節點。實驗結果驗證了本文算法的有效性及可靠性。
根 據 Sinkhole 攻 擊 檢 測 規 則[5],每 個 傳 感 器 節 點 的 本地檢測引擎都存在一個規則庫,規則庫存儲了相鄰節點的ID 和每個 節點的鏈 路 質量,鏈 路 質量通過 本 地 數據分組監聽模塊監聽相鄰節點間的通信獲得。圖 1顯示了攻擊檢測 系 統 模 型 ,用 來 檢 測 Sinkhole 攻 擊 。

圖1 攻擊檢測系統
從 圖 1 可 以 看 出 ,利 用 協 同 檢 測引 擎 警 報 節 點 ,并 通過 節 點 相 互 通 信 來 交 換 可 疑 節 點 名 單 的 ID,隨 后 使 用 ID檢測攻擊者。利用具有最小 布爾表達式 的 ACO 算法給警報節點分配密鑰,用來標記可疑列表。然 后執行 P2P 信任模型計算可疑節點的信任值,將信任值低于閾值的節點作為攻擊節點,并將該傳感器節點從網絡中移除。
本 文 提出的 P-ACO 算法主 要 分 為 3 步:檢測 攻 擊 ,通過 ACO 算 法 檢 測 路 由 中 的 Sinkhole 攻 擊 ;標 記 可 疑 節 點 ,如存在攻擊,利用布爾表達式進化標記生成算法為群組警報節點分發密鑰,并使用密鑰標記可疑節點,獲得可疑節點列表;識別攻擊節點,通過 P2P 信任模型計算可疑節點信任值,從而確定攻擊節點。
ACO 檢測系統模型如圖 2 所示,通過系統中的蟻 群協同合作來獲取最優解,蟻群中的螞蟻移動時會留下信息素,用來和其他螞蟻進行信息交換。蟻群智能代理有正位置和負 位 置 之 分 ,正 值 初 始 化 為 0,負 值 初 始 化為 節 點 ID數加1。正位置和負位置表示規則庫搜索的位置范圍。蟻群智能代理使用從正位置和負位置選擇的隨機數存儲信息素。蟻群智能代理表示節點 ID 在規則庫中的位置,該位置用于與路由更新數據分組發送端進行比較。

圖2 蟻群系統模型
為了確定 路由更新數據分組發送端的節點 ID 是否 與規則庫中的節點 ID 匹配,計算每個蟻群智能代理的能量 。蟻 群 智 能 代 理 通 過 比 較 規 則 庫 中 的 節 點 ID(該 節 點 ID 用信息素表示)和路由更新數據分組發送端節點 ID 來計算能量值。
若兩者的 ID 匹配,則能量值為 0 且停止該過程。若路由 更 新 數 據 分 組 節 點 ID 小 于 規 則 庫 中 的 節 點 ID,則 能 量值為1且負位置的值被信息素代替,隨后針對正位置和負 位 置 的 存 儲 值 ,用 二 分 查 找[6]匹 配 路 由 更 新 數 據 分 組節 點 ID 和 規 則 庫 中 的 節 點 ID。 如 果 輸 入 數 據 分 組 節 點ID 大 于 用 信 息 素 表 示 的 節 點 ID, 則 能 量 值 為 +1 且 正 位置的值被信息素代替,隨后針對正位置和負位置的存儲值 ,用 二 分 查 找 匹 配 路由更新數據分組節點 ID 和 規 則庫 中 的 節 點 ID。 如 果 路 由 更 新 數 據 分 組 發 送 端 節 點 ID與 規 則 庫 中 的 節 點 ID 不 匹 配 , 則 存 在 Sinkhole 攻 擊 ,同時 節 點 生 成 警 報 。如 果 兩 者 ID 匹配,則對應的 鏈路 質 量可 信 。算法 1 和 算法 2 分 別 顯 示了二 分 查 找 算 法 和 ACO算法的偽代碼。
設 Ai表 示 蟻 群 智 能 代 理 ,S(Nij)為 第 i個 智 能 代 理 規 則庫 中 第 j個 位 置 的 節 點 ID,該 節 點 用 于 后 續 比 較 ,i=1,2,…,代理總數,j=1,2,…,規則集中的規則總數。S(P)表示更新數據分組發送端的節點 ID。根據式(1)計算能量值:

算法1 二分查找算法

算法 2 ACO 算法

分別初始化正位置和負位置值為 0 以及節點 ID 為+1;
選擇用信息素表示規則位置的蟻群智能代理
根據能量函數計算蟻群智能代理 Ai的能量


4.1 警報節點表示
使用二叉樹表示警報節點且通過節點標識符識別節點。屬 于 群 組 的 警 報 節 點 表 示 為 {N1,N2,N3,… ,NN1},其 中 ,N1=2n,N1表示群組大小,n 表示群組中每個警報節點的二進制節點 標 識 符 (NID)的 長 度 。每 個 警 報 節 點 N 的 NID用 二 進 制 形式表示,n 個比特位 ID NID(N)=KnKn-1Kn-2,…,K1,其中,Ki要么為 0要么為 1。NID的布爾隸屬 度函數 m()用于確定群 組警報節點的 存 在 。如 果 N(KnKn-1Kn-2,… ,K1)=1,則 字 符 為 NID(KnKn-1Kn-2,…,K1)的節點為群組警報節點;如果 N(KnKn-1Kn-2,…,K1)=0,則字 符 為 NID(KnKn-1Kn-2,… ,K1)的 節 點 不 為 群 組 警 報 節 點 。
群組的每個警報節點都有群組密鑰 SK 和輔助密鑰集k1,k2,… ,kn,其 中 ,如 果 Ki=1,ki取 ki值 ;如 果 Ki=0,ki取 kij值 。輔 助 密 鑰 對 應 于 NID中 的 二 進 制 位 。圖 3 顯 示 了 大 小 為4的群組中警報節點的密鑰分布。群組中警報節點以真值表的形式表示,并使用最小布爾表達式尋找最小數量密鑰來加密群組警報節點的群組密鑰。表1顯示了群組的真值,可以看出,警報節點 N1、N2、N3在群組中存在。

圖3 群組警報節點的密鑰分布
4.2 標記可疑節點的密鑰分布
利 用 蟻 群 優 化 布 爾 表 達 式 進 化 標 記 生 成 (ant colony optimization Boolean expression evolvesign generation,ABXES)算 法[7]為 群 組 警 報 節 點 分 發 密 鑰 。群 組 警 報 節 點 通過 真 值 表 表 示 。警 報 節 點 標 識 符 (NID)為 輸 入 ,輸 出 值 為 1表示群組中存在警報節點,輸出值為 0表示群組中不存在警報節點。

表1 群組警報節點的真值
通過蟻群智能代理協作獲取最優解決方案,每個蟻群智能代理通過信息素獲取最優解。每個布爾表達式作為蟻群智能代理,該智能代理由“或(OR)”操作聯合各自位置的 信 息 素 組 成[8,9]。圖 4 描 述 了 在 兩 個 變 量 情 況 下 智 能 代 理的表示方法。例如,在兩個變量情況下,擁有信息素{1,4}的蟻群智能代理表示在位置 1和 4,使用 OR 操作聯合對應位 置 表 達 式 K1和 表 達 式 K2'。 因 此 ,信 息 素 {1,4}表 示 布 爾表達式 K1+K2'。

圖4 2個變量情況下蟻群智能代理的表示方法
對有 n個變量的函數,智能代理表達式的最大數量為3n-1。一般情況下,對 有 n 個 變 量 的 表 達 式 ,表達式的數量和針對一個蟻群智能代理的位置數量定義如下:

為了找到智能代理最優解,需要計算智能代理的能量值,通過輸出向量的比特位表示,通過布爾表達式計算該輸出向量。設 Ai為蟻群智能代理,式(3)和式(4)分別給出了真值表輸入向量和智能代理輸出向量,利用式(5)計算代理能量。

其 中 ,count(wk=zk)為 實 例 的 數 量 ,wk與 zk等 價 。代 理信息素的能量值與最大群組對應的最小布爾表達式值相等。
最小布爾表達式獲取的最小值表示分發給群組警報節點的輔助密鑰的數量最小。使用每個警報節點的輔助密鑰加密群密鑰且分發給群組警報節點。算法 3顯示了ABXES 算法偽代碼。
算法 3 ABXES 算法偽代碼
ABXES()
K=0;
隨機選擇蟻群智能代理,表示信息素;
根據能量計算式計算每個智能代理 Ai能量;
if(代 理 能 量 等 于 群 組 警 報 節 點 最 大 數 量 )then
return(代理的信息素表示布爾表達式);
else
repeat
通過改變表達式更新信息素且計算代理能量值;
若當前代理能量值≥以前路由代理能量值,選擇能量值大的代理信息素;
if (代 理 能 量 等 于 群 組 警 報 節 點 的 最 大 數 量 )then
return(代理的信息素表示布爾表達式);
end if
until (能 量 值 等 于 群 組 警 報 節 點 的 最 大 數 量 )
end if
end ABXES
本文利用 P2P 信任模型計算可疑節點的信任值,從 而確定攻擊節點。P2P 網絡信任模型常用來評估節點的可信度[10]。其 通 常 根 據 5 個 因 素 來 計 算 節 點 的 可 信 度[11]:鄰 居 節點對該節點的評價;給出評價的鄰居節點的可信度;節點交易次數;與交易相關的因素;與交易相關的社會因素。節點u的信任值的計算式為:

其 中 ,T(u)為 節 點 u 的 信 任 值 ,S(u,i)為 節 點 u 第 i次交 易 所 獲 得 的 評 價 ,p(u,i)為 與 節 點 u 進 行 第 i次 交 易 的 鄰居 節 點 ,CR(p(u,i)為 節 點 p(u,i)對 節 點 u 的 評 價 的 可 信 度 ,TF(u,i)為在節點 u 的第 i次 交 易 中 ,與 交 易 相 關 的 因 素 (交易時間和交易額)對信任值的影響,α為交易因素的權重因子,β 為社 會因素的權重因子,CF(u)表示與 交易相關的社會因素(獎勵機制)所產生的影響。
由于惡意節點可能會對與其交易的節點給出一個虛假評價,例如,惡意節點可能會對一個正常節點給出低信任度評價,需要對評價的可信度進行評估。P2P 信任模型中 通 常 有 2 種 對 評 價 進 行 可 信 度 評 估 的 機 制[12]:基 于 節 點的可信度;基于評價的相似度度量(PSM)。
本文信任模型 中 利 用 PSM 機 制 對鄰居節 點 給 出的評價進行可信度評估。PSM 機制中,考慮了與節 點 u 進行交易的2個節點所給出的評價,并計算這 2個評價的相似度 ,相 似 度 越 高 ,表 明 該 評 價 可 信 度 越 高[13,14]。可 信 度 計 算式如式(7)所示。

其 中 ,Sim(p(u,i),w)為 節 點 w 和 節 點 p(u,i)給 出 評 價 的相似性,如式(8)所示。

其 中 ,IJS(p(u,i),w)為 節 點 w 和 節 點 p(u,i)與 節 點 u 的交 易 集 合 ,S(p(u,i),w)表 示 節 點 w 和 節 點 p(u,i)給 出 的 評 價向量,為兩個評價向量的標準差。
群組中每個警報節點利用它們的輔助密鑰解密群組密鑰,并將結果存儲在內存中。根據可疑節點 ID 和群組密鑰生成消息認證代碼。警報節點使用群組密鑰標記消息,并將結果傳輸給群組中的其他警報節點。接收到消息認證代碼的警報節點獲取了群組密鑰,通過比較內存中存儲的群組密鑰來確定可疑節點。根據 P2P 信任模型,計算可疑節點的信任值,將低于預設信任閾值的節點認定為攻擊節點。
為了評估本文算法的有效性和優越性,利用基于OMNet++的 無 線 傳 感 器 網 絡 仿 真 器 Castalia 進 行 了 大 量 仿真[15],設 置 節 點 分 散 在 50 m×50 m 的 正 方 形 區 域 內 ,節 點傳送所有數據分組到位于區域中央的基站。仿真節點配置如 圖 5 所 示 ,圖 5(a)為 無 攻 擊 時 的 網 絡 結 構 ,而 圖 5(b)為Sinkhole 攻 擊 下 的 網 絡 結 構 ,小 圓 圈 代 表 傳 感 器 節 點 ,兩 個節點之間的連接代表數據分組傳輸。將本文算法的性能與幾 種 現 有 的 Sinkhole 攻 擊 檢 測 算 法 進 行 比 較 。

圖5 兩 種 情 況 下的 WSN 拓撲結構
6.1 匹配搜索次數比較
將本文算法的匹配搜索次數與對分查算法、RMNN 算法 進 行 比 較 ,WSN 中 傳 感 器 節 點 分 別 取 100 、1 000 、10 000、100 000,記 錄 各 個 算 法 的 最 佳 結 果 ,具 體 見 表 2。

表2 各個算法的匹配搜索次數
從表 2 可以看出,相比二分查找算 法、RMNN 算法,本文算法的匹配搜索次數均為最低,由于本文算法結合了ACO 與二分查找算法,二分查找匹配節點的數量減少,表明 ACO 在匹 配過程中需要更少的匹配時間,提高 了算法執行效率。
6.2 檢測率比較
仿 真 環 境 分 別 由 100、1 000、10 000、100 000 個 隨 機分布的節點組成,每次仿真中設定 25%的節點為惡意節點(25%),每 個 節 點 產 生 1 500 個 數 據 分 組 。每 個 模 擬 環 境進行 30 次仿真,置信區間為 95%。在 P2P 信任模型中,設定信任閾值為正常節點平均信任值的 50%。表 3 為各算法在存在惡意節點場景中的檢測率。

表3 在不同節點數情況下的檢測率
從 表 3 可 以 看 出,當 網 絡 中 的 節 點 數 量 只 有 100 個時 ,2 種 算 法 的 攻擊 檢 測 率 均 為 100%;當 節 點 數 增 加 到1 000 個 時 ,本 文 算 法 的 檢 測 率 仍 然 可 以 保 持 在 100%,而RMNN 算法的檢測率則開始降低;節點數 增加 至 100 000個時 ,本 文 算 法 也 可 取 得 96%的 檢 測 率 ,比 RMNN 算 法 高出 6%。 本 文 算 法 根 據 規 則 庫 中 的 節 點 ID 來 識 別 異 常鏈 接 ,相 比 RMNN 算 法 ,能 夠 更 加 準 確 地 檢 測 Sinkhole攻擊。
誤報率表示攻擊檢測機制檢測到攻擊發生,但網絡中并未發生攻擊,而造成誤報的主要原因是無線信道質量不穩定,誤報率比較結果見表 4。
可以看出,本文算法的誤報率較低,因為本文算法采用了 P2P 信任模型,信任值根據節點的行為和 鄰居評價計算獲得,是節點行為一貫表現的量化,因此基于信任的檢測機制能夠很好地避免因無線信道而產生的誤報。

表4 在不同節點數情況下的誤報率
為 了 檢 測 WSN 中 Sinkhole 攻 擊 并 識 別 WSN 中 的 攻擊節點,本文提出了一種基于群體智能的入侵檢測算法 — —P-ACO。 實 驗 結 果 顯 示 , 相 比 經 典 的 匹 配 算 法 ,P-ACO 算 法 能 準 確 檢 測 Sinkhole 攻 擊 , 不 會 產 生 誤 檢 ; 相比二分查找算法和 神經網絡算法,P-ACO 算法匹配搜索次數更少 ,大大提高 了算法 執行 效率;相 比 RMNN 算法,P-ACO 算法 的內存需求 更低。 使用 ABXES 算法可以識別攻 擊者節點 ,相比 RMNN 算 法 中 的單向散 列 函數和跳 數算法,減少了需要存儲的密鑰數量,節省了內存。利用 P2P信任模型進一步確定攻擊節點,提高了檢測準確度,降低了誤報率。
未來將考慮引入其他優化算法,如粒子群優化、遺傳算 法 等 ,在 其 他 Sinkhole 攻 擊 環 境 下 進 行 實 驗 ,進 一 步 改善算法的檢測性能。
[1] 葉 苗 ,王 宇 平. 一 種 新 的 容 忍 惡 意 節 點 攻 擊 的 無 線 傳 感 器 網絡安全定位方法[J]. 計算機學報,2013,36(3):532-545. YE M,WANG Y P.A new malicious nodes attack-resistant security location method in wireless sensor network [J].Chinese Journal of Computers,2013,36(3):532-545.
[2] 胡 蓉 華 ,董 曉 梅 ,王 大 玲.SenLeash:一 種 無 線 傳 感 器 網 絡 蟲洞攻擊約束防御機制[J]. 通信學報,2013,34(10):65-75. HU R H,DONG X M,WANG D L.SenLeash:a restricted defense mechanism against wormhole attacks in wireless sensor network[J].Journal of Communications,2013,34(10):65-75.
[3] ZHANG F J,ZHAI L D,YANG J C,et al.Sinkhole attack detection based on redundancy mechanism in wireless sensor networks[J].Procedia Computer Science,2014,31(3):711-720.
[4] LU F,WANG L.Intrusion detection system based on integration of neural network for wireless sensor network[J].Journal of Software Engineering,2014,8(4):225-238.
[5] ABDULLAH I,RAHMAN M M,ROY M C.Detecting sinkhole attacks in wireless sensor network using hop count [J]. International Journal of Computer Network and Information Security (IJCNIS),2015,7(3):50-57.
[6] 李 睿 ,林 亞 平 ,易 葉 青 ,等. 兩 層 傳 感 器 網 絡 中 安 全 Top-k 查詢 協 議 [J]. 計 算 機 研 究 與 發 展 ,2012,49(9):1947-1958. LI R,LIN Y P,YI Y Q,et al.A secure Top-k query protocol in two tired sensor networks [J].Journal of Computer Research and Development,2012,49(9):1947-1958.
[7] MENDONCA M,AGUILAR J S,PEROZO N.An emergent ontology for ambient intelligence based on an ant colony optimization algorithm [C]/Computing Conference (CLEI),September 15-19,2014,Montevideo,Uruguay.New Jersey:IEEE Press,2014:1-11.
[8] WANG H Y,LIU Z Y,YING B U.Ant colony optimization algorithm for WSN cross-layer routing protocol [J].Journal of Changzhou University,2014.
[9] 宋 立 新 ,戴 赫. 基 于 蟻 群 算 法 的 WSN 路 由 協 議 研 究 [J]. 哈 爾濱理工大學學報,2014,42(6):88-92. SONG L X,DAI H.Research on WSN routing protocol based on ant colony algorithm [J].Journal of Harbin University of Science and Technology,2014,42(6):88-92.
[10]XIONG L,LIU L.Peertrust:supporting reputation-based trust for peer-to-peer electronic communities[J].IEEE Transactions on Knowledge and Data Engineering,2004,16(7):843-857.
[11]張 樂 君,鄧 鑫,國 林,等. 基 于 關 聯 度 分 析 的 WSN 節 點 信 任模 型 研 究[J]. 電 子 科 技 大 學 學 報,2015,34(1):106-111. ZHANG L J,DENG X,GUO L,et al.A CMP energy consumption estimate model for computer systems [J].Journal of University of Electronic Science and Technology of China,2015,34(1):106-111.
[12]蔡紹濱,潘虹杞,姚念民,等.基于云信任模型和蟻群算法的WSN 簇 可 信 路 由 算 法 [J]. 軟 件 學 報 ,2014,25(s1):122-130. CAI S B,PAN H Q,YAO N M,et al.Cluster reliability routing algorithm based on cloud trust model and ant colony algorithm[J]. Journal of Software,2014,25(s1):122-130.
[13]WANG M,XU Z,ZHANG Y,et al.Modeling and analysis of PeerTrust-like trust mechanisms in P2P Networks [C]/Global CommunicationsConference (GLOBECOM),December3-7,2012,Anaheim,California,USA.New Jersey:IEEE Press,2012:2689-2694.
[14]LIU S,QI D,MENG J,et al.Study and implementation of wireless sensor networks collaboration based on bio-inspired trust and reputation model (BTRM)[J].International Journal of Digital Content Technology&Its Applications,2012,6 (1):53-66.
[15]LIN C,WU G.Enhancing the attacking efficiency of the node capture attack in WSN:a matrix approach [J].Journal of Supercomputing,2013,66(2):989-1007.
Sinkhole attack detection based on fusion of ACO and P2P trust model in WSN
HENIGULI Wumaier
Xinjiang Vocational&Technical College of Communications,Urumqi 831401,China
For the Sinkhole attack problem of wireless sensor network (WSN),a detection algorithm based on fusion of ant colony optimization(ACO)and P2P trust model was proposed.Firstly,ant colony optimization algorithm was used to detect the existence of a Sinkhole attack in route and generate the alarm information of sensor nodes.Then,Boolean expression evolve sign generation algorithm was used to distributed keys for group alarm nodes,and it was used to mark suspicious nodes.Finally,P2P trust model was used to compute trust value of each suspicious node,and the node with trust value was lower than the preset threshold as invasion of node.The analysis shows that the proposed algorithm need less matching search times in matching process than binary search algorithm and the rules matching based neural network(RMNN)algorithm,which indicates that it has improved the efficiency of the algorithm. Experimental results show that the proposed algorithm has higher detection accuracy on Sinkhole attack than RMNN algorithm.
wireless sensor network, Sinkhole attack, binary search algorithm,ant colony optimization, P2P trust model
TP393
:A
10.11959/j.issn.1000-0801.2016089

2015-08-20;
2016-03-04
合尼古力·吾買爾 (1976-), 女 (維吾爾族),新疆交通職業技術學院副教授,主要研究方向為網絡安全、信息安全。