張沁怡
第三方項目驗收測試是對項目建設范圍內的功能、性能等技術指標進行驗證,評估項目所采取的安全措施能否滿足項目建設的需要。本文對第三方項目驗收測試的定義、測評依據、測評內容及測試流程進行了介紹和論述。
信息化項目是指以計算機、通信技術及其他現代信息技術為主要手段的信息網絡、信息安全、信息資源和信息應用系統等新建、擴建或者改建的工程項目。
項目申報單位由于技術條件等諸多因素限制,無法獨立組織項目并實施項目驗收測試。因此,建議對項目質量要求比較嚴格的項目申報單位委托第三方測試機構進行項目驗收測試,對于提高項目的安全性建設、降低系統運行時的風險具有極其重要的作用。
驗收測試
驗收測試定義
第三方項目驗收測試可分為安全測評和軟件測試,根據立項文件的項目建設內容,對項目建設范圍內的功能、性能等技術指標進行驗證,并結合國家、地方的信息安全相關標準,對建設完成的信息系統進行安全測試和評估,評估項目所采取的安全措施能否滿足項目建設的需要。
在第三方項目測試驗收中,“第三方”的“獨立性”是保證其結果公正的起點,而“第三方”的專業性和權威性則是保證其結果公正的基礎。第三方測評機構聘用的測評人員資質應經過審查,確保測評人員的可信性,采用的測評工具應經過選型,確保測評工具的可信性,測評過程應依據相關測評標準進行,確保測試過程及結果的可信性。
測評依據
安全測評主要參照網絡等級保護的相關標準進行測評,具體測評依據如下:
GB/T 22239-2019:《信息安全技術網絡安全等級保護基本要求》;
GB/T 18336.2-2015:《信息技術安全技術信息技術安全評估準則》。
軟件測試主要參照軟件產品質量要求和測試國家標準進行測評,具體測評依據如下:
GB T 25000.51-2016:《系統與軟件工程系統與軟件質量要求和評價(SQuaRE)第51部分就緒可用軟件產品(RUSP)的質量要求和測試細則》
測評內容
安全測評:一般依據項目建設內容進行確定,可從安全物理環境、安全通信網絡、安全區域邊界、安全計算環境和安全管理制度等測評層面進行安全配置核查和文檔記錄核查。例如某項目建設內容不包括機房建設,則不對安全物理環境進行測評,以此類推。
軟件測試:一般依據項目建設任務書、項目批復、需求規格說明書等文檔對項目涉及的應用系統功能進行驗證,具體內容根據項目而定。若項目不涉及應用的開發和改造,則不進行項目功能驗證。
根據項目建設任務書、項目批復、項目設計(建設)方案中要求的性能指標進行測試。常見的性能指標有:用戶數、最大并發用戶數、響應時間、事務通過率、資源利用率(CPU平均利用率、平均可用內存分析、磁盤占用率等)和壓力指標等。
驗收測試流程
項目的生命周期分為4個階段:啟動項目、組織與準備、執行項目工作和結束項目。對信息化項目進行第三方項目驗收測試,本質上也是完成項目,對應項目生命周期的各個階段、測評方人員的主要工作內容及輸出結果如表1所示。本章節將就各階段的詳細工作內容進行展開論述。
項目合同簽訂
測評單位與具有信息化項目驗收需求的項目申報單位負責人簽訂測評合同(單獨做安全測評或軟件測試,或是都做),經過內部業務分配流程將項目授權于特定測評組負責實施。
驗收測評準備
與項目申報單位進行聯系,收集項目立項文檔,包括但不限于項目建設任務書、項目批復文件等,收集軟件開發文檔,包括但不限于需求規格說明書、用戶操作手冊、安裝部署手冊和運維手冊等;收集被測對象清單,包括但不限于項目內采購的服務器、數據庫、網絡設備、網絡安全設備以及項目內新建/升級改造的應用系統;硬件設備需提供設備名稱、型號、操作系統/數據庫系統、數量和IP等信息,軟件系統需提供系統名稱、功能簡介和訪問地址等信息;收集網絡拓撲圖,確認項目建設范圍內的硬件設備所在位置及軟件系統的網絡邊界。
根據收集到的項目立項文檔,確定本次安全測評中需要選取的測評層面及測試項,根據網絡拓撲圖中硬件設備所在位置及軟件系統的網絡邊界,確定安全配置核查、漏洞掃描的測試工具接入點位置。
根據收集到的項目立項文檔,確定本次軟件測試中的功能指標、性能指標,對項目建設范圍內的系統進行功能分解、等價類劃分以及邊界值分析來設計測試用例,并依據每項測試輸入列舉預期的測試輸入,并確定判定準則,根據網絡拓撲圖中硬件設備所在位置及軟件系統的網絡邊界,確定功能測試、性能測試的測試工具接入點位置。
匯總上述信息進行測評方案的編制,測評方案包括項目概述、測評對象組成、測試方法與環境、測評內容及要求等章節,最后與項目申報單位約定現場測評時間及配合測試人員,提前告知現場測評流程及過程中可能存在的一些風險。
現場實施
(1)測試內容
根據項目組成員數量對測評工作進行合理分工,按照測評方案中測評對象和測評內容進行測試。
(2)測試工具
測評過程中可能使用到的測評工具包括測評報告撰寫工具:測評能手1.8.2.0、操作系統漏洞掃描工具、Nessus 8.13.1/綠盟極光遠程安全評估系統V5.0;數據庫掃描工具:APPDectective 8.7;應用漏洞掃描工具:明鑒Web應用弱點掃描器6.0;性能測試工具:Loadrunner 12。
(3)風險控制
對于合格的測評人員來說基本的業務能力是必備條件,此外安全意識的培訓和培養也不可缺失,若是在測評過程中由于業務能力不足或安全意識不到位,可能會產生測評工具的操作不當、測評記錄存儲不當、破壞系統等后果,最終給雙方造成損失,因此第三方測評機構應定期對測評人員進行資質審查,可以采取簽署保密協議、現場見證等方式進行風險管控。
下面將分別闡述測評過程中可能產生風險的環節和可采取的應對措施。
配置核查
風險:誤操作。
措施:操作系統、數據庫系統、網絡設備等核查過程中,測評人員告知配合人員需要執行的命令、需要查看的配置,命令的輸入和執行、配置導出等操作可以由配合人員完成。
工具掃描
風險:增加系統和網絡負載,可能造成設備宕機。
措施:與配合人員商議掃描時間時避開系統高峰期,若配備了備機也可以對備機進行掃描。
滲透性測試
風險:可能產生測試冗余數據,或造成部分數據丟失。
措施:進行測試前對生產數據庫進行備份,若配備了與生產環境一致的測試環境,可以在測試環境下執行應用層面滲透性測試。
功能測試
風險:誤操作。
措施:進行測試前對生產數據庫進行備份,涉及到增加、刪除、修改的功能點,可以由配合人員按照測試用例執行,若配備了與生產環境一致的測試環境,可以在測試環境下執行用例。
性能測試
風險:可能影響系統運行甚至導致系統崩潰。
措施:與配合人員商議性能測試時間時避開系統高峰期,若配備了與生產環境一致的測試環境,可以在測試環境下執行性能測試。
(4)結果記錄及交流
在安全測評和軟件測試的測試過程中,測評人員將實際測試結果作為原始測試結果進行記錄,初次測評完成后,若發現功能、性能、安全性或文檔等方面存在不滿足測評要求的情況,安全測評可以出具安全問題匯總。內容包括測評對象、測評項、安全問題描述、安全建設整改建議等內容,軟件測試可以出具異常統計與改進情況表,內容包括軟件異常簡要描述、功能模塊、異常等級和改進情況。測評人員在初次測評的末尾就以上文檔的內容與配合人員進行溝通交流,明確目前與達到項目驗收要求的差距,待整改完畢后再次約定時間進行回歸測試。
(5)測評結束
安全測評中,當項目無主要高風險問題,單項符合率≥60 %,單項符合率+單項部分符合率≥80%時,達到了出具安全測評報告的要求。軟件測試中,當項目無功能要求和相關技術指標要求的異常,通過率≥95%時,達到了出具軟件測試報告的要求。
進行回歸測試時,當整改情況滿足上述出具報告要求時,測評人員記錄下相關問題的整改情況,此時現場測評結束,測評人員可以進入報告撰寫階段。
報告撰寫
安全測評報告由信息化項目安全測評基本信息表、聲明、報告摘要與結論、主要安全問題及整改建議、項目概述、測評概述、單項測評結果匯總、測評結論、安全問題整改建議和附錄構成,可通過測評能手1.8.2.0進行報告初稿的導出。
軟件測試報告由項目軟件測試基本信息表、聲明、報告摘要與結論、軟件概況、測試概述、測試過程與結果、符合性評價結果、測試結論和附錄構成。
對于項目申報單位來說,項目驗收測評僅是對項目完成現狀的安全性、功能性等特性進行了測試,并不代表絕對的安全性,為了實現可持續的安全性,項目申報單位也不能僅依賴于項目驗收測試,應采取持續的防護手段,例如安全服務、實時監控、修復與加固等。
對于第三方測評機構來說,測評必須強化質量第一的原則,若是測評中放過一個安全漏洞,就有可能使系統帶病上崗,最終可能產生無法估計的損失。此外測評機構也需要不斷提升測評技術能力,信息安全產品升級換代很快,各類技術也不斷革新,測評也要跟上時代發展和技術進步,確保測評公正和專業性。