• 沒有找到結果。

靜態入侵偵測機制之演算法

第四章 6LoWPAN 能源消耗

4.5 靜態入侵偵測機制之演算法

此章節介紹靜態入侵偵測機制演算法,檢測節點是否受到攻擊。

表 4-1、靜態入侵偵測機制演算法

Computing Energy Consumption // Computing Energy Consumption of nodes alarm = FALSE // initial alerm,count the times of attacked if(Current Time - Pervious Sampling Time >= 0.5)

//0.5 seconds is the energy consumption sampling rate {

Calculate the Current Energy Consumption of node

Energy consumption RiseRate= (Current Energy Consumption - Prediction Energy Consumption) /

Prediction Energy Consumption *100

if (Energy consumption RiseRate > EnergyRisethreshold) // EnergyRisethreshold is 30%,

{

alerm=TRUE

if(alerm= = TRUE)

//if there is alarms, node is regarded as attacked and // remove the node from the route table in 6LowPAN.

} else {

alerm =FALSE }

}

一開始,演算法則會利用能源消耗模型來預估節點的能源消耗 SampleEnergy,

並取得目前時間判斷是否到達檢測時間,而檢測時間在此預定為每 0.5 秒檢測一 次,接著檢查節點目前能源消耗 NowEnergy,在利用 SampleEnergy 與 NowEnergy 來計算目前能源與預測能源的能源上升比例,而在此部分所模擬的環境為例,當

52

上升的比例大於檢測門檻值 30%時,則將 alerm 設為 TRUE,則認定節點遭受攻 擊並發出警告。

4.6 入侵偵測機制之檢測率

此章節為檢測節點是否受到攻擊的檢測率分析,檢測條件為當能源上升的比 例大於 30%則視為遭受到攻擊,能源為 0.5 秒檢測一次。

圖 4-7、理想通道與非理想通道下之檢測率結果

圖 4-7 為理想通道與非理想通道下之檢測率結果,當通道品質下降時,檢測 率也跟著下降,主要原因是節點重傳的次數增加使節點的能源消耗提升,因此與 攻擊時的能源消耗相比時,上升的比例相對較少,造成某些時候的上升比例未達 門檻值,因此檢測率下降,而結果顯示,通道品質維持在理想或是 BER=10-6時,

檢測率皆有 100%的表現,而當通道品質下降時,由於重傳造成能源消耗提升,

因此上升比例減少,但至少維持在 83%。

Ideal 10-6 10-5 10-4

0 20 40 60 80 100

Detection Rate / %

BER

Detection Rate

83%

90%

53

Ideal 10-6 10-5 10-4

0.02

54

4.7 6LoWPAN 能源消耗結論

本章節提出 6LoWPAN 中的能源消耗模型,而 6LoWPAN 中的能源消耗延續 第三章節無線感測網路之能源消耗模型,而在 6LoWPAN 中分為 Mesh-under 及 Route-over , 本 研 究 針 對 此 二 種 路 由 機 制 建 構 了 不 同 的 能 源 消 耗 模 型 , 而 Route-over 路由機制是使用在外部網路,因此封包傳輸皆經由傳輸能力較強的路 由器來做處理,許多較複雜的金鑰演算法及防火牆可使用在 router 上,因此本章 節之入侵偵測機制則專注在 Mesh-under 路由機制上,而在此採用著名的 DoS 攻 擊,以大量封包傳輸針對 Mesh-under 進行攻擊,且分析正常環境與受攻擊環境在 理想通道與非理想通道下的能源消耗。結果顯示,與正常環境相比,受到 DoS 攻 擊時,節點的能源消耗會因接收到大量封包導致能源消耗的提升。而利用能源的 上升比例及接收封包數量來做為入侵偵測機制門檻值,檢測節點是否受到攻擊。

結果表示,能源消耗上升的比例皆高於 30%,而在通道品質較好的情況下,檢測 率皆可達到 100%,而隨著通道品質變差,使節點重傳產生額外的能源消耗,造 成能源上升比例減少,使部分受攻擊時的上升比例未達 30%(20%至 26%),因而 使檢測率下降,但也維持至 83%之檢測率。

55

第五章

動態入侵偵測機制

此章節將針對入侵偵測機制做詳細的介紹,而由於 6LoWPAN 中有許多路由 機制,因此在此不侷限於第四章節建構之 Mesh-under 及 Route-over 能源消耗模型 來預測節點之能源消耗,在此運用第三章節所建構之無線感測網路能源消耗模型 來預測節點的能源消耗,並觀察能源消耗模型所預測之節點能源消耗來判斷節點 是否遭受攻擊,本章節分析正常環境與受攻擊環境在理想通道及非理想通道下能 源消耗的差別,並延續第三章節之結果,考慮節點在理想通道與非理想通道的環 境下與其他共存節點共同競爭通道時受攻擊的能源消耗。而攻擊方式在此選用

DoS 攻擊中的攻擊手法:Deceptive(在此稱為 DoS)及 Random。本章節之入侵偵測 機制,更考慮環境的狀況來動態調整檢測的門檻值,如:節點密度、通道品質。而 檢測門檻包含了預測能源與受攻擊能源之間的能源消耗上升比例、總接收封包量、

接收單一個 bit 的能源消耗,觀察不同的環境,藉由動態調整門檻值來達到提升 入侵偵測機制的檢測率,達到在不同環境下皆有良好檢測率的目的。而此動態入 侵偵測機制較適合用於流量穩定的靜態無線感測網路與 6LoWPAN 環境中,而由 於流量不穩定之動態無線感測網路較不易預測節點之正常能源消耗,因此難以定 義檢測之門檻值。

56

5.1 入侵偵測機制演算法

此章節介紹入侵偵測機制之演算法,而與前章節 6LoWPAN 之入侵偵測演算 法的差異在於考慮目前網路的狀態並動態調整入侵偵測門檻值以及檢測速率,藉 由動態調整提高入侵偵測機制的檢測率。而入侵偵測演算法的參數表示如表 5-1,

而入侵偵測機制之演算法表示如表 5-2

表 5-1、動態入侵偵測機制演算法之參數說明

TransmissionProbability

傳輸機率為動態調整門檻值的判斷參數

EnergyRise

threshold 能源消耗上升比例的門檻值

JoulePerbit

threshold 接收單一個 bit 所消耗的能源的上升比例門檻值

DetectionSamplingRate

檢測速率

Consecutive

檢測連續次數

Current Time

目前時間

Pervious Sampling Time

前一次檢測時間

檢測接收單一個 bit 消耗的能源所需之參數

PredictionJoulePerbit

能源模型預測接收單一個 bit 所消耗的能源

ReceivePackets

單次節點接收的封包數量

TotalEnergy

直到目前時間,節點的總能源消耗

TotalPackets

直到目前時間,節點的總接收封包量

EnergyPerBit RiseRate

計算接收單一個 bit 所消耗的能源的上升比例

Alerm1

能源差異值達到門檻值之警告參數

檢測上升比例所需之參數

Prediction Energy Consumption

能源模型所預測的能源消耗

CurrentEnergy

目前節點的能源消耗

RiseRate

計算節點能源消耗的上升比例

Alerm2

上升比例達到門檻值之警告參數

57

表 5-2、動態入侵偵測機制演算法

Computing TransmissionProbability // Computing Transmission Probability on node If (TransmissionProbability ≧ Ptx) //The Quality of channel is regarded as good.

{

EnergyRisethreshold=Rise // Energy consumption Rate is 40%

DetectionSamplingRate=Rate // DetectionSamplingRate is 0.5s

Consecutive=C // if there is two consecutive alarms, node is regarded as attacked JoulePerbit

threshold

=J

} else{

EnergyRisethreshold=Rise // Energy consumption Rate is 30%

DetectionSamplingRate =Rate // DetectionSamplingRate is 0.1s

Consecutive=C // if there is three consecutive alarms, node is regarded as attacked

JoulePerbit

threshold

=J

}

if(Current Time - Pervious Sampling Time ≧ DetectionSamplingRate) //When the currentTime is equal to the energy consumption sampling rate {

Calculate the ReceivePackets and CurrentEnergy

//Calculate the Current Energy Consumption of node and the number of packets received on node TotalEnergy + = CurrentEnergy //Calculate the total Energy Consumption of node,so far

TotalPackets + = ReceivePackets // Calculate the number of total packets received of node,so far EnergyPerBit = TotalEnergy /TotalPackets*8 // Calculate the Joule / per bit

EnergyPerBit RiseRate = EnergyPerBit / PredictionJoulePerbit

// Calculate the Joule / per bit RiseRate

if( EnergyPerBit RiseRate >JoulePerbitthreshold ) alerm1=TRUE

else

alerm1=FALSE

Energy consumption RiseRate=

(CurrentEnergy - PredictionEnergy) / Prediction Energy *100 if (Energy consumption RiseRate > EnergyRisethreshold) alerm2++

else

58

alerm2=0 }

if(alerm1= =TRUE || alerm2= = Consecutive ) node is regarded as attacked

//if there is consecutive alarms, node is regarded as attacked and //remove the node from the route table in 6LowPAN.

此部分說明了入侵偵測機制之演算法的運作流程,如表 5-2 所示。

判斷環境及設置門檻值

首先,定義一段 K 倍之檢測速率,K 值為檢測之統計時間長度,統計前一段 時間中,成功傳輸封包量做為傳輸機率之判斷依據,而 K 值則由本機制決定,當 傳送機率大於 P 值時,則將網路環境及通道品質視為較良好的狀況,而以本研究 狀況為例,在本研究第三章節數值分析結果中,當 P 值為 0.75 時,網路品質較良 好,而穩定網路環境中,受攻擊時的能源消耗會有較明顯的變化,因此將門檻值 調 整 為 較 高 的 程 度 , 包 含 上 升 比 例

EnergyRise

threshold 、 檢 測 速 率

DetectionSamplingRate

、檢測連續次數

Consecutive

及接收單一個 bit 所消耗的能源 的上升比例門檻值

JoulePerbit

threshold。在網路環境被視為較良好的情況時,Rise、

Rate 、C 及 J 則分別設定為 40%、0.5 秒、2 次及 4 倍,而當傳送機率參數小於 P 值時,則將檢測門檻值設為較低的程度,以便提高檢測率,此時,Rise、Rate 、

C 則分別設定為 30%、0.1 秒、3 次及 4 倍。而雖然時間從 0.5 秒調至為 0.1 秒,

但上升比例門檻值只從 40%調降為 30%的主要原因為大部分的上升比例皆大於 70%以上甚至 100%以上,因此在此選擇受攻擊時最低的能源上升比例,以確保

59

入侵偵測機制能檢測到所有受攻擊的狀況。而此動態調整檢測門檻值之檢測速率

DetectionSamplingRate

則需大於正常封包傳送的傳送間隔,防止突波造成能源上升

比例異常的現象出現。

檢測機制第一部分-計算接收一個 bit 消耗能源的上升比例

設定好門檻值且當目前時間到達設定的

DetectionSamplingRate

時,則進入檢測 判斷機制,檢測機制第一部分會計算節點接收一個 bit 所消耗的能源,以焦耳為 單位,首先計算單次檢測時間內的接收封包量

ReceivePackets

和單次檢測時間內 的能源消耗 CurrentEnergy,並分別做累加計算出目前整體能源消耗

TotalEnergy

及目前接收總封包量

TotalPacket

的動作。其接收單一 bit 消耗的能源

EnergyPerBit

表示式如下:

8

*

t TotalPacke y

TotalEnerg it

EnergyPerB

... (1) 在將目前

EnergyPerBit

與預測

PredictionJoulePerbit

來計算節點目前接收單一 bit 消 耗能源的上升倍數

EnergyPerBit RiseRate

,此參數大於門檻值

JoulePerbit

threshold則將

alerm

設為 TRUE,表示網路有可能已經受到攻擊。

檢測機制第二部分-單次檢測的能源上升比例

進入檢測機制第二部分,將目前的能源消耗

CurrentEnergy

與預測的能源消耗

PredictionEnergy

來計算目前能源消耗上升的比例,如目前能源消耗超過預測能源

消耗的比例大於

EnergyRise

threshold則將

alerm2

做加 1 的動作,而在此也將做連續檢

60

測的動作,當

alerm2

到達連續檢測次數

Consecutive

時則可視為節點遭受到攻擊。

而在此用表示式計算能源上升比例的門檻值,利用攻擊者的傳送間隔計算出 單位時間內攻擊者的攻擊流量 Trafficattack,而用正常節點傳送間隔計算出單位時 間內正常節點的封包流量 Trafficnormal,而考慮競爭節點時,受攻擊節點的總流量

Traffic

total為正常流量加上攻擊節點的流量,表示如下:

attack normal

tr

total

n P Traffic Traffic

Traffic

*(1

)*

... (2)

* tr normal attack

total

attack

E n P Traffic Traffic

Energy   

... (3) 而節點正常運作時所消耗的能源 Energynormal表示如下:

normal tr

total

normal

E n P Traffic

Energy

* *(1

)* ... (4)

n 表示以正常節點為中心的無線範圍內包含正常節點以及競爭節點在內節點

的總數量,1-Ptr為第三章節利用 Prism 所模擬的傳輸成功機率,Etotal為第三章節 計算之節點接收一個封包的總能源消耗。而能源上升比例門檻值

EnergyRise

threshold 的計算表示如下:

61

5.2 End-to-End 環境下受到攻擊的能源消耗數據

此章節利用 Qualnet 模擬器來模擬 End-to-End 環境下的能源消耗,主要證明 節點受到攻擊時將會有明顯的能源提升現象,此章節的拓樸主要分為正常環境及 受攻擊環境,而採取的攻擊為 DoS 攻擊中較常見的攻擊手法,如:DoSToNode、

Constant、Random 及 Reactive。而 DoSToNode 與 Constant 差別在於攻擊的對象,

Constant 為在網路中廣播大量的無線訊號,而 DoSToNode 則針對特定節點來進行

Constant 為在網路中廣播大量的無線訊號,而 DoSToNode 則針對特定節點來進行