114 國安局特考三等 資訊組(選試英文) 網路應用與安全 考古題詳解
第 一 題20 分
為何許多舊有協定如 Telnet、FTP 被視為不安全?(10 分)
若分別以 SSH 取代 Telnet、以 SFTP 或 FTPS 取代 FTP,請說明其運作方式為何能改進安全問題?(10 分)
登入後即可作答並保存紀錄。
核心觀念
本題考查遠端登入與檔案傳輸協定的安全性,重點在於辨別明文傳輸與加密通道的差異,以及 SSH、SFTP、FTPS 如何保護通訊內容與身分驗證資訊。
Telnet 與傳統 FTP 本身不提供傳輸加密。若在未受保護的網路上使用,帳號、密碼及傳輸內容可能遭竊聽;攻擊者也可能竄改資料或假冒通訊端點。這類協定的安全性不能只靠「登入需要密碼」保證,因為密碼本身也可能以明文傳送。
解題方法
作答可分成兩部分:先指出 Telnet、FTP 的共同缺陷,再分別說明替代協定如何改善。說明時應涵蓋加密範圍、驗證方式與連線型態,並區分 SFTP 與 FTPS:兩者名稱相似,但底層協定與運作方式不同。
一、Telnet、FTP 為何不安全
**Telnet:**傳統 Telnet 以明文傳送登入帳號、密碼及終端機輸入內容。若攻擊者能監聽網路封包,便可能取得憑證及使用者操作內容;傳輸內容也缺乏完整性保護,因而有遭竄改或遭中間人攻擊的風險。
**FTP:**傳統 FTP 的控制連線與資料連線均未提供加密。使用者名稱、密碼、指令及檔案內容可能以明文傳送,遭監聽時會洩漏憑證與資料。此外,FTP 使用分離的控制通道和資料通道,並可能採主動或被動模式建立資料連線;這些連線管理方式也會增加防火牆設定與安全控管的複雜度。
二、以 SSH 取代 Telnet
SSH(Secure Shell)在用戶端與伺服器之間建立加密連線,並在其中傳送遠端登入資料及終端機操作內容。連線建立時,雙方協商加密與完整性保護所需的演算法及工作階段金鑰;使用者可透過密碼或公開金鑰等方式驗證身分。伺服器端亦以主機金鑰供用戶端確認其身分。
因此,SSH 可降低憑證與操作內容遭竊聽、傳輸資料遭竄改及連線遭冒充的風險。使用時仍須妥善核對伺服器主機金鑰;若未驗證主機身分,使用者仍可能連上冒充伺服器。
第 二 題20 分
某平台導入 Google Authenticator 作為登入系統的第二層驗證機制。請說明此類基於 TOTP(Time-based One-Time Password)的驗證方式原理?(10 分)
另其安全性相較傳統密碼的優勢為何?(10 分)
登入後即可作答並保存紀錄。
核心觀念
本題考查以時間為基礎的一次性密碼(TOTP, Time-based One-Time Password)如何產生與驗證,以及它相較於單靠密碼登入的安全優勢。TOTP 是 HOTP(HMAC-based One-Time Password)的延伸:將遞增計數器改為由目前時間計算出的時間步進值,讓使用者與驗證伺服器在相同時間區間內產生相同的一次性驗證碼。
解題方法
一、TOTP 的產生與驗證原理
- 預先共享密鑰:使用者裝置與伺服器在註冊或綁定驗證器時,安全地建立相同的共享密鑰 。Google Authenticator 與伺服器各自保存此密鑰。
- 將時間換算為計數值:設定時間步長 (常見為 30 秒),並以時間紀元 為起點,將目前時間 換算為時間計數器:
- 以 HMAC 計算摘要:使用共享密鑰 對計數器 計算 HMAC。常用雜湊函數為 HMAC-SHA-1;系統也可採用其他規範允許的雜湊函數:
- 截短並轉為驗證碼:依動態截短方式從摘要中取出一段數值,再對 取餘數,得到 位數驗證碼:
其中 常見為 6,DT 表示動態截短。
第 三 題20 分
某機關部署傳統防火牆,僅開放必要的 (HTTPS)與 (HTTP)port,且限定 IP 白名單,但仍遭遇資料外洩事件。經分析發現,攻擊者透過 Web 表單注入惡意指令,成功竊取機敏資料。
請回答下列問題:(每小題 10 分,共 20 分)
(一)為何傳統以 port 和 IP 為基礎的防火牆無法阻擋這類攻擊?
(二)請說明應用層防火牆(WAF)在此案例中可提供的保護機制與優勢?
登入後即可作答並保存紀錄。
核心觀念
本題考查防火牆的檢查層次,以及傳統網路防火牆與 Web 應用程式防火牆(WAF)的差異。傳統防火牆主要依來源與目的 IP、通訊埠及傳輸層連線資訊,決定是否允許網路流量;WAF 則檢查 HTTP/HTTPS 應用層請求,分析網址、標頭、Cookie 與表單內容等資料。
解題方法
先辨認攻擊發生在哪一層:題目指出攻擊者經由 Web 表單注入惡意指令,屬於應用層攻擊。再比較兩種防護設備能看見並判斷的資訊,說明傳統防火牆為何放行,以及 WAF 如何補足防護。
(一)傳統以 port 和 IP 為基礎的防火牆為何無法阻擋?
傳統防火牆依規則檢查封包的來源 IP、目的 IP、通訊協定及通訊埠。題目中的攻擊流量來自白名單 IP,並透過允許的 HTTPS(443)或 HTTP(80)連線進入;就網路層或傳輸層的規則而言,這是符合允許條件的合法連線,因此防火牆會放行。
問題在於,惡意指令藏在 HTTP 請求的應用層內容中,例如表單欄位或查詢參數。只依 IP 與 port 判斷的傳統防火牆,無法辨識這些內容的語意,也無從判斷表單資料是否包含 SQL 注入、命令注入或其他惡意輸入。因此,連線來源及通訊埠符合規則,不代表應用層請求內容安全。
(二)WAF 可提供的保護機制與優勢
WAF 部署於 Web 服務前方或整合於代理服務中,檢查 HTTP/HTTPS 請求與回應的應用層內容。在本案例中,WAF 可採取下列保護:
第 四 題20 分
某公司員工外出開會時,不慎將使用公司帳號登入的手機遺失。手機未設定密碼鎖,也未啟用遠端清除功能。
請回答下列問題:(每小題 10 分,共 20 分)
(一)此事件可能導致哪些行動裝置相關的資安風險?
(二)若企業部署行動裝置管理機制(Mobile Device Management, MDM),可以採取哪些對應手段來降低風險?
登入後即可作答並保存紀錄。
核心觀念
本題考查行動裝置遺失後的機密性、完整性與可用性風險,以及企業以行動裝置管理(Mobile Device Management, MDM)落實裝置控管、資料保護與事故應變的能力。
手機已登入公司帳號,且沒有密碼鎖或遠端清除功能,代表拾獲者可能直接使用裝置,存取已登入的公司服務或留存在手機中的資料。風險範圍取決於手機內保存的資料、登入憑證與應用程式權限。
解題方法
先從遺失手機可能遭利用的資產切入:手機本機資料、登入工作階段與憑證、可操作的公司服務,以及手機作為後續攻擊入口的能力。再依風險類型提出 MDM 控管措施,涵蓋事前預防、遺失後應變、持續監控。
(一)可能的行動裝置資安風險
-
公司資料遭未授權讀取或外洩 拾獲者可檢視手機內的電子郵件、通訊紀錄、文件、聯絡人、行事曆、下載檔案或快取資料;若含客戶資料、內部文件或敏感資訊,可能造成機密外洩。
-
冒用員工身分存取公司服務 若公司帳號已登入且工作階段仍有效,拾獲者可能直接使用電子郵件、雲端硬碟、內部入口網站或業務系統。即使不知道密碼,仍可能利用已登入的工作階段或留存的驗證資訊。
-
冒用員工執行操作,影響資料完整性 拾獲者可能以員工身分寄送郵件、修改或刪除文件、變更系統資料,或核准具有權限的操作,造成錯誤交易、偽造指示或業務紀錄遭竄改。
-
利用手機進行後續攻擊 攻擊者可查看郵件與通訊內容,取得組織架構、同仁姓名及往來事項,再發動魚叉式網路釣魚、社交工程或冒名訊息;也可能利用手機上的應用程式或設定弱點,嘗試擴大入侵。
-
帳號與其他系統的連鎖風險 若手機保存密碼、驗證碼、憑證或可接收多因素驗證通知,攻擊者可能用它重設密碼或通過驗證,進一步登入其他系統。是否能成功取決於企業的驗證方式與帳號設定。
-
違反內部規範或個人資料保護要求 若裝置含有個人資料或受管制資訊,遺失可能引發通報、調查與法遵處理責任;其法律效果須依實際資料種類、處理情形及適用規範判斷。
(二)MDM 可採取的對應手段
事前預防
- 強制裝置鎖定與驗證 以 MDM 要求設定螢幕鎖定密碼或生物辨識,訂定最低複雜度及自動鎖定時間,並限制連續錯誤解鎖次數;達門檻時自動鎖定或清除資料。
第 五 題20 分
某開發人員使用 AI 程式碼產生工具(如 GitHub Copilot)來加速專案開發,未經詳細審查便直接部署至內網服務,後續被發現程式引入一個過時版本的加密函式庫與硬編碼的帳號密碼。
請回答下列問題:(每小題 10 分,共 20 分)
(一)使用 AI 輔助寫程式可能引入哪些資訊安全風險?
(二)可採取哪些方法來減少上述風險?
登入後即可作答並保存紀錄。
核心觀念
本題考查 AI 輔助程式開發的安全風險,以及如何將安全檢查納入軟體開發生命週期。AI 程式碼產生工具會依據提示與訓練資料產生程式碼;產出的程式碼仍須由開發人員審查、測試與維護,不能視為已驗證安全的成品。
題目已指出兩項實際缺失:使用過時的加密函式庫與硬編碼帳號密碼。作答時應以這兩項為例,再延伸至依賴套件、輸入驗證、機密資料、授權控制與部署流程等風險。
解題方法
可分成兩個層次作答:
- 找出 AI 產生程式碼可能帶來的風險:從程式碼缺陷、第三方依賴、機密資料、授權與維護等面向整理。
- 對應提出管控方法:以人工審查、安全測試、依賴管理、機密管理與部署管制,逐項降低風險。
這樣能讓每項措施對應到一類風險,避免只寫「加強安全」而欠缺具體作法。
(一)使用 AI 輔助寫程式可能引入哪些資訊安全風險?
1. 不安全或錯誤的程式碼
AI 產生的程式碼可能缺少適當的輸入驗證、輸出編碼或錯誤處理,造成 SQL injection、跨站腳本(XSS)、命令注入、路徑穿越或反序列化等漏洞。程式碼表面上能正常執行,不代表其安全性已獲驗證。
2. 過時或有漏洞的第三方元件
AI 可能推薦已停止維護、版本過舊或已知有漏洞的函式庫。題目中的過時加密函式庫即屬此類風險:弱加密演算法、錯誤的加密參數或已公開的漏洞,可能使資料遭破解或系統遭利用。
3. 機密資訊外洩與硬編碼憑證
程式碼可能直接包含帳號密碼、API 金鑰、私鑰或連線字串。題目中的硬編碼帳號密碼一旦進入原始碼庫、建置產物或日誌,就可能被取得並用來登入系統;若在程式碼提示中輸入內部程式碼或機密資料,也可能造成資料外洩,須依工具的資料處理方式與組織政策評估。
4. 權限控制或安全邏輯不當
AI 可能漏掉身分驗證、授權檢查或存取控制,或錯誤處理權限邊界,導致未授權使用者取得資料或執行操作。安全邏輯也可能只處理一般情境,忽略例外與邊界條件。
5. 授權與來源風險
產生的程式碼可能與受著作權或授權條款限制的程式碼相似,或帶入來源不明的片段。若未查明來源及授權條件,可能衍生法遵與維護問題。
6. 錯誤程式碼未經驗證即進入正式環境
若開發人員過度信任 AI 輸出、未進行程式碼審查與測試,缺陷便可能直接部署到內網或正式系統。內網環境不代表沒有風險;