陳強
【摘 要】隨著當今社會信息化的日新月異的發展,為了企業創先進、爭一流,為了企業的明天,許多領導已經或正準備投入高額資金,建立大規模的計算機管理信息系統(MIS)。與此同時,信息的安全保密性嚴重程度亦隨之水漲傳高。在系統軟件投入使用之前,執行系統的數據庫、WEB應用及客戶端、主機等方面的安全測試更是是軟件開發過程的重中之重。測試過程中的測試要點就成為軟件測試工程師在執行安全測試之前首要確定的需求與策略。
【關鍵詞】軟件測試;安全測試;測試要點;策略
軟件開發的完善給測試人員帶來巨大的壓力,從開發至軟件投入使用,都不缺測試工程師的身影。其中過程需要六大質量特性的測試、性能測試、甚至安全測試。針對安全保密性方面,測試工程師需要利用資源進行測試要點的收集及測試用例的設計,從而更多的發現軟件運行時可能出現的安全漏洞。
一、數據庫安全的測試策略
數據庫安全是整個系統的核心,系統中所有用戶的信息全依靠數據庫的校驗。在數據庫測試策略中,針對B/S架構軟件最常用的有身份鑒別、安全審計、漏洞安全等三方面。
(一)身份鑒別:為的是測試數據庫系統賬戶口令和傳輸的安全性,執行過程中主用SELECT * FROM DBA_PROFILES命令,其中包涵的內容有:1.數據庫系統密碼復雜度函數必須實現配置,以避免密碼被破解而導致用戶敏感信息泄露。2.用戶登錄系統失敗有處理機制,以避免有意人員利用會話失敗,進行用戶并發攻擊數據庫,致使數據庫崩潰。3.在用戶連接數據庫后閑置超時,必須有配置自動退出,以避免用戶敏感信息被惡意抓包。
(二)安全審計:對數據庫系統日志審計的安全性進行測試,保證數據庫審計策略配置必須達到基線要求。
(三)漏洞安全:同樣是對數據庫系統日志審計的安全進行測試,保證數據庫能達到安全配置要求:1.數據庫必須存在拒絕服務攻擊配置。2.不能有遠程溢出等安全漏洞。3.數據庫組件必須安全配置完備,無漏洞。4.數據庫內核漏洞均已修復。
二、WEB應用安全:B/S架構已成為市場信息系統開發的主流,而WEB應用的安全防護更需要謹而慎之,下面羅列出針對WEB應用安全的常見的測試策略
(一)密鑰管理:要求根據某個指定的標準規定的算法和密鑰長度來生成密鑰。操作步驟:1.進入Web應用系統,打開密碼修改功能;2.查看Web應用的密碼修改功能是否需要輸入原密碼。3.設置簡單密碼123456,記錄返回結果。期望結果:修改密碼是需要輸入原密碼,并且不能設置簡單密碼。
(二)輸出到TSF控制之外:經由本功能輸出的用戶數據輸出時沒有輸出相關的安全屬性。操作步驟:1.使用webscarab對登錄操作進行抓包;2.查看數據包內容是否為明文傳輸。期望結果:數據包中的密碼已進行加密處理。
(三)信息流控制功能:對每一個操作,主體和信息的安全屬性之間必須支持基于安全屬性的關系,TSF應允許信息在受控主體和受控信息之間經由受控操作流動。操作步驟:1.打開appscanweb安全掃描軟件;2.新建任務;3.輸入域名;4.開始掃描;5.記錄掃描結果。期望結果:不存在注入漏洞及跨站漏洞。
(四)TOE內部傳送:數據在傳輸過程中,期間的所有設備都必須對傳輸數據的完整性座監視。操作步驟:1.使用webscarab進行抓包;2.修改數據包中內容;3.查看返回信息。期望結果:無法修改數據包中內容
(五)殘余信息保護(TSF數據管理):確保系統內文件、目錄等資源所在的存儲空間,被釋放或重新分配給其它用戶前得到完全清除。
(六)訪問控制功能:提供訪問控制功能,依據安全策略控制用戶組對系統功能、文件、數據庫表等客體的訪問。
(七)鑒別失敗:檢測系統對用戶多次嘗試登錄失敗,系統做出相應的處理。操作步驟:1.連續輸入十次賬號密碼;2.查看系統對該賬號是否鎖定。期望結果:賬號被鎖定。
(八)用戶標識:在登錄網站前要求用戶必須輸入用戶名。操作步驟:1.打開web登錄頁面;2.查看是否需要輸入用戶名和密碼才可登錄。期望結果:必須輸入用戶名和密碼。
(九)不可觀察性:要求功能或資源的使用不能被規定的用戶或主體觀察到,規定用戶隱私有關的信息在評估對象內是分布式的。期望結果:1.進入應用系統-使用最高權限管理員登錄系統,在用戶管理中查看有哪些級別用戶和用戶的權限;2.退出系統使用普通用戶登錄系統,去訪問非授權資源,和查看非授權的信息。期望結果:無敏感信息泄露。
(十)時間戳:評估對象的安全功能需為它自己的使用提供可靠的時間源。
(十一)評估對象訪問旗標:在建立一個用戶會話之前,評估對象安全功能應顯示有關未授權使用評估對象的一個勸告性警示信息。
(十二)會話鎖定:在一定時間內,用戶沒有做任何操作,系統則自動鎖屏或顯示一個非重要功能的頁面,當用戶再次使用時,需要重新登錄。操作步驟:1.進入web系統;2.閑置5-10分鐘;3.刷新頁面;4.記錄返回結果。期望結果:賬戶已自動退出。
三、主機安全:主機是系統客戶端與數據庫進行數據交換的中心,在其上的安全跟數據庫安全相同,需要針對身份鑒別、安全審計、漏洞安全進行探察
(一)身份鑒別:1.系統配置避免重復UID策略。2.系統配置密碼安全策略。
(二)安全審計:操作系統中必須開啟安全審計策略。
(三)漏洞安全:系統不存在高風險安全漏洞。
總之上述只是簡單常見的安全測試要點,安全測試涉及的知識面很廣,不同的軟件領域需要的測試點不同,此時則需要我們在實際工作過程中自我總結出屬于自己并適合公司的測試要點。
參考文獻:
[1]GB-T 16260.1-2006 軟件工程 產品質量.
[2]GBT 15532-2008 計算機軟件測試規范.
[3]GBT 25000.51-2010 軟件工程 軟件產品質量要求與評價(SquaRE)商業現貨(COTS)軟件產品的質量要求和測試細則.