6.2 基本級安全要求測試
6.2 基本級安全要求測試
6.2.1 安全功能測試
6.2.1.1 掃描能力
6.2.1.1.1 資源發現
資源發現的測試評價方法如下:
a) 測試方法:
1) 配置產品掃描Javascript腳本的頁面地址,查看掃描結果;
2) 配置產品掃描包括頁面文件的URL地址,查看掃描結果;
3) 配置產品掃描內嵌URL的Flash地址,查看掃描結果。
b) 預期結果:
1) 產品能夠解析和執行Javascript腳本,獲取相應URL并以樹型結構呈現;
2) 產品能夠獲取頁面文件內包括的URL并以樹型結構呈現;
3) 產品能夠獲取Flash中內嵌的URL并以樹型結構呈現。
c) 結果判定:
6.2.1.1.2 漏洞檢測
漏洞檢測的測試評價方法如下:
a) 測試方法:
1) 配置產品掃描策略,執行對Web應用漏洞環境(部署SQL注入、cookie注入、XSS、CSRF、目錄遍歷、信息泄露、認證方式脆弱性和文件包含等漏洞)的掃描任務;
2) 查看掃描結果。
b) 預期結果:
1) 產品能夠發現基于Get、Post方式提交的字符、數字、搜索等的SQL注入漏洞;
2) 產品能夠發現基于Cookie方式提交的字符、數字、搜索等的Cookie注入漏洞;
3) 產品能夠發現基于Get、Post方式的XSS漏洞;
4) 產品能夠發現基于CSRF漏洞;
5) 產品能夠發現目錄遍歷漏洞;
6) 產品能夠發現路徑泄漏、文件備份、源代碼泄漏、目錄瀏覽和phpinfo等信息泄露;
7) 產品能夠發現弱口令等認證方式脆弱漏洞;
8) 產品能夠發現文件包含漏洞。
c) 結果判定:
6.2.1.1.3 升級能力
升級能力的測試評價方法如下:
a) 測試方法:
檢查產品是否具備漏洞特征庫的更新能力。
b) 預期結果:
產品提供漏洞特征庫的更新功能。
c) 結果判定:
6.2.1.1.4 支持SSL應用
支持SSL應用的測試評價方法如下:
a) 測試方法:
1) 配置產品掃描基于HTTPS協議的Web應用系統;
2) 查看掃描結果。
b) 預期結果:
產品支持掃描基于HTTPS協議的Web應用系統。
c) 結果判定:
6.2.1.1.5 對目標系統的影響
對目標系統的影響的測試評價方法如下:
a) 測試方法:
1) 配置產品對Web應用系統進行掃描;
2) 檢查產品在掃描過程中,是否對Web應用系統和正常訪問造成明顯的性能影響。
b) 預期結果:
產品在掃描過程中未對Web應用系統和正常訪問造成明顯的性能影響。
c) 結果判定:
6.2.1.1.6 誤報率
誤報率的的測試評價方法如下:
a) 測試方法:
1) 對Web應用漏洞平臺(已知漏洞環境)進行掃描;
2) 核查掃描結果的誤報情況。
b) 預期結果:
產品的誤報情況低于20%。
c) 結果判定:
6.2.1.1.7 漏報率
漏報率的的測試評價方法如下:
a) 測試方法:
1) 對Web應用漏洞平臺(已知漏洞環境)進行掃描;
2) 核查掃描結果的漏報情況。
b) 預期結果:
產品的漏報情況低于20%。
c) 結果判定:
6.2.1.1.8 URL發現率
誤報率的的測試評價方法如下:
a) 測試方法:
1) 對Web應用漏洞平臺進行掃描;
2) 核查URL的發現情況。
b) 預期結果:
產品的URL發現比例高于90%。
c) 結果判定:
6.2.1.2 掃描配置管理
6.2.1.2.1 向導功能
向導功能的測試評價方法如下:
a) 測試方法:
檢查產品在配置過程中是否提供了向導功能。
b) 預期結果:
產品在配置過程中提供了向導功能。
c) 結果判定:
6.2.1.2.2 掃描范圍
掃描范圍的測試評價方法如下:
a) 測試方法:
1) 配置掃描策略,分別制定掃描的URL范圍,包括指定域名和URL,查看掃描結果;
2) 配置掃描的深度,查看掃描結果;
3) 配置不掃描的URL(例如登出、刪除等頁面),查看掃描結果。
b) 預期結果:
1) 產品能夠根據指定域名和URL進行掃描,且掃描結果未超出定義的范圍;
2) 產品能夠配置掃描的深度,且掃描結果未超出定義的深度范圍;
3) 產品能夠配置不掃描的URL,且掃描結果未包括設定的URL地址。
c) 結果判定:
6.2.1.2.3 登錄掃描
登錄掃描的測試評價方法如下:
a) 測試方法:
配置登錄掃描的策略,查看掃描結果。
b) 預期結果:
產品支持基于用戶的登錄信息(如基于Cookie、Session、Token、錄制的登錄信息等一種或多種方式)對Web應用進行掃描,并掃描結果包括登錄后的頁面。
c) 結果判定:
6.2.1.2.4 策略選擇
策略選擇的測試評價方法如下:
a) 測試方法:
1) 根據漏洞類型、類別配置產品的掃描策略,查看掃描結果;
2) 根據漏洞危害程度配置產品的掃描策略,查看掃描結果。
b) 預期結果:
1) 產品能夠根據漏洞類型對Web應用系統進行掃描,且掃描結果未超出定義的范圍;
2) 產品能夠根據漏洞危害程度對Web應用系統進行掃描,且掃描結果未超出定義的范圍。
c) 結果判定:
6.2.1.2.5 掃描速度
掃描速度的測試評價方法如下:
a) 測試方法:
檢查產品是否能夠根據HTTP請求速度、掃描線程或進程數目等調節掃描速度。
b) 預期結果:
產品能夠根據HTTP請求速度、掃描線程或進程數目等調節掃描速度。
c) 結果判定:
6.2.1.2.6 任務定制
任務定制的測試評價方法如下:
a) 測試方法:
配置產品的批量掃描計劃任務,查看掃描結果。
b) 預期結果:
產品能夠根據計劃進行批量掃描,且能夠自動生成掃描結果。
c) 結果判定:
6.2.1.2.7 穩定性和容錯性
穩定性和容錯性的測試評價方法如下:
a) 測試方法:
1) 在掃描過程中,檢查產品是否出現失去響應或非正常退出的現象;
2) 在掃描過程中,檢查產品是否出現掃描進度停滯不前的現象;
3) 在掃描過程中,檢查是否能夠隨時停止正在執行的掃描任務;
4) 在掃描過程中,檢查產品是否支持斷點續掃功能。
b) 預期結果:
1) 產品未出現失去響應或非正常退出的現象;
2) 產品未出現掃描進度停滯不前的現象;
3) 產品在掃描過程中能夠隨時停止掃描任務;
4) 產品能夠支持斷點續掃功能。
c) 結果判定:
6.2.1.3 掃描結果分析處理
6.2.1.3.1 結果驗證
結果驗證的測試評價方法如下:
a) 測試方法:
根據漏洞掃描結果,檢查產品是否提供了參數驗證XSS漏洞、SQL注入點、目錄遍歷、信息泄漏和命令執行等安全漏洞。
b) 預期結果:
產品提供了漏洞的驗證參數,能夠支持驗證XSS漏洞、SQL注入點、目錄遍歷、信息泄漏和命令執行等安全漏洞。
c) 結果判定:
6.2.1.3.2 結果保存
結果保存的測試評價方法如下:
a) 測試方法:
檢查產品的掃描結果是否非明文存儲于掉電非易失性存儲介質中。
b) 預期結果:
產品的掃描結果非明文保存于掉電非易失性存儲介質(如硬盤)中。
c) 結果判定:
6.2.1.3.3 統計分析
統計分析的測試評價方法如下:
a) 測試方法:
檢查產品是否能夠對掃描獲取的原始數據進行整理并進行統計分析。
b) 預期結果:
產品能夠對掃描獲取的原始數據進行整理、統計和分析。
c) 結果判定:
6.2.1.3.4 報告生成
報告生成的測試評價方法如下:
a) 測試方法:
1) 生成并查看掃描報告,掃描報告中的漏洞信息是否包括URL、漏洞名稱、漏洞描述等詳細信息;
2) 掃描報告是否包括了漏洞的安全性建議。
b) 預期結果:
1) 產品掃描報告中的漏洞信息包括了URL、漏洞名稱、漏洞描述等準確信息;
2) 產品掃描報告中包括了漏洞的安全性建議(漏洞的修復建議)。
c) 結果判定:
6.2.1.3.5 報告輸出
報告輸出的測試評價方法如下:
a) 測試方法:
1) 查看掃描報告的導出格式;
2) 查看掃描報告的內容,是否包括文字、圖表等形式的統計結果。
b) 預期結果:
1) 產品的掃描報告支持常用文檔格式(如doc、excel或pdf等);
2) 產品的掃描報告包括文字、圖表等形式的統計結果。
c) 結果判定:
6.2.2 自身安全功能測試
6.2.2.1 標識與鑒別
6.2.2.1.1 用戶標識
6.2.2.1.1.1 屬性定義
屬性定義的測試評價方法如下:
a) 測試方法:
檢查產品是否能夠創建用戶,并為其賦予標識、鑒別信息、隸屬組、權限等安全屬性。
b) 預期結果:
產品能夠為創建的用戶配置標識、鑒別信息、隸屬組、權限等安全屬性。
c) 結果判定:
6.2.2.1.1.2 屬性初始化
屬性初始化的測試評價方法如下:
a) 測試方法:
檢查產品是否能夠對創建的每個用戶的屬性進行初始化。
b) 預期結果:
產品為創建的每個用戶的屬性提供初始化的功能。
c) 結果判定:
6.2.2.1.1.3 唯一性標識
唯一性標識的測試評價方法如下:
a) 測試方法:
檢查產品是否不允許命名同一標識的用戶,且在日志中將關于該用戶的事件與標識相關聯。
b) 預期結果:
產品不允許創建同名用戶,且將關于該用戶的事件與標識相關聯。
c) 結果判定:
6.2.2.1.2 身份鑒別
6.2.2.1.2.1 用戶鑒別
用戶鑒別的測試評價方法如下:
a) 測試方法:
1) 通過所有管理接口嘗試登錄產品,是否均需進行身份鑒別;
2) 檢查是否只有通過身份鑒別后,才能訪問授權的安全功能模塊;
3) 當正常或非正常(強行斷電)退出后,重新嘗試登錄產品,是否需進行身份鑒別。
b) 預期結果:
只有通過身份鑒別后才能訪問授權的安全功能模塊,且無論正常或非正常退出后,重新登錄產品均需進行身份鑒別。
c) 結果判定:
6.2.2.1.2.2 用戶數據保護
用戶數據保護的測試評價方法如下:
a) 測試方法:
檢查非授權用戶是否能夠查閱、修改用戶數據,如鑒別信息、重要配置參數等。
b) 預期結果:
產品的非授權用戶不能查閱、修改用戶數據。
c) 結果判定:
6.2.2.2 安全管理
6.2.2.2.1 安全功能管理
安全功能管理的測試評價方法如下:
a) 測試方法:
以授權管理員身份登錄產品,分別進行查看和修改各種安全屬性、啟動和關閉安全功能、制定和修改各種安全策略等操作,并檢查設置是否生效。
b) 預期結果:
產品的授權管理員能夠進行查看和修改各種安全屬性、啟動和關閉安全功能、制定和修改各種安全策略等操作,且設置生效。
c) 結果判定:
6.2.2.2.2 安全角色管理
安全角色管理的測試評價方法如下:
a) 測試方法:
產品至少提供兩類管理員角色,分別以不同角色身份登錄,檢查權限是否不同;
b) 預期結果:
產品具備兩種以上管理員角色,且權限各不相同。
c) 結果判定:
6.2.2.2.3 遠程安全傳輸
遠程安全傳輸的測試評價方法如下:
a) 測試方法:
若產品組件間通過網絡進行通訊,使用協議分析儀截取數據并檢查內容是否為非明文。
b) 預期結果:
1) 若產品組件間不通過網絡傳輸數據,則此項為非檢測項;
2) 若產品組件間通過網絡進行通訊,傳輸數據為非明文。
c) 結果判定:
6.2.2.3 審計日志
6.2.2.3.1 審計日志生成
審計日志生成的測試評價方法如下:
a) 測試方法:
1) 嘗試進行5.2.2.3.1要求的各項操作,觸發審計事件;
2) 查看審計日志是否包括事件發生的日期、時間、用戶標識、事件描述和結果;
3) 若產品支持遠程管理,查看審計日志是否記錄管理主機的IP地址。
b) 預期結果:
產品能夠針對上述事件生成審計日志,日志內容包括事件發生的日期、時間、用戶標識、事件描述和結果;同時產品支持遠程管理時,審計日志能夠記錄管理主機的IP地址。
c) 結果判定:
6.2.2.3.2 審計日志保存
審計日志保存的測試評價方法如下:
a) 測試方法:
通過斷電重啟產品或日志存儲設備等手段,檢查是否會造成審計日志的丟失。
b) 預期結果:
斷電重啟后,產品的審計日志不應丟失。
c) 結果判定:
6.2.2.3.3 審計日志管理
審計日志的管理的測試評價方法如下:
a) 測試方法:
1) 分別以授權管理員身份和未授權用戶身份查看審計日志,檢查產品是否僅允許授權管理員訪問審計日志;
2) 檢查產品是否能夠對審計日志按操作用戶、日期時間和操作類型等條件進行查詢和檢索;
3) 檢查產品是否能夠存檔和導出審計日志。
b) 預期結果:
1) 產品僅允許授權管理員訪問審計記錄,未授權用戶無法查看審計日志;
2) 產品應能夠按條件查詢和檢索審計日志,且查詢結果準確完整;
3) 產品應能夠存檔和導出審計日志。
c) 結果判定:
6.2.3 安全保障要求測試
6.2.3.1 開發
6.2.3.1.1 安全架構
安全架構的測試評價方法如下:
a) 測試方法:
審查安全架構文檔是否準確描述如下內容:
1) 與產品設計文檔中對安全功能實施抽象描述的級別一致;
2) 描述與安全功能要求一致的產品安全功能的安全域;
3) 描述產品安全功能初始化過程為何是安全的;
4) 證實產品安全功能能夠防止被破壞;
5) 證實產品安全功能能夠防止安全特性被旁路。
b) 預期結果:
開發者提供的文檔內容應滿足上述要求。
c) 結果判定:
6.2.3.1.2 功能規范
功能規范的測試評價方法如下:
a) 測試方法:
審查功能規范文檔是否準確描述如下內容:
1) 完全描述產品的安全功能;
2) 描述所有安全功能接口的目的與使用方法;
3) 標識和描述每個安全功能接口相關的所有參數;
4) 描述安全功能接口相關的安全功能實施行為;
5) 描述由安全功能實施行為處理而引起的直接錯誤消息;
6) 證實安全功能要求到安全功能接口的追溯。
b) 預期結果:
開發者提供的文檔內容應滿足上述要求。
c) 結果判定:
6.2.3.1.3 產品設計
產品設計的測試評價方法如下:
a) 測試方法:
審查產品設計文檔是否準確描述如下內容:
1) 根據子系統描述產品結構;
2) 標識和描述產品安全功能的所有子系統;
3) 描述安全功能所有子系統間的相互作用;
4) 提供的映射關系能夠證實設計中描述的所有行為能夠映射到調用它的安全功能接口。
b) 預期結果:
開發者提供的文檔內容應滿足上述要求。
c) 結果判定:
6.2.3.2 指導性文檔
6.2.3.2.1 操作用戶指南
操作用戶指南的測試評價方法如下:
a) 測試方法:
審查操作用戶指南是否準確描述如下內容:
1) 描述在安全處理環境中被控制的用戶可訪問的功能和特權,包含適當的警示信息;
2) 描述如何以安全的方式使用產品提供的可用接口;
3) 描述可用功能和接口,尤其是受用戶控制的所有安全參數;
4) 明確說明與需要執行的用戶可訪問功能有關的每一種安全相關事件,包括改變安全功能所控制實體的安全特性;
5) 標識產品運行的所有可能狀態(包括操作導致的失敗或者操作性錯誤),以及它們與維持安全運行之間的因果關系和聯系;
6) 充分實現安全目的所執行的安全策略。
b) 預期結果:
開發者提供的文檔內容應滿足上述要求。
c) 結果判定:
6.2.3.2.2 準備程序
準備程序的測試評價方法如下:
a) 測試方法:
審查準備程序文檔是否準確描述如下內容:
1) 描述與開發者交付程序相一致的安全接收所交付產品必需的所有步驟;
2) 描述安全安裝產品及其運行環境必需的所有步驟。
b) 預期結果:
開發者提供的文檔內容應滿足上述要求。
c) 結果判定:
6.2.3.3 生命周期支持
6.2.3.3.1 配置管理能力
配置管理能力的測試評價方法如下:
a) 測試方法:
1) 審查開發者是否為不同版本的產品提供唯一的標識;
2) 現場檢查配置管理系統是否對所有的配置項作出唯一的標識,且配置管理系統是否對配置項進行了維護;
3) 審查開發者提供的配置管理文檔,是否描述了對配置項進行唯一標識的方法。
b) 預期結果:
開發者提供的文檔和現場活動證據內容應滿足上述要求。
c) 結果判定:
6.2.3.3.2 配置管理范圍
配置管理范圍的測試評價方法如下:
a) 測試方法:
1) 審查開發者提供的配置項列表;
2) 配置項列表是否描述了組成產品的全部配置項及相應的開發者。
b) 預期結果:
開發者提供的文檔和現場活動證據內容應滿足上述要求。
c) 結果判定:
6.2.3.3.3 交付程序
交付程序的測試評價方法如下:
a) 測試方法:
1) 現場檢查開發者是否使用一定的交付程序交付產品;
2) 審查開發者是否使用文檔描述交付過程,文檔中是否包含以下內容:在給用戶方交付系統的各版本時,為維護安全所必需的所有程序。
b) 預期結果:
開發者提供的文檔和現場活動證據內容應滿足上述要求。
c) 結果判定:
6.2.3.4 測試
6.2.3.4.1 測試覆蓋
測試覆蓋證的測試評價方法如下:
a) 測試方法:
審查開發者提供的測試覆蓋文檔,在測試覆蓋證據中,是否表明測試文檔中所標識的測試與功能規范中所描述的產品的安全功能是對應的。
b) 預期結果:
開發者提供的文檔內容應滿足上述要求。
c) 結果判定:
6.2.3.4.2 功能測試
功能測試的測試評價方法如下:
a) 測試方法:
1) 審查開發者提供的測試文檔,是否包括測試計劃、預期的測試結果和實際測試結果;
2) 審查測試計劃是否標識了要測試的安全功能,是否描述了每個安全功能的測試方案(包括對其它測試結果的順序依賴性);
3) 審查期望的測試結果是否表明測試成功后的預期輸出;
4) 審查實際測試結果是否表明每個被測試的安全功能能按照規定進行運作。
b) 預期結果:
開發者提供的文檔內容應滿足上述要求。
c) 結果判定:
6.2.3.4.3 獨立測試
獨立測試的測試評價方法如下:
a) 測試方法:
1) 評價者應審查開發者提供的測試資源;
2) 評價者應審查開發者提供的測試集合是否與其自測系統功能時使用的測試集合相一致。
b) 預期結果:
開發者提供的資源應滿足上述要求。
c) 結果判定:
6.2.3.5 脆弱性評定
脆弱性評定的測試評價方法如下:
a) 測試方法:
從用戶可能破壞安全策略的明顯途徑出發,按照安全機制定義的安全強度級別,對產品進行脆弱性分析。
b) 預期結果:
測試結果應表明產品能夠抵抗基本攻擊。
c) 結果判定:
GB/T37931-2019Web應用安全檢測系統安全要求
推薦文章: