資安測試不能只看黑箱、灰箱或白箱名稱。本文協助企業主確認測試目標、資產範圍、帳號角色、操作限制、交付物與複測責任,避免花錢買到與實際風險不相符的報告。
廠商報價單上寫著「黑箱測試、灰箱測試、白箱測試」,價格差了好幾倍。企業主真正要問的,不是哪個名稱聽起來最完整,而是這次想降低什麼風險、測試者能取得哪些資料,以及最後會交付什麼證據。若這三件事沒說清楚,就算買了最貴的方案,也可能測到錯的地方。
可以把資安測試想成檢查一棟準備營業的店面。有人只從門外測試門窗,有人拿到員工門卡檢查內部動線,也有人同時取得設計圖、配線資料與鑰匙。三種方式看到的盲點不同,不能只用「哪一種比較厲害」決定。
名稱差異,在於測試者取得多少資訊
黑箱測試通常只提供公開網址等少量資訊,測試者從外部觀察網站或系統能接觸到的入口。開放全球網頁應用程式安全計畫(OWASP)的《Web Security Testing Guide》(網站安全測試指南)也以測試者對應用程式一無所知或只有少量資訊,說明黑箱方法。它適合了解未登入的外部人員可能看見什麼,但測試時間可能花在摸索功能,較難深入所有內部流程。
灰箱測試會提供部分資訊,例如一般會員、員工或合作廠商帳號。它能檢查登入後的權限邊界,像是普通使用者能否看到別人的訂單、檔案或管理功能。企業常見的資料外洩不一定需要從門外闖入,也可能發生在帳號已經登入,卻取得不該擁有的權限。
白箱測試則讓測試者取得更多內部資料,例如原始碼、系統架構、設定方式或不同角色帳號。市場上對「白箱」涵蓋範圍並不完全一致,有些報價包含程式碼審查,有些只提供系統資訊。因此不能只看名稱,必須把實際提供的資料與檢查項目寫進合約。
三種方法找到的是不同盲點
黑箱方法較接近外部觀察角度,灰箱方法有助於檢查角色與權限,白箱方法則能進一步追查程式邏輯與設定。資訊給得越多,不代表測試就自動越完整;如果範圍漏掉付款流程、管理後台、API(讓不同系統交換資料的介面)或第三方登入,測試者仍不會替你檢查。
資安測試也不是「通過證明」。OWASP 將安全測試描述為驗證安全控制是否有效,NIST SP 800-115 則提醒,各種技術都有其效益與限制。測試結果只能反映約定範圍、測試期間與當時版本,不能保證未來不會出現新漏洞。
報價單只有測試名稱,還不算完整範圍
比較方案時,至少請廠商書面回答以下問題:
- 測哪些資產? 列出網域、網站、App、API、後台與測試環境,不能只寫「公司網站」。
- 提供哪些帳號與資料? 是否包含不同權限角色、原始碼、架構文件與第三方服務。
- 哪些行為禁止執行? 是否避開正式付款、寄信、刪除資料、壓力測試與營業尖峰。
- 交付物能否協助修正? 報告應包含重現條件、影響、風險排序與改善方向,並妥善保護敏感證據。
- 修正後是否複測? 確認複測範圍、期限、次數,以及未修復項目如何記錄。
如果廠商只承諾掃描幾個網址、交一份工具報告,卻沒有人工驗證、風險說明與複測安排,那比較接近弱點掃描,不應直接當成完整滲透測試採購。
先從風險情境選方法,不要從名詞選套餐
若目標是了解公開網站從外部暴露的入口,可以把黑箱測試納入範圍;若系統有會員、員工、廠商等不同角色,通常需要灰箱帳號才能有效檢查權限;若是自建系統、處理敏感資料、準備重大改版,則可評估加入原始碼與架構資料,讓測試更深入。
實務上也可以組合方法,例如先用外部角度盤點暴露面,再用指定帳號檢查重要流程,不必被迫三選一。第一步是把「最不能發生的三件事」寫下來,例如客戶資料被看見、訂單金額被修改、管理後台遭接管,再請每家廠商對照說明如何測、哪些不在範圍內。
接洽測試團隊前,可先準備公開網址、測試環境、使用者角色、最不能發生的三件事、預計改版時間與既有掃描報告。邊境部署可以協助整理系統範圍、帳號角色與驗收問題,讓你先確認買到的是需要的風險驗證,而不是只有一個看似專業的測試名稱。
