Guidant AI 資安檢視總報告 · 安全需求(SR)
81 條、十章、怎麼來的
把 26 條連線頁的 162 條防線去重、按主題歸成 81 條安全需求(SR)。每條一句可驗證的要求,標明它從哪條連線的哪條防線來、擋哪種威脅、怎麼證明做到了。這一頁是總表與讀法;逐條內容在各章。
這份文件回答的是「系統應該怎樣」,不是「現在怎樣」。現況(每條做到哪)放在符合性矩陣,可隨程式改動重產;需求本體不跟著程式變。
%%{init: {'theme':'base','themeVariables':{'primaryColor':'#E2F0F1','primaryTextColor':'#14201F','primaryBorderColor':'#0E7C86','secondaryColor':'#EEF2F3','secondaryTextColor':'#14201F','tertiaryColor':'#FBFCFC','tertiaryTextColor':'#14201F','lineColor':'#4A5A5C','textColor':'#14201F','mainBkg':'#E2F0F1','nodeBorder':'#0E7C86','nodeTextColor':'#14201F','edgeLabelBackground':'#FBFCFC','titleColor':'#14201F','clusterBkg':'#FBFCFC','clusterBorder':'#E4EAEB'}}}%%
flowchart LR
M["24 個模組頁<br/>234 件問題"] --> ST["STRIDE 六頁<br/>311 條,每條標【連線 Cxx】"]
ST --> CN["26 條連線頁<br/>106 種威脅 T/162 條防線 D"]
CN -- "D 去重分章" --> SR["安全需求 81 條<br/>十章"]
CN -. "T 當素材" .-> TC["測試案例<br/>(下一步)"]
SR --> MX["符合性矩陣<br/>SR × 現況"]
SR -.-> TC
每條 SR 固定六欄:
| 欄 | 內容 |
|---|---|
| 編號 | SR-<章>.<序>。編號一旦給出不再改,廢止的留號標「已廢止」 |
| 要求 | 一句可驗證的陳述。寫「必須/不得」,不寫「建議/盡量」 |
| 為什麼 | 不做會怎樣——攻擊者得手什麼。從對應威脅的「得手什麼」來 |
| 適用連線 | 這條要求管哪幾條線,連回連線頁 |
| 對應威脅 | 擋連線頁的哪幾種手法(T),連回去。純標準做法的沒有 T |
| 驗證方式 | 一句講怎麼證明做到了。這是測試案例的種子 |
來源兩種,每條都標:
| 章 | 主題 | 條數 | 掃描驗證 | 標準做法 | 一句話 |
|---|---|---|---|---|---|
| SR-01 | 身分驗證 | 8 | 6 | 2 | 人、機器、外部身分提供者——「你是誰」要真的驗,不收自報 |
| SR-02 | 授權 | 14 | 13 | 1 | 租戶隔離、專案角色、能力點、總部層級——「你能不能做」要有單一判斷點 |
| SR-03 | 傳輸安全 | 7 | 3 | 4 | 對外 HTTPS、對外部服務驗憑證、內網不對外、mTLS 要真驗 |
| SR-04 | 輸入處理 | 12 | 9 | 3 | 驗身分前只做便宜的事、解析前先量、外部回來的都是外部輸入 |
| SR-05 | 輸出與回應 | 5 | 2 | 3 | 出口依格式跳脫、回應白名單、安全標頭、推出去的最小化 |
| SR-06 | 祕密管理 | 8 | 4 | 4 | 加密落庫、寫出去就遮、解密後只留記憶體、最小權限帳號 |
| SR-07 | 可用性與資源 | 9 | 4 | 5 | 大小、速率、逾時、佇列、連線數——每個入口都有上限 |
| SR-08 | 紀錄與稽核 | 6 | 5 | 1 | 紀錄是旁路、目標由人填就要記誰按的、刪除有順序 |
| SR-09 | 代理程式專章 | 7 | 2 | 5 | 誰能派工、資料面只對雲端開、證據可信副本在雲端、容器非 root |
| SR-10 | 外部整合專章 | 5 | 4 | 1 | Drive 不收直接編號、授權序號夠長、AI 入口出口守門 |
| 合計 | 81 | 52 | 29 |
前八章是任何 web 系統都有的通用主題,後兩章是本產品特有的(代理程式裝在客戶機房、十條依設定才存在的外部整合)。通用的要求(如憑證驗證)即使只用在代理程式上也歸通用章,專章只放該領域特有的——審計方按主題翻比較順。
| 文件 | 回答什麼 | 從哪連過去 |
|---|---|---|
| 模組頁 M01~M24 | 掃描抓到的每一條問題 | 連線頁威脅表的實例 |
| STRIDE 六頁 | 每條問題的九欄展開、發生在哪條線 | 同上 |
| DFD Level 0 | 系統有哪些連線 | SR 的適用連線 |
| 連線頁 C01~C25 | 每條線的威脅與防線 | SR 的來源 |
| 本組 SR-01~SR-10 | 系統應該怎樣 | — |
| 符合性矩陣 | 現在做到哪 | 每條 SR |
對照工作稿(162 條 D → 81 條 SR 的去重過程)在 requirements/_drafts/D-to-SR.md,不進側欄。