110 中華郵政招考專業職(一) 系統操作 中華郵政專業職(一) (資訊科學概論) 考古題詳解
第 第一題 題25 分
請回答下列問題:
(一)已知某單位各台電腦的網路 IP 位址設定皆為 ,若單位內將 IP 位址(網段)分成八個等大小的子網路,則其電腦網路組態設定之子網路遮罩值為何?
(二) (1) IMAP(Internet Message Access Protocol)伺服器的作用為何?例如以 Google Gmail 系統為例。
(2) IMAP 4 協定和 POP 3 協定之主要差異為何?請說明之。
(三)電腦故障排除方法可以採用「替換法或比較法」的方式,請說明這兩種方式的概念。
(四)何謂電腦系統的 BIOS?寫出其英文全名,並說明其作用或功能為何?
登入後即可作答並保存紀錄。
(一)子網路遮罩
核心觀念
題目給定 IP 位址形式為 ,依一般私有網路規劃,視為原始網段為 。將一個網段切成八個等大小子網路,須借用主機位元中的子網路位元。
解題方法
八個子網路可表示為:
因此須借用 個位元作為子網路位元:
的子網路遮罩為:
換算成十進位:
第三個位元組的遮罩值 ,其區塊大小為:
所以各子網路的第三個八位元組起點依序為 ,共八個子網路。
解題技巧
切成 個子網路,就借用 個位元。原始為 ,切成八個網段便直接加 ,得到 。
【答案】子網路遮罩為:
亦可寫成:
(二)電子郵件協定
(1)IMAP 伺服器的作用
核心觀念
IMAP 是電子郵件的「收信與管理」協定,全名為 Internet Message Access Protocol。其主要用途是讓使用者端郵件軟體連線至郵件伺服器,直接查看、讀取、搜尋、分類及管理伺服器上的郵件。
以 Gmail 為例
使用者以 Gmail 網頁版、手機 App 或 Outlook 等郵件軟體登入 Gmail 時,IMAP 伺服器會:
- 提供伺服器上的郵件清單與內容。
- 同步郵件的已讀、未讀、刪除及標記狀態。
- 同步資料夾或標籤等郵件管理資訊。
- 讓多個裝置存取同一份伺服器郵件資料。
IMAP 的重點是郵件主要保存在伺服器,使用者端取得的是同步後的檢視與操作結果。
(2)IMAP4 與 POP3 的主要差異
核心觀念
IMAP4 與 POP3 都是收取電子郵件的協定,但設計理念不同:
| 比較項目 | IMAP4 | POP3 |
|---|---|---|
| 郵件主要儲存位置 | 郵件伺服器 | 通常下載至使用者端 |
| 多裝置同步 | 支援完整同步 | 同步能力有限 |
| 郵件管理 | 可直接管理伺服器上的郵件、資料夾及標記 | 以下載郵件為主 |
| 適用情境 | 多台裝置共同使用信箱 | 主要由單一裝置收信 |
| 離線使用 | 可同步部分郵件供離線閱讀 | 下載後適合離線閱讀 |
IMAP4 可將伺服器上的郵件狀態同步至多個裝置。例如在手機上將 Gmail 郵件標示為已讀,電腦登入同一帳號後通常也會顯示為已讀。
POP3 則通常在收信時將郵件下載到本機。郵件下載後是否保留伺服器副本,取決於郵件軟體設定;若未設定保留副本,郵件可能會從伺服器刪除,其他裝置便無法取得完整郵件。
解題技巧
可用一句話區分:
- IMAP4:郵件「留在伺服器,跨裝置同步」。
- POP3:郵件「下載到本機,以收信為主」。
此外,SMTP 主要負責寄信,IMAP4 與 POP3 主要負責收信,三者功能不可混淆。
【答案】
第 第二題 題25 分
請回答下列問題:
(一)記憶體分頁配置演算法或快取(caching)法有下列三種演算法:FIFO(First-In/First-Out)、LRU(Least Recently Used)及 LFU(Least Frequently Used),哪些是利用堆疊(stack)操作?並請分別說明這三種演算法。
(二)擴張樹(spanning tree)之應用甚廣,也有一些著名演算法,如 Kruskal’s、Prim’s 及 Sollin’s algorithms 等。若已知一無向性圖形(undirected graph)如【圖二】所示,請建構其最小成本擴張樹(minimum cost spanning tree),並計算最小成本值。
【圖二】
(三)Quick Sort 是一種「把大問題分成小問題處理」的 Divide and Conquer 方法。請說明 Quick Sort(快速排序法)的概念作法。
(四)Binary search 的時間複雜度(time complexity),若以 Big-O 函數表示為何?
登入後即可作答並保存紀錄。
第二題詳解
核心觀念
本題考查:
- 記憶體分頁或快取的替換演算法。
- 無向加權圖的最小成本擴張樹(Minimum Cost Spanning Tree, MST)。
- Quick Sort 的 Divide and Conquer 概念。
- Binary Search 的時間複雜度。
(一)FIFO、LRU、LFU 演算法
1. 使用堆疊(Stack)操作者
三者中,LRU 可利用堆疊操作實作。
每次存取某一頁面時,將該頁移至堆疊頂端:
- 堆疊頂端:最近使用的頁面。
- 堆疊底端:最久未使用的頁面。
- 發生置換時,淘汰堆疊底端頁面。
FIFO 通常使用佇列(Queue),LFU 則主要使用使用次數計數器,不是典型的堆疊操作。
2. FIFO(First-In/First-Out)
FIFO 按照頁面進入記憶體的先後順序置換:
- 最早進入記憶體的頁面最先被淘汰。
- 通常以佇列實作。
- 優點是實作簡單。
- 缺點是可能淘汰仍經常使用的頁面,且可能發生 Belady anomaly:增加頁框數反而造成缺頁次數增加。
3. LRU(Least Recently Used)
LRU 淘汰「最久沒有被使用」的頁面:
- 依據最近使用時間判斷。
- 最常見的實作方式是堆疊,亦可使用雙向鏈結串列搭配雜湊表。
- 通常比 FIFO 更能反映程式的區域性(locality)。
- 缺點是必須記錄頁面使用順序,實作成本較高。
4. LFU(Least Frequently Used)
LFU 淘汰「使用次數最少」的頁面:
- 每個頁面維護一個使用次數計數器。
- 每次存取頁面時,其計數值加一。
- 發生置換時,淘汰計數值最低的頁面。
- 若多個頁面的使用次數相同,通常再以 FIFO 或 LRU 作為平手判定方式。
- 缺點是早期曾被大量使用、目前已不常使用的頁面,可能因累積次數高而長期留在記憶體中。
解題技巧
快速判斷方式如下:
- FIFO:看「誰最早進來」→ 佇列。
- LRU:看「誰最久沒用」→ 堆疊。
- LFU:看「誰使用次數最少」→ 計數器。
(二)最小成本擴張樹
核心觀念
擴張樹必須符合:
- 包含圖形中的所有頂點。
- 所有頂點彼此連通。
- 不得形成循環。
- 若圖形有 個頂點,擴張樹必須有 條邊。
本題有 個頂點,因此最小成本擴張樹需選出:
解題方法:Kruskal 演算法
Kruskal 演算法將所有邊依權重由小到大排列,再依序選取;若加入該邊會形成循環,則跳過。
圖中各邊依權重排序如下:
| 權重 | 邊 |
|---|---|
| 10 | |
| 12 | |
| 14 | |
| 16 | |
| 18 | |
| 22 | |
| 24 | |
| 25 | |
| 28 |
依序選取:
第 第三題 題25 分
請回答下列問題:
(一)請說明何謂網路遮罩(Network Mask)。
(二)假設有一網際網路協定位址(IP Address)為 及 B 級的預設遮罩,請找出其對應之網路位址(Network Address)。
(三)假設 ABC 公司擁有網段 。而這個組織需要四個相同大小之子網段(Subnets),請問每個子網段之位址(Address)和其範圍,並顯示各別之網路位址(Network Address)及其遮罩(Mask)。
登入後即可作答並保存紀錄。
核心觀念
本題考查 IPv4 網路遮罩、預設類別式網路,以及 CIDR 子網切割。
網路遮罩(Network Mask)是與 IP 位址同樣具有 32 位元的數值,用來區分:
- 網路部分(Network Portion)
- 主機部分(Host Portion)
遮罩中:
- 連續的 表示 IP 位址的網路部分。
- 連續的 表示 IP 位址的主機部分。
將 IP 位址與網路遮罩進行逐位元 AND 運算,即可取得網路位址:
CIDR 表示法中的 /n,代表遮罩前 個位元為 。
(一)網路遮罩的定義
網路遮罩是用來判斷 IP 位址中哪些位元屬於網路位址、哪些位元屬於主機位址的 32 位元數值。
例如:
其二進位表示為:
前 24 位為網路部分,後 8 位為主機部分。
當 IP 位址與網路遮罩進行 AND 運算時,主機部分會被遮罩中的 清除,留下網路位址。例如:
(二)求 的網路位址
1. 判斷 IP 位址類別
IP 位址的第一個十進位數為 ,其範圍介於 至 之間,因此屬於 B 級位址。
B 級位址的預設遮罩為:
也就是:
2. 進行網路位址判斷
B 級位址的前兩個八位元組為網路部分,後兩個八位元組為主機部分:
套用遮罩:
前兩段保留,後兩段歸零,因此:
(三)將 切割成四個相同大小的子網段
1. 判斷原網段大小
原網段為:
/26 表示前 26 位為網路部分,剩下:
位為主機部分。
因此原網段共有:
個 IP 位址。
原網段範圍為:
2. 計算子網所需借用的位元
需要切成 4 個相同大小的子網:
因此,需從原本的主機部分借用 2 個位元作為子網部分:
每個子網剩下:
位主機位元,因此每個子網包含:
個 IP 位址。
3. 求新的遮罩
/28 的遮罩為:
第 第四題 題25 分
請回答下列問題:
(一)當系統廠商完成應用系統,在交付給使用單位時,基本上須完成哪些安全性檢測?請具體寫出安全檢測項目並說明之。
(二)何謂分散式阻斷服務攻擊(DDoS)?
(三)何謂緩衝區溢位(Buffer Overflow)攻擊?
登入後即可作答並保存紀錄。
核心觀念
本題考查三項資訊安全基本能力:
- 應用系統交付前的安全性檢測
- 分散式阻斷服務攻擊(DDoS)的原理
- 緩衝區溢位攻擊的成因與危害
應用系統不能只確認功能正常,還必須確認身分驗證、權限控管、輸入資料處理、程式碼及系統組態沒有重大安全弱點。
解題方法
第一小題採「系統交付安全檢查」角度回答,依序涵蓋:
- 程式碼本身
- 執行環境與組態
- 網路與主機弱點
- 實際攻擊測試
- 權限、紀錄及資料保護
第二、三小題則分別掌握攻擊的核心:
- DDoS:大量來源同時消耗服務資源,使正常使用者無法使用。
- Buffer Overflow:輸入資料超過記憶體緩衝區容量,覆寫鄰接資料,進而造成程式崩潰或執行非預期程式碼。
(一)應用系統交付前應完成的安全性檢測
1. 安全需求檢查
確認系統是否依照需求文件實作必要的安全功能,例如:
- 使用者身分驗證
- 密碼複雜度與保存方式
- 多因素驗證
- 角色與權限控管
- 操作紀錄與稽核
- 個人資料及機敏資料保護
- 逾時登出與帳號鎖定
此項檢查是確認「應有的安全功能是否完整」,避免系統雖然沒有明顯漏洞,卻缺少必要的安全控制。
2. 原始碼安全檢測
對原始程式碼進行人工檢視及靜態程式碼分析,確認是否存在:
- SQL Injection
- Cross-Site Scripting(XSS)
- Command Injection
- 不安全的檔案處理
- 不當的錯誤訊息
- 硬編碼帳號、密碼或金鑰
- 不安全的密碼儲存
- 權限檢查遺漏
- 緩衝區溢位
- 不安全的函式使用
原始碼檢測可在系統正式執行前發現程式設計層面的問題,適合找出邏輯缺陷及不安全寫法。
3. 弱點掃描
使用弱點掃描工具檢查應用程式、伺服器、資料庫及網路設備,確認是否有:
- 過時的作業系統或套件
- 已知漏洞
- 不安全的服務
- 預設帳號與密碼
- 不必要的開放連接埠
- 不安全的通訊協定
- 錯誤的系統組態
掃描結果必須進行風險分級,重大及高風險弱點應在交付前修補,不能只完成掃描而未處理問題。
4. 滲透測試
以攻擊者角度實際測試系統,驗證弱點是否能被利用。測試範圍可包括:
- 登入及身分驗證
- 權限提升
- 未授權存取
- Session 管理
- 輸入驗證
- 檔案上傳
- API 安全
- 資料庫操作
- 機敏資料外洩
滲透測試與弱點掃描不同。弱點掃描主要是工具化檢查,滲透測試則進一步驗證漏洞的實際影響及可利用程度。
5. Web 應用程式安全測試
若系統為網站或 Web API,應特別檢測:
- SQL Injection
- XSS
- Cross-Site Request Forgery(CSRF)
- Broken Access Control
- 不安全的 Session Cookie
- 目錄遍歷
- 檔案上傳漏洞
- API 未授權存取
- 敏感資料未加密傳輸
例如,使用者只能查詢自己的資料,系統不得因修改 URL 參數或 API 參數便讀取他人資料。
6. 組態及部署安全檢查
確認正式環境的部署設定符合安全要求,包括:
- 移除測試帳號及預設帳號
- 關閉除錯模式
- 移除範例程式及測試頁面
- 設定正確的檔案及資料夾權限
- 限制管理介面來源
- 正確設定防火牆及網路存取規則
- 啟用 HTTPS
- 設定安全的 Cookie 屬性
- 隱藏伺服器版本資訊
許多安全事件不是程式碼本身造成,而是正式環境仍保留測試設定或過度開放的權限。
7. 身分驗證與授權測試
應分別測試:
- 正常登入及登出
- 錯誤密碼處理
- 帳號鎖定
- 密碼重設
- Session 逾時
- 一般使用者與管理者權限區隔
- 水平權限控管
- 垂直權限控管
其中:
- 水平權限問題:同等權限的使用者可以存取他人的資料。
- 垂直權限問題:一般使用者可以執行管理者功能。
8. 輸入驗證及錯誤處理測試
測試系統對下列輸入的處理能力:
- 空值
- 超長字串
- 特殊字元
- 不合法格式
- 負數及極大數值
- 惡意指令
- 異常檔案
錯誤訊息不得洩漏資料庫結構、檔案路徑、程式碼內容或系統版本。系統應記錄必要資訊供管理者稽核,但不能直接將內部錯誤細節顯示給一般使用者。
9. 資料保護及加密檢查
確認:
- 密碼以雜湊方式保存,並搭配 Salt
- 敏感資料傳輸使用加密通道
- 機敏資料儲存時適當加密
- 金鑰不直接寫入原始碼
- 備份資料受到存取控制
- 個人資料不在錯誤訊息及紀錄中不當曝光
10. 紀錄、稽核及事件追蹤測試
確認系統能記錄重要安全事件,例如:
- 登入成功及失敗
- 密碼變更
- 權限異動
- 資料新增、修改及刪除
- 管理者操作
- 異常存取
- 系統錯誤
紀錄內容應包含時間、使用者、來源位置、操作內容及結果,並防止未授權人員竄改。