What is Gray Box Testing?

灰盒測試是 應用程式資安 混合白盒和黑盒測試的測試技術。 在白框評估中,測試人員對正在測試的系統(源代碼,設計文檔等)具有完整的內部知識。 黑盒評估是在不了解系統內部的情況下進行。

灰盒測試通過為評估者提供系統內部部分知識來分解差異。 例如,灰盒測試人員可能不完全了解應用程式的原始程式碼,但可能對其有部分了解和/或存取設計文件。這提供比黑盒測試更多的洞察力,而且不比白盒評估。

深入瞭解 Cyber Security Risk Assessment

What is Gray Box Testing?

灰盒測試策略

A gray box tester has more information than in a 黑盒測試 並且比白盒測試中少。 這是故意的,使灰盒測試儀能夠結合兩種方法的好處。

灰盒測試可以通過充分利用提供的信息來提高黑盒評估的效率和測試覆蓋範圍。 雖然測試人員無法完全存取應用程式原始程式碼,但他們擁有足夠的知識和文件來了解應用程式的核心功能。這使得可能設計專注於可能的功能和安全性問題而不是盲目測試的測試用例。

灰盒評估員的信息比白框測試中的信息少,這可以提高測試的效率和真實性。 通過減少評估的輸入數量,可以將時間專注於主動測試,而不是處理和審查提供的代碼和文檔。 此外,拒絕評估員對系統的完整知識有助於避免對系統的設計如何運作而不是其實際運作方式的偏見。

執行灰盒測試的步驟

灰盒評估是基於測試系統的可用知識的結構化評估。 它應該按照以下步驟操作:

  1. 根據白盒和黑盒測試技術識別輸入
  2. 根據提供的文件識別這些輸入應產生的輸出
  3. 識別應測試的主要控制流程
  4. 識別應接受深層測試的重要子功能
  5. 識別子函數的輸入
  6. 識別子函數應為給定輸入產生的輸出
  7. 為此子功能開發並執行測試用例
  8. 驗證子函數是否為測試用例產生預期的結果
  9. 針對所有子功能重複步驟 4-8

灰盒測試技術

灰盒測試可以通過幾種不同的方式執行,包括:

  • 矩陣測試: 矩陣測試專注於程序中的變量,列舉它們,評估它們所帶來的風險,並測試它們是否正確有效地使用。
  • Regression Testing: 程式碼可能會被修改以新增功能或修正安全性問題。 回歸測試驗證應用程式在修改後是否仍通過測試。
  • 模式測試: 模式測試會調查應用程式的過去,以確定過去和未來可能導致缺陷的趨勢。這些測試的結果可以用於防止將來這些問題重複發生。
  • 正交陣列測試 (OAT): OAT 與具有少量複雜輸入的應用程式一起使用。它使用統計信息來創建一組測試用例,可提供良好的測試涵蓋範圍,而不需要花費詳盡的測試費用。

Black Box vs White Box Testing vs Gray box

黑盒、白盒和灰盒測試為測試人員提供有關測試系統內部的不同水平的知識。 在一個極端的情況下,白盒測試可以完全訪問原始碼和設計文檔。 另一方面,黑盒測試人員不了解應用程式如何運作的內部知識。

這些不同水平的知識和存取能力大大影響測試過程。 一些主要差異包括:

  • Test Coverage: 白盒測試可以保證完整的測試覆蓋範圍,因為它具有對代碼的完整訪問權限,而黑盒測試則不提供此類保證。 灰色框位於中間,因為測試人員可以根據文檔執行一些測試計劃,但對未記錄和無法訪問的代碼路徑沒有明白。
  • SDLC 中的位置: 白盒測試使用源代碼,因此可以早期實現 CI/CD 管道。灰色和黑盒測試可以在運行代碼上使用,因此它們稍後會進入 SDLC。
  • 分析工具: 白框測試使用靜態代碼分析工具來分析源代碼。 灰色和黑盒測試使用 動態程式碼分析 工具,例如 漏洞掃描,分析正在運行的應用程式。
  • Tester Mindset: 白盒測試來自開發人員的思維,而黑盒測試是從用戶的角度執行。 灰盒測試消除了開發人員對應用程式設計工作方式的偏見,同時也提供了比普通用戶更多的資訊存取權限。

Check Point CRT

Check Point’s 專業服務 產品組合可以幫助支援組織的應用程式安全工作。白盒、灰盒和黑盒安全評估是 Check Point 的一部分 網路安全彈性 / 滲透測試服務

了解有關透過 Check Point 增強組織的應用程式安全計畫的更多信息 專業測試服務。另外,請隨時 contact us 進一步了解如何量身定制的測試計劃,以及協助識別和更正組織中的安全性問題。

×
  反映意見
本網站使用cookies來實現其功能以及分析和行銷目的。 繼續使用本網站即表示您同意使用cookies 。 欲了解更多信息,請閱讀我們的cookies聲明