115 高普考高考三級 資通安全 資通安全防護技術 考古題詳解

115 年・高普考・高考三級・資通安全
試題代碼 資通安全防護技術

第 一 題25 分

某機關提供行動 App 與外部系統串接 API。API 服務常見資安風險,請從下列四個面向提出防護措施:

(一)身分驗證與 Token 管理。

(二)物件層級授權。

(三)流量限制。

(四)輸入輸出控管。

登入後即可作答並保存紀錄。

這一題的完整詳解

核心觀念

本題考查行動 App 與外部系統串接 API 時,如何依照 API 的主要風險面向設計防護。作答時要分清楚四件事:確認呼叫者是誰、確認呼叫者能操作哪個物件、限制呼叫頻率,以及控管進出 API 的資料。

物件層級授權特別對應到 BOLA(Broken Object Level Authorization,物件層級授權失效):即使使用者已通過身分驗證,若 API 未確認該使用者是否有權存取指定物件,攻擊者仍可能竄改物件識別碼,讀取或修改他人資料。

解題方法

依題目四個面向逐一回答,每一項可採「主要風險+具體控制措施」的寫法。措施應落在伺服器端的驗證、授權與資料處理流程,不能只依賴 App 端檢查,因為用戶端程式與請求內容都可能遭到修改。

四個面向的防護措施

(一)身分驗證與 Token 管理

  1. 採用安全的身分驗證機制:可使用 OAuth 2.0/OpenID Connect 等標準流程;行動 App 屬公開用戶端,應避免在 App 中嵌入可視為機密的用戶端密碼。使用授權碼流程時,應搭配 PKCE。
  2. 安全簽發與驗證 Token:伺服器應驗證 Token 的簽章、簽發者、對象、有效期限及必要權限範圍;不可只解碼 JWT 後便信任其內容。
  3. 縮短存取 Token 有效時間:依業務需求設定期限,避免 Token 遺失或遭竊後長時間可用。更新 Token 應採安全的更新流程,並限制其使用方式。
  4. 妥善保存 Token:使用者端避免將 Token 明文寫入日誌或不安全的永久儲存空間;傳輸時使用 TLS。伺服器端應提供 Token 撤銷或失效處理,並對登入、更新 Token 等操作留下適當紀錄。
  5. 避免將 API Key 當成使用者身分驗證的唯一依據:API Key 可用於識別應用程式或進行流量管理,但不應取代使用者身分驗證與細部授權。

(二)物件層級授權

  1. 每次存取物件都在伺服器端授權:收到訂單、帳戶、文件等物件識別碼時,須確認登入者是否有權對該物件執行目前操作;不可只確認使用者已登入。
  2. 將物件與使用者或租戶範圍一併查詢:例如依登入者所屬範圍查詢資料,再確認目標物件是否位於該範圍內;不可只憑請求中的物件 ID 直接讀取或更新資料。
  3. 依操作種類進行授權:讀取、修改、刪除及管理操作應分別檢查權限,並遵循最小權限原則。
  4. 不信任用戶端提供的身分或權限欄位:使用者 ID、角色、租戶 ID 等必要資訊應取自經驗證的身分或伺服器端資料,不可直接採信請求本文中的值。
🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 二 題25 分

某機關將 Web 服務部署於容器化環境。請說明容器化部署可能面臨的資安風險,並從下列四個面向提出防護措施:

(一)映像檔來源。

(二)權限設定。

(三)網路隔離。

(四)執行監控。

登入後即可作答並保存紀錄。

這一題的完整詳解

核心觀念

本題考查容器化 Web 服務的縱深防禦。容器共用主機作業系統核心,映像檔、容器權限、網路設定及執行期間的弱點都可能成為攻擊入口;若容器遭入侵,影響也可能擴大到其他容器或主機。

回答時依題目四個面向,分別說明風險及對應措施,並掌握「來源可信、權限最小、網路分區、持續監控」四項原則。本題沒有特定法條或計算公式。

解題方法

以「攻擊面—防護措施」逐項作答:先指出該面向的主要風險,再提出能降低風險的具體控制措施。措施應與風險直接對應,例如映像檔供應鏈風險以來源驗證及漏洞掃描處理;權限過大則以最小權限及限制容器能力處理。

四個面向的風險與防護

(一)映像檔來源

風險: 從不明或未受信任的登錄站取得映像檔,可能引入惡意程式、後門、過期套件或已知漏洞。自行建置時若基底映像檔或相依套件未更新,也會將弱點帶入正式環境。映像檔標籤若可被覆寫,部署時亦可能在不知情下取得不同內容。

防護措施:

  • 僅使用經核准的官方或組織內部映像檔登錄站,並限制映像檔發布與拉取權限。
  • 選用精簡、仍受維護的基底映像檔,定期更新作業系統套件及應用程式相依套件。
  • 在建置與部署流程中進行弱點及惡意程式掃描,對高風險弱點設定修補或阻擋部署門檻。
  • 驗證映像檔簽章或來源證明;正式部署以不可變的映像檔摘要(digest)指定版本,避免僅依賴可變動的標籤。
  • 採用可重現、受控的建置流程,避免將密碼、金鑰或其他機敏資料打包進映像檔。

(二)權限設定

風險: 容器以 root 身分執行、取得過多 Linux capabilities、掛載主機敏感目錄,或使用特權容器設定時,攻擊者入侵容器後可能讀取主機資料、操作主機資源,甚至嘗試逃逸至主機。

防護措施:

  • 以非 root 使用者執行應用程式,並依工作需求授予最低限度的權限。
  • 避免使用特權容器;移除不必要的 Linux capabilities,並限制容器可使用的系統呼叫及資源。
  • 避免掛載 Docker socket、主機根目錄或其他敏感路徑;確有掛載需求時,限制範圍並優先採唯讀掛載。
🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 三 題25 分

近期發現多筆異常登入紀錄,包括不同帳號使用相同密碼嘗試登入、使用者收到大量 MFA 推播通知,以及登入後短時間大量下載資料。請說明可能涉及的帳號攻擊手法,並提出帳號安全防護措施。

登入後即可作答並保存紀錄。

這一題的完整詳解

核心觀念

本題考查由登入與登入後活動紀錄辨識帳號攻擊,並提出預防、偵測及事件應變措施。三種線索分別指向密碼猜測或憑證重用、MFA 推播疲勞,以及帳號遭接管後的資料外洩行為。

題目未交代登入嘗試的密碼分布、來源憑證是否曾外洩,以及資料下載是否符合使用者職務;以下依「攻擊者以相同或常見密碼嘗試多個帳號、反覆觸發 MFA,並在登入成功後大量下載資料」作答。

解題方法

依事件發生順序分類:

  1. 登入前:看帳號與密碼嘗試方式。 多個帳號遭相同密碼嘗試,優先聯想到密碼噴灑;若是使用外洩的帳號與密碼組合登入,則屬憑證填充。
  2. 登入驗證時:看 MFA 通知如何被觸發。 使用者短時間收到大量推播,符合 MFA 疲勞攻擊的特徵。
  3. 登入成功後:看帳號執行的行為。 短時間大量下載資料,顯示帳號可能已遭接管,並有資料竊取或外洩風險。

攻擊手法分析

密碼噴灑(Password Spraying)

攻擊者對多個帳號依序嘗試同一個常見密碼,藉此避開「同一帳號短時間多次失敗」的鎖定門檻。題目所述「不同帳號使用相同密碼嘗試登入」符合此特徵。

憑證填充(Credential Stuffing)

攻擊者利用其他網站或服務外洩的帳號密碼組合,批次嘗試登入目標系統。若觀察到的紀錄顯示攻擊者使用每個帳號各自對應的已外洩密碼,便屬憑證填充;僅憑「多個帳號被相同密碼嘗試」這一點,不能直接判定為憑證填充。

MFA 疲勞攻擊(MFA Fatigue/Push Bombing)

攻擊者在取得或猜中帳號密碼後,反覆送出 MFA 推播,期待使用者因困擾、誤觸或誤認為正常登入而核准。大量 MFA 通知本身就是應立即調查的警訊;使用者不應核准自己未發起的驗證請求。

帳號接管與資料外洩

若異常登入後緊接著大量下載,應視為帳號接管及資料外洩事件處理。大量下載是重要的異常行為指標,但仍須比對使用者的職務、慣常活動、裝置、登入位置及下載資料範圍,以確認是否為未授權行為。

帳號安全防護措施

強化身分驗證

🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 四 題25 分

請說明軟體供應鏈攻擊的意義,並從下列五個面向提出防護措施:

(一)安全開發流程。

(二)第三方套件管理。

(三)CI/CD 管線保護。

(四)軟體簽章與來源驗證。

(五)SBOM。

登入後即可作答並保存紀錄。

這一題的完整詳解

核心觀念

軟體供應鏈攻擊是攻擊者不直接攻擊最終使用者,而是入侵軟體開發、建置、發布或更新流程中的一個環節,藉由受信任的軟體、套件、更新檔或開發工具,將惡意程式碼散布給下游使用者。攻擊面涵蓋原始碼、第三方套件、開發者帳號、建置伺服器、CI/CD 管線、簽章金鑰及軟體更新機制。

其核心風險在於:下游組織通常信任供應商交付的軟體,攻擊者一旦控制供應鏈中的受信任環節,惡意內容便可能隨正常的建置、發布或更新流程擴散。因此,防護不能只檢查成品,還須確保開發、依賴、建置、發布與部署各階段具備完整性、可追溯性及存取控制。

解題方法

本題以軟體生命週期為主軸作答:先說明攻擊如何利用供應鏈傳遞惡意程式,再依題目指定的五個面向,分別提出預防、偵測與驗證措施。作答時應使每一項措施對應到一種風險,例如第三方套件管理對應依賴遭竄改,CI/CD 管線保護對應建置環境遭入侵,SBOM 則支援盤點與事件應變。

防護措施

(一)安全開發流程

  1. 將安全要求納入軟體開發生命週期,明確規範程式碼撰寫、審查、測試、發布及弱點處理流程。
  2. 採行程式碼審查與雙人覆核,特別檢查高權限功能、外部輸入處理、認證授權邏輯及不尋常的程式碼變更。
  3. 在開發流程中執行靜態應用程式安全測試(SAST)、動態應用程式安全測試(DAST)及秘密資訊掃描,找出程式弱點與誤提交的金鑰、密碼。
  4. 將原始碼存放於受控版本庫,啟用多因素驗證、最小權限、分支保護及審查後合併,保留可追溯的異動紀錄。
  5. 建立漏洞通報、修補、版本管理與緊急下架程序,使發現問題後能快速定位受影響版本並發布修正。

(二)第三方套件管理

  1. 建立核准套件清單與套件來源政策,優先使用可信任的官方套件庫,避免從不明來源下載套件。
  2. 固定依賴套件版本,並使用鎖定檔記錄實際解析出的版本與雜湊值,避免建置時因版本浮動而引入未經審查的程式碼。
  3. 定期執行軟體組成分析(SCA),檢查已知漏洞、授權條件、停用套件及過期依賴,並依風險安排更新。
  4. 審查新增或更新的套件,留意套件維護狀況、發布者身分、下載來源、權限需求與近期版本異常變更。
  5. 透過內部套件代理或快取庫集中控管套件下載,保留套件版本與雜湊紀錄,降低外部套件庫遭污染時的影響。

(三)CI/CD 管線保護

  1. 對原始碼庫、建置系統、部署平台及服務帳號啟用多因素驗證與最小權限,避免共用高權限憑證。
  2. 將建置與部署工作分隔,限制哪些分支、工作流程及人員可觸發正式環境發布;重要發布採核准機制。
  3. 將密碼、存取權杖與簽章金鑰存放於專用秘密管理系統,避免寫入原始碼、建置紀錄或設定檔,並定期輪替。
  4. 保護 CI/CD 設定與建置指令,審查管線變更,限制外部貢獻者或不受信任工作流程取得機敏憑證。
🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

其他考古題