109 調查局特考三等 資訊科學組 系統分析與設計 考古題詳解

109 年・調查局特考・三等・資訊科學組
試題代碼 系統分析與設計

第 一 題25 分

某機關要開發一個新的雲端營運管理系統,你是專案的負責人,受命這次的專案要以「安全的系統發展生命週期(Secure System Development Life Cycle, SSDLC)」來進行開發,在考量系統功能性的同時,導入安全性的思維。

請問,在 SDLC 的程式實作階段,你會要求負責的同仁注意哪些安全的面向?

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

這一題的完整詳解

核心觀念

本題考查安全的系統發展生命週期(Secure System Development Life Cycle, SSDLC)中,程式實作階段如何把安全需求落實到程式碼、開發流程與建置產物。重點不只是「程式能否運作」,還包括程式是否能抵抗常見攻擊、是否保護敏感資料,以及是否能在後續維護時持續維持安全。

程式實作階段通常涵蓋安全程式設計規範、程式撰寫、程式碼檢視、自動化安全檢查、第三方元件管理及建置流程控管。安全需求應在本階段轉化為可檢查的程式規則,並透過工具與人工審查共同確認。

解題方法

依題目所問的「程式實作階段」,可從下列三個層次整理:

  1. 程式碼本身:檢查輸入、輸出、身分驗證、授權、錯誤處理及資料保護。
  2. 開發與檢查流程:採用安全編碼規範、程式碼檢視與自動化安全分析。
  3. 程式依賴與建置產物:管理第三方元件、密鑰、建置權限及程式碼完整性。

這樣作答可涵蓋開發者日常實作、交付前的檢查,以及雲端系統常見的供應鏈與建置風險。

程式實作階段應注意的安全面向

一、安全編碼與輸入驗證

  • 對所有外部輸入進行型別、長度、格式、範圍及允許值驗證;不可只依賴前端驗證,伺服器端也必須執行檢查。
  • 對資料庫查詢使用參數化查詢或安全的 ORM 操作,避免 SQL Injection。
  • 依輸出情境進行正確編碼,避免跨站腳本攻擊(XSS)。
  • 限制檔案上傳的類型、大小與存放位置,並避免直接信任檔名或檔案內容。
  • 採用允許清單驗證;只拒絕少數已知危險字元的黑名單作法,容易遺漏攻擊形式。

二、身分驗證與授權控制

  • 安全處理登入、密碼重設、工作階段及權杖;密碼應使用適當的雜湊演算法與隨機鹽值保存,不應以明文或可逆方式儲存。
  • 在伺服器端落實授權檢查,不能只依賴畫面隱藏按鈕或前端限制。
  • 採用最小權限原則:使用者、服務帳號及程式元件只取得完成工作所需的權限。
  • 對每個受保護的資源與操作確認使用者是否有權存取,避免透過變更識別碼繞過權限檢查。
  • 避免硬編碼預設帳號、共用帳號及過度寬鬆的存取權限。

三、敏感資料與密碼學

  • 依資料敏感程度控制蒐集、傳輸、處理、記錄與保存。
  • 傳輸敏感資料時使用安全的加密通道;需要保護儲存資料時,採用經核准的加密機制。
  • 使用成熟且經審查的密碼學函式庫,不自行設計加密演算法。
  • 金鑰、憑證、API Token、資料庫密碼等機敏資訊不得寫入原始碼或提交到版本控制系統;應透過安全的秘密管理機制提供,並限制存取與定期輪替。
  • 避免在日誌、錯誤訊息或除錯輸出中記錄密碼、權杖、個人資料及其他機敏資訊。

四、錯誤處理與安全日誌

🔒

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

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

免費註冊

第 二 題25 分

下列是某公司現行的員工差勤津貼相關規定:

  • 一次出差由一位員工執行,需經該單位主管核可。
  • 出差會花費該當事人 11–NN 天,到訪 11–NN 個地點。
  • 超過一天以上的出差,公司允許報銷全額當晚住宿。
  • 出差期間,機關會依照出差期間支付定額的早、午、晚餐費津貼。
  • 出差期間的各種交通支出也由公司全額支付。

你認為應該需要哪些檔案與欄位來記錄該公司員工的出差資料?請為該公司設計一個出差資料庫結構。

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

這一題的完整詳解

核心觀念

本題考查資料庫概念設計:辨識實體、屬性與實體間的關係,並依照基數拆分資料表,避免重複記錄及更新異常。題目沒有要求套用特定法條或計算費率,重點是把出差、員工、主管核可、每日津貼、住宿、交通與地點等資料,設計成可追蹤且可彙整的結構。

解題方法

先將規定轉成資料需求,再依資料的粒度拆表:

  1. 一次出差由一位員工執行,需一位單位主管核可:出差主檔記錄員工、核可主管及核可狀態。
  2. 一次出差可有多天、多個地點:以出差明細表記錄每日行程及到訪地點,避免把多個日期或地點塞在同一欄位。
  3. 住宿與交通支出可能一趟多筆:以費用明細表逐筆記錄支出、日期、類別及金額。
  4. 早餐、午餐、晚餐津貼按出差期間定額給付:記錄每日各餐津貼,或記錄適用費率後由系統依天數計算;為保留日別查核能力,以下採每日津貼明細。
  5. 員工、單位與地點等重複使用的資料,分別建立主檔,以代碼關聯。

建議資料庫結構

以下以關聯式資料庫設計,主鍵以 PK 表示,外鍵以 FK 表示。

1. 員工檔 Employee

欄位說明
EmployeeID(PK)員工編號
EmployeeName姓名
UnitID(FK)所屬單位
JobTitle職稱,可選

2. 單位檔 Unit

欄位說明
UnitID(PK)單位代碼
UnitName單位名稱
ManagerEmployeeID(FK)單位主管的員工編號

主管以員工檔中的員工資料識別,避免另存一份主管姓名而造成資料不一致。若主管異動須保留歷史,可在出差主檔另存核可時的主管編號。

3. 出差主檔 Trip

欄位說明
TripID(PK)出差案件編號
EmployeeID(FK)出差員工
ApproverID(FK)核可主管
ApplyDate申請日期
StartDate出差起日
EndDate出差迄日
Purpose出差事由
ApprovalStatus核可狀態
ApprovalDate核可日期

一筆出差主檔對應一位出差員工;一位員工可有多筆出差紀錄。EndDate 不得早於 StartDate,出差日數可由起訖日計算,避免重複儲存而不一致。

4. 地點檔 Location

欄位說明
LocationID(PK)地點代碼
LocationName地點名稱
Address地址,可選

5. 出差行程明細 TripItinerary

欄位說明
ItineraryID(PK)行程明細編號
TripID(FK)所屬出差案件
VisitDate到訪日期
LocationID(FK)到訪地點
SequenceNo當日行程順序
Activity行程內容,可選
🔒

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

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

免費註冊

第 三 題25 分

請說明資安服務通常所包含的下列五類服務之目的,以及其主要差異:

  1. 資安健診服務。
  2. 資安監控服務。
  3. 弱點掃描服務。
  4. 滲透測試服務。
  5. 社交工程郵件測試服務。

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

這一題的完整詳解

核心觀念

本題在考辨識五種常見資安服務的目的、執行方式、觀察範圍與交付成果。作答時應先抓住它們各自回答的問題:

  • 資安健診:整體資安管理與防護措施是否健全?
  • 資安監控:目前是否正在發生資安事件?
  • 弱點掃描:系統中有哪些已知弱點或設定缺失?
  • 滲透測試:攻擊者能否利用弱點達成入侵或取得特定權限?
  • 社交工程郵件測試:人員是否容易受詐騙郵件誘騙?

五者並非互相取代。健診與弱點掃描偏向檢視現況;監控偏向持續觀察事件;滲透測試偏向實際驗證攻擊路徑;社交工程測試則以人員為主要測試對象。

解題方法

可依「檢查對象—執行方式—目的與成果」逐項說明,再比較彼此差異。特別要區分:

  1. 弱點掃描與滲透測試:掃描以工具辨識弱點為主;滲透測試則進一步驗證弱點能否被利用及其影響。
  2. 健診與監控:健診通常是某一時點的整體檢視;監控則持續蒐集、分析事件資訊。
  3. 技術測試與社交工程測試:前四類主要檢視組織、設備、系統或網路;社交工程郵件測試主要檢視人員的警覺性與通報行為。

五類資安服務說明

1. 資安健診服務

資安健診是對機關或組織的整體資安狀況進行檢視,範圍可涵蓋資安政策與管理制度、網路架構、主機與設備設定、帳號權限、備份與復原、日誌管理及防護措施等。

其目的在於找出管理制度或技術防護上的缺口,並提出改善建議。服務成果通常包括健診結果、風險或缺失說明,以及改善優先順序。健診著重整體性診斷與改善方向,不以持續偵測即時事件為主要工作。

2. 資安監控服務

資安監控服務會持續蒐集並分析網路流量、主機日誌、資安設備告警及其他事件資訊,以辨識可疑活動或資安事件。執行方式可包含告警監看、事件關聯分析、事件通報及初步應變建議。

其目的在於及早發現正在發生或已發生的攻擊,縮短事件發現與處理時間。監控的核心是持續觀察與事件偵測,不等同於一次性的系統健診,也不表示每項告警都已經透過攻擊驗證。

3. 弱點掃描服務

弱點掃描服務使用自動化工具或檢查程序,檢查主機、網路設備、應用程式或系統設定,找出已知弱點、過時版本、不安全設定及常見錯誤。

其目的在於建立待修補或待改善的弱點清單,協助組織安排修補優先順序。掃描結果通常是弱點項目、嚴重程度及修補建議。

🔒

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

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

免費註冊

第 四 題25 分

某縣政府針對 6565 歲以上居民提供 2525 項居家照護服務。因為過去人工作業繁瑣,需要進行自動化與系統開發。縣政府很擔心新系統開發後讓銀髮縣民無法適應,因此強烈要求建立基準線(Baseline)來管控系統的開發。

請問什麼是基準線?基準線有哪幾種?這些基準線在開發系統的過程中,會分別扮演哪些功能?

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

這一題的完整詳解

核心觀念

本題考查系統開發中的基準線(Baseline)。基準線是經相關人員審查、核准並正式確立的工作成果版本,作為後續開發、管理與驗收時的共同依據。基準線一旦建立,若要變更,須依變更管理程序提出、評估並核准,不能逕自修改。

基準線不只是系統規格文件,也可以是需求、設計、程式與測試等不同階段的成果。它能讓開發團隊與縣政府確認「目前核准的內容是什麼」,並以此追蹤後續變更與進度。

基準線種類與功能

常見的系統開發基準線可分為以下幾種:

基準線建立時點與內容開發過程中的功能
功能基準線(Functional Baseline)系統需求分析完成並經核准後建立,記錄系統應提供的功能、效能及外部介面等需求。作為需求管理、系統設計與驗收的依據;控制需求變更,避免開發內容偏離使用者真正需要的功能。
分配基準線(Allocated Baseline)初步設計完成後建立,將系統需求分配至各子系統、軟體、硬體或其他組成部分,並記錄其介面與配置。作為後續詳細設計、子系統開發與整合的依據;協助確認各部分的責任範圍及彼此介面。
產品基準線(Product Baseline)詳細設計完成、產品規格核准後建立,涵蓋完整且具體的設計與產品組態資訊。作為建置、測試、部署、維護及產品驗收的依據;確保實際交付的系統符合核准的設計規格。

不同教材或組織的名稱與建立時點可能略有差異,但答題重點是說明基準線的內容、核准與變更控制,以及它在不同開發階段提供的管理依據。

解題方法

🔒

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

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

免費註冊

其他考古題