侯殿君
摘 要:軟件依從性測試的目標是在互聯網+發展背景下,利用軟件測試技術,測試軟件產品或系統遵循與功能性、性能效率、兼容性、易用性、可靠性、信息安全性、維護性、可移植性相關的標準、約定或法規以及類似規定的程度,促進軟件系統合法合規合標、安全、穩定、有效、持續運行,降低客戶面臨的軟件系統安全風險,促使軟件產業的健康發展。
關鍵詞:依從性測試;軟件質量模型;滲透測試
中圖分類號:TP311.52 文獻標識碼:A 文章編號:1671-2064(2018)18-0025-02
軟件是信息產業的核心,其質量的好壞關系到信息智慧產業的成敗,軟件測試是提高軟件質量的一個重要手段之一。目前我國軟件測試實驗室主要依據GB/T 25000.51-2016《系統與軟件工程 系統與軟件質量要求和評價(SQuaRE)第51部分:就緒可用軟件產品(RUSP)的質量要求和測試細則》和GB/T 25000.10-2016《系統與軟件工程 系統與軟件質量要求和評價(SQuaRE)第10部分:系統與軟件質量模型》兩個標準對軟件產品進行測試,以上兩個國家標準中涵蓋了軟件產品質量屬性的8個特性的依從性測試,即軟件產品或系統遵循與功能性、性能效率、兼容性、易用性、可靠性、信息安全性、維護性、可移植性相關的標準、約定或法規以及類似規定的程度。
軟件依從性測試以相關的標準、約定或法規以及類似規定為依據,通過軟件測試技術驗證軟件產品或信息系統的質量屬性的所有特性的合法、合規、合標性,驗證其的安全性、可靠性、完整性、時效性,尤其是數據來源和數據本身的真實性和準確性,從而有效判斷其可信程度。
伴隨著互聯網技術發展和軟件遍布到各行業,各種違法違規違標、數據真實性、可靠性、安全性等問題也愈加嚴重。為保護跨界帶來的經濟和社會效益而創造出的新的生態環境,有必要將軟件依從性測試和軟件測試技術有效結合,面向企業提供線上線下相結合的法律法規標準咨詢服務。通過軟件依從性測試技術的研究和應用實現有效整合軟件法律法規標準、測試技術來為企業提供全方位的依從性測試服務,以營造良好的軟件產業的法制環境氛圍。
軟件依從性測試的目標是在互聯網+發展背景下,利用軟件測試技術,測試軟件產品或系統遵循與功能性、性能效率、兼容性、易用性、可靠性、信息安全性、維護性、可移植性相關的標準、約定或法規以及類似規定的程度,促進軟件系統合法合規合標、安全、穩定、有效、持續運行,降低客戶面臨的軟件系統安全風險,促使信息產業的健康發展。通過對軟件系統的合法合規合標性、資產完整性、信息安全性、系統高效性、內控有效性進行測試、咨詢,降低客戶面臨的系統安全風險,促使信息產業的健康發展。軟件依從性測試技術研究的主要任務是面向企業線上線下完成對軟件合法合規的測試、促進和咨詢。軟件依從性測試技術體系如圖1所示。
遠程漏洞掃描和滲透測試是軟件依從性測試的重要技術手段。
1 遠程漏洞掃描
遠程漏洞掃描是根據用戶實際依從性測試需求,對在互聯網上的服務器站點進行軟硬件系統漏洞掃描。將掃描結果進行分析和標注后提供給客戶,幫助客戶修復互聯網服務器站點存在的漏洞。遠程漏洞掃描包括兩部分內容:
1.1 創建并維護漏洞庫
創建并維護一個漏洞庫,為遠程漏洞掃描提供基礎,該漏洞庫收集涵蓋但不局限于以下漏洞類型:(1)網絡設備(交換機、路由器等);(2)操作系統(Windows、Linux、Sun等);(3)數據庫(MS-SQL、MySql等);(4)網絡服務中間件(IIS、Apache等);(5)網絡應用程序(Java等)。
1.2 漏洞掃描子系統
漏洞掃描子系統負責對目的網絡地址進行可配置的漏洞掃描,該子系統后端連接漏洞庫,根據漏洞庫中的漏洞信息以及企業的配置對目標網絡進行漏洞掃描。該子系統具備以下特點:(1)多線程并發掃描:針對某一個目標,可以進行多線程并發掃描,提高掃描速度;(2)多任務并發掃描:可以同時根據不同需求對多個企業進行多線程并發掃描。
2 滲透測試
滲透測試是依從性測試人員盡可能完整地模擬攻擊者使用的漏洞發現技術和攻擊手段,從攻擊者的角度對目標網絡、系統、主機應用的安全性作深入的非破壞性的探測,發現系統最脆弱環節的過程。滲透測試通常能以非常明顯、直觀的結果來反映出系統的安全現狀,其目的是能夠讓管理人員直觀地知道自己網絡所面臨的問題。
通過滲透測試可以做到:(1)了解入侵者可能利用的途徑,提出改進方法與建議。(2)檢驗現行的網絡設備(路由器、交換器等)安全策略。(3)檢驗現行的信息安全設備(防火墻、IDS等)安全策略。(4)對于重要主機的安全性進行專業信息安全的評估與建議。(5)找出IT人員未能掌握的服務器或主機加以調查。(6)了解系統及網絡的安全狀態。(7)檢驗現行的信息安全策略。(8)找出現行信息安全策略的盲點。(9)驗證現有系統的整體安全性。
滲透測試為了不對測試目標造成破壞、損害或篡改,對于某些可能會對測試對象造成負面影響的攻擊方法和手段,在滲透測試中不予使用,具體包括:社會工程學、分布式拒絕服務攻擊、散布病毒(包括木馬、惡意代碼等)、對即時通訊工具的攻擊、網絡釣魚等。
軟件測試方法和技術與法律法規標準咨詢服務的深度融合,提升互聯網時代的軟件依從性測試技術水平??偨Y和匯總軟件依從性測試評估項目的實踐經驗,進行深入分析和挖掘,設計開發并推廣軟件依從性測試的共性技術,以及與軟件相關的國家法律法規及相關標準的服務庫建設。
軟件依從性測試依據包括但不限于:(1)國家IT相關法律、法規及標準;(2)行業相關規范及標準(其中包括GB/T 25000.10—2016系統與軟件工程 系統與軟件質量要求和評價(SQuaRE)第10部分:系統與軟件質量模型及GB/T 25000.51—2016系統與軟件工程 系統與軟件質量要求和評價(SQuaRE)第51部分:就緒可用軟件產品(RUSP)的質量要求和測試細則中質量特性的依從性);軟件依從性測試法律法規參考庫如表1所示。
2018年5月7日至2018年5月11日,對浙江嘉科信息科技有限公司開發的“北辰區區域生態環境綜合監管平臺V1.0”進行了軟件依從性測試。經對軟件中“免責聲明、用戶權限管理、用戶操作日志”功能點的專項依從性測試,由遵循用戶文檔集的最終用戶對軟件操作進行的控制與軟件的行為應是一致的。按照GB/T 25000.51-2016《系統與軟件工程 系統與軟件質量要求和評價(SQuaRE)第51部分:就緒可用軟件產品(RUSP)的質量要求和檢測細則》對該軟件的用戶文檔集、功能性進行了專項檢測,依據國家法律法規《中華人民共和國網絡安全法》第二十一條第三款,《電信和互聯網用戶個人信息保護規定》第十三條第六款,《計算機信息系統保密管理暫行規定》第七條、第八條,《關于加強互聯網領域侵權假冒行為治理的意見》第七條,對該軟件的合法性、合規性進行了依從性檢測,該軟件通過軟件依從性專項檢測。同時使用軟件源代碼安全測試工具Fortify 4.4版本及Fortify4.4版本自帶的安全編碼規則包,對軟件源碼進行安全檢測。軟件源碼由委托單位提供,共3個文件夾,分別為:“WEB前端”文件夾、“后臺服務”文件夾、“數據讀寫”文件夾。軟件源碼安全檢測過程中,共掃描403個文件,可執行代碼行數為22613行,發現安全漏洞的總數為14個,缺陷密度為0.62 Defect/KLOC,滿足客戶對源代碼軟件依從性測試的需求。
通過軟件依從性測試方法和技術與法律法規標準服務咨詢深度融合,借助各地的軟件測試機構建設“軟件依從性測試技術體系”,滿足中小企業隨時、隨地進行軟件依從性測試工作。為客戶提供便捷的屬地化軟件依從性測試服務等服務,把電子商務、移動互聯、嵌入式、物聯網軟件依從性測試新技術應用推廣到全國各地,營造出健全的互聯網時代的軟件法制環境和意識,為互聯網時代的軟件產業合法合規的健康發展做出貢獻。