• 沒有找到結果。

Attacks on the DHCP protocol

N/A
N/A
Protected

Academic year: 2021

Share "Attacks on the DHCP protocol"

Copied!
48
0
0

加載中.... (立即查看全文)

全文

(1)逢. 甲. 大. 學. 資 訊 工 程 學 系 專 題 報 告 Attacks on the DHCP protocol 學. 生 : 顏 學 回(四甲) 陳 俊 德(四甲) 李 冠 宏(四甲). 指 導 教 授 : 劉 振 緒. 中 華 民 國 九 十 二 年 十 一 月.

(2) Attacks on the DHCP protocol. 摘要 在 現 今 的 資 訊 科 技 中,由 於 網 路 的 蓬 勃 發 展 使 得 許 多 原 本遙不可及的夢想,得以在網路的世界中實現,但也正因為 大量的使用而使得原有的資源逐漸不敷使用,其中最明顯的 問 題 就 是 IP 位 址 的 不 足 , 目 前 解 決 IP 位 址 不 足 的 問 題 , 大 多 使 用 DHCP(Dynamic Host Configuration Protocol)的 機 制解決,而且在許多無線網路的環境中,因為使用者的變異 性 極 大 , 所 以 也 必 須 使 用 DHCP 的 機 制 , 由 此 可 知 DHCP 協 定 在現今的網路環境中佔有非常重要的地位。 雖 然 DHCP 的 設 計 使 網 路 可 以 更 方 便 的 為 人 們 所 使 用 , 但 其 協 定 卻 有 安 全 上 問 題 , 使 得 DHCP Server 可 能 受 到 不 當 使 用 者 的 攻 擊 而 導 致 Server 無 法 正 常 運 作 。 本 研 究 之 目 的 即 在 於 探 討 DHCP 的 協 定 及 其 安 全 上 的 漏 洞 , 並 嘗 試 可 能 的 解決方法。 本 研 究 所 使 用 的 程 式 為 ISC(Internet Software Consortium)於 2002 年 研 發 的 DHCP Server 與 Client 端 Open Source 的 程 式 , 使 用 語 言 為 C 語 言 , 作 業 系 統 為 Linux 或 BSD。. 逢甲大學 e-Paper (92學年度).

(3) Attacks on the DHCP protocol. 目 第一章. 錄. 緒 論 --------------------------------------1. 1、 1 研 究 動 機 -----------------------------------1 1、 2 研 究 方 法 -----------------------------------2 1、 3 本 文 章 節 概 述 -------------------------------2 第二章. DHCP 的 工 作 原 理 ----------------------------3. 2、 1 DHCP 的 封 包 格 式 -----------------------------3 2、2 DHCP 的 工 作 原 理 ------------------------------4 2、3 DHCP Server Behavior--------------------------7 2、3、1 DHCPDISCOVER----------------------------7 2、3、2 DHCPREQUEST-----------------------------7 2、3、3 DHCPDECCLINE----------------------------8 2、3、4 DHCPRELEASE-----------------------------9 2、3、5 DHCPINFORM------------------------------9 2、4 DHCP Client Behavior--------------------------9 2、4、1 Client Begins in INIT State--------------10 2、4、2 Client Begins in INIT-REBOOT State-------10 2、4、3 Reacquisition and Expiration------------11 第三章. Attacks on the DHCP-----------------------12. 3、1 DHCP 協 定 之 漏 洞 -----------------------------12 3、2 如 何 攻 擊 DHCP Server------------------------12 3、3 DHCP Server 攻 擊 的 實 做 -----------------------15 第四章. DHCP Server 的 保 護 ------------------------21. 4、 1 網 路 卡 實 體 位 址 管 理 -------------------------21 4、2 802.1x 使 用 者 認 證 ---------------------------21 4、3 Authentication for DHCP Messages -------------28 4、4 DHCP Server 保 護 的 結 論 -----------------------35. 逢甲大學 e-Paper (92學年度).

(4) Attacks on the DHCP protocol. 4、5 DHCP Server 保 護 的 實 做 -----------------------36 第六章. 結 論 --------------------------------------41. 參 考 文 獻 ----------------------------------------- 42. 逢甲大學 e-Paper (92學年度).

(5) Attacks on the DHCP protocol. 圖表目錄 圖 2.1-1 DHCP 的 封 包 格 式 ----------------------------3 圖 2.2-1 Server 與 Client 封 包 傳 送 時 間 關 係 圖 ---------6 圖 2.4-1 DHCP Client 的 狀 態 轉 移 圖 -------------------9 圖 3.2-1 攻 擊 程 式 的 執 行 流 程 圖 ----------------------14 圖 3.3-1 啟 動 DHCP Server---------------------------15 圖 3.3-2 攻 擊 程 式 取 得 第 一 個 IP 位 址 -----------------16 圖 3.3-3 攻 擊 程 式 取 得 第 二 個 IP 位 址 -----------------17 圖 3.3-4 攻 擊 程 式 成 功 取 得 所 有 IP 位 址 ---------------18 圖 3.3-5 攻 擊 後 的 DHCP Server-----------------------19 圖 3.3-6 攻 擊 程 式 執 行 Renew 功 能 --------------------20 圖 4.2-1 802.1x 的 架 構 -----------------------------22 圖 4.2-2 EAP-MD5 的 運 作 流 程 ------------------------25 圖 4.3-1 Format of DHCP authentication option ---------28 圖 4.3-2 when protocol field is 0----------------------31 圖 4.3-3 Interation between DHCP Client and Server using protocol 1---------------------------------31 圖 4.3-4 The format of the authentication request in a DHCPDISCOVER or a DHCPINFORM-------------------34 圖 4.3-5 The format of the authentication information in a DHCPOFFER, DHCPREQUEST or DHCPACK------------34. 圖 4.5-1 DHCP Server 的 設 定 檔 -----------------------36 圖 4.5-2 攻 擊 程 式 攻 擊 有 保 護 的 DHCP Server----------37 圖 4.5-3 被 攻 擊 後 的 Server-------------------------38 圖 4.5-4 取 得 IP 位 址 的 合 法 Client------------------39 逢甲大學 e-Paper (92學年度).

(6) Attacks on the DHCP protocol. 圖 4.5-5 保 護 下 的 Server 仍 可 運 作 -------------------40. 逢甲大學 e-Paper (92學年度).

(7) Attacks on the DHCP protocol. 第一章. 緒論. 1、1 研究動機 在 現 今 網 路 技 術 的 高 度 發 展 及 大 量 使 用 下,已 使 得 某 些 資 源 不 敷 使 用 , 其 中 最 明 顯 的 問 題 就 是 IP 位 址 的 不 足 , 目 前 亦 有 許 多 方 法 試 圖 解 決 這 個 問 題 , IPv6 就 是 解 決 IP 位 址 不 足 最 根 本 的 方 法 , 雖 然 有 IPv6 的 技 術 來 解 決 IP 位 址 的 不 足 的 問 題,但 因 為 現 今 硬 體 線 路 及 軟 體 支 援 的 限 制 使 的 ipv6 並 未 普 及 使 用 。 因 此 目 前 最 廣 泛 被 用 來 解 決 IP 位 址 不 足 問 題 的 技 術 就 是 DHCP(Dynamic Host Configuration Protocol)。 DHCP 是 一 個 可 以 動 態 配 置 (assign)IP 給 某 台 主 機使用的通訊協定。一個網域的使用人數可能大於這個網域 的 IP 位 址 個 數 , 但 並 非 在 同 一 時 間 內 所 有 的 使 用 者 都 需 要 連 上 網 路 , 因 次 DHCP 的 動 態 配 置 機 制 可 以 讓 有 需 要 連 上 網 路 的 使 用 者 優 先 配 置 IP 位 址 , 因 此 可 以 有 效 的 解 決 IP 位 址 不 足 的 問 題 , 並 且 在 無 線 網 路 的 環 境 下 也 有 使 用 DHCP 的 需 要。 如 此 重 要 的 通 訊 協 定,但 在 其 協 定 曾 方 面 似 乎 仍 存 在 著 安 全 上 的 漏 洞 , 可 能 導 致 DHCP Server 受 到 不 當 使 用 者 的 攻 擊 而 無 法 正 常 運 作 。 本 研 究 的 目 的 即 在 於 探 討 DHCP 協 定 究 竟出了什麼問題,為何會導致受到使用者的攻擊,並實做其 攻擊過程及如何防範此種攻擊的發生。. 1. 逢甲大學 e-Paper (92學年度).

(8) Attacks on the DHCP protocol. 1、2 研究方法 本研究使用的工具及其目的如下所列: 操 作 平 台 : Red Hat Linux 8.0 DHCP 軟 體:ISC(Internet Software Consortium)於 2002 年 所 開 發 的 Open Source 的 程 式 。 研 究 過 程 中 : Server 端 程 式 並 未 做 任 何 修 改 , 均 使 用 其 原 始 程 式 碼,其 設 定 檔 也 是 依 照 著 一 般 的 格 式 來 設 定 , 而 Client 端 程 式 經 個 人 修 改 , 使 其 能 把 server 所 提 供 之 ip 全 部 要 完,讓 其 他 client 無 法 向 server 取 得 ip。. 1、3 本文章節概述 本文章節內容概述如下: 第 二 章 : 介 紹 DHCP 的 封 包 格 式 、 工 作 原 理 。 第 三 章 : 說 明 DHCP 上 的 漏 洞 、 攻 擊 者 如 何 攻 擊 。 第 四 章 : 運 用 ISC 的 程 式 實 做 攻 擊 過 程 並 顯 示 攻 擊 結 果 。 第 五 章 : 為 DHCP Server 的 保 護 方 法 第六章:總結. 2. 逢甲大學 e-Paper (92學年度).

(9) Attacks on the DHCP protocol. 第二章. DHCP 的工作原理. 2、1 DHCP 的封包格式. 圖 2.1-1 DHCP 的 封 包 格 式. 欄位. 位元 說明. Op. 1. Message type. Htype. 1. Hardware address type. Hlen. 1. Hardware address length. Hops. 1. Client 端 設 定 為 0,大 多 交 由 Relay agent 設定. Xid. 4. Transaction ID, 由 Client 隨 機 產 生 並 填入. Secs. 2. 表 示 從 取 得 IP 到 現 在 所 經 過 的 時 間 , 由 Client 填 入 3. 逢甲大學 e-Paper (92學年度).

(10) Attacks on the DHCP protocol. Flags. 2. 旗標. ciaddr. 4. Client IP address,當 Client 在 Bound、 Renew、 Rebinding 狀 態 時 才 會 填 入. yiaddr. 4. “ Your” (Client) IP address. siaddr. 4. Server IP address. giaddr. 4. Relay agent IP address. chaddr. 16. Client hardware address. sname. 64. Server host name. File. 128 Boot file name. option. Var Optional parameters field. 2、2 DHCP 的工作原理 DHCP(Dynamic Host Configuration Protocol)是 基 於 TCP/IP 的 網 路 協 定 中 , 用 於 暫 時 配 置 (assign)一 個 IP 位 址 給 一 台 機 器 所 使 用 的 通 訊 協 定。DHCP 的 執 行 必 須 有 一 台 電 腦 執 行 DHCP Server 而 需 要 被 配 置 IP 的 電 腦 則 執 行 DHCP Client。 因 為 DHCP Client 是 否 為 第 一 次 登 入 會 影 響 到 DHCP 的運作,故分別於下列兩點論述: ○ Client 第 一 次 登 入 : 1、 當 DHCP Client 為 第 一 次 登 入 時 , 發 現 本 機 上 並 沒 有 被 配 置 (assign)IP, 此 時 Client 會 以 廣 播 (Broadcast)的 方 式 發 送 DHCPDISCOVER 封 包 來 找 尋 網 域 中 的 DHCP Server。 2、 網 域 中 所 有 的 DHCP Server 都 會 收 到 Client 所 發 送 的 DHCPDISCOVER, 收 到 封 包 後 Server 會 以 Unicast 的 方 式 發 送 DHCPOFFER 封 包 。 在 DHCPOFFER 封 包 中 包 含 所 有 需 要 告 知 Client 的 訊 息 (例 如:IP address、subnet mask、gateway… 等 等 )。. 4. 逢甲大學 e-Paper (92學年度).

(11) Attacks on the DHCP protocol. 3、 經 過 一 定 的 時 間 之 後 DHCP Client 應 收 到 一 個 以 上 的 Server 所 回 應 的 DHCPOFFER, Client 可 以 從 多 個 DHCPOFFER 中 選 定 一 個 Server 將 其 Server IP 位 址 填 入 DHCPREQUEST 封 包 中 的 Server Identifier 中 , 再 以 廣 播 的 方式將其發送出去。 4、 網 域 中 的 DHCP Server 會 收 到 Client 回 應 的 DHCPREQUEST 封 包 , 但 只 有 其 Server Identifier 與 自 己 的 IP 位 址 相 同 的 Server 才 會 回 應 DHCPACK 給 Client。 此 DHCPACK 封 包 中 所 包 含 的 訊 息 (IP、 subnet mask、 gateway… 等 )應 與 DHCPOFFER 中 的 訊 息 相 同 。 5、 當 DHCP Client 收 到 DHCPACK 即 表 示 此 Client 已 被 配 置 一 個 IP, 並 將 封 包 中 的 各 個 資 料 與 作 業 系 統 做 連 結 (bind)同 時 也 結 束 一 個 完 整 的 DHCP 工 作 過 程 。 6、 若 DHCP Client 收 到 DHCPNAK, 則 表 示 Server 拒 絕 了 Client 的 請 求 , Client 可 以 重 新 發 送 DHCPDISCOVER, 此 時 DHCP 的 運 作 過 程 回 到 步 驟 1 7、 若 DHCP Client 收 到 DHCPACK 中 的 IP 已 被 其 他 機 器 使 用 , 則 Client 可 以 回 應 DHCPDECLINE, 告 知 Server 此 一 IP 位 址 已 被 其 他 使 用 者 所 使 用,並 重 新 發 送 DHCPDISCOVER, 此 時 DHCP 的 運 作 過 程 回 到 步 驟 1. ○ Client 第 一 次 登 入 之 後 : 當 Client 在 第 一 次 登 入 之 後 , 欲 要 求 之 前 曾 經 獲 得 的 IP 時 , 可 以 省 略 上 述 某 些 步 驟 1、 DHCP Client 以 Unicast 的 方 式 發 送 DHCPREQUEST, 並 將 欲 獲 得 的 IP 填 入 Request IP address 欄 位 中 , Server IP 填 入 Server Identifier 中 。. 5. 逢甲大學 e-Paper (92學年度).

(12) Attacks on the DHCP protocol. 2、 收 到 DHCPREQUEST 的 Server 可 以 依 據 Client 的 請 求 回 應 DHPCACK 或 DHCPNAK 3、 以 下 步 驟 於 前 述 相 同. 圖 2.2-1 Server 與 Client 封 包 傳 送 時 間 關 係 圖. 6. 逢甲大學 e-Paper (92學年度).

(13) Attacks on the DHCP protocol. 2、3 DHCP Server Behavior 一 個 DHCP Server 可 能 收 到 下 列 5 種 封 包 , 本 節 即 以 下 列 5 種 封 包 說 明 Server 在 收 到 這 些 封 包 後 的 行 為 ○ DHCPDISCOVER ○ DHCPREQUEST ○ DHCPDECLINE ○ DHCPRELEASE ○ DHCPINFORM. 2、3、1 DHCPDISCOVER 當 Server 收 到 Client 送 來 的 DHPCDISVOVER, 就 從 IP Pool 中 隨 機 挑 選 一 個 IP 與 租 約 (lease), 若 所 有 的 IP 皆 已 經 配 置 出 去 , 無 可 再 配 置 的 IP 時 , 程 式 應 告 知 網 路 管 理 員 並 忽 略 此 DHCPDISCOVER。 一 旦 IP 與 租 約 時 間 確 定 , Server 即 建 立 一 個 DHCPOFFER 封 包 並 以 收 到 的 DHCPDISCOVER 封 包 中 所 告 知 Client 的 MAC address 以 Unicast 的 方 式 送 出 封 包。. 2、3、2 DHCPREQUEST 若 以 Server 而 言 , DHCPREQUEST 可 能 來 自 於 下 列 三 種 情 況,一 是 來 自 於 回 應 DHCPOFFER 的 Client,二 是 來 自 於 第 一 次 登 入 之 後 欲 重 新 取 得 IP 的 Client, 三 是 來 自 於 INIT-REBOOT 的 Client, 本 節 分 別 就 上 述 三 種 情 況 論 述 :. ○ DHCPREQUEST from Client which response DHCPOFFER: Server 必 須 確 定 Client 將 Server IP address 填 入 Server Identifier 欄 位 中 , ciaddr 必 須 為 0, Request IP address 欄 位 必 須 填 入 Server 在 DHCPOFFER 中 所 給 予 的 IP。. 7. 逢甲大學 e-Paper (92學年度).

(14) Attacks on the DHCP protocol. 若 Server Identifier 中 的 IP address 與 自 己 的 IP 位 址 不 同,則 Server 忽 略 此 DHCPREQUEST。若 上 述 條 件 均 滿 足,則 Server 回 應 DHCPACK。. ○ DHCPREQUEST from Client want to renew an IP Server 必 須 確 定 Server Identifier 未 被 填 入,Request IP address 欄 位 未 被 填 入 , ciaddr 必 須 填 入 Client 自 己 的 IP address。 若 Client 送 出 這 種 形 式 的 封 包 , 表 示 Client 現 在 已 經 被 配 置 一 個 IP, 但 租 約 時 間 即 將 到 期 , Client 欲 延 長 租 約 時 間 。 若 Server 確 定 Client 滿 足 上 述 條 件 , 則 Server 應 回 應 DHCPACK。. ○ DHCPREQUEST generated during INIT-REBOOT state Server 必 須 確 定 Server Identifier 未 被 填 入,Request IP address 欄 位 必 須 填 入 Client 現 在 被 配 置 的 IP, ciaddr 必 須 為 0, 若 Client 送 出 這 種 形 式 的 封 包 , 表 示 Client 欲 確 定 (verify)現 在 使 用 的 IP address, 若 Request IP address 中 的 IP 是 不 正 確 的,則 Server 必 須 回 應 DHCPNAK。 若 Server 確 定 Client 滿 足 上 述 條 件 , 則 Server 應 回 應 DHCPACK。. 2、3、3 DHCPDECLINE 若 Server 收 到 DHCPDECLINE 表 示 Client 發 現 Server 所 提 供 的 IP 已 經 為 其 他 的 機 器 所 使 用 , Server 應 立 即 將 此 IP 標 示 為 ” in use” 的 狀 態 , 並 通 知 網 路 管 理 員 此 一 問 題 。. 8. 逢甲大學 e-Paper (92學年度).

(15) Attacks on the DHCP protocol. 2、3、4 DHCPRELEASE 若 租 約 尚 未 到 期,而 Client 已 不 再 使 用 此 IP,則 Client 可 以 送 出 DHCPRELEASE,當 Server 收 到 此 封 包 時 應 立 即 將 此 IP 標 示 為 ” not allocated” , 如 此 Server 才 可 以 再 將 此 IP 位 址 配 置 給 其 他 的 使 用 者 。. 2、3、5 DHCPINFORM Server 收 到 DHCPINFORM 後,將 必 要 的 參 數 放 進 Option 中 , 並 以 Unicast 的 方 式 回 應 DHPCACK。. 2、4 DHCP Client Behavior 圖 2.4-1 為 Client 的 狀 態 轉 移 圖,以 顯 示 Client 於 DHPC 中 的 工 作 流 程 , 本 節 即 以 此 圖 說 明 Client 的 Behavior. 9. 圖 2.4-1 DHCP Client 的狀態轉移圖逢甲大學 e-Paper (92學年度).

(16) Attacks on the DHCP protocol. 2、4、1 Client Begins in INIT State 在 送 出 DHCPDISCOVER 之 前 , Client 必 須 設 定 ciaddr 為 0x00000000,並 將 自 己 的 Hardware address 填 入 chaddr, Client 也 可 以 將 欲 取 得 的 IP 與 租 約 (lease)時 間 分 別 放 入 Request IP address 欄 位 與 IP address lease time 中 。 Client 必 須 隨 機 產 生 一 個 transaction identifier 並 把 它 填 入 xid 中 , 至 此 Client 可 以 將 DHCPDISCOVER 以 廣 播 (broadcast)的 方 式 發 送 出 去 , 當 封 包 送 出 之 後 , Client 由 INIT state 進 入 SELECTING state。 若 Client 收 到 的 DHCPOFFER 封 包 中 xid 與 送 出 的 DHCPDISCOVER 中 的 xid 不 同 的 話 , Client 必 須 忽 略 此 一 封 包。 在 經 過 一 定 的 時 間 之 後 , Client 必 須 選 定 一 個 DHCPOFFER 封 包 並 進 入 REQUESTING state, 在 REQUESTING state 時 ,Client 必 須 將 DHCPOFFER 中 Server Identifier 紀 錄 下 來 填 入 DHCPREQUEST 封 包 中 , 並 將 transaction identifier 填 入 xid 中,再 以 廣 播 的 方 式 送 出 DHCPREQUEST。 只 要 Client 一 旦 收 到 DHCPACK 即 進 入 BOUND state 完 成 一 個 DHCP 的 工 作 流 程 , 一 般 而 言 , Client 在 進 入 BOUND state 之 後 應 該 再 確 定 現 在 使 用 的 IP 未 被 其 他 的 機 器 使 用。 若 Client 收 DHCPNAK 則 重 新 回 到 INIT state 並 重 新 送 出 DHCPDISCOVER。. 2、4、2 Client Begins in INIT-REBOOT State 若 Client 是 由 INIT-REBOOT 開 始 , Client 必 須 將 現 在 的 IP 填 入 Request IP address 欄 位 中 , 隨 機 產 生 一 個 transaction identifier 填 入 xid 中 , Server Identifier 必 須 未 被 填 入 , 而 後 再 以 廣 播 的 方 式 送 出 DHCPREQUEST 並 進. 10. 逢甲大學 e-Paper (92學年度).

(17) Attacks on the DHCP protocol. 入 REBOOTING state。 只 要 Client 收 到 xid 與 之 前 送 出 的 xid 相 同 的 DHCPACK,Client 即 進 入 BOUND state,並 記 錄 下 租 約 時 間 。. 2、4、3 Reacquisition and Expiration 因 為 每 一 配 置 (assign)的 IP 都 有 其 租 約 (lease)時 間 , 時 間 一 旦 到 期 , Server 會 自 動 收 回 IP, 故 Client 為 了 確 保 機 器 的 正 常 運 作 必 須 設 定 兩 個 計 時 器 (timer):T1、T2, T1 時 間 為 租 約 時 間 的 0.5 倍 , T2 時 間 為 租 約 時 間 的 0.875 倍 , 一 旦 Client 進 入 BOUND state 即 設 定 此 兩 個 計 時 器 , 並 開 始 計 時 , 當 T1 時 間 到 時 , Client 即 進 入 RENEWING state, 此 時 Client 必 須 設 定 ciaddr 為 現 在 使 用 的 IP, Server Identifier 必 須 未 被 填 入 , 再 以 Unicast 的 方 式 發 送 DHCPREQUEST。 若 收 到 Server 回 應 的 DHCPACK 則 Client 回 到 BOUND state。 但 若 Client 在 T2 時 間 到 之 前 都 沒 有 到 Server 回 應 的 DHCPACK,則 Client 進 入 REBINDING state 並 以 Broadcast 的 方 式 送 出 DHCPREQUEST 封 包 。. 第三章. Attacks on the DHCP 11. 逢甲大學 e-Paper (92學年度).

(18) Attacks on the DHCP protocol. 3、1 DHCP 協定之漏洞 在 第 二 章 中 我 們 已 詳 細 說 明 Server 與 Client 的 Behavior 及 封 包 的 各 個 欄 位,在 這 眾 多 的 欄 位 中 我 們 可 以 發 現 只 有 chaddr(Client Hardware Address)與 xid(transaction identifier)是 Server 唯 一 可 以 用 來 識 別 Client 的 兩 個 欄 位 , 但 xid 是 由 Client 隨 機 產 生 的 , 在 安 全 性 上 無 法 發 揮 功 能 , 如 此 一 來 , Server 只 有 靠 Hardware Address 來 區 別 各 個 Client 端 的 請 求,換 句 話 說,即 使 我 們 只 有 一 台 電 腦 , 只 要 送 出 的 兩 個 封 包 中 chaddr 的 值 各 不 相 同 , 則 Server 就 會 將 這 兩 個 封 包 當 作 是 兩 個 Client 端 的 請 求 來 處 理 , 故 Server 會 配 置 (assign)兩 個 IP 給 我 們 , 依 此 類 推 , 只 要 我 們 能 夠 不 斷 送 出 不 同 chaddr 的 封 包 , Server 就 會 不 斷 的 配 置 IP 給 我 們,直 到 Server 再 也 沒 有 可 用 的 IP 為 止 , 如 此 真 正 有 需 要 使 用 IP 的 其 他 用 戶 即 無 法 從 Server 取 得 IP, 即 可 達 到 癱 瘓 Server 的 目 的 但 上 述 的 做 法 尚 且 只 能 達 到 暫 時 性 的 癱 瘓 Server, 因 為 IP 皆 有 其 租 約 時 間 , 只 要 時 間 一 到 期 , client 沒 有 繼 續 向 server 提 出 續 約 , IP 即 會 被 Server 收 回 , Server 又 可 以恢復正常的運作,因此攻擊者的程式尚需要能夠針對其所 取 得 的 IP 一 個 一 個 做 如 章 節 2、 4、 3 所 述 Reacquisition(Renew)的 動 作. 3、2 如何攻擊 DHCP Server 在 說 明 攻 擊 DHCP 之 前 我 們 必 須 先 了 解 網 路 卡 上 的 Promiscuous Mode。網 路 卡 在 一 般 的 模 式 下,只 有 封 包 上 MAC address 與 網 路 卡 上 的 MAC address 相 同 的 封 包 才 能 通 過 網. 12. 逢甲大學 e-Paper (92學年度).

(19) Attacks on the DHCP protocol. 路 卡 , 但 若 網 路 卡 是 Promiscuous Mode 下 , 則 不 論 封 包 的 MAC address 為 何 , 此 封 包 皆 可 以 通 過 網 路 卡 進 入 主 機 內 。 如 3、 1 節 所 述 , 因 為 Hardware address 是 Server 唯 一 可 以 用 來 識 別 Client 的 依 據 , 所 以 只 要 Client 的 程 式 可 以 隨 機 產 生 一 個 Hardware address 並 將 它 放 進 DHCPDISCOVER 封 包 中 , 此 外 我 們 還 必 須 設 定 一 個 dhcpdiscover_counter 變 數 , 用 於 紀 錄 我 們 送 出 的 DHCPDISCOVER 封 包 個 數 , 若 我 們 已 經 連 續 送 4 個 DHCPDISCOVER 但 Server 均 未 再 回 應 DHCPOFFER 則 我 們 就 認 為 Server 已 經 沒 有 可 在 配 置 的 IP, 藉 此 來 判 斷 攻 擊 的 成 功 與 否 。 當 我 們 收 到 DHCPOFFER 時 再 依 照 其 訊 息 送 出 DHCPREQUEST, 此 處 要 注 意 的 是 DHCPREQUEST 的 chaddr 的 值 必 須 與 DHCPDISCOVER 一 致 , 如 此 才 可 以 通 過 Server 的 檢 試 , 只 要 一 收 到 DHCPACK 即 表 示 我 們 已 經 從 Server 端 取 得 一 個 IP, 我 們 只 要 再 重 複 上 述 的 動 作 , Server 就 會 不 斷 配 置 IP 給 我 們 , 如 此 即 可 以 達 到 攻 擊 Server 的 目 的 , 但 取 得 IP 的 過 程 中 , 我 們 必 須 將 取 得 的 IP 與 其 所 以 對 應 的 Hardware address 紀 錄 下 來 以 供 稍 後 我 們 要 做 Renew 時 所 需 的 資 訊 。 圖 3.2-1 顯 示 攻 擊 程 式 的 執 行 流 程 。 在開始攻擊之前我們必須確定我們的網路卡已經開到 Promiscuous Mode, 因 為 Server 的 回 應 均 是 以 Unicast 的 方 式 回 應 的 , 所 以 Server 會 針 對 我 們 隨 機 產 生 的 Hardware address 回 應 封 包 , 若 我 們 未 將 Promiscuous Mode 打 開 則 我 們 就 沒 有 辦 法 收 到 Server 回 應 的 訊 息 。. 13. 逢甲大學 e-Paper (92學年度).

(20) Attacks on the DHCP protocol. 圖 3.2-1 攻 擊 程 式 的 執 行 流 程 圖. 14. 逢甲大學 e-Paper (92學年度).

(21) Attacks on the DHCP protocol. 3、3 DHCP Server 攻擊的實做 本 研 究 所 使 用 的 程 式 為. ISC(Internet Software. Consortium)於 2002 年 所 開 發 的 DHCP Server 與 Client 端 程 式 。 Server 的 程 式 未 經 任 何 修 改 , 而 Client 端 程 式 已 修 改 成 可 以 利 用 第 三 章 所 描 述 之 漏 洞 攻 擊 Server,其 攻 擊 目 的 在 於 取 得 Server 端 的 所 有 IP, 使 其 無 可 用 的 IP address 配 置 給 其 他 的 Client 端 用 戶 。 以 下 圖 片 為 攻 擊 程 式 執 行 的 過 程及執行結果. DHCP Server 已於前 景執行. 圖 3.3-1 啟 動 DHCP Server. 15. 逢甲大學 e-Paper (92學年度).

(22) Attacks on the DHCP protocol. 攻擊程式啟動. 攻擊程式隨機產生 的 MAC address. DHCP protocol 取 攻擊程式取得的 IP 位址. 得 IP 位址的流程. 圖 3.3-2 攻擊程式取得第一個 IP 位址. 16. 逢甲大學 e-Paper (92學年度).

(23) Attacks on the DHCP protocol. 攻擊程式取 得的第一個 IP 位址. 攻擊程式取 得的第二個 IP 位址. IP 位址的 Renewal time. 攻擊程式取得 IP 位址的個數. 圖 3.3-3 攻擊程式取得第二個 IP 位址 第 三 個 以 後 的 IP 取 得 方 式 均 與 圖 3.3-2 與 圖 3.3-3 的 取 得 過 程 相 同 , 因 此 本 文 在 此 不 將 攻 擊 程 式 每 一 個 IP 位 置 的 取得過程一一說明。 在 攻 擊 程 式 中 以 連 續 送 出 四 個 DHCPDISCOVER 封 包 但 未 收 到 Server 回 應 的 DHCPOFFER 封 包 作 為 攻 擊 結 束 與 否 的 依 據 。 在 Server 端 程 式 的 畫 面 中 可 以 清 楚 的 看 到 Server 印 出 ” no free lease” 的 訊 息 , 表 示 Server 所 有 可 用 的 IP 位 址 已 被 攻 擊 程 式 取 走 , 故 無 IP 可 用 。 17. 逢甲大學 e-Paper (92學年度).

(24) Attacks on the DHCP protocol. 攻擊程式連續 送出四個 DISCOVER 但 並未收到 Server 的回應. 印出攻擊成功的訊 息並等待 Renew. 圖 3.3-4 攻 擊 程 式 成 功 取 得 所 有 IP 位 址. 18. 逢甲大學 e-Paper (92學年度).

(25) Attacks on the DHCP protocol. 被攻擊後的 Server 因為已無 IP 位址可 用,故印出”no free lease”的訊息以供 網管人了解. 圖 3.3-5 攻 擊 後 的 DHCP Server. 19. 逢甲大學 e-Paper (92學年度).

(26) Attacks on the DHCP protocol. 第一個 IP 位址的租約時間已 到,故送出 REQUEST 封包要 求延長租約 成功取得新的租約時間. 圖 3.3-6 攻 擊 程 式 執 行 Renew 功 能. 20. 逢甲大學 e-Paper (92學年度).

(27) Attacks on the DHCP protocol. 第四章 DHCP Server 的保護 本 研 究 所 探 討 的 DHCP 漏 洞 乃 因 為 Hardware address 為 Server 唯 一 可 識 別 Client 的 依 據 , 但 Hardware address 又 是 Client 端 程 式 可 以 隨 機 產 生 的 , 故 我 們 無 法 從 協 定 的 角 度 來 做 防 護 , 只 有 利 用 DHCP 以 外 的 機 制 來 彌 補 漏 洞 。 本 研 究 在 此 提 出 下 列 幾 種 可 能 的 DHCP Server 保 護 的 方 法 。. 4、1 網路卡實體位址(MAC ADDRESS)管理 基 本 上 DHCP protocol 中 並 沒 有 針 對 "使 用 者 "來 認 證 , 而 是 針 對 網 路 卡 來 認 證 , 大 部 分 的 DHCP Server 都 可 以 設 定 僅僅接受某些卡號的連線,網路卡號必須先由網路管理者註 冊 後 方 可 使 用 該 無 線 網 路 基 地 台 。 以 ISC 提 供 的 程 式 為 例 , 它 提 供 一 個 Server 的 設 定 檔 , 使 網 路 管 理 員 可 以 設 定 哪 些 IP 只 能 配 置 給 哪 些 特 定 的 Hardware address, 如 此 即 使 Client 可 以 隨 機 產 生 MAC address 但 因 其 隨 機 的 MAC address 無 法 與 設 定 檔 中 所 指 定 的 MAC address 相 吻 合 , 故 Server 不 會 將 IP 配 置 給 Client, 故 可 達 到 保 護 Server 的 目的。. 4、2 802.1x 使用者認證 IEEE 802.1x 於 2001 年 七 月 獲 IEEE 核 可 , 是 目 前 無 線 網 路 上 最 理 想 的 身 分 認 證 與 密 鑰 管 理 協 定 。 透 過 802.1x 能將無法通過認證的使用者隔絕於網路之外,使其無法利用 任 何 網 路 資 源。802.1x 原 本 是 為 了 "有 線 "的 乙 太 網 路 來 設 計 以 "埠 "(port)為 基 礎 的 認 證 機 制 , 而 在 無 線 網 路 的 應 用 上 , 利 用 其 認 證 機 制 (可 結 合 後 端 之 RADIUS(Remote Access Dial. 21. 逢甲大學 e-Paper (92學年度).

(28) Attacks on the DHCP protocol. In User Service)認 證 伺 服 器 )來 確 認 使 用 者 之 身 分 , 並 利 用 "動 態 "WEP 加 密 來 防 止 資 料 被 竊 聽 。 802.1x 的 主 要 成 員 包 括 下 列 四 者 : ○ Authenticator: 要求並且接受未受信任端網路節點的認證請求的 實體。 ○ Supplicant: 請 求 網 路 存 取 權,並 且 需 接 受 Authenticator 的 認證稽核。 ○ Port Access Entity(PAE): 具 有 Authenticator, Supplicant 或 兩 者 的 功 能 ( 也 是 指 AP 的 初 始 狀 態 , 因 為 AP 本 身 也 要 通 過 RADIUS 認 證 才 能 夠 當 作 Authenticator)。 ○ Authentication Server: 對 Authenticator 提 供 身 分 認 證 服 務 的 實 體 , 可 能 與 Authenticator 存 在 同 一 主 機 內,但 大 多 數 的狀況下是一台獨立的伺服器。. 圖 4.2-1 802.1x 的架構. 在正式介紹無線網路的認證機制之前,在無線網路安全 架 構 下 (802.11i)將 會 引 入 802.1x Port-Based Network Access Control 的 機 制 。 當 Access Point 與 Radius Server 22. 逢甲大學 e-Paper (92學年度).

(29) Attacks on the DHCP protocol. 進 行 Radius Protocol 的 協 議 流 程 時 , 如 果 Access Point 收 到 Access-Reject 的 封 包 , 就 表 示 該 使 用 者 認 證 失 敗 , 被 Radius Server 拒 絕 登 入 , 如 果 Access Point 收 到 Access-Accept, 就 表 示 該 使 用 者 認 證 成 功 , Radius Server 同意其登入網域,之後只要是由該使用者經過認證的主機所 送 出 的 封 包 , 經 過 Access Point 時 就 會 放 行 通 過 , 此 種 機 制 即 稱 作 Port-Based Network Access Control。 透 過 這 樣 的 機 制 , Access Point 可 以 用 來 過 濾 沒 有 經 過 後 端 認 證 伺 服 器 (Radius Server)許 可 的 使 用 者 封 包 。 無 線 網 路 認 證 的 機 制 包 含 著 EAPOL、 EAP 與 Radius Protocol。 以 下 就 以 這 三 種 機 制 分 別 敘 述 : 1 EAPOL(EAP Over Lan): EAPOL 是 屬 於 無 線 網 路 協 定 裡 IP Layer 以 下 的 通 訊 協 定 , 可 以 讓 使 用 者 在 未 經 過 EAP 認 證 登 入 以 前 的 封 包 , 透 過 EAPOL 傳 送 , 經 由 Access Point 與 後 端 AAA (Authentication, Authorization, and Accounting) Server 進 行 認 證 。 2 EAP(Extensible Authentication Protocol): EAP 是 PPP(Point-to-Point Protocol) 的 延 伸 , 主 要 用 來 在 PPP 中 提 供 額 外 的 認 證 機 制 , 以 提 供 遠端登入的認證機制,基於不同的安全需求與使用考 量 , EAP 提 供 了 不 同 的 認 證 方 式 , 主 要 有 MD5-Challenge、 TLS(Transport Level Security)。. ○ EAP-MD5 CHAP(Extensible Authentication Protocol- Message Digest5 Challenge Handshake Authentication Protocol):. 23. 逢甲大學 e-Paper (92學年度).

(30) Attacks on the DHCP protocol. 其 中 Client 端 一 開 始 會 先 送 出 EAPOL-Start 的 訊 息 , 如 果 網 路 上 有 支 援 802.1x 服 務 的 Access Point, 該 Access Point 一 收 到 EAPOL-Start 的 訊 息 就 會 透 過 EAPOL 送 出 EAP-Packet, 也 就 是 EAP-Identity 用 來 要 求 使 用 者 確 認 身 份,使 用 者 端 程 式 收 到 EAP-Identity 之 後,就 會 要 求 使 用 者 輸 入 帳 號 與密碼。 使 用 者 輸 入 之 後 , 就 會 先 把 帳 號 送 給 Access Point, Access Point 與 後 端 網 路 上 的 Radius Server 使 用 的 通 訊 協 定 為 Radius Protocol, 在 收 到 使 用 者 的 EAP 訊 息 後,就 會 把 EAP 訊 息 加 到 Radius Protocol 的 Attribute 後 送 出 給 Radius Server。 再 來 Radius Server 會 送 出 Access-Challenge(Radius Protocol) 給使用者,使用者端的程式收到後,就會把使用者的 密 碼 經 由 Hash 後 產 生 的 結 果 透 過 Access Point 以 Access-Request 送 回 給 Radius Server。 在 Radius Server 端 收 到 這 項 要 求 後,就 會 根 據 自 己 所 管 理 的 使 用 者 帳 號,根 據 其 密 碼 也 同 樣 經 過 Hash 處 理 比 對 兩 者 是 否 一 致 , 如 果 一 致 的 話 , 就 會 送 出 Access-Accept 的 訊 息 給 Access Point, 如 果 兩 者 不 同 , 表 示 該 使 用 者 的 身 份 確 認 上 有 誤 , 就 會 送 出 Access-Reject 給 Access Point, 當 Access Point 收 到 該 訊 息 後 , 就 會 對 使 用 者 送 出 EAPOL-Fail 的 訊 息 , 此 時 使 用 者 端 的 802.1x 程 式 就 會 顯 示 出 無 法 登 入 的 訊 息,並 且 要 求 使 用者再次輸入正確的使用者帳號與密碼,便於進行下 一 次 的 登 入 嘗 試 。 圖 4.2-2 顯 示 整 個 EAP-MD5 的 運 作 流程。. 24. 逢甲大學 e-Paper (92學年度).

(31) Attacks on the DHCP protocol. 圖 4.2-2 EAP-MD5 的 運 作 流 程. 25. 逢甲大學 e-Paper (92學年度).

(32) Attacks on the DHCP protocol. ○ EAP-TLS(Extensible Authentication Protocol-Transport Level security): EAP-TLS 以 Certificate 方 式 認 證 , 也 就 是 說 每 個 使 用 者 在 使 用 EAP-TLS 認 證 的 服 務 以 前 , 都 必 須 要 先 取 得 網 路 上 負 責 認 證 CA 的 Certificate, Certificate 的 存 放 可 以 透 過 Smart Card,磁 片 或 是 經由網路下載後安裝。 EAP-TLS 的 好 處 在 於 使 用 者 端 與 Radius Server 端 可 以 共 同 產 生 一 把 用 來 加 密 無 線 網 路 資 料 的 WEP Session-Key, Access Point 端 收 到 Radius-Acess 的 訊 息 時 , 其 中 就 會 有 一 個 欄 位 夾 帶 著 Session Key, Access Point 端 要 透 過 與 Radius Server 彼 此 共 同 擁 有 的 Shared Key 與 其 他 資 料 , 來 解 開 這 把 Session Key。 之 後 根 據 要 指 定 使 用 者 使 用 不 同 的 Brocast Key 與 Session Key 的 考 量 , 分 別 送 出 設 定 使 用 者 這 兩 把 Key 的 EAPOL 封 包 。 之 後 使 用 者 端 與 Access Point 就 會 透 過 設 定 好 的 WEP Key 來 加 密 通 訊 資 料,所 以 說 透 過 這 樣 的 方 式, 我 們 可 以 定 義 出 動 態 設 定 WEP Key 的 機 制 , 也 就 是 說 可 以 週 期 性 的 送 出 要 求 更 改 WEP Key 的 EAPOL 封 包,讓 使 用 者 端 與 Access Point 兩 邊 彼 此 都 擁 有 不 固 定 的 WEP Key 加 密 機 制 。 3 Radius(Remote Authentication Dial In User Service) Protocol: 主 要 用 來 提 供 Authentication 機 制 , 用 來 辨 認 使 用 者 的 身 份 與 密 碼 , 確 認 通 過 之 後 , 經 由 Authorization 授權使用者登入網域使用相關資源,並可提供. 26. 逢甲大學 e-Paper (92學年度).

(33) Attacks on the DHCP protocol. Accounting 機 制 , 保 存 使 用 者 在 網 路 上 的 活 動 記 錄 。 RADIUS 以 MAC address 的 作 為 使 用 認 證 資 訊 以 批 准 或 拒 絕 進 入 網 路 。 Access Point 的 作 用 如 同 一 個 RADIUS 用 戶,它可收集用戶認證資訊並把這些資訊傳送到指定的 RADIUS 伺 服 器 上 。 RADIUS 伺 服 器 的 作 用 一 是 接 收 用 戶 的各種連接請求;二是處理各種請求以鑒別用戶;三是 通 過 向 用 戶 提 供 服 務 所 必 須 的 資 訊 對 Access Point 做 出 回 應 。 Access Point 對 RADIUS 伺 服 器 的 回 復 回 應 起 作 用,許可或拒絕對網路的接入。各種認證特徵內嵌於 RADIUS 伺 服 器 中 。 在 Access Point 和 RADIUS 伺 服 器 之 間的各種處理程式都通過使用一個從不在網路上傳送的 共用密碼進行認證,而各種密碼都是經過加密的。. 當 Client 經由上述的方法向 RADIUS Server 取得認證的同時, RADIUS Server 也將其認證資訊(如:Client 端的 MAC address、通 過認證的 Ticket)傳送給 DHCP Server,以告知 DHCP Server 某個 Client 的 MAC address 必須對應到 RADIUS 所發出的 Ticket,如此即 使攻擊程式可以產生隨機的 MAC address 但因為這些 MAC address 並 沒有經過 RADIUS 認證所以沒有可通行的 Ticket,所以 DHCP Server 也不會配置 IP 位址給 Client,如此以達到保護 DHCP Server 的目的。. 27. 逢甲大學 e-Paper (92學年度).

(34) Attacks on the DHCP protocol. 802.1X 之保護架構圖. 4、3 Authentication for DHCP Messages: RFC 3118 定義了一種新的 DHCP 認證方式,可同時提供實體認證 (entity authentication)和訊息認證(message authentication), 來確保 DHCP message 的來源和內容能正確無誤以避免一些常見的攻擊。 DHCP message 的格式和欄位在前面已經介紹過了,其中有一個 欄位稱為 options,是 DHCP protocol 指派給用戶端的位址設定參數。 雖然該擴充選項可以由廠商或使用者自行新增,但是大部分的內容均 已事先根據 RFC 1542 所定義的選項參數完成定義。而 RFC 3118 所 討論的即是對這欄位加以應用,將所謂的 DHCP 認證選項(DHCP authentication option)塞進 options 欄位裡,來實做 DHCP 的認證。 ○DHCP 認證選項的格式(Format of DHCP authentication option):. 28. 逢甲大學 e-Paper (92學年度).

(35) Attacks on the DHCP protocol. 圖 4.3-1 Format of DHCP authentication option. Filed. Description. Code. For authentication option is 90.. Length. Contain the length of Protocol, RDM, Algorithm, Replay Detection and Authentication Information fields in octets.. Protocol. Define the particular technique for authentication option.. Algorithm. Define the specific algorithm according to the Protocol field.. RDM. Determine the type of replay. 29. 逢甲大學 e-Paper (92學年度).

(36) Attacks on the DHCP protocol. (Replay Detection Method) detection used in the Replay Detection field. Replay Detection. The field is per the RDM in use.. Authentication. The field is per the Protocol in use.. Information 表 4.3-1 Fields of DHCP authentication option. 其中 Protocol filed 主要有兩個數值分別是 0 和 1,各自代表兩 種 不同的認證方式。描述如下: ○If Protocol is 0: 此時 Authentication Information field 握有一簡易的組態 標記(configuration token),該組態標記是個不透明的 (opaque),未加以編碼的(unencoded)的值(value),發送端和接收 端(sender and receiver,在此先不管是 Client 或 Server)之間 都能知道該值。發送端將 configuration token 插入 DHCP message,接收端收到後從 DHCP message 取出該 configuration token 並配對(match)為共享標記(shared token),這樣以後,如 果有來自任何發送端的 DHCP message. 其 configuration. 30. 逢甲大學 e-Paper (92學年度).

(37) Attacks on the DHCP protocol. token 如未與 shared token 符合的話,接收端將丟棄該 DHCP message。事實上 Configuration token 可能使用了純文字的符號 密碼,只提供了陽春的 entity authentication,而且沒有提供 message authentication,不能做到完整的保護。. 圖 4.3-2 when protocol field is 0 ○If Protocol is 1:. 圖 4.3-3 Interation between DHCP Client and Server using protocol 1. 31. 逢甲大學 e-Paper (92學年度).

(38) Attacks on the DHCP protocol. 在該 Protocol 裡,DHCP message 使用了一種稱為延遲認證 (delayed authentication)的機制。以下就 Server 和 Client 之間 的行為來分別描述 DHCP message: 1.DHCPDISCOVER: 一開始,Client 會藉由發送 DHCPDISCOVER 和一個能夠 向 Server 證明 Client 本身是獨一無二的的”client identifier option”(文中並未說明是如何傳遞該 client identifier option 給 Server)來向 Server 要求認證 (authentication)。 2.DHCPOFFER: Server 收到 DHCPDISCOVER 並確認為獨一無二後,會先針 對該 Client 選擇一個唯一的 key,K,每一個 K 有一個唯一的 secret ID,也就是 unique identifier,Server 會將 K 和 unique identifier 紀錄在本機電腦,並透過”特殊安全管道 (out-of-band)”的方式將 K 傳送給 Client,再來會使用 K 來 編碼(encode)一個臨時值(nonce value)來作為訊息認證碼 (message authentication code, MAC),該訊息認證碼可使用 K 及 HMAC generation algorithm 和 the MD5 hash function 來計算出。然後送出包含 Authentication Information 的. 32. 逢甲大學 e-Paper (92學年度).

(39) Attacks on the DHCP protocol. DHCPOFFER 給 Client。 3.DHCPREQUEST: Client 收到 DHCPOFFER 後,會使用 K 來解碼 DHCPOFFER 的 Authentication Information,並進行所謂的 Message validation test,也就是算出 Authentication Information 裡面的 MAC 值,如果算出來的 MAC 與本機算出的 MAC 不符的話, Client 會丟棄該封包;否則 Client 將選擇該 DHCPOFFER 提供 的組態配置(configurations),並使用 K 編碼(encode)一個包 含 Authentication Information 的 DHCPREQUEST 並送給 Server。 4.DHCPACK: Server 收到 DHCPREQUEST 後利用 secret ID 來得知是哪個 K,再來同樣使用 K 來進行 Message validation test,如果通 過,Server 同樣使用該 K 編碼一個包含 Authentication Information 的 DHCPACK 並送出給 Client。 Client 在收到 DHCPACK 後同樣使用 K 來進行 Message validation test,如果通過,Client 則使用 Server 提供的 configuration。. 33. 逢甲大學 e-Paper (92學年度).

(40) Attacks on the DHCP protocol. 圖 4.3-4 The format of the authentication request in a DHCPDISCOVER or a DHCPINFORM. 圖 4.3-5. The format of the authentication information in a DHCPOFFER, DHCPREQUEST or DHCPACK. Field. Description. K. A secret value shared between the source and destination of the message; each secret value has a unique identifier (secret ID).. 34. 逢甲大學 e-Paper (92學年度).

(41) Attacks on the DHCP protocol. Secret ID. The unique identifier for the secret value used to generate the MAC for this message.. HMAC-MD5. The MAC generating function. 表 4.3-2 key words used in protocol 1. 5.Client 的其他狀態: 不管是在 INIT-REBOOT state、RENEWING state、 REBINDING state、或 DHCPRELEASE message,Client 都必須 使用 K 來產生有 Authentication Information 的 DHCP message 並送出給 Server。. 4、4 DHCP Server 保護的結論 在 上 述 章 節 中 , 本 研 究 提 出 了 三 種 DHCP Server 保 護 的 方法,其中第一種是利用網路卡號的管理作為保護,第二是 利 用 IEEE 802.1x 協 定 作 為 保 護 , 第 三 是 RFC3118 所 提 出 的 認證機制。 在這三種方法中,第二種方法需要多餘應體設備支援 (如:Access Point),且 在 802.1x 中 並 未 定 義 RADIUS Server 如 何 與 DHCP Server 傳 送 訊 息 , 因 此 使 用 802.1x 作 為 認 證 方 法 可 能 導 致 DHCP Server 無 法 知 道 RADIUS 的 認 證 訊 息 以 及 Server 與 Client 間 分 享 的 key 值 為 何 。 第三種方法雖然的確可以在現有的協定上做到認證的功 能 , 但 至 今 為 止 尚 無 人 將 RFC3118 中 所 提 到 的 機 制 寫 成 可 用 35. 逢甲大學 e-Paper (92學年度).

(42) Attacks on the DHCP protocol. 的 程 式 , 因 此 RFC3118 至 今 仍 純 屬 理 論 , 而 無 實 際 的 產 品 出 現。 綜觀以上除了第一種方法外,其他的保護方式似乎都仍 有 不 足 。 而 第 一 種 方 法 雖 然 可 以 做 到 保 護 Server 的 目 的 , 但 這 項 功 能 並 非 在 RFC2131 中 明 確 規 定 必 須 提 供 的 功 能 , 因 此 也 無 法 保 證 所 有 的 DHCP 程 式 都 有 支 援 此 項 功 能 , 況 且 以 網路卡號管理作為保護的方法,過程繁瑣且易於出錯,因此 這些種種的問題都還有待相關的研究機構解決。. 4、 5 DHCP Server 保 護 的 實 做 本 研 究 在 此 共 提 出 了 三 種 DHCP Server 保 護 的 機 制 , 但 因 IEEE 802.1x 與 Authentication for DHCP message 此 兩 種方法仍然存在著許多問題,因此本研究僅實做以網路卡號 管理作為保護的方法。以下即是實做過程。. 下 圖 即 為 DHCP Server 的 設 定 檔. 沒有任何限制的即 可取得的 IP 位址. 設定 ”140.134.27.21” 這個 IP 位址只能給 “00:80:C8:5A:8D:58” 圖 4.5-1 DHCP Server 的 設 定 檔 這個 MAC address 使用. 36. 逢甲大學 e-Paper (92學年度).

(43) Attacks on the DHCP protocol. 在 上 圖 中 DHCP Server 的 設 定 檔 中 可 以 明 確 的 看 到 ”140.134.27.21” 這 個 IP 位 址 只 能 給 “ 00:80:C8:5A:8D:58” 這 個 MAC address 使 用 , 因 此 攻 擊 程 式 僅 能 拿 到 ” 140.134.27.1” 到 ” 140.134.27.10” 這 個 範 圍 裡 面 的 IP 位 址 。. 攻擊程式僅能取得 10 個 IP 位址. 圖 4.5-2 攻 擊 程 式 攻 擊 有 保 護 的 DHCP Server. 37. 逢甲大學 e-Paper (92學年度).

(44) Attacks on the DHCP protocol. 被攻擊的 Server 同樣印 出”no free lease”的訊息. 圖 4.5-3 被 攻 擊 後 的 Server. 38. 逢甲大學 e-Paper (92學年度).

(45) Attacks on the DHCP protocol. 符合 DHCP Server 設定檔中所指定 的 MAC address. 取得”140.134.27.21”此 一 IP 位址. 圖 4.5-4 取 得 IP 位 址 的 合 法 Client. 39. 逢甲大學 e-Paper (92學年度).

(46) Attacks on the DHCP protocol. 圖 4.5-5 保 護 下 的 Server 仍 可 運 作 在 上 圖 中 我 們 可 以 發 現,即 使 Server 已 經 沒 有 可 用 的 IP 位 址 , 但 因 為 攻 擊 程 式 隨 機 產 生 MAC address 無 法 取 得 設 定 檔 中 已 經 鎖 死 的 IP 位 址 ” 140.134.27.21” 因 此 當 合 法 的 Client 進 入 DHCP Server 時 它 仍 可 取 得 IP 位 址,因 此 Server 提供的服務才不至於中斷。. 40. 逢甲大學 e-Paper (92學年度).

(47) Attacks on the DHCP protocol. 第六章. 結論. DHCP 已 經 是 目 前 最 常 被 使 用 的 動 態 IP 調 適 機 制 , 其 能 夠 動 態 配 置 IP 的 特 性 大 幅 的 解 決 IP 位 址 不 足 的 問 題,亦 對 於 網 路 的 使 用 者 帶 來 莫 大 的 便 利 性 , 但 DHCP protocol 卻 因 無 有 效 的 認 證 機 制 使 得 Server 所 能 夠 提 供 的 IP 位 址 可 能 被 同 一 個 Client 拿 走 , 導 致 Server 提 供 服 務 的 功 能 中 斷 。 這 一點在本文的第三章已經有明確的實做。 關 於 此 一 安 全 性 的 問 題,雖 有 許 多 人 士 提 出 可 能 的 解 決 方法,但除了利用網路卡號管理作為保護的方法外,其他的 方 式 都 仍 有 待 討 論 。 這 也 是 目 前 DHCP protocol 中 最 大 的 隱 憂。也因為如此,本研究在此希望在短期之內可將網路卡號 管 理 納 入 DHCP protocol 的 一 部 分 以 暫 時 提 供 網 路 管 理 人 員 解 決 此 一 問 題 的 方 法 。 但 就 長 遠 來 看 , DHCP protocol 還 是 必 須 把 Server 與 Client 間 的 認 證 機 制 當 作 協 定 層 的 一 部 分 來設計,如此方可提供有效且完整解決方法。. 41. 逢甲大學 e-Paper (92學年度).

(48) Attacks on the DHCP protocol. 參考文獻 [1] R. Droms ,“Dynamic Host Configuration Protocol”,RFC2131, March 1997 [2] S. Alexander, R. Droms ,“DHCP Options and BOOTP Vendor Extensions”, RFC2132, March 1997 [3]. C. Rigney, S. Willens, A. Rubens, W. Simpson, “Remote Authentication Dial In User Service (RADIUS)”, RFC2865, June 2000. [4] R. Droms, W. Arbaugh ,“Authentication for DHCP Messages”, RFC3118, June 2001 [5] http://www.isc.org/products/DHCP/ [6]Felix Lindner,“Attacks on the DHCP Protocol”, http://www.nruns.com/filebase/download/wp/exploiting_dor [7] http://www.ringchain.com.tw/products/index_3.asp [8] http://home.kimo.com.tw/hunglinchou/WirelesSecurity.htm [9]http://www.ieee802.org/1/files/public/docs2003/EAP-1X-Ma chines-0307.pdf [10] http://www.informit.com/ [11] R. Droms, W. Arbaugh, draft-ietf-dhc-authentication, “Authentication for DHCP Messages”, June 1999. 42. 逢甲大學 e-Paper (92學年度).

(49)

數據

圖 2.2-1  Server 與 Client 封 包 傳 送 時 間 關 係 圖
圖 2.4-1 為 Client 的 狀 態 轉 移 圖,以 顯 示 Client 於 DHPC 中 的 工 作 流 程 , 本 節 即 以 此 圖 說 明 Client 的 Behavior
圖 3.2-1 攻 擊 程 式 的 執 行 流 程 圖
圖 3.3-2 攻擊程式取得第一個 IP 位址 攻擊程式啟動攻擊程式隨機產生的 MAC address DHCP protocol 取得 IP 位址的流程攻擊程式取得的IP 位址
+7

參考文獻

相關文件

These types of attacks are what we call algebraic replay attacks targeting the challenge- response mechanism in authentication protocols, attribute acquisition attacks on

「資訊證照 門檻、「英 語檢定門 檻」. 多修之學 分數得認

「資訊證照 門檻、「英 語檢定門 檻」. 多修之學 分數得認

「資訊證照 門檻、「英 語檢定門 檻」. 多修之學 分數得認

數學上有很多的定義,也有很多定理,定理是必須經過證明才能確立的事

多修之 學分數得 認列為自 由選修 2... 外語證照及系證照門檻通過後,務必將『證照正本』送語言中心及系

™ 不過, 如果 DHCP 用戶端不接受 DHCP 伺服器 所提供的參數, 就會廣播一個 DHCP Decline (拒絕) 封包, 告知伺服器不接受所建議的 IP位 址 (或租用期限…等)。然後回到第一階段, 再度

「資訊證照 門檻、「英 語檢定門 檻」. 多修之學 分數得認