導入實務
紅隊演練與滲透測試差在哪
「我們想做紅隊演練」這句話,有一半的情況其實想要的是滲透測試。兩者都由攻擊視角進行,也都會交出一份找到問題的報告,但紅隊演練與滲透測試回答的是完全不同的問題,價格與前置條件也差很多。
這篇文章把差別講清楚,並給出判斷標準:以你現在的狀況,哪一種能換到更多資訊。順帶談界定範圍時最容易吃虧的幾個地方——這部分決定的往往比選哪一種測試更多。
一個在找漏洞,一個在驗證你發現得了
滲透測試的目標是覆蓋率:在約定的範圍內,盡可能找出可被利用的弱點,並證明它們真的可被利用。成功的滲透測試會交出一份清單,上面每一項都附重現步驟。方法論可以對照 OWASP 網頁安全測試指南與 NIST SP 800-115。
紅隊演練的目標是驗證防禦流程:模擬特定攻擊者的行為,看看你的偵測、通報與回應機制在真實時間軸下能不能運作。紅隊常常只用一個弱點就達成目標,因為它不需要找完所有弱點;它要回答的是「有人正在攻擊我們的時候,我們多久會知道,然後我們做了什麼」。
換句話說:滲透測試檢查的是系統,紅隊演練檢查的是你的團隊與流程。 前者的產出是修補清單,後者的產出是偵測落差清單。
逐項比較
| 比較項目 | 滲透測試 | 紅隊演練 |
|---|---|---|
| 主要目標 | 找出並證明弱點 | 驗證偵測與回應能力 |
| 範圍 | 事先明確界定 | 以目標為準,路徑不限 |
| 知情範圍 | IT 團隊通常知道 | 僅少數高層知道 |
| 時間 | 一到三週 | 四週到數月 |
| 成功定義 | 覆蓋率與弱點品質 | 是否達成目標、是否被發現 |
| 交付物 | 弱點清單與重現步驟 | 攻擊時間軸與偵測落差 |
| 前置條件 | 有可測的系統即可 | 已有偵測與回應機制 |
| 費用級距 | 較低 | 明顯較高 |
最後兩列是最常被忽略的。沒有偵測機制的公司做紅隊演練,結果幾乎一定是「全程未被發現」 ——這個結論你不用花錢也知道,而且它不會告訴你該修什麼。
什麼情況該做滲透測試
以下情境,滲透測試的性價比明顯較高:
- 新系統上線前。 目標是把可被利用的弱點在對外之前找出來。
- 客戶或稽核要求檢測報告。 問卷與合約條款要的通常是這一種。
- 架構剛調整完。 例如遠端存取剛汰換完,需要確認暴露面真的收乾淨了,這與VPN 替代方案怎麼選、怎麼汰換裡的驗證步驟是同一件事。
- 委外開發驗收。 驗收條件可直接引用 OWASP ASVS 的條目,避免爭議。
如果你目前沒有能力在被攻擊時察覺,那答案通常就在這一節,不必往下看。
什麼情況才適合做紅隊演練
三個前提同時成立,紅隊演練才會換到有價值的資訊:
- 已經有偵測機制在運作。 至少有集中的日誌與端點偵測,且有人會看告警。
- 已經做過滲透測試並修補完。 否則紅隊會走最省力的那條路,你得到的還是同一批弱點。
- 高層願意讓流程被檢驗。 紅隊演練會暴露的往往不是技術問題,而是「告警在週五晚上沒有人處理」這一類流程問題。
演練的行為腳本通常對照 MITRE ATT&CK 的技術編號,公開的對手模擬計畫可以直接拿來當範本,也方便事後和自家偵測規則逐條對照。實際攻擊者會走的路徑,寫在勒索軟體入侵途徑。
弱點掃描、滲透測試、紅隊演練是三層,不是三個選項
| 層次 | 誰在做 | 主要價值 |
|---|---|---|
| 弱點掃描 | 工具,可自動排程 | 持續發現已知問題 |
| 滲透測試 | 人,週期性 | 驗證可利用性與影響 |
| 紅隊演練 | 人,年度或半年 | 驗證偵測與回應流程 |
三層之間是遞進的:掃描告訴你「這個版本有已知漏洞」,滲透測試告訴你「這個漏洞在你的環境真的能被利用,而且能打到這裡」,紅隊演練告訴你「這件事發生時,你們花了多久才知道」。
跳級的常見後果是花大錢買到早就知道的結論。掃描報告裡還有一百項未處理的高風險項目時,紅隊演練不是下一步。
界定範圍時最容易吃虧的四件事
沒寫複測。 報告交付後的修補複測若不在合約裡,等於只買到問題清單。複測應該包含在原價內,或至少事先議定價格。
只寫系統,沒寫身分。 「測試這三台主機」和「以一般員工帳號為起點測試可觸及範圍」是完全不同的委託,後者才測得出橫向移動的實際範圍。
排除項目沒有講清楚。 社交工程、實體入侵、阻斷服務測試通常需要另外約定。沒寫清楚,容易在執行中才發現雙方預期不同。
只用 CVSS 分數排優先序。 CVSS 描述的是漏洞本身的嚴重程度,不含你的環境條件。一個 CVSS 9.8 但只在內網特定管理介面可觸及的漏洞,優先度可能低於一個 7.5 但暴露在公網的漏洞。要求報告附上「在你的環境中的實際可達性」比要求分數更有用。
報告拿到之後,價值才開始產生
一份沒有被修補的報告只是一份風險紀錄,出事時它還會變成「已知而未處理」的證據。所以驗收時要求三件事:
- 依實際風險排序,而不是依分數排序。 排序邏輯要能被解釋。
- 每一項都有可執行的修補建議。 「建議加強存取控制」不算,「關閉此連接埠的公網存取,改由授權後連線」才算。
- 修補後的複測與書面確認。 這份確認也是回覆客戶問卷時最有力的附件。
若需要討論該做哪一種、範圍怎麼界定,我們的紅隊演練與滲透測試服務頁面列出了實際的執行流程與交付內容。
名詞對照與延伸閱讀
| 名詞 | 一句話解釋 | 出處 |
|---|---|---|
| 滲透測試 | 在授權下實際嘗試入侵以驗證弱點 | Penetration test |
| 資安測試技術指引 | 測試類型與執行方法的官方指引 | NIST SP 800-115 |
| 網頁安全測試指南 | 公開的網頁測試方法論 | OWASP WSTG |
| 紅隊 | 以攻擊方視角檢驗防禦的團隊 | Red team |
| 應用程式安全驗證標準 | 可逐條勾稽的應用層安全需求 | OWASP ASVS |
| ATT&CK | 攻擊戰術與技術的公開知識庫 | MITRE ATT&CK |
| 對手模擬計畫 | 依真實攻擊者行為編寫的演練腳本 | Adversary emulation plans |
| 橫向移動 | 攻擊者在內網從一台主機擴散到下一台 | MITRE ATT&CK TA0008 |
| CVSS | 弱點嚴重程度的計分標準 | FIRST CVSS |
| 社交工程 | 針對人而非系統的操弄手法 | Social engineering |
一句話總結:想知道「哪裡有洞」做滲透測試,想知道「破了我們會不會發現」做紅隊演練。順序不要顛倒,先做後者通常只會得到一個你已經知道的答案。