111 身心障礙特考三等 資訊處理 資通網路 考古題詳解
第 一 題25 分
由於 IPv4 的位址空間不敷全世界的網際網路所使用,因此有人提出 128 位元的 IP version 6(IPv6)。請回答下列問題: (一) IPv6 不支援 Broadcast address type(因為 是一個很巨大的數目)。請問 IPv6 支援那三種 address types?(7分) (二) IPv6 的 header 中有制定 traffic class 與 flow label 欄位。請利用這兩個欄位,搭配路由與資源配置機制來說明 IPv6 如何支援 QoS 所制定的 IntServ 與 DiffServ 兩種服務架構?(18分)
登入後即可作答並保存紀錄。
核心觀念
本題考查 IPv6 的:
- 位址型態:IPv6 不使用 Broadcast,而以 Multicast 取代。
- IPv6 基本標頭中的:
- Traffic Class:8 位元,用於封包分類、優先權、壅塞通知及服務品質處理。
- Flow Label:20 位元,用於識別同一資料流,使路由器能對該資料流採取一致的處理方式。
- QoS 的兩種主要服務架構:
- IntServ(Integrated Services,整合式服務)
- DiffServ(Differentiated Services,差異化服務)
解題方法
本題分為兩部分:
- 第一部分直接列出 IPv6 的三種位址型態,並說明其功能。
- 第二部分先解釋 Traffic Class 與 Flow Label 的用途,再分別對照 IntServ 與 DiffServ 的資源配置、路由器狀態及封包處理方式。
(一)IPv6 支援的三種 Address Types
IPv6 支援下列三種位址型態:
1. Unicast Address(單播位址)
單播位址代表單一網路介面,封包由來源端傳送至一個特定目的端。
例如:
- 一台主機的全球單播位址
- 一台路由器介面的位址
其傳送關係為:
IPv6 的 Global Unicast Address 功能類似 IPv4 的公用單播位址。
2. Multicast Address(多播位址)
多播位址代表一組接收者。封包傳送至多播群組後,只有加入該群組的介面會接收封包。
其傳送關係為:
IPv6 使用 Multicast 取代 IPv4 的 Broadcast。例如:
ff02::1:Link-local scope 的所有節點ff02::2:Link-local scope 的所有路由器
IPv6 沒有傳統的 Broadcast Address,若要傳送給區域網路上的所有節點,通常使用適當範圍的 All Nodes Multicast Address。
3. Anycast Address(任播位址)
任播位址可配置給多個介面,但封包只會送至其中「距離最近」或依路由成本判定最佳的一個介面。
其傳送關係為:
Anycast 常用於:
- 尋找最近的 DNS 伺服器
- 提供具備備援能力的服務
- 將使用者導向拓撲距離較近的伺服器
路由器會依路由表及路由協定計算出的最佳路徑,選擇其中一個 Anycast 接收端。
(二)IPv6 如何支援 IntServ 與 DiffServ
IPv6 Header 相關欄位
1. Traffic Class
Traffic Class 是 IPv6 基本標頭中的 8 位元欄位,主要用途包括:
- 封包分類
- 指定優先權
- 指定服務處理類別
- 表示壅塞狀態
在 DiffServ 架構中,Traffic Class 通常承載 DS Field,其中主要包含 DSCP(Differentiated Services Code Point),供路由器依不同服務類別執行不同的 Per-Hop Behavior(PHB)。
Traffic Class 的 8 位元可表示:
種欄位值,但實際使用方式須依相關服務及標準定義。
2. Flow Label
Flow Label 是 IPv6 標頭中的 20 位元欄位,用於識別資料流。
同一資料流的封包通常具有相同的:
- Source Address
- Destination Address
- Flow Label
路由器可根據 Flow Label 快速辨識封包所屬的資料流,並對該資料流採用一致的:
- 路由路徑
- 排程方式
- 佇列處理
- 頻寬配置
- 延遲及抖動控制策略
Flow Label 可表示的數值數量為:
Flow Label 本身不等於資源保證,也不直接完成頻寬預約;它是供網路設備識別及處理資料流的標記,必須搭配 RSVP、排程器、佇列管理及路由機制,才能形成完整 QoS 服務。
1. IntServ(Integrated Services)
核心概念
IntServ 以「逐一資料流」為單位提供 QoS。每一個資料流都可提出特定的服務需求,例如:
- 最低頻寬
- 最大延遲
- 最大抖動
- 封包遺失率限制
其特色是提供較明確的端到端資源保證,但路由器必須維護每一條資料流的狀態。
IPv6 欄位與 IntServ 的搭配
(1)Flow Label 識別資料流
來源端為同一資料流的 IPv6 封包設定相同的 Flow Label。路由器依下列資訊辨識資料流:
路由器可利用此識別資訊,將同一資料流的封包導向相同路徑及相同 QoS 處理佇列。
(2)Traffic Class 指定優先處理方式
Traffic Class 可用來表示該資料流的優先等級或服務類別。例如:
- 即時語音需要低延遲
- 視訊需要穩定頻寬
- 一般資料可採用 Best Effort
路由器可依 Traffic Class 將封包放入不同佇列,並設定不同的排程優先權。
(3)使用 RSVP 進行資源預約
IntServ 通常搭配 RSVP(Resource Reservation Protocol)進行資源預約。接收端提出資源需求後,RSVP 訊息沿著資料傳送路徑建立預約,各中間路由器執行:
- 確認路徑及流量需求。
- 檢查本身是否有足夠頻寬、緩衝區及處理能力。
- 進行 Admission Control(允入控制)。
- 若資源足夠,為該資料流建立狀態並保留資源。
第 二 題25 分
請解釋與說明下列各問題: (一) 何謂深度封包檢測(Deep Packet Inspection)?(8分) (二) 常見的深度封包檢測會結合網路安全服務上的那三種類別的功能?(9分) (三) 對於一個被分類的封包,會採取什麼樣的措施?請舉出其中的四種。(8分)
登入後即可作答並保存紀錄。
核心觀念
本題考查深度封包檢測(Deep Packet Inspection, DPI)的定義、常見整合功能,以及封包分類後的處置方式。重點在於區分:
- 一般封包過濾:主要檢查標頭資訊。
- 深度封包檢測:進一步檢查封包內容與應用程式層資訊。
DPI 通常依據封包標頭、通訊內容、應用程式協定、使用者行為與流量特徵進行分類,再依安全政策採取相應措施。
(一)何謂深度封包檢測?(8分)
深度封包檢測是指網路設備不僅檢查封包的標頭資訊,例如來源與目的 IP 位址、通訊埠號、傳輸協定,也進一步檢查封包有效負載(payload)及應用程式層內容,以辨識封包所屬的應用程式、服務、內容類型或安全威脅。
其檢查範圍可包含:
- 網路層資訊:來源 IP、目的 IP。
- 傳輸層資訊:TCP 或 UDP、來源埠、目的埠。
- 應用層資訊:HTTP、DNS、FTP、SMTP、VoIP、P2P 等協定。
- 內容特徵:惡意程式碼、病毒特徵、異常指令或不當內容。
- 流量行為:封包頻率、連線模式、流量大小與異常通訊行為。
DPI 常透過特徵比對(signature matching)、協定分析、狀態追蹤及行為分析進行判斷。因此,它能辨識「這是 HTTP 封包」以外的更細緻資訊,例如「這是社群網站中的影音串流」、「這是 P2P 傳輸」或「這是疑似攻擊流量」。
與一般封包過濾的差異
一般封包過濾多依下列條件判斷:
DPI 則會再加入應用程式內容與行為特徵:
因此,DPI 能處理使用相同埠號但承載不同應用程式的流量,也能發現隱藏在正常協定中的攻擊或違規內容。
(二)DPI 常結合的三種類別功能(9分)
常見 DPI 系統會整合下列三大類功能:
1. 防火牆與存取控制功能
此類功能依據安全政策決定封包是否可以通過,例如:
- 允許或拒絕特定 IP 位址。
- 封鎖特定通訊埠。
- 禁止特定應用程式或網站。
- 依使用者、群組、時間或地點設定存取規則。
傳統防火牆主要依網路位址與埠號判斷,結合 DPI 後可以進一步依應用程式及內容進行控制。
2. 入侵偵測與入侵防禦功能
此類功能用於辨識網路攻擊與可疑行為,包括:
- 病毒、木馬、蠕蟲等惡意程式。
- SQL Injection、跨網站攻擊等應用層攻擊。
- 連接埠掃描、暴力破解。
- 分散式阻斷服務攻擊。
- 異常封包或違反協定規範的流量。
其中,入侵偵測系統(IDS)偏重於發現與告警;入侵防禦系統(IPS)則可在發現威脅後主動阻擋或丟棄封包。
3. 流量管理與服務品質控制功能
此類功能依應用程式、使用者或流量類型進行頻寬與優先權管理,例如:
第 三 題25 分
SNMP(Simple Network Management Protocol)提供了簡單的設備維運狀態監控之功能。SNMP 的指令是以 Object Identifier(OID)來查詢及回傳設備的狀態資訊。在網路安全的考量下,已知使用 SNMP 會產生以下的資安威脅。請解釋與舉例說明下列兩種資安威脅: (一) 竊取系統資訊。(12分) (二) 盜用密碼及竄改設定。(13分)
登入後即可作答並保存紀錄。
核心觀念
本題考查 SNMP 的運作方式、OID 與 MIB 的關係,以及 SNMP 在未妥善設定安全機制時所產生的兩類資安風險。
SNMP 採用管理者與代理者架構:
- SNMP Manager:網路管理系統,用來查詢或設定設備。
- SNMP Agent:執行於路由器、交換器、伺服器等設備上的代理程式。
- MIB(Management Information Base):設備管理資訊的資料庫。
- OID(Object Identifier):MIB 中每項管理資訊的唯一識別碼。
- GET:查詢設備資訊。
- SET:修改設備參數。
- TRAP/INFORM:設備主動回報事件。
SNMPv1、SNMPv2c 通常使用 community string 作為驗證資訊,例如 public、private。此資訊多以明文傳送,且其安全性遠低於具備驗證與加密功能的 SNMPv3。
解題方法
本題可依照「查詢可讀資訊」與「驗證資訊及寫入權限」兩個方向作答:
- 說明攻擊者如何利用 SNMP 的 GET 或封包監聽取得設備資訊。
- 說明攻擊者如何取得 community string 或其他驗證資料。
- 說明取得寫入權限後,如何利用 SET 竄改設備設定。
- 以具體 OID、封包或設備設定作為例子,完整呈現威脅與影響。
(一)竊取系統資訊
1. 威脅原理
若設備開啟 SNMP,且允許不特定來源查詢,攻擊者可利用 SNMP GET、GETNEXT 或 WALK 指令,依 OID 查詢 MIB 中的管理資訊。
SNMP 所回傳的內容不只包含設備名稱,也可能包括:
- 設備廠牌、型號與作業系統版本
- 主機名稱與網路位置
- 網路介面名稱、IP 位址與 MAC 位址
- 介面流量、錯誤封包與連線狀態
- 路由表、ARP 表與 VLAN 資訊
- CPU、記憶體及儲存空間使用率
- 執行中的服務或軟體資訊
- 系統管理及網路拓撲相關資料
這些資訊本身未必直接造成入侵,但可用於建立目標設備的情報,協助攻擊者進行後續弱點掃描、版本漏洞攻擊與網路拓撲分析。
2. 具體例子
例如攻擊者知道某設備的 SNMP community string 為 public,便可執行 SNMP WALK,查詢下列常見 OID:
1.3.6.1.2.1.1.1.0:sysDescr,取得設備描述、硬體與作業系統版本。1.3.6.1.2.1.1.5.0:sysName,取得設備名稱。1.3.6.1.2.1.2.2.1.2:介面描述,取得網路介面資訊。1.3.6.1.2.1.4.21.1:IP 路由表相關資訊。
攻擊者從 sysDescr 得知設備使用某廠牌路由器及特定韌體版本,再依該版本尋找已知漏洞;從介面與路由表得知內部網段及伺服器位置,便可規劃更精確的攻擊路徑。
3. 資安影響
此類威脅屬於資訊洩漏與偵察型攻擊,主要影響包括:
- 暴露內部網路拓撲及設備位置。
- 暴露設備版本,使攻擊者容易對應已知漏洞。
- 洩漏網路介面、IP、MAC、VLAN 及路由資訊。
- 協助攻擊者鎖定重要主機或管理介面。
- 使後續的弱密碼攻擊、漏洞利用及阻斷服務攻擊更精準。
即使攻擊者只有讀取權限,仍能透過大量 OID 查詢掌握組織的網路環境。
(二)盜用密碼及竄改設定
1. 盜用 community string
在 SNMPv1、SNMPv2c 中,community string 兼具識別與簡易驗證作用,常見名稱包括:
public:通常用於讀取。private:通常用於寫入。
但 community string 並非真正的加密密碼。SNMP 封包若未經加密,攻擊者可在相同網段利用封包側錄工具擷取 community string。
例如管理者使用 public 查詢設備資訊,攻擊者監聽 UDP 161 埠的 SNMP 封包,即可直接看到封包中的 public 字串。若管理設備使用 private 作為寫入 community string,該字串遭竊取後,攻擊者便可能取得修改設備設定的權限。
2. 利用弱 community string 猜測
第 四 題25 分
乙太網路採用 CSMA/CD 及 CSMA/CA 通訊協定。 (一) 請用 Pseudo code 來描述 CSMA/CD 每個通訊節點的作業行為。(8分) (二) 當 CSMA/CA 運用到無線區域網路的環境,會造成隱藏式終端的問題(Hidden Terminal Problem,HTP)。請解釋何謂 HTP?(9分) (三) 如何在無線區域網路環境上避免 HTP 的發生?(8分)
登入後即可作答並保存紀錄。
核心觀念
本題考查兩種媒體存取控制方法:
- CSMA/CD(Carrier Sense Multiple Access with Collision Detection)
- 主要用於傳統半雙工乙太網路。
- 傳送前先聽取媒體是否忙碌。
- 傳送期間持續偵測碰撞。
- 發生碰撞後,所有碰撞節點執行退避,再重新競爭媒體。
- CSMA/CA(Carrier Sense Multiple Access with Collision Avoidance)
- 主要用於無線區域網路。
- 無線節點難以在傳送期間可靠偵測碰撞,因此採取「盡量避免碰撞」的方式。
- 隱藏式終端問題是無線網路中常見的碰撞來源。
(一)CSMA/CD 每個通訊節點的作業行為
解題方法
CSMA/CD 的作業流程可依序分為:
- 節點有資料要傳送。
- 先感測媒體。
- 媒體忙碌時持續等待。
- 媒體閒置時開始傳送。
- 傳送期間持續偵測是否發生碰撞。
- 若未碰撞且資料傳送完成,表示成功。
- 若發生碰撞,停止正常傳送並送出 jam signal,使其他節點得知碰撞。
- 根據 Binary Exponential Backoff 選擇隨機退避時間。
- 等待退避時間後重新傳送。
- 超過最大重傳次數則放棄該訊框並回報傳送失敗。
Pseudo code
CSMA_CD_Transmit(frame):
retry_count ← 0
while retry_count < MAX_RETRY do
while channel is busy do
wait
transmit(frame)
while frame transmission is not completed do
if collision is detected then
send jam signal
stop transmission
retry_count ← retry_count + 1
if retry_count = MAX_RETRY then
report transmission failure
return FAILURE
c ← min(retry_count, BACKOFF_LIMIT)
K ← random integer in [0, 2^c - 1]
wait K × slot_time
go to next transmission attempt
report transmission success
return SUCCESS
report transmission failure
return FAILURE
關鍵公式
Binary Exponential Backoff 的隨機退避時間為:
其中:
為第 次碰撞後的退避階段,通常採用:
傳統 IEEE 802.3 乙太網路的 slot time 為 bit times,重傳次數達到上限後即放棄傳送。
得分重點
- 傳送前進行 carrier sensing。
- 媒體忙碌時延遲傳送。
- 傳送期間偵測碰撞。
- 碰撞後送出 jam signal。
- 執行 Binary Exponential Backoff。
- 退避後重新傳送。
- 超過最大嘗試次數則放棄。
(二)隱藏式終端問題(HTP)
定義
隱藏式終端問題是指:兩個無線節點彼此位於對方的無線涵蓋範圍之外,無法互相感測到對方正在傳送,但兩者都能與同一個接收端通訊,因而同時傳送並在接收端發生碰撞。
典型情境
假設有三個節點:
A ─────> B <───── C
- A 與 B 在彼此的通訊範圍內。
- C 與 B 在彼此的通訊範圍內。
- A 與 C 距離太遠,彼此無法感測對方的訊號。
- A、C 都要傳送資料給 B。
當 A 先傳送資料給 B 時,C 感測不到 A 的訊號,便會判斷媒體閒置並開始傳送。結果 A 與 C 的訊號在 B 處重疊,造成 B 收到碰撞資料,導致訊框傳輸失敗。