• 沒有找到結果。

第五章 分析與實驗結果

5.1 實驗環境

本研究研究環境如表 10,採用 NCTUns 3.0 網路模擬器來模擬本論文提出的 系統架構。NCTUns 3.0 是由交通大學所研發的一套網路模擬軟體,為目前世界 上常用的網路模擬器之一,其採用 C++開發,大約寫了十三萬行的程式,擁有非 常高的整合性、友善的介面、直覺性、靈活和可擴充性,且提供 GUI 介面讓使 用者可於短時間內設定好模擬的網路架構,模擬後的情形亦可以圖形化顯示出 來,讓使用者容易分析及清楚的看到實驗結果與情形。

此外相關的密碼方法採用 Crypto++ 5.5.1,採用 C++標準寫成自由軟體,

提供專業的密碼學函式庫,例如:區段加密(block cipher)、串流加密(stream cipher)、公開金鑰加密、雜湊函式…等等功能。1995 年 6 月發佈了 1.0 版本,目 前的最高版本為 2007 年 5 月所發佈的 Crypto++ 5.5.1。

Crypto++ 5.5 Cryptography

256M bytes RAM

Red Hat Linux 9.0 ( Kernel 2.6.11-nctuns-20060503 )

OS

NCTUNS 3.0 Simulator

rfc2875 , draft-ietf-ipsec-skip-06 Diffie-hellman

Intel Pentium 1.7GHz CPU

Crypto++ 5.5 Cryptography

256M bytes RAM

Red Hat Linux 9.0 ( Kernel 2.6.11-nctuns-20060503 )

OS

NCTUNS 3.0 Simulator

rfc2875 , draft-ietf-ipsec-skip-06 Diffie-hellman

Intel Pentium 1.7GHz CPU

表 10 模擬環境

實驗模擬的網路架構如圖 43 所示,有兩台無線工作站,一台為正常使用者

(ID 為 3),另外一台為攻擊者(ID 為 4),以及一個擷取點(ID 為 2)與擷取 點連結的有線端電腦(ID 為 1)。測試方式為正常使用者利用 FTP 的方式傳送一 測試檔案給有線網路端,檔案大小為 30,106,820 Bytes,攻擊者發動大約十秒的 Deauthentication/Disassociation 氾濫攻擊,分為兩種攻擊模式:

(1)SN 值為連續(sequent)增加的方式不斷地發送。

(2)SN 值為跳躍(Jump)的方式不斷地發送,例如:發一個 Deauth/ Disassoc 訊 框後,中間發數個 association/authentication 訊框後,才繼續發下一個 Deauth/

Disassoc 訊框,i.e. SND>=10 或 SND>=30,但 SND 不超過 100)

我們將分析各種防禦機制的延遲時間並且互相比較(各項實驗測試十次,比較平 均值),最後證明本研究是可行、有效率且安全度較高的。

圖 43 模擬網路架構圖

5.2 [1]提出的 SND(Sequence Number Deviation)與隨機位 元串兩層過濾機制效能

在此小節中,我們會套入本研究提出的 Diffie-Hellman 金鑰交換、ARBG 與 隨機位元串同步演算法於[1]的「SND 與隨機位元串」兩層防禦中(先測試只單 獨使用隨機位元串與 SND 的效能如何,之後再測試合併為兩層過濾的機制),以 測試系統實際的效能,之後與下一節本論文提出的「DSN 與隨機位元串」兩層 防禦互相比較。

連結上網所需時間測試:

首先,先測試本研究提出的金鑰交換、隨機位元串產生(ARBG)、身份認 證與連結各階段所花的時間。從表 11 可以看出各個階段都只需些許的時間,而 加總的時間也只有約 0.022 秒,所以對系統的負擔是很輕的(Lightweight)。此 外從表中可以看出,各階段以 Diffie-Hellman 金鑰交換所需的時間最多。若無線 工作站與擷取點已經擁有同金鑰,則下一次會期就不需使用 Diffie-Hellman 金鑰 交換,可直接利用 ARBG 中的 PRNG 就可產生這次會期需要的隨機位元串(只 有第一次連結需要執行金鑰交換動作,見 4.2.3 節),如此就可以減少更多時間,

更符合負擔輕(Lightweight)的精神(如表 12)。

Diffie-Hellman (1024 bits) ARBG Authentication and Association Total 時間(秒) 0.0187937 0.002283 0.0009222 0.0219989

表 11 金鑰交換、ARBG、身份認證與連結所需時間

表 12 顯示從無線工作站要使用網路前,分別掃描各個頻道的擷取點到連結 上至某一擷取點所需的時間。可以從表中看出,本研究提出的架構大約只比原一 般上網連結的方式多出約 0.026 杪。若不需 Diffie-Hellman 金鑰交換,則需要的 時間就更少了,只比原一般上網連結的方式多出約 0.006 杪。

次數 1 2 3 4 5 6 7 8 9 10 平均 平均 值差 一般連結上網 0.6512211 0.6531321 0.6513281 0.6522189 0.6527214 0.6512627 0.6512283 0.6509989 0.6518343 0.6512234 0.65171692

本研究連結上網

(包含金鑰交換 1024bits 與隨機位元串產生)

0.6737902 0.6795717 0.6811002 0.6786998 0.6785922 0.6791642 0.6732912 0.6774093 0.6798629 0.6805824 0.67820641 0.02648949

本研究連結上網 ( 省略金鑰交換步驟

0.6592133 0.6592133 0.6587343 0.6601121 0.6601209 0.6587024 0.6571324 0.6554122 0.6561347 0.6561143 0.65808899 0.00637207

表 12 一般連結上網與使用本研究連結上網時間比較

Deauth

攻擊皆失敗的傳送時間

49.83 49.62 49.74 48.97 49.18 49.85 48.93 49.21 48.88 49.31

49.352 3.356 Disassoc

攻擊皆失敗的傳送時間

49.13 49.27 48.89 49.54 49.83 48.74 49.32 49.33 49.37 48.99

49.241 3.245 表 13 正常情況與皆攻擊失敗的傳送時間比較

隨機位元串過濾防禦機制測試:

測試只有使用隨機位元串一層過濾的情況下,至少需要多少個隨機位元串數 才可以達到防禦的效果。測試環境如同 5.1 節所述,攻擊者以 SN 值連續增加的 方式不斷地發送,其餘不變。表 14 可以看出隨機位元串大約需要 10 個以上才會 達到令人滿意的效果,而可看出 Deauthentication 攻擊會比 Disassociation 攻擊來 的嚴重,因為需要多一個階段才能恢復連結(見圖 5)。此處的結果與[1]有些許 的不同([1]測試出來的結果為 8 個以上,可能原因為[1]使用機率的方式實驗),

但此處在一次證實隨機位元串的確可以用於防禦阻絕服務攻擊。此外更重要的 是,從這裡可以看出本研究的隨機位元串同步演算法的效能表現的相當好,可以 很快的恢復同步而不會增加系統太多時間。

隨機位元串數 0 1 2 3 4 5 6 7 8 9 10 11 Deauth 氾濫攻擊 70.63 70.01 69.71 68.97 67.16 65.93 63.29 61.08 58.73 51.89 49.22 48.03 Deauth 延遲時間

(與一般時間比較) 24.634 24.014 23.714 22.974 21.164 19.934 17.294 15.084 12.734 5.894 3.224 2.034 Deauth 延遲時間

(與攻擊皆失敗比較) 21.278 20.658 20.358 19.618 17.808 16.578 13.938 11.728 9.378 2.538 -0.132 -1.322 隨機位元串數 0 1 2 3 4 5 6 7 8 9 10 11 Disassoc 氾濫攻擊 68.29 68.19 67.89 67.31 65.82 63.21 60.83 58.29 57.17 49.36 47.32 47.12 Disassoc 延遲時間

(與一般時間比較) 22.294 22.194 21.894 21.314 19.824 17.214 14.834 12.294 11.174 3.364 1.324 1.124 Disassoc 延遲時間

(與攻擊皆失敗比較) 19.049 18.949 18.649 18.069 16.579 13.969 11.589 9.049 7.929 0.119 -1.921 -2.121 表 14 隨機位元串防禦效果(攻擊模式為 SN 值為連續增加的方式)

圖 44 左圖為未使用任何防禦機制,右圖為隨機位元串數為 11 時的防禦效果(攻 擊模式為 SN 值連續增加的方式)

SND 過濾防禦機制測試:

接著測試只使用 SND 一層過濾的防禦效果,在此攻擊模式為 SN 連續增加 與跳躍 SN 值兩種,其餘測試環境相同。表 15 為 SN 連續增加的結果,可以發現 防禦效果在 SND 值為 8 時,即可以產生不錯的效果。如果要達到令人滿意地效

不過,若攻擊者以跳躍 SN 值的方式發送(SND>=10 或 SND>=30),則效 果會大打折扣。如表 16(SND>=10)所示,可以看到必須要設定 SND 值為 80 以 上才會有令人滿意地效果。至於表 17(SND>=30)的情況就更嚴重了,SND 值 要設到 112 才可以有效防禦。之前章節(見 4.2.4)分析過 SND 之值不可以設定 太大,因為會導致系統有延遲的問題發生,所以由此處可以看出 SND 的過濾機制 其實是有很大的缺陷存在的。

SND 1 4 8 16 24 32

Deauth 氾濫攻擊 70.82 63.23 52.03 48.67 47.92 47.38 Deauth 延遲時間

(與一般時間比較) 24.824 17.234 6.034 2.674 1.924 1.384 Deauth 延遲時間

(與攻擊皆失敗比較) 21.468 13.878 2.678 -0.682 -1.432 -1.972

SND 1 4 8 16 24 32

Disassoc 氾濫攻擊 70.79 60.93 49.72 47.78 47.23 47.11 Disassoc 延遲時間 Deauth 氾濫攻擊 70.23 68.32 65.87 61.84 58.27 51.79 Deauth 延遲時間

(與一般時間比較) 24.234 22.324 19.874 15.844 12.274 5.794 Deauth 延遲時間

(與攻擊皆失敗比較) 20.878 18.968 16.518 12.488 8.918 2.438 SND 8 16 24 32 64 80 Disassoc 氾濫攻擊 70.38 70.14 67.92 65.09 59.34 49.07 Disassoc 延遲時間

(與一般時間比較) 24.384 24.144 21.924 19.094 13.344 3.074 Disassoc 延遲時間

(與攻擊皆失敗比較) 21.139 20.899 18.679 15.849 10.099 -0.171 表 16 SND 防禦效果(攻擊模式為 SN 值跳躍的方式,SND>=10)

SND 28 32 64 80 96 112 Deauth 氾濫攻擊 70.23 70.19 62.29 58.81 55.42 52.96 Deauth 延遲時間

(與一般時間比較) 24.234 24.194 16.294 12.814 9.424 6.964 Deauth 延遲時間

(與攻擊皆失敗比較)20.878 20.838 12.938 9.458 6.068 3.608 SND 28 32 64 80 96 112 Disassoc 氾濫攻擊 70.21 69.94 61.03 56.97 53.04 51.37 Disassoc 延遲時間

(與一般時間比較) 24.214 23.944 15.034 10.974 7.044 5.374 Disassoc 延遲時間

(與攻擊皆失敗比較)20.858 20.588 11.678 7.618 3.688 2.018 表 17 SND 防禦效果(攻擊模式為 SN 值加大跳躍的方式,SND>=30)

「SND 與隨機位元串」兩層過濾防禦測試:

最後我們合併 SND 與隨機位元串為兩層機制,攻擊者攻擊模式為跳躍與加 大跳躍 SN 值的方式(SND>=10 與 SND>=30,其餘環境保持相同)。

從表 18(SND>=10)當中可以看出,當隨機位元串為 3(或 4)時,SND 需設定 20(或 12)以上才會產生一定程度的效果。此外此處亦可看出從連結上 網到傳送完一檔案,本研究的提出的金鑰交換、ARBG 與隨機位元串同步演算法 幾乎不會增加系統太多的額外時間(與表 13 一般時間相比)。但「SND 與隨機 位元串」兩層過濾真的有效嗎?下一段我們將測試 SND>=30 的情況,檢測防禦效 果是否會受到攻擊者改變攻擊模式而有所影響。

RBS=3 SND 4 8 12 16 20 24 28 32 3 Deauth 氾濫攻擊 68.51 68.82 67.37 62.17 54.68 51.93 49.81 48.03 Disassoc 氾濫攻擊 67.49 60.95 58.12 52.87 49.03 48.72 48.89 47.67

Deauth 延遲時間

(與一般時間比較) 22.514 22.824 21.374 16.174 8.684 5.934 3.814 2.034 Disassoc 延遲時間

(與一般時間比較) 21.494 14.954 12.124

6.874 3.034 2.724 2.894 1.674

4 8 12 16 20 24 28 32

4 Deauth 氾濫攻擊 64.98 65.71 63.33 59.98 52.02 49.34 48.81 47.64 Disassoc 氾濫攻擊 61.92 57.76 49.31 49.12 48.87 48.63 47.52 47.21

Deauth 延遲時間

(與一般時間比較) 18.984 19.714 17.334 13.984 6.024 3.344 2.814 1.644 Disassoc 延遲時間

(與一般時間比較) 15.924 11.764 3.314 3.124 2.874 2.634 1.524 1.214 表 18 SND 與隨機位元串的兩層過濾效果(攻擊模式為 SN 值跳躍的方式,

SND>=10)

SND與隨機位元串兩層過濾機制(SND>=10)

3 Deauthentication氾濫攻擊 3 Disassociation氾濫攻擊

3 Deauthentication延遲時間(與一般 時間比較)

3 Disassociation延遲時間(與一般時 間比較)

4 Deauthentication氾濫攻擊 4 Disassociation氾濫攻擊

4 Deauthentication延遲時間(與一般 時間比較)

4 Disassociation延遲時間(與一般時 間比較)

圖 45 SND 與隨機位元串的兩層過濾效果(攻擊模式為 SN 值跳躍的方式

SND>=10)

若攻擊者攻擊模式改為加大跳躍 SN 值(SND>=30)的話,則第一層 SND 防禦幾乎不會產生任何的作用(因為攻擊者刻意拉大每個 Deauthentication /Disassociation 訊框的 SN 值,造成 SND 機制無法過濾出假的訊框)。如表 19 所示,我們可以看到當隨機位元串為 3 或 4 時,SND 即使設為 32,都不會產生 良好的防禦效果(比一般時間多出約 20 秒)。對於類似這種改變攻擊模式的情 況,我們將在 5.4 節展現將 SND 修改為 DSN 後,DSN 可以有效地防禦。

RBS=3 SND 4 8 12 16 20 24 28 32 3 Deauth 氾濫攻擊 69.49 69.77 69.47 68.09 67.58 67.91 67.44 66.53

Disassoc 氾濫攻擊 67.94 68.21 67.29 65.74 65.33 64.72 64.77 64.37 Deauth 延遲時間

(與一般時間比較) 23.494 23.774 23.474 22.094 21.584 21.914 21.444 20.534 Disassoc 延遲時間

(與一般時間比較) 21.944 22.21421.294

19.744 19.334 18.724 18.774 18.374

4 8 12 16 20 24 28 32

4 Deauth 氾濫攻擊 67.89 66.79 67.45 66.98 67.02 66.94 66.12 65.03 Disassoc 氾濫攻擊 65.92 65.64 65.97 66.04 65.73 64.63 64.19 64.08

Deauth 延遲時間

(與一般時間比較) 21.894 20.794 21.454 20.984 21.024 20.944 20.124 19.034 Disassoc 延遲時間

(與一般時間比較) 19.924 19.644 19.974 20.044 19.734 18.634 18.194 18.084 表 19 SND 與隨機位元串的兩層過濾效果(攻擊模式為 SN 值加大跳躍的方式,

3 Deauthentication 氾濫攻擊 3 Disassociation氾 濫攻擊 3 Deauthentication 延遲時間 3 Disassociation延 遲時間4 Deauthentication 氾濫攻擊4 Disassociation氾 濫攻擊 4 Deauthentication 延遲時間

圖 46 SND 與隨機位元串的兩層過濾效果(攻擊模式為 SN 值加大跳躍的方式,

5.3 本研究提出的 DSN(Dynamic Sequence Number)與隨 機位元串兩層過濾機制效能

此節將測試(測試環境與上節相同)本論文提出的「DSN 與隨機位元串」

兩層過濾機制,並與上小節 5.3 中[1]提出的「SND 與隨機位元串」兩層過濾機 制互相比較,印證將 SND 修改為 DSN 在安全性上的確比較強韌,且不會帶給系 統額外的負擔。

DSN 過濾防禦機制測試:

首先我們測試 DSN 的防禦能力,攻擊模式為跳躍 SN 值(SND>=10 與 SND>=30)

的方式發送攻擊訊框,其餘測試環境保持相同。測試結果如表 20、21 所示,DSN 過濾防禦機制幾乎不會受到攻擊所帶來的影響,並且不會因為攻擊者加大 SND 的差距而躲過過濾,造成防禦效能的下降。此外再與表 16、17 比較,可看出 DSN 的防禦比 SND 來安全許多,底下列出 DSN 與 SND 的比較:

(1)從表 20、21 可以看出,因為 DSN 值一直在變動,所以就算攻擊者改變攻擊 模式(SND>=10 變為 SND>=30)亦無法成功。其所需的傳送時間皆約 49 秒,與表 13 中的「一般傳送時間」或「Deauth/Disassoc 攻擊皆失敗的時間」比較後,可 看出幾乎攻擊者的攻擊都不成功,只有攻擊時所消耗的頻寬會有所影響。

(2)從表 16、17 可以看出,SND 會受到攻擊模式改變的影響。如表 16,在 SND>=10 的攻擊下,SND 必須設到 80 以上才會有效果。然而如表 17,在 SND>=30 的攻擊 下,SND 值就更大了,要射到 112 以上才會有效果,但所需時間還須約 52 秒

(Deatuehentication 氾濫攻擊下)。此外 SND 值不可能設太大,因為會導致系統

(Deatuehentication 氾濫攻擊下)。此外 SND 值不可能設太大,因為會導致系統